From 77bd76b1220ded47f05d18eea63bde21bc6d8a56 Mon Sep 17 00:00:00 2001 From: WinterMute Date: Sat, 28 Oct 2023 18:44:11 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=2041e31?= =?UTF-8?q?d392129bce6b11712ffda59dd2b97b3c087=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 3ds_8h.html | 166 + 3ds_8h_source.html | 309 + 3dslink_8h.html | 160 + 3dslink_8h_source.html | 118 + CNAME | 1 + ac_8h.html | 730 +++ ac_8h_source.html | 261 + am_8h.html | 2697 ++++++++ am_8h_source.html | 727 ++ ampxi_8h.html | 250 + ampxi_8h_source.html | 124 + annotated.html | 249 + app_launch_2source_2main_8c-example.html | 124 + apt_8h.html | 2629 ++++++++ apt_8h_source.html | 813 +++ archive_8h.html | 154 + archive_8h_source.html | 141 + asminc_8h_source.html | 100 + audio_2filters_2source_2main_8c-example.html | 301 + audio_2mic_2source_2main_8c-example.html | 214 + ...o_2streaming_2source_2main_8c-example.html | 235 + bc_s.png | Bin 0 -> 676 bytes bdwn.png | Bin 0 -> 147 bytes boss_8h.html | 787 +++ boss_8h_source.html | 288 + cam_8h.html | 3295 ++++++++++ cam_8h_source.html | 1016 +++ camera_2image_2source_2main_8c-example.html | 322 + camera_2video_2source_2main_8c-example.html | 389 ++ cdcchk_8h.html | 499 ++ cdcchk_8h_source.html | 187 + cfgnor_8h.html | 333 + cfgnor_8h_source.html | 143 + cfgu_8h.html | 980 +++ cfgu_8h_source.html | 362 + channel_8h.html | 1406 ++++ channel_8h_source.html | 394 ++ classes.html | 138 + closed.png | Bin 0 -> 132 bytes console_8h.html | 471 ++ console_8h_source.html | 295 + csnd_8h.html | 2046 ++++++ csnd_8h_source.html | 610 ++ decompress_8h.html | 1033 +++ decompress_8h_source.html | 349 + deprecated.html | 82 + dir_0e005207343684f6967052d1f51a7e66.html | 215 + dir_0f128149b5f0edcc1e84fa1d13781a04.html | 101 + dir_1b1aef9f2527d990c50369cf62d7d9a1.html | 92 + dir_1c7e2ffa4b11c2c27de6db7f8722520d.html | 92 + dir_317ea3797c15f4a1d9c156bc812661ca.html | 79 + dir_6dafe9e8493a4966457f520acc17aa32.html | 92 + dir_953d82d0b36b92ff36f0c21b90fa146f.html | 89 + dir_a31f4157c8426a01402443a71f1cf774.html | 79 + dir_d0a04a149c821e4e65be9315f86ccf56.html | 79 + dir_d44c64559bbebec7f509842c48db8b23.html | 89 + dir_d475325f6a9fe3bfc3a495c72a9e475e.html | 146 + doc.png | Bin 0 -> 746 bytes doxygen.css | 1793 +++++ doxygen.svg | 26 + dsp_8h.html | 920 +++ dsp_8h_source.html | 303 + dynsections.js | 121 + enums_8h.html | 2059 ++++++ enums_8h_source.html | 868 +++ env_8h.html | 354 + env_8h_source.html | 165 + errf_8h.html | 433 ++ errf_8h_source.html | 263 + error_8h.html | 375 ++ error_8h_source.html | 192 + examples.html | 165 + exheader_8h.html | 396 ++ exheader_8h_source.html | 388 ++ files.html | 183 + folderclosed.png | Bin 0 -> 616 bytes folderopen.png | Bin 0 -> 597 bytes font_8h.html | 500 ++ font_8h_source.html | 397 ++ frd_8h.html | 1183 ++++ frd_8h_source.html | 398 ++ fs_8h.html | 5318 +++++++++++++++ fs_8h_source.html | 1407 ++++ fspxi_8h.html | 3975 +++++++++++ fspxi_8h_source.html | 800 +++ fsreg_8h_source.html | 151 + functions.html | 86 + functions_a.html | 224 + functions_b.html | 120 + functions_c.html | 243 + functions_d.html | 172 + functions_e.html | 157 + functions_f.html | 207 + functions_g.html | 129 + functions_h.html | 99 + functions_i.html | 146 + functions_j.html | 78 + functions_k.html | 87 + functions_l.html | 110 + functions_m.html | 164 + functions_n.html | 158 + functions_o.html | 138 + functions_p.html | 187 + functions_r.html | 193 + functions_s.html | 260 + functions_t.html | 169 + functions_u.html | 143 + functions_v.html | 101 + functions_vars.html | 86 + functions_vars_a.html | 224 + functions_vars_b.html | 120 + functions_vars_c.html | 243 + functions_vars_d.html | 172 + functions_vars_e.html | 157 + functions_vars_f.html | 207 + functions_vars_g.html | 129 + functions_vars_h.html | 99 + functions_vars_i.html | 146 + functions_vars_j.html | 78 + functions_vars_k.html | 87 + functions_vars_l.html | 110 + functions_vars_m.html | 164 + functions_vars_n.html | 158 + functions_vars_o.html | 138 + functions_vars_p.html | 187 + functions_vars_r.html | 193 + functions_vars_s.html | 260 + functions_vars_t.html | 169 + functions_vars_u.html | 143 + functions_vars_v.html | 101 + functions_vars_w.html | 153 + functions_vars_x.html | 86 + functions_vars_y.html | 80 + functions_vars_z.html | 82 + functions_w.html | 153 + functions_x.html | 86 + functions_y.html | 80 + functions_z.html | 82 + gdbhio_8h.html | 145 + gdbhio_8h_source.html | 109 + gdbhio__dev_8h.html | 149 + gdbhio__dev_8h_source.html | 124 + ...tem_language_2source_2main_8c-example.html | 139 + gfx_8h.html | 714 ++ gfx_8h_source.html | 289 + globals.html | 111 + globals_a.html | 999 +++ globals_b.html | 171 + globals_c.html | 891 +++ globals_d.html | 489 ++ globals_defs.html | 93 + globals_defs_b.html | 78 + globals_defs_c.html | 132 + globals_defs_f.html | 84 + globals_defs_g.html | 2418 +++++++ globals_defs_h.html | 81 + globals_defs_k.html | 84 + globals_defs_l.html | 78 + globals_defs_m.html | 102 + globals_defs_n.html | 102 + globals_defs_o.html | 153 + globals_defs_r.html | 108 + globals_defs_s.html | 129 + globals_defs_t.html | 78 + globals_defs_u.html | 96 + globals_defs_w.html | 81 + globals_e.html | 297 + globals_enum.html | 628 ++ globals_eval.html | 438 ++ globals_eval_b.html | 105 + globals_eval_c.html | 276 + globals_eval_d.html | 321 + globals_eval_e.html | 210 + globals_eval_f.html | 240 + globals_eval_g.html | 924 +++ globals_eval_h.html | 99 + globals_eval_i.html | 111 + globals_eval_k.html | 156 + globals_eval_l.html | 111 + globals_eval_m.html | 246 + globals_eval_n.html | 216 + globals_eval_o.html | 93 + globals_eval_p.html | 267 + globals_eval_r.html | 177 + globals_eval_s.html | 363 + globals_eval_t.html | 99 + globals_eval_u.html | 96 + globals_eval_v.html | 78 + globals_eval_w.html | 105 + globals_f.html | 1023 +++ globals_func.html | 108 + globals_func_a.html | 585 ++ globals_func_b.html | 129 + globals_func_c.html | 570 ++ globals_func_d.html | 201 + globals_func_e.html | 141 + globals_func_f.html | 804 +++ globals_func_g.html | 342 + globals_func_h.html | 243 + globals_func_i.html | 174 + globals_func_l.html | 165 + globals_func_m.html | 240 + globals_func_n.html | 462 ++ globals_func_o.html | 138 + globals_func_p.html | 315 + globals_func_q.html | 93 + globals_func_r.html | 141 + globals_func_s.html | 615 ++ globals_func_t.html | 102 + globals_func_u.html | 177 + globals_func_v.html | 99 + globals_func_y.html | 213 + globals_g.html | 3684 +++++++++++ globals_h.html | 294 + globals_i.html | 222 + globals_k.html | 165 + globals_l.html | 207 + globals_m.html | 465 ++ globals_n.html | 678 ++ globals_o.html | 234 + globals_p.html | 531 ++ globals_q.html | 93 + globals_r.html | 297 + globals_s.html | 996 +++ globals_t.html | 141 + globals_type.html | 228 + globals_u.html | 234 + globals_v.html | 126 + globals_vars.html | 109 + globals_w.html | 111 + globals_y.html | 228 + gpu_8h.html | 541 ++ gpu_8h_source.html | 215 + ...224bit-color_2source_2main_8c-example.html | 157 + ...both_screens_2source_2main_8c-example.html | 245 + ...agment_light_2source_2main_8c-example.html | 351 + ...u_2geoshader_2source_2main_8c-example.html | 232 + ..._2gpusprites_2source_2main_8c-example.html | 225 + ...u_2immediate_2source_2main_8c-example.html | 212 + ..._2gpu_2lenny_2source_2main_8c-example.html | 291 + ..._subdivision_2source_2main_8c-example.html | 283 + ..._2mipmap_fog_2source_2main_8c-example.html | 345 + ...u_2particles_2source_2main_8c-example.html | 380 ++ ...gpu_2proctex_2source_2main_8c-example.html | 273 + ..._2simple_tri_2source_2main_8c-example.html | 232 + ...extured_cube_2source_2main_8c-example.html | 348 + ...toon_shading_2source_2main_8c-example.html | 328 + ...-screen-text_2source_2main_8c-example.html | 148 + ...colored-text_2source_2main_8c-example.html | 157 + ...2hello-world_2source_2main_8c-example.html | 134 + ...windows-text_2source_2main_8c-example.html | 157 + ...2system-font_2source_2main_8c-example.html | 214 + gspgpu_8h.html | 1061 +++ gspgpu_8h_source.html | 411 ++ gsplcd_8h.html | 410 ++ gsplcd_8h_source.html | 181 + gx_8h.html | 932 +++ gx_8h_source.html | 329 + hid_8h.html | 833 +++ hid_8h_source.html | 376 ++ httpc_8h.html | 1636 +++++ httpc_8h_source.html | 428 ++ in_8h_source.html | 127 + index.html | 97 + inet_8h_source.html | 119 + ...ead-controls_2source_2main_8c-example.html | 201 + ...are-keyboard_2source_2main_8c-example.html | 288 + ...touch-screen_2source_2main_8c-example.html | 152 + ioctl_8h_source.html | 92 + ipc_8h.html | 464 ++ ipc_8h_source.html | 214 + ir_8h.html | 564 ++ ir_8h_source.html | 205 + irrst_8h.html | 296 + irrst_8h_source.html | 163 + jquery.js | 35 + ...pplet_launch_2source_2main_8c-example.html | 174 + linear_8h.html | 289 + linear_8h_source.html | 135 + loader_8h.html | 259 + loader_8h_source.html | 135 + mappable_8h.html | 193 + mappable_8h_source.html | 111 + mcuhwc_8h.html | 499 ++ mcuhwc_8h_source.html | 194 + ...runner_work_libctru_libctru_Changelog.html | 596 ++ menu.js | 51 + menudata.js | 209 + mic_8h.html | 673 ++ mic_8h_source.html | 239 + mii_8h.html | 97 + mii_8h_source.html | 266 + miiselector_8h.html | 652 ++ miiselector_8h_source.html | 307 + mvd_2source_2main_8c-example.html | 427 ++ mvd_8h.html | 642 ++ mvd_8h_source.html | 297 + nav_f.png | Bin 0 -> 153 bytes nav_g.png | Bin 0 -> 95 bytes nav_h.png | Bin 0 -> 98 bytes ndm_8h.html | 531 ++ ndm_8h_source.html | 252 + ndsp_8h.html | 1063 +++ ndsp_8h_source.html | 414 ++ netdb_8h_source.html | 159 + network_2boss_2source_2main_8c-example.html | 295 + network_2http_2source_2main_8c-example.html | 291 + ...k_2http_post_2source_2main_8c-example.html | 288 + ..._2sockets_2source_2sockets_8c-example.html | 274 + network_2sslc_2source_2ssl_8c-example.html | 319 + network_2uds_2source_2uds_8c-example.html | 555 ++ news_8h.html | 480 ++ news_8h_source.html | 186 + nfc_2source_2main_8c-example.html | 449 ++ nfc_8h.html | 829 +++ nfc_8h_source.html | 349 + nim_8h.html | 666 ++ nim_8h_source.html | 281 + ns_8h.html | 305 + ns_8h_source.html | 143 + nwmext_8h_source.html | 93 + open.png | Bin 0 -> 123 bytes os_8h.html | 958 +++ os_8h_source.html | 478 ++ pages.html | 81 + pmapp_8h.html | 661 ++ pmapp_8h_source.html | 231 + pmdbg_8h.html | 242 + pmdbg_8h_source.html | 131 + poll_8h_source.html | 111 + ps_8h.html | 610 ++ ps_8h_source.html | 230 + ptmgets_8h.html | 155 + ptmgets_8h_source.html | 112 + ptmsets_8h.html | 155 + ptmsets_8h_source.html | 112 + ptmsysm_8h.html | 512 ++ ptmsysm_8h_source.html | 253 + ptmu_8h.html | 299 + ptmu_8h_source.html | 145 + pxidev_8h.html | 413 ++ pxidev_8h_source.html | 185 + pxipm_8h.html | 243 + pxipm_8h_source.html | 134 + qtm_2source_2main_8c-example.html | 191 + qtm_8h.html | 273 + qtm_8h_source.html | 151 + rbtree_8h.html | 553 ++ rbtree_8h_source.html | 249 + registers_8h.html | 3003 +++++++++ registers_8h_source.html | 846 +++ result_8h.html | 431 ++ result_8h_source.html | 271 + romfs_2source_2main_8c-example.html | 147 + romfs_8h.html | 273 + romfs_8h_source.html | 212 + sdmc_2source_2main_8c-example.html | 191 + search/all_0.html | 37 + search/all_0.js | 5 + search/all_1.html | 37 + search/all_1.js | 18 + search/all_10.html | 37 + search/all_10.js | 83 + search/all_11.html | 37 + search/all_11.js | 205 + search/all_12.html | 37 + search/all_12.js | 12 + search/all_13.html | 37 + search/all_13.js | 122 + search/all_14.html | 37 + search/all_14.js | 395 ++ search/all_15.html | 37 + search/all_15.js | 61 + search/all_16.html | 37 + search/all_16.js | 85 + search/all_17.html | 37 + search/all_17.js | 28 + search/all_18.html | 37 + search/all_18.js | 40 + search/all_19.html | 37 + search/all_19.js | 6 + search/all_1a.html | 37 + search/all_1a.js | 59 + search/all_1b.html | 37 + search/all_1b.js | 5 + search/all_2.html | 37 + search/all_2.js | 378 ++ search/all_3.html | 37 + search/all_3.js | 52 + search/all_4.html | 37 + search/all_4.js | 350 + search/all_5.html | 37 + search/all_5.js | 186 + search/all_6.html | 37 + search/all_6.js | 130 + search/all_7.html | 37 + search/all_7.js | 379 ++ search/all_8.html | 37 + search/all_8.js | 1237 ++++ search/all_9.html | 37 + search/all_9.js | 87 + search/all_a.html | 37 + search/all_a.js | 79 + search/all_b.html | 37 + search/all_b.js | 4 + search/all_c.html | 37 + search/all_c.js | 37 + search/all_d.html | 37 + search/all_d.js | 64 + search/all_e.html | 37 + search/all_e.js | 177 + search/all_f.html | 37 + search/all_f.js | 247 + search/classes_0.html | 37 + search/classes_0.js | 16 + search/classes_1.html | 37 + search/classes_1.js | 4 + search/classes_10.html | 37 + search/classes_10.js | 24 + search/classes_11.html | 37 + search/classes_11.js | 11 + search/classes_12.html | 37 + search/classes_12.js | 9 + search/classes_13.html | 37 + search/classes_13.js | 6 + search/classes_2.html | 37 + search/classes_2.js | 16 + search/classes_3.html | 37 + search/classes_3.js | 15 + search/classes_4.html | 37 + search/classes_4.js | 24 + search/classes_5.html | 37 + search/classes_5.js | 20 + search/classes_6.html | 37 + search/classes_6.js | 9 + search/classes_7.html | 37 + search/classes_7.js | 5 + search/classes_8.html | 37 + search/classes_8.js | 5 + search/classes_9.html | 37 + search/classes_9.js | 6 + search/classes_a.html | 37 + search/classes_a.js | 13 + search/classes_b.html | 37 + search/classes_b.js | 16 + search/classes_c.html | 37 + search/classes_c.js | 8 + search/classes_d.html | 37 + search/classes_d.js | 10 + search/classes_e.html | 37 + search/classes_e.js | 5 + search/classes_f.html | 37 + search/classes_f.js | 8 + search/close.svg | 31 + search/defines_0.html | 37 + search/defines_0.js | 9 + search/defines_1.html | 37 + search/defines_1.js | 4 + search/defines_2.html | 37 + search/defines_2.js | 22 + search/defines_3.html | 37 + search/defines_3.js | 6 + search/defines_4.html | 37 + search/defines_4.js | 784 +++ search/defines_5.html | 37 + search/defines_5.js | 5 + search/defines_6.html | 37 + search/defines_6.js | 6 + search/defines_7.html | 37 + search/defines_7.js | 4 + search/defines_8.html | 37 + search/defines_8.js | 12 + search/defines_9.html | 37 + search/defines_9.js | 12 + search/defines_a.html | 37 + search/defines_a.js | 29 + search/defines_b.html | 37 + search/defines_b.js | 14 + search/defines_c.html | 37 + search/defines_c.js | 21 + search/defines_d.html | 37 + search/defines_d.js | 4 + search/defines_e.html | 37 + search/defines_e.js | 10 + search/defines_f.html | 37 + search/defines_f.js | 5 + search/enums_0.html | 37 + search/enums_0.js | 12 + search/enums_1.html | 37 + search/enums_1.js | 6 + search/enums_10.html | 37 + search/enums_10.js | 8 + search/enums_2.html | 37 + search/enums_2.js | 19 + search/enums_3.html | 37 + search/enums_3.js | 15 + search/enums_4.html | 37 + search/enums_4.js | 9 + search/enums_5.html | 37 + search/enums_5.js | 17 + search/enums_6.html | 37 + search/enums_6.js | 51 + search/enums_7.html | 37 + search/enums_7.js | 7 + search/enums_8.html | 37 + search/enums_8.js | 4 + search/enums_9.html | 37 + search/enums_9.js | 12 + search/enums_a.html | 37 + search/enums_a.js | 17 + search/enums_b.html | 37 + search/enums_b.js | 11 + search/enums_c.html | 37 + search/enums_c.js | 6 + search/enums_d.html | 37 + search/enums_d.js | 11 + search/enums_e.html | 37 + search/enums_e.js | 5 + search/enums_f.html | 37 + search/enums_f.js | 4 + search/enumvalues_0.html | 37 + search/enumvalues_0.js | 124 + search/enumvalues_1.html | 37 + search/enumvalues_1.js | 13 + search/enumvalues_10.html | 37 + search/enumvalues_10.js | 99 + search/enumvalues_11.html | 37 + search/enumvalues_11.js | 11 + search/enumvalues_12.html | 37 + search/enumvalues_12.js | 10 + search/enumvalues_13.html | 37 + search/enumvalues_13.js | 4 + search/enumvalues_14.html | 37 + search/enumvalues_14.js | 13 + search/enumvalues_2.html | 37 + search/enumvalues_2.js | 70 + search/enumvalues_3.html | 37 + search/enumvalues_3.js | 85 + search/enumvalues_4.html | 37 + search/enumvalues_4.js | 48 + search/enumvalues_5.html | 37 + search/enumvalues_5.js | 58 + search/enumvalues_6.html | 37 + search/enumvalues_6.js | 286 + search/enumvalues_7.html | 37 + search/enumvalues_7.js | 11 + search/enumvalues_8.html | 37 + search/enumvalues_8.js | 15 + search/enumvalues_9.html | 37 + search/enumvalues_9.js | 30 + search/enumvalues_a.html | 37 + search/enumvalues_a.js | 15 + search/enumvalues_b.html | 37 + search/enumvalues_b.js | 60 + search/enumvalues_c.html | 37 + search/enumvalues_c.js | 50 + search/enumvalues_d.html | 37 + search/enumvalues_d.js | 9 + search/enumvalues_e.html | 37 + search/enumvalues_e.js | 67 + search/enumvalues_f.html | 37 + search/enumvalues_f.js | 37 + search/files_0.html | 37 + search/files_0.js | 5 + search/files_1.html | 37 + search/files_1.js | 8 + search/files_10.html | 37 + search/files_10.js | 7 + search/files_11.html | 37 + search/files_11.js | 12 + search/files_12.html | 37 + search/files_12.js | 5 + search/files_13.html | 37 + search/files_13.js | 5 + search/files_14.html | 37 + search/files_14.js | 4 + search/files_15.html | 37 + search/files_15.js | 4 + search/files_2.html | 37 + search/files_2.js | 4 + search/files_3.html | 37 + search/files_3.js | 10 + search/files_4.html | 37 + search/files_4.js | 5 + search/files_5.html | 37 + search/files_5.js | 8 + search/files_6.html | 37 + search/files_6.js | 7 + search/files_7.html | 37 + search/files_7.js | 10 + search/files_8.html | 37 + search/files_8.js | 5 + search/files_9.html | 37 + search/files_9.js | 6 + search/files_a.html | 37 + search/files_a.js | 5 + search/files_b.html | 37 + search/files_b.js | 9 + search/files_c.html | 37 + search/files_c.js | 9 + search/files_d.html | 37 + search/files_d.js | 4 + search/files_e.html | 37 + search/files_e.js | 12 + search/files_f.html | 37 + search/files_f.js | 4 + search/functions_0.html | 37 + search/functions_0.js | 14 + search/functions_1.html | 37 + search/functions_1.js | 173 + search/functions_10.html | 37 + search/functions_10.js | 25 + search/functions_11.html | 37 + search/functions_11.js | 183 + search/functions_12.html | 37 + search/functions_12.js | 12 + search/functions_13.html | 37 + search/functions_13.js | 37 + search/functions_14.html | 37 + search/functions_14.js | 11 + search/functions_15.html | 37 + search/functions_15.js | 49 + search/functions_2.html | 37 + search/functions_2.js | 21 + search/functions_3.html | 37 + search/functions_3.js | 168 + search/functions_4.html | 37 + search/functions_4.js | 45 + search/functions_5.html | 37 + search/functions_5.js | 25 + search/functions_6.html | 37 + search/functions_6.js | 246 + search/functions_7.html | 37 + search/functions_7.js | 92 + search/functions_8.html | 37 + search/functions_8.js | 59 + search/functions_9.html | 37 + search/functions_9.js | 36 + search/functions_a.html | 37 + search/functions_a.js | 33 + search/functions_b.html | 37 + search/functions_b.js | 58 + search/functions_c.html | 37 + search/functions_c.js | 132 + search/functions_d.html | 37 + search/functions_d.js | 24 + search/functions_e.html | 37 + search/functions_e.js | 83 + search/functions_f.html | 37 + search/functions_f.js | 9 + search/mag_sel.svg | 74 + search/nomatches.html | 13 + search/pages_0.html | 37 + search/pages_0.js | 4 + search/pages_1.html | 37 + search/pages_1.js | 4 + search/pages_2.html | 37 + search/pages_2.js | 4 + search/search.css | 257 + search/search.js | 816 +++ search/search_l.png | Bin 0 -> 567 bytes search/search_m.png | Bin 0 -> 158 bytes search/search_r.png | Bin 0 -> 553 bytes search/searchdata.js | 42 + search/typedefs_0.html | 37 + search/typedefs_0.js | 5 + search/typedefs_1.html | 37 + search/typedefs_1.js | 5 + search/typedefs_2.html | 37 + search/typedefs_2.js | 5 + search/typedefs_3.html | 37 + search/typedefs_3.js | 4 + search/typedefs_4.html | 37 + search/typedefs_4.js | 4 + search/typedefs_5.html | 37 + search/typedefs_5.js | 4 + search/typedefs_6.html | 37 + search/typedefs_6.js | 4 + search/typedefs_7.html | 37 + search/typedefs_7.js | 5 + search/typedefs_8.html | 37 + search/typedefs_8.js | 7 + search/typedefs_9.html | 37 + search/typedefs_9.js | 8 + search/typedefs_a.html | 37 + search/typedefs_a.js | 5 + search/typedefs_b.html | 37 + search/typedefs_b.js | 7 + search/typedefs_c.html | 37 + search/typedefs_c.js | 11 + search/variables_0.html | 37 + search/variables_0.js | 7 + search/variables_1.html | 37 + search/variables_1.js | 52 + search/variables_10.html | 37 + search/variables_10.js | 37 + search/variables_11.html | 37 + search/variables_11.js | 39 + search/variables_12.html | 37 + search/variables_12.js | 58 + search/variables_13.html | 37 + search/variables_13.js | 29 + search/variables_14.html | 37 + search/variables_14.js | 24 + search/variables_15.html | 37 + search/variables_15.js | 10 + search/variables_16.html | 37 + search/variables_16.js | 28 + search/variables_17.html | 37 + search/variables_17.js | 6 + search/variables_18.html | 37 + search/variables_18.js | 4 + search/variables_19.html | 37 + search/variables_19.js | 5 + search/variables_2.html | 37 + search/variables_2.js | 18 + search/variables_3.html | 37 + search/variables_3.js | 60 + search/variables_4.html | 37 + search/variables_4.js | 33 + search/variables_5.html | 37 + search/variables_5.js | 30 + search/variables_6.html | 37 + search/variables_6.js | 42 + search/variables_7.html | 37 + search/variables_7.js | 24 + search/variables_8.html | 37 + search/variables_8.js | 12 + search/variables_9.html | 37 + search/variables_9.js | 28 + search/variables_a.html | 37 + search/variables_a.js | 4 + search/variables_b.html | 37 + search/variables_b.js | 7 + search/variables_c.html | 37 + search/variables_c.js | 14 + search/variables_d.html | 37 + search/variables_d.js | 31 + search/variables_e.html | 37 + search/variables_e.js | 27 + search/variables_f.html | 37 + search/variables_f.js | 24 + select_8h_source.html | 80 + shaderProgram_8h.html | 582 ++ shaderProgram_8h_source.html | 233 + shbin_8h.html | 421 ++ shbin_8h_source.html | 281 + soc_8h.html | 461 ++ soc_8h_source.html | 258 + socket_8h_source.html | 173 + splitbar.png | Bin 0 -> 314 bytes srv_8h.html | 740 +++ srv_8h_source.html | 244 + srvpm_8h.html | 270 + srvpm_8h_source.html | 134 + sslc_8h.html | 819 +++ sslc_8h_source.html | 356 + structAM__ContentInfo.html | 115 + structAM__PendingTitleEntry.html | 104 + structAM__TWLPartitionInfo.html | 107 + structAM__TitleEntry.html | 107 + structAttachProcessEvent.html | 107 + structAttachThreadEvent.html | 103 + structCAMU__ImageQualityCalibrationData.html | 135 + structCAMU__PackageParameterCameraSelect.html | 171 + structCAMU__PackageParameterContext.html | 111 + ...ctCAMU__PackageParameterContextDetail.html | 131 + structCAMU__StereoCameraCalibrationData.html | 151 + structCFNT__s.html | 119 + structCodeSetHeader.html | 147 + structConsoleFont.html | 103 + structCpuRegisters.html | 111 + structDVLB__s.html | 105 + structDVLE__constEntry__s.html | 103 + structDVLE__outEntry__s.html | 107 + structDVLE__s.html | 171 + structDVLE__uniformEntry__s.html | 103 + structDVLP__s.html | 107 + structDebugEventInfo.html | 147 + structDebuggerBreakExceptionEvent.html | 95 + structDmaConfig.html | 114 + structDmaDeviceConfig.html | 120 + structERRF__ExceptionData.html | 92 + structERRF__ExceptionInfo.html | 108 + structERRF__FatalErrInfo.html | 129 + structExHeader.html | 99 + structExHeader__AccessControlInfo.html | 103 + structExHeader__AccessDescriptor.html | 103 + structExHeader__Arm11CoreInfo.html | 131 + structExHeader__Arm11KernelCapabilities.html | 99 + structExHeader__Arm11StorageInfo.html | 119 + ...xHeader__Arm11SystemLocalCapabilities.html | 119 + structExHeader__Arm9AccessControl.html | 99 + structExHeader__CodeSectionInfo.html | 103 + structExHeader__CodeSetInfo.html | 123 + structExHeader__Info.html | 99 + structExHeader__SystemControlInfo.html | 103 + structExHeader__SystemInfo.html | 103 + structExHeader__SystemInfoFlags.html | 107 + structExceptionEvent.html | 119 + structExitProcessEvent.html | 95 + structExitThreadEvent.html | 95 + structFINF__s.html | 146 + structFS__ArchiveResource.html | 107 + structFS__DeviceMoveContext.html | 99 + structFS__DirectoryEntry.html | 119 + structFS__ExtSaveDataInfo.html | 111 + structFS__IntegrityVerificationSeed.html | 99 + structFS__Path.html | 103 + structFS__ProductInfo.html | 103 + structFS__ProgramInfo.html | 103 + structFS__SdMmcSpeedInfo.html | 103 + structFS__SystemSaveDataInfo.html | 107 + structFaultExceptionEvent.html | 95 + structFpuRegisters.html | 115 + structFriendKey.html | 100 + structFriendProfile.html | 114 + structGSPGPU__CaptureInfo.html | 95 + structGSPGPU__CaptureInfoEntry.html | 107 + structGSPGPU__FramebufferInfo.html | 119 + structGameDescription.html | 97 + structLightEvent.html | 99 + structLightSemaphore.html | 103 + structMVDSTD__Config.html | 204 + structMVDSTD__InitStruct.html | 106 + structMVDSTD__OutputBuffersEntry.html | 90 + structMVDSTD__OutputBuffersEntryList.html | 90 + structMVDSTD__ProcessNALUnitOut.html | 96 + structMapEvent.html | 107 + structMemInfo.html | 107 + structMiiData.html | 392 ++ structMiiSelectorConf.html | 160 + structMiiSelectorReturn.html | 148 + structNFC__AmiiboConfig.html | 131 + structNFC__AmiiboSettings.html | 121 + structNFC__AppDataInitStruct.html | 97 + structNFC__AppDataWriteStruct.html | 100 + structNFC__TagInfo.html | 100 + structNIM__TitleConfig.html | 119 + structNIM__TitleProgress.html | 107 + structNotificationEvent.html | 103 + structNotificationHeader.html | 127 + structOS__VersionBin.html | 109 + structOutputStringEvent.html | 99 + structPXIDEV__SPIBuffer.html | 107 + structPageInfo.html | 95 + structPrintConsole.html | 188 + structPtmSleepConfig.html | 92 + structPtmWakeEvents.html | 99 + structQTM__HeadTrackingInfo.html | 113 + structQTM__HeadTrackingInfoCoord.html | 99 + structSOCU__ARPTableEntry.html | 105 + structSOCU__DNSTableEntry.html | 102 + structSOCU__IPInfo.html | 103 + structSOCU__RoutingTableEntry.html | 128 + structSOCU__TCPTableEntry.html | 117 + structSOCU__UDPTableEntry.html | 99 + structScheduleInOutEvent.html | 95 + structStartupInfo.html | 111 + structStopPointExceptionEvent.html | 99 + structSwkbdDictWord.html | 109 + structSwkbdExtra.html | 109 + structSwkbdLearningData.html | 96 + structSwkbdState.html | 217 + structSwkbdStatusData.html | 96 + structSyscallInOutEvent.html | 99 + structTGLP__s.html | 139 + structThreadContext.html | 92 + structTickCounter.html | 99 + structTitleData.html | 100 + structUserBreakExceptionEvent.html | 103 + structY2RU__ColorCoefficients.html | 135 + structY2RU__ConversionParams.html | 128 + structY2RU__DitheringWeightParams.html | 155 + structaccelVector.html | 103 + structacuConfig.html | 94 + structaddrinfo.html | 111 + structangularRate.html | 103 + structaptCaptureBufInfo.html | 123 + structaptHookCookie.html | 103 + structarchive__dir__t.html | 110 + structbossContext.html | 147 + structcharWidthInfo__s.html | 103 + structcirclePosition.html | 101 + structdecompressIOVec.html | 99 + structdspHookCookie.html | 99 + structerrorConf.html | 114 + structfloat24Uniform__s.html | 99 + structfontGlyphPos__s.html | 141 + structgxCmdQueue__s.html | 119 + structhostent.html | 99 + structhttpcContext.html | 101 + structin__addr.html | 87 + structip__mreq.html | 90 + structlinger.html | 90 + structndspAdpcmData.html | 103 + structnwmBeaconDataReplyEntry.html | 118 + structnwmBeaconDataReplyHeader.html | 100 + structnwmScanInputStruct.html | 109 + structosKernelConfig__s.html | 148 + structosSharedConfig__s.html | 148 + structosTimeRef__s.html | 107 + structpollfd.html | 93 + structpsRSAContext.html | 103 + structrbtree.html | 104 + structrbtree__node.html | 100 + structromfs__dir.html | 119 + structromfs__file.html | 119 + structromfs__header.html | 131 + structshaderInstance__s.html | 119 + structshaderProgram__s.html | 109 + structsockaddr.html | 93 + structsockaddr__in.html | 99 + structsockaddr__storage.html | 90 + structsslcContext.html | 104 + structtag__CMAP__s.html | 145 + structtag__CWDH__s.html | 108 + structtag__ndspWaveBuf.html | 140 + structtouchPosition.html | 101 + structudsBindContext.html | 96 + structudsConnectionStatus.html | 117 + structudsNetworkScanInfo.html | 102 + structudsNetworkStruct.html | 150 + structudsNodeInfo.html | 128 + svc_8h.html | 5828 +++++++++++++++++ svc_8h_source.html | 1901 ++++++ swkbd_8h.html | 1280 ++++ swkbd_8h_source.html | 487 ++ sync_off.png | Bin 0 -> 853 bytes sync_on.png | Bin 0 -> 845 bytes synchronization_8h.html | 1397 ++++ synchronization_8h_source.html | 486 ++ tab_a.png | Bin 0 -> 142 bytes tab_b.png | Bin 0 -> 169 bytes tab_h.png | Bin 0 -> 177 bytes tab_s.png | Bin 0 -> 184 bytes tabs.css | 1 + tcp_8h_source.html | 88 + thread_8h.html | 480 ++ thread_8h_source.html | 231 + threads_2event_2source_2main_8c-example.html | 170 + ...thread-basic_2source_2main_8c-example.html | 163 + time_2rtc_2source_2main_8c-example.html | 176 + types_8h.html | 225 + types_8h_source.html | 186 + uds_8h.html | 1365 ++++ uds_8h_source.html | 491 ++ unionCSND__CapInfo.html | 115 + unionCSND__ChnInfo.html | 127 + uniongxCmdEntry__s.html | 116 + utf_8h.html | 580 ++ utf_8h_source.html | 244 + vram_8h.html | 384 ++ vram_8h_source.html | 160 + y2r_8h.html | 1710 +++++ y2r_8h_source.html | 692 ++ 956 files changed, 191605 insertions(+) create mode 100644 3ds_8h.html create mode 100644 3ds_8h_source.html create mode 100644 3dslink_8h.html create mode 100644 3dslink_8h_source.html create mode 100644 CNAME create mode 100644 ac_8h.html create mode 100644 ac_8h_source.html create mode 100644 am_8h.html create mode 100644 am_8h_source.html create mode 100644 ampxi_8h.html create mode 100644 ampxi_8h_source.html create mode 100644 annotated.html create mode 100644 app_launch_2source_2main_8c-example.html create mode 100644 apt_8h.html create mode 100644 apt_8h_source.html create mode 100644 archive_8h.html create mode 100644 archive_8h_source.html create mode 100644 asminc_8h_source.html create mode 100644 audio_2filters_2source_2main_8c-example.html create mode 100644 audio_2mic_2source_2main_8c-example.html create mode 100644 audio_2streaming_2source_2main_8c-example.html create mode 100644 bc_s.png create mode 100644 bdwn.png create mode 100644 boss_8h.html create mode 100644 boss_8h_source.html create mode 100644 cam_8h.html create mode 100644 cam_8h_source.html create mode 100644 camera_2image_2source_2main_8c-example.html create mode 100644 camera_2video_2source_2main_8c-example.html create mode 100644 cdcchk_8h.html create mode 100644 cdcchk_8h_source.html create mode 100644 cfgnor_8h.html create mode 100644 cfgnor_8h_source.html create mode 100644 cfgu_8h.html create mode 100644 cfgu_8h_source.html create mode 100644 channel_8h.html create mode 100644 channel_8h_source.html create mode 100644 classes.html create mode 100644 closed.png create mode 100644 console_8h.html create mode 100644 console_8h_source.html create mode 100644 csnd_8h.html create mode 100644 csnd_8h_source.html create mode 100644 decompress_8h.html create mode 100644 decompress_8h_source.html create mode 100644 deprecated.html create mode 100644 dir_0e005207343684f6967052d1f51a7e66.html create mode 100644 dir_0f128149b5f0edcc1e84fa1d13781a04.html create mode 100644 dir_1b1aef9f2527d990c50369cf62d7d9a1.html create mode 100644 dir_1c7e2ffa4b11c2c27de6db7f8722520d.html create mode 100644 dir_317ea3797c15f4a1d9c156bc812661ca.html create mode 100644 dir_6dafe9e8493a4966457f520acc17aa32.html create mode 100644 dir_953d82d0b36b92ff36f0c21b90fa146f.html create mode 100644 dir_a31f4157c8426a01402443a71f1cf774.html create mode 100644 dir_d0a04a149c821e4e65be9315f86ccf56.html create mode 100644 dir_d44c64559bbebec7f509842c48db8b23.html create mode 100644 dir_d475325f6a9fe3bfc3a495c72a9e475e.html create mode 100644 doc.png create mode 100644 doxygen.css create mode 100644 doxygen.svg create mode 100644 dsp_8h.html create mode 100644 dsp_8h_source.html create mode 100644 dynsections.js create mode 100644 enums_8h.html create mode 100644 enums_8h_source.html create mode 100644 env_8h.html create mode 100644 env_8h_source.html create mode 100644 errf_8h.html create mode 100644 errf_8h_source.html create mode 100644 error_8h.html create mode 100644 error_8h_source.html create mode 100644 examples.html create mode 100644 exheader_8h.html create mode 100644 exheader_8h_source.html create mode 100644 files.html create mode 100644 folderclosed.png create mode 100644 folderopen.png create mode 100644 font_8h.html create mode 100644 font_8h_source.html create mode 100644 frd_8h.html create mode 100644 frd_8h_source.html create mode 100644 fs_8h.html create mode 100644 fs_8h_source.html create mode 100644 fspxi_8h.html create mode 100644 fspxi_8h_source.html create mode 100644 fsreg_8h_source.html create mode 100644 functions.html create mode 100644 functions_a.html create mode 100644 functions_b.html create mode 100644 functions_c.html create mode 100644 functions_d.html create mode 100644 functions_e.html create mode 100644 functions_f.html create mode 100644 functions_g.html create mode 100644 functions_h.html create mode 100644 functions_i.html create mode 100644 functions_j.html create mode 100644 functions_k.html create mode 100644 functions_l.html create mode 100644 functions_m.html create mode 100644 functions_n.html create mode 100644 functions_o.html create mode 100644 functions_p.html create mode 100644 functions_r.html create mode 100644 functions_s.html create mode 100644 functions_t.html create mode 100644 functions_u.html create mode 100644 functions_v.html create mode 100644 functions_vars.html create mode 100644 functions_vars_a.html create mode 100644 functions_vars_b.html create mode 100644 functions_vars_c.html create mode 100644 functions_vars_d.html create mode 100644 functions_vars_e.html create mode 100644 functions_vars_f.html create mode 100644 functions_vars_g.html create mode 100644 functions_vars_h.html create mode 100644 functions_vars_i.html create mode 100644 functions_vars_j.html create mode 100644 functions_vars_k.html create mode 100644 functions_vars_l.html create mode 100644 functions_vars_m.html create mode 100644 functions_vars_n.html create mode 100644 functions_vars_o.html create mode 100644 functions_vars_p.html create mode 100644 functions_vars_r.html create mode 100644 functions_vars_s.html create mode 100644 functions_vars_t.html create mode 100644 functions_vars_u.html create mode 100644 functions_vars_v.html create mode 100644 functions_vars_w.html create mode 100644 functions_vars_x.html create mode 100644 functions_vars_y.html create mode 100644 functions_vars_z.html create mode 100644 functions_w.html create mode 100644 functions_x.html create mode 100644 functions_y.html create mode 100644 functions_z.html create mode 100644 gdbhio_8h.html create mode 100644 gdbhio_8h_source.html create mode 100644 gdbhio__dev_8h.html create mode 100644 gdbhio__dev_8h_source.html create mode 100644 get_system_language_2source_2main_8c-example.html create mode 100644 gfx_8h.html create mode 100644 gfx_8h_source.html create mode 100644 globals.html create mode 100644 globals_a.html create mode 100644 globals_b.html create mode 100644 globals_c.html create mode 100644 globals_d.html create mode 100644 globals_defs.html create mode 100644 globals_defs_b.html create mode 100644 globals_defs_c.html create mode 100644 globals_defs_f.html create mode 100644 globals_defs_g.html create mode 100644 globals_defs_h.html create mode 100644 globals_defs_k.html create mode 100644 globals_defs_l.html create mode 100644 globals_defs_m.html create mode 100644 globals_defs_n.html create mode 100644 globals_defs_o.html create mode 100644 globals_defs_r.html create mode 100644 globals_defs_s.html create mode 100644 globals_defs_t.html create mode 100644 globals_defs_u.html create mode 100644 globals_defs_w.html create mode 100644 globals_e.html create mode 100644 globals_enum.html create mode 100644 globals_eval.html create mode 100644 globals_eval_b.html create mode 100644 globals_eval_c.html create mode 100644 globals_eval_d.html create mode 100644 globals_eval_e.html create mode 100644 globals_eval_f.html create mode 100644 globals_eval_g.html create mode 100644 globals_eval_h.html create mode 100644 globals_eval_i.html create mode 100644 globals_eval_k.html create mode 100644 globals_eval_l.html create mode 100644 globals_eval_m.html create mode 100644 globals_eval_n.html create mode 100644 globals_eval_o.html create mode 100644 globals_eval_p.html create mode 100644 globals_eval_r.html create mode 100644 globals_eval_s.html create mode 100644 globals_eval_t.html create mode 100644 globals_eval_u.html create mode 100644 globals_eval_v.html create mode 100644 globals_eval_w.html create mode 100644 globals_f.html create mode 100644 globals_func.html create mode 100644 globals_func_a.html create mode 100644 globals_func_b.html create mode 100644 globals_func_c.html create mode 100644 globals_func_d.html create mode 100644 globals_func_e.html create mode 100644 globals_func_f.html create mode 100644 globals_func_g.html create mode 100644 globals_func_h.html create mode 100644 globals_func_i.html create mode 100644 globals_func_l.html create mode 100644 globals_func_m.html create mode 100644 globals_func_n.html create mode 100644 globals_func_o.html create mode 100644 globals_func_p.html create mode 100644 globals_func_q.html create mode 100644 globals_func_r.html create mode 100644 globals_func_s.html create mode 100644 globals_func_t.html create mode 100644 globals_func_u.html create mode 100644 globals_func_v.html create mode 100644 globals_func_y.html create mode 100644 globals_g.html create mode 100644 globals_h.html create mode 100644 globals_i.html create mode 100644 globals_k.html create mode 100644 globals_l.html create mode 100644 globals_m.html create mode 100644 globals_n.html create mode 100644 globals_o.html create mode 100644 globals_p.html create mode 100644 globals_q.html create mode 100644 globals_r.html create mode 100644 globals_s.html create mode 100644 globals_t.html create mode 100644 globals_type.html create mode 100644 globals_u.html create mode 100644 globals_v.html create mode 100644 globals_vars.html create mode 100644 globals_w.html create mode 100644 globals_y.html create mode 100644 gpu_8h.html create mode 100644 gpu_8h_source.html create mode 100644 graphics_2bitmap_224bit-color_2source_2main_8c-example.html create mode 100644 graphics_2gpu_2both_screens_2source_2main_8c-example.html create mode 100644 graphics_2gpu_2fragment_light_2source_2main_8c-example.html create mode 100644 graphics_2gpu_2geoshader_2source_2main_8c-example.html create mode 100644 graphics_2gpu_2gpusprites_2source_2main_8c-example.html create mode 100644 graphics_2gpu_2immediate_2source_2main_8c-example.html create mode 100644 graphics_2gpu_2lenny_2source_2main_8c-example.html create mode 100644 graphics_2gpu_2loop_subdivision_2source_2main_8c-example.html create mode 100644 graphics_2gpu_2mipmap_fog_2source_2main_8c-example.html create mode 100644 graphics_2gpu_2particles_2source_2main_8c-example.html create mode 100644 graphics_2gpu_2proctex_2source_2main_8c-example.html create mode 100644 graphics_2gpu_2simple_tri_2source_2main_8c-example.html create mode 100644 graphics_2gpu_2textured_cube_2source_2main_8c-example.html create mode 100644 graphics_2gpu_2toon_shading_2source_2main_8c-example.html create mode 100644 graphics_2printing_2both-screen-text_2source_2main_8c-example.html create mode 100644 graphics_2printing_2colored-text_2source_2main_8c-example.html create mode 100644 graphics_2printing_2hello-world_2source_2main_8c-example.html create mode 100644 graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html create mode 100644 graphics_2printing_2system-font_2source_2main_8c-example.html create mode 100644 gspgpu_8h.html create mode 100644 gspgpu_8h_source.html create mode 100644 gsplcd_8h.html create mode 100644 gsplcd_8h_source.html create mode 100644 gx_8h.html create mode 100644 gx_8h_source.html create mode 100644 hid_8h.html create mode 100644 hid_8h_source.html create mode 100644 httpc_8h.html create mode 100644 httpc_8h_source.html create mode 100644 in_8h_source.html create mode 100644 index.html create mode 100644 inet_8h_source.html create mode 100644 input_2read-controls_2source_2main_8c-example.html create mode 100644 input_2software-keyboard_2source_2main_8c-example.html create mode 100644 input_2touch-screen_2source_2main_8c-example.html create mode 100644 ioctl_8h_source.html create mode 100644 ipc_8h.html create mode 100644 ipc_8h_source.html create mode 100644 ir_8h.html create mode 100644 ir_8h_source.html create mode 100644 irrst_8h.html create mode 100644 irrst_8h_source.html create mode 100644 jquery.js create mode 100644 libapplet_launch_2source_2main_8c-example.html create mode 100644 linear_8h.html create mode 100644 linear_8h_source.html create mode 100644 loader_8h.html create mode 100644 loader_8h_source.html create mode 100644 mappable_8h.html create mode 100644 mappable_8h_source.html create mode 100644 mcuhwc_8h.html create mode 100644 mcuhwc_8h_source.html create mode 100644 md__home_runner_work_libctru_libctru_Changelog.html create mode 100644 menu.js create mode 100644 menudata.js create mode 100644 mic_8h.html create mode 100644 mic_8h_source.html create mode 100644 mii_8h.html create mode 100644 mii_8h_source.html create mode 100644 miiselector_8h.html create mode 100644 miiselector_8h_source.html create mode 100644 mvd_2source_2main_8c-example.html create mode 100644 mvd_8h.html create mode 100644 mvd_8h_source.html create mode 100644 nav_f.png create mode 100644 nav_g.png create mode 100644 nav_h.png create mode 100644 ndm_8h.html create mode 100644 ndm_8h_source.html create mode 100644 ndsp_8h.html create mode 100644 ndsp_8h_source.html create mode 100644 netdb_8h_source.html create mode 100644 network_2boss_2source_2main_8c-example.html create mode 100644 network_2http_2source_2main_8c-example.html create mode 100644 network_2http_post_2source_2main_8c-example.html create mode 100644 network_2sockets_2source_2sockets_8c-example.html create mode 100644 network_2sslc_2source_2ssl_8c-example.html create mode 100644 network_2uds_2source_2uds_8c-example.html create mode 100644 news_8h.html create mode 100644 news_8h_source.html create mode 100644 nfc_2source_2main_8c-example.html create mode 100644 nfc_8h.html create mode 100644 nfc_8h_source.html create mode 100644 nim_8h.html create mode 100644 nim_8h_source.html create mode 100644 ns_8h.html create mode 100644 ns_8h_source.html create mode 100644 nwmext_8h_source.html create mode 100644 open.png create mode 100644 os_8h.html create mode 100644 os_8h_source.html create mode 100644 pages.html create mode 100644 pmapp_8h.html create mode 100644 pmapp_8h_source.html create mode 100644 pmdbg_8h.html create mode 100644 pmdbg_8h_source.html create mode 100644 poll_8h_source.html create mode 100644 ps_8h.html create mode 100644 ps_8h_source.html create mode 100644 ptmgets_8h.html create mode 100644 ptmgets_8h_source.html create mode 100644 ptmsets_8h.html create mode 100644 ptmsets_8h_source.html create mode 100644 ptmsysm_8h.html create mode 100644 ptmsysm_8h_source.html create mode 100644 ptmu_8h.html create mode 100644 ptmu_8h_source.html create mode 100644 pxidev_8h.html create mode 100644 pxidev_8h_source.html create mode 100644 pxipm_8h.html create mode 100644 pxipm_8h_source.html create mode 100644 qtm_2source_2main_8c-example.html create mode 100644 qtm_8h.html create mode 100644 qtm_8h_source.html create mode 100644 rbtree_8h.html create mode 100644 rbtree_8h_source.html create mode 100644 registers_8h.html create mode 100644 registers_8h_source.html create mode 100644 result_8h.html create mode 100644 result_8h_source.html create mode 100644 romfs_2source_2main_8c-example.html create mode 100644 romfs_8h.html create mode 100644 romfs_8h_source.html create mode 100644 sdmc_2source_2main_8c-example.html create mode 100644 search/all_0.html create mode 100644 search/all_0.js create mode 100644 search/all_1.html create mode 100644 search/all_1.js create mode 100644 search/all_10.html create mode 100644 search/all_10.js create mode 100644 search/all_11.html create mode 100644 search/all_11.js create mode 100644 search/all_12.html create mode 100644 search/all_12.js create mode 100644 search/all_13.html create mode 100644 search/all_13.js create mode 100644 search/all_14.html create mode 100644 search/all_14.js create mode 100644 search/all_15.html create mode 100644 search/all_15.js create mode 100644 search/all_16.html create mode 100644 search/all_16.js create mode 100644 search/all_17.html create mode 100644 search/all_17.js create mode 100644 search/all_18.html create mode 100644 search/all_18.js create mode 100644 search/all_19.html create mode 100644 search/all_19.js create mode 100644 search/all_1a.html create mode 100644 search/all_1a.js create mode 100644 search/all_1b.html create mode 100644 search/all_1b.js create mode 100644 search/all_2.html create mode 100644 search/all_2.js create mode 100644 search/all_3.html create mode 100644 search/all_3.js create mode 100644 search/all_4.html create mode 100644 search/all_4.js create mode 100644 search/all_5.html create mode 100644 search/all_5.js create mode 100644 search/all_6.html create mode 100644 search/all_6.js create mode 100644 search/all_7.html create mode 100644 search/all_7.js create mode 100644 search/all_8.html create mode 100644 search/all_8.js create mode 100644 search/all_9.html create mode 100644 search/all_9.js create mode 100644 search/all_a.html create mode 100644 search/all_a.js create mode 100644 search/all_b.html create mode 100644 search/all_b.js create mode 100644 search/all_c.html create mode 100644 search/all_c.js create mode 100644 search/all_d.html create mode 100644 search/all_d.js create mode 100644 search/all_e.html create mode 100644 search/all_e.js create mode 100644 search/all_f.html create mode 100644 search/all_f.js create mode 100644 search/classes_0.html create mode 100644 search/classes_0.js create mode 100644 search/classes_1.html create mode 100644 search/classes_1.js create mode 100644 search/classes_10.html create mode 100644 search/classes_10.js create mode 100644 search/classes_11.html create mode 100644 search/classes_11.js create mode 100644 search/classes_12.html create mode 100644 search/classes_12.js create mode 100644 search/classes_13.html create mode 100644 search/classes_13.js create mode 100644 search/classes_2.html create mode 100644 search/classes_2.js create mode 100644 search/classes_3.html create mode 100644 search/classes_3.js create mode 100644 search/classes_4.html create mode 100644 search/classes_4.js create mode 100644 search/classes_5.html create mode 100644 search/classes_5.js create mode 100644 search/classes_6.html create mode 100644 search/classes_6.js create mode 100644 search/classes_7.html create mode 100644 search/classes_7.js create mode 100644 search/classes_8.html create mode 100644 search/classes_8.js create mode 100644 search/classes_9.html create mode 100644 search/classes_9.js create mode 100644 search/classes_a.html create mode 100644 search/classes_a.js create mode 100644 search/classes_b.html create mode 100644 search/classes_b.js create mode 100644 search/classes_c.html create mode 100644 search/classes_c.js create mode 100644 search/classes_d.html create mode 100644 search/classes_d.js create mode 100644 search/classes_e.html create mode 100644 search/classes_e.js create mode 100644 search/classes_f.html create mode 100644 search/classes_f.js create mode 100644 search/close.svg create mode 100644 search/defines_0.html create mode 100644 search/defines_0.js create mode 100644 search/defines_1.html create mode 100644 search/defines_1.js create mode 100644 search/defines_2.html create mode 100644 search/defines_2.js create mode 100644 search/defines_3.html create mode 100644 search/defines_3.js create mode 100644 search/defines_4.html create mode 100644 search/defines_4.js create mode 100644 search/defines_5.html create mode 100644 search/defines_5.js create mode 100644 search/defines_6.html create mode 100644 search/defines_6.js create mode 100644 search/defines_7.html create mode 100644 search/defines_7.js create mode 100644 search/defines_8.html create mode 100644 search/defines_8.js create mode 100644 search/defines_9.html create mode 100644 search/defines_9.js create mode 100644 search/defines_a.html create mode 100644 search/defines_a.js create mode 100644 search/defines_b.html create mode 100644 search/defines_b.js create mode 100644 search/defines_c.html create mode 100644 search/defines_c.js create mode 100644 search/defines_d.html create mode 100644 search/defines_d.js create mode 100644 search/defines_e.html create mode 100644 search/defines_e.js create mode 100644 search/defines_f.html create mode 100644 search/defines_f.js create mode 100644 search/enums_0.html create mode 100644 search/enums_0.js create mode 100644 search/enums_1.html create mode 100644 search/enums_1.js create mode 100644 search/enums_10.html create mode 100644 search/enums_10.js create mode 100644 search/enums_2.html create mode 100644 search/enums_2.js create mode 100644 search/enums_3.html create mode 100644 search/enums_3.js create mode 100644 search/enums_4.html create mode 100644 search/enums_4.js create mode 100644 search/enums_5.html create mode 100644 search/enums_5.js create mode 100644 search/enums_6.html create mode 100644 search/enums_6.js create mode 100644 search/enums_7.html create mode 100644 search/enums_7.js create mode 100644 search/enums_8.html create mode 100644 search/enums_8.js create mode 100644 search/enums_9.html create mode 100644 search/enums_9.js create mode 100644 search/enums_a.html create mode 100644 search/enums_a.js create mode 100644 search/enums_b.html create mode 100644 search/enums_b.js create mode 100644 search/enums_c.html create mode 100644 search/enums_c.js create mode 100644 search/enums_d.html create mode 100644 search/enums_d.js create mode 100644 search/enums_e.html create mode 100644 search/enums_e.js create mode 100644 search/enums_f.html create mode 100644 search/enums_f.js create mode 100644 search/enumvalues_0.html create mode 100644 search/enumvalues_0.js create mode 100644 search/enumvalues_1.html create mode 100644 search/enumvalues_1.js create mode 100644 search/enumvalues_10.html create mode 100644 search/enumvalues_10.js create mode 100644 search/enumvalues_11.html create mode 100644 search/enumvalues_11.js create mode 100644 search/enumvalues_12.html create mode 100644 search/enumvalues_12.js create mode 100644 search/enumvalues_13.html create mode 100644 search/enumvalues_13.js create mode 100644 search/enumvalues_14.html create mode 100644 search/enumvalues_14.js create mode 100644 search/enumvalues_2.html create mode 100644 search/enumvalues_2.js create mode 100644 search/enumvalues_3.html create mode 100644 search/enumvalues_3.js create mode 100644 search/enumvalues_4.html create mode 100644 search/enumvalues_4.js create mode 100644 search/enumvalues_5.html create mode 100644 search/enumvalues_5.js create mode 100644 search/enumvalues_6.html create mode 100644 search/enumvalues_6.js create mode 100644 search/enumvalues_7.html create mode 100644 search/enumvalues_7.js create mode 100644 search/enumvalues_8.html create mode 100644 search/enumvalues_8.js create mode 100644 search/enumvalues_9.html create mode 100644 search/enumvalues_9.js create mode 100644 search/enumvalues_a.html create mode 100644 search/enumvalues_a.js create mode 100644 search/enumvalues_b.html create mode 100644 search/enumvalues_b.js create mode 100644 search/enumvalues_c.html create mode 100644 search/enumvalues_c.js create mode 100644 search/enumvalues_d.html create mode 100644 search/enumvalues_d.js create mode 100644 search/enumvalues_e.html create mode 100644 search/enumvalues_e.js create mode 100644 search/enumvalues_f.html create mode 100644 search/enumvalues_f.js create mode 100644 search/files_0.html create mode 100644 search/files_0.js create mode 100644 search/files_1.html create mode 100644 search/files_1.js create mode 100644 search/files_10.html create mode 100644 search/files_10.js create mode 100644 search/files_11.html create mode 100644 search/files_11.js create mode 100644 search/files_12.html create mode 100644 search/files_12.js create mode 100644 search/files_13.html create mode 100644 search/files_13.js create mode 100644 search/files_14.html create mode 100644 search/files_14.js create mode 100644 search/files_15.html create mode 100644 search/files_15.js create mode 100644 search/files_2.html create mode 100644 search/files_2.js create mode 100644 search/files_3.html create mode 100644 search/files_3.js create mode 100644 search/files_4.html create mode 100644 search/files_4.js create mode 100644 search/files_5.html create mode 100644 search/files_5.js create mode 100644 search/files_6.html create mode 100644 search/files_6.js create mode 100644 search/files_7.html create mode 100644 search/files_7.js create mode 100644 search/files_8.html create mode 100644 search/files_8.js create mode 100644 search/files_9.html create mode 100644 search/files_9.js create mode 100644 search/files_a.html create mode 100644 search/files_a.js create mode 100644 search/files_b.html create mode 100644 search/files_b.js create mode 100644 search/files_c.html create mode 100644 search/files_c.js create mode 100644 search/files_d.html create mode 100644 search/files_d.js create mode 100644 search/files_e.html create mode 100644 search/files_e.js create mode 100644 search/files_f.html create mode 100644 search/files_f.js create mode 100644 search/functions_0.html create mode 100644 search/functions_0.js create mode 100644 search/functions_1.html create mode 100644 search/functions_1.js create mode 100644 search/functions_10.html create mode 100644 search/functions_10.js create mode 100644 search/functions_11.html create mode 100644 search/functions_11.js create mode 100644 search/functions_12.html create mode 100644 search/functions_12.js create mode 100644 search/functions_13.html create mode 100644 search/functions_13.js create mode 100644 search/functions_14.html create mode 100644 search/functions_14.js create mode 100644 search/functions_15.html create mode 100644 search/functions_15.js create mode 100644 search/functions_2.html create mode 100644 search/functions_2.js create mode 100644 search/functions_3.html create mode 100644 search/functions_3.js create mode 100644 search/functions_4.html create mode 100644 search/functions_4.js create mode 100644 search/functions_5.html create mode 100644 search/functions_5.js create mode 100644 search/functions_6.html create mode 100644 search/functions_6.js create mode 100644 search/functions_7.html create mode 100644 search/functions_7.js create mode 100644 search/functions_8.html create mode 100644 search/functions_8.js create mode 100644 search/functions_9.html create mode 100644 search/functions_9.js create mode 100644 search/functions_a.html create mode 100644 search/functions_a.js create mode 100644 search/functions_b.html create mode 100644 search/functions_b.js create mode 100644 search/functions_c.html create mode 100644 search/functions_c.js create mode 100644 search/functions_d.html create mode 100644 search/functions_d.js create mode 100644 search/functions_e.html create mode 100644 search/functions_e.js create mode 100644 search/functions_f.html create mode 100644 search/functions_f.js create mode 100644 search/mag_sel.svg create mode 100644 search/nomatches.html create mode 100644 search/pages_0.html create mode 100644 search/pages_0.js create mode 100644 search/pages_1.html create mode 100644 search/pages_1.js create mode 100644 search/pages_2.html create mode 100644 search/pages_2.js create mode 100644 search/search.css create mode 100644 search/search.js create mode 100644 search/search_l.png create mode 100644 search/search_m.png create mode 100644 search/search_r.png create mode 100644 search/searchdata.js create mode 100644 search/typedefs_0.html create mode 100644 search/typedefs_0.js create mode 100644 search/typedefs_1.html create mode 100644 search/typedefs_1.js create mode 100644 search/typedefs_2.html create mode 100644 search/typedefs_2.js create mode 100644 search/typedefs_3.html create mode 100644 search/typedefs_3.js create mode 100644 search/typedefs_4.html create mode 100644 search/typedefs_4.js create mode 100644 search/typedefs_5.html create mode 100644 search/typedefs_5.js create mode 100644 search/typedefs_6.html create mode 100644 search/typedefs_6.js create mode 100644 search/typedefs_7.html create mode 100644 search/typedefs_7.js create mode 100644 search/typedefs_8.html create mode 100644 search/typedefs_8.js create mode 100644 search/typedefs_9.html create mode 100644 search/typedefs_9.js create mode 100644 search/typedefs_a.html create mode 100644 search/typedefs_a.js create mode 100644 search/typedefs_b.html create mode 100644 search/typedefs_b.js create mode 100644 search/typedefs_c.html create mode 100644 search/typedefs_c.js create mode 100644 search/variables_0.html create mode 100644 search/variables_0.js create mode 100644 search/variables_1.html create mode 100644 search/variables_1.js create mode 100644 search/variables_10.html create mode 100644 search/variables_10.js create mode 100644 search/variables_11.html create mode 100644 search/variables_11.js create mode 100644 search/variables_12.html create mode 100644 search/variables_12.js create mode 100644 search/variables_13.html create mode 100644 search/variables_13.js create mode 100644 search/variables_14.html create mode 100644 search/variables_14.js create mode 100644 search/variables_15.html create mode 100644 search/variables_15.js create mode 100644 search/variables_16.html create mode 100644 search/variables_16.js create mode 100644 search/variables_17.html create mode 100644 search/variables_17.js create mode 100644 search/variables_18.html create mode 100644 search/variables_18.js create mode 100644 search/variables_19.html create mode 100644 search/variables_19.js create mode 100644 search/variables_2.html create mode 100644 search/variables_2.js create mode 100644 search/variables_3.html create mode 100644 search/variables_3.js create mode 100644 search/variables_4.html create mode 100644 search/variables_4.js create mode 100644 search/variables_5.html create mode 100644 search/variables_5.js create mode 100644 search/variables_6.html create mode 100644 search/variables_6.js create mode 100644 search/variables_7.html create mode 100644 search/variables_7.js create mode 100644 search/variables_8.html create mode 100644 search/variables_8.js create mode 100644 search/variables_9.html create mode 100644 search/variables_9.js create mode 100644 search/variables_a.html create mode 100644 search/variables_a.js create mode 100644 search/variables_b.html create mode 100644 search/variables_b.js create mode 100644 search/variables_c.html create mode 100644 search/variables_c.js create mode 100644 search/variables_d.html create mode 100644 search/variables_d.js create mode 100644 search/variables_e.html create mode 100644 search/variables_e.js create mode 100644 search/variables_f.html create mode 100644 search/variables_f.js create mode 100644 select_8h_source.html create mode 100644 shaderProgram_8h.html create mode 100644 shaderProgram_8h_source.html create mode 100644 shbin_8h.html create mode 100644 shbin_8h_source.html create mode 100644 soc_8h.html create mode 100644 soc_8h_source.html create mode 100644 socket_8h_source.html create mode 100644 splitbar.png create mode 100644 srv_8h.html create mode 100644 srv_8h_source.html create mode 100644 srvpm_8h.html create mode 100644 srvpm_8h_source.html create mode 100644 sslc_8h.html create mode 100644 sslc_8h_source.html create mode 100644 structAM__ContentInfo.html create mode 100644 structAM__PendingTitleEntry.html create mode 100644 structAM__TWLPartitionInfo.html create mode 100644 structAM__TitleEntry.html create mode 100644 structAttachProcessEvent.html create mode 100644 structAttachThreadEvent.html create mode 100644 structCAMU__ImageQualityCalibrationData.html create mode 100644 structCAMU__PackageParameterCameraSelect.html create mode 100644 structCAMU__PackageParameterContext.html create mode 100644 structCAMU__PackageParameterContextDetail.html create mode 100644 structCAMU__StereoCameraCalibrationData.html create mode 100644 structCFNT__s.html create mode 100644 structCodeSetHeader.html create mode 100644 structConsoleFont.html create mode 100644 structCpuRegisters.html create mode 100644 structDVLB__s.html create mode 100644 structDVLE__constEntry__s.html create mode 100644 structDVLE__outEntry__s.html create mode 100644 structDVLE__s.html create mode 100644 structDVLE__uniformEntry__s.html create mode 100644 structDVLP__s.html create mode 100644 structDebugEventInfo.html create mode 100644 structDebuggerBreakExceptionEvent.html create mode 100644 structDmaConfig.html create mode 100644 structDmaDeviceConfig.html create mode 100644 structERRF__ExceptionData.html create mode 100644 structERRF__ExceptionInfo.html create mode 100644 structERRF__FatalErrInfo.html create mode 100644 structExHeader.html create mode 100644 structExHeader__AccessControlInfo.html create mode 100644 structExHeader__AccessDescriptor.html create mode 100644 structExHeader__Arm11CoreInfo.html create mode 100644 structExHeader__Arm11KernelCapabilities.html create mode 100644 structExHeader__Arm11StorageInfo.html create mode 100644 structExHeader__Arm11SystemLocalCapabilities.html create mode 100644 structExHeader__Arm9AccessControl.html create mode 100644 structExHeader__CodeSectionInfo.html create mode 100644 structExHeader__CodeSetInfo.html create mode 100644 structExHeader__Info.html create mode 100644 structExHeader__SystemControlInfo.html create mode 100644 structExHeader__SystemInfo.html create mode 100644 structExHeader__SystemInfoFlags.html create mode 100644 structExceptionEvent.html create mode 100644 structExitProcessEvent.html create mode 100644 structExitThreadEvent.html create mode 100644 structFINF__s.html create mode 100644 structFS__ArchiveResource.html create mode 100644 structFS__DeviceMoveContext.html create mode 100644 structFS__DirectoryEntry.html create mode 100644 structFS__ExtSaveDataInfo.html create mode 100644 structFS__IntegrityVerificationSeed.html create mode 100644 structFS__Path.html create mode 100644 structFS__ProductInfo.html create mode 100644 structFS__ProgramInfo.html create mode 100644 structFS__SdMmcSpeedInfo.html create mode 100644 structFS__SystemSaveDataInfo.html create mode 100644 structFaultExceptionEvent.html create mode 100644 structFpuRegisters.html create mode 100644 structFriendKey.html create mode 100644 structFriendProfile.html create mode 100644 structGSPGPU__CaptureInfo.html create mode 100644 structGSPGPU__CaptureInfoEntry.html create mode 100644 structGSPGPU__FramebufferInfo.html create mode 100644 structGameDescription.html create mode 100644 structLightEvent.html create mode 100644 structLightSemaphore.html create mode 100644 structMVDSTD__Config.html create mode 100644 structMVDSTD__InitStruct.html create mode 100644 structMVDSTD__OutputBuffersEntry.html create mode 100644 structMVDSTD__OutputBuffersEntryList.html create mode 100644 structMVDSTD__ProcessNALUnitOut.html create mode 100644 structMapEvent.html create mode 100644 structMemInfo.html create mode 100644 structMiiData.html create mode 100644 structMiiSelectorConf.html create mode 100644 structMiiSelectorReturn.html create mode 100644 structNFC__AmiiboConfig.html create mode 100644 structNFC__AmiiboSettings.html create mode 100644 structNFC__AppDataInitStruct.html create mode 100644 structNFC__AppDataWriteStruct.html create mode 100644 structNFC__TagInfo.html create mode 100644 structNIM__TitleConfig.html create mode 100644 structNIM__TitleProgress.html create mode 100644 structNotificationEvent.html create mode 100644 structNotificationHeader.html create mode 100644 structOS__VersionBin.html create mode 100644 structOutputStringEvent.html create mode 100644 structPXIDEV__SPIBuffer.html create mode 100644 structPageInfo.html create mode 100644 structPrintConsole.html create mode 100644 structPtmSleepConfig.html create mode 100644 structPtmWakeEvents.html create mode 100644 structQTM__HeadTrackingInfo.html create mode 100644 structQTM__HeadTrackingInfoCoord.html create mode 100644 structSOCU__ARPTableEntry.html create mode 100644 structSOCU__DNSTableEntry.html create mode 100644 structSOCU__IPInfo.html create mode 100644 structSOCU__RoutingTableEntry.html create mode 100644 structSOCU__TCPTableEntry.html create mode 100644 structSOCU__UDPTableEntry.html create mode 100644 structScheduleInOutEvent.html create mode 100644 structStartupInfo.html create mode 100644 structStopPointExceptionEvent.html create mode 100644 structSwkbdDictWord.html create mode 100644 structSwkbdExtra.html create mode 100644 structSwkbdLearningData.html create mode 100644 structSwkbdState.html create mode 100644 structSwkbdStatusData.html create mode 100644 structSyscallInOutEvent.html create mode 100644 structTGLP__s.html create mode 100644 structThreadContext.html create mode 100644 structTickCounter.html create mode 100644 structTitleData.html create mode 100644 structUserBreakExceptionEvent.html create mode 100644 structY2RU__ColorCoefficients.html create mode 100644 structY2RU__ConversionParams.html create mode 100644 structY2RU__DitheringWeightParams.html create mode 100644 structaccelVector.html create mode 100644 structacuConfig.html create mode 100644 structaddrinfo.html create mode 100644 structangularRate.html create mode 100644 structaptCaptureBufInfo.html create mode 100644 structaptHookCookie.html create mode 100644 structarchive__dir__t.html create mode 100644 structbossContext.html create mode 100644 structcharWidthInfo__s.html create mode 100644 structcirclePosition.html create mode 100644 structdecompressIOVec.html create mode 100644 structdspHookCookie.html create mode 100644 structerrorConf.html create mode 100644 structfloat24Uniform__s.html create mode 100644 structfontGlyphPos__s.html create mode 100644 structgxCmdQueue__s.html create mode 100644 structhostent.html create mode 100644 structhttpcContext.html create mode 100644 structin__addr.html create mode 100644 structip__mreq.html create mode 100644 structlinger.html create mode 100644 structndspAdpcmData.html create mode 100644 structnwmBeaconDataReplyEntry.html create mode 100644 structnwmBeaconDataReplyHeader.html create mode 100644 structnwmScanInputStruct.html create mode 100644 structosKernelConfig__s.html create mode 100644 structosSharedConfig__s.html create mode 100644 structosTimeRef__s.html create mode 100644 structpollfd.html create mode 100644 structpsRSAContext.html create mode 100644 structrbtree.html create mode 100644 structrbtree__node.html create mode 100644 structromfs__dir.html create mode 100644 structromfs__file.html create mode 100644 structromfs__header.html create mode 100644 structshaderInstance__s.html create mode 100644 structshaderProgram__s.html create mode 100644 structsockaddr.html create mode 100644 structsockaddr__in.html create mode 100644 structsockaddr__storage.html create mode 100644 structsslcContext.html create mode 100644 structtag__CMAP__s.html create mode 100644 structtag__CWDH__s.html create mode 100644 structtag__ndspWaveBuf.html create mode 100644 structtouchPosition.html create mode 100644 structudsBindContext.html create mode 100644 structudsConnectionStatus.html create mode 100644 structudsNetworkScanInfo.html create mode 100644 structudsNetworkStruct.html create mode 100644 structudsNodeInfo.html create mode 100644 svc_8h.html create mode 100644 svc_8h_source.html create mode 100644 swkbd_8h.html create mode 100644 swkbd_8h_source.html create mode 100644 sync_off.png create mode 100644 sync_on.png create mode 100644 synchronization_8h.html create mode 100644 synchronization_8h_source.html create mode 100644 tab_a.png create mode 100644 tab_b.png create mode 100644 tab_h.png create mode 100644 tab_s.png create mode 100644 tabs.css create mode 100644 tcp_8h_source.html create mode 100644 thread_8h.html create mode 100644 thread_8h_source.html create mode 100644 threads_2event_2source_2main_8c-example.html create mode 100644 threads_2thread-basic_2source_2main_8c-example.html create mode 100644 time_2rtc_2source_2main_8c-example.html create mode 100644 types_8h.html create mode 100644 types_8h_source.html create mode 100644 uds_8h.html create mode 100644 uds_8h_source.html create mode 100644 unionCSND__CapInfo.html create mode 100644 unionCSND__ChnInfo.html create mode 100644 uniongxCmdEntry__s.html create mode 100644 utf_8h.html create mode 100644 utf_8h_source.html create mode 100644 vram_8h.html create mode 100644 vram_8h_source.html create mode 100644 y2r_8h.html create mode 100644 y2r_8h_source.html diff --git a/3ds_8h.html b/3ds_8h.html new file mode 100644 index 000000000..4ee886e4a --- /dev/null +++ b/3ds_8h.html @@ -0,0 +1,166 @@ + + + + + + + +libctru: include/3ds.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
3ds.h File Reference
+
+
+ +

Central 3DS header. +More...

+
#include <3ds/types.h>
+#include <3ds/result.h>
+#include <3ds/ipc.h>
+#include <3ds/svc.h>
+#include <3ds/exheader.h>
+#include <3ds/srv.h>
+#include <3ds/errf.h>
+#include <3ds/os.h>
+#include <3ds/synchronization.h>
+#include <3ds/thread.h>
+#include <3ds/gfx.h>
+#include <3ds/console.h>
+#include <3ds/env.h>
+#include <3ds/util/decompress.h>
+#include <3ds/util/utf.h>
+#include <3ds/allocator/linear.h>
+#include <3ds/allocator/mappable.h>
+#include <3ds/allocator/vram.h>
+#include <3ds/services/ac.h>
+#include <3ds/services/am.h>
+#include <3ds/services/ampxi.h>
+#include <3ds/services/apt.h>
+#include <3ds/services/boss.h>
+#include <3ds/services/cam.h>
+#include <3ds/services/cfgnor.h>
+#include <3ds/services/cfgu.h>
+#include <3ds/services/csnd.h>
+#include <3ds/services/dsp.h>
+#include <3ds/services/fs.h>
+#include <3ds/services/fspxi.h>
+#include <3ds/services/fsreg.h>
+#include <3ds/services/frd.h>
+#include <3ds/services/gspgpu.h>
+#include <3ds/services/gsplcd.h>
+#include <3ds/services/hid.h>
+#include <3ds/services/irrst.h>
+#include <3ds/services/sslc.h>
+#include <3ds/services/httpc.h>
+#include <3ds/services/uds.h>
+#include <3ds/services/ndm.h>
+#include <3ds/services/nim.h>
+#include <3ds/services/nwmext.h>
+#include <3ds/services/ir.h>
+#include <3ds/services/ns.h>
+#include <3ds/services/pmapp.h>
+#include <3ds/services/pmdbg.h>
+#include <3ds/services/ps.h>
+#include <3ds/services/ptmu.h>
+#include <3ds/services/ptmsysm.h>
+#include <3ds/services/ptmgets.h>
+#include <3ds/services/ptmsets.h>
+#include <3ds/services/pxidev.h>
+#include <3ds/services/pxipm.h>
+#include <3ds/services/soc.h>
+#include <3ds/services/mic.h>
+#include <3ds/services/mvd.h>
+#include <3ds/services/nfc.h>
+#include <3ds/services/news.h>
+#include <3ds/services/qtm.h>
+#include <3ds/services/srvpm.h>
+#include <3ds/services/loader.h>
+#include <3ds/services/y2r.h>
+#include <3ds/services/mcuhwc.h>
+#include <3ds/services/cdcchk.h>
+#include <3ds/gpu/gx.h>
+#include <3ds/gpu/gpu.h>
+#include <3ds/gpu/shbin.h>
+#include <3ds/gpu/shaderProgram.h>
+#include <3ds/ndsp/ndsp.h>
+#include <3ds/ndsp/channel.h>
+#include <3ds/applets/swkbd.h>
+#include <3ds/applets/error.h>
+#include <3ds/applets/miiselector.h>
+#include <3ds/archive.h>
+#include <3ds/romfs.h>
+#include <3ds/font.h>
+#include <3ds/mii.h>
+#include <3ds/gdbhio_dev.h>
+#include <3ds/3dslink.h>
+
+

Go to the source code of this file.

+

Detailed Description

+

Central 3DS header.

+

Includes all others.

+
+ + + + diff --git a/3ds_8h_source.html b/3ds_8h_source.html new file mode 100644 index 000000000..1c6cabe8b --- /dev/null +++ b/3ds_8h_source.html @@ -0,0 +1,309 @@ + + + + + + + +libctru: include/3ds.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
3ds.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file 3ds.h
+
3  * @brief Central 3DS header. Includes all others.
+
4  */
+
5 #pragma once
+
6 
+
7 #ifdef __cplusplus
+
8 extern "C" {
+
9 #endif
+
10 
+
11 #if defined(_3DS) && !defined(__3DS__)
+
12 #warning "Please update your Makefile and replace -DARM11 -D_3DS with -D__3DS__"
+
13 #define __3DS__
+
14 #endif
+
15 
+
16 //might be missing some
+
17 #include <3ds/types.h>
+
18 #include <3ds/result.h>
+
19 #include <3ds/ipc.h>
+
20 #include <3ds/svc.h>
+
21 #include <3ds/exheader.h>
+
22 #include <3ds/srv.h>
+
23 #include <3ds/errf.h>
+
24 #include <3ds/os.h>
+
25 #include <3ds/synchronization.h>
+
26 #include <3ds/thread.h>
+
27 #include <3ds/gfx.h>
+
28 #include <3ds/console.h>
+
29 #include <3ds/env.h>
+
30 #include <3ds/util/decompress.h>
+
31 #include <3ds/util/utf.h>
+
32 
+
33 #include <3ds/allocator/linear.h>
+
34 #include <3ds/allocator/mappable.h>
+
35 #include <3ds/allocator/vram.h>
+
36 
+
37 #include <3ds/services/ac.h>
+
38 #include <3ds/services/am.h>
+
39 #include <3ds/services/ampxi.h>
+
40 #include <3ds/services/apt.h>
+
41 #include <3ds/services/boss.h>
+
42 #include <3ds/services/cam.h>
+
43 #include <3ds/services/cfgnor.h>
+
44 #include <3ds/services/cfgu.h>
+
45 #include <3ds/services/csnd.h>
+
46 #include <3ds/services/dsp.h>
+
47 #include <3ds/services/fs.h>
+
48 #include <3ds/services/fspxi.h>
+
49 #include <3ds/services/fsreg.h>
+
50 #include <3ds/services/frd.h>
+
51 #include <3ds/services/gspgpu.h>
+
52 #include <3ds/services/gsplcd.h>
+
53 #include <3ds/services/hid.h>
+
54 #include <3ds/services/irrst.h>
+
55 #include <3ds/services/sslc.h>
+
56 #include <3ds/services/httpc.h>
+
57 #include <3ds/services/uds.h>
+
58 #include <3ds/services/ndm.h>
+
59 #include <3ds/services/nim.h>
+
60 #include <3ds/services/nwmext.h>
+
61 #include <3ds/services/ir.h>
+
62 #include <3ds/services/ns.h>
+
63 #include <3ds/services/pmapp.h>
+
64 #include <3ds/services/pmdbg.h>
+
65 #include <3ds/services/ps.h>
+
66 #include <3ds/services/ptmu.h>
+
67 #include <3ds/services/ptmsysm.h>
+
68 #include <3ds/services/ptmgets.h>
+
69 #include <3ds/services/ptmsets.h>
+
70 #include <3ds/services/pxidev.h>
+
71 #include <3ds/services/pxipm.h>
+
72 #include <3ds/services/soc.h>
+
73 #include <3ds/services/mic.h>
+
74 #include <3ds/services/mvd.h>
+
75 #include <3ds/services/nfc.h>
+
76 #include <3ds/services/news.h>
+
77 #include <3ds/services/qtm.h>
+
78 #include <3ds/services/srvpm.h>
+
79 #include <3ds/services/loader.h>
+
80 #include <3ds/services/y2r.h>
+
81 #include <3ds/services/mcuhwc.h>
+
82 #include <3ds/services/cdcchk.h>
+
83 
+
84 #include <3ds/gpu/gx.h>
+
85 #include <3ds/gpu/gpu.h>
+
86 #include <3ds/gpu/shbin.h>
+
87 #include <3ds/gpu/shaderProgram.h>
+
88 
+
89 #include <3ds/ndsp/ndsp.h>
+
90 #include <3ds/ndsp/channel.h>
+
91 
+
92 #include <3ds/applets/swkbd.h>
+
93 #include <3ds/applets/error.h>
+
94 
+ +
96 
+
97 #include <3ds/archive.h>
+
98 #include <3ds/romfs.h>
+
99 #include <3ds/font.h>
+
100 #include <3ds/mii.h>
+
101 
+
102 #include <3ds/gdbhio_dev.h>
+
103 #include <3ds/3dslink.h>
+
104 
+
105 #ifdef __cplusplus
+
106 }
+
107 #endif
+
108 /**
+
109  * @example app_launch/source/main.c
+
110  * @example audio/filters/source/main.c
+
111  * @example audio/mic/source/main.c
+
112  * @example audio/streaming/source/main.c
+
113  * @example camera/image/source/main.c
+
114  * @example camera/video/source/main.c
+
115  * @example get_system_language/source/main.c
+
116  * @example graphics/bitmap/24bit-color/source/main.c
+
117  * @example graphics/gpu/both_screens/source/main.c
+
118  * @example graphics/gpu/fragment_light/source/main.c
+
119  * @example graphics/gpu/geoshader/source/main.c
+
120  * @example graphics/gpu/gpusprites/source/main.c
+
121  * @example graphics/gpu/immediate/source/main.c
+
122  * @example graphics/gpu/lenny/source/main.c
+
123  * @example graphics/gpu/loop_subdivision/source/main.c
+
124  * @example graphics/gpu/mipmap_fog/source/main.c
+
125  * @example graphics/gpu/particles/source/main.c
+
126  * @example graphics/gpu/proctex/source/main.c
+
127  * @example graphics/gpu/simple_tri/source/main.c
+
128  * @example graphics/gpu/textured_cube/source/main.c
+
129  * @example graphics/gpu/toon_shading/source/main.c
+
130  * @example graphics/printing/both-screen-text/source/main.c
+
131  * @example graphics/printing/colored-text/source/main.c
+
132  * @example graphics/printing/hello-world/source/main.c
+
133  * @example graphics/printing/multiple-windows-text/source/main.c
+
134  * @example graphics/printing/system-font/source/main.c
+
135  * @example input/read-controls/source/main.c
+
136  * @example input/software-keyboard/source/main.c
+
137  * @example input/touch-screen/source/main.c
+
138  * @example libapplet_launch/source/main.c
+
139  * @example mvd/source/main.c
+
140  * @example network/boss/source/main.c
+
141  * @example network/http/source/main.c
+
142  * @example network/http_post/source/main.c
+
143  * @example network/sockets/source/sockets.c
+
144  * @example network/sslc/source/ssl.c
+
145  * @example network/uds/source/uds.c
+
146  * @example nfc/source/main.c
+
147  * @example qtm/source/main.c
+
148  * @example romfs/source/main.c
+
149  * @example sdmc/source/main.c
+
150  * @example threads/event/source/main.c
+
151  * @example threads/thread-basic/source/main.c
+
152  * @example time/rtc/source/main.c
+
153  */
+ +
AC service.
+
AM (Application Manager) service.
+
AMPXI service.
+
APT (Applet) service.
+
FS_Archive driver.
+
BOSS service, see also: https://www.3dbrew.org/wiki/BOSS_Services.
+
CAM service for using the 3DS's front and back cameras.
+
CODEC Hardware Check service.
+
CFGNOR service.
+
CFGU (Configuration) Service.
+
Functions for interacting with DSP audio channels.
+
3ds stdio support.
+
CSND service.
+
Decompression functions.
+
DSP Service to access the DSP processor commands (sound)
+
Homebrew environment information.
+
Error Display API.
+
Error applet.
+
NCCH extended header definitions.
+
Shared font support.
+
Friend Services.
+
Filesystem Services.
+
Service interface for PxiFS services.
+
Luma3DS GDB HIO (called File I/O in GDB documentation) devoptab wrapper.
+
Simple framebuffer API.
+
Barebones GPU communications driver.
+
GSPGPU service.
+
GSPLCD service.
+
GX commands.
+
HID service.
+
HTTP service.
+
Inter Process Communication helpers.
+
IR service.
+
IRRST service.
+
Linear memory allocator.
+
LOADER Service.
+
Mappable memory allocator.
+
mcuHwc service.
+
MIC (Microphone) service.
+
Shared Mii struct.
+
Mii Selector Applet (appletEd).
+
MVD service.
+
NDMU service.
+
Interface for Nintendo's default DSP component.
+
NEWS (Notification) service.
+
NFC service.
+
NIM (network installation management) service.
+
NS (Nintendo Shell) service.
+
OS related stuff.
+
PM (Process Manager) application service.
+
PM (Process Manager) debug service.
+
PS service.
+
PTMGETS service.
+
PTMSETS service.
+
PTMSYSM service.
+
PTMU service.
+
Gamecard PXI service.
+
Process Manager PXI service.
+
QTM service.
+
3DS result code tools
+
RomFS driver.
+
Functions for working with shaders.
+
Shader binary support.
+
SOC service for sockets communications.
+
Service API.
+
srv:pm service.
+
SSLC(TLS) service.
+
Syscall wrappers.
+
Software keyboard applet.
+
Provides synchronization locks.
+
Provides functions to use threads.
+
Various system types.
+
UDS(NWMUDS) local-WLAN service.
+
UTF conversion functions.
+
VRAM allocator.
+
Y2R service for hardware YUV->RGB conversions.
+
+ + + + diff --git a/3dslink_8h.html b/3dslink_8h.html new file mode 100644 index 000000000..7e9238019 --- /dev/null +++ b/3dslink_8h.html @@ -0,0 +1,160 @@ + + + + + + + +libctru: include/3ds/3dslink.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
3dslink.h File Reference
+
+
+ +

Netloader (3dslink) utilities. +More...

+
#include <stdbool.h>
+
+

Go to the source code of this file.

+ + + + + +

+Macros

+#define LINK3DS_COMM_PORT   17491
 3dslink TCP server port
 
+ + + + + + + + + + +

+Functions

int link3dsConnectToHost (bool redirStdout, bool redirStderr)
 Connects to the 3dslink host, setting up an output stream. More...
 
+static int link3dsStdio (void)
 Same as link3dsConnectToHost but redirecting both stdout/stderr.
 
+static int link3dsStdioForDebug (void)
 Same as link3dsConnectToHost but redirecting only stderr.
 
+ + + + +

+Variables

+struct in_addr __3dslink_host
 Address of the host connected through 3dslink.
 
+

Detailed Description

+

Netloader (3dslink) utilities.

+

Function Documentation

+ +

◆ link3dsConnectToHost()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int link3dsConnectToHost (bool redirStdout,
bool redirStderr 
)
+
+ +

Connects to the 3dslink host, setting up an output stream.

+
Parameters
+ + + +
[in]redirStdoutWhether to redirect stdout to nxlink output.
[in]redirStderrWhether to redirect stderr to nxlink output.
+
+
+
Returns
Socket fd on success, negative number on failure.
+
Note
The socket should be closed with close() during application cleanup.
+ +
+
+
+ + + + diff --git a/3dslink_8h_source.html b/3dslink_8h_source.html new file mode 100644 index 000000000..7eab1eb96 --- /dev/null +++ b/3dslink_8h_source.html @@ -0,0 +1,118 @@ + + + + + + + +libctru: include/3ds/3dslink.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
3dslink.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file 3dslink.h
+
3  * @brief Netloader (3dslink) utilities
+
4  */
+
5 
+
6 #pragma once
+
7 
+
8 #include <stdbool.h>
+
9 
+
10 struct in_addr;
+
11 
+
12 /// Address of the host connected through 3dslink
+
13 extern struct in_addr __3dslink_host;
+
14 
+
15 #define LINK3DS_COMM_PORT 17491 ///< 3dslink TCP server port
+
16 
+
17 /**
+
18  * @brief Connects to the 3dslink host, setting up an output stream.
+
19  * @param[in] redirStdout Whether to redirect stdout to nxlink output.
+
20  * @param[in] redirStderr Whether to redirect stderr to nxlink output.
+
21  * @return Socket fd on success, negative number on failure.
+
22  * @note The socket should be closed with close() during application cleanup.
+
23  */
+
24 int link3dsConnectToHost(bool redirStdout, bool redirStderr);
+
25 
+
26 /// Same as \ref link3dsConnectToHost but redirecting both stdout/stderr.
+
27 static inline int link3dsStdio(void) {
+
28  return link3dsConnectToHost(true, true);
+
29 }
+
30 
+
31 /// Same as \ref link3dsConnectToHost but redirecting only stderr.
+
32 static inline int link3dsStdioForDebug(void) {
+
33  return link3dsConnectToHost(false, true);
+
34 }
+ + + + +
Definition: in.h:30
+
+ + + + diff --git a/CNAME b/CNAME new file mode 100644 index 000000000..ac69b21f4 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +libctru.devkitpro.org diff --git a/ac_8h.html b/ac_8h.html new file mode 100644 index 000000000..a1de0c564 --- /dev/null +++ b/ac_8h.html @@ -0,0 +1,730 @@ + + + + + + + +libctru: include/3ds/services/ac.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
ac.h File Reference
+
+
+ +

AC service. +More...

+ +

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  acuConfig
 Struct to contain the data for connecting to a Wifi network from a stored slot. More...
 
+ + + + +

+Enumerations

enum  acSecurityMode {
+  AC_OPEN = 0 +,
+  AC_WEP_40BIT = 1 +,
+  AC_WEP_104BIT = 2 +,
+  AC_WEP_128BIT = 3 +,
+  AC_WPA_TKIP = 4 +,
+  AC_WPA2_TKIP = 5 +,
+  AC_WPA_AES = 6 +,
+  AC_WPA2_AES = 7 +
+ }
 Wifi security modes. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+Result acInit (void)
 Initializes AC.
 
+void acExit (void)
 Exits AC.
 
+HandleacGetSessionHandle (void)
 Gets the current AC session handle.
 
+Result acWaitInternetConnection (void)
 Waits for the system to connect to the internet.
 
Result ACU_GetWifiStatus (u32 *out)
 Gets the connected Wifi status. More...
 
Result ACU_GetStatus (u32 *out)
 Gets the connected Wifi status. More...
 
Result ACU_GetSecurityMode (acSecurityMode *mode)
 Gets the connected Wifi security mode. More...
 
Result ACU_GetSSID (char *SSID)
 Gets the connected Wifi SSID. More...
 
Result ACU_GetSSIDLength (u32 *out)
 Gets the connected Wifi SSID length. More...
 
Result ACU_GetProxyEnable (bool *enable)
 Determines whether proxy is enabled for the connected network. More...
 
Result ACU_GetProxyPort (u32 *out)
 Gets the connected network's proxy port. More...
 
Result ACU_GetProxyUserName (char *username)
 Gets the connected network's proxy username. More...
 
Result ACU_GetProxyPassword (char *password)
 Gets the connected network's proxy password. More...
 
Result ACU_GetLastErrorCode (u32 *errorCode)
 Gets the last error to occur during a connection. More...
 
Result ACU_GetLastDetailErrorCode (u32 *errorCode)
 Gets the last detailed error to occur during a connection. More...
 
Result ACU_CreateDefaultConfig (acuConfig *config)
 Prepares a buffer to hold the configuration data to start a connection. More...
 
Result ACU_SetNetworkArea (acuConfig *config, u8 area)
 Sets something that makes the connection reliable. More...
 
Result ACU_SetAllowApType (acuConfig *config, u8 type)
 Sets the slot to use when connecting. More...
 
Result ACU_SetRequestEulaVersion (acuConfig *config)
 Sets something that makes the connection reliable. More...
 
Result ACU_ConnectAsync (const acuConfig *config, Handle connectionHandle)
 Starts the connection procedure. More...
 
Result ACI_LoadNetworkSetting (u32 slot)
 Selects the WiFi configuration slot for further ac:i operations. More...
 
Result ACI_GetNetworkWirelessEssidSecuritySsid (void *ssid)
 Fetches the SSID of the previously selected WiFi configuration slot. More...
 
+

Detailed Description

+

AC service.

+

Enumeration Type Documentation

+ +

◆ acSecurityMode

+ +
+
+ + + + +
enum acSecurityMode
+
+ +

Wifi security modes.

+ + + + + + + + + +
Enumerator
AC_OPEN 

Open authentication.

+
AC_WEP_40BIT 

WEP 40-bit authentication.

+
AC_WEP_104BIT 

WEP 104-bit authentication.

+
AC_WEP_128BIT 

WEP 128-bit authentication.

+
AC_WPA_TKIP 

WPA TKIP authentication.

+
AC_WPA2_TKIP 

WPA2 TKIP authentication.

+
AC_WPA_AES 

WPA AES authentication.

+
AC_WPA2_AES 

WPA2 AES authentication.

+
+ +
+
+

Function Documentation

+ +

◆ ACI_GetNetworkWirelessEssidSecuritySsid()

+ +
+
+ + + + + + + + +
Result ACI_GetNetworkWirelessEssidSecuritySsid (void * ssid)
+
+ +

Fetches the SSID of the previously selected WiFi configuration slot.

+
Parameters
+ + +
[out]ssidPointer to the output buffer of size 32B the SSID will be stored in.
+
+
+ +
+
+ +

◆ ACI_LoadNetworkSetting()

+ +
+
+ + + + + + + + +
Result ACI_LoadNetworkSetting (u32 slot)
+
+ +

Selects the WiFi configuration slot for further ac:i operations.

+
Parameters
+ + +
slotWiFi slot (0, 1 or 2).
+
+
+ +
+
+ +

◆ ACU_ConnectAsync()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result ACU_ConnectAsync (const acuConfigconfig,
Handle connectionHandle 
)
+
+ +

Starts the connection procedure.

+
Parameters
+ + + +
configPointer to an acuConfig struct used with ACU_CreateDefaultConfig previously.
connectionHandleHandle created with svcCreateEvent to wait on until the connection succeeds or fails.
+
+
+ +
+
+ +

◆ ACU_CreateDefaultConfig()

+ +
+
+ + + + + + + + +
Result ACU_CreateDefaultConfig (acuConfigconfig)
+
+ +

Prepares a buffer to hold the configuration data to start a connection.

+
Parameters
+ + +
configPointer to an acuConfig struct to contain the data.
+
+
+ +
+
+ +

◆ ACU_GetLastDetailErrorCode()

+ +
+
+ + + + + + + + +
Result ACU_GetLastDetailErrorCode (u32errorCode)
+
+ +

Gets the last detailed error to occur during a connection.

+
Parameters
+ + +
errorCodePointer to output the error code to.
+
+
+ +
+
+ +

◆ ACU_GetLastErrorCode()

+ +
+
+ + + + + + + + +
Result ACU_GetLastErrorCode (u32errorCode)
+
+ +

Gets the last error to occur during a connection.

+
Parameters
+ + +
errorCodePointer to output the error code to.
+
+
+ +
+
+ +

◆ ACU_GetProxyEnable()

+ +
+
+ + + + + + + + +
Result ACU_GetProxyEnable (bool * enable)
+
+ +

Determines whether proxy is enabled for the connected network.

+
Parameters
+ + +
enablePointer to output the proxy status to.
+
+
+ +
+
+ +

◆ ACU_GetProxyPassword()

+ +
+
+ + + + + + + + +
Result ACU_GetProxyPassword (char * password)
+
+ +

Gets the connected network's proxy password.

+
Parameters
+ + +
passwordPointer to output the proxy password to. (The size must be at least 0x20-bytes)
+
+
+ +
+
+ +

◆ ACU_GetProxyPort()

+ +
+
+ + + + + + + + +
Result ACU_GetProxyPort (u32out)
+
+ +

Gets the connected network's proxy port.

+
Parameters
+ + +
outPointer to output the proxy port to.
+
+
+ +
+
+ +

◆ ACU_GetProxyUserName()

+ +
+
+ + + + + + + + +
Result ACU_GetProxyUserName (char * username)
+
+ +

Gets the connected network's proxy username.

+
Parameters
+ + +
usernamePointer to output the proxy username to. (The size must be at least 0x20-bytes)
+
+
+ +
+
+ +

◆ ACU_GetSecurityMode()

+ +
+
+ + + + + + + + +
Result ACU_GetSecurityMode (acSecurityModemode)
+
+ +

Gets the connected Wifi security mode.

+
Parameters
+ + +
modePointer to output the connected Wifi security mode to. (0 = Open Authentication, 1 = WEP 40-bit, 2 = WEP 104-bit, 3 = WEP 128-bit, 4 = WPA TKIP, 5 = WPA2 TKIP, 6 = WPA AES, 7 = WPA2 AES)
+
+
+ +
+
+ +

◆ ACU_GetSSID()

+ +
+
+ + + + + + + + +
Result ACU_GetSSID (char * SSID)
+
+ +

Gets the connected Wifi SSID.

+
Parameters
+ + +
SSIDPointer to output the connected Wifi SSID to.
+
+
+ +
+
+ +

◆ ACU_GetSSIDLength()

+ +
+
+ + + + + + + + +
Result ACU_GetSSIDLength (u32out)
+
+ +

Gets the connected Wifi SSID length.

+
Parameters
+ + +
outPointer to output the connected Wifi SSID length to.
+
+
+ +
+
+ +

◆ ACU_GetStatus()

+ +
+
+ + + + + + + + +
Result ACU_GetStatus (u32out)
+
+ +

Gets the connected Wifi status.

+
Parameters
+ + +
outPointer to output the connected Wifi status to. (1 = not connected, 3 = connected)
+
+
+ +
+
+ +

◆ ACU_GetWifiStatus()

+ +
+
+ + + + + + + + +
Result ACU_GetWifiStatus (u32out)
+
+ +

Gets the connected Wifi status.

+
Parameters
+ + +
outPointer to output the connected Wifi status to. (0 = not connected, 1 = O3DS Internet, 2 = N3DS Internet)
+
+
+ +
+
+ +

◆ ACU_SetAllowApType()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result ACU_SetAllowApType (acuConfigconfig,
u8 type 
)
+
+ +

Sets the slot to use when connecting.

+
Parameters
+ + + +
configPointer to an acuConfig struct used with ACU_CreateDefaultConfig previously.
typeAllowed slots flag. BIT(0) for slot 1, BIT(1) for slot 2, BIT(2) for slot 3.
+
+
+ +
+
+ +

◆ ACU_SetNetworkArea()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result ACU_SetNetworkArea (acuConfigconfig,
u8 area 
)
+
+ +

Sets something that makes the connection reliable.

+
Parameters
+ + + +
configPointer to an acuConfig struct used with ACU_CreateDefaultConfig previously.
areaAlways 2 ?
+
+
+ +
+
+ +

◆ ACU_SetRequestEulaVersion()

+ +
+
+ + + + + + + + +
Result ACU_SetRequestEulaVersion (acuConfigconfig)
+
+ +

Sets something that makes the connection reliable.

+
Parameters
+ + +
configPointer to an acuConfig struct used with ACU_CreateDefaultConfig previously.
+
+
+ +
+
+
+ + + + diff --git a/ac_8h_source.html b/ac_8h_source.html new file mode 100644 index 000000000..01bd89744 --- /dev/null +++ b/ac_8h_source.html @@ -0,0 +1,261 @@ + + + + + + + +libctru: include/3ds/services/ac.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ac.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file ac.h
+
3  * @brief AC service.
+
4  */
+
5 #pragma once
+
6 
+
7 /// Wifi security modes.
+
8 typedef enum {
+
9  AC_OPEN = 0, ///< Open authentication.
+
10  AC_WEP_40BIT = 1, ///< WEP 40-bit authentication.
+
11  AC_WEP_104BIT = 2, ///< WEP 104-bit authentication.
+
12  AC_WEP_128BIT = 3, ///< WEP 128-bit authentication.
+
13  AC_WPA_TKIP = 4, ///< WPA TKIP authentication.
+
14  AC_WPA2_TKIP = 5, ///< WPA2 TKIP authentication.
+
15  AC_WPA_AES = 6, ///< WPA AES authentication.
+
16  AC_WPA2_AES = 7, ///< WPA2 AES authentication.
+ +
18 
+
19 /// Struct to contain the data for connecting to a Wifi network from a stored slot.
+
20 typedef struct {
+
21  u8 reserved[0x200];
+
22 } acuConfig;
+
23 
+
24 /// Initializes AC.
+
25 Result acInit(void);
+
26 
+
27 /// Exits AC.
+
28 void acExit(void);
+
29 
+
30 /// Gets the current AC session handle.
+ +
32 
+
33 /// Waits for the system to connect to the internet.
+ +
35 
+
36 /**
+
37  * @brief Gets the connected Wifi status.
+
38  * @param out Pointer to output the connected Wifi status to. (0 = not connected, 1 = O3DS Internet, 2 = N3DS Internet)
+
39  */
+ +
41 
+
42 /**
+
43  * @brief Gets the connected Wifi status.
+
44  * @param out Pointer to output the connected Wifi status to. (1 = not connected, 3 = connected)
+
45  */
+ +
47 
+
48 /**
+
49  * @brief Gets the connected Wifi security mode.
+
50  * @param mode Pointer to output the connected Wifi security mode to. (0 = Open Authentication, 1 = WEP 40-bit, 2 = WEP 104-bit, 3 = WEP 128-bit, 4 = WPA TKIP, 5 = WPA2 TKIP, 6 = WPA AES, 7 = WPA2 AES)
+
51  */
+ +
53 
+
54 /**
+
55  * @brief Gets the connected Wifi SSID.
+
56  * @param SSID Pointer to output the connected Wifi SSID to.
+
57  */
+
58 Result ACU_GetSSID(char *SSID);
+
59 
+
60 /**
+
61  * @brief Gets the connected Wifi SSID length.
+
62  * @param out Pointer to output the connected Wifi SSID length to.
+
63  */
+ +
65 
+
66 /**
+
67  * @brief Determines whether proxy is enabled for the connected network.
+
68  * @param enable Pointer to output the proxy status to.
+
69  */
+
70 Result ACU_GetProxyEnable(bool *enable);
+
71 
+
72 /**
+
73  * @brief Gets the connected network's proxy port.
+
74  * @param out Pointer to output the proxy port to.
+
75  */
+ +
77 
+
78 /**
+
79  * @brief Gets the connected network's proxy username.
+
80  * @param username Pointer to output the proxy username to. (The size must be at least 0x20-bytes)
+
81  */
+
82 Result ACU_GetProxyUserName(char *username);
+
83 
+
84 /**
+
85  * @brief Gets the connected network's proxy password.
+
86  * @param password Pointer to output the proxy password to. (The size must be at least 0x20-bytes)
+
87  */
+
88 Result ACU_GetProxyPassword(char *password);
+
89 
+
90 /**
+
91  * @brief Gets the last error to occur during a connection.
+
92  * @param errorCode Pointer to output the error code to.
+
93  */
+ +
95 
+
96 /**
+
97  * @brief Gets the last detailed error to occur during a connection.
+
98  * @param errorCode Pointer to output the error code to.
+
99  */
+ +
101 
+
102 /**
+
103  * @brief Prepares a buffer to hold the configuration data to start a connection.
+
104  * @param config Pointer to an acuConfig struct to contain the data.
+
105  */
+ +
107 
+
108 /**
+
109  * @brief Sets something that makes the connection reliable.
+
110  * @param config Pointer to an acuConfig struct used with ACU_CreateDefaultConfig previously.
+
111  * @param area Always 2 ?
+
112  */
+ +
114 
+
115 /**
+
116  * @brief Sets the slot to use when connecting.
+
117  * @param config Pointer to an acuConfig struct used with ACU_CreateDefaultConfig previously.
+
118  * @param type Allowed slots flag. BIT(0) for slot 1, BIT(1) for slot 2, BIT(2) for slot 3.
+
119  */
+ +
121 
+
122 /**
+
123  * @brief Sets something that makes the connection reliable.
+
124  * @param config Pointer to an acuConfig struct used with ACU_CreateDefaultConfig previously.
+
125  */
+ +
127 
+
128 /**
+
129  * @brief Starts the connection procedure.
+
130  * @param config Pointer to an acuConfig struct used with ACU_CreateDefaultConfig previously.
+
131  * @param connectionHandle Handle created with svcCreateEvent to wait on until the connection succeeds or fails.
+
132  */
+
133 Result ACU_ConnectAsync(const acuConfig* config, Handle connectionHandle);
+
134 
+
135 /**
+
136  * @brief Selects the WiFi configuration slot for further ac:i operations.
+
137  * @param slot WiFi slot (0, 1 or 2).
+
138  */
+ +
140 
+
141 /**
+
142  * @brief Fetches the SSID of the previously selected WiFi configuration slot.
+
143  * @param[out] ssid Pointer to the output buffer of size 32B the SSID will be stored in.
+
144  */
+ +
Result ACU_GetSSID(char *SSID)
Gets the connected Wifi SSID.
+
Result ACU_GetSSIDLength(u32 *out)
Gets the connected Wifi SSID length.
+
Handle * acGetSessionHandle(void)
Gets the current AC session handle.
+
Result ACU_ConnectAsync(const acuConfig *config, Handle connectionHandle)
Starts the connection procedure.
+
Result ACU_GetProxyUserName(char *username)
Gets the connected network's proxy username.
+
Result ACU_SetRequestEulaVersion(acuConfig *config)
Sets something that makes the connection reliable.
+
Result ACU_GetSecurityMode(acSecurityMode *mode)
Gets the connected Wifi security mode.
+
Result ACU_GetWifiStatus(u32 *out)
Gets the connected Wifi status.
+
Result ACU_GetProxyEnable(bool *enable)
Determines whether proxy is enabled for the connected network.
+
Result acWaitInternetConnection(void)
Waits for the system to connect to the internet.
+
Result ACU_GetLastDetailErrorCode(u32 *errorCode)
Gets the last detailed error to occur during a connection.
+
Result ACU_GetProxyPassword(char *password)
Gets the connected network's proxy password.
+
Result ACI_LoadNetworkSetting(u32 slot)
Selects the WiFi configuration slot for further ac:i operations.
+
acSecurityMode
Wifi security modes.
Definition: ac.h:8
+
@ AC_WPA_TKIP
WPA TKIP authentication.
Definition: ac.h:13
+
@ AC_WPA2_AES
WPA2 AES authentication.
Definition: ac.h:16
+
@ AC_WPA_AES
WPA AES authentication.
Definition: ac.h:15
+
@ AC_WEP_128BIT
WEP 128-bit authentication.
Definition: ac.h:12
+
@ AC_WPA2_TKIP
WPA2 TKIP authentication.
Definition: ac.h:14
+
@ AC_OPEN
Open authentication.
Definition: ac.h:9
+
@ AC_WEP_104BIT
WEP 104-bit authentication.
Definition: ac.h:11
+
@ AC_WEP_40BIT
WEP 40-bit authentication.
Definition: ac.h:10
+
Result ACU_GetProxyPort(u32 *out)
Gets the connected network's proxy port.
+
Result ACU_CreateDefaultConfig(acuConfig *config)
Prepares a buffer to hold the configuration data to start a connection.
+
Result ACU_GetStatus(u32 *out)
Gets the connected Wifi status.
+
void acExit(void)
Exits AC.
+
Result ACU_SetNetworkArea(acuConfig *config, u8 area)
Sets something that makes the connection reliable.
+
Result ACI_GetNetworkWirelessEssidSecuritySsid(void *ssid)
Fetches the SSID of the previously selected WiFi configuration slot.
+
Result ACU_SetAllowApType(acuConfig *config, u8 type)
Sets the slot to use when connecting.
+
Result ACU_GetLastErrorCode(u32 *errorCode)
Gets the last error to occur during a connection.
+
Result acInit(void)
Initializes AC.
+
void errorCode(errorConf *err, int error)
Sets error code to display.
+
Struct to contain the data for connecting to a Wifi network from a stored slot.
Definition: ac.h:20
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/am_8h.html b/am_8h.html new file mode 100644 index 000000000..37335c124 --- /dev/null +++ b/am_8h.html @@ -0,0 +1,2697 @@ + + + + + + + +libctru: include/3ds/services/am.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
am.h File Reference
+
+
+ +

AM (Application Manager) service. +More...

+
#include <3ds/services/fs.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + +

+Data Structures

struct  AM_TitleEntry
 Contains basic information about a title. More...
 
struct  AM_PendingTitleEntry
 
struct  AM_TWLPartitionInfo
 Information about the TWL NAND partition. More...
 
struct  AM_ContentInfo
 Contains information about a title's content. More...
 
+ + + + + + + + + + + + + +

+Enumerations

enum  {
+  AM_STATUS_MASK_INSTALLING = BIT(0) +,
+  AM_STATUS_MASK_AWAITING_FINALIZATION = BIT(1) +
+ }
 Pending title status mask values. More...
 
enum  AM_InstallStatus {
+  AM_STATUS_ABORTED = 0x0002 +,
+  AM_STATUS_SAVED = 0x0003 +,
+  AM_STATUS_INSTALL_IN_PROGRESS = 0x0802 +,
+  AM_STATUS_AWAITING_FINALIZATION = 0x0803 +
+ }
 Pending title status values. More...
 
enum  {
+  AM_DELETE_PENDING_NON_SYSTEM = BIT(0) +,
+  AM_DELETE_PENDING_SYSTEM = BIT(1) +
+ }
 Pending title deletion flags. More...
 
enum  AM_ContentInfoFlags {
+  AM_CONTENT_DOWNLOADED = BIT(0) +,
+  AM_CONTENT_OWNED = BIT(1) +
+ }
 Title ContentInfo flags. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+Result amInit (void)
 Initializes AM. This doesn't initialize with "am:app", see amAppInit().
 
+Result amAppInit (void)
 Initializes AM with a service which has access to the amapp-commands. This should only be used when using the amapp commands, not non-amapp AM commands.
 
+void amExit (void)
 Exits AM.
 
+HandleamGetSessionHandle (void)
 Gets the current AM session handle.
 
Result AM_GetTitleCount (FS_MediaType mediatype, u32 *count)
 Gets the number of titles for a given media type. More...
 
Result AM_GetTitleList (u32 *titlesRead, FS_MediaType mediatype, u32 titleCount, u64 *titleIds)
 Gets a list of title IDs present in a mediatype. More...
 
Result AM_GetTitleInfo (FS_MediaType mediatype, u32 titleCount, u64 *titleIds, AM_TitleEntry *titleInfo)
 Gets a list of details about installed titles. More...
 
Result AM_GetTicketCount (u32 *count)
 Gets the number of tickets installed on the system. More...
 
Result AM_GetTicketList (u32 *ticketsRead, u32 ticketCount, u32 skip, u64 *ticketIds)
 Gets a list of tickets installed on the system. More...
 
Result AM_GetPendingTitleCount (u32 *count, FS_MediaType mediatype, u32 statusMask)
 Gets the number of pending titles on this system. More...
 
Result AM_GetPendingTitleList (u32 *titlesRead, u32 titleCount, FS_MediaType mediatype, u32 statusMask, u64 *titleIds)
 Gets a list of pending titles on this system. More...
 
Result AM_GetPendingTitleInfo (u32 titleCount, FS_MediaType mediatype, u64 *titleIds, AM_PendingTitleEntry *titleInfo)
 Gets information about pending titles on this system. More...
 
Result AM_GetDeviceId (u32 *deviceID)
 Gets a 32-bit device-specific ID. More...
 
Result AM_ExportTwlBackup (u64 titleID, u8 operation, void *workbuf, u32 workbuf_size, const char *filepath)
 Exports DSiWare to the specified filepath. More...
 
Result AM_ImportTwlBackup (Handle filehandle, u8 operation, void *buffer, u32 size)
 Imports DSiWare from the specified file. More...
 
Result AM_ReadTwlBackupInfo (Handle filehandle, void *outinfo, u32 outinfo_size, void *workbuf, u32 workbuf_size, void *banner, u32 banner_size)
 Reads info from the specified DSiWare export file. More...
 
Result AM_GetTWLPartitionInfo (AM_TWLPartitionInfo *info)
 Retrieves information about the NAND TWL partition. More...
 
Result AM_StartCiaInstall (FS_MediaType mediatype, Handle *ciaHandle)
 Initializes the CIA install process, returning a handle to write CIA data to. More...
 
Result AM_StartDlpChildCiaInstall (Handle *ciaHandle)
 Initializes the CIA install process for Download Play CIAs, returning a handle to write CIA data to. More...
 
Result AM_CancelCIAInstall (Handle ciaHandle)
 Aborts the CIA install process. More...
 
Result AM_FinishCiaInstall (Handle ciaHandle)
 Finalizes the CIA install process. More...
 
Result AM_FinishCiaInstallWithoutCommit (Handle ciaHandle)
 Finalizes the CIA install process without committing the title to title.db or tmp*.db. More...
 
Result AM_CommitImportPrograms (FS_MediaType mediaType, u32 titleCount, bool temp, const u64 *titleIds)
 Commits installed CIAs. More...
 
Result AM_DeleteTitle (FS_MediaType mediatype, u64 titleID)
 Deletes a title. More...
 
Result AM_DeleteAppTitle (FS_MediaType mediatype, u64 titleID)
 Deletes a title, provided that it is not a system title. More...
 
Result AM_DeleteTicket (u64 ticketId)
 Deletes a ticket. More...
 
Result AM_DeletePendingTitle (FS_MediaType mediatype, u64 titleId)
 Deletes a pending title. More...
 
Result AM_DeletePendingTitles (FS_MediaType mediatype, u32 flags)
 Deletes pending titles. More...
 
Result AM_DeleteAllPendingTitles (FS_MediaType mediatype)
 Deletes all pending titles. More...
 
+Result AM_InstallNativeFirm (void)
 Installs the current NATIVE_FIRM title to NAND (firm0:/ & firm1:/)
 
Result AM_InstallFirm (u64 titleID)
 Installs a NATIVE_FIRM title to NAND. More...
 
Result AM_GetTitleProductCode (FS_MediaType mediatype, u64 titleId, char *productCode)
 Gets the product code of a title. More...
 
Result AM_GetTitleExtDataId (u64 *extDataId, FS_MediaType mediatype, u64 titleId)
 Gets the ext data ID of a title. More...
 
Result AM_GetCiaFileInfo (FS_MediaType mediatype, AM_TitleEntry *titleEntry, Handle fileHandle)
 Gets an AM_TitleEntry instance for a CIA file. More...
 
Result AM_GetCiaIcon (void *icon, Handle fileHandle)
 Gets the SMDH icon data of a CIA file. More...
 
Result AM_GetCiaDependencies (u64 *dependencies, Handle fileHandle)
 Gets the title ID dependency list of a CIA file. More...
 
Result AM_GetCiaMetaOffset (u64 *metaOffset, Handle fileHandle)
 Gets the meta section offset of a CIA file. More...
 
Result AM_GetCiaCoreVersion (u32 *coreVersion, Handle fileHandle)
 Gets the core version of a CIA file. More...
 
Result AM_GetCiaRequiredSpace (u64 *requiredSpace, FS_MediaType mediaType, Handle fileHandle)
 Gets the free space, in bytes, required to install a CIA file. More...
 
Result AM_GetCiaMetaSection (void *meta, u32 size, Handle fileHandle)
 Gets the full meta section of a CIA file. More...
 
Result AM_InitializeExternalTitleDatabase (bool overwrite)
 Initializes the external (SD) title database. More...
 
Result AM_QueryAvailableExternalTitleDatabase (bool *available)
 Queries whether the external title database is available. More...
 
Result AM_InstallTicketBegin (Handle *ticketHandle)
 Begins installing a ticket. More...
 
Result AM_InstallTicketAbort (Handle ticketHandle)
 Aborts installing a ticket. More...
 
Result AM_InstallTicketFinish (Handle ticketHandle)
 Finishes installing a ticket. More...
 
Result AM_InstallTitleBegin (FS_MediaType mediaType, u64 titleId, bool unk)
 Begins installing a title. More...
 
+Result AM_InstallTitleStop (void)
 Stops installing a title, generally to be resumed later.
 
Result AM_InstallTitleResume (FS_MediaType mediaType, u64 titleId)
 Resumes installing a title. More...
 
+Result AM_InstallTitleAbort (void)
 Aborts installing a title.
 
+Result AM_InstallTitleFinish (void)
 Finishes installing a title.
 
Result AM_CommitImportTitles (FS_MediaType mediaType, u32 titleCount, bool temp, const u64 *titleIds)
 Commits installed titles. More...
 
Result AM_InstallTmdBegin (Handle *tmdHandle)
 Begins installing a TMD. More...
 
Result AM_InstallTmdAbort (Handle tmdHandle)
 Aborts installing a TMD. More...
 
Result AM_InstallTmdFinish (Handle tmdHandle, bool unk)
 Finishes installing a TMD. More...
 
Result AM_CreateImportContentContexts (u32 contentCount, u16 *contentIndices)
 Prepares to import title contents. More...
 
Result AM_InstallContentBegin (Handle *contentHandle, u16 index)
 Begins installing title content. More...
 
Result AM_InstallContentStop (Handle contentHandle)
 Stops installing title content, generally to be resumed later. More...
 
Result AM_InstallContentResume (Handle *contentHandle, u64 *resumeOffset, u16 index)
 Resumes installing title content. More...
 
Result AM_InstallContentCancel (Handle contentHandle)
 Cancels installing title content. More...
 
Result AM_InstallContentFinish (Handle contentHandle)
 Finishes installing title content. More...
 
Result AM_ImportCertificates (u32 cert1Size, void *cert1, u32 cert2Size, void *cert2, u32 cert3Size, void *cert3, u32 cert4Size, void *cert4)
 Imports up to four certificates into the ticket certificate chain. More...
 
Result AM_ImportCertificate (u32 certSize, void *cert)
 Imports a certificate into the ticket certificate chain. More...
 
Result AM_CommitImportTitlesAndUpdateFirmwareAuto (FS_MediaType mediaType, u32 titleCount, bool temp, u64 *titleIds)
 Commits installed titles, and updates FIRM if necessary. More...
 
+Result AM_DeleteAllDemoLaunchInfos (void)
 Resets play count of all installed demos by deleting their launch info.
 
+Result AM_DeleteAllTemporaryTitles (void)
 Deletes temporary titles.
 
Result AM_DeleteAllExpiredTitles (FS_MediaType mediatype)
 Deletes all expired titles. More...
 
+Result AM_DeleteAllTwlTitles (void)
 Deletes all TWL titles.
 
Result AMAPP_GetDLCContentInfoCount (u32 *count, FS_MediaType mediatype, u64 titleID)
 Gets the number of content index installed under the specified DLC title. More...
 
Result AMAPP_ListDLCContentInfos (u32 *contentInfoRead, FS_MediaType mediatype, u64 titleID, u32 contentInfoCount, u32 offset, AM_ContentInfo *contentInfos)
 Gets content infos installed under the specified DLC title. More...
 
+

Detailed Description

+

AM (Application Manager) service.

+

Enumeration Type Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

Pending title status mask values.

+ + + +
Enumerator
AM_STATUS_MASK_INSTALLING 

Titles currently installing.

+
AM_STATUS_MASK_AWAITING_FINALIZATION 

Titles awaiting finalization.

+
+ +
+
+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

Pending title deletion flags.

+ + + +
Enumerator
AM_DELETE_PENDING_NON_SYSTEM 

Non-system titles.

+
AM_DELETE_PENDING_SYSTEM 

System titles.

+
+ +
+
+ +

◆ AM_ContentInfoFlags

+ +
+
+ + + + +
enum AM_ContentInfoFlags
+
+ +

Title ContentInfo flags.

+ + + +
Enumerator
AM_CONTENT_DOWNLOADED 

?

+
AM_CONTENT_OWNED 

?

+
+ +
+
+ +

◆ AM_InstallStatus

+ +
+
+ + + + +
enum AM_InstallStatus
+
+ +

Pending title status values.

+ + + + + +
Enumerator
AM_STATUS_ABORTED 

Install aborted.

+
AM_STATUS_SAVED 

Title saved, but not installed.

+
AM_STATUS_INSTALL_IN_PROGRESS 

Install in progress.

+
AM_STATUS_AWAITING_FINALIZATION 

Awaiting finalization.

+
+ +
+
+

Function Documentation

+ +

◆ AM_CancelCIAInstall()

+ +
+
+ + + + + + + + +
Result AM_CancelCIAInstall (Handle ciaHandle)
+
+ +

Aborts the CIA install process.

+
Parameters
+ + +
ciaHandleCIA handle to cancel.
+
+
+ +
+
+ +

◆ AM_CommitImportPrograms()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_CommitImportPrograms (FS_MediaType mediaType,
u32 titleCount,
bool temp,
const u64titleIds 
)
+
+ +

Commits installed CIAs.

+
Parameters
+ + + + + +
mediaTypeLocation of the titles to finalize.
titleCountNumber of titles to finalize.
tempWhether the titles being finalized are in the temporary database.
titleIdsTitle IDs to finalize.
+
+
+ +
+
+ +

◆ AM_CommitImportTitles()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_CommitImportTitles (FS_MediaType mediaType,
u32 titleCount,
bool temp,
const u64titleIds 
)
+
+ +

Commits installed titles.

+
Parameters
+ + + + + +
mediaTypeLocation of the titles to finalize.
titleCountNumber of titles to finalize.
tempWhether the titles being finalized are in the temporary database.
titleIdsTitle IDs to finalize.
+
+
+ +
+
+ +

◆ AM_CommitImportTitlesAndUpdateFirmwareAuto()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_CommitImportTitlesAndUpdateFirmwareAuto (FS_MediaType mediaType,
u32 titleCount,
bool temp,
u64titleIds 
)
+
+ +

Commits installed titles, and updates FIRM if necessary.

+
Parameters
+ + + + + +
mediaTypeLocation of the titles to finalize.
titleCountNumber of titles to finalize.
tempWhether the titles being finalized are in the temporary database.
titleIdsTitle IDs to finalize.
+
+
+ +
+
+ +

◆ AM_CreateImportContentContexts()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result AM_CreateImportContentContexts (u32 contentCount,
u16contentIndices 
)
+
+ +

Prepares to import title contents.

+
Parameters
+ + + +
contentCountNumber of contents to be imported.
contentIndicesIndices of the contents to be imported.
+
+
+ +
+
+ +

◆ AM_DeleteAllExpiredTitles()

+ +
+
+ + + + + + + + +
Result AM_DeleteAllExpiredTitles (FS_MediaType mediatype)
+
+ +

Deletes all expired titles.

+
Parameters
+ + +
mediatypeMedia type to delete from.
+
+
+ +
+
+ +

◆ AM_DeleteAllPendingTitles()

+ +
+
+ + + + + + + + +
Result AM_DeleteAllPendingTitles (FS_MediaType mediatype)
+
+ +

Deletes all pending titles.

+
Parameters
+ + +
mediatypeMedia type to delete from.
+
+
+ +
+
+ +

◆ AM_DeleteAppTitle()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result AM_DeleteAppTitle (FS_MediaType mediatype,
u64 titleID 
)
+
+ +

Deletes a title, provided that it is not a system title.

+
Parameters
+ + + +
mediatypeMedia type to delete from.
titleIDID of the title to delete.
+
+
+ +
+
+ +

◆ AM_DeletePendingTitle()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result AM_DeletePendingTitle (FS_MediaType mediatype,
u64 titleId 
)
+
+ +

Deletes a pending title.

+
Parameters
+ + + +
mediatypeMedia type to delete from.
titleIdID of the pending title to delete.
+
+
+ +
+
+ +

◆ AM_DeletePendingTitles()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result AM_DeletePendingTitles (FS_MediaType mediatype,
u32 flags 
)
+
+ +

Deletes pending titles.

+
Parameters
+ + + +
mediatypeMedia type to delete from.
flagsFlags used to select pending titles.
+
+
+ +
+
+ +

◆ AM_DeleteTicket()

+ +
+
+ + + + + + + + +
Result AM_DeleteTicket (u64 ticketId)
+
+ +

Deletes a ticket.

+
Parameters
+ + +
titleIDID of the ticket to delete.
+
+
+ +
+
+ +

◆ AM_DeleteTitle()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result AM_DeleteTitle (FS_MediaType mediatype,
u64 titleID 
)
+
+ +

Deletes a title.

+
Parameters
+ + + +
mediatypeMedia type to delete from.
titleIDID of the title to delete.
+
+
+ +
+
+ +

◆ AM_ExportTwlBackup()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_ExportTwlBackup (u64 titleID,
u8 operation,
void * workbuf,
u32 workbuf_size,
const char * filepath 
)
+
+ +

Exports DSiWare to the specified filepath.

+
Parameters
+ + + + + + +
titleIDTWL titleID.
operationDSiWare operation type.
workbufWork buffer.
workbuf_sizeWork buffer size, must be >=0x20000.
filepathUTF-8 filepath(converted to UTF-16 internally).
+
+
+ +
+
+ +

◆ AM_FinishCiaInstall()

+ +
+
+ + + + + + + + +
Result AM_FinishCiaInstall (Handle ciaHandle)
+
+ +

Finalizes the CIA install process.

+
Parameters
+ + +
ciaHandleCIA handle to finalize.
+
+
+ +
+
+ +

◆ AM_FinishCiaInstallWithoutCommit()

+ +
+
+ + + + + + + + +
Result AM_FinishCiaInstallWithoutCommit (Handle ciaHandle)
+
+ +

Finalizes the CIA install process without committing the title to title.db or tmp*.db.

+
Parameters
+ + +
ciaHandleCIA handle to finalize.
+
+
+ +
+
+ +

◆ AM_GetCiaCoreVersion()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result AM_GetCiaCoreVersion (u32coreVersion,
Handle fileHandle 
)
+
+ +

Gets the core version of a CIA file.

+
Parameters
+ + + +
[out]coreVersionPointer to output the core version to.
fileHandleHandle of the CIA file.
+
+
+ +
+
+ +

◆ AM_GetCiaDependencies()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result AM_GetCiaDependencies (u64dependencies,
Handle fileHandle 
)
+
+ +

Gets the title ID dependency list of a CIA file.

+
Parameters
+ + + +
dependenciesBuffer to store dependency title IDs in. Must be of size 0x300 bytes.
fileHandleHandle of the CIA file.
+
+
+ +
+
+ +

◆ AM_GetCiaFileInfo()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_GetCiaFileInfo (FS_MediaType mediatype,
AM_TitleEntrytitleEntry,
Handle fileHandle 
)
+
+ +

Gets an AM_TitleEntry instance for a CIA file.

+
Parameters
+ + + + +
mediatypeMedia type that this CIA would be installed to.
[out]titleEntryPointer to write the AM_TitleEntry instance to.
fileHandleHandle of the CIA file.
+
+
+ +
+
+ +

◆ AM_GetCiaIcon()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result AM_GetCiaIcon (void * icon,
Handle fileHandle 
)
+
+ +

Gets the SMDH icon data of a CIA file.

+
Parameters
+ + + +
iconBuffer to store the icon data in. Must be of size 0x36C0 bytes.
fileHandleHandle of the CIA file.
+
+
+ +
+
+ +

◆ AM_GetCiaMetaOffset()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result AM_GetCiaMetaOffset (u64metaOffset,
Handle fileHandle 
)
+
+ +

Gets the meta section offset of a CIA file.

+
Parameters
+ + + +
[out]metaOffsetPointer to output the meta section offset to.
fileHandleHandle of the CIA file.
+
+
+ +
+
+ +

◆ AM_GetCiaMetaSection()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_GetCiaMetaSection (void * meta,
u32 size,
Handle fileHandle 
)
+
+ +

Gets the full meta section of a CIA file.

+
Parameters
+ + + + +
metaBuffer to store the meta section in.
sizeSize of the buffer. Must be greater than or equal to the actual section data's size.
fileHandleHandle of the CIA file.
+
+
+ +
+
+ +

◆ AM_GetCiaRequiredSpace()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_GetCiaRequiredSpace (u64requiredSpace,
FS_MediaType mediaType,
Handle fileHandle 
)
+
+ +

Gets the free space, in bytes, required to install a CIA file.

+
Parameters
+ + + + +
[out]requiredSpacePointer to output the required free space to.
mediaTypeMedia type to check free space needed to install to.
fileHandleHandle of the CIA file.
+
+
+ +
+
+ +

◆ AM_GetDeviceId()

+ +
+
+ + + + + + + + +
Result AM_GetDeviceId (u32deviceID)
+
+ +

Gets a 32-bit device-specific ID.

+
Parameters
+ + +
deviceIDPointer to write the device ID to.
+
+
+ +
+
+ +

◆ AM_GetPendingTitleCount()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_GetPendingTitleCount (u32count,
FS_MediaType mediatype,
u32 statusMask 
)
+
+ +

Gets the number of pending titles on this system.

+
Parameters
+ + + + +
[out]countPointer to output the pending title count to.
mediatypeMedia type of pending titles to count.
statusMaskBit mask of status values to include.
+
+
+ +
+
+ +

◆ AM_GetPendingTitleInfo()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_GetPendingTitleInfo (u32 titleCount,
FS_MediaType mediatype,
u64titleIds,
AM_PendingTitleEntrytitleInfo 
)
+
+ +

Gets information about pending titles on this system.

+
Parameters
+ + + + + +
titleCountNumber of pending titles to read.
mediatypeMedia type of pending titles to get information on.
titleIdsIDs of the titles to get information about.
titleInfoBuffer to output the retrieved pending title info to.
+
+
+ +
+
+ +

◆ AM_GetPendingTitleList()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_GetPendingTitleList (u32titlesRead,
u32 titleCount,
FS_MediaType mediatype,
u32 statusMask,
u64titleIds 
)
+
+ +

Gets a list of pending titles on this system.

+
Parameters
+ + + + + + +
[out]titlesReadPointer to output the number of read pending titles to.
titleCountNumber of pending titles to read.
mediatypeMedia type of pending titles to list.
statusMaskBit mask of status values to include.
titleIdsBuffer to output the retrieved pending title IDs to.
+
+
+ +
+
+ +

◆ AM_GetTicketCount()

+ +
+
+ + + + + + + + +
Result AM_GetTicketCount (u32count)
+
+ +

Gets the number of tickets installed on the system.

+
Parameters
+ + +
[out]countPointer to output the ticket count to.
+
+
+ +
+
+ +

◆ AM_GetTicketList()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_GetTicketList (u32ticketsRead,
u32 ticketCount,
u32 skip,
u64ticketIds 
)
+
+ +

Gets a list of tickets installed on the system.

+
Parameters
+ + + + + +
[out]ticketsReadPointer to output the number of read tickets to.
ticketCountNumber of tickets to read.
skipNumber of tickets to skip.
ticketIdsBuffer to output the retrieved ticket IDs to.
+
+
+ +
+
+ +

◆ AM_GetTitleCount()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result AM_GetTitleCount (FS_MediaType mediatype,
u32count 
)
+
+ +

Gets the number of titles for a given media type.

+
Parameters
+ + + +
mediatypeMedia type to get titles from.
[out]countPointer to write the title count to.
+
+
+ +
+
+ +

◆ AM_GetTitleExtDataId()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_GetTitleExtDataId (u64extDataId,
FS_MediaType mediatype,
u64 titleId 
)
+
+ +

Gets the ext data ID of a title.

+
Parameters
+ + + + +
[out]extDataIdPointer to output the ext data ID to.
mediatypeMedia type of the title.
titleIDID of the title.
+
+
+ +
+
+ +

◆ AM_GetTitleInfo()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_GetTitleInfo (FS_MediaType mediatype,
u32 titleCount,
u64titleIds,
AM_TitleEntrytitleInfo 
)
+
+ +

Gets a list of details about installed titles.

+
Parameters
+ + + + + +
mediatypeMedia type to get titles from.
titleCountNumber of titles to list.
titleIdsList of title IDs to retrieve details for.
titleInfoBuffer to write AM_TitleEntry's to.
+
+
+ +
+
+ +

◆ AM_GetTitleList()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_GetTitleList (u32titlesRead,
FS_MediaType mediatype,
u32 titleCount,
u64titleIds 
)
+
+ +

Gets a list of title IDs present in a mediatype.

+
Parameters
+ + + + + +
[out]titlesReadPointer to output the number of read titles to.
mediatypeMedia type to get titles from.
titleCountNumber of title IDs to get.
titleIdsBuffer to output the retrieved title IDs to.
+
+
+ +
+
+ +

◆ AM_GetTitleProductCode()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_GetTitleProductCode (FS_MediaType mediatype,
u64 titleId,
char * productCode 
)
+
+ +

Gets the product code of a title.

+
Parameters
+ + + + +
mediatypeMedia type of the title.
titleIDID of the title.
[out]productCodePointer to output the product code to. (length = 16)
+
+
+ +
+
+ +

◆ AM_GetTWLPartitionInfo()

+ +
+
+ + + + + + + + +
Result AM_GetTWLPartitionInfo (AM_TWLPartitionInfoinfo)
+
+ +

Retrieves information about the NAND TWL partition.

+
Parameters
+ + +
[out]infoPointer to output the TWL partition info to.
+
+
+ +
+
+ +

◆ AM_ImportCertificate()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result AM_ImportCertificate (u32 certSize,
void * cert 
)
+
+ +

Imports a certificate into the ticket certificate chain.

+
Parameters
+ + + +
certSizeSize of the certificate.
certData of the certificate.
+
+
+ +
+
+ +

◆ AM_ImportCertificates()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_ImportCertificates (u32 cert1Size,
void * cert1,
u32 cert2Size,
void * cert2,
u32 cert3Size,
void * cert3,
u32 cert4Size,
void * cert4 
)
+
+ +

Imports up to four certificates into the ticket certificate chain.

+
Parameters
+ + + + + + + + + +
cert1SizeSize of the first certificate.
cert1Data of the first certificate.
cert2SizeSize of the second certificate.
cert2Data of the second certificate.
cert3SizeSize of the third certificate.
cert3Data of the third certificate.
cert4SizeSize of the fourth certificate.
cert4Data of the fourth certificate.
+
+
+ +
+
+ +

◆ AM_ImportTwlBackup()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_ImportTwlBackup (Handle filehandle,
u8 operation,
void * buffer,
u32 size 
)
+
+ +

Imports DSiWare from the specified file.

+
Parameters
+ + + + + +
filehandleFSUSER file handle.
operationDSiWare operation type.
bufferWork buffer.
sizeBuffer size, must be >=0x20000.
+
+
+ +
+
+ +

◆ AM_InitializeExternalTitleDatabase()

+ +
+
+ + + + + + + + +
Result AM_InitializeExternalTitleDatabase (bool overwrite)
+
+ +

Initializes the external (SD) title database.

+
Parameters
+ + +
overwriteOverwrites the database if it already exists.
+
+
+ +
+
+ +

◆ AM_InstallContentBegin()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result AM_InstallContentBegin (HandlecontentHandle,
u16 index 
)
+
+ +

Begins installing title content.

+
Parameters
+ + + +
[out]contentHandlePointer to output a handle to write content data to.
indexIndex of the content to install.
+
+
+ +
+
+ +

◆ AM_InstallContentCancel()

+ +
+
+ + + + + + + + +
Result AM_InstallContentCancel (Handle contentHandle)
+
+ +

Cancels installing title content.

+
Parameters
+ + +
contentHandleHandle of the installation to finalize.
+
+
+ +
+
+ +

◆ AM_InstallContentFinish()

+ +
+
+ + + + + + + + +
Result AM_InstallContentFinish (Handle contentHandle)
+
+ +

Finishes installing title content.

+
Parameters
+ + +
contentHandleHandle of the installation to finalize.
+
+
+ +
+
+ +

◆ AM_InstallContentResume()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_InstallContentResume (HandlecontentHandle,
u64resumeOffset,
u16 index 
)
+
+ +

Resumes installing title content.

+
Parameters
+ + + + +
[out]contentHandlePointer to output a handle to write content data to.
[out]resumeOffsetPointer to write the offset to resume content installation at to.
indexIndex of the content to install.
+
+
+ +
+
+ +

◆ AM_InstallContentStop()

+ +
+
+ + + + + + + + +
Result AM_InstallContentStop (Handle contentHandle)
+
+ +

Stops installing title content, generally to be resumed later.

+
Parameters
+ + +
contentHandleHandle of the installation to abort.
+
+
+ +
+
+ +

◆ AM_InstallFirm()

+ +
+
+ + + + + + + + +
Result AM_InstallFirm (u64 titleID)
+
+ +

Installs a NATIVE_FIRM title to NAND.

+

Accepts 0004013800000002 or 0004013820000002 (N3DS).

Parameters
+ + +
titleIDTitle ID of the NATIVE_FIRM to install.
+
+
+ +
+
+ +

◆ AM_InstallTicketAbort()

+ +
+
+ + + + + + + + +
Result AM_InstallTicketAbort (Handle ticketHandle)
+
+ +

Aborts installing a ticket.

+
Parameters
+ + +
ticketHandleHandle of the installation to abort.
+
+
+ +
+
+ +

◆ AM_InstallTicketBegin()

+ +
+
+ + + + + + + + +
Result AM_InstallTicketBegin (HandleticketHandle)
+
+ +

Begins installing a ticket.

+
Parameters
+ + +
[out]ticketHandlePointer to output a handle to write ticket data to.
+
+
+ +
+
+ +

◆ AM_InstallTicketFinish()

+ +
+
+ + + + + + + + +
Result AM_InstallTicketFinish (Handle ticketHandle)
+
+ +

Finishes installing a ticket.

+
Parameters
+ + +
ticketHandleHandle of the installation to finalize.
+
+
+ +
+
+ +

◆ AM_InstallTitleBegin()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_InstallTitleBegin (FS_MediaType mediaType,
u64 titleId,
bool unk 
)
+
+ +

Begins installing a title.

+
Parameters
+ + + + +
mediaTypeDestination to install to.
titleIdID of the title to install.
unkUnknown. (usually false)
+
+
+ +
+
+ +

◆ AM_InstallTitleResume()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result AM_InstallTitleResume (FS_MediaType mediaType,
u64 titleId 
)
+
+ +

Resumes installing a title.

+
Parameters
+ + + +
mediaTypeDestination to install to.
titleIdID of the title to install.
+
+
+ +
+
+ +

◆ AM_InstallTmdAbort()

+ +
+
+ + + + + + + + +
Result AM_InstallTmdAbort (Handle tmdHandle)
+
+ +

Aborts installing a TMD.

+
Parameters
+ + +
tmdHandleHandle of the installation to abort.
+
+
+ +
+
+ +

◆ AM_InstallTmdBegin()

+ +
+
+ + + + + + + + +
Result AM_InstallTmdBegin (HandletmdHandle)
+
+ +

Begins installing a TMD.

+
Parameters
+ + +
[out]tmdHandlePointer to output a handle to write TMD data to.
+
+
+ +
+
+ +

◆ AM_InstallTmdFinish()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result AM_InstallTmdFinish (Handle tmdHandle,
bool unk 
)
+
+ +

Finishes installing a TMD.

+
Parameters
+ + + +
tmdHandleHandle of the installation to finalize.
unkUnknown. (usually true)
+
+
+ +
+
+ +

◆ AM_QueryAvailableExternalTitleDatabase()

+ +
+
+ + + + + + + + +
Result AM_QueryAvailableExternalTitleDatabase (bool * available)
+
+ +

Queries whether the external title database is available.

+
Parameters
+ + +
[out]availablePointer to output the availability status to.
+
+
+ +
+
+ +

◆ AM_ReadTwlBackupInfo()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result AM_ReadTwlBackupInfo (Handle filehandle,
void * outinfo,
u32 outinfo_size,
void * workbuf,
u32 workbuf_size,
void * banner,
u32 banner_size 
)
+
+ +

Reads info from the specified DSiWare export file.

+

This can only be used with DSiWare exported with certain operation value(s).

Parameters
+ + + + + + + + +
filehandleFSUSER file handle.
outinfoOutput info buffer.
outinfo_sizeOutput info buffer size.
workbufWork buffer.
workbuf_sizeWork buffer size.
bannerOutput banner buffer.
banner_sizeOutput banner buffer size.
+
+
+ +
+
+ +

◆ AM_StartCiaInstall()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result AM_StartCiaInstall (FS_MediaType mediatype,
HandleciaHandle 
)
+
+ +

Initializes the CIA install process, returning a handle to write CIA data to.

+
Parameters
+ + + +
mediatypeMedia type to install the CIA to.
[out]ciaHandlePointer to write the CIA handle to.
+
+
+ +
+
+ +

◆ AM_StartDlpChildCiaInstall()

+ +
+
+ + + + + + + + +
Result AM_StartDlpChildCiaInstall (HandleciaHandle)
+
+ +

Initializes the CIA install process for Download Play CIAs, returning a handle to write CIA data to.

+
Parameters
+ + +
[out]ciaHandlePointer to write the CIA handle to.
+
+
+ +
+
+ +

◆ AMAPP_GetDLCContentInfoCount()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result AMAPP_GetDLCContentInfoCount (u32count,
FS_MediaType mediatype,
u64 titleID 
)
+
+ +

Gets the number of content index installed under the specified DLC title.

+
Parameters
+ + + + +
[out]countPointer to output the number of content indices to.
mediatypeMedia type of the title.
titleIDTitle ID to retrieve the count for (high-id is 0x0004008C).
+
+
+ +
+
+ +

◆ AMAPP_ListDLCContentInfos()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result AMAPP_ListDLCContentInfos (u32contentInfoRead,
FS_MediaType mediatype,
u64 titleID,
u32 contentInfoCount,
u32 offset,
AM_ContentInfocontentInfos 
)
+
+ +

Gets content infos installed under the specified DLC title.

+
Parameters
+ + + + + + + +
[out]contentInfoReadPointer to output the number of content infos read to.
mediatypeMedia type of the title.
titleIDTitle ID to retrieve the content infos for (high-id is 0x0004008C).
contentInfoCountNumber of content infos to retrieve.
offsetOffset from the first content index the count starts at.
[out]contentInfosPointer to output the content infos read to.
+
+
+ +
+
+
+ + + + diff --git a/am_8h_source.html b/am_8h_source.html new file mode 100644 index 000000000..4df31ff49 --- /dev/null +++ b/am_8h_source.html @@ -0,0 +1,727 @@ + + + + + + + +libctru: include/3ds/services/am.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
am.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file am.h
+
3  * @brief AM (Application Manager) service.
+
4  */
+
5 #pragma once
+
6 
+
7 #include <3ds/services/fs.h>
+
8 
+
9 /// Contains basic information about a title.
+
10 typedef struct
+
11 {
+
12  u64 titleID; ///< The title's ID.
+
13  u64 size; ///< The title's installed size.
+
14  u16 version; ///< The title's version.
+
15  u8 unk[6]; ///< Unknown title data.
+ +
17 
+
18 /// Pending title status mask values.
+
19 enum
+
20 {
+
21  AM_STATUS_MASK_INSTALLING = BIT(0), ///< Titles currently installing.
+
22  AM_STATUS_MASK_AWAITING_FINALIZATION = BIT(1) ///< Titles awaiting finalization.
+
23 };
+
24 
+
25 /// Pending title status values.
+
26 typedef enum
+
27 {
+
28  AM_STATUS_ABORTED = 0x0002, ///< Install aborted.
+
29  AM_STATUS_SAVED = 0x0003, ///< Title saved, but not installed.
+
30  AM_STATUS_INSTALL_IN_PROGRESS = 0x0802, ///< Install in progress.
+
31  AM_STATUS_AWAITING_FINALIZATION = 0x0803 ///< Awaiting finalization.
+ +
33 
+
34 // Contains basic information about a pending title.
+
35 typedef struct
+
36 {
+
37  u64 titleId; ///< Title ID
+
38  u16 version; ///< Version
+
39  u16 status; ///< @ref AM_InstallStatus
+
40  u32 titleType; ///< Title Type
+
41  u8 unk[0x8]; ///< Unknown
+ +
43 
+
44 /// Pending title deletion flags.
+
45 enum
+
46 {
+
47  AM_DELETE_PENDING_NON_SYSTEM = BIT(0), ///< Non-system titles.
+
48  AM_DELETE_PENDING_SYSTEM = BIT(1) ///< System titles.
+
49 };
+
50 
+
51 /// Information about the TWL NAND partition.
+
52 typedef struct {
+
53  u64 capacity; ///< Total capacity.
+
54  u64 freeSpace; ///< Total free space.
+
55  u64 titlesCapacity; ///< Capacity for titles.
+
56  u64 titlesFreeSpace; ///< Free space for titles.
+ +
58 
+
59 /// Contains information about a title's content.
+
60 typedef struct {
+
61  u16 index; ///< Index of the content in the title.
+
62  u16 type; ///< ?
+
63  u32 contentId; ///< ID of the content in the title.
+
64  u64 size; ///< Size of the content in the title.
+
65  u8 flags; ///< @ref AM_ContentInfoFlags
+
66  u8 padding[7]; ///< Padding
+ +
68 
+
69 /// Title ContentInfo flags.
+
70 typedef enum
+
71 {
+ +
73  AM_CONTENT_OWNED = BIT(1) ///< ?
+ +
75 
+
76 /// Initializes AM. This doesn't initialize with "am:app", see amAppInit().
+
77 Result amInit(void);
+
78 
+
79 /// Initializes AM with a service which has access to the amapp-commands. This should only be used when using the amapp commands, not non-amapp AM commands.
+ +
81 
+
82 /// Exits AM.
+
83 void amExit(void);
+
84 
+
85 /// Gets the current AM session handle.
+ +
87 
+
88 /**
+
89  * @brief Gets the number of titles for a given media type.
+
90  * @param mediatype Media type to get titles from.
+
91  * @param[out] count Pointer to write the title count to.
+
92  */
+ +
94 
+
95 /**
+
96  * @brief Gets a list of title IDs present in a mediatype.
+
97  * @param[out] titlesRead Pointer to output the number of read titles to.
+
98  * @param mediatype Media type to get titles from.
+
99  * @param titleCount Number of title IDs to get.
+
100  * @param titleIds Buffer to output the retrieved title IDs to.
+
101  */
+
102 Result AM_GetTitleList(u32* titlesRead, FS_MediaType mediatype, u32 titleCount, u64 *titleIds);
+
103 
+
104 /**
+
105  * @brief Gets a list of details about installed titles.
+
106  * @param mediatype Media type to get titles from.
+
107  * @param titleCount Number of titles to list.
+
108  * @param titleIds List of title IDs to retrieve details for.
+
109  * @param titleInfo Buffer to write AM_TitleEntry's to.
+
110  */
+
111 Result AM_GetTitleInfo(FS_MediaType mediatype, u32 titleCount, u64 *titleIds, AM_TitleEntry *titleInfo);
+
112 
+
113 /**
+
114  * @brief Gets the number of tickets installed on the system.
+
115  * @param[out] count Pointer to output the ticket count to.
+
116  */
+ +
118 
+
119 /**
+
120  * @brief Gets a list of tickets installed on the system.
+
121  * @param[out] ticketsRead Pointer to output the number of read tickets to.
+
122  * @param ticketCount Number of tickets to read.
+
123  * @param skip Number of tickets to skip.
+
124  * @param ticketIds Buffer to output the retrieved ticket IDs to.
+
125  */
+
126 Result AM_GetTicketList(u32 *ticketsRead, u32 ticketCount, u32 skip, u64 *ticketIds);
+
127 
+
128 /**
+
129  * @brief Gets the number of pending titles on this system.
+
130  * @param[out] count Pointer to output the pending title count to.
+
131  * @param mediatype Media type of pending titles to count.
+
132  * @param statusMask Bit mask of status values to include.
+
133  */
+
134 Result AM_GetPendingTitleCount(u32 *count, FS_MediaType mediatype, u32 statusMask);
+
135 
+
136 /**
+
137  * @brief Gets a list of pending titles on this system.
+
138  * @param[out] titlesRead Pointer to output the number of read pending titles to.
+
139  * @param titleCount Number of pending titles to read.
+
140  * @param mediatype Media type of pending titles to list.
+
141  * @param statusMask Bit mask of status values to include.
+
142  * @param titleIds Buffer to output the retrieved pending title IDs to.
+
143  */
+
144 Result AM_GetPendingTitleList(u32 *titlesRead, u32 titleCount, FS_MediaType mediatype, u32 statusMask, u64 *titleIds);
+
145 
+
146 /**
+
147  * @brief Gets information about pending titles on this system.
+
148  * @param titleCount Number of pending titles to read.
+
149  * @param mediatype Media type of pending titles to get information on.
+
150  * @param titleIds IDs of the titles to get information about.
+
151  * @param titleInfo Buffer to output the retrieved pending title info to.
+
152  */
+
153 Result AM_GetPendingTitleInfo(u32 titleCount, FS_MediaType mediatype, u64 *titleIds, AM_PendingTitleEntry *titleInfo);
+
154 
+
155 /**
+
156  * @brief Gets a 32-bit device-specific ID.
+
157  * @param deviceID Pointer to write the device ID to.
+
158  */
+ +
160 
+
161 /**
+
162  * @brief Exports DSiWare to the specified filepath.
+
163  * @param titleID TWL titleID.
+
164  * @param operation DSiWare operation type.
+
165  * @param workbuf Work buffer.
+
166  * @param workbuf_size Work buffer size, must be >=0x20000.
+
167  * @param filepath UTF-8 filepath(converted to UTF-16 internally).
+
168  */
+
169 Result AM_ExportTwlBackup(u64 titleID, u8 operation, void* workbuf, u32 workbuf_size, const char *filepath);
+
170 
+
171 /**
+
172  * @brief Imports DSiWare from the specified file.
+
173  * @param filehandle FSUSER file handle.
+
174  * @param operation DSiWare operation type.
+
175  * @param buffer Work buffer.
+
176  * @param size Buffer size, must be >=0x20000.
+
177  */
+
178 Result AM_ImportTwlBackup(Handle filehandle, u8 operation, void* buffer, u32 size);
+
179 
+
180 /**
+
181  * @brief Reads info from the specified DSiWare export file. This can only be used with DSiWare exported with certain operation value(s).
+
182  * @param filehandle FSUSER file handle.
+
183  * @param outinfo Output info buffer.
+
184  * @param outinfo_size Output info buffer size.
+
185  * @param workbuf Work buffer.
+
186  * @param workbuf_size Work buffer size.
+
187  * @param banner Output banner buffer.
+
188  * @param banner_size Output banner buffer size.
+
189  */
+
190 Result AM_ReadTwlBackupInfo(Handle filehandle, void* outinfo, u32 outinfo_size, void* workbuf, u32 workbuf_size, void* banner, u32 banner_size);
+
191 
+
192 /**
+
193  * @brief Retrieves information about the NAND TWL partition.
+
194  * @param[out] info Pointer to output the TWL partition info to.
+
195  */
+ +
197 
+
198 /**
+
199  * @brief Initializes the CIA install process, returning a handle to write CIA data to.
+
200  * @param mediatype Media type to install the CIA to.
+
201  * @param[out] ciaHandle Pointer to write the CIA handle to.
+
202  */
+ +
204 
+
205 /**
+
206  * @brief Initializes the CIA install process for Download Play CIAs, returning a handle to write CIA data to.
+
207  * @param[out] ciaHandle Pointer to write the CIA handle to.
+
208  */
+ +
210 
+
211 /**
+
212  * @brief Aborts the CIA install process.
+
213  * @param ciaHandle CIA handle to cancel.
+
214  */
+ +
216 
+
217 /**
+
218  * @brief Finalizes the CIA install process.
+
219  * @param ciaHandle CIA handle to finalize.
+
220  */
+ +
222 
+
223 /**
+
224  * @brief Finalizes the CIA install process without committing the title to title.db or tmp*.db.
+
225  * @param ciaHandle CIA handle to finalize.
+
226  */
+ +
228 
+
229 /**
+
230  * @brief Commits installed CIAs.
+
231  * @param mediaType Location of the titles to finalize.
+
232  * @param titleCount Number of titles to finalize.
+
233  * @param temp Whether the titles being finalized are in the temporary database.
+
234  * @param titleIds Title IDs to finalize.
+
235  */
+
236 Result AM_CommitImportPrograms(FS_MediaType mediaType, u32 titleCount, bool temp, const u64* titleIds);
+
237 
+
238 /**
+
239  * @brief Deletes a title.
+
240  * @param mediatype Media type to delete from.
+
241  * @param titleID ID of the title to delete.
+
242  */
+
243 Result AM_DeleteTitle(FS_MediaType mediatype, u64 titleID);
+
244 
+
245 /**
+
246  * @brief Deletes a title, provided that it is not a system title.
+
247  * @param mediatype Media type to delete from.
+
248  * @param titleID ID of the title to delete.
+
249  */
+ +
251 
+
252 /**
+
253  * @brief Deletes a ticket.
+
254  * @param titleID ID of the ticket to delete.
+
255  */
+ +
257 
+
258 /**
+
259  * @brief Deletes a pending title.
+
260  * @param mediatype Media type to delete from.
+
261  * @param titleId ID of the pending title to delete.
+
262  */
+ +
264 
+
265 /**
+
266  * @brief Deletes pending titles.
+
267  * @param mediatype Media type to delete from.
+
268  * @param flags Flags used to select pending titles.
+
269  */
+ +
271 
+
272 /**
+
273  * @brief Deletes all pending titles.
+
274  * @param mediatype Media type to delete from.
+
275  */
+ +
277 
+
278 /// Installs the current NATIVE_FIRM title to NAND (firm0:/ & firm1:/)
+ +
280 
+
281 /**
+
282  * @brief Installs a NATIVE_FIRM title to NAND. Accepts 0004013800000002 or 0004013820000002 (N3DS).
+
283  * @param titleID Title ID of the NATIVE_FIRM to install.
+
284  */
+ +
286 
+
287 /**
+
288  * @brief Gets the product code of a title.
+
289  * @param mediatype Media type of the title.
+
290  * @param titleID ID of the title.
+
291  * @param[out] productCode Pointer to output the product code to. (length = 16)
+
292  */
+
293 Result AM_GetTitleProductCode(FS_MediaType mediatype, u64 titleId, char *productCode);
+
294 
+
295 /**
+
296  * @brief Gets the ext data ID of a title.
+
297  * @param[out] extDataId Pointer to output the ext data ID to.
+
298  * @param mediatype Media type of the title.
+
299  * @param titleID ID of the title.
+
300  */
+
301 Result AM_GetTitleExtDataId(u64 *extDataId, FS_MediaType mediatype, u64 titleId);
+
302 
+
303 /**
+
304  * @brief Gets an AM_TitleEntry instance for a CIA file.
+
305  * @param mediatype Media type that this CIA would be installed to.
+
306  * @param[out] titleEntry Pointer to write the AM_TitleEntry instance to.
+
307  * @param fileHandle Handle of the CIA file.
+
308  */
+
309 Result AM_GetCiaFileInfo(FS_MediaType mediatype, AM_TitleEntry *titleEntry, Handle fileHandle);
+
310 
+
311 /**
+
312  * @brief Gets the SMDH icon data of a CIA file.
+
313  * @param icon Buffer to store the icon data in. Must be of size 0x36C0 bytes.
+
314  * @param fileHandle Handle of the CIA file.
+
315  */
+
316 Result AM_GetCiaIcon(void *icon, Handle fileHandle);
+
317 
+
318 /**
+
319  * @brief Gets the title ID dependency list of a CIA file.
+
320  * @param dependencies Buffer to store dependency title IDs in. Must be of size 0x300 bytes.
+
321  * @param fileHandle Handle of the CIA file.
+
322  */
+
323 Result AM_GetCiaDependencies(u64 *dependencies, Handle fileHandle);
+
324 
+
325 /**
+
326  * @brief Gets the meta section offset of a CIA file.
+
327  * @param[out] metaOffset Pointer to output the meta section offset to.
+
328  * @param fileHandle Handle of the CIA file.
+
329  */
+
330 Result AM_GetCiaMetaOffset(u64 *metaOffset, Handle fileHandle);
+
331 
+
332 /**
+
333  * @brief Gets the core version of a CIA file.
+
334  * @param[out] coreVersion Pointer to output the core version to.
+
335  * @param fileHandle Handle of the CIA file.
+
336  */
+
337 Result AM_GetCiaCoreVersion(u32 *coreVersion, Handle fileHandle);
+
338 
+
339 /**
+
340  * @brief Gets the free space, in bytes, required to install a CIA file.
+
341  * @param[out] requiredSpace Pointer to output the required free space to.
+
342  * @param mediaType Media type to check free space needed to install to.
+
343  * @param fileHandle Handle of the CIA file.
+
344  */
+
345 Result AM_GetCiaRequiredSpace(u64 *requiredSpace, FS_MediaType mediaType, Handle fileHandle);
+
346 
+
347 /**
+
348  * @brief Gets the full meta section of a CIA file.
+
349  * @param meta Buffer to store the meta section in.
+
350  * @param size Size of the buffer. Must be greater than or equal to the actual section data's size.
+
351  * @param fileHandle Handle of the CIA file.
+
352  */
+
353 Result AM_GetCiaMetaSection(void *meta, u32 size, Handle fileHandle);
+
354 
+
355 /**
+
356  * @brief Initializes the external (SD) title database.
+
357  * @param overwrite Overwrites the database if it already exists.
+
358  */
+ +
360 
+
361 /**
+
362  * @brief Queries whether the external title database is available.
+
363  * @param[out] available Pointer to output the availability status to.
+
364  */
+ +
366 
+
367 /**
+
368  * @brief Begins installing a ticket.
+
369  * @param[out] ticketHandle Pointer to output a handle to write ticket data to.
+
370  */
+ +
372 
+
373 /**
+
374  * @brief Aborts installing a ticket.
+
375  * @param ticketHandle Handle of the installation to abort.
+
376  */
+ +
378 
+
379 /**
+
380  * @brief Finishes installing a ticket.
+
381  * @param ticketHandle Handle of the installation to finalize.
+
382  */
+ +
384 
+
385 /**
+
386  * @brief Begins installing a title.
+
387  * @param mediaType Destination to install to.
+
388  * @param titleId ID of the title to install.
+
389  * @param unk Unknown. (usually false)
+
390  */
+
391 Result AM_InstallTitleBegin(FS_MediaType mediaType, u64 titleId, bool unk);
+
392 
+
393 /// Stops installing a title, generally to be resumed later.
+ +
395 
+
396 /**
+
397  * @brief Resumes installing a title.
+
398  * @param mediaType Destination to install to.
+
399  * @param titleId ID of the title to install.
+
400  */
+ +
402 
+
403 /// Aborts installing a title.
+ +
405 
+
406 /// Finishes installing a title.
+ +
408 
+
409 /**
+
410  * @brief Commits installed titles.
+
411  * @param mediaType Location of the titles to finalize.
+
412  * @param titleCount Number of titles to finalize.
+
413  * @param temp Whether the titles being finalized are in the temporary database.
+
414  * @param titleIds Title IDs to finalize.
+
415  */
+
416 Result AM_CommitImportTitles(FS_MediaType mediaType, u32 titleCount, bool temp, const u64* titleIds);
+
417 
+
418 /**
+
419  * @brief Begins installing a TMD.
+
420  * @param[out] tmdHandle Pointer to output a handle to write TMD data to.
+
421  */
+ +
423 
+
424 /**
+
425  * @brief Aborts installing a TMD.
+
426  * @param tmdHandle Handle of the installation to abort.
+
427  */
+ +
429 
+
430 /**
+
431  * @brief Finishes installing a TMD.
+
432  * @param tmdHandle Handle of the installation to finalize.
+
433  * @param unk Unknown. (usually true)
+
434  */
+
435 Result AM_InstallTmdFinish(Handle tmdHandle, bool unk);
+
436 
+
437 /**
+
438  * @brief Prepares to import title contents.
+
439  * @param contentCount Number of contents to be imported.
+
440  * @param contentIndices Indices of the contents to be imported.
+
441  */
+
442 Result AM_CreateImportContentContexts(u32 contentCount, u16* contentIndices);
+
443 
+
444 /**
+
445  * @brief Begins installing title content.
+
446  * @param[out] contentHandle Pointer to output a handle to write content data to.
+
447  * @param index Index of the content to install.
+
448  */
+
449 Result AM_InstallContentBegin(Handle *contentHandle, u16 index);
+
450 
+
451 /**
+
452  * @brief Stops installing title content, generally to be resumed later.
+
453  * @param contentHandle Handle of the installation to abort.
+
454  */
+ +
456 
+
457 /**
+
458  * @brief Resumes installing title content.
+
459  * @param[out] contentHandle Pointer to output a handle to write content data to.
+
460  * @param[out] resumeOffset Pointer to write the offset to resume content installation at to.
+
461  * @param index Index of the content to install.
+
462  */
+
463 Result AM_InstallContentResume(Handle *contentHandle, u64* resumeOffset, u16 index);
+
464 
+
465 /**
+
466  * @brief Cancels installing title content.
+
467  * @param contentHandle Handle of the installation to finalize.
+
468  */
+ +
470 
+
471 /**
+
472  * @brief Finishes installing title content.
+
473  * @param contentHandle Handle of the installation to finalize.
+
474  */
+ +
476 
+
477 /**
+
478  * @brief Imports up to four certificates into the ticket certificate chain.
+
479  * @param cert1Size Size of the first certificate.
+
480  * @param cert1 Data of the first certificate.
+
481  * @param cert2Size Size of the second certificate.
+
482  * @param cert2 Data of the second certificate.
+
483  * @param cert3Size Size of the third certificate.
+
484  * @param cert3 Data of the third certificate.
+
485  * @param cert4Size Size of the fourth certificate.
+
486  * @param cert4 Data of the fourth certificate.
+
487  */
+
488 Result AM_ImportCertificates(u32 cert1Size, void* cert1, u32 cert2Size, void* cert2, u32 cert3Size, void* cert3, u32 cert4Size, void* cert4);
+
489 
+
490 /**
+
491  * @brief Imports a certificate into the ticket certificate chain.
+
492  * @param certSize Size of the certificate.
+
493  * @param cert Data of the certificate.
+
494  */
+
495 Result AM_ImportCertificate(u32 certSize, void* cert);
+
496 
+
497 /**
+
498  * @brief Commits installed titles, and updates FIRM if necessary.
+
499  * @param mediaType Location of the titles to finalize.
+
500  * @param titleCount Number of titles to finalize.
+
501  * @param temp Whether the titles being finalized are in the temporary database.
+
502  * @param titleIds Title IDs to finalize.
+
503  */
+
504 Result AM_CommitImportTitlesAndUpdateFirmwareAuto(FS_MediaType mediaType, u32 titleCount, bool temp, u64* titleIds);
+
505 
+
506 /// Resets play count of all installed demos by deleting their launch info.
+ +
508 
+
509 /// Deletes temporary titles.
+ +
511 
+
512 /**
+
513  * @brief Deletes all expired titles.
+
514  * @param mediatype Media type to delete from.
+
515  */
+ +
517 
+
518 /// Deletes all TWL titles.
+ +
520 
+
521 /**
+
522  * @brief Gets the number of content index installed under the specified DLC title.
+
523  * @param[out] count Pointer to output the number of content indices to.
+
524  * @param mediatype Media type of the title.
+
525  * @param titleID Title ID to retrieve the count for (high-id is 0x0004008C).
+
526  */
+ +
528 
+
529 /**
+
530  * @brief Gets content infos installed under the specified DLC title.
+
531  * @param[out] contentInfoRead Pointer to output the number of content infos read to.
+
532  * @param mediatype Media type of the title.
+
533  * @param titleID Title ID to retrieve the content infos for (high-id is 0x0004008C).
+
534  * @param contentInfoCount Number of content infos to retrieve.
+
535  * @param offset Offset from the first content index the count starts at.
+
536  * @param[out] contentInfos Pointer to output the content infos read to.
+
537  */
+
538 Result AMAPP_ListDLCContentInfos(u32* contentInfoRead, FS_MediaType mediatype, u64 titleID, u32 contentInfoCount, u32 offset, AM_ContentInfo* contentInfos);
+
Result amInit(void)
Initializes AM. This doesn't initialize with "am:app", see amAppInit().
+
Result AM_InstallNativeFirm(void)
Installs the current NATIVE_FIRM title to NAND (firm0:/ & firm1:/)
+
Result AM_InstallFirm(u64 titleID)
Installs a NATIVE_FIRM title to NAND.
+
Result AM_DeleteTitle(FS_MediaType mediatype, u64 titleID)
Deletes a title.
+
Result AM_GetCiaCoreVersion(u32 *coreVersion, Handle fileHandle)
Gets the core version of a CIA file.
+
Result AM_ReadTwlBackupInfo(Handle filehandle, void *outinfo, u32 outinfo_size, void *workbuf, u32 workbuf_size, void *banner, u32 banner_size)
Reads info from the specified DSiWare export file.
+
Result AM_DeleteAllPendingTitles(FS_MediaType mediatype)
Deletes all pending titles.
+
Result AM_InstallTmdBegin(Handle *tmdHandle)
Begins installing a TMD.
+
Result AM_InstallContentFinish(Handle contentHandle)
Finishes installing title content.
+
Result AM_ImportCertificate(u32 certSize, void *cert)
Imports a certificate into the ticket certificate chain.
+
Result AM_ExportTwlBackup(u64 titleID, u8 operation, void *workbuf, u32 workbuf_size, const char *filepath)
Exports DSiWare to the specified filepath.
+
@ AM_STATUS_MASK_INSTALLING
Titles currently installing.
Definition: am.h:21
+
@ AM_STATUS_MASK_AWAITING_FINALIZATION
Titles awaiting finalization.
Definition: am.h:22
+
Result AM_GetTitleProductCode(FS_MediaType mediatype, u64 titleId, char *productCode)
Gets the product code of a title.
+
Result AMAPP_GetDLCContentInfoCount(u32 *count, FS_MediaType mediatype, u64 titleID)
Gets the number of content index installed under the specified DLC title.
+
Result AM_InstallTicketAbort(Handle ticketHandle)
Aborts installing a ticket.
+
Result AM_InstallContentCancel(Handle contentHandle)
Cancels installing title content.
+
Result AM_GetPendingTitleInfo(u32 titleCount, FS_MediaType mediatype, u64 *titleIds, AM_PendingTitleEntry *titleInfo)
Gets information about pending titles on this system.
+
Result AM_StartCiaInstall(FS_MediaType mediatype, Handle *ciaHandle)
Initializes the CIA install process, returning a handle to write CIA data to.
+
Result AM_DeleteAllExpiredTitles(FS_MediaType mediatype)
Deletes all expired titles.
+
Result AM_StartDlpChildCiaInstall(Handle *ciaHandle)
Initializes the CIA install process for Download Play CIAs, returning a handle to write CIA data to.
+
Result AM_InstallTitleAbort(void)
Aborts installing a title.
+
Result AM_DeleteAllTwlTitles(void)
Deletes all TWL titles.
+
Result AM_InitializeExternalTitleDatabase(bool overwrite)
Initializes the external (SD) title database.
+
Result AM_QueryAvailableExternalTitleDatabase(bool *available)
Queries whether the external title database is available.
+
Result AM_DeletePendingTitles(FS_MediaType mediatype, u32 flags)
Deletes pending titles.
+
Result AM_GetTicketCount(u32 *count)
Gets the number of tickets installed on the system.
+
Result AM_GetDeviceId(u32 *deviceID)
Gets a 32-bit device-specific ID.
+
Result AM_CancelCIAInstall(Handle ciaHandle)
Aborts the CIA install process.
+
Result AM_GetTitleCount(FS_MediaType mediatype, u32 *count)
Gets the number of titles for a given media type.
+
Result AM_DeletePendingTitle(FS_MediaType mediatype, u64 titleId)
Deletes a pending title.
+
Result AM_InstallContentBegin(Handle *contentHandle, u16 index)
Begins installing title content.
+
Result AM_GetCiaMetaOffset(u64 *metaOffset, Handle fileHandle)
Gets the meta section offset of a CIA file.
+
Result AM_InstallTitleBegin(FS_MediaType mediaType, u64 titleId, bool unk)
Begins installing a title.
+
Result AM_DeleteAllDemoLaunchInfos(void)
Resets play count of all installed demos by deleting their launch info.
+
Result AM_InstallTmdAbort(Handle tmdHandle)
Aborts installing a TMD.
+
Result AM_FinishCiaInstallWithoutCommit(Handle ciaHandle)
Finalizes the CIA install process without committing the title to title.db or tmp*....
+
Result AM_DeleteTicket(u64 ticketId)
Deletes a ticket.
+
Result AM_GetPendingTitleList(u32 *titlesRead, u32 titleCount, FS_MediaType mediatype, u32 statusMask, u64 *titleIds)
Gets a list of pending titles on this system.
+
@ AM_DELETE_PENDING_SYSTEM
System titles.
Definition: am.h:48
+
@ AM_DELETE_PENDING_NON_SYSTEM
Non-system titles.
Definition: am.h:47
+
AM_ContentInfoFlags
Title ContentInfo flags.
Definition: am.h:71
+
@ AM_CONTENT_DOWNLOADED
?
Definition: am.h:72
+
@ AM_CONTENT_OWNED
?
Definition: am.h:73
+
Result AM_InstallTicketFinish(Handle ticketHandle)
Finishes installing a ticket.
+
Result AM_GetTitleList(u32 *titlesRead, FS_MediaType mediatype, u32 titleCount, u64 *titleIds)
Gets a list of title IDs present in a mediatype.
+
Handle * amGetSessionHandle(void)
Gets the current AM session handle.
+
void amExit(void)
Exits AM.
+
Result AM_DeleteAppTitle(FS_MediaType mediatype, u64 titleID)
Deletes a title, provided that it is not a system title.
+
Result AM_InstallContentStop(Handle contentHandle)
Stops installing title content, generally to be resumed later.
+
Result AMAPP_ListDLCContentInfos(u32 *contentInfoRead, FS_MediaType mediatype, u64 titleID, u32 contentInfoCount, u32 offset, AM_ContentInfo *contentInfos)
Gets content infos installed under the specified DLC title.
+
Result AM_InstallTitleStop(void)
Stops installing a title, generally to be resumed later.
+
Result AM_CommitImportTitlesAndUpdateFirmwareAuto(FS_MediaType mediaType, u32 titleCount, bool temp, u64 *titleIds)
Commits installed titles, and updates FIRM if necessary.
+
Result AM_CreateImportContentContexts(u32 contentCount, u16 *contentIndices)
Prepares to import title contents.
+
Result AM_ImportTwlBackup(Handle filehandle, u8 operation, void *buffer, u32 size)
Imports DSiWare from the specified file.
+
Result AM_ImportCertificates(u32 cert1Size, void *cert1, u32 cert2Size, void *cert2, u32 cert3Size, void *cert3, u32 cert4Size, void *cert4)
Imports up to four certificates into the ticket certificate chain.
+
Result AM_InstallTmdFinish(Handle tmdHandle, bool unk)
Finishes installing a TMD.
+
Result AM_CommitImportTitles(FS_MediaType mediaType, u32 titleCount, bool temp, const u64 *titleIds)
Commits installed titles.
+
Result AM_InstallTitleResume(FS_MediaType mediaType, u64 titleId)
Resumes installing a title.
+
Result AM_InstallContentResume(Handle *contentHandle, u64 *resumeOffset, u16 index)
Resumes installing title content.
+
Result AM_GetPendingTitleCount(u32 *count, FS_MediaType mediatype, u32 statusMask)
Gets the number of pending titles on this system.
+
Result AM_GetTicketList(u32 *ticketsRead, u32 ticketCount, u32 skip, u64 *ticketIds)
Gets a list of tickets installed on the system.
+
Result amAppInit(void)
Initializes AM with a service which has access to the amapp-commands. This should only be used when u...
+
Result AM_GetCiaIcon(void *icon, Handle fileHandle)
Gets the SMDH icon data of a CIA file.
+
AM_InstallStatus
Pending title status values.
Definition: am.h:27
+
@ AM_STATUS_AWAITING_FINALIZATION
Awaiting finalization.
Definition: am.h:31
+
@ AM_STATUS_SAVED
Title saved, but not installed.
Definition: am.h:29
+
@ AM_STATUS_ABORTED
Install aborted.
Definition: am.h:28
+
@ AM_STATUS_INSTALL_IN_PROGRESS
Install in progress.
Definition: am.h:30
+
Result AM_GetCiaDependencies(u64 *dependencies, Handle fileHandle)
Gets the title ID dependency list of a CIA file.
+
Result AM_GetCiaFileInfo(FS_MediaType mediatype, AM_TitleEntry *titleEntry, Handle fileHandle)
Gets an AM_TitleEntry instance for a CIA file.
+
Result AM_CommitImportPrograms(FS_MediaType mediaType, u32 titleCount, bool temp, const u64 *titleIds)
Commits installed CIAs.
+
Result AM_GetCiaRequiredSpace(u64 *requiredSpace, FS_MediaType mediaType, Handle fileHandle)
Gets the free space, in bytes, required to install a CIA file.
+
Result AM_DeleteAllTemporaryTitles(void)
Deletes temporary titles.
+
Result AM_GetTitleInfo(FS_MediaType mediatype, u32 titleCount, u64 *titleIds, AM_TitleEntry *titleInfo)
Gets a list of details about installed titles.
+
Result AM_GetCiaMetaSection(void *meta, u32 size, Handle fileHandle)
Gets the full meta section of a CIA file.
+
Result AM_GetTitleExtDataId(u64 *extDataId, FS_MediaType mediatype, u64 titleId)
Gets the ext data ID of a title.
+
Result AM_GetTWLPartitionInfo(AM_TWLPartitionInfo *info)
Retrieves information about the NAND TWL partition.
+
Result AM_InstallTicketBegin(Handle *ticketHandle)
Begins installing a ticket.
+
Result AM_InstallTitleFinish(void)
Finishes installing a title.
+
Result AM_FinishCiaInstall(Handle ciaHandle)
Finalizes the CIA install process.
+
Filesystem Services.
+
FS_MediaType
Media types.
Definition: fs.h:35
+
Contains information about a title's content.
Definition: am.h:60
+
u16 type
?
Definition: am.h:62
+
u16 index
Index of the content in the title.
Definition: am.h:61
+
u8 flags
AM_ContentInfoFlags
Definition: am.h:65
+
u32 contentId
ID of the content in the title.
Definition: am.h:63
+
u64 size
Size of the content in the title.
Definition: am.h:64
+
Definition: am.h:36
+
u16 status
AM_InstallStatus
Definition: am.h:39
+
u64 titleId
Title ID.
Definition: am.h:37
+
u16 version
Version.
Definition: am.h:38
+
u32 titleType
Title Type.
Definition: am.h:40
+
Information about the TWL NAND partition.
Definition: am.h:52
+
u64 freeSpace
Total free space.
Definition: am.h:54
+
u64 titlesCapacity
Capacity for titles.
Definition: am.h:55
+
u64 capacity
Total capacity.
Definition: am.h:53
+
u64 titlesFreeSpace
Free space for titles.
Definition: am.h:56
+
Contains basic information about a title.
Definition: am.h:11
+
u64 titleID
The title's ID.
Definition: am.h:12
+
u16 version
The title's version.
Definition: am.h:14
+
u64 size
The title's installed size.
Definition: am.h:13
+
#define BIT(n)
Creates a bitmask from a bit number.
Definition: types.h:47
+
uint64_t u64
64-bit unsigned integer
Definition: types.h:24
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/ampxi_8h.html b/ampxi_8h.html new file mode 100644 index 000000000..5dd945096 --- /dev/null +++ b/ampxi_8h.html @@ -0,0 +1,250 @@ + + + + + + + +libctru: include/3ds/services/ampxi.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
ampxi.h File Reference
+
+
+ +

AMPXI service. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + +

+Functions

Result ampxiInit (Handle servhandle)
 Initializes AMPXI. More...
 
+void ampxiExit (void)
 Exits AMPXI.
 
Result AMPXI_WriteTWLSavedata (u64 titleid, u8 *buffer, u32 size, u32 image_filepos, u8 section_type, u8 operation)
 Writes a TWL save-file to NAND. More...
 
Result AMPXI_InstallTitlesFinish (FS_MediaType mediaType, u8 db, u32 titlecount, u64 *tidlist)
 Finalizes title installation. More...
 
+

Detailed Description

+

AMPXI service.

+

This is normally not accessible to userland apps. https://3dbrew.org/wiki/Application_Manager_Services_PXI

+

Function Documentation

+ +

◆ AMPXI_InstallTitlesFinish()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result AMPXI_InstallTitlesFinish (FS_MediaType mediaType,
u8 db,
u32 titlecount,
u64tidlist 
)
+
+ +

Finalizes title installation.

+

https://3dbrew.org/wiki/AMPXI:InstallTitlesFinish

Parameters
+ + + + + + +
mediaTypeMediatype of the titles to finalize.
dbWhich title database to use.
sizeSize of the savedata buffer.
titlecountTotal titles.
tidlistList of titleIDs.
+
+
+ +
+
+ +

◆ AMPXI_WriteTWLSavedata()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result AMPXI_WriteTWLSavedata (u64 titleid,
u8buffer,
u32 size,
u32 image_filepos,
u8 section_type,
u8 operation 
)
+
+ +

Writes a TWL save-file to NAND.

+

https://www.3dbrew.org/wiki/AMPXI:WriteTWLSavedata

Parameters
+ + + + + + + +
titleidID of the TWL title.
bufferSavedata buffer ptr.
sizeSize of the savedata buffer.
image_fileposFilepos to use for writing the data to the NAND savedata file.
section_typehttps://www.3dbrew.org/wiki/AMPXI:WriteTWLSavedata
operationhttps://3dbrew.org/wiki/AM:ImportDSiWare
+
+
+ +
+
+ +

◆ ampxiInit()

+ +
+
+ + + + + + + + +
Result ampxiInit (Handle servhandle)
+
+ +

Initializes AMPXI.

+
Parameters
+ + +
servhandleOptional service session handle to use for AMPXI, if zero srvGetServiceHandle() will be used.
+
+
+ +
+
+
+ + + + diff --git a/ampxi_8h_source.html b/ampxi_8h_source.html new file mode 100644 index 000000000..bd108c67c --- /dev/null +++ b/ampxi_8h_source.html @@ -0,0 +1,124 @@ + + + + + + + +libctru: include/3ds/services/ampxi.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ampxi.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file ampxi.h
+
3  * @brief AMPXI service. This is normally not accessible to userland apps. https://3dbrew.org/wiki/Application_Manager_Services_PXI
+
4  */
+
5 #pragma once
+
6 
+
7 /**
+
8  * @brief Initializes AMPXI.
+
9  * @param servhandle Optional service session handle to use for AMPXI, if zero srvGetServiceHandle() will be used.
+
10  */
+
11 Result ampxiInit(Handle servhandle);
+
12 
+
13 /// Exits AMPXI.
+
14 void ampxiExit(void);
+
15 
+
16 /**
+
17  * @brief Writes a TWL save-file to NAND. https://www.3dbrew.org/wiki/AMPXI:WriteTWLSavedata
+
18  * @param titleid ID of the TWL title.
+
19  * @param buffer Savedata buffer ptr.
+
20  * @param size Size of the savedata buffer.
+
21  * @param image_filepos Filepos to use for writing the data to the NAND savedata file.
+
22  * @param section_type https://www.3dbrew.org/wiki/AMPXI:WriteTWLSavedata
+
23  * @param operation https://3dbrew.org/wiki/AM:ImportDSiWare
+
24  */
+
25 Result AMPXI_WriteTWLSavedata(u64 titleid, u8 *buffer, u32 size, u32 image_filepos, u8 section_type, u8 operation);
+
26 
+
27 /**
+
28  * @brief Finalizes title installation. https://3dbrew.org/wiki/AMPXI:InstallTitlesFinish
+
29  * @param mediaType Mediatype of the titles to finalize.
+
30  * @param db Which title database to use.
+
31  * @param size Size of the savedata buffer.
+
32  * @param titlecount Total titles.
+
33  * @param tidlist List of titleIDs.
+
34  */
+
35 Result AMPXI_InstallTitlesFinish(FS_MediaType mediaType, u8 db, u32 titlecount, u64 *tidlist);
+
void ampxiExit(void)
Exits AMPXI.
+
Result AMPXI_WriteTWLSavedata(u64 titleid, u8 *buffer, u32 size, u32 image_filepos, u8 section_type, u8 operation)
Writes a TWL save-file to NAND.
+
Result AMPXI_InstallTitlesFinish(FS_MediaType mediaType, u8 db, u32 titlecount, u64 *tidlist)
Finalizes title installation.
+
Result ampxiInit(Handle servhandle)
Initializes AMPXI.
+
FS_MediaType
Media types.
Definition: fs.h:35
+
uint64_t u64
64-bit unsigned integer
Definition: types.h:24
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/annotated.html b/annotated.html new file mode 100644 index 000000000..c2f4c81a2 --- /dev/null +++ b/annotated.html @@ -0,0 +1,249 @@ + + + + + + + +libctru: Data Structures + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 CaccelVectorAccelerometer vector
 CacuConfigStruct to contain the data for connecting to a Wifi network from a stored slot
 Caddrinfo
 CAM_ContentInfoContains information about a title's content
 CAM_PendingTitleEntry
 CAM_TitleEntryContains basic information about a title
 CAM_TWLPartitionInfoInformation about the TWL NAND partition
 CangularRateGyroscope angular rate
 CaptCaptureBufInfoAPT capture buffer information
 CaptHookCookieAPT hook cookie
 Carchive_dir_tOpen directory struct
 CAttachProcessEventEvent relating to the attachment of a process
 CAttachThreadEventEvent relating to the attachment of a thread
 CbossContextBOSS context
 CCAMU_ImageQualityCalibrationDataImage quality calibration data
 CCAMU_PackageParameterCameraSelectBatch camera configuration for use without a context
 CCAMU_PackageParameterContextBatch camera configuration for use with a context
 CCAMU_PackageParameterContextDetailBatch camera configuration for use with a context and with detailed size information
 CCAMU_StereoCameraCalibrationDataStereo camera calibration data
 CCFNT_sFont structure
 CcharWidthInfo_sCharacter width information structure
 CcirclePositionCircle Pad position
 CCMAP_sFont character map structure
 CCodeSetHeaderInformation on address space for process. All sizes are in pages (0x1000 bytes)
 CConsoleFontA font struct for the console
 CCpuRegistersStructure representing CPU registers
 CCSND_CapInfoCapture info
 CCSND_ChnInfoChannel info
 CCWDH_sFont character width information block structure
 CDebugEventInfoInformation about a debug event
 CDebuggerBreakExceptionEventEvent relating to svcBreakDebugProcess
 CdecompressIOVecI/O vector
 CDmaConfigConfiguration stucture for svcStartInterProcessDma
 CDmaDeviceConfigDevice configuration structure, part of DmaConfig
 CdspHookCookieDSP hook cookie
 CDVLB_sDVLB data
 CDVLE_constEntry_sDVLE constant entry data
 CDVLE_outEntry_sDVLE output entry data
 CDVLE_sDVLE data
 CDVLE_uniformEntry_sDVLE uniform entry data
 CDVLP_sDVLP data
 CERRF_ExceptionData
 CERRF_ExceptionInfo
 CERRF_FatalErrInfo
 CerrorConf
 CExceptionEventEvent relating to exceptions
 CExHeaderThe NCCH Extended Header of a title
 CExHeader_AccessControlInfoThe access control information of a title
 CExHeader_AccessDescriptorExtended header access descriptor
 CExHeader_Arm11CoreInfoThe CPU-related and memory-layout-related info of a title
 CExHeader_Arm11KernelCapabilitiesThe ARM11 kernel capabilities of a title
 CExHeader_Arm11StorageInfoThe ARM11 filesystem info of a title
 CExHeader_Arm11SystemLocalCapabilitiesThe ARM11 system-local capabilities of a title
 CExHeader_Arm9AccessControlThe ARM9 access control of a title
 CExHeader_CodeSectionInfoInformation about a title's section
 CExHeader_CodeSetInfoThe name of a title and infomation about its section
 CExHeader_InfoMain extended header data, as returned by PXIPM, Loader and FSREG service commands
 CExHeader_SystemControlInfoThe code set info, dependencies and system info of a title (SCI)
 CExHeader_SystemInfoThe savedata size and jump ID of a title
 CExHeader_SystemInfoFlagsThe system info flags and remaster version of a title
 CExitProcessEventEvent relating to the exiting of a process
 CExitThreadEventEvent relating to the exiting of a thread
 CFaultExceptionEventEvent relating to fault exceptions (CPU exceptions other than stop points and undefined syscalls)
 CFINF_sFont information structure
 Cfloat24Uniform_s24-bit float uniforms
 CfontGlyphPos_sFont glyph position structure
 CFpuRegistersStructure representing FPU registers
 CFriendKeyFriend key data
 CFriendProfileFriend profile data
 CFS_ArchiveResourceArchive resource information
 CFS_DeviceMoveContextDevice move context
 CFS_DirectoryEntryDirectory entry
 CFS_ExtSaveDataInfoExt save data information
 CFS_IntegrityVerificationSeedIntegrity verification seed
 CFS_PathFilesystem path data, detailing the specific target of an operation
 CFS_ProductInfoProduct information
 CFS_ProgramInfoProgram information
 CFS_SdMmcSpeedInfoSDMC/NAND speed information
 CFS_SystemSaveDataInfoSystem save data information
 CGameDescriptionGame Description structure
 CGSPGPU_CaptureInfoCapture info
 CGSPGPU_CaptureInfoEntryCapture info entry
 CGSPGPU_FramebufferInfoFramebuffer information
 CgxCmdEntry_sGX command entry
 CgxCmdQueue_sGX command queue structure
 Chostent
 ChttpcContextHTTP context
 Cin_addr
 Cip_mreq
 CLightEventA light event
 CLightSemaphoreA light semaphore
 Clinger
 CMapEventEvent relating to the mapping of memory
 CMemInfoMemory information
 CMiiDataShared Mii struct
 CMiiSelectorConfParameter structure passed to AppletEd
 CMiiSelectorReturnStructure written by AppletEd
 CMVDSTD_ConfigProcessing configuration
 CMVDSTD_InitStructThis can be used to override the default input values for MVDSTD commands during initialization with video-processing. The default for these fields are all-zero, except for cmd1b_inval which is 1. See also here: https://www.3dbrew.org/wiki/MVD_Services
 CMVDSTD_OutputBuffersEntry
 CMVDSTD_OutputBuffersEntryList
 CMVDSTD_ProcessNALUnitOut
 CndspAdpcmDataADPCM data
 CndspWaveBufWave buffer struct
 CNFC_AmiiboConfigAmiiboConfig structure, see also here: https://3dbrew.org/wiki/NFC:GetAmiiboConfig
 CNFC_AmiiboSettingsAmiiboSettings structure, see also here: https://3dbrew.org/wiki/NFC:GetAmiiboSettings
 CNFC_AppDataInitStructUsed by nfcInitializeWriteAppData() internally, see also here: https://3dbrew.org/wiki/NFC:GetAppDataInitStruct
 CNFC_AppDataWriteStructUsed by nfcWriteAppData() internally, see also: https://3dbrew.org/wiki/NFC:WriteAppData
 CNFC_TagInfo
 CNIM_TitleConfigInput configuration for NIM download/installation tasks
 CNIM_TitleProgressOutput struct for NIM downloads/installations in progress
 CNotificationEventFriend Notification Event structure
 CNotificationHeaderNotification header data
 CnwmBeaconDataReplyEntryGeneral NWM output structure from AP scanning, for each entry
 CnwmBeaconDataReplyHeaderGeneral NWM output structure from AP scanning
 CnwmScanInputStructGeneral NWM input structure used for AP scanning
 COS_VersionBinOS_VersionBin. Format of the system version: "<major>.<minor>.<build>-<nupver><region>"
 CosKernelConfig_sKernel configuration page (read-only)
 CosSharedConfig_sShared system configuration page structure (read-only or read-write depending on exheader)
 CosTimeRef_sTime reference information struct (filled in by PTM)
 COutputStringEventEvent relating to debug output
 CPageInfoMemory page information
 Cpollfd
 CPrintConsoleConsole structure used to store the state of a console render context
 CpsRSAContextRSA context
 CPtmSleepConfig
 CPtmWakeEventsPDN wake events and MCU interrupts to select, combined with those of other processes
 CPXIDEV_SPIBufferCard SPI transfer buffer
 CQTM_HeadTrackingInfoHead tracking info
 CQTM_HeadTrackingInfoCoordHead tracking coordinate pair
 Crbtree_node_tAn rbtree node
 Crbtree_tAn rbtree
 Cromfs_dirRomFS directory
 Cromfs_fileRomFS file
 Cromfs_headerRomFS header
 CScheduleInOutEventEvent relating to the scheduler
 CshaderInstance_sDescribes an instance of either a vertex or geometry shader
 CshaderProgram_sDescribes an instance of a full shader program
 Csockaddr
 Csockaddr_in
 Csockaddr_storage
 CSOCU_ARPTableEntryOne entry of the ARP table retrieved by using SOCU_GetNetworkOpt and NETOPT_ARP_TABLE
 CSOCU_DNSTableEntryOne entry of the DNS servers table retrieved by using SOCU_GetNetworkOpt and NETOPT_DNS_TABLE
 CSOCU_IPInfoStructure returned by SOCU_GetNetworkOpt when using NETOPT_IP_INFO
 CSOCU_RoutingTableEntryOne entry of the routing table retrieved by using SOCU_GetNetworkOpt and NETOPT_ROUTING_TABLE
 CSOCU_TCPTableEntryOne entry of the TCP sockets table retrieved by using SOCU_GetNetworkOpt and NETOPT_TCP_TABLE
 CSOCU_UDPTableEntryOne entry of the UDP sockets table retrieved by using SOCU_GetNetworkOpt and NETOPT_UDP_TABLE
 CsslcContextSslc context
 CStartupInfoInformation for the main thread of a process
 CStopPointExceptionEventEvent relating to stop points
 CSwkbdDictWordKeyboard dictionary word for predictive input
 CSwkbdExtraInternal libctru book-keeping structure for software keyboards
 CSwkbdLearningDataKeyboard predictive input learning data
 CSwkbdStateSoftware keyboard parameter structure, it shouldn't be modified directly
 CSwkbdStatusDataKeyboard status data
 CSyscallInOutEventEvent relating to syscalls
 CTGLP_sFont texture sheet information
 CThreadContext
 CTickCounterTick counter
 CTitleDataFriend Title data
 CtouchPositionTouch position
 CudsBindContext
 CudsConnectionStatusConnection status struct
 CudsNetworkScanInfoOutput structure generated from host scanning output
 CudsNetworkStructNetwork struct stored as big-endian
 CudsNodeInfoNode info struct
 CUserBreakExceptionEventEvent relating to svcBreak
 CY2RU_ColorCoefficientsCoefficients of the YUV->RGB conversion formula
 CY2RU_ConversionParamsStructure used to configure all parameters at once
 CY2RU_DitheringWeightParamsDithering weights
+
+
+ + + + diff --git a/app_launch_2source_2main_8c-example.html b/app_launch_2source_2main_8c-example.html new file mode 100644 index 000000000..17db7c7f4 --- /dev/null +++ b/app_launch_2source_2main_8c-example.html @@ -0,0 +1,124 @@ + + + + + + + +libctru: app_launch/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
app_launch/source/main.c
+
+
+
#include <stdio.h>
+
#include <stdlib.h>
+
#include <string.h>
+
#include <3ds.h>
+
+
int main()
+
{
+ + +
+
printf("APT chainload example\n");
+
printf("Press A to chainload to EUR camera app\n");
+
printf("Press START to exit\n");
+
+
while (aptMainLoop())
+
{
+ + + +
+
u32 kDown = hidKeysDown();
+
+
if (kDown & KEY_START)
+
break;
+
+
if (kDown & KEY_A) // If the A button got pressed, start the app launch
+
{
+
aptSetChainloader(0x0004001000022400LL, 0); // *EUR* camera app title ID
+
break;
+
}
+
}
+
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
void aptSetChainloader(u64 programID, u8 mediatype)
Configures the chainloader to launch a specific application.
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
void gfxSwapBuffers(void)
Updates the configuration of both screens.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
#define gspWaitForVBlank()
Waits for VBlank.
Definition: gspgpu.h:151
+
@ KEY_START
Start.
Definition: hid.h:15
+
@ KEY_A
A.
Definition: hid.h:12
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/apt_8h.html b/apt_8h.html new file mode 100644 index 000000000..1ccd941be --- /dev/null +++ b/apt_8h.html @@ -0,0 +1,2629 @@ + + + + + + + +libctru: include/3ds/services/apt.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
apt.h File Reference
+
+
+ +

APT (Applet) service. +More...

+ +

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

struct  aptCaptureBufInfo
 APT capture buffer information. More...
 
struct  aptHookCookie
 APT hook cookie. More...
 
+ + + + + + + + + +

+Typedefs

+typedef u8 APT_AppletAttr
 
+typedef void(* aptHookFn) (APT_HookType hook, void *param)
 APT hook function.
 
+typedef void(* aptMessageCb) (void *user, NS_APPID sender, void *msg, size_t msgsize)
 APT message callback.
 
+ + + + + + + + + + + + + + + + + + + +

+Enumerations

enum  NS_APPID {
+  APPID_NONE = 0 +,
+  APPID_HOMEMENU = 0x101 +,
+  APPID_CAMERA = 0x110 +,
+  APPID_FRIENDS_LIST = 0x112 +,
+  APPID_GAME_NOTES = 0x113 +,
+  APPID_WEB = 0x114 +,
+  APPID_INSTRUCTION_MANUAL = 0x115 +,
+  APPID_NOTIFICATIONS = 0x116 +,
+  APPID_MIIVERSE = 0x117 +,
+  APPID_MIIVERSE_POSTING = 0x118 +,
+  APPID_AMIIBO_SETTINGS = 0x119 +,
+  APPID_APPLICATION = 0x300 +,
+  APPID_ESHOP = 0x301 +,
+  APPID_SOFTWARE_KEYBOARD = 0x401 +,
+  APPID_APPLETED = 0x402 +,
+  APPID_PNOTE_AP = 0x404 +,
+  APPID_SNOTE_AP = 0x405 +,
+  APPID_ERROR = 0x406 +,
+  APPID_MINT = 0x407 +,
+  APPID_EXTRAPAD = 0x408 +,
+  APPID_MEMOLIB = 0x409 +
+ }
 NS Application IDs. More...
 
enum  APT_AppletPos {
+  APTPOS_NONE = -1 +,
+  APTPOS_APP = 0 +,
+  APTPOS_APPLIB = 1 +,
+  APTPOS_SYS = 2 +,
+  APTPOS_SYSLIB = 3 +,
+  APTPOS_RESIDENT = 4 +
+ }
 APT applet position. More...
 
enum  APT_QueryReply {
+  APTREPLY_REJECT = 0 +,
+  APTREPLY_ACCEPT = 1 +,
+  APTREPLY_LATER = 2 +
+ }
 APT query reply.
 
enum  APT_Signal {
+  APTSIGNAL_NONE = 0 +,
+  APTSIGNAL_HOMEBUTTON = 1 +,
+  APTSIGNAL_HOMEBUTTON2 = 2 +,
+  APTSIGNAL_SLEEP_QUERY = 3 +,
+  APTSIGNAL_SLEEP_CANCEL = 4 +,
+  APTSIGNAL_SLEEP_ENTER = 5 +,
+  APTSIGNAL_SLEEP_WAKEUP = 6 +,
+  APTSIGNAL_SHUTDOWN = 7 +,
+  APTSIGNAL_POWERBUTTON = 8 +,
+  APTSIGNAL_POWERBUTTON2 = 9 +,
+  APTSIGNAL_TRY_SLEEP = 10 +,
+  APTSIGNAL_ORDERTOCLOSE = 11 +
+ }
 APT signals. More...
 
enum  APT_Command {
+  APTCMD_NONE = 0 +,
+  APTCMD_WAKEUP = 1 +,
+  APTCMD_REQUEST = 2 +,
+  APTCMD_RESPONSE = 3 +,
+  APTCMD_EXIT = 4 +,
+  APTCMD_MESSAGE = 5 +,
+  APTCMD_HOMEBUTTON_ONCE = 6 +,
+  APTCMD_HOMEBUTTON_TWICE = 7 +,
+  APTCMD_DSP_SLEEP = 8 +,
+  APTCMD_DSP_WAKEUP = 9 +,
+  APTCMD_WAKEUP_EXIT = 10 +,
+  APTCMD_WAKEUP_PAUSE = 11 +,
+  APTCMD_WAKEUP_CANCEL = 12 +,
+  APTCMD_WAKEUP_CANCELALL = 13 +,
+  APTCMD_WAKEUP_POWERBUTTON = 14 +,
+  APTCMD_WAKEUP_JUMPTOHOME = 15 +,
+  APTCMD_SYSAPPLET_REQUEST = 16 +,
+  APTCMD_WAKEUP_LAUNCHAPP = 17 +
+ }
 APT commands. More...
 
enum  APT_HookType {
+  APTHOOK_ONSUSPEND = 0 +,
+  APTHOOK_ONRESTORE +,
+  APTHOOK_ONSLEEP +,
+  APTHOOK_ONWAKEUP +,
+  APTHOOK_ONEXIT +,
+  APTHOOK_COUNT +
+ }
 APT hook types. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+static APT_AppletAttr aptMakeAppletAttr (APT_AppletPos pos, bool manualGpuRights, bool manualDspRights)
 Create an APT_AppletAttr bitfield from its components.
 
+Result aptInit (void)
 Initializes APT.
 
+void aptExit (void)
 Exits APT.
 
Result aptSendCommand (u32 *aptcmdbuf)
 Sends an APT command through IPC, taking care of locking, opening and closing an APT session. More...
 
+bool aptIsActive (void)
 Returns true if the application is currently in the foreground.
 
+bool aptShouldClose (void)
 Returns true if the system has told the application to close.
 
+bool aptIsSleepAllowed (void)
 Returns true if the system can enter sleep mode while the application is active.
 
+void aptSetSleepAllowed (bool allowed)
 Configures whether the system can enter sleep mode while the application is active.
 
+void aptHandleSleep (void)
 Handles incoming sleep mode requests.
 
+bool aptIsHomeAllowed (void)
 Returns true if the user can press the HOME button to jump back to the HOME menu while the application is active.
 
+void aptSetHomeAllowed (bool allowed)
 Configures whether the user can press the HOME button to jump back to the HOME menu while the application is active.
 
+bool aptShouldJumpToHome (void)
 Returns true if the system requires the application to jump back to the HOME menu.
 
+bool aptCheckHomePressRejected (void)
 Returns true if there is an incoming HOME button press rejected by the policy set by aptSetHomeAllowed (use this to show a "no HOME allowed" icon).
 
static CTR_DEPRECATED bool aptIsHomePressed (void)
 
+void aptJumpToHomeMenu (void)
 Jumps back to the HOME menu.
 
+static void aptHandleJumpToHome (void)
 Handles incoming jump-to-HOME requests.
 
bool aptMainLoop (void)
 Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every frame. More...
 
void aptHook (aptHookCookie *cookie, aptHookFn callback, void *param)
 Sets up an APT status hook. More...
 
void aptUnhook (aptHookCookie *cookie)
 Removes an APT status hook. More...
 
void aptSetMessageCallback (aptMessageCb callback, void *user)
 Sets the function to be called when an APT message from another applet is received. More...
 
void aptLaunchLibraryApplet (NS_APPID appId, void *buf, size_t bufsize, Handle handle)
 Launches a library applet. More...
 
+void aptClearChainloader (void)
 Clears the chainloader state.
 
void aptSetChainloader (u64 programID, u8 mediatype)
 Configures the chainloader to launch a specific application. More...
 
+void aptSetChainloaderToCaller (void)
 Configures the chainloader to launch the previous application.
 
+void aptSetChainloaderToSelf (void)
 Configures the chainloader to relaunch the current application (i.e. soft-reset)
 
void aptSetChainloaderArgs (const void *deliverArg, size_t deliverArgSize, const void *hmac)
 Sets the "deliver arg" and HMAC for the chainloader, which will be passed to the target 3DS/DS(i) application. More...
 
Result APT_GetLockHandle (u16 flags, Handle *lockHandle)
 Gets an APT lock handle. More...
 
Result APT_Initialize (NS_APPID appId, APT_AppletAttr attr, Handle *signalEvent, Handle *resumeEvent)
 Initializes an application's registration with APT. More...
 
Result APT_Finalize (NS_APPID appId)
 Terminates an application's registration with APT. More...
 
+Result APT_HardwareResetAsync (void)
 Asynchronously resets the hardware.
 
Result APT_Enable (APT_AppletAttr attr)
 Enables APT. More...
 
Result APT_GetAppletManInfo (APT_AppletPos inpos, APT_AppletPos *outpos, NS_APPID *req_appid, NS_APPID *menu_appid, NS_APPID *active_appid)
 Gets applet management info. More...
 
static NS_APPID aptGetMenuAppID (void)
 Gets the menu's app ID. More...
 
Result APT_GetAppletInfo (NS_APPID appID, u64 *pProgramID, u8 *pMediaType, bool *pRegistered, bool *pLoadState, APT_AppletAttr *pAttributes)
 Gets an applet's information. More...
 
Result APT_GetAppletProgramInfo (u32 id, u32 flags, u16 *titleversion)
 Gets an applet's program information. More...
 
Result APT_GetProgramID (u64 *pProgramID)
 Gets the current application's program ID. More...
 
+Result APT_PrepareToJumpToHomeMenu (void)
 Prepares to jump to the home menu.
 
Result APT_JumpToHomeMenu (const void *param, size_t paramSize, Handle handle)
 Jumps to the home menu. More...
 
Result APT_PrepareToJumpToApplication (bool exiting)
 Prepares to jump to an application. More...
 
Result APT_JumpToApplication (const void *param, size_t paramSize, Handle handle)
 Jumps to an application. More...
 
Result APT_IsRegistered (NS_APPID appID, bool *out)
 Gets whether an application is registered. More...
 
Result APT_InquireNotification (u32 appID, APT_Signal *signalType)
 Inquires as to whether a signal has been received. More...
 
Result APT_SleepSystem (const struct PtmWakeEvents *wakeEvents)
 Requests to enter sleep mode, and later sets wake events if allowed to. More...
 
Result APT_NotifyToWait (NS_APPID appID)
 Notifies an application to wait. More...
 
Result APT_AppletUtility (int id, void *out, size_t outSize, const void *in, size_t inSize)
 Calls an applet utility function. More...
 
+Result APT_SleepIfShellClosed (void)
 Sleeps if shell is closed (?).
 
Result APT_LockTransition (u32 transition, bool flag)
 Locks a transition (?). More...
 
Result APT_TryLockTransition (u32 transition, bool *succeeded)
 Tries to lock a transition (?). More...
 
Result APT_UnlockTransition (u32 transition)
 Unlocks a transition (?). More...
 
Result APT_GlanceParameter (NS_APPID appID, void *buffer, size_t bufferSize, NS_APPID *sender, APT_Command *command, size_t *actualSize, Handle *parameter)
 Glances at a receieved parameter without removing it from the queue. More...
 
Result APT_ReceiveParameter (NS_APPID appID, void *buffer, size_t bufferSize, NS_APPID *sender, APT_Command *command, size_t *actualSize, Handle *parameter)
 Receives a parameter. More...
 
Result APT_SendParameter (NS_APPID source, NS_APPID dest, APT_Command command, const void *buffer, u32 bufferSize, Handle parameter)
 Sends a parameter. More...
 
Result APT_CancelParameter (NS_APPID source, NS_APPID dest, bool *success)
 Cancels a parameter which matches the specified source and dest AppIDs. More...
 
Result APT_SendCaptureBufferInfo (const aptCaptureBufInfo *captureBuf)
 Sends capture buffer information. More...
 
Result APT_ReplySleepQuery (NS_APPID appID, APT_QueryReply reply)
 Replies to a sleep query. More...
 
Result APT_ReplySleepNotificationComplete (NS_APPID appID)
 Replies that a sleep notification has been completed. More...
 
Result APT_PrepareToCloseApplication (bool cancelPreload)
 Prepares to close the application. More...
 
Result APT_CloseApplication (const void *param, size_t paramSize, Handle handle)
 Closes the application. More...
 
Result APT_SetAppCpuTimeLimit (u32 percent)
 Sets the application's CPU time limit. More...
 
Result APT_GetAppCpuTimeLimit (u32 *percent)
 Gets the application's CPU time limit. More...
 
Result APT_CheckNew3DS (bool *out)
 Checks whether the system is a New 3DS. More...
 
Result APT_PrepareToDoApplicationJump (u8 flags, u64 programID, u8 mediatype)
 Prepares for an applicaton jump. More...
 
Result APT_DoApplicationJump (const void *param, size_t paramSize, const void *hmac)
 Performs an application jump. More...
 
Result APT_PrepareToStartLibraryApplet (NS_APPID appID)
 Prepares to start a library applet. More...
 
Result APT_StartLibraryApplet (NS_APPID appID, const void *param, size_t paramSize, Handle handle)
 Starts a library applet. More...
 
Result APT_PrepareToStartSystemApplet (NS_APPID appID)
 Prepares to start a system applet. More...
 
Result APT_StartSystemApplet (NS_APPID appID, const void *param, size_t paramSize, Handle handle)
 Starts a system applet. More...
 
Result APT_GetSharedFont (Handle *fontHandle, u32 *mapAddr)
 Retrieves the shared system font. More...
 
Result APT_ReceiveDeliverArg (void *param, size_t paramSize, void *hmac, u64 *sender, bool *received)
 Receives the deliver (launch) argument. More...
 
+

Detailed Description

+

APT (Applet) service.

+

Enumeration Type Documentation

+ +

◆ APT_AppletPos

+ +
+
+ + + + +
enum APT_AppletPos
+
+ +

APT applet position.

+ + + + + + + +
Enumerator
APTPOS_NONE 

No position specified.

+
APTPOS_APP 

Application.

+
APTPOS_APPLIB 

Application library (?).

+
APTPOS_SYS 

System applet.

+
APTPOS_SYSLIB 

System library (?).

+
APTPOS_RESIDENT 

Resident applet.

+
+ +
+
+ +

◆ APT_Command

+ +
+
+ + + + +
enum APT_Command
+
+ +

APT commands.

+ + + + + + + + + + + + + + + + + + + +
Enumerator
APTCMD_NONE 

No command received.

+
APTCMD_WAKEUP 

Applet should wake up.

+
APTCMD_REQUEST 

Source applet sent us a parameter.

+
APTCMD_RESPONSE 

Target applet replied to our parameter.

+
APTCMD_EXIT 

Exit (??)

+
APTCMD_MESSAGE 

Message (??)

+
APTCMD_HOMEBUTTON_ONCE 

HOME button pressed once.

+
APTCMD_HOMEBUTTON_TWICE 

HOME button pressed twice (double-pressed).

+
APTCMD_DSP_SLEEP 

DSP should sleep (manual DSP rights related?).

+
APTCMD_DSP_WAKEUP 

DSP should wake up (manual DSP rights related?).

+
APTCMD_WAKEUP_EXIT 

Applet wakes up due to a different applet exiting.

+
APTCMD_WAKEUP_PAUSE 

Applet wakes up after being paused through HOME menu.

+
APTCMD_WAKEUP_CANCEL 

Applet wakes up due to being cancelled.

+
APTCMD_WAKEUP_CANCELALL 

Applet wakes up due to all applets being cancelled.

+
APTCMD_WAKEUP_POWERBUTTON 

Applet wakes up due to POWER button being pressed (?).

+
APTCMD_WAKEUP_JUMPTOHOME 

Applet wakes up and is instructed to jump to HOME menu (?).

+
APTCMD_SYSAPPLET_REQUEST 

Request for sysapplet (?).

+
APTCMD_WAKEUP_LAUNCHAPP 

Applet wakes up and is instructed to launch another applet (?).

+
+ +
+
+ +

◆ APT_HookType

+ +
+
+ + + + +
enum APT_HookType
+
+ +

APT hook types.

+ + + + + + + +
Enumerator
APTHOOK_ONSUSPEND 

App suspended.

+
APTHOOK_ONRESTORE 

App restored.

+
APTHOOK_ONSLEEP 

App sleeping.

+
APTHOOK_ONWAKEUP 

App waking up.

+
APTHOOK_ONEXIT 

App exiting.

+
APTHOOK_COUNT 

Number of APT hook types.

+
+ +
+
+ +

◆ APT_Signal

+ +
+
+ + + + +
enum APT_Signal
+
+ +

APT signals.

+ + + + + + + + + + + + + +
Enumerator
APTSIGNAL_NONE 

No signal received.

+
APTSIGNAL_HOMEBUTTON 

HOME button pressed.

+
APTSIGNAL_HOMEBUTTON2 

HOME button pressed (again?).

+
APTSIGNAL_SLEEP_QUERY 

Prepare to enter sleep mode.

+
APTSIGNAL_SLEEP_CANCEL 

Triggered when ptm:s GetShellStatus() returns 5.

+
APTSIGNAL_SLEEP_ENTER 

Enter sleep mode.

+
APTSIGNAL_SLEEP_WAKEUP 

Wake from sleep mode.

+
APTSIGNAL_SHUTDOWN 

Shutdown.

+
APTSIGNAL_POWERBUTTON 

POWER button pressed.

+
APTSIGNAL_POWERBUTTON2 

POWER button cleared (?).

+
APTSIGNAL_TRY_SLEEP 

System sleeping (?).

+
APTSIGNAL_ORDERTOCLOSE 

Order to close (such as when an error happens?).

+
+ +
+
+ +

◆ NS_APPID

+ +
+
+ + + + +
enum NS_APPID
+
+ +

NS Application IDs.

+

Retrieved from http://3dbrew.org/wiki/NS_and_APT_Services#AppIDs

+ + + + + + + + + + + + + + + + + + + + + +
Enumerator
APPID_HOMEMENU 

Home Menu.

+
APPID_CAMERA 

Camera applet.

+
APPID_FRIENDS_LIST 

Friends List applet.

+
APPID_GAME_NOTES 

Game Notes applet.

+
APPID_WEB 

Internet Browser.

+
APPID_INSTRUCTION_MANUAL 

Instruction Manual applet.

+
APPID_NOTIFICATIONS 

Notifications applet.

+
APPID_MIIVERSE 

Miiverse applet (olv)

+
APPID_MIIVERSE_POSTING 

Miiverse posting applet (solv3)

+
APPID_AMIIBO_SETTINGS 

Amiibo settings applet (cabinet)

+
APPID_APPLICATION 

Application.

+
APPID_ESHOP 

eShop (tiger)

+
APPID_SOFTWARE_KEYBOARD 

Software Keyboard.

+
APPID_APPLETED 

appletEd

+
APPID_PNOTE_AP 

PNOTE_AP.

+
APPID_SNOTE_AP 

SNOTE_AP.

+
APPID_ERROR 

error

+
APPID_MINT 

mint

+
APPID_EXTRAPAD 

extrapad

+
APPID_MEMOLIB 

memolib

+
+ +
+
+

Function Documentation

+ +

◆ APT_AppletUtility()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result APT_AppletUtility (int id,
void * out,
size_t outSize,
const void * in,
size_t inSize 
)
+
+ +

Calls an applet utility function.

+
Parameters
+ + + + + + +
idUtility function to call.
outPointer to write output data to.
outSizeSize of the output buffer.
inPointer to the input data.
inSizeSize of the input buffer.
+
+
+ +
+
+ +

◆ APT_CancelParameter()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result APT_CancelParameter (NS_APPID source,
NS_APPID dest,
bool * success 
)
+
+ +

Cancels a parameter which matches the specified source and dest AppIDs.

+
Parameters
+ + + + +
sourceAppID of the source application (use APPID_NONE to disable the check).
destAppID of the destination application (use APPID_NONE to disable the check).
successPointer to output true if a parameter was cancelled, or false otherwise.
+
+
+ +
+
+ +

◆ APT_CheckNew3DS()

+ +
+
+ + + + + + + + +
Result APT_CheckNew3DS (bool * out)
+
+ +

Checks whether the system is a New 3DS.

+
Parameters
+ + +
outPointer to write the New 3DS flag to.
+
+
+ +
+
+ +

◆ APT_CloseApplication()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result APT_CloseApplication (const void * param,
size_t paramSize,
Handle handle 
)
+
+ +

Closes the application.

+
Parameters
+ + + + +
paramParameters to close with.
paramSizeSize of param.
handleHandle to pass.
+
+
+ +
+
+ +

◆ APT_DoApplicationJump()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result APT_DoApplicationJump (const void * param,
size_t paramSize,
const void * hmac 
)
+
+ +

Performs an application jump.

+
Parameters
+ + + + +
paramParameter buffer.
paramSizeSize of parameter buffer.
hmacHMAC buffer (should be 0x20 bytes long).
+
+
+ +
+
+ +

◆ APT_Enable()

+ +
+
+ + + + + + + + +
Result APT_Enable (APT_AppletAttr attr)
+
+ +

Enables APT.

+
Parameters
+ + +
attrAttributes of the application.
+
+
+ +
+
+ +

◆ APT_Finalize()

+ +
+
+ + + + + + + + +
Result APT_Finalize (NS_APPID appId)
+
+ +

Terminates an application's registration with APT.

+
Parameters
+ + +
appIDID of the application.
+
+
+ +
+
+ +

◆ APT_GetAppCpuTimeLimit()

+ +
+
+ + + + + + + + +
Result APT_GetAppCpuTimeLimit (u32percent)
+
+ +

Gets the application's CPU time limit.

+
Parameters
+ + +
percentPointer to output the CPU time limit percentage to.
+
+
+ +
+
+ +

◆ APT_GetAppletInfo()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result APT_GetAppletInfo (NS_APPID appID,
u64pProgramID,
u8pMediaType,
bool * pRegistered,
bool * pLoadState,
APT_AppletAttr * pAttributes 
)
+
+ +

Gets an applet's information.

+
Parameters
+ + + + + + + +
appIDAppID of the applet.
pProgramIDPointer to output the program ID to.
pMediaTypePointer to output the media type to.
pRegisteredPointer to output the registration status to.
pLoadStatePointer to output the load state to.
pAttributesPointer to output the applet atrributes to.
+
+
+ +
+
+ +

◆ APT_GetAppletManInfo()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result APT_GetAppletManInfo (APT_AppletPos inpos,
APT_AppletPosoutpos,
NS_APPIDreq_appid,
NS_APPIDmenu_appid,
NS_APPIDactive_appid 
)
+
+ +

Gets applet management info.

+
Parameters
+ + + + + + +
inposRequested applet position.
outposPointer to output the position of the current applet to.
req_appidPointer to output the AppID of the applet at the requested position to.
menu_appidPointer to output the HOME menu AppID to.
active_appidPointer to output the AppID of the currently active applet to.
+
+
+ +
+
+ +

◆ APT_GetAppletProgramInfo()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result APT_GetAppletProgramInfo (u32 id,
u32 flags,
u16titleversion 
)
+
+ +

Gets an applet's program information.

+
Parameters
+ + + + +
idID of the applet.
flagsFlags to use when retreiving the information.
titleversionPointer to output the applet's title version to.
+
+
+

Flags:

    +
  • 0x01: Use AM_ListTitles with NAND media type.
  • +
  • 0x02: Use AM_ListTitles with SDMC media type.
  • +
  • 0x04: Use AM_ListTitles with GAMECARD media type.
  • +
  • 0x10: Input ID is an app ID. Must be set if 0x20 is not.
  • +
  • 0x20: Input ID is a program ID. Must be set if 0x10 is not.
  • +
  • 0x100: Sets program ID high to 0x00040000, else it is 0x00040010. Only used when 0x20 is set.
  • +
+ +
+
+ +

◆ APT_GetLockHandle()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result APT_GetLockHandle (u16 flags,
HandlelockHandle 
)
+
+ +

Gets an APT lock handle.

+
Parameters
+ + + +
flagsFlags to use.
lockHandlePointer to output the lock handle to.
+
+
+ +
+
+ +

◆ APT_GetProgramID()

+ +
+
+ + + + + + + + +
Result APT_GetProgramID (u64pProgramID)
+
+ +

Gets the current application's program ID.

+
Parameters
+ + +
pProgramIDPointer to output the program ID to.
+
+
+ +
+
+ +

◆ APT_GetSharedFont()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result APT_GetSharedFont (HandlefontHandle,
u32mapAddr 
)
+
+ +

Retrieves the shared system font.

+

fontHandle Pointer to write the handle of the system font memory block to.

+

mapAddr Pointer to write the mapping address of the system font memory block to.

+ +
+
+ +

◆ APT_GlanceParameter()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result APT_GlanceParameter (NS_APPID appID,
void * buffer,
size_t bufferSize,
NS_APPIDsender,
APT_Commandcommand,
size_t * actualSize,
Handleparameter 
)
+
+ +

Glances at a receieved parameter without removing it from the queue.

+
Parameters
+ + + + + + + + +
appIDAppID of the application.
bufferBuffer to receive to.
bufferSizeSize of the buffer.
senderPointer to output the sender's AppID to.
commandPointer to output the command ID to.
actualSizePointer to output the actual received data size to.
parameterPointer to output the parameter handle to.
+
+
+ +
+
+ +

◆ APT_Initialize()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result APT_Initialize (NS_APPID appId,
APT_AppletAttr attr,
HandlesignalEvent,
HandleresumeEvent 
)
+
+ +

Initializes an application's registration with APT.

+
Parameters
+ + + + + +
appIdID of the application.
attrAttributes of the application.
signalEventPointer to output the signal event handle to.
resumeEventPointer to output the resume event handle to.
+
+
+ +
+
+ +

◆ APT_InquireNotification()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result APT_InquireNotification (u32 appID,
APT_SignalsignalType 
)
+
+ +

Inquires as to whether a signal has been received.

+
Parameters
+ + + +
appIDID of the application.
signalTypePointer to output the signal type to.
+
+
+ +
+
+ +

◆ APT_IsRegistered()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result APT_IsRegistered (NS_APPID appID,
bool * out 
)
+
+ +

Gets whether an application is registered.

+
Parameters
+ + + +
appIDID of the application.
outPointer to output the registration state to.
+
+
+ +
+
+ +

◆ APT_JumpToApplication()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result APT_JumpToApplication (const void * param,
size_t paramSize,
Handle handle 
)
+
+ +

Jumps to an application.

+
Parameters
+ + + + +
paramParameters to jump with.
Sizeof the parameter buffer.
handleHandle to pass.
+
+
+ +
+
+ +

◆ APT_JumpToHomeMenu()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result APT_JumpToHomeMenu (const void * param,
size_t paramSize,
Handle handle 
)
+
+ +

Jumps to the home menu.

+
Parameters
+ + + + +
paramParameters to jump with.
Sizeof the parameter buffer.
handleHandle to pass.
+
+
+ +
+
+ +

◆ APT_LockTransition()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result APT_LockTransition (u32 transition,
bool flag 
)
+
+ +

Locks a transition (?).

+
Parameters
+ + + +
transitionTransition ID.
flagFlag (?)
+
+
+ +
+
+ +

◆ APT_NotifyToWait()

+ +
+
+ + + + + + + + +
Result APT_NotifyToWait (NS_APPID appID)
+
+ +

Notifies an application to wait.

+
Parameters
+ + +
appIDID of the application.
+
+
+ +
+
+ +

◆ APT_PrepareToCloseApplication()

+ +
+
+ + + + + + + + +
Result APT_PrepareToCloseApplication (bool cancelPreload)
+
+ +

Prepares to close the application.

+
Parameters
+ + +
cancelPreloadWhether applet preloads should be cancelled.
+
+
+ +
+
+ +

◆ APT_PrepareToDoApplicationJump()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result APT_PrepareToDoApplicationJump (u8 flags,
u64 programID,
u8 mediatype 
)
+
+ +

Prepares for an applicaton jump.

+
Parameters
+ + + + +
flagsFlags to use.
programIDID of the program to jump to.
mediatypeMedia type of the program to jump to.
+
+
+ +
+
+ +

◆ APT_PrepareToJumpToApplication()

+ +
+
+ + + + + + + + +
Result APT_PrepareToJumpToApplication (bool exiting)
+
+ +

Prepares to jump to an application.

+
Parameters
+ + +
exitingSpecifies whether the applet is exiting.
+
+
+ +
+
+ +

◆ APT_PrepareToStartLibraryApplet()

+ +
+
+ + + + + + + + +
Result APT_PrepareToStartLibraryApplet (NS_APPID appID)
+
+ +

Prepares to start a library applet.

+
Parameters
+ + +
appIDAppID of the applet to start.
+
+
+ +
+
+ +

◆ APT_PrepareToStartSystemApplet()

+ +
+
+ + + + + + + + +
Result APT_PrepareToStartSystemApplet (NS_APPID appID)
+
+ +

Prepares to start a system applet.

+
Parameters
+ + +
appIDAppID of the applet to start.
+
+
+ +
+
+ +

◆ APT_ReceiveDeliverArg()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result APT_ReceiveDeliverArg (void * param,
size_t paramSize,
void * hmac,
u64sender,
bool * received 
)
+
+ +

Receives the deliver (launch) argument.

+
Parameters
+ + + + + + +
paramParameter buffer.
paramSizeSize of parameter buffer.
hmacHMAC buffer (should be 0x20 bytes long).
senderPointer to output the sender's AppID to.
receivedPointer to output whether an argument was received to.
+
+
+ +
+
+ +

◆ APT_ReceiveParameter()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result APT_ReceiveParameter (NS_APPID appID,
void * buffer,
size_t bufferSize,
NS_APPIDsender,
APT_Commandcommand,
size_t * actualSize,
Handleparameter 
)
+
+ +

Receives a parameter.

+
Parameters
+ + + + + + + + +
appIDAppID of the application.
bufferBuffer to receive to.
bufferSizeSize of the buffer.
senderPointer to output the sender's AppID to.
commandPointer to output the command ID to.
actualSizePointer to output the actual received data size to.
parameterPointer to output the parameter handle to.
+
+
+ +
+
+ +

◆ APT_ReplySleepNotificationComplete()

+ +
+
+ + + + + + + + +
Result APT_ReplySleepNotificationComplete (NS_APPID appID)
+
+ +

Replies that a sleep notification has been completed.

+
Parameters
+ + +
appIDID of the application.
+
+
+ +
+
+ +

◆ APT_ReplySleepQuery()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result APT_ReplySleepQuery (NS_APPID appID,
APT_QueryReply reply 
)
+
+ +

Replies to a sleep query.

+
Parameters
+ + + +
appIDID of the application.
replyQuery reply value.
+
+
+ +
+
+ +

◆ APT_SendCaptureBufferInfo()

+ +
+
+ + + + + + + + +
Result APT_SendCaptureBufferInfo (const aptCaptureBufInfocaptureBuf)
+
+ +

Sends capture buffer information.

+
Parameters
+ + +
captureBufCapture buffer information to send.
+
+
+ +
+
+ +

◆ APT_SendParameter()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result APT_SendParameter (NS_APPID source,
NS_APPID dest,
APT_Command command,
const void * buffer,
u32 bufferSize,
Handle parameter 
)
+
+ +

Sends a parameter.

+
Parameters
+ + + + + + + +
sourceAppID of the source application.
destAppID of the destination application.
commandCommand to send.
bufferBuffer to send.
bufferSizeSize of the buffer.
parameterParameter handle to pass.
+
+
+ +
+
+ +

◆ APT_SetAppCpuTimeLimit()

+ +
+
+ + + + + + + + +
Result APT_SetAppCpuTimeLimit (u32 percent)
+
+ +

Sets the application's CPU time limit.

+
Parameters
+ + +
percentCPU time limit percentage to set.
+
+
+ +
+
+ +

◆ APT_SleepSystem()

+ +
+
+ + + + + + + + +
Result APT_SleepSystem (const struct PtmWakeEventswakeEvents)
+
+ +

Requests to enter sleep mode, and later sets wake events if allowed to.

+
Parameters
+ + +
wakeEventsThe wake events. Limited to "shell" (bit 1) for the PDN wake events part and "shell opened", "shell closed" and "HOME button pressed" for the MCU interrupts part.
+
+
+ +
+
+ +

◆ APT_StartLibraryApplet()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result APT_StartLibraryApplet (NS_APPID appID,
const void * param,
size_t paramSize,
Handle handle 
)
+
+ +

Starts a library applet.

+
Parameters
+ + + + + +
appIDAppID of the applet to launch.
paramBuffer containing applet parameters.
paramsizeSize of the buffer.
handleHandle to pass to the applet.
+
+
+ +
+
+ +

◆ APT_StartSystemApplet()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result APT_StartSystemApplet (NS_APPID appID,
const void * param,
size_t paramSize,
Handle handle 
)
+
+ +

Starts a system applet.

+
Parameters
+ + + + + +
appIDAppID of the applet to launch.
paramBuffer containing applet parameters.
paramSizeSize of the parameter buffer.
handleHandle to pass to the applet.
+
+
+ +
+
+ +

◆ APT_TryLockTransition()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result APT_TryLockTransition (u32 transition,
bool * succeeded 
)
+
+ +

Tries to lock a transition (?).

+
Parameters
+ + + +
transitionTransition ID.
succeededPointer to output whether the lock was successfully applied.
+
+
+ +
+
+ +

◆ APT_UnlockTransition()

+ +
+
+ + + + + + + + +
Result APT_UnlockTransition (u32 transition)
+
+ +

Unlocks a transition (?).

+
Parameters
+ + +
transitionTransition ID.
+
+
+ +
+
+ +

◆ aptGetMenuAppID()

+ +
+
+ + + + + +
+ + + + + + + + +
static NS_APPID aptGetMenuAppID (void )
+
+inlinestatic
+
+ +

Gets the menu's app ID.

+
Returns
The menu's app ID.
+ +
+
+ +

◆ aptHook()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void aptHook (aptHookCookiecookie,
aptHookFn callback,
void * param 
)
+
+ +

Sets up an APT status hook.

+
Parameters
+ + + + +
cookieHook cookie to use.
callbackFunction to call when APT's status changes.
paramUser-defined parameter to pass to the callback.
+
+
+ +
+
+ +

◆ aptIsHomePressed()

+ +
+
+ + + + + +
+ + + + + + + + +
static CTR_DEPRECATED bool aptIsHomePressed (void )
+
+inlinestatic
+
+
+ +

◆ aptLaunchLibraryApplet()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void aptLaunchLibraryApplet (NS_APPID appId,
void * buf,
size_t bufsize,
Handle handle 
)
+
+ +

Launches a library applet.

+
Parameters
+ + + + + +
appIdID of the applet to launch.
bufInput/output buffer that contains launch parameters on entry and result data on exit.
bufsizeSize of the buffer.
handleHandle to pass to the library applet.
+
+
+
Examples
libapplet_launch/source/main.c.
+
+ +
+
+ +

◆ aptMainLoop()

+ +
+
+ + + + + + + + +
bool aptMainLoop (void )
+
+ +

Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every frame.

+
Returns
true if the application should keep running, false otherwise (see aptShouldClose).
+
Examples
app_launch/source/main.c, audio/filters/source/main.c, audio/mic/source/main.c, audio/streaming/source/main.c, camera/image/source/main.c, camera/video/source/main.c, get_system_language/source/main.c, graphics/bitmap/24bit-color/source/main.c, graphics/gpu/both_screens/source/main.c, graphics/gpu/fragment_light/source/main.c, graphics/gpu/geoshader/source/main.c, graphics/gpu/gpusprites/source/main.c, graphics/gpu/immediate/source/main.c, graphics/gpu/lenny/source/main.c, graphics/gpu/loop_subdivision/source/main.c, graphics/gpu/mipmap_fog/source/main.c, graphics/gpu/particles/source/main.c, graphics/gpu/proctex/source/main.c, graphics/gpu/simple_tri/source/main.c, graphics/gpu/textured_cube/source/main.c, graphics/gpu/toon_shading/source/main.c, graphics/printing/both-screen-text/source/main.c, graphics/printing/colored-text/source/main.c, graphics/printing/hello-world/source/main.c, graphics/printing/multiple-windows-text/source/main.c, graphics/printing/system-font/source/main.c, input/read-controls/source/main.c, input/software-keyboard/source/main.c, input/touch-screen/source/main.c, libapplet_launch/source/main.c, mvd/source/main.c, network/boss/source/main.c, network/http/source/main.c, network/http_post/source/main.c, network/sockets/source/sockets.c, network/sslc/source/ssl.c, network/uds/source/uds.c, nfc/source/main.c, qtm/source/main.c, romfs/source/main.c, sdmc/source/main.c, threads/event/source/main.c, threads/thread-basic/source/main.c, and time/rtc/source/main.c.
+
+ +
+
+ +

◆ aptSendCommand()

+ +
+
+ + + + + + + + +
Result aptSendCommand (u32aptcmdbuf)
+
+ +

Sends an APT command through IPC, taking care of locking, opening and closing an APT session.

+
Parameters
+ + +
aptcmdbufPointer to command buffer (should have capacity for at least 16 words).
+
+
+ +
+
+ +

◆ aptSetChainloader()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void aptSetChainloader (u64 programID,
u8 mediatype 
)
+
+ +

Configures the chainloader to launch a specific application.

+
Parameters
+ + + +
programIDID of the program to chainload to.
mediatypeMedia type of the program to chainload to.
+
+
+
Examples
app_launch/source/main.c.
+
+ +
+
+ +

◆ aptSetChainloaderArgs()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void aptSetChainloaderArgs (const void * deliverArg,
size_t deliverArgSize,
const void * hmac 
)
+
+ +

Sets the "deliver arg" and HMAC for the chainloader, which will be passed to the target 3DS/DS(i) application.

+

The meaning of each parameter varies on a per-application basis.

Parameters
+ + + + +
deliverArgDeliver arg to pass to the target application.
deliverArgSizeSize of the deliver arg, maximum 0x300 bytes.
hmacHMAC buffer, 32 bytes. Use NULL to pass an all-zero dummy HMAC.
+
+
+ +
+
+ +

◆ aptSetMessageCallback()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void aptSetMessageCallback (aptMessageCb callback,
void * user 
)
+
+ +

Sets the function to be called when an APT message from another applet is received.

+
Parameters
+ + + +
callbackCallback function.
userUser-defined data to be passed to the callback.
+
+
+ +
+
+ +

◆ aptUnhook()

+ +
+
+ + + + + + + + +
void aptUnhook (aptHookCookiecookie)
+
+ +

Removes an APT status hook.

+
Parameters
+ + +
cookieHook cookie to remove.
+
+
+ +
+
+
+ + + + diff --git a/apt_8h_source.html b/apt_8h_source.html new file mode 100644 index 000000000..ad3797f58 --- /dev/null +++ b/apt_8h_source.html @@ -0,0 +1,813 @@ + + + + + + + +libctru: include/3ds/services/apt.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
apt.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file apt.h
+
3  * @brief APT (Applet) service.
+
4  */
+
5 #pragma once
+
6 
+
7 /**
+
8  * @brief NS Application IDs.
+
9  *
+
10  * Retrieved from http://3dbrew.org/wiki/NS_and_APT_Services#AppIDs
+
11  */
+
12 typedef enum {
+
13  APPID_NONE = 0,
+
14  APPID_HOMEMENU = 0x101, ///< Home Menu
+
15  APPID_CAMERA = 0x110, ///< Camera applet
+
16  APPID_FRIENDS_LIST = 0x112, ///< Friends List applet
+
17  APPID_GAME_NOTES = 0x113, ///< Game Notes applet
+
18  APPID_WEB = 0x114, ///< Internet Browser
+
19  APPID_INSTRUCTION_MANUAL = 0x115, ///< Instruction Manual applet
+
20  APPID_NOTIFICATIONS = 0x116, ///< Notifications applet
+
21  APPID_MIIVERSE = 0x117, ///< Miiverse applet (olv)
+
22  APPID_MIIVERSE_POSTING = 0x118, ///< Miiverse posting applet (solv3)
+
23  APPID_AMIIBO_SETTINGS = 0x119, ///< Amiibo settings applet (cabinet)
+
24  APPID_APPLICATION = 0x300, ///< Application
+
25  APPID_ESHOP = 0x301, ///< eShop (tiger)
+
26  APPID_SOFTWARE_KEYBOARD = 0x401, ///< Software Keyboard
+
27  APPID_APPLETED = 0x402, ///< appletEd
+
28  APPID_PNOTE_AP = 0x404, ///< PNOTE_AP
+
29  APPID_SNOTE_AP = 0x405, ///< SNOTE_AP
+
30  APPID_ERROR = 0x406, ///< error
+
31  APPID_MINT = 0x407, ///< mint
+
32  APPID_EXTRAPAD = 0x408, ///< extrapad
+
33  APPID_MEMOLIB = 0x409, ///< memolib
+
34 } NS_APPID;
+
35 
+
36 /// APT applet position.
+
37 typedef enum {
+
38  APTPOS_NONE = -1, ///< No position specified.
+
39  APTPOS_APP = 0, ///< Application.
+
40  APTPOS_APPLIB = 1, ///< Application library (?).
+
41  APTPOS_SYS = 2, ///< System applet.
+
42  APTPOS_SYSLIB = 3, ///< System library (?).
+
43  APTPOS_RESIDENT = 4, ///< Resident applet.
+ +
45 
+
46 typedef u8 APT_AppletAttr;
+
47 
+
48 struct PtmWakeEvents;
+
49 
+
50 /// Create an APT_AppletAttr bitfield from its components.
+
51 static inline APT_AppletAttr aptMakeAppletAttr(APT_AppletPos pos, bool manualGpuRights, bool manualDspRights)
+
52 {
+
53  return (pos&7) | (manualGpuRights ? BIT(3) : 0) | (manualDspRights ? BIT(4) : 0);
+
54 }
+
55 
+
56 /// APT query reply.
+
57 typedef enum {
+
58  APTREPLY_REJECT = 0,
+
59  APTREPLY_ACCEPT = 1,
+
60  APTREPLY_LATER = 2,
+ +
62 
+
63 /// APT signals.
+
64 typedef enum {
+
65  APTSIGNAL_NONE = 0, ///< No signal received.
+
66  APTSIGNAL_HOMEBUTTON = 1, ///< HOME button pressed.
+
67  APTSIGNAL_HOMEBUTTON2 = 2, ///< HOME button pressed (again?).
+
68  APTSIGNAL_SLEEP_QUERY = 3, ///< Prepare to enter sleep mode.
+
69  APTSIGNAL_SLEEP_CANCEL = 4, ///< Triggered when ptm:s GetShellStatus() returns 5.
+
70  APTSIGNAL_SLEEP_ENTER = 5, ///< Enter sleep mode.
+
71  APTSIGNAL_SLEEP_WAKEUP = 6, ///< Wake from sleep mode.
+
72  APTSIGNAL_SHUTDOWN = 7, ///< Shutdown.
+
73  APTSIGNAL_POWERBUTTON = 8, ///< POWER button pressed.
+
74  APTSIGNAL_POWERBUTTON2 = 9, ///< POWER button cleared (?).
+
75  APTSIGNAL_TRY_SLEEP = 10, ///< System sleeping (?).
+
76  APTSIGNAL_ORDERTOCLOSE = 11, ///< Order to close (such as when an error happens?).
+
77 } APT_Signal;
+
78 
+
79 /// APT commands.
+
80 typedef enum {
+
81  APTCMD_NONE = 0, ///< No command received.
+
82  APTCMD_WAKEUP = 1, ///< Applet should wake up.
+
83  APTCMD_REQUEST = 2, ///< Source applet sent us a parameter.
+
84  APTCMD_RESPONSE = 3, ///< Target applet replied to our parameter.
+
85  APTCMD_EXIT = 4, ///< Exit (??)
+
86  APTCMD_MESSAGE = 5, ///< Message (??)
+
87  APTCMD_HOMEBUTTON_ONCE = 6, ///< HOME button pressed once.
+
88  APTCMD_HOMEBUTTON_TWICE = 7, ///< HOME button pressed twice (double-pressed).
+
89  APTCMD_DSP_SLEEP = 8, ///< DSP should sleep (manual DSP rights related?).
+
90  APTCMD_DSP_WAKEUP = 9, ///< DSP should wake up (manual DSP rights related?).
+
91  APTCMD_WAKEUP_EXIT = 10, ///< Applet wakes up due to a different applet exiting.
+
92  APTCMD_WAKEUP_PAUSE = 11, ///< Applet wakes up after being paused through HOME menu.
+
93  APTCMD_WAKEUP_CANCEL = 12, ///< Applet wakes up due to being cancelled.
+
94  APTCMD_WAKEUP_CANCELALL = 13, ///< Applet wakes up due to all applets being cancelled.
+
95  APTCMD_WAKEUP_POWERBUTTON = 14, ///< Applet wakes up due to POWER button being pressed (?).
+
96  APTCMD_WAKEUP_JUMPTOHOME = 15, ///< Applet wakes up and is instructed to jump to HOME menu (?).
+
97  APTCMD_SYSAPPLET_REQUEST = 16, ///< Request for sysapplet (?).
+
98  APTCMD_WAKEUP_LAUNCHAPP = 17, ///< Applet wakes up and is instructed to launch another applet (?).
+
99 } APT_Command;
+
100 
+
101 /// APT capture buffer information.
+
102 typedef struct
+
103 {
+
104  u32 size;
+
105  u32 is3D;
+
106  struct
+
107  {
+
108  u32 leftOffset;
+
109  u32 rightOffset;
+
110  u32 format;
+
111  } top, bottom;
+ +
113 
+
114 /// APT hook types.
+
115 typedef enum {
+
116  APTHOOK_ONSUSPEND = 0, ///< App suspended.
+
117  APTHOOK_ONRESTORE, ///< App restored.
+
118  APTHOOK_ONSLEEP, ///< App sleeping.
+
119  APTHOOK_ONWAKEUP, ///< App waking up.
+
120  APTHOOK_ONEXIT, ///< App exiting.
+
121 
+
122  APTHOOK_COUNT, ///< Number of APT hook types.
+
123 } APT_HookType;
+
124 
+
125 /// APT hook function.
+
126 typedef void (*aptHookFn)(APT_HookType hook, void* param);
+
127 
+
128 /// APT hook cookie.
+
129 typedef struct tag_aptHookCookie
+
130 {
+
131  struct tag_aptHookCookie* next; ///< Next cookie.
+
132  aptHookFn callback; ///< Hook callback.
+
133  void* param; ///< Callback parameter.
+
134 } aptHookCookie;
+
135 
+
136 /// APT message callback.
+
137 typedef void (*aptMessageCb)(void* user, NS_APPID sender, void* msg, size_t msgsize);
+
138 
+
139 /// Initializes APT.
+ +
141 
+
142 /// Exits APT.
+
143 void aptExit(void);
+
144 
+
145 /**
+
146  * @brief Sends an APT command through IPC, taking care of locking, opening and closing an APT session.
+
147  * @param aptcmdbuf Pointer to command buffer (should have capacity for at least 16 words).
+
148  */
+ +
150 
+
151 /// Returns true if the application is currently in the foreground.
+
152 bool aptIsActive(void);
+
153 
+
154 /// Returns true if the system has told the application to close.
+
155 bool aptShouldClose(void);
+
156 
+
157 /// Returns true if the system can enter sleep mode while the application is active.
+
158 bool aptIsSleepAllowed(void);
+
159 
+
160 /// Configures whether the system can enter sleep mode while the application is active.
+
161 void aptSetSleepAllowed(bool allowed);
+
162 
+
163 /// Handles incoming sleep mode requests.
+
164 void aptHandleSleep(void);
+
165 
+
166 /// Returns true if the user can press the HOME button to jump back to the HOME menu while the application is active.
+
167 bool aptIsHomeAllowed(void);
+
168 
+
169 /// Configures whether the user can press the HOME button to jump back to the HOME menu while the application is active.
+
170 void aptSetHomeAllowed(bool allowed);
+
171 
+
172 /// Returns true if the system requires the application to jump back to the HOME menu.
+ +
174 
+
175 /// Returns true if there is an incoming HOME button press rejected by the policy set by \ref aptSetHomeAllowed (use this to show a "no HOME allowed" icon).
+ +
177 
+
178 /// \deprecated Alias for \ref aptCheckHomePressRejected.
+
179 static inline CTR_DEPRECATED bool aptIsHomePressed(void)
+
180 {
+
181  return aptCheckHomePressRejected();
+
182 }
+
183 
+
184 /// Jumps back to the HOME menu.
+
185 void aptJumpToHomeMenu(void);
+
186 
+
187 /// Handles incoming jump-to-HOME requests.
+
188 static inline void aptHandleJumpToHome(void)
+
189 {
+
190  if (aptShouldJumpToHome())
+ +
192 }
+
193 
+
194 /**
+
195  * @brief Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every frame.
+
196  * @return true if the application should keep running, false otherwise (see \ref aptShouldClose).
+
197  */
+
198 bool aptMainLoop(void);
+
199 
+
200 /**
+
201  * @brief Sets up an APT status hook.
+
202  * @param cookie Hook cookie to use.
+
203  * @param callback Function to call when APT's status changes.
+
204  * @param param User-defined parameter to pass to the callback.
+
205  */
+
206 void aptHook(aptHookCookie* cookie, aptHookFn callback, void* param);
+
207 
+
208 /**
+
209  * @brief Removes an APT status hook.
+
210  * @param cookie Hook cookie to remove.
+
211  */
+
212 void aptUnhook(aptHookCookie* cookie);
+
213 
+
214 /**
+
215  * @brief Sets the function to be called when an APT message from another applet is received.
+
216  * @param callback Callback function.
+
217  * @param user User-defined data to be passed to the callback.
+
218  */
+
219 void aptSetMessageCallback(aptMessageCb callback, void* user);
+
220 
+
221 /**
+
222  * @brief Launches a library applet.
+
223  * @param appId ID of the applet to launch.
+
224  * @param buf Input/output buffer that contains launch parameters on entry and result data on exit.
+
225  * @param bufsize Size of the buffer.
+
226  * @param handle Handle to pass to the library applet.
+
227  */
+
228 void aptLaunchLibraryApplet(NS_APPID appId, void* buf, size_t bufsize, Handle handle);
+
229 
+
230 /// Clears the chainloader state.
+ +
232 
+
233 /**
+
234  * @brief Configures the chainloader to launch a specific application.
+
235  * @param programID ID of the program to chainload to.
+
236  * @param mediatype Media type of the program to chainload to.
+
237  */
+
238 void aptSetChainloader(u64 programID, u8 mediatype);
+
239 
+
240 /// Configures the chainloader to launch the previous application.
+ +
242 
+
243 /// Configures the chainloader to relaunch the current application (i.e. soft-reset)
+ +
245 
+
246 /**
+
247  * @brief Sets the "deliver arg" and HMAC for the chainloader, which will
+
248  * be passed to the target 3DS/DS(i) application. The meaning of each
+
249  * parameter varies on a per-application basis.
+
250  * @param deliverArg Deliver arg to pass to the target application.
+
251  * @param deliverArgSize Size of the deliver arg, maximum 0x300 bytes.
+
252  * @param hmac HMAC buffer, 32 bytes. Use NULL to pass an all-zero dummy HMAC.
+
253  */
+
254 void aptSetChainloaderArgs(const void *deliverArg, size_t deliverArgSize, const void *hmac);
+
255 
+
256 /**
+
257  * @brief Gets an APT lock handle.
+
258  * @param flags Flags to use.
+
259  * @param lockHandle Pointer to output the lock handle to.
+
260  */
+
261 Result APT_GetLockHandle(u16 flags, Handle* lockHandle);
+
262 
+
263 /**
+
264  * @brief Initializes an application's registration with APT.
+
265  * @param appId ID of the application.
+
266  * @param attr Attributes of the application.
+
267  * @param signalEvent Pointer to output the signal event handle to.
+
268  * @param resumeEvent Pointer to output the resume event handle to.
+
269  */
+
270 Result APT_Initialize(NS_APPID appId, APT_AppletAttr attr, Handle* signalEvent, Handle* resumeEvent);
+
271 
+
272 /**
+
273  * @brief Terminates an application's registration with APT.
+
274  * @param appID ID of the application.
+
275  */
+ +
277 
+
278 /// Asynchronously resets the hardware.
+ +
280 
+
281 /**
+
282  * @brief Enables APT.
+
283  * @param attr Attributes of the application.
+
284  */
+
285 Result APT_Enable(APT_AppletAttr attr);
+
286 
+
287 /**
+
288  * @brief Gets applet management info.
+
289  * @param inpos Requested applet position.
+
290  * @param outpos Pointer to output the position of the current applet to.
+
291  * @param req_appid Pointer to output the AppID of the applet at the requested position to.
+
292  * @param menu_appid Pointer to output the HOME menu AppID to.
+
293  * @param active_appid Pointer to output the AppID of the currently active applet to.
+
294  */
+
295 Result APT_GetAppletManInfo(APT_AppletPos inpos, APT_AppletPos* outpos, NS_APPID* req_appid, NS_APPID* menu_appid, NS_APPID* active_appid);
+
296 
+
297 /**
+
298  * @brief Gets the menu's app ID.
+
299  * @return The menu's app ID.
+
300  */
+
301 static inline NS_APPID aptGetMenuAppID(void)
+
302 {
+
303  NS_APPID menu_appid = APPID_NONE;
+
304  APT_GetAppletManInfo(APTPOS_NONE, NULL, NULL, &menu_appid, NULL);
+
305  return menu_appid;
+
306 }
+
307 
+
308 /**
+
309  * @brief Gets an applet's information.
+
310  * @param appID AppID of the applet.
+
311  * @param pProgramID Pointer to output the program ID to.
+
312  * @param pMediaType Pointer to output the media type to.
+
313  * @param pRegistered Pointer to output the registration status to.
+
314  * @param pLoadState Pointer to output the load state to.
+
315  * @param pAttributes Pointer to output the applet atrributes to.
+
316  */
+
317 Result APT_GetAppletInfo(NS_APPID appID, u64* pProgramID, u8* pMediaType, bool* pRegistered, bool* pLoadState, APT_AppletAttr* pAttributes);
+
318 
+
319 /**
+
320  * @brief Gets an applet's program information.
+
321  * @param id ID of the applet.
+
322  * @param flags Flags to use when retreiving the information.
+
323  * @param titleversion Pointer to output the applet's title version to.
+
324  *
+
325  * Flags:
+
326  * - 0x01: Use AM_ListTitles with NAND media type.
+
327  * - 0x02: Use AM_ListTitles with SDMC media type.
+
328  * - 0x04: Use AM_ListTitles with GAMECARD media type.
+
329  * - 0x10: Input ID is an app ID. Must be set if 0x20 is not.
+
330  * - 0x20: Input ID is a program ID. Must be set if 0x10 is not.
+
331  * - 0x100: Sets program ID high to 0x00040000, else it is 0x00040010. Only used when 0x20 is set.
+
332  */
+
333 Result APT_GetAppletProgramInfo(u32 id, u32 flags, u16 *titleversion);
+
334 
+
335 /**
+
336  * @brief Gets the current application's program ID.
+
337  * @param pProgramID Pointer to output the program ID to.
+
338  */
+ +
340 
+
341 /// Prepares to jump to the home menu.
+ +
343 
+
344 /**
+
345  * @brief Jumps to the home menu.
+
346  * @param param Parameters to jump with.
+
347  * @param Size of the parameter buffer.
+
348  * @param handle Handle to pass.
+
349  */
+
350 Result APT_JumpToHomeMenu(const void* param, size_t paramSize, Handle handle);
+
351 
+
352 /**
+
353  * @brief Prepares to jump to an application.
+
354  * @param exiting Specifies whether the applet is exiting.
+
355  */
+ +
357 
+
358 /**
+
359  * @brief Jumps to an application.
+
360  * @param param Parameters to jump with.
+
361  * @param Size of the parameter buffer.
+
362  * @param handle Handle to pass.
+
363  */
+
364 Result APT_JumpToApplication(const void* param, size_t paramSize, Handle handle);
+
365 
+
366 /**
+
367  * @brief Gets whether an application is registered.
+
368  * @param appID ID of the application.
+
369  * @param out Pointer to output the registration state to.
+
370  */
+
371 Result APT_IsRegistered(NS_APPID appID, bool* out);
+
372 
+
373 /**
+
374  * @brief Inquires as to whether a signal has been received.
+
375  * @param appID ID of the application.
+
376  * @param signalType Pointer to output the signal type to.
+
377  */
+ +
379 
+
380 /**
+
381  * @brief Requests to enter sleep mode, and later sets wake events if allowed to.
+
382  * @param wakeEvents The wake events. Limited to "shell" (bit 1) for the PDN wake events part
+
383  * and "shell opened", "shell closed" and "HOME button pressed" for the MCU interrupts part.
+
384  */
+
385 Result APT_SleepSystem(const struct PtmWakeEvents *wakeEvents);
+
386 
+
387 /**
+
388  * @brief Notifies an application to wait.
+
389  * @param appID ID of the application.
+
390  */
+ +
392 
+
393 /**
+
394  * @brief Calls an applet utility function.
+
395  * @param id Utility function to call.
+
396  * @param out Pointer to write output data to.
+
397  * @param outSize Size of the output buffer.
+
398  * @param in Pointer to the input data.
+
399  * @param inSize Size of the input buffer.
+
400  */
+
401 Result APT_AppletUtility(int id, void* out, size_t outSize, const void* in, size_t inSize);
+
402 
+
403 /// Sleeps if shell is closed (?).
+ +
405 
+
406 /**
+
407  * @brief Locks a transition (?).
+
408  * @param transition Transition ID.
+
409  * @param flag Flag (?)
+
410  */
+
411 Result APT_LockTransition(u32 transition, bool flag);
+
412 
+
413 /**
+
414  * @brief Tries to lock a transition (?).
+
415  * @param transition Transition ID.
+
416  * @param succeeded Pointer to output whether the lock was successfully applied.
+
417  */
+
418 Result APT_TryLockTransition(u32 transition, bool* succeeded);
+
419 
+
420 /**
+
421  * @brief Unlocks a transition (?).
+
422  * @param transition Transition ID.
+
423  */
+ +
425 
+
426 /**
+
427  * @brief Glances at a receieved parameter without removing it from the queue.
+
428  * @param appID AppID of the application.
+
429  * @param buffer Buffer to receive to.
+
430  * @param bufferSize Size of the buffer.
+
431  * @param sender Pointer to output the sender's AppID to.
+
432  * @param command Pointer to output the command ID to.
+
433  * @param actualSize Pointer to output the actual received data size to.
+
434  * @param parameter Pointer to output the parameter handle to.
+
435  */
+
436 Result APT_GlanceParameter(NS_APPID appID, void* buffer, size_t bufferSize, NS_APPID* sender, APT_Command* command, size_t* actualSize, Handle* parameter);
+
437 
+
438 /**
+
439  * @brief Receives a parameter.
+
440  * @param appID AppID of the application.
+
441  * @param buffer Buffer to receive to.
+
442  * @param bufferSize Size of the buffer.
+
443  * @param sender Pointer to output the sender's AppID to.
+
444  * @param command Pointer to output the command ID to.
+
445  * @param actualSize Pointer to output the actual received data size to.
+
446  * @param parameter Pointer to output the parameter handle to.
+
447  */
+
448 Result APT_ReceiveParameter(NS_APPID appID, void* buffer, size_t bufferSize, NS_APPID* sender, APT_Command* command, size_t* actualSize, Handle* parameter);
+
449 
+
450 /**
+
451  * @brief Sends a parameter.
+
452  * @param source AppID of the source application.
+
453  * @param dest AppID of the destination application.
+
454  * @param command Command to send.
+
455  * @param buffer Buffer to send.
+
456  * @param bufferSize Size of the buffer.
+
457  * @param parameter Parameter handle to pass.
+
458  */
+
459 Result APT_SendParameter(NS_APPID source, NS_APPID dest, APT_Command command, const void* buffer, u32 bufferSize, Handle parameter);
+
460 
+
461 /**
+
462  * @brief Cancels a parameter which matches the specified source and dest AppIDs.
+
463  * @param source AppID of the source application (use APPID_NONE to disable the check).
+
464  * @param dest AppID of the destination application (use APPID_NONE to disable the check).
+
465  * @param success Pointer to output true if a parameter was cancelled, or false otherwise.
+
466  */
+
467 Result APT_CancelParameter(NS_APPID source, NS_APPID dest, bool* success);
+
468 
+
469 /**
+
470  * @brief Sends capture buffer information.
+
471  * @param captureBuf Capture buffer information to send.
+
472  */
+ +
474 
+
475 /**
+
476  * @brief Replies to a sleep query.
+
477  * @param appID ID of the application.
+
478  * @param reply Query reply value.
+
479  */
+ +
481 
+
482 /**
+
483  * @brief Replies that a sleep notification has been completed.
+
484  * @param appID ID of the application.
+
485  */
+ +
487 
+
488 /**
+
489  * @brief Prepares to close the application.
+
490  * @param cancelPreload Whether applet preloads should be cancelled.
+
491  */
+ +
493 
+
494 /**
+
495  * @brief Closes the application.
+
496  * @param param Parameters to close with.
+
497  * @param paramSize Size of param.
+
498  * @param handle Handle to pass.
+
499  */
+
500 Result APT_CloseApplication(const void* param, size_t paramSize, Handle handle);
+
501 
+
502 /**
+
503  * @brief Sets the application's CPU time limit.
+
504  * @param percent CPU time limit percentage to set.
+
505  */
+ +
507 
+
508 /**
+
509  * @brief Gets the application's CPU time limit.
+
510  * @param percent Pointer to output the CPU time limit percentage to.
+
511  */
+ +
513 
+
514 /**
+
515  * @brief Checks whether the system is a New 3DS.
+
516  * @param out Pointer to write the New 3DS flag to.
+
517  */
+ +
519 
+
520 /**
+
521  * @brief Prepares for an applicaton jump.
+
522  * @param flags Flags to use.
+
523  * @param programID ID of the program to jump to.
+
524  * @param mediatype Media type of the program to jump to.
+
525  */
+
526 Result APT_PrepareToDoApplicationJump(u8 flags, u64 programID, u8 mediatype);
+
527 
+
528 /**
+
529  * @brief Performs an application jump.
+
530  * @param param Parameter buffer.
+
531  * @param paramSize Size of parameter buffer.
+
532  * @param hmac HMAC buffer (should be 0x20 bytes long).
+
533  */
+
534 Result APT_DoApplicationJump(const void* param, size_t paramSize, const void* hmac);
+
535 
+
536 /**
+
537  * @brief Prepares to start a library applet.
+
538  * @param appID AppID of the applet to start.
+
539  */
+ +
541 
+
542 /**
+
543  * @brief Starts a library applet.
+
544  * @param appID AppID of the applet to launch.
+
545  * @param param Buffer containing applet parameters.
+
546  * @param paramsize Size of the buffer.
+
547  * @param handle Handle to pass to the applet.
+
548  */
+
549 Result APT_StartLibraryApplet(NS_APPID appID, const void* param, size_t paramSize, Handle handle);
+
550 
+
551 /**
+
552  * @brief Prepares to start a system applet.
+
553  * @param appID AppID of the applet to start.
+
554  */
+ +
556 
+
557 /**
+
558  * @brief Starts a system applet.
+
559  * @param appID AppID of the applet to launch.
+
560  * @param param Buffer containing applet parameters.
+
561  * @param paramSize Size of the parameter buffer.
+
562  * @param handle Handle to pass to the applet.
+
563  */
+
564 Result APT_StartSystemApplet(NS_APPID appID, const void* param, size_t paramSize, Handle handle);
+
565 
+
566 /**
+
567  * @brief Retrieves the shared system font.
+
568  * @brief fontHandle Pointer to write the handle of the system font memory block to.
+
569  * @brief mapAddr Pointer to write the mapping address of the system font memory block to.
+
570  */
+
571 Result APT_GetSharedFont(Handle* fontHandle, u32* mapAddr);
+
572 
+
573 /**
+
574  * @brief Receives the deliver (launch) argument
+
575  * @param param Parameter buffer.
+
576  * @param paramSize Size of parameter buffer.
+
577  * @param hmac HMAC buffer (should be 0x20 bytes long).
+
578  * @param sender Pointer to output the sender's AppID to.
+
579  * @param received Pointer to output whether an argument was received to.
+
580  */
+
581 Result APT_ReceiveDeliverArg(void* param, size_t paramSize, void* hmac, u64* sender, bool* received);
+
APT_QueryReply
APT query reply.
Definition: apt.h:57
+
void aptSetChainloaderToCaller(void)
Configures the chainloader to launch the previous application.
+
Result APT_PrepareToCloseApplication(bool cancelPreload)
Prepares to close the application.
+
Result APT_SendCaptureBufferInfo(const aptCaptureBufInfo *captureBuf)
Sends capture buffer information.
+
Result APT_AppletUtility(int id, void *out, size_t outSize, const void *in, size_t inSize)
Calls an applet utility function.
+
Result APT_GetProgramID(u64 *pProgramID)
Gets the current application's program ID.
+
Result APT_GetSharedFont(Handle *fontHandle, u32 *mapAddr)
Retrieves the shared system font.
+
APT_Signal
APT signals.
Definition: apt.h:64
+
@ APTSIGNAL_SLEEP_QUERY
Prepare to enter sleep mode.
Definition: apt.h:68
+
@ APTSIGNAL_POWERBUTTON
POWER button pressed.
Definition: apt.h:73
+
@ APTSIGNAL_SLEEP_WAKEUP
Wake from sleep mode.
Definition: apt.h:71
+
@ APTSIGNAL_POWERBUTTON2
POWER button cleared (?).
Definition: apt.h:74
+
@ APTSIGNAL_ORDERTOCLOSE
Order to close (such as when an error happens?).
Definition: apt.h:76
+
@ APTSIGNAL_SHUTDOWN
Shutdown.
Definition: apt.h:72
+
@ APTSIGNAL_TRY_SLEEP
System sleeping (?).
Definition: apt.h:75
+
@ APTSIGNAL_NONE
No signal received.
Definition: apt.h:65
+
@ APTSIGNAL_HOMEBUTTON2
HOME button pressed (again?).
Definition: apt.h:67
+
@ APTSIGNAL_SLEEP_ENTER
Enter sleep mode.
Definition: apt.h:70
+
@ APTSIGNAL_HOMEBUTTON
HOME button pressed.
Definition: apt.h:66
+
@ APTSIGNAL_SLEEP_CANCEL
Triggered when ptm:s GetShellStatus() returns 5.
Definition: apt.h:69
+
Result APT_UnlockTransition(u32 transition)
Unlocks a transition (?).
+
Result APT_JumpToHomeMenu(const void *param, size_t paramSize, Handle handle)
Jumps to the home menu.
+
Result APT_SleepIfShellClosed(void)
Sleeps if shell is closed (?).
+
Result APT_ReceiveParameter(NS_APPID appID, void *buffer, size_t bufferSize, NS_APPID *sender, APT_Command *command, size_t *actualSize, Handle *parameter)
Receives a parameter.
+
void aptExit(void)
Exits APT.
+
Result APT_SleepSystem(const struct PtmWakeEvents *wakeEvents)
Requests to enter sleep mode, and later sets wake events if allowed to.
+
Result APT_CancelParameter(NS_APPID source, NS_APPID dest, bool *success)
Cancels a parameter which matches the specified source and dest AppIDs.
+
Result APT_Finalize(NS_APPID appId)
Terminates an application's registration with APT.
+
Result APT_GetAppletInfo(NS_APPID appID, u64 *pProgramID, u8 *pMediaType, bool *pRegistered, bool *pLoadState, APT_AppletAttr *pAttributes)
Gets an applet's information.
+
void aptSetSleepAllowed(bool allowed)
Configures whether the system can enter sleep mode while the application is active.
+
void aptSetChainloaderToSelf(void)
Configures the chainloader to relaunch the current application (i.e. soft-reset)
+
void aptSetChainloaderArgs(const void *deliverArg, size_t deliverArgSize, const void *hmac)
Sets the "deliver arg" and HMAC for the chainloader, which will be passed to the target 3DS/DS(i) app...
+
Result APT_GetLockHandle(u16 flags, Handle *lockHandle)
Gets an APT lock handle.
+
static APT_AppletAttr aptMakeAppletAttr(APT_AppletPos pos, bool manualGpuRights, bool manualDspRights)
Create an APT_AppletAttr bitfield from its components.
Definition: apt.h:51
+
bool aptShouldJumpToHome(void)
Returns true if the system requires the application to jump back to the HOME menu.
+
Result APT_PrepareToJumpToHomeMenu(void)
Prepares to jump to the home menu.
+
static CTR_DEPRECATED bool aptIsHomePressed(void)
Definition: apt.h:179
+
void aptUnhook(aptHookCookie *cookie)
Removes an APT status hook.
+
APT_HookType
APT hook types.
Definition: apt.h:115
+
@ APTHOOK_ONEXIT
App exiting.
Definition: apt.h:120
+
@ APTHOOK_ONSUSPEND
App suspended.
Definition: apt.h:116
+
@ APTHOOK_ONSLEEP
App sleeping.
Definition: apt.h:118
+
@ APTHOOK_ONWAKEUP
App waking up.
Definition: apt.h:119
+
@ APTHOOK_ONRESTORE
App restored.
Definition: apt.h:117
+
@ APTHOOK_COUNT
Number of APT hook types.
Definition: apt.h:122
+
Result APT_InquireNotification(u32 appID, APT_Signal *signalType)
Inquires as to whether a signal has been received.
+
Result APT_LockTransition(u32 transition, bool flag)
Locks a transition (?).
+
Result APT_DoApplicationJump(const void *param, size_t paramSize, const void *hmac)
Performs an application jump.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
Result APT_GetAppletManInfo(APT_AppletPos inpos, APT_AppletPos *outpos, NS_APPID *req_appid, NS_APPID *menu_appid, NS_APPID *active_appid)
Gets applet management info.
+
APT_Command
APT commands.
Definition: apt.h:80
+
@ APTCMD_WAKEUP_CANCEL
Applet wakes up due to being cancelled.
Definition: apt.h:93
+
@ APTCMD_WAKEUP_EXIT
Applet wakes up due to a different applet exiting.
Definition: apt.h:91
+
@ APTCMD_MESSAGE
Message (??)
Definition: apt.h:86
+
@ APTCMD_SYSAPPLET_REQUEST
Request for sysapplet (?).
Definition: apt.h:97
+
@ APTCMD_WAKEUP_POWERBUTTON
Applet wakes up due to POWER button being pressed (?).
Definition: apt.h:95
+
@ APTCMD_NONE
No command received.
Definition: apt.h:81
+
@ APTCMD_WAKEUP_JUMPTOHOME
Applet wakes up and is instructed to jump to HOME menu (?).
Definition: apt.h:96
+
@ APTCMD_RESPONSE
Target applet replied to our parameter.
Definition: apt.h:84
+
@ APTCMD_DSP_WAKEUP
DSP should wake up (manual DSP rights related?).
Definition: apt.h:90
+
@ APTCMD_WAKEUP
Applet should wake up.
Definition: apt.h:82
+
@ APTCMD_HOMEBUTTON_TWICE
HOME button pressed twice (double-pressed).
Definition: apt.h:88
+
@ APTCMD_DSP_SLEEP
DSP should sleep (manual DSP rights related?).
Definition: apt.h:89
+
@ APTCMD_WAKEUP_PAUSE
Applet wakes up after being paused through HOME menu.
Definition: apt.h:92
+
@ APTCMD_HOMEBUTTON_ONCE
HOME button pressed once.
Definition: apt.h:87
+
@ APTCMD_REQUEST
Source applet sent us a parameter.
Definition: apt.h:83
+
@ APTCMD_WAKEUP_LAUNCHAPP
Applet wakes up and is instructed to launch another applet (?).
Definition: apt.h:98
+
@ APTCMD_WAKEUP_CANCELALL
Applet wakes up due to all applets being cancelled.
Definition: apt.h:94
+
@ APTCMD_EXIT
Exit (??)
Definition: apt.h:85
+
static NS_APPID aptGetMenuAppID(void)
Gets the menu's app ID.
Definition: apt.h:301
+
Result APT_JumpToApplication(const void *param, size_t paramSize, Handle handle)
Jumps to an application.
+
Result APT_HardwareResetAsync(void)
Asynchronously resets the hardware.
+
NS_APPID
NS Application IDs.
Definition: apt.h:12
+
@ APPID_WEB
Internet Browser.
Definition: apt.h:18
+
@ APPID_INSTRUCTION_MANUAL
Instruction Manual applet.
Definition: apt.h:19
+
@ APPID_PNOTE_AP
PNOTE_AP.
Definition: apt.h:28
+
@ APPID_MIIVERSE_POSTING
Miiverse posting applet (solv3)
Definition: apt.h:22
+
@ APPID_APPLICATION
Application.
Definition: apt.h:24
+
@ APPID_EXTRAPAD
extrapad
Definition: apt.h:32
+
@ APPID_MIIVERSE
Miiverse applet (olv)
Definition: apt.h:21
+
@ APPID_APPLETED
appletEd
Definition: apt.h:27
+
@ APPID_AMIIBO_SETTINGS
Amiibo settings applet (cabinet)
Definition: apt.h:23
+
@ APPID_MEMOLIB
memolib
Definition: apt.h:33
+
@ APPID_CAMERA
Camera applet.
Definition: apt.h:15
+
@ APPID_HOMEMENU
Home Menu.
Definition: apt.h:14
+
@ APPID_FRIENDS_LIST
Friends List applet.
Definition: apt.h:16
+
@ APPID_SOFTWARE_KEYBOARD
Software Keyboard.
Definition: apt.h:26
+
@ APPID_NOTIFICATIONS
Notifications applet.
Definition: apt.h:20
+
@ APPID_MINT
mint
Definition: apt.h:31
+
@ APPID_ESHOP
eShop (tiger)
Definition: apt.h:25
+
@ APPID_SNOTE_AP
SNOTE_AP.
Definition: apt.h:29
+
@ APPID_GAME_NOTES
Game Notes applet.
Definition: apt.h:17
+
@ APPID_ERROR
error
Definition: apt.h:30
+
Result APT_PrepareToStartSystemApplet(NS_APPID appID)
Prepares to start a system applet.
+
Result aptInit(void)
Initializes APT.
+
void(* aptMessageCb)(void *user, NS_APPID sender, void *msg, size_t msgsize)
APT message callback.
Definition: apt.h:137
+
Result APT_SendParameter(NS_APPID source, NS_APPID dest, APT_Command command, const void *buffer, u32 bufferSize, Handle parameter)
Sends a parameter.
+
APT_AppletPos
APT applet position.
Definition: apt.h:37
+
@ APTPOS_NONE
No position specified.
Definition: apt.h:38
+
@ APTPOS_SYSLIB
System library (?).
Definition: apt.h:42
+
@ APTPOS_RESIDENT
Resident applet.
Definition: apt.h:43
+
@ APTPOS_APP
Application.
Definition: apt.h:39
+
@ APTPOS_SYS
System applet.
Definition: apt.h:41
+
@ APTPOS_APPLIB
Application library (?).
Definition: apt.h:40
+
bool aptCheckHomePressRejected(void)
Returns true if there is an incoming HOME button press rejected by the policy set by aptSetHomeAllowe...
+
Result APT_ReceiveDeliverArg(void *param, size_t paramSize, void *hmac, u64 *sender, bool *received)
Receives the deliver (launch) argument.
+
Result APT_IsRegistered(NS_APPID appID, bool *out)
Gets whether an application is registered.
+
Result APT_NotifyToWait(NS_APPID appID)
Notifies an application to wait.
+
Result APT_ReplySleepNotificationComplete(NS_APPID appID)
Replies that a sleep notification has been completed.
+
Result APT_Initialize(NS_APPID appId, APT_AppletAttr attr, Handle *signalEvent, Handle *resumeEvent)
Initializes an application's registration with APT.
+
Result APT_SetAppCpuTimeLimit(u32 percent)
Sets the application's CPU time limit.
+
Result APT_TryLockTransition(u32 transition, bool *succeeded)
Tries to lock a transition (?).
+
void aptSetHomeAllowed(bool allowed)
Configures whether the user can press the HOME button to jump back to the HOME menu while the applica...
+
void aptHook(aptHookCookie *cookie, aptHookFn callback, void *param)
Sets up an APT status hook.
+
Result APT_PrepareToDoApplicationJump(u8 flags, u64 programID, u8 mediatype)
Prepares for an applicaton jump.
+
void(* aptHookFn)(APT_HookType hook, void *param)
APT hook function.
Definition: apt.h:126
+
bool aptIsActive(void)
Returns true if the application is currently in the foreground.
+
Result APT_StartLibraryApplet(NS_APPID appID, const void *param, size_t paramSize, Handle handle)
Starts a library applet.
+
Result APT_CloseApplication(const void *param, size_t paramSize, Handle handle)
Closes the application.
+
void aptHandleSleep(void)
Handles incoming sleep mode requests.
+
Result APT_Enable(APT_AppletAttr attr)
Enables APT.
+
bool aptIsSleepAllowed(void)
Returns true if the system can enter sleep mode while the application is active.
+
static void aptHandleJumpToHome(void)
Handles incoming jump-to-HOME requests.
Definition: apt.h:188
+
Result aptSendCommand(u32 *aptcmdbuf)
Sends an APT command through IPC, taking care of locking, opening and closing an APT session.
+
Result APT_GetAppCpuTimeLimit(u32 *percent)
Gets the application's CPU time limit.
+
Result APT_StartSystemApplet(NS_APPID appID, const void *param, size_t paramSize, Handle handle)
Starts a system applet.
+
Result APT_CheckNew3DS(bool *out)
Checks whether the system is a New 3DS.
+
Result APT_GlanceParameter(NS_APPID appID, void *buffer, size_t bufferSize, NS_APPID *sender, APT_Command *command, size_t *actualSize, Handle *parameter)
Glances at a receieved parameter without removing it from the queue.
+
void aptJumpToHomeMenu(void)
Jumps back to the HOME menu.
+
void aptSetChainloader(u64 programID, u8 mediatype)
Configures the chainloader to launch a specific application.
+
Result APT_ReplySleepQuery(NS_APPID appID, APT_QueryReply reply)
Replies to a sleep query.
+
void aptLaunchLibraryApplet(NS_APPID appId, void *buf, size_t bufsize, Handle handle)
Launches a library applet.
+
Result APT_GetAppletProgramInfo(u32 id, u32 flags, u16 *titleversion)
Gets an applet's program information.
+
void aptSetMessageCallback(aptMessageCb callback, void *user)
Sets the function to be called when an APT message from another applet is received.
+
bool aptIsHomeAllowed(void)
Returns true if the user can press the HOME button to jump back to the HOME menu while the applicatio...
+
bool aptShouldClose(void)
Returns true if the system has told the application to close.
+
Result APT_PrepareToJumpToApplication(bool exiting)
Prepares to jump to an application.
+
Result APT_PrepareToStartLibraryApplet(NS_APPID appID)
Prepares to start a library applet.
+
void aptClearChainloader(void)
Clears the chainloader state.
+
PDN wake events and MCU interrupts to select, combined with those of other processes.
Definition: ptmsysm.h:10
+
APT capture buffer information.
Definition: apt.h:103
+
APT hook cookie.
Definition: apt.h:130
+
void * param
Callback parameter.
Definition: apt.h:133
+
struct tag_aptHookCookie * next
Next cookie.
Definition: apt.h:131
+
aptHookFn callback
Hook callback.
Definition: apt.h:132
+
#define CTR_DEPRECATED
Flags a function as deprecated.
Definition: types.h:56
+
#define BIT(n)
Creates a bitmask from a bit number.
Definition: types.h:47
+
uint64_t u64
64-bit unsigned integer
Definition: types.h:24
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/archive_8h.html b/archive_8h.html new file mode 100644 index 000000000..02239ad9a --- /dev/null +++ b/archive_8h.html @@ -0,0 +1,154 @@ + + + + + + + +libctru: include/3ds/archive.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
archive.h File Reference
+
+
+ +

FS_Archive driver. +More...

+
#include <sys/types.h>
+#include <3ds/types.h>
+#include <3ds/services/fs.h>
+
+

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  archive_dir_t
 Open directory struct. More...
 
+ + + +

+Macros

+#define ARCHIVE_DIRITER_MAGIC   0x68637261 /* "arch" */
 
+ + + + + + + + + + + + + + + + + + + +

+Functions

+Result archiveMountSdmc (void)
 Mounts the SD.
 
+Result archiveMount (FS_ArchiveID archiveID, FS_Path archivePath, const char *deviceName)
 Mounts and opens an archive as deviceName Returns either an archive open error code, or -1 for generic failure.
 
Result archiveCommitSaveData (const char *deviceName)
 Uses FSUSER_ControlArchive with control action ARCHIVE_ACTION_COMMIT_SAVE_DATA on the opened archive. More...
 
+Result archiveUnmount (const char *deviceName)
 Unmounts the specified device, closing its archive in the process Returns -1 if the specified device was not found.
 
+Result archiveUnmountAll (void)
 Unmounts all devices and cleans up any resources used by the driver.
 
+Result archive_getmtime (const char *name, u64 *mtime)
 Get a file's mtime.
 
+

Detailed Description

+

FS_Archive driver.

+

Function Documentation

+ +

◆ archiveCommitSaveData()

+ +
+
+ + + + + + + + +
Result archiveCommitSaveData (const char * deviceName)
+
+ +

Uses FSUSER_ControlArchive with control action ARCHIVE_ACTION_COMMIT_SAVE_DATA on the opened archive.

+

Not done automatically at unmount. Returns -1 if the specified device is not found

+ +
+
+
+ + + + diff --git a/archive_8h_source.html b/archive_8h_source.html new file mode 100644 index 000000000..68ee3a715 --- /dev/null +++ b/archive_8h_source.html @@ -0,0 +1,141 @@ + + + + + + + +libctru: include/3ds/archive.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
archive.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file archive.h
+
3  * @brief FS_Archive driver
+
4  */
+
5 #pragma once
+
6 
+
7 #include <sys/types.h>
+
8 
+
9 #include <3ds/types.h>
+
10 #include <3ds/services/fs.h>
+
11 
+
12 #define ARCHIVE_DIRITER_MAGIC 0x68637261 /* "arch" */
+
13 
+
14 /*! Open directory struct */
+
15 typedef struct
+
16 {
+
17  u32 magic; /*! "arch" */
+
18  Handle fd; /*! CTRU handle */
+
19  ssize_t index; /*! Current entry index */
+
20  size_t size; /*! Current batch size */
+
21  FS_DirectoryEntry entry_data[32]; /*! Temporary storage for reading entries */
+ +
23 
+
24 /// Mounts the SD
+ +
26 
+
27 /// Mounts and opens an archive as deviceName
+
28 /// Returns either an archive open error code, or -1 for generic failure
+
29 Result archiveMount(FS_ArchiveID archiveID, FS_Path archivePath, const char *deviceName);
+
30 
+
31 /// Uses FSUSER_ControlArchive with control action ARCHIVE_ACTION_COMMIT_SAVE_DATA on the opened archive. Not done automatically at unmount.
+
32 /// Returns -1 if the specified device is not found
+
33 Result archiveCommitSaveData(const char *deviceName);
+
34 
+
35 /// Unmounts the specified device, closing its archive in the process
+
36 /// Returns -1 if the specified device was not found
+
37 Result archiveUnmount(const char *deviceName);
+
38 
+
39 /// Unmounts all devices and cleans up any resources used by the driver
+ +
41 
+
42 /// Get a file's mtime
+
43 Result archive_getmtime(const char *name, u64 *mtime);
+
Result archiveUnmount(const char *deviceName)
Unmounts the specified device, closing its archive in the process Returns -1 if the specified device ...
+
Result archiveMountSdmc(void)
Mounts the SD.
+
Result archiveCommitSaveData(const char *deviceName)
Uses FSUSER_ControlArchive with control action ARCHIVE_ACTION_COMMIT_SAVE_DATA on the opened archive.
+
Result archiveMount(FS_ArchiveID archiveID, FS_Path archivePath, const char *deviceName)
Mounts and opens an archive as deviceName Returns either an archive open error code,...
+
Result archive_getmtime(const char *name, u64 *mtime)
Get a file's mtime.
+
Result archiveUnmountAll(void)
Unmounts all devices and cleans up any resources used by the driver.
+
Filesystem Services.
+
FS_ArchiveID
Archive IDs.
Definition: fs.h:52
+
Directory entry.
Definition: fs.h:162
+
Filesystem path data, detailing the specific target of an operation.
Definition: fs.h:232
+
Open directory struct.
Definition: archive.h:16
+
size_t size
Current entry index.
Definition: archive.h:20
+
ssize_t index
CTRU handle.
Definition: archive.h:19
+
Handle fd
"arch"
Definition: archive.h:18
+
Various system types.
+
uint64_t u64
64-bit unsigned integer
Definition: types.h:24
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/asminc_8h_source.html b/asminc_8h_source.html new file mode 100644 index 000000000..e284d8cd2 --- /dev/null +++ b/asminc_8h_source.html @@ -0,0 +1,100 @@ + + + + + + + +libctru: include/3ds/asminc.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
asminc.h
+
+
+
1 #pragma once
+
2 
+
3 #if !__ASSEMBLER__
+
4  #error This header file is only for use in assembly files!
+
5 #endif // !__ASSEMBLER__
+
6 
+
7 .macro BEGIN_ASM_FUNC name, linkage=global, section=text
+
8  .section .\section\‍().\name, "ax", %progbits
+
9  .align 2
+
10  .\linkage \name
+
11  .type \name, %function
+
12  .func \name
+
13  .cfi_sections .debug_frame
+
14  .cfi_startproc
+
15  \name:
+
16 .endm
+
17 
+
18 .macro END_ASM_FUNC
+
19  .cfi_endproc
+
20  .endfunc
+
21 .endm
+
+ + + + diff --git a/audio_2filters_2source_2main_8c-example.html b/audio_2filters_2source_2main_8c-example.html new file mode 100644 index 000000000..2c9f29060 --- /dev/null +++ b/audio_2filters_2source_2main_8c-example.html @@ -0,0 +1,301 @@ + + + + + + + +libctru: audio/filters/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
audio/filters/source/main.c
+
+
+
#include <stdio.h>
+
#include <stdlib.h>
+
#include <string.h>
+
#include <math.h>
+
+
#include <3ds.h>
+
+
#define SAMPLERATE 22050
+
#define SAMPLESPERBUF (SAMPLERATE / 30)
+
#define BYTESPERSAMPLE 4
+
+
#define ARRAY_SIZE(array) (sizeof(array)/sizeof(array[0]))
+
+
// audioBuffer is stereo PCM16
+
void fill_buffer(void* audioBuffer, size_t offset, size_t size, int frequency) {
+
u32* dest = (u32*) audioBuffer;
+
+
for (int i = 0; i < size; i++) {
+
// This is a simple sine wave, with a frequency of `frequency` Hz, and an amplitude 30% of maximum.
+
s16 sample = 0.3 * 0x7FFF * sin(frequency * (2 * M_PI) * (offset + i) / SAMPLERATE);
+
+
// Stereo samples are interleaved: left and right channels.
+
dest[i] = (sample << 16) | (sample & 0xffff);
+
}
+
+
DSP_FlushDataCache(audioBuffer, size);
+
}
+
+
int main(int argc, char **argv) {
+ +
+
PrintConsole topScreen;
+
consoleInit(GFX_TOP, &topScreen);
+
consoleSelect(&topScreen);
+
+
printf("libctru filtered streamed audio\n");
+
+
u32* audioBuffer = (u32*) linearAlloc(SAMPLESPERBUF * BYTESPERSAMPLE * 2);
+
+
bool fillBlock = false;
+
+ +
+ +
+ +
ndspChnSetRate(0, SAMPLERATE);
+ +
+
// Output at 100% on the first pair of left and right channels.
+
+
float mix[12];
+
memset(mix, 0, sizeof(mix));
+
mix[0] = 1.0;
+
mix[1] = 1.0;
+
ndspChnSetMix(0, mix);
+
+
// Note Frequencies
+
+
int notefreq[] = {
+
220,
+
440, 880, 1760, 3520, 7040,
+
14080,
+
7040, 3520, 1760, 880, 440
+
};
+
+
int note = 4;
+
+
// Filters
+
+
const char* filter_names[] = {
+
"None",
+
"Low-Pass",
+
"High-Pass",
+
"Band-Pass",
+
"Notch",
+
"Peaking"
+
};
+
+
int filter = 0;
+
+
// We set up two wave buffers and alternate between the two,
+
// effectively streaming an infinitely long sine wave.
+
+
ndspWaveBuf waveBuf[2];
+
memset(waveBuf,0,sizeof(waveBuf));
+
waveBuf[0].data_vaddr = &audioBuffer[0];
+
waveBuf[0].nsamples = SAMPLESPERBUF;
+
waveBuf[1].data_vaddr = &audioBuffer[SAMPLESPERBUF];
+
waveBuf[1].nsamples = SAMPLESPERBUF;
+
+
size_t stream_offset = 0;
+
+
fill_buffer(audioBuffer,stream_offset, SAMPLESPERBUF * 2, notefreq[note]);
+
+
stream_offset += SAMPLESPERBUF;
+
+
ndspChnWaveBufAdd(0, &waveBuf[0]);
+
ndspChnWaveBufAdd(0, &waveBuf[1]);
+
+
printf("Press up/down to change tone frequency\n");
+
printf("Press left/right to change filter\n");
+
printf("\x1b[6;1Hnote = %i Hz ", notefreq[note]);
+
printf("\x1b[7;1Hfilter = %s ", filter_names[filter]);
+
+
while(aptMainLoop()) {
+
+ + + +
+ +
u32 kDown = hidKeysDown();
+
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
if (kDown & KEY_DOWN) {
+
note--;
+
if (note < 0) {
+
note = ARRAY_SIZE(notefreq) - 1;
+
}
+
printf("\x1b[6;1Hnote = %i Hz ", notefreq[note]);
+
} else if (kDown & KEY_UP) {
+
note++;
+
if (note >= ARRAY_SIZE(notefreq)) {
+
note = 0;
+
}
+
printf("\x1b[6;1Hnote = %i Hz ", notefreq[note]);
+
}
+
+
bool update_params = false;
+
if (kDown & KEY_LEFT) {
+
filter--;
+
if (filter < 0) {
+
filter = ARRAY_SIZE(filter_names) - 1;
+
}
+
update_params = true;
+
} else if (kDown & KEY_RIGHT) {
+
filter++;
+
if (filter >= ARRAY_SIZE(filter_names)) {
+
filter = 0;
+
}
+
update_params = true;
+
}
+
+
if (update_params) {
+
printf("\x1b[7;1Hfilter = %s ", filter_names[filter]);
+
switch (filter) {
+
default:
+ +
break;
+
case 1:
+ +
break;
+
case 2:
+ +
break;
+
case 3:
+ +
break;
+
case 4:
+ +
break;
+
case 5:
+ +
break;
+
}
+
}
+
+
if (waveBuf[fillBlock].status == NDSP_WBUF_DONE) {
+
fill_buffer(waveBuf[fillBlock].data_pcm16, stream_offset, waveBuf[fillBlock].nsamples, notefreq[note]);
+
ndspChnWaveBufAdd(0, &waveBuf[fillBlock]);
+
stream_offset += waveBuf[fillBlock].nsamples;
+
fillBlock = !fillBlock;
+
}
+
}
+
+ +
+
linearFree(audioBuffer);
+
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
@ NDSP_FORMAT_STEREO_PCM16
Buffer contains Stereo PCM16.
Definition: channel.h:29
+
void ndspChnSetMix(int id, float mix[12])
Sets the mix parameters (volumes) of a channel.
+
void ndspChnWaveBufAdd(int id, ndspWaveBuf *buf)
Adds a wave buffer to the wave buffer queue of a channel.
+
@ NDSP_INTERP_LINEAR
Linear interpolation.
Definition: channel.h:44
+
bool ndspChnIirBiquadSetParamsNotchFilter(int id, float f0, float Q)
Sets the biquad to be a notch filter.
+
void ndspChnSetRate(int id, float rate)
Sets the sample rate of a channel.
+
bool ndspChnIirBiquadSetParamsLowPassFilter(int id, float f0, float Q)
Sets the biquad to be a low pass filter.
+
void ndspChnSetFormat(int id, u16 format)
Sets the format of a channel.
+
bool ndspChnIirBiquadSetParamsHighPassFilter(int id, float f0, float Q)
Sets the biquad to be a high pass filter.
+
bool ndspChnIirBiquadSetParamsPeakingEqualizer(int id, float f0, float Q, float gain)
Sets the biquad to be a peaking equalizer.
+
void ndspChnIirBiquadSetEnable(int id, bool enable)
Configures whether the IIR biquad filter of a channel is enabled.
+
void ndspChnSetInterp(int id, ndspInterpType type)
Sets the interpolation type of a channel.
+
bool ndspChnIirBiquadSetParamsBandPassFilter(int id, float f0, float Q)
Sets the biquad to be a band pass filter.
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
PrintConsole * consoleSelect(PrintConsole *console)
Make the specified console the render target.
+
Result DSP_FlushDataCache(const void *address, u32 size)
Flushes the cache.
+
void gfxSwapBuffers(void)
Updates the configuration of both screens.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
void gfxFlushBuffers(void)
Flushes the data cache for the current framebuffers.
+
#define gspWaitForVBlank()
Waits for VBlank.
Definition: gspgpu.h:151
+
@ KEY_UP
D-Pad Up or Circle Pad Up.
Definition: hid.h:37
+
@ KEY_LEFT
D-Pad Left or Circle Pad Left.
Definition: hid.h:39
+
@ KEY_START
Start.
Definition: hid.h:15
+
@ KEY_RIGHT
D-Pad Right or Circle Pad Right.
Definition: hid.h:40
+
@ KEY_DOWN
D-Pad Down or Circle Pad Down.
Definition: hid.h:38
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
void * linearAlloc(size_t size)
Allocates a 0x80-byte aligned buffer.
+
void linearFree(void *mem)
Frees a buffer.
+
void ndspSetOutputMode(ndspOutputMode mode)
Sets the output mode.
+
@ NDSP_WBUF_DONE
The wave buffer has finished being played.
Definition: ndsp.h:53
+
void ndspExit(void)
Exits NDSP.
+
@ NDSP_OUTPUT_STEREO
Stereo sound.
Definition: ndsp.h:17
+
Result ndspInit(void)
Initializes NDSP.
+
Console structure used to store the state of a console render context.
Definition: console.h:77
+
int16_t s16
16-bit signed integer
Definition: types.h:27
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/audio_2mic_2source_2main_8c-example.html b/audio_2mic_2source_2main_8c-example.html new file mode 100644 index 000000000..49e78bfce --- /dev/null +++ b/audio_2mic_2source_2main_8c-example.html @@ -0,0 +1,214 @@ + + + + + + + +libctru: audio/mic/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
audio/mic/source/main.c
+
+
+
#include <stdlib.h>
+
#include <stdio.h>
+
#include <string.h>
+
#include <malloc.h>
+
#include <3ds.h>
+
+
int main()
+
{
+ + +
+
bool initialized = true;
+
+
u32 micbuf_size = 0x30000;
+
u32 micbuf_pos = 0;
+
u8* micbuf = memalign(0x1000, micbuf_size);
+
+
printf("Initializing CSND...\n");
+ +
{
+
initialized = false;
+
printf("Could not initialize CSND.\n");
+
} else printf("CSND initialized.\n");
+
+
printf("Initializing MIC...\n");
+
if(R_FAILED(micInit(micbuf, micbuf_size)))
+
{
+
initialized = false;
+
printf("Could not initialize MIC.\n");
+
} else printf("MIC initialized.\n");
+
+
u32 micbuf_datasize = micGetSampleDataSize();
+
+
u32 audiobuf_size = 0x100000;
+
u32 audiobuf_pos = 0;
+
u8* audiobuf = linearAlloc(audiobuf_size);
+
+
if(initialized) printf("Hold A to record, release to play.\n");
+
printf("Press START to exit.\n");
+
+
while(aptMainLoop())
+
{
+ + +
+
u32 kDown = hidKeysDown();
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
if(initialized)
+
{
+
if(kDown & KEY_A)
+
{
+
audiobuf_pos = 0;
+
micbuf_pos = 0;
+
+
printf("Stopping audio playback...\n");
+ +
if(R_FAILED(CSND_UpdateInfo(0))) printf("Failed to stop audio playback.\n");
+
+
printf("Starting sampling...\n");
+
if(R_SUCCEEDED(MICU_StartSampling(MICU_ENCODING_PCM16_SIGNED, MICU_SAMPLE_RATE_16360, 0, micbuf_datasize, true))) printf("Now recording.\n");
+
else printf("Failed to start sampling.\n");
+
}
+
+
if((hidKeysHeld() & KEY_A) && audiobuf_pos < audiobuf_size)
+
{
+
u32 micbuf_readpos = micbuf_pos;
+
micbuf_pos = micGetLastSampleOffset();
+
while(audiobuf_pos < audiobuf_size && micbuf_readpos != micbuf_pos)
+
{
+
audiobuf[audiobuf_pos] = micbuf[micbuf_readpos];
+
audiobuf_pos++;
+
micbuf_readpos = (micbuf_readpos + 1) % micbuf_datasize;
+
}
+
}
+
+
if(hidKeysUp() & KEY_A)
+
{
+
printf("Stoping sampling...\n");
+
if(R_FAILED(MICU_StopSampling())) printf("Failed to stop sampling.\n");
+
+
printf("Starting audio playback...\n");
+
if(R_SUCCEEDED(GSPGPU_FlushDataCache(audiobuf, audiobuf_pos)) && R_SUCCEEDED(csndPlaySound(0x8, SOUND_ONE_SHOT | SOUND_FORMAT_16BIT, 16360, 1.0, 0.0, (u32*)audiobuf, NULL, audiobuf_pos))) printf("Now playing.\n");
+
else printf("Failed to start playback.\n");
+
}
+
}
+
+ + +
}
+
+
linearFree(audiobuf);
+
+ +
free(micbuf);
+
+ + +
return 0;
+
}
+
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
Result CSND_UpdateInfo(bool waitDone)
Updates CSND information.
+
Result csndInit(void)
Initializes CSND.
+
Result csndPlaySound(int chn, u32 flags, u32 sampleRate, float vol, float pan, void *data0, void *data1, u32 size)
Plays a sound.
+
void CSND_SetPlayState(u32 channel, u32 value)
Sets a channel's play state.
+
@ SOUND_FORMAT_16BIT
PCM16.
Definition: csnd.h:72
+
@ SOUND_ONE_SHOT
Play the sound once.
Definition: csnd.h:70
+
void csndExit(void)
Exits CSND.
+
void gfxSwapBuffers(void)
Updates the configuration of both screens.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_BOTTOM
Bottom screen.
Definition: gfx.h:27
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
void gfxFlushBuffers(void)
Flushes the data cache for the current framebuffers.
+
Result GSPGPU_FlushDataCache(const void *adr, u32 size)
Flushes memory from the data cache.
+
#define gspWaitForVBlank()
Waits for VBlank.
Definition: gspgpu.h:151
+
@ KEY_START
Start.
Definition: hid.h:15
+
@ KEY_A
A.
Definition: hid.h:12
+
u32 hidKeysHeld(void)
Returns a bitmask of held buttons.
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
u32 hidKeysUp(void)
Returns a bitmask of newly released buttons, this frame.
+
void * linearAlloc(size_t size)
Allocates a 0x80-byte aligned buffer.
+
void linearFree(void *mem)
Frees a buffer.
+
Result micInit(u8 *buffer, u32 bufferSize)
Initializes MIC.
+
u32 micGetSampleDataSize(void)
Gets the size of the sample data area within the shared memory buffer.
+
@ MICU_ENCODING_PCM16_SIGNED
Signed 16-bit PCM.
Definition: mic.h:13
+
void micExit(void)
Exits MIC.
+
Result MICU_StartSampling(MICU_Encoding encoding, MICU_SampleRate sampleRate, u32 offset, u32 size, bool loop)
Begins sampling microphone input.
+
Result MICU_StopSampling(void)
Stops sampling microphone input.
+
u32 micGetLastSampleOffset(void)
Gets the offset within the shared memory buffer of the last sample written.
+
@ MICU_SAMPLE_RATE_16360
16364.479 Hz
Definition: mic.h:20
+
#define R_FAILED(res)
Checks whether a result code indicates failure.
Definition: result.h:11
+
#define R_SUCCEEDED(res)
Checks whether a result code indicates success.
Definition: result.h:9
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/audio_2streaming_2source_2main_8c-example.html b/audio_2streaming_2source_2main_8c-example.html new file mode 100644 index 000000000..ee1208d24 --- /dev/null +++ b/audio_2streaming_2source_2main_8c-example.html @@ -0,0 +1,235 @@ + + + + + + + +libctru: audio/streaming/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
audio/streaming/source/main.c
+
+
+
#include <stdio.h>
+
#include <stdlib.h>
+
#include <string.h>
+
#include <math.h>
+
+
#include <3ds.h>
+
+
#define SAMPLERATE 22050
+
#define SAMPLESPERBUF (SAMPLERATE / 30)
+
#define BYTESPERSAMPLE 4
+
+
//----------------------------------------------------------------------------
+
void fill_buffer(void *audioBuffer,size_t offset, size_t size, int frequency ) {
+
//----------------------------------------------------------------------------
+
+
u32 *dest = (u32*)audioBuffer;
+
+
for (int i=0; i<size; i++) {
+
+
s16 sample = INT16_MAX * sin(frequency*(2*M_PI)*(offset+i)/SAMPLERATE);
+
+
dest[i] = (sample<<16) | (sample & 0xffff);
+
}
+
+
DSP_FlushDataCache(audioBuffer,size);
+
+
}
+
+
//----------------------------------------------------------------------------
+
int main(int argc, char **argv) {
+
//----------------------------------------------------------------------------
+
+
PrintConsole topScreen;
+
ndspWaveBuf waveBuf[2];
+
+ +
+
consoleInit(GFX_TOP, &topScreen);
+
+
consoleSelect(&topScreen);
+
+
printf("libctru streaming audio\n");
+
+
u32 *audioBuffer = (u32*)linearAlloc(SAMPLESPERBUF*BYTESPERSAMPLE*2);
+
+
bool fillBlock = false;
+
+ +
+ +
+ +
ndspChnSetRate(0, SAMPLERATE);
+ +
+
float mix[12];
+
memset(mix, 0, sizeof(mix));
+
mix[0] = 1.0;
+
mix[1] = 1.0;
+
ndspChnSetMix(0, mix);
+
+
int notefreq[] = {
+
262, 294, 339, 349, 392, 440,
+
494, 440, 392, 349, 339, 294
+
};
+
+
int note = 4;
+
+
memset(waveBuf,0,sizeof(waveBuf));
+
waveBuf[0].data_vaddr = &audioBuffer[0];
+
waveBuf[0].nsamples = SAMPLESPERBUF;
+
waveBuf[1].data_vaddr = &audioBuffer[SAMPLESPERBUF];
+
waveBuf[1].nsamples = SAMPLESPERBUF;
+
+
size_t stream_offset = 0;
+
+
fill_buffer(audioBuffer,stream_offset, SAMPLESPERBUF * 2, notefreq[note]);
+
+
stream_offset += SAMPLESPERBUF;
+
+
ndspChnWaveBufAdd(0, &waveBuf[0]);
+
ndspChnWaveBufAdd(0, &waveBuf[1]);
+
+
printf("Press up/down to change tone\n");
+
+
while(aptMainLoop()) {
+
+ + + +
+ +
u32 kDown = hidKeysDown();
+
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
if (kDown & KEY_DOWN) {
+
note -= 1;
+
+
if (note<0) note = sizeof(notefreq)/sizeof(notefreq[0])-1;
+
}
+
+
if (kDown & KEY_UP) {
+
note += 1;
+
+
if (note > (sizeof(notefreq)/sizeof(notefreq[0])-1)) note = 0;
+
}
+
+
if (waveBuf[fillBlock].status == NDSP_WBUF_DONE) {
+
+
fill_buffer(waveBuf[fillBlock].data_pcm16, stream_offset, waveBuf[fillBlock].nsamples,notefreq[note]);
+
+
ndspChnWaveBufAdd(0, &waveBuf[fillBlock]);
+
stream_offset += waveBuf[fillBlock].nsamples;
+
+
fillBlock = !fillBlock;
+
}
+
}
+
+ +
+
linearFree(audioBuffer);
+
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
@ NDSP_FORMAT_STEREO_PCM16
Buffer contains Stereo PCM16.
Definition: channel.h:29
+
void ndspChnSetMix(int id, float mix[12])
Sets the mix parameters (volumes) of a channel.
+
void ndspChnWaveBufAdd(int id, ndspWaveBuf *buf)
Adds a wave buffer to the wave buffer queue of a channel.
+
@ NDSP_INTERP_LINEAR
Linear interpolation.
Definition: channel.h:44
+
void ndspChnSetRate(int id, float rate)
Sets the sample rate of a channel.
+
void ndspChnSetFormat(int id, u16 format)
Sets the format of a channel.
+
void ndspChnSetInterp(int id, ndspInterpType type)
Sets the interpolation type of a channel.
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
PrintConsole * consoleSelect(PrintConsole *console)
Make the specified console the render target.
+
Result DSP_FlushDataCache(const void *address, u32 size)
Flushes the cache.
+
void gfxSwapBuffers(void)
Updates the configuration of both screens.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
void gfxFlushBuffers(void)
Flushes the data cache for the current framebuffers.
+
#define gspWaitForVBlank()
Waits for VBlank.
Definition: gspgpu.h:151
+
@ KEY_UP
D-Pad Up or Circle Pad Up.
Definition: hid.h:37
+
@ KEY_START
Start.
Definition: hid.h:15
+
@ KEY_DOWN
D-Pad Down or Circle Pad Down.
Definition: hid.h:38
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
void * linearAlloc(size_t size)
Allocates a 0x80-byte aligned buffer.
+
void linearFree(void *mem)
Frees a buffer.
+
void ndspSetOutputMode(ndspOutputMode mode)
Sets the output mode.
+
@ NDSP_WBUF_DONE
The wave buffer has finished being played.
Definition: ndsp.h:53
+
void ndspExit(void)
Exits NDSP.
+
@ NDSP_OUTPUT_STEREO
Stereo sound.
Definition: ndsp.h:17
+
Result ndspInit(void)
Initializes NDSP.
+
Console structure used to store the state of a console render context.
Definition: console.h:77
+
int16_t s16
16-bit signed integer
Definition: types.h:27
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/bc_s.png b/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2 GIT binary patch literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/bdwn.png b/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T + + + + + + +libctru: include/3ds/services/boss.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
boss.h File Reference
+
+
+ +

BOSS service, see also: https://www.3dbrew.org/wiki/BOSS_Services. +More...

+ +

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  bossContext
 BOSS context. More...
 
+ + + + + + + + + + +

+Enumerations

enum  bossTaskStatus {
+  BOSSTASKSTATUS_STARTED = 0x2 +,
+  BOSSTASKSTATUS_ERROR = 0x7 +
+ }
 BOSS task status.
 
enum  bossNsDataHeaderInfoTypes { bossNsDataHeaderInfoType_ContentSize = 0x3 + }
 Type values for bossGetNsDataHeaderInfo().
 
enum  bossNsDataHeaderInfoTypeSizes { bossNsDataHeaderInfoTypeSize_ContentSize = 0x4 + }
 Size of the output data for bossGetNsDataHeaderInfo().
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

Result bossInit (u64 programID, bool force_user)
 Initializes BOSS. More...
 
Result bossReinit (u64 programID)
 Run the InitializeSession service cmd. More...
 
+void bossExit (void)
 Exits BOSS.
 
+Handle bossGetSessionHandle (void)
 Returns the BOSS session handle.
 
Result bossSetStorageInfo (u64 extdataID, u32 boss_size, u8 mediaType)
 Set the content data storage location. More...
 
+Result bossUnregisterStorage (void)
 Unregister the content data storage location, which includes unregistering the BOSS-session programID with BOSS.
 
Result bossRegisterTask (const char *taskID, u8 unk0, u8 unk1)
 Register a task. More...
 
Result bossSendProperty (u16 PropertyID, const void *buf, u32 size)
 Send a property. More...
 
Result bossDeleteNsData (u32 NsDataId)
 Deletes the content file for the specified NsDataId. More...
 
Result bossGetNsDataHeaderInfo (u32 NsDataId, u8 type, void *buffer, u32 size)
 Gets header info for the specified NsDataId. More...
 
Result bossReadNsData (u32 NsDataId, u64 offset, void *buffer, u32 size, u32 *transfer_total, u32 *unk_out)
 Reads data from the content for the specified NsDataId. More...
 
Result bossStartTaskImmediate (const char *taskID)
 Starts a task soon after running this command. More...
 
Result bossStartBgImmediate (const char *taskID)
 Similar to bossStartTaskImmediate? More...
 
Result bossDeleteTask (const char *taskID, u32 unk)
 Deletes a task by using CancelTask and UnregisterTask internally. More...
 
Result bossGetTaskState (const char *taskID, s8 inval, u8 *status, u32 *out1, u8 *out2)
 Returns task state. More...
 
Result bossGetTaskProperty0 (const char *taskID, u8 *out)
 This loads the current state of PropertyID 0x0 for the specified task. More...
 
void bossSetupContextDefault (bossContext *ctx, u32 seconds_interval, const char *url)
 Setup a BOSS context with the default config. More...
 
Result bossSendContextConfig (bossContext *ctx)
 Sends the config stored in the context. More...
 
+

Detailed Description

+

Function Documentation

+ +

◆ bossDeleteNsData()

+ +
+
+ + + + + + + + +
Result bossDeleteNsData (u32 NsDataId)
+
+ +

Deletes the content file for the specified NsDataId.

+
Parameters
+ + +
NsDataIdNsDataId
+
+
+
Examples
network/boss/source/main.c.
+
+ +
+
+ +

◆ bossDeleteTask()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result bossDeleteTask (const char * taskID,
u32 unk 
)
+
+ +

Deletes a task by using CancelTask and UnregisterTask internally.

+
Parameters
+ + + +
taskIDBOSS taskID.
unkUnknown, usually zero?
+
+
+
Examples
network/boss/source/main.c.
+
+ +
+
+ +

◆ bossGetNsDataHeaderInfo()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result bossGetNsDataHeaderInfo (u32 NsDataId,
u8 type,
void * buffer,
u32 size 
)
+
+ +

Gets header info for the specified NsDataId.

+
Parameters
+ + + + + +
NsDataIdNsDataId
typeType of data to load.
bufferOutput buffer.
sizeOutput buffer size.
+
+
+
Examples
network/boss/source/main.c.
+
+ +
+
+ +

◆ bossGetTaskProperty0()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result bossGetTaskProperty0 (const char * taskID,
u8out 
)
+
+ +

This loads the current state of PropertyID 0x0 for the specified task.

+
Parameters
+ + +
taskIDBOSS taskID.
+
+
+ +
+
+ +

◆ bossGetTaskState()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result bossGetTaskState (const char * taskID,
s8 inval,
u8status,
u32out1,
u8out2 
)
+
+ +

Returns task state.

+
Parameters
+ + + + + + +
taskIDBOSS taskID.
invalUnknown, normally 0?
statusOutput status, see bossTaskStatus.
out1Output field.
out2Output field.
+
+
+
Examples
network/boss/source/main.c.
+
+ +
+
+ +

◆ bossInit()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result bossInit (u64 programID,
bool force_user 
)
+
+ +

Initializes BOSS.

+
Parameters
+ + + +
programIDprogramID to use, 0 for the current process. Only used when BOSSP is available without *hax payload.
force_userWhen true, just use bossU instead of trying to initialize with bossP first.
+
+
+
Examples
network/boss/source/main.c.
+
+ +
+
+ +

◆ bossReadNsData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result bossReadNsData (u32 NsDataId,
u64 offset,
void * buffer,
u32 size,
u32transfer_total,
u32unk_out 
)
+
+ +

Reads data from the content for the specified NsDataId.

+
Parameters
+ + + + + + + +
NsDataIdNsDataId
offsetOffset in the content.
bufferOutput buffer.
sizeOutput buffer size.
transfer_totalOptional output actual read size, can be NULL.
unk_outOptional unknown output, can be NULL.
+
+
+
Examples
network/boss/source/main.c.
+
+ +
+
+ +

◆ bossRegisterTask()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result bossRegisterTask (const char * taskID,
u8 unk0,
u8 unk1 
)
+
+ +

Register a task.

+
Parameters
+ + + + +
taskIDBOSS taskID.
unk0Unknown, usually zero.
unk1Unknown, usually zero.
+
+
+
Examples
network/boss/source/main.c.
+
+ +
+
+ +

◆ bossReinit()

+ +
+
+ + + + + + + + +
Result bossReinit (u64 programID)
+
+ +

Run the InitializeSession service cmd.

+

This is mainly for changing the programID associated with the current BOSS session.

Parameters
+ + +
programIDprogramID to use, 0 for the current process.
+
+
+ +
+
+ +

◆ bossSendContextConfig()

+ +
+
+ + + + + + + + +
Result bossSendContextConfig (bossContextctx)
+
+ +

Sends the config stored in the context.

+

Used before registering a task.

Parameters
+ + +
bossContextBOSS context.
+
+
+
Examples
network/boss/source/main.c.
+
+ +
+
+ +

◆ bossSendProperty()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result bossSendProperty (u16 PropertyID,
const void * buf,
u32 size 
)
+
+ +

Send a property.

+
Parameters
+ + + + +
PropertyIDPropertyID
bufInput buffer data.
sizeBuffer size.
+
+
+ +
+
+ +

◆ bossSetStorageInfo()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result bossSetStorageInfo (u64 extdataID,
u32 boss_size,
u8 mediaType 
)
+
+ +

Set the content data storage location.

+
Parameters
+ + + + +
extdataIDu64 extdataID, must have the high word set to the shared-extdata value when it's for NAND.
boss_sizeProbably the max size in the extdata which BOSS can use.
mediaTypeRoughly the same as FS mediatype.
+
+
+ +
+
+ +

◆ bossSetupContextDefault()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void bossSetupContextDefault (bossContextctx,
u32 seconds_interval,
const char * url 
)
+
+ +

Setup a BOSS context with the default config.

+
Parameters
+ + + + +
bossContextBOSS context.
seconds_intervalInterval in seconds for running the task automatically.
urlTask URL.
+
+
+
Examples
network/boss/source/main.c.
+
+ +
+
+ +

◆ bossStartBgImmediate()

+ +
+
+ + + + + + + + +
Result bossStartBgImmediate (const char * taskID)
+
+ +

Similar to bossStartTaskImmediate?

+
Parameters
+ + +
taskIDBOSS taskID.
+
+
+ +
+
+ +

◆ bossStartTaskImmediate()

+ +
+
+ + + + + + + + +
Result bossStartTaskImmediate (const char * taskID)
+
+ +

Starts a task soon after running this command.

+
Parameters
+ + +
taskIDBOSS taskID.
+
+
+
Examples
network/boss/source/main.c.
+
+ +
+
+
+ + + + diff --git a/boss_8h_source.html b/boss_8h_source.html new file mode 100644 index 000000000..8159f9467 --- /dev/null +++ b/boss_8h_source.html @@ -0,0 +1,288 @@ + + + + + + + +libctru: include/3ds/services/boss.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
boss.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file boss.h
+
3  * @brief BOSS service, see also: https://www.3dbrew.org/wiki/BOSS_Services
+
4  */
+
5 #pragma once
+
6 
+
7 /// BOSS context.
+
8 typedef struct
+
9 {
+
10  u32 property[0x7];
+
11 
+
12  char url[0x200];
+
13 
+
14  u32 property_x8;
+
15  u8 property_x9;
+
16 
+
17  u8 property_xa[0x100];
+
18 
+
19  u8 property_xb[0x200];
+
20 
+
21  char property_xd[0x360];//Additonal optional HTTP request headers.
+
22 
+
23  u32 property_xe;
+
24 
+
25  u32 property_xf[0xc>>2];
+
26 
+
27  u8 property_x10;
+
28  u8 property_x11;
+
29  u8 property_x12;
+
30  u32 property_x13;
+
31  u32 property_x14;
+
32 
+
33  u8 property_x15[0x40];
+
34 
+
35  u32 property_x16;
+
36 
+
37  u32 property_x3b;
+
38 
+
39  u8 property_x3e[0x200];
+
40 } bossContext;
+
41 
+
42 /// BOSS task status.
+
43 typedef enum {
+
44  BOSSTASKSTATUS_STARTED = 0x2,
+
45  BOSSTASKSTATUS_ERROR = 0x7,
+ +
47 
+
48 /// Type values for bossGetNsDataHeaderInfo().
+
49 typedef enum {
+
50  bossNsDataHeaderInfoType_ContentSize = 0x3 /// Size of the content.
+ +
52 
+
53 /// Size of the output data for bossGetNsDataHeaderInfo().
+
54 typedef enum {
+
55  bossNsDataHeaderInfoTypeSize_ContentSize = 0x4 ///Type2
+ +
57 
+
58 /**
+
59  * @brief Initializes BOSS.
+
60  * @param programID programID to use, 0 for the current process. Only used when BOSSP is available without *hax payload.
+
61  * @param force_user When true, just use bossU instead of trying to initialize with bossP first.
+
62  */
+
63 Result bossInit(u64 programID, bool force_user);
+
64 
+
65 /**
+
66  * @brief Run the InitializeSession service cmd. This is mainly for changing the programID associated with the current BOSS session.
+
67  * @param programID programID to use, 0 for the current process.
+
68  */
+
69 Result bossReinit(u64 programID);
+
70 
+
71 /// Exits BOSS.
+
72 void bossExit(void);
+
73 
+
74 /// Returns the BOSS session handle.
+ +
76 
+
77 /**
+
78  * @brief Set the content data storage location.
+
79  * @param extdataID u64 extdataID, must have the high word set to the shared-extdata value when it's for NAND.
+
80  * @param boss_size Probably the max size in the extdata which BOSS can use.
+
81  * @param mediaType Roughly the same as FS mediatype.
+
82  */
+
83 Result bossSetStorageInfo(u64 extdataID, u32 boss_size, u8 mediaType);
+
84 
+
85 /**
+
86  * @brief Unregister the content data storage location, which includes unregistering the BOSS-session programID with BOSS.
+
87  */
+ +
89 
+
90 /**
+
91  * @brief Register a task.
+
92  * @param taskID BOSS taskID.
+
93  * @param unk0 Unknown, usually zero.
+
94  * @param unk1 Unknown, usually zero.
+
95  */
+
96 Result bossRegisterTask(const char *taskID, u8 unk0, u8 unk1);
+
97 
+
98 /**
+
99  * @brief Send a property.
+
100  * @param PropertyID PropertyID
+
101  * @param buf Input buffer data.
+
102  * @param size Buffer size.
+
103  */
+
104 Result bossSendProperty(u16 PropertyID, const void* buf, u32 size);
+
105 
+
106 /**
+
107  * @brief Deletes the content file for the specified NsDataId.
+
108  * @param NsDataId NsDataId
+
109  */
+ +
111 
+
112 /**
+
113  * @brief Gets header info for the specified NsDataId.
+
114  * @param NsDataId NsDataId
+
115  * @param type Type of data to load.
+
116  * @param buffer Output buffer.
+
117  * @param size Output buffer size.
+
118  */
+
119 Result bossGetNsDataHeaderInfo(u32 NsDataId, u8 type, void* buffer, u32 size);
+
120 
+
121 /**
+
122  * @brief Reads data from the content for the specified NsDataId.
+
123  * @param NsDataId NsDataId
+
124  * @param offset Offset in the content.
+
125  * @param buffer Output buffer.
+
126  * @param size Output buffer size.
+
127  * @param transfer_total Optional output actual read size, can be NULL.
+
128  * @param unk_out Optional unknown output, can be NULL.
+
129  */
+
130 Result bossReadNsData(u32 NsDataId, u64 offset, void* buffer, u32 size, u32 *transfer_total, u32 *unk_out);
+
131 
+
132 /**
+
133  * @brief Starts a task soon after running this command.
+
134  * @param taskID BOSS taskID.
+
135  */
+
136 Result bossStartTaskImmediate(const char *taskID);
+
137 
+
138 /**
+
139  * @brief Similar to bossStartTaskImmediate?
+
140  * @param taskID BOSS taskID.
+
141  */
+
142 Result bossStartBgImmediate(const char *taskID);
+
143 
+
144 /**
+
145  * @brief Deletes a task by using CancelTask and UnregisterTask internally.
+
146  * @param taskID BOSS taskID.
+
147  * @param unk Unknown, usually zero?
+
148  */
+
149 Result bossDeleteTask(const char *taskID, u32 unk);
+
150 
+
151 /**
+
152  * @brief Returns task state.
+
153  * @param taskID BOSS taskID.
+
154  * @param inval Unknown, normally 0?
+
155  * @param status Output status, see bossTaskStatus.
+
156  * @param out1 Output field.
+
157  * @param out2 Output field.
+
158  */
+
159 Result bossGetTaskState(const char *taskID, s8 inval, u8 *status, u32 *out1, u8 *out2);
+
160 
+
161 /**
+
162  * @brief This loads the current state of PropertyID 0x0 for the specified task.
+
163  * @param taskID BOSS taskID.
+
164  */
+
165 Result bossGetTaskProperty0(const char *taskID, u8 *out);
+
166 
+
167 /**
+
168  * @brief Setup a BOSS context with the default config.
+
169  * @param bossContext BOSS context.
+
170  * @param seconds_interval Interval in seconds for running the task automatically.
+
171  * @param url Task URL.
+
172  */
+
173 void bossSetupContextDefault(bossContext *ctx, u32 seconds_interval, const char *url);
+
174 
+
175 /**
+
176  * @brief Sends the config stored in the context. Used before registering a task.
+
177  * @param bossContext BOSS context.
+
178  */
+ +
180 
+
Result bossGetTaskProperty0(const char *taskID, u8 *out)
This loads the current state of PropertyID 0x0 for the specified task.
+
Result bossGetTaskState(const char *taskID, s8 inval, u8 *status, u32 *out1, u8 *out2)
Returns task state.
+
bossNsDataHeaderInfoTypes
Type values for bossGetNsDataHeaderInfo().
Definition: boss.h:49
+
void bossSetupContextDefault(bossContext *ctx, u32 seconds_interval, const char *url)
Setup a BOSS context with the default config.
+
Result bossSendContextConfig(bossContext *ctx)
Sends the config stored in the context.
+
Result bossInit(u64 programID, bool force_user)
Initializes BOSS.
+
Result bossReadNsData(u32 NsDataId, u64 offset, void *buffer, u32 size, u32 *transfer_total, u32 *unk_out)
Reads data from the content for the specified NsDataId.
+
Result bossUnregisterStorage(void)
Unregister the content data storage location, which includes unregistering the BOSS-session programID...
+
void bossExit(void)
Exits BOSS.
+
bossTaskStatus
BOSS task status.
Definition: boss.h:43
+
Result bossStartTaskImmediate(const char *taskID)
Starts a task soon after running this command.
+
Result bossSetStorageInfo(u64 extdataID, u32 boss_size, u8 mediaType)
Set the content data storage location.
+
Result bossDeleteTask(const char *taskID, u32 unk)
Deletes a task by using CancelTask and UnregisterTask internally.
+
Result bossDeleteNsData(u32 NsDataId)
Deletes the content file for the specified NsDataId.
+
Result bossGetNsDataHeaderInfo(u32 NsDataId, u8 type, void *buffer, u32 size)
Gets header info for the specified NsDataId.
+
Result bossSendProperty(u16 PropertyID, const void *buf, u32 size)
Send a property.
+
Result bossReinit(u64 programID)
Run the InitializeSession service cmd.
+
Result bossRegisterTask(const char *taskID, u8 unk0, u8 unk1)
Register a task.
+
bossNsDataHeaderInfoTypeSizes
Size of the output data for bossGetNsDataHeaderInfo().
Definition: boss.h:54
+
Handle bossGetSessionHandle(void)
Returns the BOSS session handle.
+
Result bossStartBgImmediate(const char *taskID)
Similar to bossStartTaskImmediate?
+
BOSS context.
Definition: boss.h:9
+
uint64_t u64
64-bit unsigned integer
Definition: types.h:24
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
int8_t s8
8-bit signed integer
Definition: types.h:26
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/cam_8h.html b/cam_8h.html new file mode 100644 index 000000000..ffcfd1ca7 --- /dev/null +++ b/cam_8h.html @@ -0,0 +1,3295 @@ + + + + + + + +libctru: include/3ds/services/cam.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
cam.h File Reference
+
+
+ +

CAM service for using the 3DS's front and back cameras. +More...

+
#include <3ds/services/y2r.h>
+#include <3ds/types.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + +

+Data Structures

struct  CAMU_ImageQualityCalibrationData
 Image quality calibration data. More...
 
struct  CAMU_StereoCameraCalibrationData
 Stereo camera calibration data. More...
 
struct  CAMU_PackageParameterCameraSelect
 Batch camera configuration for use without a context. More...
 
struct  CAMU_PackageParameterContext
 Batch camera configuration for use with a context. More...
 
struct  CAMU_PackageParameterContextDetail
 Batch camera configuration for use with a context and with detailed size information. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Enumerations

enum  {
+  PORT_NONE = 0x0 +,
+  PORT_CAM1 = BIT(0) +,
+  PORT_CAM2 = BIT(1) +,
+  PORT_BOTH = PORT_CAM1 | PORT_CAM2 +
+ }
 Camera connection target ports. More...
 
enum  {
+  SELECT_NONE = 0x0 +,
+  SELECT_OUT1 = BIT(0) +,
+  SELECT_IN1 = BIT(1) +,
+  SELECT_OUT2 = BIT(2) +,
+  SELECT_IN1_OUT1 = SELECT_OUT1 | SELECT_IN1 +,
+  SELECT_OUT1_OUT2 = SELECT_OUT1 | SELECT_OUT2 +,
+  SELECT_IN1_OUT2 = SELECT_IN1 | SELECT_OUT2 +,
+  SELECT_ALL = SELECT_OUT1 | SELECT_IN1 | SELECT_OUT2 +
+ }
 Camera combinations. More...
 
enum  CAMU_Context {
+  CONTEXT_NONE = 0x0 +,
+  CONTEXT_A = BIT(0) +,
+  CONTEXT_B = BIT(1) +,
+  CONTEXT_BOTH = CONTEXT_A | CONTEXT_B +
+ }
 Camera contexts. More...
 
enum  CAMU_Flip {
+  FLIP_NONE = 0x0 +,
+  FLIP_HORIZONTAL = 0x1 +,
+  FLIP_VERTICAL = 0x2 +,
+  FLIP_REVERSE = 0x3 +
+ }
 Ways to flip the camera image. More...
 
enum  CAMU_Size {
+  SIZE_VGA = 0x0 +,
+  SIZE_QVGA = 0x1 +,
+  SIZE_QQVGA = 0x2 +,
+  SIZE_CIF = 0x3 +,
+  SIZE_QCIF = 0x4 +,
+  SIZE_DS_LCD = 0x5 +,
+  SIZE_DS_LCDx4 = 0x6 +,
+  SIZE_CTR_TOP_LCD = 0x7 +,
+  SIZE_CTR_BOTTOM_LCD = SIZE_QVGA +
+ }
 Camera image resolutions. More...
 
enum  CAMU_FrameRate {
+  FRAME_RATE_15 = 0x0 +,
+  FRAME_RATE_15_TO_5 = 0x1 +,
+  FRAME_RATE_15_TO_2 = 0x2 +,
+  FRAME_RATE_10 = 0x3 +,
+  FRAME_RATE_8_5 = 0x4 +,
+  FRAME_RATE_5 = 0x5 +,
+  FRAME_RATE_20 = 0x6 +,
+  FRAME_RATE_20_TO_5 = 0x7 +,
+  FRAME_RATE_30 = 0x8 +,
+  FRAME_RATE_30_TO_5 = 0x9 +,
+  FRAME_RATE_15_TO_10 = 0xA +,
+  FRAME_RATE_20_TO_10 = 0xB +,
+  FRAME_RATE_30_TO_10 = 0xC +
+ }
 Camera capture frame rates. More...
 
enum  CAMU_WhiteBalance {
+  WHITE_BALANCE_AUTO = 0x0 +,
+  WHITE_BALANCE_3200K = 0x1 +,
+  WHITE_BALANCE_4150K = 0x2 +,
+  WHITE_BALANCE_5200K = 0x3 +,
+  WHITE_BALANCE_6000K = 0x4 +,
+  WHITE_BALANCE_7000K = 0x5 +,
+  WHITE_BALANCE_NORMAL = WHITE_BALANCE_AUTO +,
+  WHITE_BALANCE_TUNGSTEN = WHITE_BALANCE_3200K +,
+  WHITE_BALANCE_WHITE_FLUORESCENT_LIGHT = WHITE_BALANCE_4150K +,
+  WHITE_BALANCE_DAYLIGHT = WHITE_BALANCE_5200K +,
+  WHITE_BALANCE_CLOUDY = WHITE_BALANCE_6000K +,
+  WHITE_BALANCE_HORIZON = WHITE_BALANCE_6000K +,
+  WHITE_BALANCE_SHADE = WHITE_BALANCE_7000K +
+ }
 Camera white balance modes. More...
 
enum  CAMU_PhotoMode {
+  PHOTO_MODE_NORMAL = 0x0 +,
+  PHOTO_MODE_PORTRAIT = 0x1 +,
+  PHOTO_MODE_LANDSCAPE = 0x2 +,
+  PHOTO_MODE_NIGHTVIEW = 0x3 +,
+  PHOTO_MODE_LETTER = 0x4 +
+ }
 Camera photo modes. More...
 
enum  CAMU_Effect {
+  EFFECT_NONE = 0x0 +,
+  EFFECT_MONO = 0x1 +,
+  EFFECT_SEPIA = 0x2 +,
+  EFFECT_NEGATIVE = 0x3 +,
+  EFFECT_NEGAFILM = 0x4 +,
+  EFFECT_SEPIA01 = 0x5 +
+ }
 Camera special effects. More...
 
enum  CAMU_Contrast {
+  CONTRAST_PATTERN_01 = 0x0 +,
+  CONTRAST_PATTERN_02 = 0x1 +,
+  CONTRAST_PATTERN_03 = 0x2 +,
+  CONTRAST_PATTERN_04 = 0x3 +,
+  CONTRAST_PATTERN_05 = 0x4 +,
+  CONTRAST_PATTERN_06 = 0x5 +,
+  CONTRAST_PATTERN_07 = 0x6 +,
+  CONTRAST_PATTERN_08 = 0x7 +,
+  CONTRAST_PATTERN_09 = 0x8 +,
+  CONTRAST_PATTERN_10 = 0x9 +,
+  CONTRAST_PATTERN_11 = 0xA +,
+  CONTRAST_LOW = CONTRAST_PATTERN_05 +,
+  CONTRAST_NORMAL = CONTRAST_PATTERN_06 +,
+  CONTRAST_HIGH = CONTRAST_PATTERN_07 +
+ }
 Camera contrast patterns. More...
 
enum  CAMU_LensCorrection {
+  LENS_CORRECTION_OFF = 0x0 +,
+  LENS_CORRECTION_ON_70 = 0x1 +,
+  LENS_CORRECTION_ON_90 = 0x2 +,
+  LENS_CORRECTION_DARK = LENS_CORRECTION_OFF +,
+  LENS_CORRECTION_NORMAL = LENS_CORRECTION_ON_70 +,
+  LENS_CORRECTION_BRIGHT = LENS_CORRECTION_ON_90 +
+ }
 Camera lens correction modes. More...
 
enum  CAMU_OutputFormat {
+  OUTPUT_YUV_422 = 0x0 +,
+  OUTPUT_RGB_565 = 0x1 +
+ }
 Camera image output formats. More...
 
enum  CAMU_ShutterSoundType {
+  SHUTTER_SOUND_TYPE_NORMAL = 0x0 +,
+  SHUTTER_SOUND_TYPE_MOVIE = 0x1 +,
+  SHUTTER_SOUND_TYPE_MOVIE_END = 0x2 +
+ }
 Camera shutter sounds. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

Result camInit (void)
 Initializes the cam service. More...
 
void camExit (void)
 Closes the cam service. More...
 
Result CAMU_StartCapture (u32 port)
 Begins capture on the specified camera port. More...
 
Result CAMU_StopCapture (u32 port)
 Terminates capture on the specified camera port. More...
 
Result CAMU_IsBusy (bool *busy, u32 port)
 Gets whether the specified camera port is busy. More...
 
Result CAMU_ClearBuffer (u32 port)
 Clears the buffer and error flags of the specified camera port. More...
 
Result CAMU_GetVsyncInterruptEvent (Handle *event, u32 port)
 Gets a handle to the event signaled on vsync interrupts. More...
 
Result CAMU_GetBufferErrorInterruptEvent (Handle *event, u32 port)
 Gets a handle to the event signaled on camera buffer errors. More...
 
Result CAMU_SetReceiving (Handle *event, void *dst, u32 port, u32 imageSize, s16 transferUnit)
 Initiates the process of receiving a camera frame. More...
 
Result CAMU_IsFinishedReceiving (bool *finishedReceiving, u32 port)
 Gets whether the specified camera port has finished receiving image data. More...
 
Result CAMU_SetTransferLines (u32 port, s16 lines, s16 width, s16 height)
 Sets the number of lines to transfer into an image buffer. More...
 
Result CAMU_GetMaxLines (s16 *maxLines, s16 width, s16 height)
 Gets the maximum number of lines that can be saved to an image buffer. More...
 
Result CAMU_SetTransferBytes (u32 port, u32 bytes, s16 width, s16 height)
 Sets the number of bytes to transfer into an image buffer. More...
 
Result CAMU_GetTransferBytes (u32 *transferBytes, u32 port)
 Gets the number of bytes to transfer into an image buffer. More...
 
Result CAMU_GetMaxBytes (u32 *maxBytes, s16 width, s16 height)
 Gets the maximum number of bytes that can be saved to an image buffer. More...
 
Result CAMU_SetTrimming (u32 port, bool trimming)
 Sets whether image trimming is enabled. More...
 
Result CAMU_IsTrimming (bool *trimming, u32 port)
 Gets whether image trimming is enabled. More...
 
Result CAMU_SetTrimmingParams (u32 port, s16 xStart, s16 yStart, s16 xEnd, s16 yEnd)
 Sets the parameters used for trimming images. More...
 
Result CAMU_GetTrimmingParams (s16 *xStart, s16 *yStart, s16 *xEnd, s16 *yEnd, u32 port)
 Gets the parameters used for trimming images. More...
 
Result CAMU_SetTrimmingParamsCenter (u32 port, s16 trimWidth, s16 trimHeight, s16 camWidth, s16 camHeight)
 Sets the parameters used for trimming images, relative to the center of the image. More...
 
Result CAMU_Activate (u32 select)
 Activates the specified camera. More...
 
Result CAMU_SwitchContext (u32 select, CAMU_Context context)
 Switches the specified camera's active context. More...
 
Result CAMU_SetExposure (u32 select, s8 exposure)
 Sets the exposure value of the specified camera. More...
 
Result CAMU_SetWhiteBalance (u32 select, CAMU_WhiteBalance whiteBalance)
 Sets the white balance mode of the specified camera. More...
 
Result CAMU_SetWhiteBalanceWithoutBaseUp (u32 select, CAMU_WhiteBalance whiteBalance)
 Sets the white balance mode of the specified camera. More...
 
Result CAMU_SetSharpness (u32 select, s8 sharpness)
 Sets the sharpness of the specified camera. More...
 
Result CAMU_SetAutoExposure (u32 select, bool autoExposure)
 Sets whether auto exposure is enabled on the specified camera. More...
 
Result CAMU_IsAutoExposure (bool *autoExposure, u32 select)
 Gets whether auto exposure is enabled on the specified camera. More...
 
Result CAMU_SetAutoWhiteBalance (u32 select, bool autoWhiteBalance)
 Sets whether auto white balance is enabled on the specified camera. More...
 
Result CAMU_IsAutoWhiteBalance (bool *autoWhiteBalance, u32 select)
 Gets whether auto white balance is enabled on the specified camera. More...
 
Result CAMU_FlipImage (u32 select, CAMU_Flip flip, CAMU_Context context)
 Flips the image of the specified camera in the specified context. More...
 
Result CAMU_SetDetailSize (u32 select, s16 width, s16 height, s16 cropX0, s16 cropY0, s16 cropX1, s16 cropY1, CAMU_Context context)
 Sets the image resolution of the given camera in the given context, in detail. More...
 
Result CAMU_SetSize (u32 select, CAMU_Size size, CAMU_Context context)
 Sets the image resolution of the given camera in the given context. More...
 
Result CAMU_SetFrameRate (u32 select, CAMU_FrameRate frameRate)
 Sets the frame rate of the given camera. More...
 
Result CAMU_SetPhotoMode (u32 select, CAMU_PhotoMode photoMode)
 Sets the photo mode of the given camera. More...
 
Result CAMU_SetEffect (u32 select, CAMU_Effect effect, CAMU_Context context)
 Sets the special effects of the given camera in the given context. More...
 
Result CAMU_SetContrast (u32 select, CAMU_Contrast contrast)
 Sets the contrast mode of the given camera. More...
 
Result CAMU_SetLensCorrection (u32 select, CAMU_LensCorrection lensCorrection)
 Sets the lens correction mode of the given camera. More...
 
Result CAMU_SetOutputFormat (u32 select, CAMU_OutputFormat format, CAMU_Context context)
 Sets the output format of the given camera in the given context. More...
 
Result CAMU_SetAutoExposureWindow (u32 select, s16 x, s16 y, s16 width, s16 height)
 Sets the region to base auto exposure off of for the specified camera. More...
 
Result CAMU_SetAutoWhiteBalanceWindow (u32 select, s16 x, s16 y, s16 width, s16 height)
 Sets the region to base auto white balance off of for the specified camera. More...
 
Result CAMU_SetNoiseFilter (u32 select, bool noiseFilter)
 Sets whether the specified camera's noise filter is enabled. More...
 
Result CAMU_SynchronizeVsyncTiming (u32 select1, u32 select2)
 Synchronizes the specified cameras' vsync timing. More...
 
Result CAMU_GetLatestVsyncTiming (s64 *timing, u32 port, u32 past)
 Gets the vsync timing record of the specified camera for the specified number of signals. More...
 
Result CAMU_GetStereoCameraCalibrationData (CAMU_StereoCameraCalibrationData *data)
 Gets the specified camera's stereo camera calibration data. More...
 
Result CAMU_SetStereoCameraCalibrationData (CAMU_StereoCameraCalibrationData data)
 Sets the specified camera's stereo camera calibration data. More...
 
Result CAMU_WriteRegisterI2c (u32 select, u16 addr, u16 data)
 Writes to the specified I2C register of the specified camera. More...
 
Result CAMU_WriteMcuVariableI2c (u32 select, u16 addr, u16 data)
 Writes to the specified MCU variable of the specified camera. More...
 
Result CAMU_ReadRegisterI2cExclusive (u16 *data, u32 select, u16 addr)
 Reads the specified I2C register of the specified camera. More...
 
Result CAMU_ReadMcuVariableI2cExclusive (u16 *data, u32 select, u16 addr)
 Reads the specified MCU variable of the specified camera. More...
 
Result CAMU_SetImageQualityCalibrationData (CAMU_ImageQualityCalibrationData data)
 Sets the specified camera's image quality calibration data. More...
 
Result CAMU_GetImageQualityCalibrationData (CAMU_ImageQualityCalibrationData *data)
 Gets the specified camera's image quality calibration data. More...
 
Result CAMU_SetPackageParameterWithoutContext (CAMU_PackageParameterCameraSelect param)
 Configures a camera with pre-packaged configuration data without a context. More...
 
Result CAMU_SetPackageParameterWithContext (CAMU_PackageParameterContext param)
 Configures a camera with pre-packaged configuration data with a context. More...
 
Result CAMU_SetPackageParameterWithContextDetail (CAMU_PackageParameterContextDetail param)
 Configures a camera with pre-packaged configuration data without a context and extra resolution details. More...
 
Result CAMU_GetSuitableY2rStandardCoefficient (Y2RU_StandardCoefficient *coefficient)
 Gets the Y2R coefficient applied to image data by the camera. More...
 
Result CAMU_PlayShutterSound (CAMU_ShutterSoundType sound)
 Plays the specified shutter sound. More...
 
+Result CAMU_DriverInitialize (void)
 Initializes the camera driver.
 
+Result CAMU_DriverFinalize (void)
 Finalizes the camera driver.
 
Result CAMU_GetActivatedCamera (u32 *select)
 Gets the current activated camera. More...
 
Result CAMU_GetSleepCamera (u32 *select)
 Gets the current sleep camera. More...
 
Result CAMU_SetSleepCamera (u32 select)
 Sets the current sleep camera. More...
 
Result CAMU_SetBrightnessSynchronization (bool brightnessSynchronization)
 Sets whether to enable synchronization of left and right camera brightnesses. More...
 
+

Detailed Description

+

CAM service for using the 3DS's front and back cameras.

+

Enumeration Type Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

Camera connection target ports.

+ + + + + +
Enumerator
PORT_NONE 

No port.

+
PORT_CAM1 

CAM1 port.

+
PORT_CAM2 

CAM2 port.

+
PORT_BOTH 

Both ports.

+
+ +
+
+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

Camera combinations.

+ + + + + + + + + +
Enumerator
SELECT_NONE 

No camera.

+
SELECT_OUT1 

Outer camera 1.

+
SELECT_IN1 

Inner camera 1.

+
SELECT_OUT2 

Outer camera 2.

+
SELECT_IN1_OUT1 

Outer camera 1 and inner camera 1.

+
SELECT_OUT1_OUT2 

Both outer cameras.

+
SELECT_IN1_OUT2 

Inner camera 1 and outer camera 2.

+
SELECT_ALL 

All cameras.

+
+ +
+
+ +

◆ CAMU_Context

+ +
+
+ + + + +
enum CAMU_Context
+
+ +

Camera contexts.

+ + + + + +
Enumerator
CONTEXT_NONE 

No context.

+
CONTEXT_A 

Context A.

+
CONTEXT_B 

Context B.

+
CONTEXT_BOTH 

Both contexts.

+
+ +
+
+ +

◆ CAMU_Contrast

+ +
+
+ + + + +
enum CAMU_Contrast
+
+ +

Camera contrast patterns.

+ + + + + + + + + + + + + + + +
Enumerator
CONTRAST_PATTERN_01 

Pattern 1.

+
CONTRAST_PATTERN_02 

Pattern 2.

+
CONTRAST_PATTERN_03 

Pattern 3.

+
CONTRAST_PATTERN_04 

Pattern 4.

+
CONTRAST_PATTERN_05 

Pattern 5.

+
CONTRAST_PATTERN_06 

Pattern 6.

+
CONTRAST_PATTERN_07 

Pattern 7.

+
CONTRAST_PATTERN_08 

Pattern 8.

+
CONTRAST_PATTERN_09 

Pattern 9.

+
CONTRAST_PATTERN_10 

Pattern 10.

+
CONTRAST_PATTERN_11 

Pattern 11.

+
CONTRAST_LOW 

Low contrast. (5)

+
CONTRAST_NORMAL 

Normal contrast. (6)

+
CONTRAST_HIGH 

High contrast. (7)

+
+ +
+
+ +

◆ CAMU_Effect

+ +
+
+ + + + +
enum CAMU_Effect
+
+ +

Camera special effects.

+ + + + + + + +
Enumerator
EFFECT_NONE 

No effects.

+
EFFECT_MONO 

Mono effect.

+
EFFECT_SEPIA 

Sepia effect.

+
EFFECT_NEGATIVE 

Negative effect.

+
EFFECT_NEGAFILM 

Negative film effect.

+
EFFECT_SEPIA01 

Sepia effect.

+
+ +
+
+ +

◆ CAMU_Flip

+ +
+
+ + + + +
enum CAMU_Flip
+
+ +

Ways to flip the camera image.

+ + + + + +
Enumerator
FLIP_NONE 

No flip.

+
FLIP_HORIZONTAL 

Horizontal flip.

+
FLIP_VERTICAL 

Vertical flip.

+
FLIP_REVERSE 

Reverse flip.

+
+ +
+
+ +

◆ CAMU_FrameRate

+ +
+
+ + + + +
enum CAMU_FrameRate
+
+ +

Camera capture frame rates.

+ + + + + + + + + + + + + + +
Enumerator
FRAME_RATE_15 

15 FPS.

+
FRAME_RATE_15_TO_5 

15-5 FPS.

+
FRAME_RATE_15_TO_2 

15-2 FPS.

+
FRAME_RATE_10 

10 FPS.

+
FRAME_RATE_8_5 

8.5 FPS.

+
FRAME_RATE_5 

5 FPS.

+
FRAME_RATE_20 

20 FPS.

+
FRAME_RATE_20_TO_5 

20-5 FPS.

+
FRAME_RATE_30 

30 FPS.

+
FRAME_RATE_30_TO_5 

30-5 FPS.

+
FRAME_RATE_15_TO_10 

15-10 FPS.

+
FRAME_RATE_20_TO_10 

20-10 FPS.

+
FRAME_RATE_30_TO_10 

30-10 FPS.

+
+ +
+
+ +

◆ CAMU_LensCorrection

+ +
+
+ + + + +
enum CAMU_LensCorrection
+
+ +

Camera lens correction modes.

+ + + + + + + +
Enumerator
LENS_CORRECTION_OFF 

No lens correction.

+
LENS_CORRECTION_ON_70 

Edge-to-center brightness ratio of 70.

+
LENS_CORRECTION_ON_90 

Edge-to-center brightness ratio of 90.

+
LENS_CORRECTION_DARK 

Dark lens correction. (OFF)

+
LENS_CORRECTION_NORMAL 

Normal lens correction. (70)

+
LENS_CORRECTION_BRIGHT 

Bright lens correction. (90)

+
+ +
+
+ +

◆ CAMU_OutputFormat

+ +
+
+ + + + +
enum CAMU_OutputFormat
+
+ +

Camera image output formats.

+ + + +
Enumerator
OUTPUT_YUV_422 

YUV422.

+
OUTPUT_RGB_565 

RGB565.

+
+ +
+
+ +

◆ CAMU_PhotoMode

+ +
+
+ + + + +
enum CAMU_PhotoMode
+
+ +

Camera photo modes.

+ + + + + + +
Enumerator
PHOTO_MODE_NORMAL 

Normal mode.

+
PHOTO_MODE_PORTRAIT 

Portrait mode.

+
PHOTO_MODE_LANDSCAPE 

Landscape mode.

+
PHOTO_MODE_NIGHTVIEW 

Night mode.

+
PHOTO_MODE_LETTER 

Letter mode.

+
+ +
+
+ +

◆ CAMU_ShutterSoundType

+ +
+
+ + + + +
enum CAMU_ShutterSoundType
+
+ +

Camera shutter sounds.

+ + + + +
Enumerator
SHUTTER_SOUND_TYPE_NORMAL 

Normal shutter sound.

+
SHUTTER_SOUND_TYPE_MOVIE 

Shutter sound to begin a movie.

+
SHUTTER_SOUND_TYPE_MOVIE_END 

Shutter sound to end a movie.

+
+ +
+
+ +

◆ CAMU_Size

+ +
+
+ + + + +
enum CAMU_Size
+
+ +

Camera image resolutions.

+ + + + + + + + + + +
Enumerator
SIZE_VGA 

VGA size. (640x480)

+
SIZE_QVGA 

QVGA size. (320x240)

+
SIZE_QQVGA 

QQVGA size. (160x120)

+
SIZE_CIF 

CIF size. (352x288)

+
SIZE_QCIF 

QCIF size. (176x144)

+
SIZE_DS_LCD 

DS LCD size. (256x192)

+
SIZE_DS_LCDx4 

DS LCD x4 size. (512x384)

+
SIZE_CTR_TOP_LCD 

CTR Top LCD size. (400x240)

+
SIZE_CTR_BOTTOM_LCD 

CTR Bottom LCD size. (320x240)

+
+ +
+
+ +

◆ CAMU_WhiteBalance

+ +
+
+ + + + +
enum CAMU_WhiteBalance
+
+ +

Camera white balance modes.

+ + + + + + + +
Enumerator
WHITE_BALANCE_AUTO 

Auto white balance.

+
WHITE_BALANCE_3200K 

3200K white balance.

+
WHITE_BALANCE_4150K 

4150K white balance.

+
WHITE_BALANCE_5200K 

5200K white balance.

+
WHITE_BALANCE_6000K 

6000K white balance.

+
WHITE_BALANCE_7000K 

7000K white balance.

+
+ +
+
+

Function Documentation

+ +

◆ camExit()

+ +
+
+ + + + + + + + +
void camExit (void )
+
+ +

Closes the cam service.

+

This will internally call CAMU_DriverFinalize and close the handle of the service.

+
Examples
camera/image/source/main.c, and camera/video/source/main.c.
+
+ +
+
+ +

◆ camInit()

+ +
+
+ + + + + + + + +
Result camInit (void )
+
+ +

Initializes the cam service.

+

This will internally get the handle of the service, and on success call CAMU_DriverInitialize.

+
Examples
camera/image/source/main.c, and camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_Activate()

+ +
+
+ + + + + + + + +
Result CAMU_Activate (u32 select)
+
+ +

Activates the specified camera.

+
Parameters
+ + +
selectCamera to use.
+
+
+
Examples
camera/image/source/main.c, and camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_ClearBuffer()

+ +
+
+ + + + + + + + +
Result CAMU_ClearBuffer (u32 port)
+
+ +

Clears the buffer and error flags of the specified camera port.

+
Parameters
+ + +
portPort to clear.
+
+
+
Examples
camera/image/source/main.c, and camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_FlipImage()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_FlipImage (u32 select,
CAMU_Flip flip,
CAMU_Context context 
)
+
+ +

Flips the image of the specified camera in the specified context.

+
Parameters
+ + + + +
selectCamera to use.
flipFlip mode to use.
contextContext to use.
+
+
+ +
+
+ +

◆ CAMU_GetActivatedCamera()

+ +
+
+ + + + + + + + +
Result CAMU_GetActivatedCamera (u32select)
+
+ +

Gets the current activated camera.

+
Parameters
+ + +
selectPointer to output the current activated camera to.
+
+
+ +
+
+ +

◆ CAMU_GetBufferErrorInterruptEvent()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_GetBufferErrorInterruptEvent (Handleevent,
u32 port 
)
+
+ +

Gets a handle to the event signaled on camera buffer errors.

+
Parameters
+ + + +
eventPointer to output the event handle to.
portPort to use.
+
+
+
Examples
camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_GetImageQualityCalibrationData()

+ +
+
+ + + + + + + + +
Result CAMU_GetImageQualityCalibrationData (CAMU_ImageQualityCalibrationDatadata)
+
+ +

Gets the specified camera's image quality calibration data.

+
Parameters
+ + +
dataPointer to write the quality data to.
+
+
+ +
+
+ +

◆ CAMU_GetLatestVsyncTiming()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_GetLatestVsyncTiming (s64timing,
u32 port,
u32 past 
)
+
+ +

Gets the vsync timing record of the specified camera for the specified number of signals.

+
Parameters
+ + + + +
timingPointer to write timing data to. (size "past * sizeof(s64)")
portPort to use.
pastNumber of past timings to retrieve.
+
+
+ +
+
+ +

◆ CAMU_GetMaxBytes()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_GetMaxBytes (u32maxBytes,
s16 width,
s16 height 
)
+
+ +

Gets the maximum number of bytes that can be saved to an image buffer.

+
Parameters
+ + + + +
maxBytesPointer to write the maximum number of bytes to.
widthWidth of the image.
heightHeight of the image.
+
+
+
Examples
camera/image/source/main.c, and camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_GetMaxLines()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_GetMaxLines (s16maxLines,
s16 width,
s16 height 
)
+
+ +

Gets the maximum number of lines that can be saved to an image buffer.

+
Parameters
+ + + + +
maxLinesPointer to write the maximum number of lines to.
widthWidth of the image.
heightHeight of the image.
+
+
+ +
+
+ +

◆ CAMU_GetSleepCamera()

+ +
+
+ + + + + + + + +
Result CAMU_GetSleepCamera (u32select)
+
+ +

Gets the current sleep camera.

+
Parameters
+ + +
selectPointer to output the current sleep camera to.
+
+
+ +
+
+ +

◆ CAMU_GetStereoCameraCalibrationData()

+ +
+
+ + + + + + + + +
Result CAMU_GetStereoCameraCalibrationData (CAMU_StereoCameraCalibrationDatadata)
+
+ +

Gets the specified camera's stereo camera calibration data.

+
Parameters
+ + +
dataPointer to output the stereo camera data to.
+
+
+ +
+
+ +

◆ CAMU_GetSuitableY2rStandardCoefficient()

+ +
+
+ + + + + + + + +
Result CAMU_GetSuitableY2rStandardCoefficient (Y2RU_StandardCoefficientcoefficient)
+
+ +

Gets the Y2R coefficient applied to image data by the camera.

+
Parameters
+ + +
coefficientPointer to output the Y2R coefficient to.
+
+
+ +
+
+ +

◆ CAMU_GetTransferBytes()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_GetTransferBytes (u32transferBytes,
u32 port 
)
+
+ +

Gets the number of bytes to transfer into an image buffer.

+
Parameters
+ + + +
transferBytesPointer to write the number of bytes to.
portPort to use.
+
+
+ +
+
+ +

◆ CAMU_GetTrimmingParams()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_GetTrimmingParams (s16xStart,
s16yStart,
s16xEnd,
s16yEnd,
u32 port 
)
+
+ +

Gets the parameters used for trimming images.

+
Parameters
+ + + + + + +
xStartPointer to write the start X coordinate to.
yStartPointer to write the start Y coordinate to.
xEndPointer to write the end X coordinate to.
yEndPointer to write the end Y coordinate to.
portPort to use.
+
+
+ +
+
+ +

◆ CAMU_GetVsyncInterruptEvent()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_GetVsyncInterruptEvent (Handleevent,
u32 port 
)
+
+ +

Gets a handle to the event signaled on vsync interrupts.

+
Parameters
+ + + +
eventPointer to output the event handle to.
portPort to use.
+
+
+ +
+
+ +

◆ CAMU_IsAutoExposure()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_IsAutoExposure (bool * autoExposure,
u32 select 
)
+
+ +

Gets whether auto exposure is enabled on the specified camera.

+
Parameters
+ + + +
autoExposurePointer to output the auto exposure state to.
selectCamera to use.
+
+
+ +
+
+ +

◆ CAMU_IsAutoWhiteBalance()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_IsAutoWhiteBalance (bool * autoWhiteBalance,
u32 select 
)
+
+ +

Gets whether auto white balance is enabled on the specified camera.

+
Parameters
+ + + +
autoWhiteBalancePointer to output the auto white balance state to.
selectCamera to use.
+
+
+ +
+
+ +

◆ CAMU_IsBusy()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_IsBusy (bool * busy,
u32 port 
)
+
+ +

Gets whether the specified camera port is busy.

+
Parameters
+ + + +
busyPointer to output the busy state to.
portPort to check.
+
+
+ +
+
+ +

◆ CAMU_IsFinishedReceiving()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_IsFinishedReceiving (bool * finishedReceiving,
u32 port 
)
+
+ +

Gets whether the specified camera port has finished receiving image data.

+
Parameters
+ + + +
finishedReceivingPointer to output the receiving status to.
portPort to check.
+
+
+ +
+
+ +

◆ CAMU_IsTrimming()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_IsTrimming (bool * trimming,
u32 port 
)
+
+ +

Gets whether image trimming is enabled.

+
Parameters
+ + + +
trimmingPointer to output the trim state to.
portPort to use.
+
+
+ +
+
+ +

◆ CAMU_PlayShutterSound()

+ +
+
+ + + + + + + + +
Result CAMU_PlayShutterSound (CAMU_ShutterSoundType sound)
+
+ +

Plays the specified shutter sound.

+
Parameters
+ + +
soundShutter sound to play.
+
+
+
Examples
camera/image/source/main.c, and camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_ReadMcuVariableI2cExclusive()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_ReadMcuVariableI2cExclusive (u16data,
u32 select,
u16 addr 
)
+
+ +

Reads the specified MCU variable of the specified camera.

+
Parameters
+ + + + +
dataPointer to read data to.
selectCamera to read from.
addrAddress to read.
+
+
+ +
+
+ +

◆ CAMU_ReadRegisterI2cExclusive()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_ReadRegisterI2cExclusive (u16data,
u32 select,
u16 addr 
)
+
+ +

Reads the specified I2C register of the specified camera.

+
Parameters
+ + + + +
dataPointer to read data to.
selectCamera to read from.
addrAddress to read.
+
+
+ +
+
+ +

◆ CAMU_SetAutoExposure()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_SetAutoExposure (u32 select,
bool autoExposure 
)
+
+ +

Sets whether auto exposure is enabled on the specified camera.

+
Parameters
+ + + +
selectCamera to use.
autoWhiteBalanceWhether auto exposure is enabled.
+
+
+
Examples
camera/image/source/main.c, and camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_SetAutoExposureWindow()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_SetAutoExposureWindow (u32 select,
s16 x,
s16 y,
s16 width,
s16 height 
)
+
+ +

Sets the region to base auto exposure off of for the specified camera.

+
Parameters
+ + + + + + +
selectCamera to use.
xX of the region.
yY of the region.
widthWidth of the region.
heightHeight of the region.
+
+
+ +
+
+ +

◆ CAMU_SetAutoWhiteBalance()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_SetAutoWhiteBalance (u32 select,
bool autoWhiteBalance 
)
+
+ +

Sets whether auto white balance is enabled on the specified camera.

+
Parameters
+ + + +
selectCamera to use.
autoWhiteBalanceWhether auto white balance is enabled.
+
+
+
Examples
camera/image/source/main.c, and camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_SetAutoWhiteBalanceWindow()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_SetAutoWhiteBalanceWindow (u32 select,
s16 x,
s16 y,
s16 width,
s16 height 
)
+
+ +

Sets the region to base auto white balance off of for the specified camera.

+
Parameters
+ + + + + + +
selectCamera to use.
xX of the region.
yY of the region.
widthWidth of the region.
heightHeight of the region.
+
+
+ +
+
+ +

◆ CAMU_SetBrightnessSynchronization()

+ +
+
+ + + + + + + + +
Result CAMU_SetBrightnessSynchronization (bool brightnessSynchronization)
+
+ +

Sets whether to enable synchronization of left and right camera brightnesses.

+
Parameters
+ + +
brightnessSynchronizationWhether to enable brightness synchronization.
+
+
+ +
+
+ +

◆ CAMU_SetContrast()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_SetContrast (u32 select,
CAMU_Contrast contrast 
)
+
+ +

Sets the contrast mode of the given camera.

+
Parameters
+ + + +
selectCamera to use.
contrastContrast mode to use.
+
+
+ +
+
+ +

◆ CAMU_SetDetailSize()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_SetDetailSize (u32 select,
s16 width,
s16 height,
s16 cropX0,
s16 cropY0,
s16 cropX1,
s16 cropY1,
CAMU_Context context 
)
+
+ +

Sets the image resolution of the given camera in the given context, in detail.

+
Parameters
+ + + + + + + + + +
selectCamera to use.
widthWidth to use.
heightHeight to use.
cropX0First crop point X.
cropY0First crop point Y.
cropX1Second crop point X.
cropY1Second crop point Y.
contextContext to use.
+
+
+ +
+
+ +

◆ CAMU_SetEffect()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_SetEffect (u32 select,
CAMU_Effect effect,
CAMU_Context context 
)
+
+ +

Sets the special effects of the given camera in the given context.

+
Parameters
+ + + + +
selectCamera to use.
effectEffect to use.
contextContext to use.
+
+
+ +
+
+ +

◆ CAMU_SetExposure()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_SetExposure (u32 select,
s8 exposure 
)
+
+ +

Sets the exposure value of the specified camera.

+
Parameters
+ + + +
selectCamera to use.
exposureExposure value to use.
+
+
+ +
+
+ +

◆ CAMU_SetFrameRate()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_SetFrameRate (u32 select,
CAMU_FrameRate frameRate 
)
+
+ +

Sets the frame rate of the given camera.

+
Parameters
+ + + +
selectCamera to use.
frameRateFrame rate to use.
+
+
+
Examples
camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_SetImageQualityCalibrationData()

+ +
+
+ + + + + + + + +
Result CAMU_SetImageQualityCalibrationData (CAMU_ImageQualityCalibrationData data)
+
+ +

Sets the specified camera's image quality calibration data.

+
Parameters
+ + +
dataData to set.
+
+
+ +
+
+ +

◆ CAMU_SetLensCorrection()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_SetLensCorrection (u32 select,
CAMU_LensCorrection lensCorrection 
)
+
+ +

Sets the lens correction mode of the given camera.

+
Parameters
+ + + +
selectCamera to use.
lensCorrectionLens correction mode to use.
+
+
+ +
+
+ +

◆ CAMU_SetNoiseFilter()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_SetNoiseFilter (u32 select,
bool noiseFilter 
)
+
+ +

Sets whether the specified camera's noise filter is enabled.

+
Parameters
+ + + +
selectCamera to use.
noiseFilterWhether the noise filter is enabled.
+
+
+
Examples
camera/image/source/main.c, and camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_SetOutputFormat()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_SetOutputFormat (u32 select,
CAMU_OutputFormat format,
CAMU_Context context 
)
+
+ +

Sets the output format of the given camera in the given context.

+
Parameters
+ + + + +
selectCamera to use.
formatFormat to output.
contextContext to use.
+
+
+
Examples
camera/image/source/main.c, and camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_SetPackageParameterWithContext()

+ +
+
+ + + + + + + + +
Result CAMU_SetPackageParameterWithContext (CAMU_PackageParameterContext param)
+
+ +

Configures a camera with pre-packaged configuration data with a context.

+
Parameters
+ + +
Parameterto use.
+
+
+ +
+
+ +

◆ CAMU_SetPackageParameterWithContextDetail()

+ +
+
+ + + + + + + + +
Result CAMU_SetPackageParameterWithContextDetail (CAMU_PackageParameterContextDetail param)
+
+ +

Configures a camera with pre-packaged configuration data without a context and extra resolution details.

+
Parameters
+ + +
Parameterto use.
+
+
+ +
+
+ +

◆ CAMU_SetPackageParameterWithoutContext()

+ +
+
+ + + + + + + + +
Result CAMU_SetPackageParameterWithoutContext (CAMU_PackageParameterCameraSelect param)
+
+ +

Configures a camera with pre-packaged configuration data without a context.

+
Parameters
+ + +
Parameterto use.
+
+
+ +
+
+ +

◆ CAMU_SetPhotoMode()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_SetPhotoMode (u32 select,
CAMU_PhotoMode photoMode 
)
+
+ +

Sets the photo mode of the given camera.

+
Parameters
+ + + +
selectCamera to use.
photoModePhoto mode to use.
+
+
+ +
+
+ +

◆ CAMU_SetReceiving()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_SetReceiving (Handleevent,
void * dst,
u32 port,
u32 imageSize,
s16 transferUnit 
)
+
+ +

Initiates the process of receiving a camera frame.

+
Parameters
+ + + + + + +
eventPointer to output the completion event handle to.
dstBuffer to write data to.
portPort to receive from.
imageSizeSize of the image to receive.
transferUnitTransfer unit to use when receiving.
+
+
+
Examples
camera/image/source/main.c, and camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_SetSharpness()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_SetSharpness (u32 select,
s8 sharpness 
)
+
+ +

Sets the sharpness of the specified camera.

+
Parameters
+ + + +
selectCamera to use.
sharpnessSharpness to use.
+
+
+ +
+
+ +

◆ CAMU_SetSize()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_SetSize (u32 select,
CAMU_Size size,
CAMU_Context context 
)
+
+ +

Sets the image resolution of the given camera in the given context.

+
Parameters
+ + + + +
selectCamera to use.
sizeSize to use.
contextContext to use.
+
+
+
Examples
camera/image/source/main.c, and camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_SetSleepCamera()

+ +
+
+ + + + + + + + +
Result CAMU_SetSleepCamera (u32 select)
+
+ +

Sets the current sleep camera.

+
Parameters
+ + +
selectCamera to set.
+
+
+ +
+
+ +

◆ CAMU_SetStereoCameraCalibrationData()

+ +
+
+ + + + + + + + +
Result CAMU_SetStereoCameraCalibrationData (CAMU_StereoCameraCalibrationData data)
+
+ +

Sets the specified camera's stereo camera calibration data.

+
Parameters
+ + +
dataData to set.
+
+
+ +
+
+ +

◆ CAMU_SetTransferBytes()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_SetTransferBytes (u32 port,
u32 bytes,
s16 width,
s16 height 
)
+
+ +

Sets the number of bytes to transfer into an image buffer.

+
Parameters
+ + + + + +
portPort to use.
bytesBytes to transfer.
widthWidth of the image.
heightHeight of the image.
+
+
+
Examples
camera/image/source/main.c, and camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_SetTransferLines()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_SetTransferLines (u32 port,
s16 lines,
s16 width,
s16 height 
)
+
+ +

Sets the number of lines to transfer into an image buffer.

+
Parameters
+ + + + + +
portPort to use.
linesLines to transfer.
widthWidth of the image.
heightHeight of the image.
+
+
+ +
+
+ +

◆ CAMU_SetTrimming()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_SetTrimming (u32 port,
bool trimming 
)
+
+ +

Sets whether image trimming is enabled.

+
Parameters
+ + + +
portPort to use.
trimmingWhether image trimming is enabled.
+
+
+
Examples
camera/image/source/main.c, and camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_SetTrimmingParams()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_SetTrimmingParams (u32 port,
s16 xStart,
s16 yStart,
s16 xEnd,
s16 yEnd 
)
+
+ +

Sets the parameters used for trimming images.

+
Parameters
+ + + + + + +
portPort to use.
xStartStart X coordinate.
yStartStart Y coordinate.
xEndEnd X coordinate.
yEndEnd Y coordinate.
+
+
+ +
+
+ +

◆ CAMU_SetTrimmingParamsCenter()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_SetTrimmingParamsCenter (u32 port,
s16 trimWidth,
s16 trimHeight,
s16 camWidth,
s16 camHeight 
)
+
+ +

Sets the parameters used for trimming images, relative to the center of the image.

+
Parameters
+ + + + + + +
portPort to use.
trimWidthTrim width.
trimHeightTrim height.
camWidthCamera width.
camHeightCamera height.
+
+
+ +
+
+ +

◆ CAMU_SetWhiteBalance()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_SetWhiteBalance (u32 select,
CAMU_WhiteBalance whiteBalance 
)
+
+ +

Sets the white balance mode of the specified camera.

+
Parameters
+ + + +
selectCamera to use.
whiteBalanceWhite balance mode to use.
+
+
+ +
+
+ +

◆ CAMU_SetWhiteBalanceWithoutBaseUp()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_SetWhiteBalanceWithoutBaseUp (u32 select,
CAMU_WhiteBalance whiteBalance 
)
+
+ +

Sets the white balance mode of the specified camera.

+

TODO: Explain "without base up"?

Parameters
+ + + +
selectCamera to use.
whiteBalanceWhite balance mode to use.
+
+
+ +
+
+ +

◆ CAMU_StartCapture()

+ +
+
+ + + + + + + + +
Result CAMU_StartCapture (u32 port)
+
+ +

Begins capture on the specified camera port.

+
Parameters
+ + +
portPort to begin capture on.
+
+
+
Examples
camera/image/source/main.c, and camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_StopCapture()

+ +
+
+ + + + + + + + +
Result CAMU_StopCapture (u32 port)
+
+ +

Terminates capture on the specified camera port.

+
Parameters
+ + +
portPort to terminate capture on.
+
+
+
Examples
camera/image/source/main.c, and camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_SwitchContext()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_SwitchContext (u32 select,
CAMU_Context context 
)
+
+ +

Switches the specified camera's active context.

+
Parameters
+ + + +
selectCamera to use.
contextContext to use.
+
+
+ +
+
+ +

◆ CAMU_SynchronizeVsyncTiming()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CAMU_SynchronizeVsyncTiming (u32 select1,
u32 select2 
)
+
+ +

Synchronizes the specified cameras' vsync timing.

+
Parameters
+ + + +
select1First camera.
select2Second camera.
+
+
+
Examples
camera/image/source/main.c, and camera/video/source/main.c.
+
+ +
+
+ +

◆ CAMU_WriteMcuVariableI2c()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_WriteMcuVariableI2c (u32 select,
u16 addr,
u16 data 
)
+
+ +

Writes to the specified MCU variable of the specified camera.

+
Parameters
+ + + + +
selectCamera to write to.
addrAddress to write to.
dataData to write.
+
+
+ +
+
+ +

◆ CAMU_WriteRegisterI2c()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CAMU_WriteRegisterI2c (u32 select,
u16 addr,
u16 data 
)
+
+ +

Writes to the specified I2C register of the specified camera.

+
Parameters
+ + + + +
selectCamera to write to.
addrAddress to write to.
dataData to write.
+
+
+ +
+
+
+ + + + diff --git a/cam_8h_source.html b/cam_8h_source.html new file mode 100644 index 000000000..58f5d40e9 --- /dev/null +++ b/cam_8h_source.html @@ -0,0 +1,1016 @@ + + + + + + + +libctru: include/3ds/services/cam.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
cam.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file cam.h
+
3  * @brief CAM service for using the 3DS's front and back cameras.
+
4  */
+
5 #pragma once
+
6 
+
7 #include <3ds/services/y2r.h>
+
8 #include <3ds/types.h>
+
9 
+
10 /// Camera connection target ports.
+
11 enum {
+
12  PORT_NONE = 0x0, ///< No port.
+
13  PORT_CAM1 = BIT(0), ///< CAM1 port.
+
14  PORT_CAM2 = BIT(1), ///< CAM2 port.
+
15 
+
16  // Port combinations.
+
17  PORT_BOTH = PORT_CAM1 | PORT_CAM2, ///< Both ports.
+
18 };
+
19 
+
20 /// Camera combinations.
+
21 enum {
+
22  SELECT_NONE = 0x0, ///< No camera.
+
23  SELECT_OUT1 = BIT(0), ///< Outer camera 1.
+
24  SELECT_IN1 = BIT(1), ///< Inner camera 1.
+
25  SELECT_OUT2 = BIT(2), ///< Outer camera 2.
+
26 
+
27  // Camera combinations.
+
28  SELECT_IN1_OUT1 = SELECT_OUT1 | SELECT_IN1, ///< Outer camera 1 and inner camera 1.
+
29  SELECT_OUT1_OUT2 = SELECT_OUT1 | SELECT_OUT2, ///< Both outer cameras.
+
30  SELECT_IN1_OUT2 = SELECT_IN1 | SELECT_OUT2, ///< Inner camera 1 and outer camera 2.
+
31  SELECT_ALL = SELECT_OUT1 | SELECT_IN1 | SELECT_OUT2, ///< All cameras.
+
32 };
+
33 
+
34 /// Camera contexts.
+
35 typedef enum {
+
36  CONTEXT_NONE = 0x0, ///< No context.
+
37  CONTEXT_A = BIT(0), ///< Context A.
+
38  CONTEXT_B = BIT(1), ///< Context B.
+
39 
+
40  // Context combinations.
+
41  CONTEXT_BOTH = CONTEXT_A | CONTEXT_B, ///< Both contexts.
+
42 } CAMU_Context;
+
43 
+
44 /// Ways to flip the camera image.
+
45 typedef enum {
+
46  FLIP_NONE = 0x0, ///< No flip.
+
47  FLIP_HORIZONTAL = 0x1, ///< Horizontal flip.
+
48  FLIP_VERTICAL = 0x2, ///< Vertical flip.
+
49  FLIP_REVERSE = 0x3, ///< Reverse flip.
+
50 } CAMU_Flip;
+
51 
+
52 /// Camera image resolutions.
+
53 typedef enum {
+
54  SIZE_VGA = 0x0, ///< VGA size. (640x480)
+
55  SIZE_QVGA = 0x1, ///< QVGA size. (320x240)
+
56  SIZE_QQVGA = 0x2, ///< QQVGA size. (160x120)
+
57  SIZE_CIF = 0x3, ///< CIF size. (352x288)
+
58  SIZE_QCIF = 0x4, ///< QCIF size. (176x144)
+
59  SIZE_DS_LCD = 0x5, ///< DS LCD size. (256x192)
+
60  SIZE_DS_LCDx4 = 0x6, ///< DS LCD x4 size. (512x384)
+
61  SIZE_CTR_TOP_LCD = 0x7, ///< CTR Top LCD size. (400x240)
+
62 
+
63  // Alias for bottom screen to match top screen naming.
+
64  SIZE_CTR_BOTTOM_LCD = SIZE_QVGA, ///< CTR Bottom LCD size. (320x240)
+
65 } CAMU_Size;
+
66 
+
67 /// Camera capture frame rates.
+
68 typedef enum {
+
69  FRAME_RATE_15 = 0x0, ///< 15 FPS.
+
70  FRAME_RATE_15_TO_5 = 0x1, ///< 15-5 FPS.
+
71  FRAME_RATE_15_TO_2 = 0x2, ///< 15-2 FPS.
+
72  FRAME_RATE_10 = 0x3, ///< 10 FPS.
+
73  FRAME_RATE_8_5 = 0x4, ///< 8.5 FPS.
+
74  FRAME_RATE_5 = 0x5, ///< 5 FPS.
+
75  FRAME_RATE_20 = 0x6, ///< 20 FPS.
+
76  FRAME_RATE_20_TO_5 = 0x7, ///< 20-5 FPS.
+
77  FRAME_RATE_30 = 0x8, ///< 30 FPS.
+
78  FRAME_RATE_30_TO_5 = 0x9, ///< 30-5 FPS.
+
79  FRAME_RATE_15_TO_10 = 0xA, ///< 15-10 FPS.
+
80  FRAME_RATE_20_TO_10 = 0xB, ///< 20-10 FPS.
+
81  FRAME_RATE_30_TO_10 = 0xC, ///< 30-10 FPS.
+ +
83 
+
84 /// Camera white balance modes.
+
85 typedef enum {
+
86  WHITE_BALANCE_AUTO = 0x0, ///< Auto white balance.
+
87  WHITE_BALANCE_3200K = 0x1, ///< 3200K white balance.
+
88  WHITE_BALANCE_4150K = 0x2, ///< 4150K white balance.
+
89  WHITE_BALANCE_5200K = 0x3, ///< 5200K white balance.
+
90  WHITE_BALANCE_6000K = 0x4, ///< 6000K white balance.
+
91  WHITE_BALANCE_7000K = 0x5, ///< 7000K white balance.
+
92 
+
93  // White balance aliases.
+
94  WHITE_BALANCE_NORMAL = WHITE_BALANCE_AUTO, // Normal white balance. (AUTO)
+
95  WHITE_BALANCE_TUNGSTEN = WHITE_BALANCE_3200K, // Tungsten white balance. (3200K)
+
96  WHITE_BALANCE_WHITE_FLUORESCENT_LIGHT = WHITE_BALANCE_4150K, // Fluorescent white balance. (4150K)
+
97  WHITE_BALANCE_DAYLIGHT = WHITE_BALANCE_5200K, // Daylight white balance. (5200K)
+
98  WHITE_BALANCE_CLOUDY = WHITE_BALANCE_6000K, // Cloudy white balance. (6000K)
+
99  WHITE_BALANCE_HORIZON = WHITE_BALANCE_6000K, // Horizon white balance. (6000K)
+
100  WHITE_BALANCE_SHADE = WHITE_BALANCE_7000K, // Shade white balance. (7000K)
+ +
102 
+
103 /// Camera photo modes.
+
104 typedef enum {
+
105  PHOTO_MODE_NORMAL = 0x0, ///< Normal mode.
+
106  PHOTO_MODE_PORTRAIT = 0x1, ///< Portrait mode.
+
107  PHOTO_MODE_LANDSCAPE = 0x2, ///< Landscape mode.
+
108  PHOTO_MODE_NIGHTVIEW = 0x3, ///< Night mode.
+
109  PHOTO_MODE_LETTER = 0x4, ///< Letter mode.
+ +
111 
+
112 /// Camera special effects.
+
113 typedef enum {
+
114  EFFECT_NONE = 0x0, ///< No effects.
+
115  EFFECT_MONO = 0x1, ///< Mono effect.
+
116  EFFECT_SEPIA = 0x2, ///< Sepia effect.
+
117  EFFECT_NEGATIVE = 0x3, ///< Negative effect.
+
118  EFFECT_NEGAFILM = 0x4, ///< Negative film effect.
+
119  EFFECT_SEPIA01 = 0x5, ///< Sepia effect.
+
120 } CAMU_Effect;
+
121 
+
122 /// Camera contrast patterns.
+
123 typedef enum {
+
124  CONTRAST_PATTERN_01 = 0x0, ///< Pattern 1.
+
125  CONTRAST_PATTERN_02 = 0x1, ///< Pattern 2.
+
126  CONTRAST_PATTERN_03 = 0x2, ///< Pattern 3.
+
127  CONTRAST_PATTERN_04 = 0x3, ///< Pattern 4.
+
128  CONTRAST_PATTERN_05 = 0x4, ///< Pattern 5.
+
129  CONTRAST_PATTERN_06 = 0x5, ///< Pattern 6.
+
130  CONTRAST_PATTERN_07 = 0x6, ///< Pattern 7.
+
131  CONTRAST_PATTERN_08 = 0x7, ///< Pattern 8.
+
132  CONTRAST_PATTERN_09 = 0x8, ///< Pattern 9.
+
133  CONTRAST_PATTERN_10 = 0x9, ///< Pattern 10.
+
134  CONTRAST_PATTERN_11 = 0xA, ///< Pattern 11.
+
135 
+
136  // Contrast aliases.
+
137  CONTRAST_LOW = CONTRAST_PATTERN_05, ///< Low contrast. (5)
+
138  CONTRAST_NORMAL = CONTRAST_PATTERN_06, ///< Normal contrast. (6)
+
139  CONTRAST_HIGH = CONTRAST_PATTERN_07, ///< High contrast. (7)
+
140 } CAMU_Contrast;
+
141 
+
142 /// Camera lens correction modes.
+
143 typedef enum {
+
144  LENS_CORRECTION_OFF = 0x0, ///< No lens correction.
+
145  LENS_CORRECTION_ON_70 = 0x1, ///< Edge-to-center brightness ratio of 70.
+
146  LENS_CORRECTION_ON_90 = 0x2, ///< Edge-to-center brightness ratio of 90.
+
147 
+
148  // Lens correction aliases.
+
149  LENS_CORRECTION_DARK = LENS_CORRECTION_OFF, ///< Dark lens correction. (OFF)
+
150  LENS_CORRECTION_NORMAL = LENS_CORRECTION_ON_70, ///< Normal lens correction. (70)
+
151  LENS_CORRECTION_BRIGHT = LENS_CORRECTION_ON_90, ///< Bright lens correction. (90)
+ +
153 
+
154 /// Camera image output formats.
+
155 typedef enum {
+
156  OUTPUT_YUV_422 = 0x0, ///< YUV422
+
157  OUTPUT_RGB_565 = 0x1, ///< RGB565
+ +
159 
+
160 /// Camera shutter sounds.
+
161 typedef enum {
+
162  SHUTTER_SOUND_TYPE_NORMAL = 0x0, ///< Normal shutter sound.
+
163  SHUTTER_SOUND_TYPE_MOVIE = 0x1, ///< Shutter sound to begin a movie.
+
164  SHUTTER_SOUND_TYPE_MOVIE_END = 0x2, ///< Shutter sound to end a movie.
+ +
166 
+
167 /// Image quality calibration data.
+
168 typedef struct {
+
169  s16 aeBaseTarget; ///< Auto exposure base target brightness.
+
170  s16 kRL; ///< Left color correction matrix red normalization coefficient.
+
171  s16 kGL; ///< Left color correction matrix green normalization coefficient.
+
172  s16 kBL; ///< Left color correction matrix blue normalization coefficient.
+
173  s16 ccmPosition; ///< Color correction matrix position.
+
174  u16 awbCcmL9Right; ///< Right camera, left color correction matrix red/green gain.
+
175  u16 awbCcmL9Left; ///< Left camera, left color correction matrix red/green gain.
+
176  u16 awbCcmL10Right; ///< Right camera, left color correction matrix blue/green gain.
+
177  u16 awbCcmL10Left; ///< Left camera, left color correction matrix blue/green gain.
+
178  u16 awbX0Right; ///< Right camera, color correction matrix position threshold.
+
179  u16 awbX0Left; ///< Left camera, color correction matrix position threshold.
+ +
181 
+
182 /// Stereo camera calibration data.
+
183 typedef struct {
+
184  u8 isValidRotationXY; ///< #bool Whether the X and Y rotation data is valid.
+
185  u8 padding[3]; ///< Padding. (Aligns isValidRotationXY to 4 bytes)
+
186  float scale; ///< Scale to match the left camera image with the right.
+
187  float rotationZ; ///< Z axis rotation to match the left camera image with the right.
+
188  float translationX; ///< X axis translation to match the left camera image with the right.
+
189  float translationY; ///< Y axis translation to match the left camera image with the right.
+
190  float rotationX; ///< X axis rotation to match the left camera image with the right.
+
191  float rotationY; ///< Y axis rotation to match the left camera image with the right.
+
192  float angleOfViewRight; ///< Right camera angle of view.
+
193  float angleOfViewLeft; ///< Left camera angle of view.
+
194  float distanceToChart; ///< Distance between cameras and measurement chart.
+
195  float distanceCameras; ///< Distance between left and right cameras.
+
196  s16 imageWidth; ///< Image width.
+
197  s16 imageHeight; ///< Image height.
+
198  u8 reserved[16]; ///< Reserved for future use. (unused)
+ +
200 
+
201 /// Batch camera configuration for use without a context.
+
202 typedef struct {
+
203  u8 camera; ///< Selected camera.
+
204  s8 exposure; ///< Camera exposure.
+
205  u8 whiteBalance; ///< #CAMU_WhiteBalance Camera white balance.
+
206  s8 sharpness; ///< Camera sharpness.
+
207  u8 autoExposureOn; ///< #bool Whether to automatically determine the proper exposure.
+
208  u8 autoWhiteBalanceOn; ///< #bool Whether to automatically determine the white balance mode.
+
209  u8 frameRate; ///< #CAMU_FrameRate Camera frame rate.
+
210  u8 photoMode; ///< #CAMU_PhotoMode Camera photo mode.
+
211  u8 contrast; ///< #CAMU_Contrast Camera contrast.
+
212  u8 lensCorrection; ///< #CAMU_LensCorrection Camera lens correction.
+
213  u8 noiseFilterOn; ///< #bool Whether to enable the camera's noise filter.
+
214  u8 padding; ///< Padding. (Aligns last 3 fields to 4 bytes)
+
215  s16 autoExposureWindowX; ///< X of the region to use for auto exposure.
+
216  s16 autoExposureWindowY; ///< Y of the region to use for auto exposure.
+
217  s16 autoExposureWindowWidth; ///< Width of the region to use for auto exposure.
+
218  s16 autoExposureWindowHeight; ///< Height of the region to use for auto exposure.
+
219  s16 autoWhiteBalanceWindowX; ///< X of the region to use for auto white balance.
+
220  s16 autoWhiteBalanceWindowY; ///< Y of the region to use for auto white balance.
+
221  s16 autoWhiteBalanceWindowWidth; ///< Width of the region to use for auto white balance.
+
222  s16 autoWhiteBalanceWindowHeight; ///< Height of the region to use for auto white balance.
+ +
224 
+
225 /// Batch camera configuration for use with a context.
+
226 typedef struct {
+
227  u8 camera; ///< Selected camera.
+
228  u8 context; ///< #CAMU_Context Selected context.
+
229  u8 flip; ///< #CAMU_Flip Camera image flip mode.
+
230  u8 effect; ///< #CAMU_Effect Camera image special effects.
+
231  u8 size; ///< #CAMU_Size Camera image resolution.
+ +
233 
+
234 /// Batch camera configuration for use with a context and with detailed size information.
+
235 typedef struct {
+
236  u8 camera; ///< Selected camera.
+
237  u8 context; ///< #CAMU_Context Selected context.
+
238  u8 flip; ///< #CAMU_Flip Camera image flip mode.
+
239  u8 effect; ///< #CAMU_Effect Camera image special effects.
+
240  s16 width; ///< Image width.
+
241  s16 height; ///< Image height.
+
242  s16 cropX0; ///< First crop point X.
+
243  s16 cropY0; ///< First crop point Y.
+
244  s16 cropX1; ///< Second crop point X.
+
245  s16 cropY1; ///< Second crop point Y.
+ +
247 
+
248 /**
+
249  * @brief Initializes the cam service.
+
250  *
+
251  * This will internally get the handle of the service, and on success call CAMU_DriverInitialize.
+
252  */
+ +
254 
+
255 /**
+
256  * @brief Closes the cam service.
+
257  *
+
258  * This will internally call CAMU_DriverFinalize and close the handle of the service.
+
259  */
+
260 void camExit(void);
+
261 
+
262 /**
+
263  * Begins capture on the specified camera port.
+
264  * @param port Port to begin capture on.
+
265  */
+ +
267 
+
268 /**
+
269  * Terminates capture on the specified camera port.
+
270  * @param port Port to terminate capture on.
+
271  */
+ +
273 
+
274 /**
+
275  * @brief Gets whether the specified camera port is busy.
+
276  * @param busy Pointer to output the busy state to.
+
277  * @param port Port to check.
+
278  */
+
279 Result CAMU_IsBusy(bool* busy, u32 port);
+
280 
+
281 /**
+
282  * @brief Clears the buffer and error flags of the specified camera port.
+
283  * @param port Port to clear.
+
284  */
+ +
286 
+
287 /**
+
288  * @brief Gets a handle to the event signaled on vsync interrupts.
+
289  * @param event Pointer to output the event handle to.
+
290  * @param port Port to use.
+
291  */
+ +
293 
+
294 /**
+
295  * @brief Gets a handle to the event signaled on camera buffer errors.
+
296  * @param event Pointer to output the event handle to.
+
297  * @param port Port to use.
+
298  */
+ +
300 
+
301 /**
+
302  * @brief Initiates the process of receiving a camera frame.
+
303  * @param event Pointer to output the completion event handle to.
+
304  * @param dst Buffer to write data to.
+
305  * @param port Port to receive from.
+
306  * @param imageSize Size of the image to receive.
+
307  * @param transferUnit Transfer unit to use when receiving.
+
308  */
+
309 Result CAMU_SetReceiving(Handle* event, void* dst, u32 port, u32 imageSize, s16 transferUnit);
+
310 
+
311 /**
+
312  * @brief Gets whether the specified camera port has finished receiving image data.
+
313  * @param finishedReceiving Pointer to output the receiving status to.
+
314  * @param port Port to check.
+
315  */
+
316 Result CAMU_IsFinishedReceiving(bool* finishedReceiving, u32 port);
+
317 
+
318 /**
+
319  * @brief Sets the number of lines to transfer into an image buffer.
+
320  * @param port Port to use.
+
321  * @param lines Lines to transfer.
+
322  * @param width Width of the image.
+
323  * @param height Height of the image.
+
324  */
+
325 Result CAMU_SetTransferLines(u32 port, s16 lines, s16 width, s16 height);
+
326 
+
327 /**
+
328  * @brief Gets the maximum number of lines that can be saved to an image buffer.
+
329  * @param maxLines Pointer to write the maximum number of lines to.
+
330  * @param width Width of the image.
+
331  * @param height Height of the image.
+
332  */
+
333 Result CAMU_GetMaxLines(s16* maxLines, s16 width, s16 height);
+
334 
+
335 /**
+
336  * @brief Sets the number of bytes to transfer into an image buffer.
+
337  * @param port Port to use.
+
338  * @param bytes Bytes to transfer.
+
339  * @param width Width of the image.
+
340  * @param height Height of the image.
+
341  */
+
342 Result CAMU_SetTransferBytes(u32 port, u32 bytes, s16 width, s16 height);
+
343 
+
344 /**
+
345  * @brief Gets the number of bytes to transfer into an image buffer.
+
346  * @param transferBytes Pointer to write the number of bytes to.
+
347  * @param port Port to use.
+
348  */
+
349 Result CAMU_GetTransferBytes(u32* transferBytes, u32 port);
+
350 
+
351 /**
+
352  * @brief Gets the maximum number of bytes that can be saved to an image buffer.
+
353  * @param maxBytes Pointer to write the maximum number of bytes to.
+
354  * @param width Width of the image.
+
355  * @param height Height of the image.
+
356  */
+
357 Result CAMU_GetMaxBytes(u32* maxBytes, s16 width, s16 height);
+
358 
+
359 /**
+
360  * @brief Sets whether image trimming is enabled.
+
361  * @param port Port to use.
+
362  * @param trimming Whether image trimming is enabled.
+
363  */
+
364 Result CAMU_SetTrimming(u32 port, bool trimming);
+
365 
+
366 /**
+
367  * @brief Gets whether image trimming is enabled.
+
368  * @param trimming Pointer to output the trim state to.
+
369  * @param port Port to use.
+
370  */
+
371 Result CAMU_IsTrimming(bool* trimming, u32 port);
+
372 
+
373 /**
+
374  * @brief Sets the parameters used for trimming images.
+
375  * @param port Port to use.
+
376  * @param xStart Start X coordinate.
+
377  * @param yStart Start Y coordinate.
+
378  * @param xEnd End X coordinate.
+
379  * @param yEnd End Y coordinate.
+
380  */
+
381 Result CAMU_SetTrimmingParams(u32 port, s16 xStart, s16 yStart, s16 xEnd, s16 yEnd);
+
382 
+
383 /**
+
384  * @brief Gets the parameters used for trimming images.
+
385  * @param xStart Pointer to write the start X coordinate to.
+
386  * @param yStart Pointer to write the start Y coordinate to.
+
387  * @param xEnd Pointer to write the end X coordinate to.
+
388  * @param yEnd Pointer to write the end Y coordinate to.
+
389  * @param port Port to use.
+
390  */
+
391 Result CAMU_GetTrimmingParams(s16* xStart, s16* yStart, s16* xEnd, s16* yEnd, u32 port);
+
392 
+
393 /**
+
394  * @brief Sets the parameters used for trimming images, relative to the center of the image.
+
395  * @param port Port to use.
+
396  * @param trimWidth Trim width.
+
397  * @param trimHeight Trim height.
+
398  * @param camWidth Camera width.
+
399  * @param camHeight Camera height.
+
400  */
+
401 Result CAMU_SetTrimmingParamsCenter(u32 port, s16 trimWidth, s16 trimHeight, s16 camWidth, s16 camHeight);
+
402 
+
403 /**
+
404  * @brief Activates the specified camera.
+
405  * @param select Camera to use.
+
406  */
+ +
408 
+
409 /**
+
410  * @brief Switches the specified camera's active context.
+
411  * @param select Camera to use.
+
412  * @param context Context to use.
+
413  */
+ +
415 
+
416 /**
+
417  * @brief Sets the exposure value of the specified camera.
+
418  * @param select Camera to use.
+
419  * @param exposure Exposure value to use.
+
420  */
+
421 Result CAMU_SetExposure(u32 select, s8 exposure);
+
422 
+
423 /**
+
424  * @brief Sets the white balance mode of the specified camera.
+
425  * @param select Camera to use.
+
426  * @param whiteBalance White balance mode to use.
+
427  */
+ +
429 
+
430 /**
+
431  * @brief Sets the white balance mode of the specified camera.
+
432  * TODO: Explain "without base up"?
+
433  * @param select Camera to use.
+
434  * @param whiteBalance White balance mode to use.
+
435  */
+ +
437 
+
438 /**
+
439  * @brief Sets the sharpness of the specified camera.
+
440  * @param select Camera to use.
+
441  * @param sharpness Sharpness to use.
+
442  */
+
443 Result CAMU_SetSharpness(u32 select, s8 sharpness);
+
444 
+
445 /**
+
446  * @brief Sets whether auto exposure is enabled on the specified camera.
+
447  * @param select Camera to use.
+
448  * @param autoWhiteBalance Whether auto exposure is enabled.
+
449  */
+
450 Result CAMU_SetAutoExposure(u32 select, bool autoExposure);
+
451 
+
452 /**
+
453  * @brief Gets whether auto exposure is enabled on the specified camera.
+
454  * @param autoExposure Pointer to output the auto exposure state to.
+
455  * @param select Camera to use.
+
456  */
+
457 Result CAMU_IsAutoExposure(bool* autoExposure, u32 select);
+
458 
+
459 /**
+
460  * @brief Sets whether auto white balance is enabled on the specified camera.
+
461  * @param select Camera to use.
+
462  * @param autoWhiteBalance Whether auto white balance is enabled.
+
463  */
+
464 Result CAMU_SetAutoWhiteBalance(u32 select, bool autoWhiteBalance);
+
465 
+
466 /**
+
467  * @brief Gets whether auto white balance is enabled on the specified camera.
+
468  * @param autoWhiteBalance Pointer to output the auto white balance state to.
+
469  * @param select Camera to use.
+
470  */
+
471 Result CAMU_IsAutoWhiteBalance(bool* autoWhiteBalance, u32 select);
+
472 
+
473 /**
+
474  * @brief Flips the image of the specified camera in the specified context.
+
475  * @param select Camera to use.
+
476  * @param flip Flip mode to use.
+
477  * @param context Context to use.
+
478  */
+ +
480 
+
481 /**
+
482  * @brief Sets the image resolution of the given camera in the given context, in detail.
+
483  * @param select Camera to use.
+
484  * @param width Width to use.
+
485  * @param height Height to use.
+
486  * @param cropX0 First crop point X.
+
487  * @param cropY0 First crop point Y.
+
488  * @param cropX1 Second crop point X.
+
489  * @param cropY1 Second crop point Y.
+
490  * @param context Context to use.
+
491  */
+
492 Result CAMU_SetDetailSize(u32 select, s16 width, s16 height, s16 cropX0, s16 cropY0, s16 cropX1, s16 cropY1, CAMU_Context context);
+
493 
+
494 /**
+
495  * @brief Sets the image resolution of the given camera in the given context.
+
496  * @param select Camera to use.
+
497  * @param size Size to use.
+
498  * @param context Context to use.
+
499  */
+ +
501 
+
502 /**
+
503  * @brief Sets the frame rate of the given camera.
+
504  * @param select Camera to use.
+
505  * @param frameRate Frame rate to use.
+
506  */
+ +
508 
+
509 /**
+
510  * @brief Sets the photo mode of the given camera.
+
511  * @param select Camera to use.
+
512  * @param photoMode Photo mode to use.
+
513  */
+ +
515 
+
516 /**
+
517  * @brief Sets the special effects of the given camera in the given context.
+
518  * @param select Camera to use.
+
519  * @param effect Effect to use.
+
520  * @param context Context to use.
+
521  */
+ +
523 
+
524 /**
+
525  * @brief Sets the contrast mode of the given camera.
+
526  * @param select Camera to use.
+
527  * @param contrast Contrast mode to use.
+
528  */
+ +
530 
+
531 /**
+
532  * @brief Sets the lens correction mode of the given camera.
+
533  * @param select Camera to use.
+
534  * @param lensCorrection Lens correction mode to use.
+
535  */
+ +
537 
+
538 /**
+
539  * @brief Sets the output format of the given camera in the given context.
+
540  * @param select Camera to use.
+
541  * @param format Format to output.
+
542  * @param context Context to use.
+
543  */
+ +
545 
+
546 /**
+
547  * @brief Sets the region to base auto exposure off of for the specified camera.
+
548  * @param select Camera to use.
+
549  * @param x X of the region.
+
550  * @param y Y of the region.
+
551  * @param width Width of the region.
+
552  * @param height Height of the region.
+
553  */
+
554 Result CAMU_SetAutoExposureWindow(u32 select, s16 x, s16 y, s16 width, s16 height);
+
555 
+
556 /**
+
557  * @brief Sets the region to base auto white balance off of for the specified camera.
+
558  * @param select Camera to use.
+
559  * @param x X of the region.
+
560  * @param y Y of the region.
+
561  * @param width Width of the region.
+
562  * @param height Height of the region.
+
563  */
+
564 Result CAMU_SetAutoWhiteBalanceWindow(u32 select, s16 x, s16 y, s16 width, s16 height);
+
565 
+
566 /**
+
567  * @brief Sets whether the specified camera's noise filter is enabled.
+
568  * @param select Camera to use.
+
569  * @param noiseFilter Whether the noise filter is enabled.
+
570  */
+
571 Result CAMU_SetNoiseFilter(u32 select, bool noiseFilter);
+
572 
+
573 /**
+
574  * @brief Synchronizes the specified cameras' vsync timing.
+
575  * @param select1 First camera.
+
576  * @param select2 Second camera.
+
577  */
+ +
579 
+
580 /**
+
581  * @brief Gets the vsync timing record of the specified camera for the specified number of signals.
+
582  * @param timing Pointer to write timing data to. (size "past * sizeof(s64)")
+
583  * @param port Port to use.
+
584  * @param past Number of past timings to retrieve.
+
585  */
+ +
587 
+
588 /**
+
589  * @brief Gets the specified camera's stereo camera calibration data.
+
590  * @param data Pointer to output the stereo camera data to.
+
591  */
+ +
593 
+
594 /**
+
595  * @brief Sets the specified camera's stereo camera calibration data.
+
596  * @param data Data to set.
+
597  */
+ +
599 
+
600 /**
+
601  * @brief Writes to the specified I2C register of the specified camera.
+
602  * @param select Camera to write to.
+
603  * @param addr Address to write to.
+
604  * @param data Data to write.
+
605  */
+
606 Result CAMU_WriteRegisterI2c(u32 select, u16 addr, u16 data);
+
607 
+
608 /**
+
609  * @brief Writes to the specified MCU variable of the specified camera.
+
610  * @param select Camera to write to.
+
611  * @param addr Address to write to.
+
612  * @param data Data to write.
+
613  */
+ +
615 
+
616 /**
+
617  * @brief Reads the specified I2C register of the specified camera.
+
618  * @param data Pointer to read data to.
+
619  * @param select Camera to read from.
+
620  * @param addr Address to read.
+
621  */
+ +
623 
+
624 /**
+
625  * @brief Reads the specified MCU variable of the specified camera.
+
626  * @param data Pointer to read data to.
+
627  * @param select Camera to read from.
+
628  * @param addr Address to read.
+
629  */
+ +
631 
+
632 /**
+
633  * @brief Sets the specified camera's image quality calibration data.
+
634  * @param data Data to set.
+
635  */
+ +
637 
+
638 /**
+
639  * @brief Gets the specified camera's image quality calibration data.
+
640  * @param data Pointer to write the quality data to.
+
641  */
+ +
643 
+
644 /**
+
645  * @brief Configures a camera with pre-packaged configuration data without a context.
+
646  * @param Parameter to use.
+
647  */
+ +
649 
+
650 /**
+
651  * @brief Configures a camera with pre-packaged configuration data with a context.
+
652  * @param Parameter to use.
+
653  */
+ +
655 
+
656 /**
+
657  * @brief Configures a camera with pre-packaged configuration data without a context and extra resolution details.
+
658  * @param Parameter to use.
+
659  */
+ +
661 
+
662 /**
+
663  * @brief Gets the Y2R coefficient applied to image data by the camera.
+
664  * @param coefficient Pointer to output the Y2R coefficient to.
+
665  */
+ +
667 
+
668 /**
+
669  * @brief Plays the specified shutter sound.
+
670  * @param sound Shutter sound to play.
+
671  */
+ +
673 
+
674 /// Initializes the camera driver.
+ +
676 
+
677 /// Finalizes the camera driver.
+ +
679 
+
680 /**
+
681  * @brief Gets the current activated camera.
+
682  * @param select Pointer to output the current activated camera to.
+
683  */
+ +
685 
+
686 /**
+
687  * @brief Gets the current sleep camera.
+
688  * @param select Pointer to output the current sleep camera to.
+
689  */
+ +
691 
+
692 /**
+
693  * @brief Sets the current sleep camera.
+
694  * @param select Camera to set.
+
695  */
+ +
697 
+
698 /**
+
699  * @brief Sets whether to enable synchronization of left and right camera brightnesses.
+
700  * @param brightnessSynchronization Whether to enable brightness synchronization.
+
701  */
+
702 Result CAMU_SetBrightnessSynchronization(bool brightnessSynchronization);
+
703 
+
Result CAMU_SynchronizeVsyncTiming(u32 select1, u32 select2)
Synchronizes the specified cameras' vsync timing.
+
Result CAMU_SetReceiving(Handle *event, void *dst, u32 port, u32 imageSize, s16 transferUnit)
Initiates the process of receiving a camera frame.
+
Result CAMU_FlipImage(u32 select, CAMU_Flip flip, CAMU_Context context)
Flips the image of the specified camera in the specified context.
+
Result camInit(void)
Initializes the cam service.
+
Result CAMU_SwitchContext(u32 select, CAMU_Context context)
Switches the specified camera's active context.
+
Result CAMU_SetNoiseFilter(u32 select, bool noiseFilter)
Sets whether the specified camera's noise filter is enabled.
+
CAMU_Contrast
Camera contrast patterns.
Definition: cam.h:123
+
@ CONTRAST_PATTERN_08
Pattern 8.
Definition: cam.h:131
+
@ CONTRAST_PATTERN_05
Pattern 5.
Definition: cam.h:128
+
@ CONTRAST_PATTERN_02
Pattern 2.
Definition: cam.h:125
+
@ CONTRAST_LOW
Low contrast. (5)
Definition: cam.h:137
+
@ CONTRAST_HIGH
High contrast. (7)
Definition: cam.h:139
+
@ CONTRAST_PATTERN_11
Pattern 11.
Definition: cam.h:134
+
@ CONTRAST_NORMAL
Normal contrast. (6)
Definition: cam.h:138
+
@ CONTRAST_PATTERN_06
Pattern 6.
Definition: cam.h:129
+
@ CONTRAST_PATTERN_04
Pattern 4.
Definition: cam.h:127
+
@ CONTRAST_PATTERN_01
Pattern 1.
Definition: cam.h:124
+
@ CONTRAST_PATTERN_09
Pattern 9.
Definition: cam.h:132
+
@ CONTRAST_PATTERN_07
Pattern 7.
Definition: cam.h:130
+
@ CONTRAST_PATTERN_10
Pattern 10.
Definition: cam.h:133
+
@ CONTRAST_PATTERN_03
Pattern 3.
Definition: cam.h:126
+
Result CAMU_GetSleepCamera(u32 *select)
Gets the current sleep camera.
+
Result CAMU_GetLatestVsyncTiming(s64 *timing, u32 port, u32 past)
Gets the vsync timing record of the specified camera for the specified number of signals.
+
Result CAMU_SetWhiteBalance(u32 select, CAMU_WhiteBalance whiteBalance)
Sets the white balance mode of the specified camera.
+
Result CAMU_IsTrimming(bool *trimming, u32 port)
Gets whether image trimming is enabled.
+
Result CAMU_GetImageQualityCalibrationData(CAMU_ImageQualityCalibrationData *data)
Gets the specified camera's image quality calibration data.
+
CAMU_Flip
Ways to flip the camera image.
Definition: cam.h:45
+
@ FLIP_NONE
No flip.
Definition: cam.h:46
+
@ FLIP_REVERSE
Reverse flip.
Definition: cam.h:49
+
@ FLIP_HORIZONTAL
Horizontal flip.
Definition: cam.h:47
+
@ FLIP_VERTICAL
Vertical flip.
Definition: cam.h:48
+
Result CAMU_SetTransferBytes(u32 port, u32 bytes, s16 width, s16 height)
Sets the number of bytes to transfer into an image buffer.
+
CAMU_Size
Camera image resolutions.
Definition: cam.h:53
+
@ SIZE_VGA
VGA size. (640x480)
Definition: cam.h:54
+
@ SIZE_CTR_TOP_LCD
CTR Top LCD size. (400x240)
Definition: cam.h:61
+
@ SIZE_DS_LCD
DS LCD size. (256x192)
Definition: cam.h:59
+
@ SIZE_CIF
CIF size. (352x288)
Definition: cam.h:57
+
@ SIZE_QVGA
QVGA size. (320x240)
Definition: cam.h:55
+
@ SIZE_QCIF
QCIF size. (176x144)
Definition: cam.h:58
+
@ SIZE_CTR_BOTTOM_LCD
CTR Bottom LCD size. (320x240)
Definition: cam.h:64
+
@ SIZE_DS_LCDx4
DS LCD x4 size. (512x384)
Definition: cam.h:60
+
@ SIZE_QQVGA
QQVGA size. (160x120)
Definition: cam.h:56
+
Result CAMU_ClearBuffer(u32 port)
Clears the buffer and error flags of the specified camera port.
+
Result CAMU_SetTransferLines(u32 port, s16 lines, s16 width, s16 height)
Sets the number of lines to transfer into an image buffer.
+
Result CAMU_SetAutoExposure(u32 select, bool autoExposure)
Sets whether auto exposure is enabled on the specified camera.
+
Result CAMU_GetBufferErrorInterruptEvent(Handle *event, u32 port)
Gets a handle to the event signaled on camera buffer errors.
+
Result CAMU_DriverFinalize(void)
Finalizes the camera driver.
+
Result CAMU_StartCapture(u32 port)
Begins capture on the specified camera port.
+
Result CAMU_WriteRegisterI2c(u32 select, u16 addr, u16 data)
Writes to the specified I2C register of the specified camera.
+
Result CAMU_GetTransferBytes(u32 *transferBytes, u32 port)
Gets the number of bytes to transfer into an image buffer.
+
Result CAMU_DriverInitialize(void)
Initializes the camera driver.
+
CAMU_OutputFormat
Camera image output formats.
Definition: cam.h:155
+
@ OUTPUT_RGB_565
RGB565.
Definition: cam.h:157
+
@ OUTPUT_YUV_422
YUV422.
Definition: cam.h:156
+
CAMU_FrameRate
Camera capture frame rates.
Definition: cam.h:68
+
@ FRAME_RATE_30_TO_10
30-10 FPS.
Definition: cam.h:81
+
@ FRAME_RATE_10
10 FPS.
Definition: cam.h:72
+
@ FRAME_RATE_30
30 FPS.
Definition: cam.h:77
+
@ FRAME_RATE_8_5
8.5 FPS.
Definition: cam.h:73
+
@ FRAME_RATE_15_TO_2
15-2 FPS.
Definition: cam.h:71
+
@ FRAME_RATE_20_TO_10
20-10 FPS.
Definition: cam.h:80
+
@ FRAME_RATE_5
5 FPS.
Definition: cam.h:74
+
@ FRAME_RATE_15_TO_5
15-5 FPS.
Definition: cam.h:70
+
@ FRAME_RATE_30_TO_5
30-5 FPS.
Definition: cam.h:78
+
@ FRAME_RATE_20
20 FPS.
Definition: cam.h:75
+
@ FRAME_RATE_15
15 FPS.
Definition: cam.h:69
+
@ FRAME_RATE_15_TO_10
15-10 FPS.
Definition: cam.h:79
+
@ FRAME_RATE_20_TO_5
20-5 FPS.
Definition: cam.h:76
+
Result CAMU_ReadMcuVariableI2cExclusive(u16 *data, u32 select, u16 addr)
Reads the specified MCU variable of the specified camera.
+
CAMU_LensCorrection
Camera lens correction modes.
Definition: cam.h:143
+
@ LENS_CORRECTION_ON_70
Edge-to-center brightness ratio of 70.
Definition: cam.h:145
+
@ LENS_CORRECTION_NORMAL
Normal lens correction. (70)
Definition: cam.h:150
+
@ LENS_CORRECTION_ON_90
Edge-to-center brightness ratio of 90.
Definition: cam.h:146
+
@ LENS_CORRECTION_BRIGHT
Bright lens correction. (90)
Definition: cam.h:151
+
@ LENS_CORRECTION_DARK
Dark lens correction. (OFF)
Definition: cam.h:149
+
@ LENS_CORRECTION_OFF
No lens correction.
Definition: cam.h:144
+
Result CAMU_GetActivatedCamera(u32 *select)
Gets the current activated camera.
+
Result CAMU_IsFinishedReceiving(bool *finishedReceiving, u32 port)
Gets whether the specified camera port has finished receiving image data.
+
CAMU_ShutterSoundType
Camera shutter sounds.
Definition: cam.h:161
+
@ SHUTTER_SOUND_TYPE_MOVIE_END
Shutter sound to end a movie.
Definition: cam.h:164
+
@ SHUTTER_SOUND_TYPE_MOVIE
Shutter sound to begin a movie.
Definition: cam.h:163
+
@ SHUTTER_SOUND_TYPE_NORMAL
Normal shutter sound.
Definition: cam.h:162
+
Result CAMU_IsAutoWhiteBalance(bool *autoWhiteBalance, u32 select)
Gets whether auto white balance is enabled on the specified camera.
+
CAMU_WhiteBalance
Camera white balance modes.
Definition: cam.h:85
+
@ WHITE_BALANCE_5200K
5200K white balance.
Definition: cam.h:89
+
@ WHITE_BALANCE_3200K
3200K white balance.
Definition: cam.h:87
+
@ WHITE_BALANCE_6000K
6000K white balance.
Definition: cam.h:90
+
@ WHITE_BALANCE_AUTO
Auto white balance.
Definition: cam.h:86
+
@ WHITE_BALANCE_7000K
7000K white balance.
Definition: cam.h:91
+
@ WHITE_BALANCE_4150K
4150K white balance.
Definition: cam.h:88
+
Result CAMU_IsBusy(bool *busy, u32 port)
Gets whether the specified camera port is busy.
+
Result CAMU_SetFrameRate(u32 select, CAMU_FrameRate frameRate)
Sets the frame rate of the given camera.
+
CAMU_Context
Camera contexts.
Definition: cam.h:35
+
@ CONTEXT_A
Context A.
Definition: cam.h:37
+
@ CONTEXT_B
Context B.
Definition: cam.h:38
+
@ CONTEXT_NONE
No context.
Definition: cam.h:36
+
@ CONTEXT_BOTH
Both contexts.
Definition: cam.h:41
+
Result CAMU_SetTrimmingParams(u32 port, s16 xStart, s16 yStart, s16 xEnd, s16 yEnd)
Sets the parameters used for trimming images.
+
Result CAMU_SetAutoWhiteBalanceWindow(u32 select, s16 x, s16 y, s16 width, s16 height)
Sets the region to base auto white balance off of for the specified camera.
+
Result CAMU_SetSleepCamera(u32 select)
Sets the current sleep camera.
+
Result CAMU_SetBrightnessSynchronization(bool brightnessSynchronization)
Sets whether to enable synchronization of left and right camera brightnesses.
+
void camExit(void)
Closes the cam service.
+
Result CAMU_GetVsyncInterruptEvent(Handle *event, u32 port)
Gets a handle to the event signaled on vsync interrupts.
+
CAMU_Effect
Camera special effects.
Definition: cam.h:113
+
@ EFFECT_MONO
Mono effect.
Definition: cam.h:115
+
@ EFFECT_NEGATIVE
Negative effect.
Definition: cam.h:117
+
@ EFFECT_NEGAFILM
Negative film effect.
Definition: cam.h:118
+
@ EFFECT_SEPIA
Sepia effect.
Definition: cam.h:116
+
@ EFFECT_SEPIA01
Sepia effect.
Definition: cam.h:119
+
@ EFFECT_NONE
No effects.
Definition: cam.h:114
+
Result CAMU_GetTrimmingParams(s16 *xStart, s16 *yStart, s16 *xEnd, s16 *yEnd, u32 port)
Gets the parameters used for trimming images.
+
Result CAMU_StopCapture(u32 port)
Terminates capture on the specified camera port.
+
Result CAMU_SetAutoExposureWindow(u32 select, s16 x, s16 y, s16 width, s16 height)
Sets the region to base auto exposure off of for the specified camera.
+
Result CAMU_SetExposure(u32 select, s8 exposure)
Sets the exposure value of the specified camera.
+
Result CAMU_GetStereoCameraCalibrationData(CAMU_StereoCameraCalibrationData *data)
Gets the specified camera's stereo camera calibration data.
+
Result CAMU_SetStereoCameraCalibrationData(CAMU_StereoCameraCalibrationData data)
Sets the specified camera's stereo camera calibration data.
+
Result CAMU_SetPhotoMode(u32 select, CAMU_PhotoMode photoMode)
Sets the photo mode of the given camera.
+
Result CAMU_SetSize(u32 select, CAMU_Size size, CAMU_Context context)
Sets the image resolution of the given camera in the given context.
+
Result CAMU_IsAutoExposure(bool *autoExposure, u32 select)
Gets whether auto exposure is enabled on the specified camera.
+
Result CAMU_SetTrimmingParamsCenter(u32 port, s16 trimWidth, s16 trimHeight, s16 camWidth, s16 camHeight)
Sets the parameters used for trimming images, relative to the center of the image.
+
Result CAMU_SetContrast(u32 select, CAMU_Contrast contrast)
Sets the contrast mode of the given camera.
+
Result CAMU_SetWhiteBalanceWithoutBaseUp(u32 select, CAMU_WhiteBalance whiteBalance)
Sets the white balance mode of the specified camera.
+
Result CAMU_SetSharpness(u32 select, s8 sharpness)
Sets the sharpness of the specified camera.
+
Result CAMU_SetPackageParameterWithContext(CAMU_PackageParameterContext param)
Configures a camera with pre-packaged configuration data with a context.
+
Result CAMU_GetMaxLines(s16 *maxLines, s16 width, s16 height)
Gets the maximum number of lines that can be saved to an image buffer.
+
CAMU_PhotoMode
Camera photo modes.
Definition: cam.h:104
+
@ PHOTO_MODE_LETTER
Letter mode.
Definition: cam.h:109
+
@ PHOTO_MODE_NORMAL
Normal mode.
Definition: cam.h:105
+
@ PHOTO_MODE_PORTRAIT
Portrait mode.
Definition: cam.h:106
+
@ PHOTO_MODE_NIGHTVIEW
Night mode.
Definition: cam.h:108
+
@ PHOTO_MODE_LANDSCAPE
Landscape mode.
Definition: cam.h:107
+
Result CAMU_SetTrimming(u32 port, bool trimming)
Sets whether image trimming is enabled.
+
Result CAMU_SetEffect(u32 select, CAMU_Effect effect, CAMU_Context context)
Sets the special effects of the given camera in the given context.
+
Result CAMU_SetImageQualityCalibrationData(CAMU_ImageQualityCalibrationData data)
Sets the specified camera's image quality calibration data.
+
Result CAMU_WriteMcuVariableI2c(u32 select, u16 addr, u16 data)
Writes to the specified MCU variable of the specified camera.
+
Result CAMU_SetPackageParameterWithoutContext(CAMU_PackageParameterCameraSelect param)
Configures a camera with pre-packaged configuration data without a context.
+
Result CAMU_Activate(u32 select)
Activates the specified camera.
+
Result CAMU_GetSuitableY2rStandardCoefficient(Y2RU_StandardCoefficient *coefficient)
Gets the Y2R coefficient applied to image data by the camera.
+
Result CAMU_SetDetailSize(u32 select, s16 width, s16 height, s16 cropX0, s16 cropY0, s16 cropX1, s16 cropY1, CAMU_Context context)
Sets the image resolution of the given camera in the given context, in detail.
+
Result CAMU_PlayShutterSound(CAMU_ShutterSoundType sound)
Plays the specified shutter sound.
+
@ PORT_CAM2
CAM2 port.
Definition: cam.h:14
+
@ PORT_BOTH
Both ports.
Definition: cam.h:17
+
@ PORT_CAM1
CAM1 port.
Definition: cam.h:13
+
@ PORT_NONE
No port.
Definition: cam.h:12
+
Result CAMU_ReadRegisterI2cExclusive(u16 *data, u32 select, u16 addr)
Reads the specified I2C register of the specified camera.
+
Result CAMU_SetOutputFormat(u32 select, CAMU_OutputFormat format, CAMU_Context context)
Sets the output format of the given camera in the given context.
+
Result CAMU_SetLensCorrection(u32 select, CAMU_LensCorrection lensCorrection)
Sets the lens correction mode of the given camera.
+
Result CAMU_SetAutoWhiteBalance(u32 select, bool autoWhiteBalance)
Sets whether auto white balance is enabled on the specified camera.
+
Result CAMU_GetMaxBytes(u32 *maxBytes, s16 width, s16 height)
Gets the maximum number of bytes that can be saved to an image buffer.
+
@ SELECT_OUT1
Outer camera 1.
Definition: cam.h:23
+
@ SELECT_OUT2
Outer camera 2.
Definition: cam.h:25
+
@ SELECT_IN1_OUT2
Inner camera 1 and outer camera 2.
Definition: cam.h:30
+
@ SELECT_IN1
Inner camera 1.
Definition: cam.h:24
+
@ SELECT_ALL
All cameras.
Definition: cam.h:31
+
@ SELECT_NONE
No camera.
Definition: cam.h:22
+
@ SELECT_IN1_OUT1
Outer camera 1 and inner camera 1.
Definition: cam.h:28
+
@ SELECT_OUT1_OUT2
Both outer cameras.
Definition: cam.h:29
+
Result CAMU_SetPackageParameterWithContextDetail(CAMU_PackageParameterContextDetail param)
Configures a camera with pre-packaged configuration data without a context and extra resolution detai...
+
Image quality calibration data.
Definition: cam.h:168
+
u16 awbCcmL10Right
Right camera, left color correction matrix blue/green gain.
Definition: cam.h:176
+
u16 awbCcmL9Left
Left camera, left color correction matrix red/green gain.
Definition: cam.h:175
+
s16 kGL
Left color correction matrix green normalization coefficient.
Definition: cam.h:171
+
u16 awbX0Right
Right camera, color correction matrix position threshold.
Definition: cam.h:178
+
s16 aeBaseTarget
Auto exposure base target brightness.
Definition: cam.h:169
+
u16 awbCcmL9Right
Right camera, left color correction matrix red/green gain.
Definition: cam.h:174
+
s16 kBL
Left color correction matrix blue normalization coefficient.
Definition: cam.h:172
+
u16 awbCcmL10Left
Left camera, left color correction matrix blue/green gain.
Definition: cam.h:177
+
u16 awbX0Left
Left camera, color correction matrix position threshold.
Definition: cam.h:179
+
s16 ccmPosition
Color correction matrix position.
Definition: cam.h:173
+
s16 kRL
Left color correction matrix red normalization coefficient.
Definition: cam.h:170
+
Batch camera configuration for use without a context.
Definition: cam.h:202
+
s16 autoExposureWindowX
X of the region to use for auto exposure.
Definition: cam.h:215
+
u8 frameRate
CAMU_FrameRate Camera frame rate.
Definition: cam.h:209
+
s8 exposure
Camera exposure.
Definition: cam.h:204
+
s16 autoExposureWindowWidth
Width of the region to use for auto exposure.
Definition: cam.h:217
+
u8 whiteBalance
CAMU_WhiteBalance Camera white balance.
Definition: cam.h:205
+
s16 autoWhiteBalanceWindowX
X of the region to use for auto white balance.
Definition: cam.h:219
+
s16 autoExposureWindowHeight
Height of the region to use for auto exposure.
Definition: cam.h:218
+
u8 autoExposureOn
#bool Whether to automatically determine the proper exposure.
Definition: cam.h:207
+
s8 sharpness
Camera sharpness.
Definition: cam.h:206
+
s16 autoWhiteBalanceWindowWidth
Width of the region to use for auto white balance.
Definition: cam.h:221
+
u8 camera
Selected camera.
Definition: cam.h:203
+
s16 autoWhiteBalanceWindowHeight
Height of the region to use for auto white balance.
Definition: cam.h:222
+
u8 padding
Padding. (Aligns last 3 fields to 4 bytes)
Definition: cam.h:214
+
s16 autoExposureWindowY
Y of the region to use for auto exposure.
Definition: cam.h:216
+
u8 noiseFilterOn
#bool Whether to enable the camera's noise filter.
Definition: cam.h:213
+
s16 autoWhiteBalanceWindowY
Y of the region to use for auto white balance.
Definition: cam.h:220
+
u8 contrast
CAMU_Contrast Camera contrast.
Definition: cam.h:211
+
u8 autoWhiteBalanceOn
#bool Whether to automatically determine the white balance mode.
Definition: cam.h:208
+
u8 lensCorrection
CAMU_LensCorrection Camera lens correction.
Definition: cam.h:212
+
u8 photoMode
CAMU_PhotoMode Camera photo mode.
Definition: cam.h:210
+
Batch camera configuration for use with a context and with detailed size information.
Definition: cam.h:235
+
u8 camera
Selected camera.
Definition: cam.h:236
+
u8 flip
CAMU_Flip Camera image flip mode.
Definition: cam.h:238
+
s16 cropY0
First crop point Y.
Definition: cam.h:243
+
s16 height
Image height.
Definition: cam.h:241
+
s16 cropY1
Second crop point Y.
Definition: cam.h:245
+
u8 effect
CAMU_Effect Camera image special effects.
Definition: cam.h:239
+
s16 cropX1
Second crop point X.
Definition: cam.h:244
+
u8 context
CAMU_Context Selected context.
Definition: cam.h:237
+
s16 width
Image width.
Definition: cam.h:240
+
s16 cropX0
First crop point X.
Definition: cam.h:242
+
Batch camera configuration for use with a context.
Definition: cam.h:226
+
u8 flip
CAMU_Flip Camera image flip mode.
Definition: cam.h:229
+
u8 size
CAMU_Size Camera image resolution.
Definition: cam.h:231
+
u8 effect
CAMU_Effect Camera image special effects.
Definition: cam.h:230
+
u8 context
CAMU_Context Selected context.
Definition: cam.h:228
+
u8 camera
Selected camera.
Definition: cam.h:227
+
Stereo camera calibration data.
Definition: cam.h:183
+
float distanceCameras
Distance between left and right cameras.
Definition: cam.h:195
+
float translationY
Y axis translation to match the left camera image with the right.
Definition: cam.h:189
+
float scale
Scale to match the left camera image with the right.
Definition: cam.h:186
+
s16 imageHeight
Image height.
Definition: cam.h:197
+
float distanceToChart
Distance between cameras and measurement chart.
Definition: cam.h:194
+
u8 isValidRotationXY
#bool Whether the X and Y rotation data is valid.
Definition: cam.h:184
+
float rotationX
X axis rotation to match the left camera image with the right.
Definition: cam.h:190
+
float rotationZ
Z axis rotation to match the left camera image with the right.
Definition: cam.h:187
+
float rotationY
Y axis rotation to match the left camera image with the right.
Definition: cam.h:191
+
float translationX
X axis translation to match the left camera image with the right.
Definition: cam.h:188
+
s16 imageWidth
Image width.
Definition: cam.h:196
+
float angleOfViewLeft
Left camera angle of view.
Definition: cam.h:193
+
float angleOfViewRight
Right camera angle of view.
Definition: cam.h:192
+
Various system types.
+
int64_t s64
64-bit signed integer
Definition: types.h:29
+
#define BIT(n)
Creates a bitmask from a bit number.
Definition: types.h:47
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
int8_t s8
8-bit signed integer
Definition: types.h:26
+
int16_t s16
16-bit signed integer
Definition: types.h:27
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
Y2R service for hardware YUV->RGB conversions.
+
Y2RU_StandardCoefficient
Preset conversion coefficients based on ITU standards for the YUV->RGB formula.
Definition: y2r.h:87
+
+ + + + diff --git a/camera_2image_2source_2main_8c-example.html b/camera_2image_2source_2main_8c-example.html new file mode 100644 index 000000000..f7352a542 --- /dev/null +++ b/camera_2image_2source_2main_8c-example.html @@ -0,0 +1,322 @@ + + + + + + + +libctru: camera/image/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
camera/image/source/main.c
+
+
+
#include <stdio.h>
+
#include <string.h>
+
#include <stdlib.h>
+
#include <malloc.h>
+
#include <setjmp.h>
+
#include <3ds.h>
+
#include <sys/dirent.h>
+
#include <sys/errno.h>
+
#include <sys/unistd.h>
+
#include <stdbool.h>
+
+
#define CONFIG_3D_SLIDERSTATE (*(volatile float*)0x1FF81080)
+
#define WAIT_TIMEOUT 300000000ULL
+
+
#define WIDTH 400
+
#define HEIGHT 240
+
#define SCREEN_SIZE WIDTH * HEIGHT * 2
+
#define BUF_SIZE SCREEN_SIZE * 2
+
+
static jmp_buf exitJmp;
+
+
inline void clearScreen(void) {
+
u8 *frame = gfxGetFramebuffer(GFX_BOTTOM, GFX_LEFT, NULL, NULL);
+
memset(frame, 0, 320 * 240 * 3);
+
}
+
+
void hang(char *message) {
+
clearScreen();
+
printf("%s", message);
+
printf("Press start to exit");
+
+
while (aptMainLoop()) {
+ +
+
u32 kHeld = hidKeysHeld();
+
if (kHeld & KEY_START) longjmp(exitJmp, 1);
+
}
+
}
+
+
void cleanup() {
+ + +
acExit();
+
}
+
+
void writePictureToFramebufferRGB565(void *fb, void *img, u16 x, u16 y, u16 width, u16 height) {
+
u8 *fb_8 = (u8*) fb;
+
u16 *img_16 = (u16*) img;
+
int i, j, draw_x, draw_y;
+
for(j = 0; j < height; j++) {
+
for(i = 0; i < width; i++) {
+
draw_y = y + height - j;
+
draw_x = x + i;
+
u32 v = (draw_y + draw_x * height) * 3;
+
u16 data = img_16[j * width + i];
+
uint8_t b = ((data >> 11) & 0x1F) << 3;
+
uint8_t g = ((data >> 5) & 0x3F) << 2;
+
uint8_t r = (data & 0x1F) << 3;
+
fb_8[v] = r;
+
fb_8[v+1] = g;
+
fb_8[v+2] = b;
+
}
+
}
+
}
+
+
// TODO: Figure out how to use CAMU_GetStereoCameraCalibrationData
+
void takePicture3D(u8 *buf) {
+
u32 bufSize;
+
printf("CAMU_GetMaxBytes: 0x%08X\n", (unsigned int) CAMU_GetMaxBytes(&bufSize, WIDTH, HEIGHT));
+
printf("CAMU_SetTransferBytes: 0x%08X\n", (unsigned int) CAMU_SetTransferBytes(PORT_BOTH, bufSize, WIDTH, HEIGHT));
+
+
printf("CAMU_Activate: 0x%08X\n", (unsigned int) CAMU_Activate(SELECT_OUT1_OUT2));
+
+
Handle camReceiveEvent = 0;
+
Handle camReceiveEvent2 = 0;
+
+
printf("CAMU_ClearBuffer: 0x%08X\n", (unsigned int) CAMU_ClearBuffer(PORT_BOTH));
+
printf("CAMU_SynchronizeVsyncTiming: 0x%08X\n", (unsigned int) CAMU_SynchronizeVsyncTiming(SELECT_OUT1, SELECT_OUT2));
+
+
printf("CAMU_StartCapture: 0x%08X\n", (unsigned int) CAMU_StartCapture(PORT_BOTH));
+
+
printf("CAMU_SetReceiving: 0x%08X\n", (unsigned int) CAMU_SetReceiving(&camReceiveEvent, buf, PORT_CAM1, SCREEN_SIZE, (s16) bufSize));
+
printf("CAMU_SetReceiving: 0x%08X\n", (unsigned int) CAMU_SetReceiving(&camReceiveEvent2, buf + SCREEN_SIZE, PORT_CAM2, SCREEN_SIZE, (s16) bufSize));
+
printf("svcWaitSynchronization: 0x%08X\n", (unsigned int) svcWaitSynchronization(camReceiveEvent, WAIT_TIMEOUT));
+
printf("svcWaitSynchronization: 0x%08X\n", (unsigned int) svcWaitSynchronization(camReceiveEvent2, WAIT_TIMEOUT));
+
printf("CAMU_PlayShutterSound: 0x%08X\n", (unsigned int) CAMU_PlayShutterSound(SHUTTER_SOUND_TYPE_NORMAL));
+
+
printf("CAMU_StopCapture: 0x%08X\n", (unsigned int) CAMU_StopCapture(PORT_BOTH));
+
+
svcCloseHandle(camReceiveEvent);
+
svcCloseHandle(camReceiveEvent2);
+
+
printf("CAMU_Activate: 0x%08X\n", (unsigned int) CAMU_Activate(SELECT_NONE));
+
}
+
+
int main() {
+
// Initializations
+
acInit();
+ + +
+
// Enable double buffering to remove screen tearing
+ + +
+
// Save current stack frame for easy exit
+
if(setjmp(exitJmp)) {
+
cleanup();
+
return 0;
+
}
+
+
u32 kDown;
+
u32 kHeld;
+
+
printf("Initializing camera\n");
+
+
printf("camInit: 0x%08X\n", (unsigned int) camInit());
+
+
printf("CAMU_SetSize: 0x%08X\n", (unsigned int) CAMU_SetSize(SELECT_OUT1_OUT2, SIZE_CTR_TOP_LCD, CONTEXT_A));
+
printf("CAMU_SetOutputFormat: 0x%08X\n", (unsigned int) CAMU_SetOutputFormat(SELECT_OUT1_OUT2, OUTPUT_RGB_565, CONTEXT_A));
+
+
printf("CAMU_SetNoiseFilter: 0x%08X\n", (unsigned int) CAMU_SetNoiseFilter(SELECT_OUT1_OUT2, true));
+
printf("CAMU_SetAutoExposure: 0x%08X\n", (unsigned int) CAMU_SetAutoExposure(SELECT_OUT1_OUT2, true));
+
printf("CAMU_SetAutoWhiteBalance: 0x%08X\n", (unsigned int) CAMU_SetAutoWhiteBalance(SELECT_OUT1_OUT2, true));
+
//printf("CAMU_SetEffect: 0x%08X\n", (unsigned int) CAMU_SetEffect(SELECT_OUT1_OUT2, EFFECT_MONO, CONTEXT_A));
+
+
printf("CAMU_SetTrimming: 0x%08X\n", (unsigned int) CAMU_SetTrimming(PORT_CAM1, false));
+
printf("CAMU_SetTrimming: 0x%08X\n", (unsigned int) CAMU_SetTrimming(PORT_CAM2, false));
+
//printf("CAMU_SetTrimmingParamsCenter: 0x%08X\n", (unsigned int) CAMU_SetTrimmingParamsCenter(PORT_CAM1, 512, 240, 512, 384));
+
+
u8 *buf = malloc(BUF_SIZE);
+
if(!buf) {
+
hang("Failed to allocate memory!");
+
}
+
+ + + +
+
bool held_R = false;
+
+
printf("\nPress R to take a new picture\n");
+
printf("Use slider to enable/disable 3D\n");
+
printf("Press Start to exit to Homebrew Launcher\n");
+
+
// Main loop
+
while (aptMainLoop()) {
+
// Read which buttons are currently pressed or not
+ +
kDown = hidKeysDown();
+
kHeld = hidKeysHeld();
+
+
// If START button is pressed, break loop and quit
+
if (kDown & KEY_START) {
+
break;
+
}
+
+
if ((kHeld & KEY_R) && !held_R) {
+
printf("Capturing new image\n");
+ + + +
held_R = true;
+
takePicture3D(buf);
+
} else if (!(kHeld & KEY_R)) {
+
held_R = false;
+
}
+
+
if(CONFIG_3D_SLIDERSTATE > 0.0f) {
+
gfxSet3D(true);
+
writePictureToFramebufferRGB565(gfxGetFramebuffer(GFX_TOP, GFX_LEFT, NULL, NULL), buf, 0, 0, WIDTH, HEIGHT);
+
writePictureToFramebufferRGB565(gfxGetFramebuffer(GFX_TOP, GFX_RIGHT, NULL, NULL), buf + SCREEN_SIZE, 0, 0, WIDTH, HEIGHT);
+
} else {
+
gfxSet3D(false);
+
writePictureToFramebufferRGB565(gfxGetFramebuffer(GFX_TOP, GFX_LEFT, NULL, NULL), buf, 0, 0, WIDTH, HEIGHT);
+
}
+
+
// Flush and swap framebuffers
+ + + +
}
+
+
// Exit
+
free(buf);
+
cleanup();
+
+
// Return to hbmenu
+
return 0;
+
}
+
Central 3DS header.
+
void acExit(void)
Exits AC.
+
Result acInit(void)
Initializes AC.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
Result CAMU_SynchronizeVsyncTiming(u32 select1, u32 select2)
Synchronizes the specified cameras' vsync timing.
+
Result CAMU_SetReceiving(Handle *event, void *dst, u32 port, u32 imageSize, s16 transferUnit)
Initiates the process of receiving a camera frame.
+
Result camInit(void)
Initializes the cam service.
+
Result CAMU_SetNoiseFilter(u32 select, bool noiseFilter)
Sets whether the specified camera's noise filter is enabled.
+
Result CAMU_SetTransferBytes(u32 port, u32 bytes, s16 width, s16 height)
Sets the number of bytes to transfer into an image buffer.
+
@ SIZE_CTR_TOP_LCD
CTR Top LCD size. (400x240)
Definition: cam.h:61
+
Result CAMU_ClearBuffer(u32 port)
Clears the buffer and error flags of the specified camera port.
+
Result CAMU_SetAutoExposure(u32 select, bool autoExposure)
Sets whether auto exposure is enabled on the specified camera.
+
Result CAMU_StartCapture(u32 port)
Begins capture on the specified camera port.
+
@ OUTPUT_RGB_565
RGB565.
Definition: cam.h:157
+
@ SHUTTER_SOUND_TYPE_NORMAL
Normal shutter sound.
Definition: cam.h:162
+
@ CONTEXT_A
Context A.
Definition: cam.h:37
+
void camExit(void)
Closes the cam service.
+
Result CAMU_StopCapture(u32 port)
Terminates capture on the specified camera port.
+
Result CAMU_SetSize(u32 select, CAMU_Size size, CAMU_Context context)
Sets the image resolution of the given camera in the given context.
+
Result CAMU_SetTrimming(u32 port, bool trimming)
Sets whether image trimming is enabled.
+
Result CAMU_Activate(u32 select)
Activates the specified camera.
+
Result CAMU_PlayShutterSound(CAMU_ShutterSoundType sound)
Plays the specified shutter sound.
+
@ PORT_CAM2
CAM2 port.
Definition: cam.h:14
+
@ PORT_BOTH
Both ports.
Definition: cam.h:17
+
@ PORT_CAM1
CAM1 port.
Definition: cam.h:13
+
Result CAMU_SetOutputFormat(u32 select, CAMU_OutputFormat format, CAMU_Context context)
Sets the output format of the given camera in the given context.
+
Result CAMU_SetAutoWhiteBalance(u32 select, bool autoWhiteBalance)
Sets whether auto white balance is enabled on the specified camera.
+
Result CAMU_GetMaxBytes(u32 *maxBytes, s16 width, s16 height)
Gets the maximum number of bytes that can be saved to an image buffer.
+
@ SELECT_OUT1
Outer camera 1.
Definition: cam.h:23
+
@ SELECT_OUT2
Outer camera 2.
Definition: cam.h:25
+
@ SELECT_NONE
No camera.
Definition: cam.h:22
+
@ SELECT_OUT1_OUT2
Both outer cameras.
Definition: cam.h:29
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
void gfxSwapBuffers(void)
Updates the configuration of both screens.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
u8 * gfxGetFramebuffer(gfxScreen_t screen, gfx3dSide_t side, u16 *width, u16 *height)
Retrieves the framebuffer of the specified screen to which graphics should be rendered.
+
@ GFX_BOTTOM
Bottom screen.
Definition: gfx.h:27
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxSet3D(bool enable)
Enables or disables the 3D stereoscopic effect on the top screen.
+
void gfxSetDoubleBuffering(gfxScreen_t screen, bool enable)
Enables or disables double buffering on a screen.
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
@ GFX_RIGHT
Right eye framebuffer.
Definition: gfx.h:38
+
void gfxFlushBuffers(void)
Flushes the data cache for the current framebuffers.
+
#define gspWaitForVBlank()
Waits for VBlank.
Definition: gspgpu.h:151
+
@ KEY_START
Start.
Definition: hid.h:15
+
@ KEY_R
R.
Definition: hid.h:20
+
u32 hidKeysHeld(void)
Returns a bitmask of held buttons.
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
Result svcCloseHandle(Handle handle)
Closes a handle.
+
Result svcWaitSynchronization(Handle handle, s64 nanoseconds)
Waits for synchronization on a handle.
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
int16_t s16
16-bit signed integer
Definition: types.h:27
+
u32 Handle
Resource handle.
Definition: types.h:41
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/camera_2video_2source_2main_8c-example.html b/camera_2video_2source_2main_8c-example.html new file mode 100644 index 000000000..1f542a112 --- /dev/null +++ b/camera_2video_2source_2main_8c-example.html @@ -0,0 +1,389 @@ + + + + + + + +libctru: camera/video/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
camera/video/source/main.c
+
+
+
#include <stdio.h>
+
#include <string.h>
+
#include <stdlib.h>
+
#include <malloc.h>
+
#include <setjmp.h>
+
#include <3ds.h>
+
#include <sys/dirent.h>
+
#include <sys/errno.h>
+
#include <sys/unistd.h>
+
#include <stdbool.h>
+
+
#define CONFIG_3D_SLIDERSTATE (*(volatile float*)0x1FF81080)
+
#define WAIT_TIMEOUT 1000000000ULL
+
+
#define WIDTH 400
+
#define HEIGHT 240
+
#define SCREEN_SIZE WIDTH * HEIGHT * 2
+
#define BUF_SIZE SCREEN_SIZE * 2
+
+
static jmp_buf exitJmp;
+
+
inline void clearScreen(void) {
+
u8 *frame = gfxGetFramebuffer(GFX_BOTTOM, GFX_LEFT, NULL, NULL);
+
memset(frame, 0, 320 * 240 * 3);
+
}
+
+
void hang(char *message) {
+
clearScreen();
+
printf("%s", message);
+
printf("Press start to exit");
+
+
while (aptMainLoop()) {
+ +
+
u32 kHeld = hidKeysHeld();
+
if (kHeld & KEY_START) longjmp(exitJmp, 1);
+
}
+
}
+
+
void cleanup() {
+ + +
acExit();
+
}
+
+
void writePictureToFramebufferRGB565(void *fb, void *img, u16 x, u16 y, u16 width, u16 height) {
+
u8 *fb_8 = (u8*) fb;
+
u16 *img_16 = (u16*) img;
+
int i, j, draw_x, draw_y;
+
for(j = 0; j < height; j++) {
+
for(i = 0; i < width; i++) {
+
draw_y = y + height - j;
+
draw_x = x + i;
+
u32 v = (draw_y + draw_x * height) * 3;
+
u16 data = img_16[j * width + i];
+
uint8_t b = ((data >> 11) & 0x1F) << 3;
+
uint8_t g = ((data >> 5) & 0x3F) << 2;
+
uint8_t r = (data & 0x1F) << 3;
+
fb_8[v] = r;
+
fb_8[v+1] = g;
+
fb_8[v+2] = b;
+
}
+
}
+
}
+
+
// TODO: Figure out how to use CAMU_GetStereoCameraCalibrationData
+
void takePicture3D(u8 *buf) {
+
u32 bufSize;
+
printf("CAMU_GetMaxBytes: 0x%08X\n", (unsigned int) CAMU_GetMaxBytes(&bufSize, WIDTH, HEIGHT));
+
printf("CAMU_SetTransferBytes: 0x%08X\n", (unsigned int) CAMU_SetTransferBytes(PORT_BOTH, bufSize, WIDTH, HEIGHT));
+
+
printf("CAMU_Activate: 0x%08X\n", (unsigned int) CAMU_Activate(SELECT_OUT1_OUT2));
+
+
Handle camReceiveEvent = 0;
+
Handle camReceiveEvent2 = 0;
+
+
printf("CAMU_ClearBuffer: 0x%08X\n", (unsigned int) CAMU_ClearBuffer(PORT_BOTH));
+
printf("CAMU_SynchronizeVsyncTiming: 0x%08X\n", (unsigned int) CAMU_SynchronizeVsyncTiming(SELECT_OUT1, SELECT_OUT2));
+
+
printf("CAMU_StartCapture: 0x%08X\n", (unsigned int) CAMU_StartCapture(PORT_BOTH));
+
+
printf("CAMU_SetReceiving: 0x%08X\n", (unsigned int) CAMU_SetReceiving(&camReceiveEvent, buf, PORT_CAM1, SCREEN_SIZE, (s16) bufSize));
+
printf("CAMU_SetReceiving: 0x%08X\n", (unsigned int) CAMU_SetReceiving(&camReceiveEvent2, buf + SCREEN_SIZE, PORT_CAM2, SCREEN_SIZE, (s16) bufSize));
+
printf("svcWaitSynchronization: 0x%08X\n", (unsigned int) svcWaitSynchronization(camReceiveEvent, WAIT_TIMEOUT));
+
printf("svcWaitSynchronization: 0x%08X\n", (unsigned int) svcWaitSynchronization(camReceiveEvent2, WAIT_TIMEOUT));
+
printf("CAMU_PlayShutterSound: 0x%08X\n", (unsigned int) CAMU_PlayShutterSound(SHUTTER_SOUND_TYPE_NORMAL));
+
+
printf("CAMU_StopCapture: 0x%08X\n", (unsigned int) CAMU_StopCapture(PORT_BOTH));
+
+
svcCloseHandle(camReceiveEvent);
+
svcCloseHandle(camReceiveEvent2);
+
+
printf("CAMU_Activate: 0x%08X\n", (unsigned int) CAMU_Activate(SELECT_NONE));
+
}
+
+
int main() {
+
// Initializations
+
acInit();
+ + +
+
// Enable double buffering to remove screen tearing
+ + +
+
// Save current stack frame for easy exit
+
if(setjmp(exitJmp)) {
+
cleanup();
+
return 0;
+
}
+
+
u32 kDown;
+
+
printf("Initializing camera\n");
+
+
printf("camInit: 0x%08X\n", (unsigned int) camInit());
+
+
printf("CAMU_SetSize: 0x%08X\n", (unsigned int) CAMU_SetSize(SELECT_OUT1_OUT2, SIZE_CTR_TOP_LCD, CONTEXT_A));
+
printf("CAMU_SetOutputFormat: 0x%08X\n", (unsigned int) CAMU_SetOutputFormat(SELECT_OUT1_OUT2, OUTPUT_RGB_565, CONTEXT_A));
+
+
printf("CAMU_SetFrameRate: 0x%08X\n", (unsigned int) CAMU_SetFrameRate(SELECT_OUT1_OUT2, FRAME_RATE_30));
+
+
printf("CAMU_SetNoiseFilter: 0x%08X\n", (unsigned int) CAMU_SetNoiseFilter(SELECT_OUT1_OUT2, true));
+
printf("CAMU_SetAutoExposure: 0x%08X\n", (unsigned int) CAMU_SetAutoExposure(SELECT_OUT1_OUT2, true));
+
printf("CAMU_SetAutoWhiteBalance: 0x%08X\n", (unsigned int) CAMU_SetAutoWhiteBalance(SELECT_OUT1_OUT2, true));
+
// TODO: Figure out how to use the effects properly.
+
//printf("CAMU_SetEffect: 0x%08X\n", (unsigned int) CAMU_SetEffect(SELECT_OUT1_OUT2, EFFECT_SEPIA, CONTEXT_A));
+
+
printf("CAMU_SetTrimming: 0x%08X\n", (unsigned int) CAMU_SetTrimming(PORT_CAM1, false));
+
printf("CAMU_SetTrimming: 0x%08X\n", (unsigned int) CAMU_SetTrimming(PORT_CAM2, false));
+
//printf("CAMU_SetTrimmingParamsCenter: 0x%08X\n", (unsigned int) CAMU_SetTrimmingParamsCenter(PORT_CAM1, 512, 240, 512, 384));
+
+
u8 *buf = malloc(BUF_SIZE);
+
if(!buf) {
+
hang("Failed to allocate memory!");
+
}
+
+
u32 bufSize;
+
printf("CAMU_GetMaxBytes: 0x%08X\n", (unsigned int) CAMU_GetMaxBytes(&bufSize, WIDTH, HEIGHT));
+
printf("CAMU_SetTransferBytes: 0x%08X\n", (unsigned int) CAMU_SetTransferBytes(PORT_BOTH, bufSize, WIDTH, HEIGHT));
+
+
printf("CAMU_Activate: 0x%08X\n", (unsigned int) CAMU_Activate(SELECT_OUT1_OUT2));
+
+
Handle camReceiveEvent[4] = {0};
+
bool captureInterrupted = false;
+
s32 index = 0;
+
+
// events 0 and 1 for interruption
+
printf("CAMU_GetBufferErrorInterruptEvent: 0x%08X\n", (unsigned int) CAMU_GetBufferErrorInterruptEvent(&camReceiveEvent[0], PORT_CAM1));
+
printf("CAMU_GetBufferErrorInterruptEvent: 0x%08X\n", (unsigned int) CAMU_GetBufferErrorInterruptEvent(&camReceiveEvent[1], PORT_CAM2));
+
+
printf("CAMU_ClearBuffer: 0x%08X\n", (unsigned int) CAMU_ClearBuffer(PORT_BOTH));
+
printf("CAMU_SynchronizeVsyncTiming: 0x%08X\n", (unsigned int) CAMU_SynchronizeVsyncTiming(SELECT_OUT1, SELECT_OUT2));
+
+
printf("CAMU_StartCapture: 0x%08X\n", (unsigned int) CAMU_StartCapture(PORT_BOTH));
+
printf("CAMU_PlayShutterSound: 0x%08X\n", (unsigned int) CAMU_PlayShutterSound(SHUTTER_SOUND_TYPE_MOVIE));
+
+ + + +
+
printf("\nUse slider to enable/disable 3D\n");
+
printf("Press Start to exit to Homebrew Launcher\n");
+
+
// Main loop
+
while (aptMainLoop()) {
+
+
if (!captureInterrupted) {
+
// Read which buttons are currently pressed or not
+ +
kDown = hidKeysDown();
+
+
// If START button is pressed, break loop and quit
+
if (kDown & KEY_START) {
+
break;
+
}
+
}
+
+
// events 2 and 3 for capture
+
if (camReceiveEvent[2] == 0) {
+
printf("CAMU_SetReceiving: 0x%08X\n", (unsigned int) CAMU_SetReceiving(&camReceiveEvent[2], buf, PORT_CAM1, SCREEN_SIZE, (s16)bufSize));
+
}
+
if (camReceiveEvent[3] == 0) {
+
CAMU_SetReceiving(&camReceiveEvent[3], buf + SCREEN_SIZE, PORT_CAM2, SCREEN_SIZE, (s16)bufSize);
+
}
+
+
if (captureInterrupted) {
+
printf("CAMU_StartCapture: 0x%08X\n", (unsigned int) CAMU_StartCapture(PORT_BOTH));
+
captureInterrupted = false;
+
}
+
+
printf("svcWaitSynchronizationN: 0x%08X\n", (unsigned int) svcWaitSynchronizationN(&index, camReceiveEvent, 4, false, WAIT_TIMEOUT));
+
switch (index) {
+
case 0:
+
printf("svcCloseHandle: 0x%08X\n", (unsigned int) svcCloseHandle(camReceiveEvent[2]));
+
camReceiveEvent[2] = 0;
+
+
captureInterrupted = true;
+
continue; //skip screen update
+
break;
+
case 1:
+
svcCloseHandle(camReceiveEvent[3]);
+
camReceiveEvent[3] = 0;
+
+
captureInterrupted = true;
+
continue; //skip screen update
+
break;
+
case 2:
+
printf("svcCloseHandle: 0x%08X\n", (unsigned int) svcCloseHandle(camReceiveEvent[2]));
+
camReceiveEvent[2] = 0;
+
break;
+
case 3:
+
svcCloseHandle(camReceiveEvent[3]);
+
camReceiveEvent[3] = 0;
+
break;
+
default:
+
break;
+
}
+
+
if(CONFIG_3D_SLIDERSTATE > 0.0f) {
+
gfxSet3D(true);
+
writePictureToFramebufferRGB565(gfxGetFramebuffer(GFX_TOP, GFX_LEFT, NULL, NULL), buf, 0, 0, WIDTH, HEIGHT);
+
writePictureToFramebufferRGB565(gfxGetFramebuffer(GFX_TOP, GFX_RIGHT, NULL, NULL), buf + SCREEN_SIZE, 0, 0, WIDTH, HEIGHT);
+
} else {
+
gfxSet3D(false);
+
writePictureToFramebufferRGB565(gfxGetFramebuffer(GFX_TOP, GFX_LEFT, NULL, NULL), buf, 0, 0, WIDTH, HEIGHT);
+
}
+
+
// Flush and swap framebuffers
+ + + +
}
+
+
printf("CAMU_StopCapture: 0x%08X\n", (unsigned int) CAMU_StopCapture(PORT_BOTH));
+
+
// Close camera event handles
+
for (int i = 0; i < 4; i++) {
+
if (camReceiveEvent[i] != 0) {
+
svcCloseHandle(camReceiveEvent[i]);
+
}
+
}
+
+
printf("CAMU_Activate: 0x%08X\n", (unsigned int) CAMU_Activate(SELECT_NONE));
+
+
// Exit
+
free(buf);
+
cleanup();
+
+
// Return to hbmenu
+
return 0;
+
}
+
Central 3DS header.
+
void acExit(void)
Exits AC.
+
Result acInit(void)
Initializes AC.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
Result CAMU_SynchronizeVsyncTiming(u32 select1, u32 select2)
Synchronizes the specified cameras' vsync timing.
+
Result CAMU_SetReceiving(Handle *event, void *dst, u32 port, u32 imageSize, s16 transferUnit)
Initiates the process of receiving a camera frame.
+
Result camInit(void)
Initializes the cam service.
+
Result CAMU_SetNoiseFilter(u32 select, bool noiseFilter)
Sets whether the specified camera's noise filter is enabled.
+
Result CAMU_SetTransferBytes(u32 port, u32 bytes, s16 width, s16 height)
Sets the number of bytes to transfer into an image buffer.
+
@ SIZE_CTR_TOP_LCD
CTR Top LCD size. (400x240)
Definition: cam.h:61
+
Result CAMU_ClearBuffer(u32 port)
Clears the buffer and error flags of the specified camera port.
+
Result CAMU_SetAutoExposure(u32 select, bool autoExposure)
Sets whether auto exposure is enabled on the specified camera.
+
Result CAMU_GetBufferErrorInterruptEvent(Handle *event, u32 port)
Gets a handle to the event signaled on camera buffer errors.
+
Result CAMU_StartCapture(u32 port)
Begins capture on the specified camera port.
+
@ OUTPUT_RGB_565
RGB565.
Definition: cam.h:157
+
@ FRAME_RATE_30
30 FPS.
Definition: cam.h:77
+
@ SHUTTER_SOUND_TYPE_MOVIE
Shutter sound to begin a movie.
Definition: cam.h:163
+
@ SHUTTER_SOUND_TYPE_NORMAL
Normal shutter sound.
Definition: cam.h:162
+
Result CAMU_SetFrameRate(u32 select, CAMU_FrameRate frameRate)
Sets the frame rate of the given camera.
+
@ CONTEXT_A
Context A.
Definition: cam.h:37
+
void camExit(void)
Closes the cam service.
+
Result CAMU_StopCapture(u32 port)
Terminates capture on the specified camera port.
+
Result CAMU_SetSize(u32 select, CAMU_Size size, CAMU_Context context)
Sets the image resolution of the given camera in the given context.
+
Result CAMU_SetTrimming(u32 port, bool trimming)
Sets whether image trimming is enabled.
+
Result CAMU_Activate(u32 select)
Activates the specified camera.
+
Result CAMU_PlayShutterSound(CAMU_ShutterSoundType sound)
Plays the specified shutter sound.
+
@ PORT_CAM2
CAM2 port.
Definition: cam.h:14
+
@ PORT_BOTH
Both ports.
Definition: cam.h:17
+
@ PORT_CAM1
CAM1 port.
Definition: cam.h:13
+
Result CAMU_SetOutputFormat(u32 select, CAMU_OutputFormat format, CAMU_Context context)
Sets the output format of the given camera in the given context.
+
Result CAMU_SetAutoWhiteBalance(u32 select, bool autoWhiteBalance)
Sets whether auto white balance is enabled on the specified camera.
+
Result CAMU_GetMaxBytes(u32 *maxBytes, s16 width, s16 height)
Gets the maximum number of bytes that can be saved to an image buffer.
+
@ SELECT_OUT1
Outer camera 1.
Definition: cam.h:23
+
@ SELECT_OUT2
Outer camera 2.
Definition: cam.h:25
+
@ SELECT_NONE
No camera.
Definition: cam.h:22
+
@ SELECT_OUT1_OUT2
Both outer cameras.
Definition: cam.h:29
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
void gfxSwapBuffers(void)
Updates the configuration of both screens.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
u8 * gfxGetFramebuffer(gfxScreen_t screen, gfx3dSide_t side, u16 *width, u16 *height)
Retrieves the framebuffer of the specified screen to which graphics should be rendered.
+
@ GFX_BOTTOM
Bottom screen.
Definition: gfx.h:27
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxSet3D(bool enable)
Enables or disables the 3D stereoscopic effect on the top screen.
+
void gfxSetDoubleBuffering(gfxScreen_t screen, bool enable)
Enables or disables double buffering on a screen.
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
@ GFX_RIGHT
Right eye framebuffer.
Definition: gfx.h:38
+
void gfxFlushBuffers(void)
Flushes the data cache for the current framebuffers.
+
#define gspWaitForVBlank()
Waits for VBlank.
Definition: gspgpu.h:151
+
@ KEY_START
Start.
Definition: hid.h:15
+
u32 hidKeysHeld(void)
Returns a bitmask of held buttons.
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
Result svcCloseHandle(Handle handle)
Closes a handle.
+
Result svcWaitSynchronizationN(s32 *out, const Handle *handles, s32 handles_num, bool wait_all, s64 nanoseconds)
Waits for synchronization on multiple handles.
+
Result svcWaitSynchronization(Handle handle, s64 nanoseconds)
Waits for synchronization on a handle.
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
int16_t s16
16-bit signed integer
Definition: types.h:27
+
u32 Handle
Resource handle.
Definition: types.h:41
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
int32_t s32
32-bit signed integer
Definition: types.h:28
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/cdcchk_8h.html b/cdcchk_8h.html new file mode 100644 index 000000000..379ed73b0 --- /dev/null +++ b/cdcchk_8h.html @@ -0,0 +1,499 @@ + + + + + + + +libctru: include/3ds/services/cdcchk.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
cdcchk.h File Reference
+
+
+ +

CODEC Hardware Check service. +More...

+
#include <3ds/types.h>
+
+

Go to the source code of this file.

+ + + + + +

+Enumerations

enum  CodecI2sLine {
+  CODEC_I2S_LINE_1 +,
+  CODEC_I2S_LINE_2 +
+ }
 I2S line enumeration. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+Result cdcChkInit (void)
 Initializes CDCCHK.
 
+void cdcChkExit (void)
 Exits CDCCHK.
 
HandlecdcChkGetSessionHandle (void)
 Gets a pointer to the current cdc:CHK session handle. More...
 
Result CDCCHK_ReadRegisters1 (u8 pageId, u8 initialRegAddr, void *outData, size_t size)
 Reads multiple registers from the CODEC, using the old SPI hardware interface and a 4MHz baudrate. More...
 
Result CDCCHK_ReadRegisters2 (u8 pageId, u8 initialRegAddr, void *outData, size_t size)
 Reads multiple registers from the CODEC, using the new SPI hardware interface and a 16MHz baudrate. More...
 
Result CDCCHK_WriteRegisters1 (u8 pageId, u8 initialRegAddr, const void *data, size_t size)
 Writes multiple registers to the CODEC, using the old SPI hardware interface and a 4MHz baudrate. More...
 
Result CDCCHK_WriteRegisters2 (u8 pageId, u8 initialRegAddr, const void *data, size_t size)
 Writes multiple registers to the CODEC, using the new SPI hardware interface and a 16MHz baudrate. More...
 
Result CDCCHK_ReadNtrPmicRegister (u8 *outData, u8 regAddr)
 Reads a single register from the NTR PMIC. More...
 
Result CDCCHK_WriteNtrPmicRegister (u8 regAddr, u8 data)
 Writes a single register from the NTR PMIC. More...
 
Result CDCCHK_SetI2sVolume (CodecI2sLine i2sLine, s8 volume)
 Sets the DAC volume level for the specified I2S line. More...
 
+

Detailed Description

+

CODEC Hardware Check service.

+

Enumeration Type Documentation

+ +

◆ CodecI2sLine

+ +
+
+ + + + +
enum CodecI2sLine
+
+ +

I2S line enumeration.

+ + + +
Enumerator
CODEC_I2S_LINE_1 

Primary I2S line, used by DSP/Mic (configurable)/GBA sound controller.

+
CODEC_I2S_LINE_2 

Secondary I2S line, used by CSND hardware.

+
+ +
+
+

Function Documentation

+ +

◆ CDCCHK_ReadNtrPmicRegister()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CDCCHK_ReadNtrPmicRegister (u8outData,
u8 regAddr 
)
+
+ +

Reads a single register from the NTR PMIC.

+
Parameters
+ + + +
[out]outDataWhere to read the data to (1 byte).
regAddrRegister address.
+
+
+
Note
The NTR PMIC is emulated by the CODEC hardware and sends IRQs to the MCU when relevant.
+ +
+
+ +

◆ CDCCHK_ReadRegisters1()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result CDCCHK_ReadRegisters1 (u8 pageId,
u8 initialRegAddr,
void * outData,
size_t size 
)
+
+ +

Reads multiple registers from the CODEC, using the old SPI hardware interface and a 4MHz baudrate.

+
Parameters
+ + + + + +
pageIdCODEC Page ID.
initialRegAddrAddress of the CODEC register to start with.
[out]outDataWhere to write the read data to.
sizeNumber of registers to read (bytes to read, max. 64).
+
+
+ +
+
+ +

◆ CDCCHK_ReadRegisters2()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result CDCCHK_ReadRegisters2 (u8 pageId,
u8 initialRegAddr,
void * outData,
size_t size 
)
+
+ +

Reads multiple registers from the CODEC, using the new SPI hardware interface and a 16MHz baudrate.

+
Parameters
+ + + + + +
pageIdCODEC Page ID.
initialRegAddrAddress of the CODEC register to start with.
[out]outDataWhere to read the data to.
sizeNumber of registers to read (bytes to read, max. 64).
+
+
+ +
+
+ +

◆ CDCCHK_SetI2sVolume()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CDCCHK_SetI2sVolume (CodecI2sLine i2sLine,
s8 volume 
)
+
+ +

Sets the DAC volume level for the specified I2S line.

+
Parameters
+ + + +
i2sLineI2S line to set the volume for.
volumeVolume level (-128 to 0).
+
+
+ +
+
+ +

◆ CDCCHK_WriteNtrPmicRegister()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CDCCHK_WriteNtrPmicRegister (u8 regAddr,
u8 data 
)
+
+ +

Writes a single register from the NTR PMIC.

+
Parameters
+ + + +
regAddrRegister address.
dataData to write (1 byte).
+
+
+
Note
The NTR PMIC is emulated by the CODEC hardware and sends IRQs to the MCU when relevant.
+ +
+
+ +

◆ CDCCHK_WriteRegisters1()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result CDCCHK_WriteRegisters1 (u8 pageId,
u8 initialRegAddr,
const void * data,
size_t size 
)
+
+ +

Writes multiple registers to the CODEC, using the old SPI hardware interface and a 4MHz baudrate.

+
Parameters
+ + + + + +
pageIdCODEC Page ID.
initialRegAddrAddress of the CODEC register to start with.
dataWhere to read the data to write from.
sizeNumber of registers to write (bytes to read, max. 64).
+
+
+ +
+
+ +

◆ CDCCHK_WriteRegisters2()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result CDCCHK_WriteRegisters2 (u8 pageId,
u8 initialRegAddr,
const void * data,
size_t size 
)
+
+ +

Writes multiple registers to the CODEC, using the new SPI hardware interface and a 16MHz baudrate.

+
Parameters
+ + + + + +
pageIdCODEC Page ID.
initialRegAddrAddress of the CODEC register to start with.
dataWhere to read the data to write from.
sizeNumber of registers to write (bytes to read, max. 64).
+
+
+ +
+
+ +

◆ cdcChkGetSessionHandle()

+ +
+
+ + + + + + + + +
Handle* cdcChkGetSessionHandle (void )
+
+ +

Gets a pointer to the current cdc:CHK session handle.

+
Returns
A pointer to the current cdc:CHK session handle.
+ +
+
+
+ + + + diff --git a/cdcchk_8h_source.html b/cdcchk_8h_source.html new file mode 100644 index 000000000..151a4a42d --- /dev/null +++ b/cdcchk_8h_source.html @@ -0,0 +1,187 @@ + + + + + + + +libctru: include/3ds/services/cdcchk.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
cdcchk.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file cdcchk.h
+
3  * @brief CODEC Hardware Check service.
+
4  */
+
5 #pragma once
+
6 
+
7 #include <3ds/types.h>
+
8 
+
9 /// I2S line enumeration
+
10 typedef enum {
+
11  CODEC_I2S_LINE_1, ///< Primary I2S line, used by DSP/Mic (configurable)/GBA sound controller.
+
12  CODEC_I2S_LINE_2, ///< Secondary I2S line, used by CSND hardware.
+
13 } CodecI2sLine;
+
14 
+
15 /// Initializes CDCCHK.
+ +
17 
+
18 /// Exits CDCCHK.
+
19 void cdcChkExit(void);
+
20 
+
21 /**
+
22  * @brief Gets a pointer to the current cdc:CHK session handle.
+
23  * @return A pointer to the current cdc:CHK session handle.
+
24  */
+ +
26 
+
27 /**
+
28  * @brief Reads multiple registers from the CODEC, using the old
+
29  * SPI hardware interface and a 4MHz baudrate.
+
30  * @param pageId CODEC Page ID.
+
31  * @param initialRegAddr Address of the CODEC register to start with.
+
32  * @param[out] outData Where to write the read data to.
+
33  * @param size Number of registers to read (bytes to read, max. 64).
+
34  */
+
35 Result CDCCHK_ReadRegisters1(u8 pageId, u8 initialRegAddr, void *outData, size_t size);
+
36 
+
37 /**
+
38  * @brief Reads multiple registers from the CODEC, using the new
+
39  * SPI hardware interface and a 16MHz baudrate.
+
40  * @param pageId CODEC Page ID.
+
41  * @param initialRegAddr Address of the CODEC register to start with.
+
42  * @param[out] outData Where to read the data to.
+
43  * @param size Number of registers to read (bytes to read, max. 64).
+
44  */
+
45 Result CDCCHK_ReadRegisters2(u8 pageId, u8 initialRegAddr, void *outData, size_t size);
+
46 
+
47 /**
+
48  * @brief Writes multiple registers to the CODEC, using the old
+
49  * SPI hardware interface and a 4MHz baudrate.
+
50  * @param pageId CODEC Page ID.
+
51  * @param initialRegAddr Address of the CODEC register to start with.
+
52  * @param data Where to read the data to write from.
+
53  * @param size Number of registers to write (bytes to read, max. 64).
+
54  */
+
55 Result CDCCHK_WriteRegisters1(u8 pageId, u8 initialRegAddr, const void *data, size_t size);
+
56 
+
57 /**
+
58  * @brief Writes multiple registers to the CODEC, using the new
+
59  * SPI hardware interface and a 16MHz baudrate.
+
60  * @param pageId CODEC Page ID.
+
61  * @param initialRegAddr Address of the CODEC register to start with.
+
62  * @param data Where to read the data to write from.
+
63  * @param size Number of registers to write (bytes to read, max. 64).
+
64  */
+
65 Result CDCCHK_WriteRegisters2(u8 pageId, u8 initialRegAddr, const void *data, size_t size);
+
66 
+
67 /**
+
68  * @brief Reads a single register from the NTR PMIC.
+
69  * @param[out] outData Where to read the data to (1 byte).
+
70  * @param regAddr Register address.
+
71  * @note The NTR PMIC is emulated by the CODEC hardware and sends
+
72  * IRQs to the MCU when relevant.
+
73  */
+ +
75 
+
76 /**
+
77  * @brief Writes a single register from the NTR PMIC.
+
78  * @param regAddr Register address.
+
79  * @param data Data to write (1 byte).
+
80  * @note The NTR PMIC is emulated by the CODEC hardware and sends
+
81  * IRQs to the MCU when relevant.
+
82  */
+ +
84 
+
85 /**
+
86  * @brief Sets the DAC volume level for the specified I2S line.
+
87  * @param i2sLine I2S line to set the volume for.
+
88  * @param volume Volume level (-128 to 0).
+
89 */
+ +
Result CDCCHK_ReadNtrPmicRegister(u8 *outData, u8 regAddr)
Reads a single register from the NTR PMIC.
+
Result CDCCHK_ReadRegisters1(u8 pageId, u8 initialRegAddr, void *outData, size_t size)
Reads multiple registers from the CODEC, using the old SPI hardware interface and a 4MHz baudrate.
+
void cdcChkExit(void)
Exits CDCCHK.
+
Result CDCCHK_ReadRegisters2(u8 pageId, u8 initialRegAddr, void *outData, size_t size)
Reads multiple registers from the CODEC, using the new SPI hardware interface and a 16MHz baudrate.
+
Result CDCCHK_WriteRegisters1(u8 pageId, u8 initialRegAddr, const void *data, size_t size)
Writes multiple registers to the CODEC, using the old SPI hardware interface and a 4MHz baudrate.
+
Handle * cdcChkGetSessionHandle(void)
Gets a pointer to the current cdc:CHK session handle.
+
Result CDCCHK_WriteRegisters2(u8 pageId, u8 initialRegAddr, const void *data, size_t size)
Writes multiple registers to the CODEC, using the new SPI hardware interface and a 16MHz baudrate.
+
Result CDCCHK_SetI2sVolume(CodecI2sLine i2sLine, s8 volume)
Sets the DAC volume level for the specified I2S line.
+
Result cdcChkInit(void)
Initializes CDCCHK.
+
Result CDCCHK_WriteNtrPmicRegister(u8 regAddr, u8 data)
Writes a single register from the NTR PMIC.
+
CodecI2sLine
I2S line enumeration.
Definition: cdcchk.h:10
+
@ CODEC_I2S_LINE_1
Primary I2S line, used by DSP/Mic (configurable)/GBA sound controller.
Definition: cdcchk.h:11
+
@ CODEC_I2S_LINE_2
Secondary I2S line, used by CSND hardware.
Definition: cdcchk.h:12
+
Various system types.
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
int8_t s8
8-bit signed integer
Definition: types.h:26
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
+ + + + diff --git a/cfgnor_8h.html b/cfgnor_8h.html new file mode 100644 index 000000000..d5a40ce6c --- /dev/null +++ b/cfgnor_8h.html @@ -0,0 +1,333 @@ + + + + + + + +libctru: include/3ds/services/cfgnor.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
cfgnor.h File Reference
+
+
+ +

CFGNOR service. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

Result cfgnorInit (u8 value)
 Initializes CFGNOR. More...
 
+void cfgnorExit (void)
 Exits CFGNOR.
 
Result cfgnorDumpFlash (u32 *buf, u32 size)
 Dumps the NOR flash. More...
 
Result cfgnorWriteFlash (u32 *buf, u32 size)
 Writes the NOR flash. More...
 
Result CFGNOR_Initialize (u8 value)
 Initializes the CFGNOR session. More...
 
+Result CFGNOR_Shutdown (void)
 Shuts down the CFGNOR session.
 
Result CFGNOR_ReadData (u32 offset, u32 *buf, u32 size)
 Reads data from NOR. More...
 
Result CFGNOR_WriteData (u32 offset, u32 *buf, u32 size)
 Writes data to NOR. More...
 
+

Detailed Description

+

CFGNOR service.

+

Function Documentation

+ +

◆ CFGNOR_Initialize()

+ +
+
+ + + + + + + + +
Result CFGNOR_Initialize (u8 value)
+
+ +

Initializes the CFGNOR session.

+
Parameters
+ + +
valueUnknown, usually 1.
+
+
+ +
+
+ +

◆ CFGNOR_ReadData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CFGNOR_ReadData (u32 offset,
u32buf,
u32 size 
)
+
+ +

Reads data from NOR.

+
Parameters
+ + + + +
offsetOffset to read from.
bufBuffer to read data to.
sizeSize of the buffer.
+
+
+ +
+
+ +

◆ CFGNOR_WriteData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CFGNOR_WriteData (u32 offset,
u32buf,
u32 size 
)
+
+ +

Writes data to NOR.

+
Parameters
+ + + + +
offsetOffset to write to.
bufBuffer to write data from.
sizeSize of the buffer.
+
+
+ +
+
+ +

◆ cfgnorDumpFlash()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result cfgnorDumpFlash (u32buf,
u32 size 
)
+
+ +

Dumps the NOR flash.

+
Parameters
+ + + +
bufBuffer to dump to.
sizeSize of the buffer.
+
+
+ +
+
+ +

◆ cfgnorInit()

+ +
+
+ + + + + + + + +
Result cfgnorInit (u8 value)
+
+ +

Initializes CFGNOR.

+
Parameters
+ + +
valueUnknown, usually 1.
+
+
+ +
+
+ +

◆ cfgnorWriteFlash()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result cfgnorWriteFlash (u32buf,
u32 size 
)
+
+ +

Writes the NOR flash.

+
Parameters
+ + + +
bufBuffer to write from.
sizeSize of the buffer.
+
+
+ +
+
+
+ + + + diff --git a/cfgnor_8h_source.html b/cfgnor_8h_source.html new file mode 100644 index 000000000..b93be312d --- /dev/null +++ b/cfgnor_8h_source.html @@ -0,0 +1,143 @@ + + + + + + + +libctru: include/3ds/services/cfgnor.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
cfgnor.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file cfgnor.h
+
3  * @brief CFGNOR service.
+
4  */
+
5 #pragma once
+
6 
+
7 /**
+
8  * @brief Initializes CFGNOR.
+
9  * @param value Unknown, usually 1.
+
10  */
+ +
12 
+
13 /// Exits CFGNOR
+
14 void cfgnorExit(void);
+
15 
+
16 /**
+
17  * @brief Dumps the NOR flash.
+
18  * @param buf Buffer to dump to.
+
19  * @param size Size of the buffer.
+
20  */
+ +
22 
+
23 /**
+
24  * @brief Writes the NOR flash.
+
25  * @param buf Buffer to write from.
+
26  * @param size Size of the buffer.
+
27  */
+ +
29 
+
30 /**
+
31  * @brief Initializes the CFGNOR session.
+
32  * @param value Unknown, usually 1.
+
33  */
+ +
35 
+
36 /// Shuts down the CFGNOR session.
+ +
38 
+
39 /**
+
40  * @brief Reads data from NOR.
+
41  * @param offset Offset to read from.
+
42  * @param buf Buffer to read data to.
+
43  * @param size Size of the buffer.
+
44  */
+
45 Result CFGNOR_ReadData(u32 offset, u32 *buf, u32 size);
+
46 
+
47 /**
+
48  * @brief Writes data to NOR.
+
49  * @param offset Offset to write to.
+
50  * @param buf Buffer to write data from.
+
51  * @param size Size of the buffer.
+
52  */
+
53 Result CFGNOR_WriteData(u32 offset, u32 *buf, u32 size);
+
Result cfgnorDumpFlash(u32 *buf, u32 size)
Dumps the NOR flash.
+
void cfgnorExit(void)
Exits CFGNOR.
+
Result cfgnorInit(u8 value)
Initializes CFGNOR.
+
Result CFGNOR_Shutdown(void)
Shuts down the CFGNOR session.
+
Result cfgnorWriteFlash(u32 *buf, u32 size)
Writes the NOR flash.
+
Result CFGNOR_WriteData(u32 offset, u32 *buf, u32 size)
Writes data to NOR.
+
Result CFGNOR_ReadData(u32 offset, u32 *buf, u32 size)
Reads data from NOR.
+
Result CFGNOR_Initialize(u8 value)
Initializes the CFGNOR session.
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
s32 Result
Function result.
Definition: types.h:42
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/cfgu_8h.html b/cfgu_8h.html new file mode 100644 index 000000000..f53289a92 --- /dev/null +++ b/cfgu_8h.html @@ -0,0 +1,980 @@ + + + + + + + +libctru: include/3ds/services/cfgu.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
cfgu.h File Reference
+
+
+ +

CFGU (Configuration) Service. +More...

+
#include <3ds/types.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + +

+Enumerations

enum  CFG_Region {
+  CFG_REGION_JPN = 0 +,
+  CFG_REGION_USA = 1 +,
+  CFG_REGION_EUR = 2 +,
+  CFG_REGION_AUS = 3 +,
+  CFG_REGION_CHN = 4 +,
+  CFG_REGION_KOR = 5 +,
+  CFG_REGION_TWN = 6 +
+ }
 Configuration region values. More...
 
enum  CFG_Language {
+  CFG_LANGUAGE_JP = 0 +,
+  CFG_LANGUAGE_EN = 1 +,
+  CFG_LANGUAGE_FR = 2 +,
+  CFG_LANGUAGE_DE = 3 +,
+  CFG_LANGUAGE_IT = 4 +,
+  CFG_LANGUAGE_ES = 5 +,
+  CFG_LANGUAGE_ZH = 6 +,
+  CFG_LANGUAGE_KO = 7 +,
+  CFG_LANGUAGE_NL = 8 +,
+  CFG_LANGUAGE_PT = 9 +,
+  CFG_LANGUAGE_RU = 10 +,
+  CFG_LANGUAGE_TW = 11 +
+ }
 Configuration language values. More...
 
enum  CFG_SystemModel {
+  CFG_MODEL_3DS = 0 +,
+  CFG_MODEL_3DSXL = 1 +,
+  CFG_MODEL_N3DS = 2 +,
+  CFG_MODEL_2DS = 3 +,
+  CFG_MODEL_N3DSXL = 4 +,
+  CFG_MODEL_N2DSXL = 5 +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+Result cfguInit (void)
 Initializes CFGU.
 
+void cfguExit (void)
 Exits CFGU.
 
Result CFGU_SecureInfoGetRegion (u8 *region)
 Gets the system's region from secure info. More...
 
Result CFGU_GenHashConsoleUnique (u32 appIDSalt, u64 *hash)
 Generates a console-unique hash. More...
 
Result CFGU_GetRegionCanadaUSA (u8 *value)
 Gets whether the system's region is Canada or USA. More...
 
Result CFGU_GetSystemModel (u8 *model)
 Gets the system's model. More...
 
Result CFGU_GetModelNintendo2DS (u8 *value)
 Gets whether the system is a 2DS. More...
 
Result CFGU_GetCountryCodeString (u16 code, u16 *string)
 Gets a string representing a country code. More...
 
Result CFGU_GetCountryCodeID (u16 string, u16 *code)
 Gets a country code ID from its string. More...
 
Result CFGU_IsNFCSupported (bool *isSupported)
 Checks if NFC (code name: fangate) is supported. More...
 
Result CFGU_GetConfigInfoBlk2 (u32 size, u32 blkID, void *outData)
 Gets a config info block with flags = 2. More...
 
Result CFG_GetConfigInfoBlk4 (u32 size, u32 blkID, void *outData)
 Gets a config info block with flags = 4. More...
 
Result CFG_GetConfigInfoBlk8 (u32 size, u32 blkID, void *outData)
 Gets a config info block with flags = 8. More...
 
Result CFG_SetConfigInfoBlk4 (u32 size, u32 blkID, const void *inData)
 Sets a config info block with flags = 4. More...
 
Result CFG_SetConfigInfoBlk8 (u32 size, u32 blkID, const void *inData)
 Sets a config info block with flags = 8. More...
 
+Result CFG_UpdateConfigSavegame (void)
 Writes the CFG buffer in memory to the savegame in NAND.
 
Result CFGU_GetSystemLanguage (u8 *language)
 Gets the system's language. More...
 
+Result CFGI_RestoreLocalFriendCodeSeed (void)
 Deletes the NAND LocalFriendCodeSeed file, then recreates it using the LocalFriendCodeSeed data stored in memory.
 
+Result CFGI_RestoreSecureInfo (void)
 Deletes the NAND SecureInfo file, then recreates it using the SecureInfo data stored in memory.
 
+Result CFGI_DeleteConfigSavefile (void)
 Deletes the "config" file stored in the NAND Config_Savegame.
 
+Result CFGI_FormatConfig (void)
 Formats Config_Savegame.
 
+Result CFGI_ClearParentalControls (void)
 Clears parental controls.
 
+Result CFGI_VerifySigLocalFriendCodeSeed (void)
 Verifies the RSA signature for the LocalFriendCodeSeed data already stored in memory.
 
+Result CFGI_VerifySigSecureInfo (void)
 Verifies the RSA signature for the SecureInfo data already stored in memory.
 
Result CFGI_SecureInfoGetSerialNumber (u8 *serial)
 Gets the system's serial number. More...
 
Result CFGI_GetLocalFriendCodeSeedData (u8 *data)
 Gets the 0x110-byte buffer containing the data for the LocalFriendCodeSeed. More...
 
Result CFGI_GetLocalFriendCodeSeed (u64 *seed)
 Gets the 64-bit local friend code seed. More...
 
Result CFGI_GetSecureInfoData (u8 *data)
 Gets the 0x11-byte data following the SecureInfo signature. More...
 
Result CFGI_GetSecureInfoSignature (u8 *data)
 Gets the 0x100-byte RSA-2048 SecureInfo signature. More...
 
+

Detailed Description

+

CFGU (Configuration) Service.

+

Enumeration Type Documentation

+ +

◆ CFG_Language

+ +
+
+ + + + +
enum CFG_Language
+
+ +

Configuration language values.

+ + + + + + + + + + + + + +
Enumerator
CFG_LANGUAGE_JP 

Japanese.

+
CFG_LANGUAGE_EN 

English.

+
CFG_LANGUAGE_FR 

French.

+
CFG_LANGUAGE_DE 

German.

+
CFG_LANGUAGE_IT 

Italian.

+
CFG_LANGUAGE_ES 

Spanish.

+
CFG_LANGUAGE_ZH 

Simplified Chinese.

+
CFG_LANGUAGE_KO 

Korean.

+
CFG_LANGUAGE_NL 

Dutch.

+
CFG_LANGUAGE_PT 

Portugese.

+
CFG_LANGUAGE_RU 

Russian.

+
CFG_LANGUAGE_TW 

Traditional Chinese.

+
+ +
+
+ +

◆ CFG_Region

+ +
+
+ + + + +
enum CFG_Region
+
+ +

Configuration region values.

+ + + + + + + + +
Enumerator
CFG_REGION_JPN 

Japan.

+
CFG_REGION_USA 

USA.

+
CFG_REGION_EUR 

Europe.

+
CFG_REGION_AUS 

Australia.

+
CFG_REGION_CHN 

China.

+
CFG_REGION_KOR 

Korea.

+
CFG_REGION_TWN 

Taiwan.

+
+ +
+
+ +

◆ CFG_SystemModel

+ +
+
+ + + + +
enum CFG_SystemModel
+
+ + + + + + + +
Enumerator
CFG_MODEL_3DS 

Old 3DS (CTR)

+
CFG_MODEL_3DSXL 

Old 3DS XL (SPR)

+
CFG_MODEL_N3DS 

New 3DS (KTR)

+
CFG_MODEL_2DS 

Old 2DS (FTR)

+
CFG_MODEL_N3DSXL 

New 3DS XL (RED)

+
CFG_MODEL_N2DSXL 

New 2DS XL (JAN)

+
+ +
+
+

Function Documentation

+ +

◆ CFG_GetConfigInfoBlk4()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CFG_GetConfigInfoBlk4 (u32 size,
u32 blkID,
void * outData 
)
+
+ +

Gets a config info block with flags = 4.

+
Parameters
+ + + + +
sizeSize of the data to retrieve.
blkIDID of the block to retrieve.
outDataPointer to write the block data to.
+
+
+ +
+
+ +

◆ CFG_GetConfigInfoBlk8()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CFG_GetConfigInfoBlk8 (u32 size,
u32 blkID,
void * outData 
)
+
+ +

Gets a config info block with flags = 8.

+
Parameters
+ + + + +
sizeSize of the data to retrieve.
blkIDID of the block to retrieve.
outDataPointer to write the block data to.
+
+
+ +
+
+ +

◆ CFG_SetConfigInfoBlk4()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CFG_SetConfigInfoBlk4 (u32 size,
u32 blkID,
const void * inData 
)
+
+ +

Sets a config info block with flags = 4.

+
Parameters
+ + + + +
sizeSize of the data to retrieve.
blkIDID of the block to retrieve.
inDataPointer to block data to write.
+
+
+ +
+
+ +

◆ CFG_SetConfigInfoBlk8()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CFG_SetConfigInfoBlk8 (u32 size,
u32 blkID,
const void * inData 
)
+
+ +

Sets a config info block with flags = 8.

+
Parameters
+ + + + +
sizeSize of the data to retrieve.
blkIDID of the block to retrieve.
inDataPointer to block data to write.
+
+
+ +
+
+ +

◆ CFGI_GetLocalFriendCodeSeed()

+ +
+
+ + + + + + + + +
Result CFGI_GetLocalFriendCodeSeed (u64seed)
+
+ +

Gets the 64-bit local friend code seed.

+
Parameters
+ + +
seedPointer to write the friend code seed to.
+
+
+ +
+
+ +

◆ CFGI_GetLocalFriendCodeSeedData()

+ +
+
+ + + + + + + + +
Result CFGI_GetLocalFriendCodeSeedData (u8data)
+
+ +

Gets the 0x110-byte buffer containing the data for the LocalFriendCodeSeed.

+
Parameters
+ + +
dataPointer to output the buffer. (The size must be at least 0x110-bytes)
+
+
+ +
+
+ +

◆ CFGI_GetSecureInfoData()

+ +
+
+ + + + + + + + +
Result CFGI_GetSecureInfoData (u8data)
+
+ +

Gets the 0x11-byte data following the SecureInfo signature.

+
Parameters
+ + +
dataPointer to output the buffer. (The size must be at least 0x11-bytes)
+
+
+ +
+
+ +

◆ CFGI_GetSecureInfoSignature()

+ +
+
+ + + + + + + + +
Result CFGI_GetSecureInfoSignature (u8data)
+
+ +

Gets the 0x100-byte RSA-2048 SecureInfo signature.

+
Parameters
+ + +
dataPointer to output the buffer. (The size must be at least 0x100-bytes)
+
+
+ +
+
+ +

◆ CFGI_SecureInfoGetSerialNumber()

+ +
+
+ + + + + + + + +
Result CFGI_SecureInfoGetSerialNumber (u8serial)
+
+ +

Gets the system's serial number.

+
Parameters
+ + +
serialPointer to output the serial to. (This is normally 0xF)
+
+
+ +
+
+ +

◆ CFGU_GenHashConsoleUnique()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CFGU_GenHashConsoleUnique (u32 appIDSalt,
u64hash 
)
+
+ +

Generates a console-unique hash.

+
Parameters
+ + + +
appIDSaltSalt to use.
hashPointer to output the hash to.
+
+
+ +
+
+ +

◆ CFGU_GetConfigInfoBlk2()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result CFGU_GetConfigInfoBlk2 (u32 size,
u32 blkID,
void * outData 
)
+
+ +

Gets a config info block with flags = 2.

+
Parameters
+ + + + +
sizeSize of the data to retrieve.
blkIDID of the block to retrieve.
outDataPointer to write the block data to.
+
+
+ +
+
+ +

◆ CFGU_GetCountryCodeID()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CFGU_GetCountryCodeID (u16 string,
u16code 
)
+
+ +

Gets a country code ID from its string.

+
Parameters
+ + + +
stringString to use.
codePointer to output the country code to.
+
+
+ +
+
+ +

◆ CFGU_GetCountryCodeString()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CFGU_GetCountryCodeString (u16 code,
u16string 
)
+
+ +

Gets a string representing a country code.

+
Parameters
+ + + +
codeCountry code to use.
stringPointer to output the string to.
+
+
+ +
+
+ +

◆ CFGU_GetModelNintendo2DS()

+ +
+
+ + + + + + + + +
Result CFGU_GetModelNintendo2DS (u8value)
+
+ +

Gets whether the system is a 2DS.

+
Parameters
+ + +
valuePointer to output the result to. (0 = yes, 1 = no)
+
+
+ +
+
+ +

◆ CFGU_GetRegionCanadaUSA()

+ +
+
+ + + + + + + + +
Result CFGU_GetRegionCanadaUSA (u8value)
+
+ +

Gets whether the system's region is Canada or USA.

+
Parameters
+ + +
valuePointer to output the result to. (0 = no, 1 = yes)
+
+
+ +
+
+ +

◆ CFGU_GetSystemLanguage()

+ +
+
+ + + + + + + + +
Result CFGU_GetSystemLanguage (u8language)
+
+ +

Gets the system's language.

+
Parameters
+ + +
languagePointer to write the language to. (see CFG_Language)
+
+
+
Examples
get_system_language/source/main.c.
+
+ +
+
+ +

◆ CFGU_GetSystemModel()

+ +
+
+ + + + + + + + +
Result CFGU_GetSystemModel (u8model)
+
+ +

Gets the system's model.

+
Parameters
+ + +
modelPointer to output the model to. (see CFG_SystemModel)
+
+
+ +
+
+ +

◆ CFGU_IsNFCSupported()

+ +
+
+ + + + + + + + +
Result CFGU_IsNFCSupported (bool * isSupported)
+
+ +

Checks if NFC (code name: fangate) is supported.

+
Parameters
+ + +
isSupportedpointer to the output the result to.
+
+
+ +
+
+ +

◆ CFGU_SecureInfoGetRegion()

+ +
+
+ + + + + + + + +
Result CFGU_SecureInfoGetRegion (u8region)
+
+ +

Gets the system's region from secure info.

+
Parameters
+ + +
regionPointer to output the region to. (see CFG_Region)
+
+
+
Examples
network/boss/source/main.c.
+
+ +
+
+
+ + + + diff --git a/cfgu_8h_source.html b/cfgu_8h_source.html new file mode 100644 index 000000000..6dfcb7d6e --- /dev/null +++ b/cfgu_8h_source.html @@ -0,0 +1,362 @@ + + + + + + + +libctru: include/3ds/services/cfgu.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
cfgu.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file cfgu.h
+
3  * @brief CFGU (Configuration) Service
+
4  */
+
5 #pragma once
+
6 #include <3ds/types.h>
+
7 
+
8 /// Configuration region values.
+
9 typedef enum
+
10 {
+
11  CFG_REGION_JPN = 0, ///< Japan
+
12  CFG_REGION_USA = 1, ///< USA
+
13  CFG_REGION_EUR = 2, ///< Europe
+
14  CFG_REGION_AUS = 3, ///< Australia
+
15  CFG_REGION_CHN = 4, ///< China
+
16  CFG_REGION_KOR = 5, ///< Korea
+
17  CFG_REGION_TWN = 6, ///< Taiwan
+
18 } CFG_Region;
+
19 
+
20 /// Configuration language values.
+
21 typedef enum
+
22 {
+
23  CFG_LANGUAGE_JP = 0, ///< Japanese
+
24  CFG_LANGUAGE_EN = 1, ///< English
+
25  CFG_LANGUAGE_FR = 2, ///< French
+
26  CFG_LANGUAGE_DE = 3, ///< German
+
27  CFG_LANGUAGE_IT = 4, ///< Italian
+
28  CFG_LANGUAGE_ES = 5, ///< Spanish
+
29  CFG_LANGUAGE_ZH = 6, ///< Simplified Chinese
+
30  CFG_LANGUAGE_KO = 7, ///< Korean
+
31  CFG_LANGUAGE_NL = 8, ///< Dutch
+
32  CFG_LANGUAGE_PT = 9, ///< Portugese
+
33  CFG_LANGUAGE_RU = 10, ///< Russian
+
34  CFG_LANGUAGE_TW = 11, ///< Traditional Chinese
+
35 } CFG_Language;
+
36 
+
37 // Configuration system model values.
+
38 typedef enum
+
39 {
+
40  CFG_MODEL_3DS = 0, ///< Old 3DS (CTR)
+
41  CFG_MODEL_3DSXL = 1, ///< Old 3DS XL (SPR)
+
42  CFG_MODEL_N3DS = 2, ///< New 3DS (KTR)
+
43  CFG_MODEL_2DS = 3, ///< Old 2DS (FTR)
+
44  CFG_MODEL_N3DSXL = 4, ///< New 3DS XL (RED)
+
45  CFG_MODEL_N2DSXL = 5, ///< New 2DS XL (JAN)
+ +
47 
+
48 /// Initializes CFGU.
+ +
50 
+
51 /// Exits CFGU.
+
52 void cfguExit(void);
+
53 
+
54 /**
+
55  * @brief Gets the system's region from secure info.
+
56  * @param region Pointer to output the region to. (see @ref CFG_Region)
+
57  */
+ +
59 
+
60 /**
+
61  * @brief Generates a console-unique hash.
+
62  * @param appIDSalt Salt to use.
+
63  * @param hash Pointer to output the hash to.
+
64  */
+ +
66 
+
67 /**
+
68  * @brief Gets whether the system's region is Canada or USA.
+
69  * @param value Pointer to output the result to. (0 = no, 1 = yes)
+
70  */
+ +
72 
+
73 /**
+
74  * @brief Gets the system's model.
+
75  * @param model Pointer to output the model to. (see @ref CFG_SystemModel)
+
76  */
+ +
78 
+
79 /**
+
80  * @brief Gets whether the system is a 2DS.
+
81  * @param value Pointer to output the result to. (0 = yes, 1 = no)
+
82  */
+ +
84 
+
85 /**
+
86  * @brief Gets a string representing a country code.
+
87  * @param code Country code to use.
+
88  * @param string Pointer to output the string to.
+
89  */
+ +
91 
+
92 /**
+
93  * @brief Gets a country code ID from its string.
+
94  * @param string String to use.
+
95  * @param code Pointer to output the country code to.
+
96  */
+ +
98 
+
99 /**
+
100  * @brief Checks if NFC (code name: fangate) is supported.
+
101  * @param isSupported pointer to the output the result to.
+
102  */
+
103 Result CFGU_IsNFCSupported(bool* isSupported);
+
104 
+
105 /**
+
106  * @brief Gets a config info block with flags = 2.
+
107  * @param size Size of the data to retrieve.
+
108  * @param blkID ID of the block to retrieve.
+
109  * @param outData Pointer to write the block data to.
+
110  */
+
111 Result CFGU_GetConfigInfoBlk2(u32 size, u32 blkID, void* outData);
+
112 
+
113 /**
+
114  * @brief Gets a config info block with flags = 4.
+
115  * @param size Size of the data to retrieve.
+
116  * @param blkID ID of the block to retrieve.
+
117  * @param outData Pointer to write the block data to.
+
118  */
+
119 Result CFG_GetConfigInfoBlk4(u32 size, u32 blkID, void* outData);
+
120 
+
121 /**
+
122  * @brief Gets a config info block with flags = 8.
+
123  * @param size Size of the data to retrieve.
+
124  * @param blkID ID of the block to retrieve.
+
125  * @param outData Pointer to write the block data to.
+
126  */
+
127 Result CFG_GetConfigInfoBlk8(u32 size, u32 blkID, void* outData);
+
128 
+
129 /**
+
130  * @brief Sets a config info block with flags = 4.
+
131  * @param size Size of the data to retrieve.
+
132  * @param blkID ID of the block to retrieve.
+
133  * @param inData Pointer to block data to write.
+
134  */
+
135 Result CFG_SetConfigInfoBlk4(u32 size, u32 blkID, const void* inData);
+
136 
+
137 /**
+
138  * @brief Sets a config info block with flags = 8.
+
139  * @param size Size of the data to retrieve.
+
140  * @param blkID ID of the block to retrieve.
+
141  * @param inData Pointer to block data to write.
+
142  */
+
143 Result CFG_SetConfigInfoBlk8(u32 size, u32 blkID, const void* inData);
+
144 
+
145 
+
146 /**
+
147  * @brief Writes the CFG buffer in memory to the savegame in NAND.
+
148  */
+ +
150 
+
151 /**
+
152  * @brief Gets the system's language.
+
153  * @param language Pointer to write the language to. (see @ref CFG_Language)
+
154  */
+ +
156 
+
157 /**
+
158  * @brief Deletes the NAND LocalFriendCodeSeed file, then recreates it using the LocalFriendCodeSeed data stored in memory.
+
159  */
+ +
161 
+
162 /**
+
163  * @brief Deletes the NAND SecureInfo file, then recreates it using the SecureInfo data stored in memory.
+
164  */
+ +
166 
+
167 /**
+
168  * @brief Deletes the "config" file stored in the NAND Config_Savegame.
+
169  */
+ +
171 
+
172 /**
+
173  * @brief Formats Config_Savegame.
+
174  */
+ +
176 
+
177 /**
+
178  * @brief Clears parental controls
+
179  */
+ +
181 
+
182 /**
+
183  * @brief Verifies the RSA signature for the LocalFriendCodeSeed data already stored in memory.
+
184  */
+ +
186 
+
187 /**
+
188  * @brief Verifies the RSA signature for the SecureInfo data already stored in memory.
+
189  */
+ +
191 
+
192 /**
+
193  * @brief Gets the system's serial number.
+
194  * @param serial Pointer to output the serial to. (This is normally 0xF)
+
195  */
+ +
197 
+
198 /**
+
199  * @brief Gets the 0x110-byte buffer containing the data for the LocalFriendCodeSeed.
+
200  * @param data Pointer to output the buffer. (The size must be at least 0x110-bytes)
+
201  */
+ +
203 
+
204 /**
+
205  * @brief Gets the 64-bit local friend code seed.
+
206  * @param seed Pointer to write the friend code seed to.
+
207  */
+ +
209 
+
210 /**
+
211  * @brief Gets the 0x11-byte data following the SecureInfo signature.
+
212  * @param data Pointer to output the buffer. (The size must be at least 0x11-bytes)
+
213  */
+ +
215 
+
216 /**
+
217  * @brief Gets the 0x100-byte RSA-2048 SecureInfo signature.
+
218  * @param data Pointer to output the buffer. (The size must be at least 0x100-bytes)
+
219  */
+ +
Result CFGI_VerifySigSecureInfo(void)
Verifies the RSA signature for the SecureInfo data already stored in memory.
+
Result CFGU_GetSystemLanguage(u8 *language)
Gets the system's language.
+
Result CFGI_VerifySigLocalFriendCodeSeed(void)
Verifies the RSA signature for the LocalFriendCodeSeed data already stored in memory.
+
Result CFGI_FormatConfig(void)
Formats Config_Savegame.
+
Result CFGU_GetCountryCodeString(u16 code, u16 *string)
Gets a string representing a country code.
+
Result CFGI_DeleteConfigSavefile(void)
Deletes the "config" file stored in the NAND Config_Savegame.
+
Result CFGI_GetSecureInfoData(u8 *data)
Gets the 0x11-byte data following the SecureInfo signature.
+
Result CFG_SetConfigInfoBlk8(u32 size, u32 blkID, const void *inData)
Sets a config info block with flags = 8.
+
Result CFGU_GetModelNintendo2DS(u8 *value)
Gets whether the system is a 2DS.
+
Result CFGU_GetCountryCodeID(u16 string, u16 *code)
Gets a country code ID from its string.
+
Result CFGU_GenHashConsoleUnique(u32 appIDSalt, u64 *hash)
Generates a console-unique hash.
+
Result CFGI_SecureInfoGetSerialNumber(u8 *serial)
Gets the system's serial number.
+
Result CFGU_GetConfigInfoBlk2(u32 size, u32 blkID, void *outData)
Gets a config info block with flags = 2.
+
Result CFG_GetConfigInfoBlk8(u32 size, u32 blkID, void *outData)
Gets a config info block with flags = 8.
+
Result CFGU_GetSystemModel(u8 *model)
Gets the system's model.
+
Result CFG_UpdateConfigSavegame(void)
Writes the CFG buffer in memory to the savegame in NAND.
+
CFG_SystemModel
Definition: cfgu.h:39
+
@ CFG_MODEL_N3DS
New 3DS (KTR)
Definition: cfgu.h:42
+
@ CFG_MODEL_3DSXL
Old 3DS XL (SPR)
Definition: cfgu.h:41
+
@ CFG_MODEL_N3DSXL
New 3DS XL (RED)
Definition: cfgu.h:44
+
@ CFG_MODEL_2DS
Old 2DS (FTR)
Definition: cfgu.h:43
+
@ CFG_MODEL_3DS
Old 3DS (CTR)
Definition: cfgu.h:40
+
@ CFG_MODEL_N2DSXL
New 2DS XL (JAN)
Definition: cfgu.h:45
+
Result CFGU_IsNFCSupported(bool *isSupported)
Checks if NFC (code name: fangate) is supported.
+
Result CFGI_RestoreLocalFriendCodeSeed(void)
Deletes the NAND LocalFriendCodeSeed file, then recreates it using the LocalFriendCodeSeed data store...
+
Result CFGU_GetRegionCanadaUSA(u8 *value)
Gets whether the system's region is Canada or USA.
+
Result CFGI_GetLocalFriendCodeSeed(u64 *seed)
Gets the 64-bit local friend code seed.
+
Result cfguInit(void)
Initializes CFGU.
+
Result CFGI_GetLocalFriendCodeSeedData(u8 *data)
Gets the 0x110-byte buffer containing the data for the LocalFriendCodeSeed.
+
CFG_Language
Configuration language values.
Definition: cfgu.h:22
+
@ CFG_LANGUAGE_NL
Dutch.
Definition: cfgu.h:31
+
@ CFG_LANGUAGE_TW
Traditional Chinese.
Definition: cfgu.h:34
+
@ CFG_LANGUAGE_DE
German.
Definition: cfgu.h:26
+
@ CFG_LANGUAGE_KO
Korean.
Definition: cfgu.h:30
+
@ CFG_LANGUAGE_IT
Italian.
Definition: cfgu.h:27
+
@ CFG_LANGUAGE_EN
English.
Definition: cfgu.h:24
+
@ CFG_LANGUAGE_ZH
Simplified Chinese.
Definition: cfgu.h:29
+
@ CFG_LANGUAGE_FR
French.
Definition: cfgu.h:25
+
@ CFG_LANGUAGE_ES
Spanish.
Definition: cfgu.h:28
+
@ CFG_LANGUAGE_RU
Russian.
Definition: cfgu.h:33
+
@ CFG_LANGUAGE_PT
Portugese.
Definition: cfgu.h:32
+
@ CFG_LANGUAGE_JP
Japanese.
Definition: cfgu.h:23
+
CFG_Region
Configuration region values.
Definition: cfgu.h:10
+
@ CFG_REGION_AUS
Australia.
Definition: cfgu.h:14
+
@ CFG_REGION_EUR
Europe.
Definition: cfgu.h:13
+
@ CFG_REGION_USA
USA.
Definition: cfgu.h:12
+
@ CFG_REGION_TWN
Taiwan.
Definition: cfgu.h:17
+
@ CFG_REGION_JPN
Japan.
Definition: cfgu.h:11
+
@ CFG_REGION_KOR
Korea.
Definition: cfgu.h:16
+
@ CFG_REGION_CHN
China.
Definition: cfgu.h:15
+
Result CFGI_ClearParentalControls(void)
Clears parental controls.
+
Result CFGU_SecureInfoGetRegion(u8 *region)
Gets the system's region from secure info.
+
Result CFG_SetConfigInfoBlk4(u32 size, u32 blkID, const void *inData)
Sets a config info block with flags = 4.
+
Result CFGI_RestoreSecureInfo(void)
Deletes the NAND SecureInfo file, then recreates it using the SecureInfo data stored in memory.
+
Result CFGI_GetSecureInfoSignature(u8 *data)
Gets the 0x100-byte RSA-2048 SecureInfo signature.
+
void cfguExit(void)
Exits CFGU.
+
Result CFG_GetConfigInfoBlk4(u32 size, u32 blkID, void *outData)
Gets a config info block with flags = 4.
+
Various system types.
+
uint64_t u64
64-bit unsigned integer
Definition: types.h:24
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
s32 Result
Function result.
Definition: types.h:42
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/channel_8h.html b/channel_8h.html new file mode 100644 index 000000000..8798f254a --- /dev/null +++ b/channel_8h.html @@ -0,0 +1,1406 @@ + + + + + + + +libctru: include/3ds/ndsp/channel.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
channel.h File Reference
+
+
+ +

Functions for interacting with DSP audio channels. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

Basic channel operation
void ndspChnReset (int id)
 Resets a channel. More...
 
void ndspChnInitParams (int id)
 Initializes the parameters of a channel. More...
 
bool ndspChnIsPlaying (int id)
 Checks whether a channel is currently playing. More...
 
u32 ndspChnGetSamplePos (int id)
 Gets the current sample position of a channel. More...
 
u16 ndspChnGetWaveBufSeq (int id)
 Gets the sequence ID of the wave buffer that is currently playing in a channel. More...
 
bool ndspChnIsPaused (int id)
 Checks whether a channel is currently paused. More...
 
void ndspChnSetPaused (int id, bool paused)
 Sets the pause status of a channel. More...
 
Configuration
void ndspChnSetFormat (int id, u16 format)
 Sets the format of a channel. More...
 
u16 ndspChnGetFormat (int id)
 Gets the format of a channel. More...
 
void ndspChnSetInterp (int id, ndspInterpType type)
 Sets the interpolation type of a channel. More...
 
ndspInterpType ndspChnGetInterp (int id)
 Gets the interpolation type of a channel. More...
 
void ndspChnSetRate (int id, float rate)
 Sets the sample rate of a channel. More...
 
float ndspChnGetRate (int id)
 Gets the sample rate of a channel. More...
 
void ndspChnSetMix (int id, float mix[12])
 Sets the mix parameters (volumes) of a channel. More...
 
void ndspChnGetMix (int id, float mix[12])
 Gets the mix parameters (volumes) of a channel. More...
 
void ndspChnSetAdpcmCoefs (int id, u16 coefs[16])
 Sets the DSPADPCM coefficients of a channel. More...
 
Wave buffers
void ndspChnWaveBufClear (int id)
 Clears the wave buffer queue of a channel and stops playback. More...
 
void ndspChnWaveBufAdd (int id, ndspWaveBuf *buf)
 Adds a wave buffer to the wave buffer queue of a channel. More...
 
IIR filters
void ndspChnIirMonoSetEnable (int id, bool enable)
 Configures whether the IIR monopole filter of a channel is enabled. More...
 
bool ndspChnIirMonoSetParamsCustomFilter (int id, float a0, float a1, float b0)
 Manually sets up the parameters on monopole filter. More...
 
bool ndspChnIirMonoSetParamsLowPassFilter (int id, float f0)
 Sets the monopole to be a low pass filter. More...
 
bool ndspChnIirMonoSetParamsHighPassFilter (int id, float f0)
 Sets the monopole to be a high pass filter. More...
 
void ndspChnIirBiquadSetEnable (int id, bool enable)
 Configures whether the IIR biquad filter of a channel is enabled. More...
 
bool ndspChnIirBiquadSetParamsCustomFilter (int id, float a0, float a1, float a2, float b0, float b1, float b2)
 Manually sets up the parameters of the biquad filter. More...
 
bool ndspChnIirBiquadSetParamsLowPassFilter (int id, float f0, float Q)
 Sets the biquad to be a low pass filter. More...
 
bool ndspChnIirBiquadSetParamsHighPassFilter (int id, float f0, float Q)
 Sets the biquad to be a high pass filter. More...
 
bool ndspChnIirBiquadSetParamsBandPassFilter (int id, float f0, float Q)
 Sets the biquad to be a band pass filter. More...
 
bool ndspChnIirBiquadSetParamsNotchFilter (int id, float f0, float Q)
 Sets the biquad to be a notch filter. More...
 
bool ndspChnIirBiquadSetParamsPeakingEqualizer (int id, float f0, float Q, float gain)
 Sets the biquad to be a peaking equalizer. More...
 
+ + + + + + + + + + + + + + + + +

Data types

Supported sample encodings.

+
+#define NDSP_CHANNELS(n)   ((u32)(n) & 3)
 Specifies the number of channels used in a sample.
 
+#define NDSP_ENCODING(n)   (((u32)(n) & 3) << 2)
 Specifies the encoding used in a sample.
 
enum  {
+  NDSP_ENCODING_PCM8 = 0 +,
+  NDSP_ENCODING_PCM16 +,
+  NDSP_ENCODING_ADPCM +
+ }
 
enum  {
+  NDSP_FORMAT_MONO_PCM8 = NDSP_CHANNELS(1) | NDSP_ENCODING(NDSP_ENCODING_PCM8) +,
+  NDSP_FORMAT_MONO_PCM16 = NDSP_CHANNELS(1) | NDSP_ENCODING(NDSP_ENCODING_PCM16) +,
+  NDSP_FORMAT_MONO_ADPCM = NDSP_CHANNELS(1) | NDSP_ENCODING(NDSP_ENCODING_ADPCM) +,
+  NDSP_FORMAT_STEREO_PCM8 = NDSP_CHANNELS(2) | NDSP_ENCODING(NDSP_ENCODING_PCM8) +,
+  NDSP_FORMAT_STEREO_PCM16 = NDSP_CHANNELS(2) | NDSP_ENCODING(NDSP_ENCODING_PCM16) +,
+  NDSP_FORMAT_PCM8 = NDSP_FORMAT_MONO_PCM8 +,
+  NDSP_FORMAT_PCM16 = NDSP_FORMAT_MONO_PCM16 +,
+  NDSP_FORMAT_ADPCM = NDSP_FORMAT_MONO_ADPCM +,
+  NDSP_FRONT_BYPASS = BIT(4) +,
+  NDSP_3D_SURROUND_PREPROCESSED = BIT(6) +
+ }
 Channel format flags for use with ndspChnSetFormat. More...
 
enum  ndspInterpType {
+  NDSP_INTERP_POLYPHASE = 0 +,
+  NDSP_INTERP_LINEAR = 1 +,
+  NDSP_INTERP_NONE = 2 +
+ }
 Interpolation types. More...
 
+

Detailed Description

+

Functions for interacting with DSP audio channels.

+

Enumeration Type Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ + + + +
Enumerator
NDSP_ENCODING_PCM8 

PCM8.

+
NDSP_ENCODING_PCM16 

PCM16.

+
NDSP_ENCODING_ADPCM 

DSPADPCM (GameCube format)

+
+ +
+
+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

Channel format flags for use with ndspChnSetFormat.

+ + + + + + + + + + + +
Enumerator
NDSP_FORMAT_MONO_PCM8 

Buffer contains Mono PCM8.

+
NDSP_FORMAT_MONO_PCM16 

Buffer contains Mono PCM16.

+
NDSP_FORMAT_MONO_ADPCM 

Buffer contains Mono ADPCM.

+
NDSP_FORMAT_STEREO_PCM8 

Buffer contains Stereo PCM8.

+
NDSP_FORMAT_STEREO_PCM16 

Buffer contains Stereo PCM16.

+
NDSP_FORMAT_PCM8 

(Alias) Buffer contains Mono PCM8.

+
NDSP_FORMAT_PCM16 

(Alias) Buffer contains Mono PCM16.

+
NDSP_FORMAT_ADPCM 

(Alias) Buffer contains Mono ADPCM.

+
NDSP_FRONT_BYPASS 

Front bypass.

+
NDSP_3D_SURROUND_PREPROCESSED 

(?) Unknown, under research

+
+ +
+
+ +

◆ ndspInterpType

+ +
+
+ + + + +
enum ndspInterpType
+
+ +

Interpolation types.

+ + + + +
Enumerator
NDSP_INTERP_POLYPHASE 

Polyphase interpolation.

+
NDSP_INTERP_LINEAR 

Linear interpolation.

+
NDSP_INTERP_NONE 

No interpolation.

+
+ +
+
+

Function Documentation

+ +

◆ ndspChnGetFormat()

+ +
+
+ + + + + + + + +
u16 ndspChnGetFormat (int id)
+
+ +

Gets the format of a channel.

+
Parameters
+ + +
idID of the channel (0..23).
+
+
+
Returns
The format of the channel.
+ +
+
+ +

◆ ndspChnGetInterp()

+ +
+
+ + + + + + + + +
ndspInterpType ndspChnGetInterp (int id)
+
+ +

Gets the interpolation type of a channel.

+
Parameters
+ + +
idID of the channel (0..23).
+
+
+
Returns
The interpolation type of the channel.
+ +
+
+ +

◆ ndspChnGetMix()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ndspChnGetMix (int id,
float mix[12] 
)
+
+ +

Gets the mix parameters (volumes) of a channel.

+
Parameters
+ + + +
idID of the channel (0..23)
mixMix parameters to write out to. See ndspChnSetMix.
+
+
+ +
+
+ +

◆ ndspChnGetRate()

+ +
+
+ + + + + + + + +
float ndspChnGetRate (int id)
+
+ +

Gets the sample rate of a channel.

+
Parameters
+ + +
idID of the channel (0..23).
+
+
+
Returns
The sample rate of the channel.
+ +
+
+ +

◆ ndspChnGetSamplePos()

+ +
+
+ + + + + + + + +
u32 ndspChnGetSamplePos (int id)
+
+ +

Gets the current sample position of a channel.

+
Parameters
+ + +
idID of the channel (0..23).
+
+
+
Returns
The channel's sample position.
+ +
+
+ +

◆ ndspChnGetWaveBufSeq()

+ +
+
+ + + + + + + + +
u16 ndspChnGetWaveBufSeq (int id)
+
+ +

Gets the sequence ID of the wave buffer that is currently playing in a channel.

+
Parameters
+ + +
idID of the channel (0..23).
+
+
+
Returns
The sequence ID of the wave buffer.
+ +
+
+ +

◆ ndspChnIirBiquadSetEnable()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ndspChnIirBiquadSetEnable (int id,
bool enable 
)
+
+ +

Configures whether the IIR biquad filter of a channel is enabled.

+
Parameters
+ + + +
idID of the channel (0..23).
enableWhether to enable the IIR biquad filter.
+
+
+
Examples
audio/filters/source/main.c.
+
+ +
+
+ +

◆ ndspChnIirBiquadSetParamsBandPassFilter()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool ndspChnIirBiquadSetParamsBandPassFilter (int id,
float f0,
float Q 
)
+
+ +

Sets the biquad to be a band pass filter.

+
Parameters
+ + + + +
idID of the channel (0..23).
f0Mid-frequency.
Q"Quality factor", typically should be sqrt(2)/2 (i.e. 0.7071).
+
+
+
Examples
audio/filters/source/main.c.
+
+ +
+
+ +

◆ ndspChnIirBiquadSetParamsCustomFilter()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool ndspChnIirBiquadSetParamsCustomFilter (int id,
float a0,
float a1,
float a2,
float b0,
float b1,
float b2 
)
+
+ +

Manually sets up the parameters of the biquad filter.

+
Parameters
+ + +
idID of the channel (0..23).
+
+
+ +
+
+ +

◆ ndspChnIirBiquadSetParamsHighPassFilter()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool ndspChnIirBiquadSetParamsHighPassFilter (int id,
float f0,
float Q 
)
+
+ +

Sets the biquad to be a high pass filter.

+
Parameters
+ + + + +
idID of the channel (0..23).
f0High pass cut-off frequency.
Q"Quality factor", typically should be sqrt(2)/2 (i.e. 0.7071).
+
+
+
Examples
audio/filters/source/main.c.
+
+ +
+
+ +

◆ ndspChnIirBiquadSetParamsLowPassFilter()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool ndspChnIirBiquadSetParamsLowPassFilter (int id,
float f0,
float Q 
)
+
+ +

Sets the biquad to be a low pass filter.

+
Parameters
+ + + + +
idID of the channel (0..23).
f0Low pass cut-off frequency.
Q"Quality factor", typically should be sqrt(2)/2 (i.e. 0.7071).
+
+
+
Examples
audio/filters/source/main.c.
+
+ +
+
+ +

◆ ndspChnIirBiquadSetParamsNotchFilter()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool ndspChnIirBiquadSetParamsNotchFilter (int id,
float f0,
float Q 
)
+
+ +

Sets the biquad to be a notch filter.

+
Parameters
+ + + + +
idID of the channel (0..23).
f0Notch frequency.
Q"Quality factor", typically should be sqrt(2)/2 (i.e. 0.7071).
+
+
+
Examples
audio/filters/source/main.c.
+
+ +
+
+ +

◆ ndspChnIirBiquadSetParamsPeakingEqualizer()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool ndspChnIirBiquadSetParamsPeakingEqualizer (int id,
float f0,
float Q,
float gain 
)
+
+ +

Sets the biquad to be a peaking equalizer.

+
Parameters
+ + + + + +
idID of the channel (0..23).
f0Central frequency.
Q"Quality factor", typically should be sqrt(2)/2 (i.e. 0.7071).
gainAmount of gain (raw value = 10 ^ dB/40)
+
+
+
Examples
audio/filters/source/main.c.
+
+ +
+
+ +

◆ ndspChnIirMonoSetEnable()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ndspChnIirMonoSetEnable (int id,
bool enable 
)
+
+ +

Configures whether the IIR monopole filter of a channel is enabled.

+
Parameters
+ + + +
idID of the channel (0..23).
enableWhether to enable the IIR monopole filter.
+
+
+ +
+
+ +

◆ ndspChnIirMonoSetParamsCustomFilter()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool ndspChnIirMonoSetParamsCustomFilter (int id,
float a0,
float a1,
float b0 
)
+
+ +

Manually sets up the parameters on monopole filter.

+
Parameters
+ + + +
idID of the channel (0..23).
enableWhether to enable the IIR monopole filter.
+
+
+ +
+
+ +

◆ ndspChnIirMonoSetParamsHighPassFilter()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool ndspChnIirMonoSetParamsHighPassFilter (int id,
float f0 
)
+
+ +

Sets the monopole to be a high pass filter.

+

(Note: This is a lower-quality filter than the biquad one.)

Parameters
+ + + +
idID of the channel (0..23).
f0High pass cut-off frequency.
+
+
+ +
+
+ +

◆ ndspChnIirMonoSetParamsLowPassFilter()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool ndspChnIirMonoSetParamsLowPassFilter (int id,
float f0 
)
+
+ +

Sets the monopole to be a low pass filter.

+

(Note: This is a lower-quality filter than the biquad one.)

Parameters
+ + + +
idID of the channel (0..23).
f0Low pass cut-off frequency.
+
+
+ +
+
+ +

◆ ndspChnInitParams()

+ +
+
+ + + + + + + + +
void ndspChnInitParams (int id)
+
+ +

Initializes the parameters of a channel.

+
Parameters
+ + +
idID of the channel (0..23).
+
+
+ +
+
+ +

◆ ndspChnIsPaused()

+ +
+
+ + + + + + + + +
bool ndspChnIsPaused (int id)
+
+ +

Checks whether a channel is currently paused.

+
Parameters
+ + +
idID of the channel (0..23).
+
+
+
Returns
Whether the channel is currently paused.
+ +
+
+ +

◆ ndspChnIsPlaying()

+ +
+
+ + + + + + + + +
bool ndspChnIsPlaying (int id)
+
+ +

Checks whether a channel is currently playing.

+
Parameters
+ + +
idID of the channel (0..23).
+
+
+
Returns
Whether the channel is currently playing.
+ +
+
+ +

◆ ndspChnReset()

+ +
+
+ + + + + + + + +
void ndspChnReset (int id)
+
+ +

Resets a channel.

+
Parameters
+ + +
idID of the channel (0..23).
+
+
+ +
+
+ +

◆ ndspChnSetAdpcmCoefs()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ndspChnSetAdpcmCoefs (int id,
u16 coefs[16] 
)
+
+ +

Sets the DSPADPCM coefficients of a channel.

+
Parameters
+ + + +
idID of the channel (0..23).
coefsDSPADPCM coefficients to use.
+
+
+ +
+
+ +

◆ ndspChnSetFormat()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ndspChnSetFormat (int id,
u16 format 
)
+
+ +

Sets the format of a channel.

+
Parameters
+ + + +
idID of the channel (0..23).
formatFormat to use.
+
+
+
Examples
audio/filters/source/main.c, and audio/streaming/source/main.c.
+
+ +
+
+ +

◆ ndspChnSetInterp()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ndspChnSetInterp (int id,
ndspInterpType type 
)
+
+ +

Sets the interpolation type of a channel.

+
Parameters
+ + + +
idID of the channel (0..23).
typeInterpolation type to use.
+
+
+
Examples
audio/filters/source/main.c, and audio/streaming/source/main.c.
+
+ +
+
+ +

◆ ndspChnSetMix()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ndspChnSetMix (int id,
float mix[12] 
)
+
+ +

Sets the mix parameters (volumes) of a channel.

+
Parameters
+ + + +
idID of the channel (0..23).
mixMix parameters to use. Working hypothesis:
    +
  • 0: Front left volume.
  • +
  • 1: Front right volume.
  • +
  • 2: Back left volume:
  • +
  • 3: Back right volume:
  • +
  • 4..7: Same as 0..3, but for auxiliary output 0.
  • +
  • 8..11: Same as 0..3, but for auxiliary output 1.
  • +
+
+
+
+
Examples
audio/filters/source/main.c, and audio/streaming/source/main.c.
+
+ +
+
+ +

◆ ndspChnSetPaused()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ndspChnSetPaused (int id,
bool paused 
)
+
+ +

Sets the pause status of a channel.

+
Parameters
+ + + +
idID of the channel (0..23).
pausedWhether the channel is to be paused (true) or unpaused (false).
+
+
+ +
+
+ +

◆ ndspChnSetRate()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ndspChnSetRate (int id,
float rate 
)
+
+ +

Sets the sample rate of a channel.

+
Parameters
+ + + +
idID of the channel (0..23).
rateSample rate to use.
+
+
+
Examples
audio/filters/source/main.c, and audio/streaming/source/main.c.
+
+ +
+
+ +

◆ ndspChnWaveBufAdd()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ndspChnWaveBufAdd (int id,
ndspWaveBuf * buf 
)
+
+ +

Adds a wave buffer to the wave buffer queue of a channel.

+
Remarks
If the channel's wave buffer queue was empty before the use of this function, playback is started.
+
Parameters
+ + + +
idID of the channel (0..23).
bufWave buffer to add.
+
+
+
Examples
audio/filters/source/main.c, and audio/streaming/source/main.c.
+
+ +
+
+ +

◆ ndspChnWaveBufClear()

+ +
+
+ + + + + + + + +
void ndspChnWaveBufClear (int id)
+
+ +

Clears the wave buffer queue of a channel and stops playback.

+
Parameters
+ + +
idID of the channel (0..23).
+
+
+ +
+
+
+ + + + diff --git a/channel_8h_source.html b/channel_8h_source.html new file mode 100644 index 000000000..09bf0d9e0 --- /dev/null +++ b/channel_8h_source.html @@ -0,0 +1,394 @@ + + + + + + + +libctru: include/3ds/ndsp/channel.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
channel.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file channel.h
+
3  * @brief Functions for interacting with DSP audio channels.
+
4  */
+
5 #pragma once
+
6 
+
7 ///@name Data types
+
8 ///@{
+
9 /// Supported sample encodings.
+
10 enum
+
11 {
+
12  NDSP_ENCODING_PCM8 = 0, ///< PCM8
+
13  NDSP_ENCODING_PCM16, ///< PCM16
+
14  NDSP_ENCODING_ADPCM, ///< DSPADPCM (GameCube format)
+
15 };
+
16 
+
17 /// Specifies the number of channels used in a sample.
+
18 #define NDSP_CHANNELS(n) ((u32)(n) & 3)
+
19 /// Specifies the encoding used in a sample.
+
20 #define NDSP_ENCODING(n) (((u32)(n) & 3) << 2)
+
21 
+
22 /// Channel format flags for use with ndspChnSetFormat.
+
23 enum
+
24 {
+
25  NDSP_FORMAT_MONO_PCM8 = NDSP_CHANNELS(1) | NDSP_ENCODING(NDSP_ENCODING_PCM8), ///< Buffer contains Mono PCM8.
+
26  NDSP_FORMAT_MONO_PCM16 = NDSP_CHANNELS(1) | NDSP_ENCODING(NDSP_ENCODING_PCM16), ///< Buffer contains Mono PCM16.
+
27  NDSP_FORMAT_MONO_ADPCM = NDSP_CHANNELS(1) | NDSP_ENCODING(NDSP_ENCODING_ADPCM), ///< Buffer contains Mono ADPCM.
+
28  NDSP_FORMAT_STEREO_PCM8 = NDSP_CHANNELS(2) | NDSP_ENCODING(NDSP_ENCODING_PCM8), ///< Buffer contains Stereo PCM8.
+
29  NDSP_FORMAT_STEREO_PCM16 = NDSP_CHANNELS(2) | NDSP_ENCODING(NDSP_ENCODING_PCM16), ///< Buffer contains Stereo PCM16.
+
30 
+
31  NDSP_FORMAT_PCM8 = NDSP_FORMAT_MONO_PCM8, ///< (Alias) Buffer contains Mono PCM8.
+
32  NDSP_FORMAT_PCM16 = NDSP_FORMAT_MONO_PCM16, ///< (Alias) Buffer contains Mono PCM16.
+
33  NDSP_FORMAT_ADPCM = NDSP_FORMAT_MONO_ADPCM, ///< (Alias) Buffer contains Mono ADPCM.
+
34 
+
35  // Flags
+
36  NDSP_FRONT_BYPASS = BIT(4), ///< Front bypass.
+
37  NDSP_3D_SURROUND_PREPROCESSED = BIT(6), ///< (?) Unknown, under research
+
38 };
+
39 
+
40 /// Interpolation types.
+
41 typedef enum
+
42 {
+
43  NDSP_INTERP_POLYPHASE = 0, ///< Polyphase interpolation
+
44  NDSP_INTERP_LINEAR = 1, ///< Linear interpolation
+
45  NDSP_INTERP_NONE = 2, ///< No interpolation
+ +
47 
+
48 ///@}
+
49 
+
50 ///@name Basic channel operation
+
51 ///@{
+
52 /**
+
53  * @brief Resets a channel.
+
54  * @param id ID of the channel (0..23).
+
55  */
+
56 void ndspChnReset(int id);
+
57 
+
58 /**
+
59  * @brief Initializes the parameters of a channel.
+
60  * @param id ID of the channel (0..23).
+
61  */
+
62 void ndspChnInitParams(int id);
+
63 
+
64 /**
+
65  * @brief Checks whether a channel is currently playing.
+
66  * @param id ID of the channel (0..23).
+
67  * @return Whether the channel is currently playing.
+
68  */
+
69 bool ndspChnIsPlaying(int id);
+
70 
+
71 /**
+
72  * @brief Gets the current sample position of a channel.
+
73  * @param id ID of the channel (0..23).
+
74  * @return The channel's sample position.
+
75  */
+ +
77 
+
78 /**
+
79  * @brief Gets the sequence ID of the wave buffer that is currently playing in a channel.
+
80  * @param id ID of the channel (0..23).
+
81  * @return The sequence ID of the wave buffer.
+
82  */
+ +
84 
+
85 /**
+
86  * @brief Checks whether a channel is currently paused.
+
87  * @param id ID of the channel (0..23).
+
88  * @return Whether the channel is currently paused.
+
89  */
+
90 bool ndspChnIsPaused(int id);
+
91 
+
92 /**
+
93  * @brief Sets the pause status of a channel.
+
94  * @param id ID of the channel (0..23).
+
95  * @param paused Whether the channel is to be paused (true) or unpaused (false).
+
96  */
+
97 void ndspChnSetPaused(int id, bool paused);
+
98 
+
99 ///@}
+
100 
+
101 ///@name Configuration
+
102 ///@{
+
103 /**
+
104  * @brief Sets the format of a channel.
+
105  * @param id ID of the channel (0..23).
+
106  * @param format Format to use.
+
107  */
+
108 void ndspChnSetFormat(int id, u16 format);
+
109 
+
110 /**
+
111  *
+
112  * @brief Gets the format of a channel.
+
113  * @param id ID of the channel (0..23).
+
114  * @return The format of the channel.
+
115  */
+ +
117 
+
118 /**
+
119  * @brief Sets the interpolation type of a channel.
+
120  * @param id ID of the channel (0..23).
+
121  * @param type Interpolation type to use.
+
122  */
+
123 void ndspChnSetInterp(int id, ndspInterpType type);
+
124 
+
125 /**
+
126  * @brief Gets the interpolation type of a channel.
+
127  * @param id ID of the channel (0..23).
+
128  * @return The interpolation type of the channel.
+
129  */
+ +
131 
+
132 /**
+
133  * @brief Sets the sample rate of a channel.
+
134  * @param id ID of the channel (0..23).
+
135  * @param rate Sample rate to use.
+
136  */
+
137 void ndspChnSetRate(int id, float rate);
+
138 
+
139 /**
+
140  * @brief Gets the sample rate of a channel.
+
141  * @param id ID of the channel (0..23).
+
142  * @return The sample rate of the channel.
+
143  */
+
144 float ndspChnGetRate(int id);
+
145 
+
146 /**
+
147  * @brief Sets the mix parameters (volumes) of a channel.
+
148  * @param id ID of the channel (0..23).
+
149  * @param mix Mix parameters to use. Working hypothesis:
+
150  * - 0: Front left volume.
+
151  * - 1: Front right volume.
+
152  * - 2: Back left volume:
+
153  * - 3: Back right volume:
+
154  * - 4..7: Same as 0..3, but for auxiliary output 0.
+
155  * - 8..11: Same as 0..3, but for auxiliary output 1.
+
156  */
+
157 void ndspChnSetMix(int id, float mix[12]);
+
158 
+
159 /**
+
160  * @brief Gets the mix parameters (volumes) of a channel.
+
161  * @param id ID of the channel (0..23)
+
162  * @param mix Mix parameters to write out to. See \ref ndspChnSetMix.
+
163  */
+
164 void ndspChnGetMix(int id, float mix[12]);
+
165 
+
166 /**
+
167  * @brief Sets the DSPADPCM coefficients of a channel.
+
168  * @param id ID of the channel (0..23).
+
169  * @param coefs DSPADPCM coefficients to use.
+
170  */
+
171 void ndspChnSetAdpcmCoefs(int id, u16 coefs[16]);
+
172 ///@}
+
173 
+
174 ///@name Wave buffers
+
175 ///@{
+
176 /**
+
177  * @brief Clears the wave buffer queue of a channel and stops playback.
+
178  * @param id ID of the channel (0..23).
+
179  */
+
180 void ndspChnWaveBufClear(int id);
+
181 
+
182 /**
+
183  * @brief Adds a wave buffer to the wave buffer queue of a channel.
+
184  * @remark If the channel's wave buffer queue was empty before the use of this function, playback is started.
+
185  * @param id ID of the channel (0..23).
+
186  * @param buf Wave buffer to add.
+
187  */
+
188 void ndspChnWaveBufAdd(int id, ndspWaveBuf* buf);
+
189 ///@}
+
190 
+
191 ///@name IIR filters
+
192 ///@{
+
193 /**
+
194  * @brief Configures whether the IIR monopole filter of a channel is enabled.
+
195  * @param id ID of the channel (0..23).
+
196  * @param enable Whether to enable the IIR monopole filter.
+
197  */
+
198 void ndspChnIirMonoSetEnable(int id, bool enable);
+
199 /**
+
200  * @brief Manually sets up the parameters on monopole filter
+
201  * @param id ID of the channel (0..23).
+
202  * @param enable Whether to enable the IIR monopole filter.
+
203  */
+
204 bool ndspChnIirMonoSetParamsCustomFilter(int id, float a0, float a1, float b0);
+
205 /**
+
206  * @brief Sets the monopole to be a low pass filter. (Note: This is a lower-quality filter than the biquad one.)
+
207  * @param id ID of the channel (0..23).
+
208  * @param f0 Low pass cut-off frequency.
+
209  */
+ +
211 /**
+
212  * @brief Sets the monopole to be a high pass filter. (Note: This is a lower-quality filter than the biquad one.)
+
213  * @param id ID of the channel (0..23).
+
214  * @param f0 High pass cut-off frequency.
+
215  */
+ +
217 /**
+
218  * @brief Configures whether the IIR biquad filter of a channel is enabled.
+
219  * @param id ID of the channel (0..23).
+
220  * @param enable Whether to enable the IIR biquad filter.
+
221  */
+
222 void ndspChnIirBiquadSetEnable(int id, bool enable);
+
223 /**
+
224  * @brief Manually sets up the parameters of the biquad filter
+
225  * @param id ID of the channel (0..23).
+
226  */
+
227 bool ndspChnIirBiquadSetParamsCustomFilter(int id, float a0, float a1, float a2, float b0, float b1, float b2);
+
228 /**
+
229  * @brief Sets the biquad to be a low pass filter.
+
230  * @param id ID of the channel (0..23).
+
231  * @param f0 Low pass cut-off frequency.
+
232  * @param Q "Quality factor", typically should be sqrt(2)/2 (i.e. 0.7071).
+
233  */
+
234 bool ndspChnIirBiquadSetParamsLowPassFilter(int id, float f0, float Q);
+
235 /**
+
236  * @brief Sets the biquad to be a high pass filter.
+
237  * @param id ID of the channel (0..23).
+
238  * @param f0 High pass cut-off frequency.
+
239  * @param Q "Quality factor", typically should be sqrt(2)/2 (i.e. 0.7071).
+
240  */
+
241 bool ndspChnIirBiquadSetParamsHighPassFilter(int id, float f0, float Q);
+
242 /**
+
243  * @brief Sets the biquad to be a band pass filter.
+
244  * @param id ID of the channel (0..23).
+
245  * @param f0 Mid-frequency.
+
246  * @param Q "Quality factor", typically should be sqrt(2)/2 (i.e. 0.7071).
+
247  */
+
248 bool ndspChnIirBiquadSetParamsBandPassFilter(int id, float f0, float Q);
+
249 /**
+
250  * @brief Sets the biquad to be a notch filter.
+
251  * @param id ID of the channel (0..23).
+
252  * @param f0 Notch frequency.
+
253  * @param Q "Quality factor", typically should be sqrt(2)/2 (i.e. 0.7071).
+
254  */
+
255 bool ndspChnIirBiquadSetParamsNotchFilter(int id, float f0, float Q);
+
256 /**
+
257  * @brief Sets the biquad to be a peaking equalizer.
+
258  * @param id ID of the channel (0..23).
+
259  * @param f0 Central frequency.
+
260  * @param Q "Quality factor", typically should be sqrt(2)/2 (i.e. 0.7071).
+
261  * @param gain Amount of gain (raw value = 10 ^ dB/40)
+
262  */
+
263 bool ndspChnIirBiquadSetParamsPeakingEqualizer(int id, float f0, float Q, float gain);
+
264 ///@}
+
void ndspChnWaveBufClear(int id)
Clears the wave buffer queue of a channel and stops playback.
+
void ndspChnInitParams(int id)
Initializes the parameters of a channel.
+
bool ndspChnIsPlaying(int id)
Checks whether a channel is currently playing.
+
u16 ndspChnGetFormat(int id)
Gets the format of a channel.
+
u16 ndspChnGetWaveBufSeq(int id)
Gets the sequence ID of the wave buffer that is currently playing in a channel.
+
void ndspChnIirMonoSetEnable(int id, bool enable)
Configures whether the IIR monopole filter of a channel is enabled.
+
@ NDSP_FRONT_BYPASS
Front bypass.
Definition: channel.h:36
+
@ NDSP_FORMAT_PCM16
(Alias) Buffer contains Mono PCM16.
Definition: channel.h:32
+
@ NDSP_FORMAT_ADPCM
(Alias) Buffer contains Mono ADPCM.
Definition: channel.h:33
+
@ NDSP_FORMAT_MONO_PCM8
Buffer contains Mono PCM8.
Definition: channel.h:25
+
@ NDSP_FORMAT_STEREO_PCM8
Buffer contains Stereo PCM8.
Definition: channel.h:28
+
@ NDSP_3D_SURROUND_PREPROCESSED
(?) Unknown, under research
Definition: channel.h:37
+
@ NDSP_FORMAT_STEREO_PCM16
Buffer contains Stereo PCM16.
Definition: channel.h:29
+
@ NDSP_FORMAT_MONO_ADPCM
Buffer contains Mono ADPCM.
Definition: channel.h:27
+
@ NDSP_FORMAT_MONO_PCM16
Buffer contains Mono PCM16.
Definition: channel.h:26
+
@ NDSP_FORMAT_PCM8
(Alias) Buffer contains Mono PCM8.
Definition: channel.h:31
+
void ndspChnSetMix(int id, float mix[12])
Sets the mix parameters (volumes) of a channel.
+
void ndspChnWaveBufAdd(int id, ndspWaveBuf *buf)
Adds a wave buffer to the wave buffer queue of a channel.
+
void ndspChnGetMix(int id, float mix[12])
Gets the mix parameters (volumes) of a channel.
+
@ NDSP_ENCODING_PCM16
PCM16.
Definition: channel.h:13
+
@ NDSP_ENCODING_ADPCM
DSPADPCM (GameCube format)
Definition: channel.h:14
+
@ NDSP_ENCODING_PCM8
PCM8.
Definition: channel.h:12
+
bool ndspChnIirMonoSetParamsCustomFilter(int id, float a0, float a1, float b0)
Manually sets up the parameters on monopole filter.
+
ndspInterpType ndspChnGetInterp(int id)
Gets the interpolation type of a channel.
+
ndspInterpType
Interpolation types.
Definition: channel.h:42
+
@ NDSP_INTERP_LINEAR
Linear interpolation.
Definition: channel.h:44
+
@ NDSP_INTERP_POLYPHASE
Polyphase interpolation.
Definition: channel.h:43
+
@ NDSP_INTERP_NONE
No interpolation.
Definition: channel.h:45
+
bool ndspChnIirBiquadSetParamsNotchFilter(int id, float f0, float Q)
Sets the biquad to be a notch filter.
+
#define NDSP_ENCODING(n)
Specifies the encoding used in a sample.
Definition: channel.h:20
+
void ndspChnSetRate(int id, float rate)
Sets the sample rate of a channel.
+
bool ndspChnIirBiquadSetParamsCustomFilter(int id, float a0, float a1, float a2, float b0, float b1, float b2)
Manually sets up the parameters of the biquad filter.
+
bool ndspChnIirBiquadSetParamsLowPassFilter(int id, float f0, float Q)
Sets the biquad to be a low pass filter.
+
void ndspChnSetFormat(int id, u16 format)
Sets the format of a channel.
+
void ndspChnReset(int id)
Resets a channel.
+
bool ndspChnIirMonoSetParamsHighPassFilter(int id, float f0)
Sets the monopole to be a high pass filter.
+
u32 ndspChnGetSamplePos(int id)
Gets the current sample position of a channel.
+
bool ndspChnIsPaused(int id)
Checks whether a channel is currently paused.
+
bool ndspChnIirBiquadSetParamsHighPassFilter(int id, float f0, float Q)
Sets the biquad to be a high pass filter.
+
bool ndspChnIirBiquadSetParamsPeakingEqualizer(int id, float f0, float Q, float gain)
Sets the biquad to be a peaking equalizer.
+
void ndspChnIirBiquadSetEnable(int id, bool enable)
Configures whether the IIR biquad filter of a channel is enabled.
+
#define NDSP_CHANNELS(n)
Specifies the number of channels used in a sample.
Definition: channel.h:18
+
bool ndspChnIirMonoSetParamsLowPassFilter(int id, float f0)
Sets the monopole to be a low pass filter.
+
void ndspChnSetInterp(int id, ndspInterpType type)
Sets the interpolation type of a channel.
+
void ndspChnSetPaused(int id, bool paused)
Sets the pause status of a channel.
+
void ndspChnSetAdpcmCoefs(int id, u16 coefs[16])
Sets the DSPADPCM coefficients of a channel.
+
bool ndspChnIirBiquadSetParamsBandPassFilter(int id, float f0, float Q)
Sets the biquad to be a band pass filter.
+
float ndspChnGetRate(int id)
Gets the sample rate of a channel.
+
#define BIT(n)
Creates a bitmask from a bit number.
Definition: types.h:47
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/classes.html b/classes.html new file mode 100644 index 000000000..73da0424f --- /dev/null +++ b/classes.html @@ -0,0 +1,138 @@ + + + + + + + +libctru: Data Structure Index + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Data Structure Index
+
+
+
A | B | C | D | E | F | G | H | I | L | M | N | O | P | Q | R | S | T | U | Y
+
+
+
A
+
accelVector
acuConfig
addrinfo
AM_ContentInfo
AM_PendingTitleEntry
AM_TitleEntry
AM_TWLPartitionInfo
angularRate
aptCaptureBufInfo
aptHookCookie
archive_dir_t
AttachProcessEvent
AttachThreadEvent
+
+
B
+
bossContext
+
+
C
+
CAMU_ImageQualityCalibrationData
CAMU_PackageParameterCameraSelect
CAMU_PackageParameterContext
CAMU_PackageParameterContextDetail
CAMU_StereoCameraCalibrationData
CFNT_s
charWidthInfo_s
circlePosition
tag_CMAP_s
CodeSetHeader
ConsoleFont
CpuRegisters
CSND_CapInfo
CSND_ChnInfo
tag_CWDH_s
+
+
D
+
DebugEventInfo
DebuggerBreakExceptionEvent
decompressIOVec
DmaConfig
DmaDeviceConfig
dspHookCookie
DVLB_s
DVLE_constEntry_s
DVLE_outEntry_s
DVLE_s
DVLE_uniformEntry_s
DVLP_s
+
+
E
+
ERRF_ExceptionData
ERRF_ExceptionInfo
ERRF_FatalErrInfo
errorConf
ExceptionEvent
ExHeader
ExHeader_AccessControlInfo
ExHeader_AccessDescriptor
ExHeader_Arm11CoreInfo
ExHeader_Arm11KernelCapabilities
ExHeader_Arm11StorageInfo
ExHeader_Arm11SystemLocalCapabilities
ExHeader_Arm9AccessControl
ExHeader_CodeSectionInfo
ExHeader_CodeSetInfo
ExHeader_Info
ExHeader_SystemControlInfo
ExHeader_SystemInfo
ExHeader_SystemInfoFlags
ExitProcessEvent
ExitThreadEvent
+
+
F
+
FaultExceptionEvent
FINF_s
float24Uniform_s
fontGlyphPos_s
FpuRegisters
FriendKey
FriendProfile
FS_ArchiveResource
FS_DeviceMoveContext
FS_DirectoryEntry
FS_ExtSaveDataInfo
FS_IntegrityVerificationSeed
FS_Path
FS_ProductInfo
FS_ProgramInfo
FS_SdMmcSpeedInfo
FS_SystemSaveDataInfo
+
+
G
+
GameDescription
GSPGPU_CaptureInfo
GSPGPU_CaptureInfoEntry
GSPGPU_FramebufferInfo
gxCmdEntry_s
gxCmdQueue_s
+
+
H
+
hostent
httpcContext
+
+
I
+
in_addr
ip_mreq
+
+
L
+
LightEvent
LightSemaphore
linger
+
+
M
+
MapEvent
MemInfo
MiiData
MiiSelectorConf
MiiSelectorReturn
MVDSTD_Config
MVDSTD_InitStruct
MVDSTD_OutputBuffersEntry
MVDSTD_OutputBuffersEntryList
MVDSTD_ProcessNALUnitOut
+
+
N
+
ndspAdpcmData
tag_ndspWaveBuf
NFC_AmiiboConfig
NFC_AmiiboSettings
NFC_AppDataInitStruct
NFC_AppDataWriteStruct
NFC_TagInfo
NIM_TitleConfig
NIM_TitleProgress
NotificationEvent
NotificationHeader
nwmBeaconDataReplyEntry
nwmBeaconDataReplyHeader
nwmScanInputStruct
+
+
O
+
OS_VersionBin
osKernelConfig_s
osSharedConfig_s
osTimeRef_s
OutputStringEvent
+
+
P
+
PageInfo
pollfd
PrintConsole
psRSAContext
PtmSleepConfig
PtmWakeEvents
PXIDEV_SPIBuffer
+
+
Q
+
QTM_HeadTrackingInfo
QTM_HeadTrackingInfoCoord
+
+
R
+
rbtree_node
rbtree
romfs_dir
romfs_file
romfs_header
+
+
S
+
ScheduleInOutEvent
shaderInstance_s
shaderProgram_s
sockaddr
sockaddr_in
sockaddr_storage
SOCU_ARPTableEntry
SOCU_DNSTableEntry
SOCU_IPInfo
SOCU_RoutingTableEntry
SOCU_TCPTableEntry
SOCU_UDPTableEntry
sslcContext
StartupInfo
StopPointExceptionEvent
SwkbdDictWord
SwkbdExtra
SwkbdLearningData
SwkbdState
SwkbdStatusData
SyscallInOutEvent
+
+
T
+
TGLP_s
ThreadContext
TickCounter
TitleData
touchPosition
+
+
U
+
udsBindContext
udsConnectionStatus
udsNetworkScanInfo
udsNetworkStruct
udsNodeInfo
UserBreakExceptionEvent
+
+
Y
+
Y2RU_ColorCoefficients
Y2RU_ConversionParams
Y2RU_DitheringWeightParams
+
+
+ + + + diff --git a/closed.png b/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT literal 0 HcmV?d00001 diff --git a/console_8h.html b/console_8h.html new file mode 100644 index 000000000..e1e1cf4c1 --- /dev/null +++ b/console_8h.html @@ -0,0 +1,471 @@ + + + + + + + +libctru: include/3ds/console.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
console.h File Reference
+
+
+ +

3ds stdio support. +More...

+
#include <3ds/types.h>
+#include <3ds/gfx.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

struct  ConsoleFont
 A font struct for the console. More...
 
struct  PrintConsole
 Console structure used to store the state of a console render context. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

+#define CONSOLE_ESC(x)   "\x1b[" #x
 
+#define CONSOLE_RESET   CONSOLE_ESC(0m)
 
+#define CONSOLE_BLACK   CONSOLE_ESC(30m)
 
+#define CONSOLE_RED   CONSOLE_ESC(31;1m)
 
+#define CONSOLE_GREEN   CONSOLE_ESC(32;1m)
 
+#define CONSOLE_YELLOW   CONSOLE_ESC(33;1m)
 
+#define CONSOLE_BLUE   CONSOLE_ESC(34;1m)
 
+#define CONSOLE_MAGENTA   CONSOLE_ESC(35;1m)
 
+#define CONSOLE_CYAN   CONSOLE_ESC(36;1m)
 
+#define CONSOLE_WHITE   CONSOLE_ESC(37;1m)
 
+#define CONSOLE_COLOR_BOLD   (1<<0)
 Bold text.
 
+#define CONSOLE_COLOR_FAINT   (1<<1)
 Faint text.
 
+#define CONSOLE_ITALIC   (1<<2)
 Italic text.
 
+#define CONSOLE_UNDERLINE   (1<<3)
 Underlined text.
 
+#define CONSOLE_BLINK_SLOW   (1<<4)
 Slow blinking text.
 
+#define CONSOLE_BLINK_FAST   (1<<5)
 Fast blinking text.
 
+#define CONSOLE_COLOR_REVERSE   (1<<6)
 Reversed color text.
 
+#define CONSOLE_CONCEAL   (1<<7)
 Concealed text.
 
+#define CONSOLE_CROSSED_OUT   (1<<8)
 Crossed out text.
 
+#define CONSOLE_FG_CUSTOM   (1<<9)
 Foreground custom color.
 
+#define CONSOLE_BG_CUSTOM   (1<<10)
 Background custom color.
 
+ + + + +

+Typedefs

+typedef bool(* ConsolePrint) (void *con, int c)
 A callback for printing a character.
 
+ + + + +

+Enumerations

enum  debugDevice {
+  debugDevice_NULL +,
+  debugDevice_SVC +,
+  debugDevice_CONSOLE +,
+  debugDevice_3DMOO = debugDevice_SVC +
+ }
 Console debug devices supported by libnds. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

void consoleSetFont (PrintConsole *console, ConsoleFont *font)
 Loads the font into the console. More...
 
void consoleSetWindow (PrintConsole *console, int x, int y, int width, int height)
 Sets the print window. More...
 
PrintConsoleconsoleGetDefault (void)
 Gets a pointer to the console with the default values. More...
 
PrintConsoleconsoleSelect (PrintConsole *console)
 Make the specified console the render target. More...
 
PrintConsoleconsoleInit (gfxScreen_t screen, PrintConsole *console)
 Initialise the console. More...
 
void consoleDebugInit (debugDevice device)
 Initializes debug console output on stderr to the specified device. More...
 
+void consoleClear (void)
 Clears the screen by using iprintf("\x1b[2J");.
 
+

Detailed Description

+

3ds stdio support.

+

Provides stdio integration for printing to the 3DS screen as well as debug print functionality provided by stderr.

+

General usage is to initialize the console by:

consoleDemoInit()
+

or to customize the console usage by:

+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+

Enumeration Type Documentation

+ +

◆ debugDevice

+ +
+
+ + + + +
enum debugDevice
+
+ +

Console debug devices supported by libnds.

+ + + + +
Enumerator
debugDevice_NULL 

Swallows prints to stderr.

+
debugDevice_SVC 

Outputs stderr debug statements using svcOutputDebugString, which can then be captured by interactive debuggers.

+
debugDevice_CONSOLE 

Directs stderr debug statements to 3DS console window.

+
+ +
+
+

Function Documentation

+ +

◆ consoleDebugInit()

+ +
+
+ + + + + + + + +
void consoleDebugInit (debugDevice device)
+
+ +

Initializes debug console output on stderr to the specified device.

+
Parameters
+ + +
deviceThe debug device (or devices) to output debug print statements to.
+
+
+ +
+
+ +

◆ consoleGetDefault()

+ +
+
+ + + + + + + + +
PrintConsole* consoleGetDefault (void )
+
+ +

Gets a pointer to the console with the default values.

+

This should only be used when using a single console or without changing the console that is returned, otherwise use consoleInit().

Returns
A pointer to the console with the default values.
+ +
+
+ +

◆ consoleInit()

+ +
+
+ + + + + + + + + + + + + + + + + + +
PrintConsole* consoleInit (gfxScreen_t screen,
PrintConsoleconsole 
)
+
+
+ +

◆ consoleSelect()

+ +
+
+ + + + + + + + +
PrintConsole* consoleSelect (PrintConsoleconsole)
+
+ +

Make the specified console the render target.

+
Parameters
+ + +
consoleA pointer to the console struct (must have been initialized with consoleInit(PrintConsole* console)).
+
+
+
Returns
A pointer to the previous console.
+
Examples
audio/filters/source/main.c, audio/streaming/source/main.c, graphics/printing/both-screen-text/source/main.c, and graphics/printing/multiple-windows-text/source/main.c.
+
+ +
+
+ +

◆ consoleSetFont()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void consoleSetFont (PrintConsoleconsole,
ConsoleFontfont 
)
+
+ +

Loads the font into the console.

+
Parameters
+ + + +
consolePointer to the console to update, if NULL it will update the current console.
fontThe font to load.
+
+
+ +
+
+ +

◆ consoleSetWindow()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void consoleSetWindow (PrintConsoleconsole,
int x,
int y,
int width,
int height 
)
+
+ +

Sets the print window.

+
Parameters
+ + + + + + +
consoleConsole to set, if NULL it will set the current console window.
xX location of the window.
yY location of the window.
widthWidth of the window.
heightHeight of the window.
+
+
+
Examples
graphics/printing/multiple-windows-text/source/main.c.
+
+ +
+
+
+ + + + diff --git a/console_8h_source.html b/console_8h_source.html new file mode 100644 index 000000000..2fc9fe9b0 --- /dev/null +++ b/console_8h_source.html @@ -0,0 +1,295 @@ + + + + + + + +libctru: include/3ds/console.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
console.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file console.h
+
3  * @brief 3ds stdio support.
+
4  *
+
5  * Provides stdio integration for printing to the 3DS screen as well as debug print
+
6  * functionality provided by stderr.
+
7  *
+
8  * General usage is to initialize the console by:
+
9  * @code
+
10  * consoleDemoInit()
+
11  * @endcode
+
12  * or to customize the console usage by:
+
13  * @code
+
14  * consoleInit()
+
15  * @endcode
+
16  */
+
17 #pragma once
+
18 
+
19 #include <3ds/types.h>
+
20 #include <3ds/gfx.h>
+
21 
+
22 #ifdef __cplusplus
+
23 extern "C" {
+
24 #endif
+
25 
+
26 #define CONSOLE_ESC(x) "\x1b[" #x
+
27 #define CONSOLE_RESET CONSOLE_ESC(0m)
+
28 #define CONSOLE_BLACK CONSOLE_ESC(30m)
+
29 #define CONSOLE_RED CONSOLE_ESC(31;1m)
+
30 #define CONSOLE_GREEN CONSOLE_ESC(32;1m)
+
31 #define CONSOLE_YELLOW CONSOLE_ESC(33;1m)
+
32 #define CONSOLE_BLUE CONSOLE_ESC(34;1m)
+
33 #define CONSOLE_MAGENTA CONSOLE_ESC(35;1m)
+
34 #define CONSOLE_CYAN CONSOLE_ESC(36;1m)
+
35 #define CONSOLE_WHITE CONSOLE_ESC(37;1m)
+
36 
+
37 /// A callback for printing a character.
+
38 typedef bool(*ConsolePrint)(void* con, int c);
+
39 
+
40 /// A font struct for the console.
+
41 typedef struct ConsoleFont
+
42 {
+
43  u8* gfx; ///< A pointer to the font graphics
+
44  u16 asciiOffset; ///< Offset to the first valid character in the font table
+
45  u16 numChars; ///< Number of characters in the font graphics
+ +
47 
+
48 /**
+
49  * @brief Console structure used to store the state of a console render context.
+
50  *
+
51  * Default values from consoleGetDefault();
+
52  * @code
+
53  * PrintConsole defaultConsole =
+
54  * {
+
55  * //Font:
+
56  * {
+
57  * (u8*)default_font_bin, //font gfx
+
58  * 0, //first ascii character in the set
+
59  * 128, //number of characters in the font set
+
60  * },
+
61  * 0,0, //cursorX cursorY
+
62  * 0,0, //prevcursorX prevcursorY
+
63  * 40, //console width
+
64  * 30, //console height
+
65  * 0, //window x
+
66  * 0, //window y
+
67  * 32, //window width
+
68  * 24, //window height
+
69  * 3, //tab size
+
70  * 0, //font character offset
+
71  * 0, //print callback
+
72  * false //console initialized
+
73  * };
+
74  * @endcode
+
75  */
+
76 typedef struct PrintConsole
+
77 {
+
78  ConsoleFont font; ///< Font of the console
+
79 
+
80  u16 *frameBuffer; ///< Framebuffer address
+
81 
+
82  int cursorX; ///< Current X location of the cursor (as a tile offset by default)
+
83  int cursorY; ///< Current Y location of the cursor (as a tile offset by default)
+
84 
+
85  int prevCursorX; ///< Internal state
+
86  int prevCursorY; ///< Internal state
+
87 
+
88  int consoleWidth; ///< Width of the console hardware layer in characters
+
89  int consoleHeight; ///< Height of the console hardware layer in characters
+
90 
+
91  int windowX; ///< Window X location in characters (not implemented)
+
92  int windowY; ///< Window Y location in characters (not implemented)
+
93  int windowWidth; ///< Window width in characters (not implemented)
+
94  int windowHeight; ///< Window height in characters (not implemented)
+
95 
+
96  int tabSize; ///< Size of a tab
+
97  u16 fg; ///< Foreground color
+
98  u16 bg; ///< Background color
+
99  int flags; ///< Reverse/bright flags
+
100 
+
101  ConsolePrint PrintChar; ///< Callback for printing a character. Should return true if it has handled rendering the graphics (else the print engine will attempt to render via tiles).
+
102 
+
103  bool consoleInitialised; ///< True if the console is initialized
+
104 }PrintConsole;
+
105 
+
106 #define CONSOLE_COLOR_BOLD (1<<0) ///< Bold text
+
107 #define CONSOLE_COLOR_FAINT (1<<1) ///< Faint text
+
108 #define CONSOLE_ITALIC (1<<2) ///< Italic text
+
109 #define CONSOLE_UNDERLINE (1<<3) ///< Underlined text
+
110 #define CONSOLE_BLINK_SLOW (1<<4) ///< Slow blinking text
+
111 #define CONSOLE_BLINK_FAST (1<<5) ///< Fast blinking text
+
112 #define CONSOLE_COLOR_REVERSE (1<<6) ///< Reversed color text
+
113 #define CONSOLE_CONCEAL (1<<7) ///< Concealed text
+
114 #define CONSOLE_CROSSED_OUT (1<<8) ///< Crossed out text
+
115 #define CONSOLE_FG_CUSTOM (1<<9) ///< Foreground custom color
+
116 #define CONSOLE_BG_CUSTOM (1<<10) ///< Background custom color
+
117 
+
118 /// Console debug devices supported by libnds.
+
119 typedef enum {
+
120  debugDevice_NULL, ///< Swallows prints to stderr
+
121  debugDevice_SVC, ///< Outputs stderr debug statements using svcOutputDebugString, which can then be captured by interactive debuggers
+
122  debugDevice_CONSOLE, ///< Directs stderr debug statements to 3DS console window
+
123  debugDevice_3DMOO = debugDevice_SVC,
+
124 } debugDevice;
+
125 
+
126 /**
+
127  * @brief Loads the font into the console.
+
128  * @param console Pointer to the console to update, if NULL it will update the current console.
+
129  * @param font The font to load.
+
130  */
+ +
132 
+
133 /**
+
134  * @brief Sets the print window.
+
135  * @param console Console to set, if NULL it will set the current console window.
+
136  * @param x X location of the window.
+
137  * @param y Y location of the window.
+
138  * @param width Width of the window.
+
139  * @param height Height of the window.
+
140  */
+
141 void consoleSetWindow(PrintConsole* console, int x, int y, int width, int height);
+
142 
+
143 /**
+
144  * @brief Gets a pointer to the console with the default values.
+
145  * This should only be used when using a single console or without changing the console that is returned, otherwise use consoleInit().
+
146  * @return A pointer to the console with the default values.
+
147  */
+ +
149 
+
150 /**
+
151  * @brief Make the specified console the render target.
+
152  * @param console A pointer to the console struct (must have been initialized with consoleInit(PrintConsole* console)).
+
153  * @return A pointer to the previous console.
+
154  */
+ +
156 
+
157 /**
+
158  * @brief Initialise the console.
+
159  * @param screen The screen to use for the console.
+
160  * @param console A pointer to the console data to initialize (if it's NULL, the default console will be used).
+
161  * @return A pointer to the current console.
+
162  */
+ +
164 
+
165 /**
+
166  * @brief Initializes debug console output on stderr to the specified device.
+
167  * @param device The debug device (or devices) to output debug print statements to.
+
168  */
+ +
170 
+
171 /// Clears the screen by using iprintf("\x1b[2J");
+
172 void consoleClear(void);
+
173 
+
174 #ifdef __cplusplus
+
175 }
+
176 #endif
+
bool(* ConsolePrint)(void *con, int c)
A callback for printing a character.
Definition: console.h:38
+
PrintConsole * consoleGetDefault(void)
Gets a pointer to the console with the default values.
+
void consoleSetWindow(PrintConsole *console, int x, int y, int width, int height)
Sets the print window.
+
void consoleSetFont(PrintConsole *console, ConsoleFont *font)
Loads the font into the console.
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
debugDevice
Console debug devices supported by libnds.
Definition: console.h:119
+
@ debugDevice_SVC
Outputs stderr debug statements using svcOutputDebugString, which can then be captured by interactive...
Definition: console.h:121
+
@ debugDevice_CONSOLE
Directs stderr debug statements to 3DS console window.
Definition: console.h:122
+
@ debugDevice_NULL
Swallows prints to stderr.
Definition: console.h:120
+
PrintConsole * consoleSelect(PrintConsole *console)
Make the specified console the render target.
+
void consoleDebugInit(debugDevice device)
Initializes debug console output on stderr to the specified device.
+
void consoleClear(void)
Clears the screen by using iprintf("\x1b[2J");.
+
Simple framebuffer API.
+
gfxScreen_t
Screen IDs.
Definition: gfx.h:25
+
A font struct for the console.
Definition: console.h:42
+
u16 asciiOffset
Offset to the first valid character in the font table.
Definition: console.h:44
+
u8 * gfx
A pointer to the font graphics.
Definition: console.h:43
+
u16 numChars
Number of characters in the font graphics.
Definition: console.h:45
+
Console structure used to store the state of a console render context.
Definition: console.h:77
+
int cursorX
Current X location of the cursor (as a tile offset by default)
Definition: console.h:82
+
int consoleWidth
Width of the console hardware layer in characters.
Definition: console.h:88
+
int flags
Reverse/bright flags.
Definition: console.h:99
+
int windowX
Window X location in characters (not implemented)
Definition: console.h:91
+
u16 bg
Background color.
Definition: console.h:98
+
int tabSize
Size of a tab.
Definition: console.h:96
+
int cursorY
Current Y location of the cursor (as a tile offset by default)
Definition: console.h:83
+
int prevCursorX
Internal state.
Definition: console.h:85
+
int prevCursorY
Internal state.
Definition: console.h:86
+
int consoleHeight
Height of the console hardware layer in characters.
Definition: console.h:89
+
int windowWidth
Window width in characters (not implemented)
Definition: console.h:93
+
int windowHeight
Window height in characters (not implemented)
Definition: console.h:94
+
u16 * frameBuffer
Framebuffer address.
Definition: console.h:80
+
bool consoleInitialised
True if the console is initialized.
Definition: console.h:103
+
ConsolePrint PrintChar
Callback for printing a character. Should return true if it has handled rendering the graphics (else ...
Definition: console.h:101
+
u16 fg
Foreground color.
Definition: console.h:97
+
ConsoleFont font
Font of the console.
Definition: console.h:78
+
int windowY
Window Y location in characters (not implemented)
Definition: console.h:92
+
Various system types.
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
+ + + + diff --git a/csnd_8h.html b/csnd_8h.html new file mode 100644 index 000000000..da734351e --- /dev/null +++ b/csnd_8h.html @@ -0,0 +1,2046 @@ + + + + + + + +libctru: include/3ds/services/csnd.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
csnd.h File Reference
+
+
+ +

CSND service. +More...

+
#include <3ds/types.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

union  CSND_ChnInfo
 Channel info. More...
 
union  CSND_CapInfo
 Capture info. More...
 
+ + + + + + + + + + + + + + + + +

+Macros

+#define CSND_NUM_CHANNELS   32
 Maximum number of CSND channels.
 
+#define CSND_TIMER(n)   (0x3FEC3FC / ((u32)(n)))
 Creates a CSND timer value from a sample rate.
 
+#define SOUND_CHANNEL(n)   ((u32)(n) & 0x1F)
 Creates a sound channel value from a channel number.
 
+#define SOUND_FORMAT(n)   ((u32)(n) << 12)
 Creates a sound format value from an encoding.
 
+#define SOUND_LOOPMODE(n)   ((u32)(n) << 10)
 Creates a sound loop mode value from a loop mode.
 
+ + + + + + + + + + + + + + + + +

+Enumerations

enum  {
+  CSND_ENCODING_PCM8 = 0 +,
+  CSND_ENCODING_PCM16 +,
+  CSND_ENCODING_ADPCM +,
+  CSND_ENCODING_PSG +
+ }
 CSND encodings. More...
 
enum  {
+  CSND_LOOPMODE_MANUAL = 0 +,
+  CSND_LOOPMODE_NORMAL +,
+  CSND_LOOPMODE_ONESHOT +,
+  CSND_LOOPMODE_NORELOAD +
+ }
 CSND loop modes. More...
 
enum  {
+  SOUND_LINEAR_INTERP = BIT(6) +,
+  SOUND_REPEAT = SOUND_LOOPMODE(CSND_LOOPMODE_NORMAL) +,
+  SOUND_ONE_SHOT = SOUND_LOOPMODE(CSND_LOOPMODE_ONESHOT) +,
+  SOUND_FORMAT_8BIT = SOUND_FORMAT(CSND_ENCODING_PCM8) +,
+  SOUND_FORMAT_16BIT = SOUND_FORMAT(CSND_ENCODING_PCM16) +,
+  SOUND_FORMAT_ADPCM = SOUND_FORMAT(CSND_ENCODING_ADPCM) +,
+  SOUND_FORMAT_PSG = SOUND_FORMAT(CSND_ENCODING_PSG) +,
+  SOUND_ENABLE = BIT(14) +
+ }
 Sound flags. More...
 
enum  {
+  CAPTURE_REPEAT = 0 +,
+  CAPTURE_ONE_SHOT = BIT(0) +,
+  CAPTURE_FORMAT_16BIT = 0 +,
+  CAPTURE_FORMAT_8BIT = BIT(1) +,
+  CAPTURE_ENABLE = BIT(15) +
+ }
 Capture modes. More...
 
enum  CSND_DutyCycle {
+  DutyCycle_0 = 7 +,
+  DutyCycle_12 = 0 +,
+  DutyCycle_25 = 1 +,
+  DutyCycle_37 = 2 +,
+  DutyCycle_50 = 3 +,
+  DutyCycle_62 = 4 +,
+  DutyCycle_75 = 5 +,
+  DutyCycle_87 = 6 +
+ }
 Duty cycles for a PSG channel. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

static u32 CSND_VOL (float vol, float pan)
 Converts a vol-pan pair into a left/right volume pair used by the hardware. More...
 
Result CSND_AcquireCapUnit (u32 *capUnit)
 Acquires a capture unit. More...
 
Result CSND_ReleaseCapUnit (u32 capUnit)
 Releases a capture unit. More...
 
Result CSND_FlushDataCache (const void *adr, u32 size)
 Flushes the data cache of a memory region. More...
 
Result CSND_StoreDataCache (const void *adr, u32 size)
 Stores the data cache of a memory region. More...
 
Result CSND_InvalidateDataCache (const void *adr, u32 size)
 Invalidates the data cache of a memory region. More...
 
Result CSND_Reset (void)
 Resets CSND. More...
 
+Result csndInit (void)
 Initializes CSND.
 
+void csndExit (void)
 Exits CSND.
 
u32csndAddCmd (int cmdid)
 Adds a command to the list, returning a buffer to write arguments to. More...
 
void csndWriteCmd (int cmdid, u8 *cmdparams)
 Adds a command to the list, copying its arguments from a buffer. More...
 
Result csndExecCmds (bool waitDone)
 Executes pending CSND commands. More...
 
void CSND_SetPlayStateR (u32 channel, u32 value)
 Sets a channel's play state, resetting registers on stop. More...
 
void CSND_SetPlayState (u32 channel, u32 value)
 Sets a channel's play state. More...
 
void CSND_SetEncoding (u32 channel, u32 value)
 Sets a channel's encoding. More...
 
void CSND_SetBlock (u32 channel, int block, u32 physaddr, u32 size)
 Sets the data of a channel's block. More...
 
void CSND_SetLooping (u32 channel, u32 value)
 Sets whether to loop a channel. More...
 
void CSND_SetBit7 (u32 channel, bool set)
 Sets bit 7 of a channel. More...
 
void CSND_SetInterp (u32 channel, bool interp)
 Sets whether a channel should use interpolation. More...
 
void CSND_SetDuty (u32 channel, CSND_DutyCycle duty)
 Sets a channel's duty. More...
 
void CSND_SetTimer (u32 channel, u32 timer)
 Sets a channel's timer. More...
 
void CSND_SetVol (u32 channel, u32 chnVolumes, u32 capVolumes)
 Sets a channel's volume. More...
 
void CSND_SetAdpcmState (u32 channel, int block, int sample, int index)
 Sets a channel's ADPCM state. More...
 
void CSND_SetAdpcmReload (u32 channel, bool reload)
 Sets a whether channel's ADPCM data should be reloaded when the second block is played. More...
 
void CSND_SetChnRegs (u32 flags, u32 physaddr0, u32 physaddr1, u32 totalbytesize, u32 chnVolumes, u32 capVolumes)
 Sets CSND's channel registers. More...
 
void CSND_SetChnRegsPSG (u32 flags, u32 chnVolumes, u32 capVolumes, CSND_DutyCycle duty)
 Sets CSND's PSG channel registers. More...
 
void CSND_SetChnRegsNoise (u32 flags, u32 chnVolumes, u32 capVolumes)
 Sets CSND's noise channel registers. More...
 
void CSND_CapEnable (u32 capUnit, bool enable)
 Sets whether a capture unit is enabled. More...
 
void CSND_CapSetRepeat (u32 capUnit, bool repeat)
 Sets whether a capture unit should repeat. More...
 
void CSND_CapSetFormat (u32 capUnit, bool eightbit)
 Sets a capture unit's format. More...
 
void CSND_CapSetBit2 (u32 capUnit, bool set)
 Sets a capture unit's second bit. More...
 
void CSND_CapSetTimer (u32 capUnit, u32 timer)
 Sets a capture unit's timer. More...
 
void CSND_CapSetBuffer (u32 capUnit, u32 addr, u32 size)
 Sets a capture unit's buffer. More...
 
void CSND_SetCapRegs (u32 capUnit, u32 flags, u32 addr, u32 size)
 Sets a capture unit's capture registers. More...
 
Result CSND_SetDspFlags (bool waitDone)
 Sets up DSP flags. More...
 
Result CSND_UpdateInfo (bool waitDone)
 Updates CSND information. More...
 
Result csndPlaySound (int chn, u32 flags, u32 sampleRate, float vol, float pan, void *data0, void *data1, u32 size)
 Plays a sound. More...
 
void csndGetDspFlags (u32 *outSemFlags, u32 *outIrqFlags)
 Gets CSND's DSP flags. More...
 
CSND_ChnInfocsndGetChnInfo (u32 channel)
 Gets a channel's information. More...
 
CSND_CapInfocsndGetCapInfo (u32 capUnit)
 Gets a capture unit's information. More...
 
Result csndGetState (u32 channel, CSND_ChnInfo *out)
 Gets a channel's state. More...
 
Result csndIsPlaying (u32 channel, u8 *status)
 Gets whether a channel is playing. More...
 
+ + + + + + + + + + +

+Variables

+vu32csndSharedMem
 CSND shared memory.
 
+u32 csndSharedMemSize
 CSND shared memory size.
 
+u32 csndChannels
 Bitmask of channels that are allowed for usage.
 
+

Detailed Description

+

CSND service.

+

Usage of this service is deprecated in favor of NDSP.

+

Enumeration Type Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

CSND encodings.

+ + + + + +
Enumerator
CSND_ENCODING_PCM8 

PCM8.

+
CSND_ENCODING_PCM16 

PCM16.

+
CSND_ENCODING_ADPCM 

IMA-ADPCM.

+
CSND_ENCODING_PSG 

PSG (Similar to DS?)

+
+ +
+
+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

CSND loop modes.

+ + + + + +
Enumerator
CSND_LOOPMODE_MANUAL 

Manual loop.

+
CSND_LOOPMODE_NORMAL 

Normal loop.

+
CSND_LOOPMODE_ONESHOT 

Do not loop.

+
CSND_LOOPMODE_NORELOAD 

Don't reload.

+
+ +
+
+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

Sound flags.

+ + + + + + + + + +
Enumerator
SOUND_LINEAR_INTERP 

Linear interpolation.

+
SOUND_REPEAT 

Repeat the sound.

+
SOUND_ONE_SHOT 

Play the sound once.

+
SOUND_FORMAT_8BIT 

PCM8.

+
SOUND_FORMAT_16BIT 

PCM16.

+
SOUND_FORMAT_ADPCM 

ADPCM.

+
SOUND_FORMAT_PSG 

PSG.

+
SOUND_ENABLE 

Enable sound.

+
+ +
+
+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

Capture modes.

+ + + + + + +
Enumerator
CAPTURE_REPEAT 

Repeat capture.

+
CAPTURE_ONE_SHOT 

Capture once.

+
CAPTURE_FORMAT_16BIT 

PCM16.

+
CAPTURE_FORMAT_8BIT 

PCM8.

+
CAPTURE_ENABLE 

Enable capture.

+
+ +
+
+ +

◆ CSND_DutyCycle

+ +
+
+ + + + +
enum CSND_DutyCycle
+
+ +

Duty cycles for a PSG channel.

+ + + + + + + + + +
Enumerator
DutyCycle_0 

0.0% duty cycle

+
DutyCycle_12 

12.5% duty cycle

+
DutyCycle_25 

25.0% duty cycle

+
DutyCycle_37 

37.5% duty cycle

+
DutyCycle_50 

50.0% duty cycle

+
DutyCycle_62 

62.5% duty cycle

+
DutyCycle_75 

75.0% duty cycle

+
DutyCycle_87 

87.5% duty cycle

+
+ +
+
+

Function Documentation

+ +

◆ CSND_AcquireCapUnit()

+ +
+
+ + + + + + + + +
Result CSND_AcquireCapUnit (u32capUnit)
+
+ +

Acquires a capture unit.

+
Parameters
+ + +
capUnitPointer to output the capture unit to.
+
+
+ +
+
+ +

◆ CSND_CapEnable()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CSND_CapEnable (u32 capUnit,
bool enable 
)
+
+ +

Sets whether a capture unit is enabled.

+
Parameters
+ + + +
capUnitCapture unit to use.
enableWhether to enable the capture unit.
+
+
+ +
+
+ +

◆ CSND_CapSetBit2()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CSND_CapSetBit2 (u32 capUnit,
bool set 
)
+
+ +

Sets a capture unit's second bit.

+
Parameters
+ + + +
capUnitCapture unit to use.
setValue to set.
+
+
+ +
+
+ +

◆ CSND_CapSetBuffer()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CSND_CapSetBuffer (u32 capUnit,
u32 addr,
u32 size 
)
+
+ +

Sets a capture unit's buffer.

+
Parameters
+ + + + +
capUnitCapture unit to use.
addrBuffer address to use.
sizeSize of the buffer.
+
+
+ +
+
+ +

◆ CSND_CapSetFormat()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CSND_CapSetFormat (u32 capUnit,
bool eightbit 
)
+
+ +

Sets a capture unit's format.

+
Parameters
+ + + +
capUnitCapture unit to use.
eightbitFormat to use.
+
+
+ +
+
+ +

◆ CSND_CapSetRepeat()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CSND_CapSetRepeat (u32 capUnit,
bool repeat 
)
+
+ +

Sets whether a capture unit should repeat.

+
Parameters
+ + + +
capUnitCapture unit to use.
repeatWhether the capture unit should repeat.
+
+
+ +
+
+ +

◆ CSND_CapSetTimer()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CSND_CapSetTimer (u32 capUnit,
u32 timer 
)
+
+ +

Sets a capture unit's timer.

+
Parameters
+ + + +
capUnitCapture unit to use.
timerTimer to set.
+
+
+ +
+
+ +

◆ CSND_FlushDataCache()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CSND_FlushDataCache (const void * adr,
u32 size 
)
+
+ +

Flushes the data cache of a memory region.

+
Parameters
+ + + +
adrAddress of the memory region.
sizeSize of the memory region.
+
+
+ +
+
+ +

◆ CSND_InvalidateDataCache()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CSND_InvalidateDataCache (const void * adr,
u32 size 
)
+
+ +

Invalidates the data cache of a memory region.

+
Parameters
+ + + +
adrAddress of the memory region.
sizeSize of the memory region.
+
+
+ +
+
+ +

◆ CSND_ReleaseCapUnit()

+ +
+
+ + + + + + + + +
Result CSND_ReleaseCapUnit (u32 capUnit)
+
+ +

Releases a capture unit.

+
Parameters
+ + +
capUnitCapture unit to release.
+
+
+ +
+
+ +

◆ CSND_Reset()

+ +
+
+ + + + + + + + +
Result CSND_Reset (void )
+
+ +

Resets CSND.

+

Note: Currently breaks sound, don't use for now!

+ +
+
+ +

◆ CSND_SetAdpcmReload()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CSND_SetAdpcmReload (u32 channel,
bool reload 
)
+
+ +

Sets a whether channel's ADPCM data should be reloaded when the second block is played.

+
Parameters
+ + + +
channelChannel to use.
reloadWhether to reload ADPCM data.
+
+
+ +
+
+ +

◆ CSND_SetAdpcmState()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void CSND_SetAdpcmState (u32 channel,
int block,
int sample,
int index 
)
+
+ +

Sets a channel's ADPCM state.

+
Parameters
+ + + + + +
channelChannel to use.
blockCurrent block.
sampleCurrent sample.
indexCurrent index.
+
+
+ +
+
+ +

◆ CSND_SetBit7()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CSND_SetBit7 (u32 channel,
bool set 
)
+
+ +

Sets bit 7 of a channel.

+
Parameters
+ + + +
channelChannel to use.
setValue to set.
+
+
+ +
+
+ +

◆ CSND_SetBlock()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void CSND_SetBlock (u32 channel,
int block,
u32 physaddr,
u32 size 
)
+
+ +

Sets the data of a channel's block.

+
Parameters
+ + + + + +
channelChannel to use.
blockBlock to set.
physaddrPhysical address to set the block to.
sizeSize of the block.
+
+
+ +
+
+ +

◆ CSND_SetCapRegs()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void CSND_SetCapRegs (u32 capUnit,
u32 flags,
u32 addr,
u32 size 
)
+
+ +

Sets a capture unit's capture registers.

+
Parameters
+ + + + + +
capUnitCapture unit to use.
flagsCapture unit flags.
addrCapture unit buffer address.
sizeBuffer size.
+
+
+ +
+
+ +

◆ CSND_SetChnRegs()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void CSND_SetChnRegs (u32 flags,
u32 physaddr0,
u32 physaddr1,
u32 totalbytesize,
u32 chnVolumes,
u32 capVolumes 
)
+
+ +

Sets CSND's channel registers.

+
Parameters
+ + + + + + + +
flagsFlags to set.
physaddr0Physical address of the first buffer to play.
physaddr1Physical address of the second buffer to play.
totalbytesizeTotal size of the data to play.
chnVolumesChannel volume data.
capVolumesCapture volume data.
+
+
+ +
+
+ +

◆ CSND_SetChnRegsNoise()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CSND_SetChnRegsNoise (u32 flags,
u32 chnVolumes,
u32 capVolumes 
)
+
+ +

Sets CSND's noise channel registers.

+
Parameters
+ + + + +
flagsFlags to set.
chnVolumesChannel volume data.
capVolumesCapture volume data.
+
+
+ +
+
+ +

◆ CSND_SetChnRegsPSG()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void CSND_SetChnRegsPSG (u32 flags,
u32 chnVolumes,
u32 capVolumes,
CSND_DutyCycle duty 
)
+
+ +

Sets CSND's PSG channel registers.

+
Parameters
+ + + + + +
flagsFlags to set.
chnVolumesChannel volume data.
capVolumesCapture volume data.
dutyDuty value to set.
+
+
+ +
+
+ +

◆ CSND_SetDspFlags()

+ +
+
+ + + + + + + + +
Result CSND_SetDspFlags (bool waitDone)
+
+ +

Sets up DSP flags.

+
Parameters
+ + +
waitDoneWhether to wait for completion.
+
+
+ +
+
+ +

◆ CSND_SetDuty()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CSND_SetDuty (u32 channel,
CSND_DutyCycle duty 
)
+
+ +

Sets a channel's duty.

+
Parameters
+ + + +
channelChannel to use.
dutyDuty to set.
+
+
+ +
+
+ +

◆ CSND_SetEncoding()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CSND_SetEncoding (u32 channel,
u32 value 
)
+
+ +

Sets a channel's encoding.

+
Parameters
+ + + +
channelChannel to use.
valueEncoding to set.
+
+
+ +
+
+ +

◆ CSND_SetInterp()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CSND_SetInterp (u32 channel,
bool interp 
)
+
+ +

Sets whether a channel should use interpolation.

+
Parameters
+ + + +
channelChannel to use.
interpWhether to use interpolation.
+
+
+ +
+
+ +

◆ CSND_SetLooping()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CSND_SetLooping (u32 channel,
u32 value 
)
+
+ +

Sets whether to loop a channel.

+
Parameters
+ + + +
channelChannel to use.
valueWhether to loop the channel.
+
+
+ +
+
+ +

◆ CSND_SetPlayState()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CSND_SetPlayState (u32 channel,
u32 value 
)
+
+ +

Sets a channel's play state.

+
Parameters
+ + + +
channelChannel to use.
valuePlay state to set.
+
+
+
Examples
audio/mic/source/main.c.
+
+ +
+
+ +

◆ CSND_SetPlayStateR()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CSND_SetPlayStateR (u32 channel,
u32 value 
)
+
+ +

Sets a channel's play state, resetting registers on stop.

+
Parameters
+ + + +
channelChannel to use.
valuePlay state to set.
+
+
+ +
+
+ +

◆ CSND_SetTimer()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void CSND_SetTimer (u32 channel,
u32 timer 
)
+
+ +

Sets a channel's timer.

+
Parameters
+ + + +
channelChannel to use.
timerTimer to set.
+
+
+ +
+
+ +

◆ CSND_SetVol()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void CSND_SetVol (u32 channel,
u32 chnVolumes,
u32 capVolumes 
)
+
+ +

Sets a channel's volume.

+
Parameters
+ + + + +
channelChannel to use.
chnVolumesChannel volume data to set.
capVolumesCapture volume data to set.
+
+
+ +
+
+ +

◆ CSND_StoreDataCache()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result CSND_StoreDataCache (const void * adr,
u32 size 
)
+
+ +

Stores the data cache of a memory region.

+
Parameters
+ + + +
adrAddress of the memory region.
sizeSize of the memory region.
+
+
+ +
+
+ +

◆ CSND_UpdateInfo()

+ +
+
+ + + + + + + + +
Result CSND_UpdateInfo (bool waitDone)
+
+ +

Updates CSND information.

+
Parameters
+ + +
waitDoneWhether to wait for completion.
+
+
+
Examples
audio/mic/source/main.c.
+
+ +
+
+ +

◆ CSND_VOL()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static u32 CSND_VOL (float vol,
float pan 
)
+
+inlinestatic
+
+ +

Converts a vol-pan pair into a left/right volume pair used by the hardware.

+
Parameters
+ + + +
volVolume to use.
panPan to use.
+
+
+
Returns
A left/right volume pair for use by hardware.
+ +
+
+ +

◆ csndAddCmd()

+ +
+
+ + + + + + + + +
u32* csndAddCmd (int cmdid)
+
+ +

Adds a command to the list, returning a buffer to write arguments to.

+
Parameters
+ + +
cmdidID of the command to add.
+
+
+
Returns
A buffer to write command arguments to.
+ +
+
+ +

◆ csndExecCmds()

+ +
+
+ + + + + + + + +
Result csndExecCmds (bool waitDone)
+
+ +

Executes pending CSND commands.

+
Parameters
+ + +
waitDoneWhether to wait until the commands have finished executing.
+
+
+ +
+
+ +

◆ csndGetCapInfo()

+ +
+
+ + + + + + + + +
CSND_CapInfo* csndGetCapInfo (u32 capUnit)
+
+ +

Gets a capture unit's information.

+

Note: Requires previous CSND_UpdateInfo()

Parameters
+ + +
capUnitCapture unit to get information for.
+
+
+
Returns
The capture unit's information.
+ +
+
+ +

◆ csndGetChnInfo()

+ +
+
+ + + + + + + + +
CSND_ChnInfo* csndGetChnInfo (u32 channel)
+
+ +

Gets a channel's information.

+

Note: Requires previous CSND_UpdateInfo()

Parameters
+ + +
channelChannel to get information for.
+
+
+
Returns
The channel's information.
+ +
+
+ +

◆ csndGetDspFlags()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void csndGetDspFlags (u32outSemFlags,
u32outIrqFlags 
)
+
+ +

Gets CSND's DSP flags.

+

Note: Requires previous CSND_UpdateInfo()

Parameters
+ + + +
outSemFlagsPointer to write semaphore flags to.
outIrqFlagsPointer to write interrupt flags to.
+
+
+ +
+
+ +

◆ csndGetState()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result csndGetState (u32 channel,
CSND_ChnInfoout 
)
+
+ +

Gets a channel's state.

+
Parameters
+ + + +
channelChannel to get the state of.
outPointer to output channel information to.
+
+
+ +
+
+ +

◆ csndIsPlaying()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result csndIsPlaying (u32 channel,
u8status 
)
+
+ +

Gets whether a channel is playing.

+
Parameters
+ + + +
channelChannel to check.
statusPointer to output the channel status to.
+
+
+ +
+
+ +

◆ csndPlaySound()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result csndPlaySound (int chn,
u32 flags,
u32 sampleRate,
float vol,
float pan,
void * data0,
void * data1,
u32 size 
)
+
+ +

Plays a sound.

+
Parameters
+ + + + + + + + + +
chnChannel to play the sound on.
flagsFlags containing information about the sound.
sampleRateSample rate of the sound.
volThe volume, ranges from 0.0 to 1.0 included.
panThe pan, ranges from -1.0 to 1.0 included.
data0First block of sound data.
data1Second block of sound data. This is the block that will be looped over.
sizeSize of the sound data.
+
+
+

In this implementation if the loop mode is used, data1 must be in the range [data0 ; data0 + size]. Sound will be played once from data0 to data0 + size and then loop between data1 and data0+size.

+
Examples
audio/mic/source/main.c.
+
+ +
+
+ +

◆ csndWriteCmd()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void csndWriteCmd (int cmdid,
u8cmdparams 
)
+
+ +

Adds a command to the list, copying its arguments from a buffer.

+
Parameters
+ + + +
cmdidID of the command to add.
cmdparamsBuffer containing the command's parameters.
+
+
+ +
+
+
+ + + + diff --git a/csnd_8h_source.html b/csnd_8h_source.html new file mode 100644 index 000000000..d908a1e3d --- /dev/null +++ b/csnd_8h_source.html @@ -0,0 +1,610 @@ + + + + + + + +libctru: include/3ds/services/csnd.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
csnd.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file csnd.h
+
3  * @brief CSND service. Usage of this service is deprecated in favor of NDSP.
+
4  */
+
5 #pragma once
+
6 
+
7 #include <3ds/types.h>
+
8 
+
9 /// Maximum number of CSND channels.
+
10 #define CSND_NUM_CHANNELS 32
+
11 
+
12 /// Creates a CSND timer value from a sample rate.
+
13 #define CSND_TIMER(n) (0x3FEC3FC / ((u32)(n)))
+
14 
+
15 /**
+
16  * @brief Converts a vol-pan pair into a left/right volume pair used by the hardware.
+
17  * @param vol Volume to use.
+
18  * @param pan Pan to use.
+
19  * @return A left/right volume pair for use by hardware.
+
20  */
+
21 static inline u32 CSND_VOL(float vol, float pan)
+
22 {
+
23  float rpan;
+
24  u32 lvol, rvol;
+
25 
+
26  if (vol < 0.0f) vol = 0.0f;
+
27  else if (vol > 1.0f) vol = 1.0f;
+
28 
+
29  rpan = (pan+1) / 2;
+
30  if (rpan < 0.0f) rpan = 0.0f;
+
31  else if (rpan > 1.0f) rpan = 1.0f;
+
32 
+
33  lvol = vol*(1-rpan) * 0x8000;
+
34  rvol = vol*rpan * 0x8000;
+
35  return lvol | (rvol << 16);
+
36 }
+
37 
+
38 /// CSND encodings.
+
39 enum
+
40 {
+
41  CSND_ENCODING_PCM8 = 0, ///< PCM8
+
42  CSND_ENCODING_PCM16, ///< PCM16
+
43  CSND_ENCODING_ADPCM, ///< IMA-ADPCM
+
44  CSND_ENCODING_PSG, ///< PSG (Similar to DS?)
+
45 };
+
46 
+
47 /// CSND loop modes.
+
48 enum
+
49 {
+
50  CSND_LOOPMODE_MANUAL = 0, ///< Manual loop.
+
51  CSND_LOOPMODE_NORMAL, ///< Normal loop.
+
52  CSND_LOOPMODE_ONESHOT, ///< Do not loop.
+
53  CSND_LOOPMODE_NORELOAD, ///< Don't reload.
+
54 };
+
55 
+
56 /// Creates a sound channel value from a channel number.
+
57 #define SOUND_CHANNEL(n) ((u32)(n) & 0x1F)
+
58 
+
59 /// Creates a sound format value from an encoding.
+
60 #define SOUND_FORMAT(n) ((u32)(n) << 12)
+
61 
+
62 /// Creates a sound loop mode value from a loop mode.
+
63 #define SOUND_LOOPMODE(n) ((u32)(n) << 10)
+
64 
+
65 /// Sound flags.
+
66 enum
+
67 {
+
68  SOUND_LINEAR_INTERP = BIT(6), ///< Linear interpolation.
+ +
70  SOUND_ONE_SHOT = SOUND_LOOPMODE(CSND_LOOPMODE_ONESHOT), ///< Play the sound once.
+ + + + +
75  SOUND_ENABLE = BIT(14), ///< Enable sound.
+
76 };
+
77 
+
78 /// Capture modes.
+
79 enum
+
80 {
+
81  CAPTURE_REPEAT = 0, ///< Repeat capture.
+
82  CAPTURE_ONE_SHOT = BIT(0), ///< Capture once.
+
83  CAPTURE_FORMAT_16BIT = 0, ///< PCM16
+
84  CAPTURE_FORMAT_8BIT = BIT(1), ///< PCM8
+
85  CAPTURE_ENABLE = BIT(15), ///< Enable capture.
+
86 };
+
87 
+
88 /// Duty cycles for a PSG channel.
+
89 typedef enum
+
90 {
+
91  DutyCycle_0 = 7, ///< 0.0% duty cycle
+
92  DutyCycle_12 = 0, ///< 12.5% duty cycle
+
93  DutyCycle_25 = 1, ///< 25.0% duty cycle
+
94  DutyCycle_37 = 2, ///< 37.5% duty cycle
+
95  DutyCycle_50 = 3, ///< 50.0% duty cycle
+
96  DutyCycle_62 = 4, ///< 62.5% duty cycle
+
97  DutyCycle_75 = 5, ///< 75.0% duty cycle
+
98  DutyCycle_87 = 6 ///< 87.5% duty cycle
+ +
100 
+
101 /// Channel info.
+
102 typedef union
+
103 {
+
104  u32 value[3]; ///< Raw values.
+
105  struct
+
106  {
+
107  u8 active; ///< Channel active.
+
108  u8 _pad1; ///< Padding.
+
109  u16 _pad2; ///< Padding.
+
110  s16 adpcmSample; ///< Current ADPCM sample.
+
111  u8 adpcmIndex; ///< Current ADPCM index.
+
112  u8 _pad3; ///< Padding.
+
113  u32 unknownZero; ///< Unknown.
+
114  };
+
115 } CSND_ChnInfo;
+
116 
+
117 /// Capture info.
+
118 typedef union
+
119 {
+
120  u32 value[2]; ///< Raw values.
+
121  struct
+
122  {
+
123  u8 active; ///< Capture active.
+
124  u8 _pad1; ///< Padding.
+
125  u16 _pad2; ///< Padding.
+
126  u32 unknownZero; ///< Unknown.
+
127  };
+
128 } CSND_CapInfo;
+
129 
+
130 // See here regarding CSND shared-mem commands, etc: http://3dbrew.org/wiki/CSND_Shared_Memory
+
131 
+
132 extern vu32* csndSharedMem; ///< CSND shared memory.
+
133 extern u32 csndSharedMemSize; ///< CSND shared memory size.
+
134 extern u32 csndChannels; ///< Bitmask of channels that are allowed for usage.
+
135 
+
136 /**
+
137  * @brief Acquires a capture unit.
+
138  * @param capUnit Pointer to output the capture unit to.
+
139  */
+ +
141 
+
142 /**
+
143  * @brief Releases a capture unit.
+
144  * @param capUnit Capture unit to release.
+
145  */
+ +
147 
+
148 /**
+
149  * @brief Flushes the data cache of a memory region.
+
150  * @param adr Address of the memory region.
+
151  * @param size Size of the memory region.
+
152  */
+
153 Result CSND_FlushDataCache(const void* adr, u32 size);
+
154 
+
155 /**
+
156  * @brief Stores the data cache of a memory region.
+
157  * @param adr Address of the memory region.
+
158  * @param size Size of the memory region.
+
159  */
+
160 Result CSND_StoreDataCache(const void* adr, u32 size);
+
161 
+
162 /**
+
163  * @brief Invalidates the data cache of a memory region.
+
164  * @param adr Address of the memory region.
+
165  * @param size Size of the memory region.
+
166  */
+
167 Result CSND_InvalidateDataCache(const void* adr, u32 size);
+
168 
+
169 /**
+
170  * @brief Resets CSND.
+
171  * Note: Currently breaks sound, don't use for now!
+
172  */
+ +
174 
+
175 /// Initializes CSND.
+ +
177 
+
178 /// Exits CSND.
+
179 void csndExit(void);
+
180 
+
181 /**
+
182  * @brief Adds a command to the list, returning a buffer to write arguments to.
+
183  * @param cmdid ID of the command to add.
+
184  * @return A buffer to write command arguments to.
+
185  */
+
186 u32* csndAddCmd(int cmdid);
+
187 
+
188 /**
+
189  * @brief Adds a command to the list, copying its arguments from a buffer.
+
190  * @param cmdid ID of the command to add.
+
191  * @param cmdparams Buffer containing the command's parameters.
+
192  */
+
193 void csndWriteCmd(int cmdid, u8* cmdparams);
+
194 
+
195 /**
+
196  * @brief Executes pending CSND commands.
+
197  * @param waitDone Whether to wait until the commands have finished executing.
+
198  */
+
199 Result csndExecCmds(bool waitDone);
+
200 
+
201 /**
+
202  * @brief Sets a channel's play state, resetting registers on stop.
+
203  * @param channel Channel to use.
+
204  * @param value Play state to set.
+
205  */
+
206 void CSND_SetPlayStateR(u32 channel, u32 value);
+
207 
+
208 /**
+
209  * @brief Sets a channel's play state.
+
210  * @param channel Channel to use.
+
211  * @param value Play state to set.
+
212  */
+
213 void CSND_SetPlayState(u32 channel, u32 value);
+
214 
+
215 /**
+
216  * @brief Sets a channel's encoding.
+
217  * @param channel Channel to use.
+
218  * @param value Encoding to set.
+
219  */
+
220 void CSND_SetEncoding(u32 channel, u32 value);
+
221 
+
222 /**
+
223  * @brief Sets the data of a channel's block.
+
224  * @param channel Channel to use.
+
225  * @param block Block to set.
+
226  * @param physaddr Physical address to set the block to.
+
227  * @param size Size of the block.
+
228  */
+
229 void CSND_SetBlock(u32 channel, int block, u32 physaddr, u32 size);
+
230 
+
231 /**
+
232  * @brief Sets whether to loop a channel.
+
233  * @param channel Channel to use.
+
234  * @param value Whether to loop the channel.
+
235  */
+
236 void CSND_SetLooping(u32 channel, u32 value);
+
237 
+
238 /**
+
239  * @brief Sets bit 7 of a channel.
+
240  * @param channel Channel to use.
+
241  * @param set Value to set.
+
242  */
+
243 void CSND_SetBit7(u32 channel, bool set);
+
244 
+
245 /**
+
246  * @brief Sets whether a channel should use interpolation.
+
247  * @param channel Channel to use.
+
248  * @param interp Whether to use interpolation.
+
249  */
+
250 void CSND_SetInterp(u32 channel, bool interp);
+
251 
+
252 /**
+
253  * @brief Sets a channel's duty.
+
254  * @param channel Channel to use.
+
255  * @param duty Duty to set.
+
256  */
+
257 void CSND_SetDuty(u32 channel, CSND_DutyCycle duty);
+
258 
+
259 /**
+
260  * @brief Sets a channel's timer.
+
261  * @param channel Channel to use.
+
262  * @param timer Timer to set.
+
263  */
+
264 void CSND_SetTimer(u32 channel, u32 timer);
+
265 
+
266 /**
+
267  * @brief Sets a channel's volume.
+
268  * @param channel Channel to use.
+
269  * @param chnVolumes Channel volume data to set.
+
270  * @param capVolumes Capture volume data to set.
+
271  */
+
272 void CSND_SetVol(u32 channel, u32 chnVolumes, u32 capVolumes);
+
273 
+
274 /**
+
275  * @brief Sets a channel's ADPCM state.
+
276  * @param channel Channel to use.
+
277  * @param block Current block.
+
278  * @param sample Current sample.
+
279  * @param index Current index.
+
280  */
+
281 void CSND_SetAdpcmState(u32 channel, int block, int sample, int index);
+
282 
+
283 /**
+
284  * @brief Sets a whether channel's ADPCM data should be reloaded when the second block is played.
+
285  * @param channel Channel to use.
+
286  * @param reload Whether to reload ADPCM data.
+
287  */
+
288 void CSND_SetAdpcmReload(u32 channel, bool reload);
+
289 
+
290 /**
+
291  * @brief Sets CSND's channel registers.
+
292  * @param flags Flags to set.
+
293  * @param physaddr0 Physical address of the first buffer to play.
+
294  * @param physaddr1 Physical address of the second buffer to play.
+
295  * @param totalbytesize Total size of the data to play.
+
296  * @param chnVolumes Channel volume data.
+
297  * @param capVolumes Capture volume data.
+
298  */
+
299 void CSND_SetChnRegs(u32 flags, u32 physaddr0, u32 physaddr1, u32 totalbytesize, u32 chnVolumes, u32 capVolumes);
+
300 
+
301 /**
+
302  * @brief Sets CSND's PSG channel registers.
+
303  * @param flags Flags to set.
+
304  * @param chnVolumes Channel volume data.
+
305  * @param capVolumes Capture volume data.
+
306  * @param duty Duty value to set.
+
307  */
+
308 void CSND_SetChnRegsPSG(u32 flags, u32 chnVolumes, u32 capVolumes, CSND_DutyCycle duty);
+
309 
+
310 /**
+
311  * @brief Sets CSND's noise channel registers.
+
312  * @param flags Flags to set.
+
313  * @param chnVolumes Channel volume data.
+
314  * @param capVolumes Capture volume data.
+
315  */
+
316 void CSND_SetChnRegsNoise(u32 flags, u32 chnVolumes, u32 capVolumes);
+
317 
+
318 /**
+
319  * @brief Sets whether a capture unit is enabled.
+
320  * @param capUnit Capture unit to use.
+
321  * @param enable Whether to enable the capture unit.
+
322  */
+
323 void CSND_CapEnable(u32 capUnit, bool enable);
+
324 
+
325 /**
+
326  * @brief Sets whether a capture unit should repeat.
+
327  * @param capUnit Capture unit to use.
+
328  * @param repeat Whether the capture unit should repeat.
+
329  */
+
330 void CSND_CapSetRepeat(u32 capUnit, bool repeat);
+
331 
+
332 /**
+
333  * @brief Sets a capture unit's format.
+
334  * @param capUnit Capture unit to use.
+
335  * @param eightbit Format to use.
+
336  */
+
337 void CSND_CapSetFormat(u32 capUnit, bool eightbit);
+
338 
+
339 /**
+
340  * @brief Sets a capture unit's second bit.
+
341  * @param capUnit Capture unit to use.
+
342  * @param set Value to set.
+
343  */
+
344 void CSND_CapSetBit2(u32 capUnit, bool set);
+
345 
+
346 /**
+
347  * @brief Sets a capture unit's timer.
+
348  * @param capUnit Capture unit to use.
+
349  * @param timer Timer to set.
+
350  */
+
351 void CSND_CapSetTimer(u32 capUnit, u32 timer);
+
352 
+
353 /**
+
354  * @brief Sets a capture unit's buffer.
+
355  * @param capUnit Capture unit to use.
+
356  * @param addr Buffer address to use.
+
357  * @param size Size of the buffer.
+
358  */
+
359 void CSND_CapSetBuffer(u32 capUnit, u32 addr, u32 size);
+
360 
+
361 /**
+
362  * @brief Sets a capture unit's capture registers.
+
363  * @param capUnit Capture unit to use.
+
364  * @param flags Capture unit flags.
+
365  * @param addr Capture unit buffer address.
+
366  * @param size Buffer size.
+
367  */
+
368 void CSND_SetCapRegs(u32 capUnit, u32 flags, u32 addr, u32 size);
+
369 
+
370 /**
+
371  * @brief Sets up DSP flags.
+
372  * @param waitDone Whether to wait for completion.
+
373  */
+
374 Result CSND_SetDspFlags(bool waitDone);
+
375 
+
376 /**
+
377  * @brief Updates CSND information.
+
378  * @param waitDone Whether to wait for completion.
+
379  */
+
380 Result CSND_UpdateInfo(bool waitDone);
+
381 
+
382 /**
+
383  * @brief Plays a sound.
+
384  * @param chn Channel to play the sound on.
+
385  * @param flags Flags containing information about the sound.
+
386  * @param sampleRate Sample rate of the sound.
+
387  * @param vol The volume, ranges from 0.0 to 1.0 included.
+
388  * @param pan The pan, ranges from -1.0 to 1.0 included.
+
389  * @param data0 First block of sound data.
+
390  * @param data1 Second block of sound data. This is the block that will be looped over.
+
391  * @param size Size of the sound data.
+
392  *
+
393  * In this implementation if the loop mode is used, data1 must be in the range [data0 ; data0 + size]. Sound will be played once from data0 to data0 + size and then loop between data1 and data0+size.
+
394  */
+
395 Result csndPlaySound(int chn, u32 flags, u32 sampleRate, float vol, float pan, void* data0, void* data1, u32 size);
+
396 
+
397 /**
+
398  * @brief Gets CSND's DSP flags.
+
399  * Note: Requires previous CSND_UpdateInfo()
+
400  * @param outSemFlags Pointer to write semaphore flags to.
+
401  * @param outIrqFlags Pointer to write interrupt flags to.
+
402  */
+
403 void csndGetDspFlags(u32* outSemFlags, u32* outIrqFlags);
+
404 
+
405 /**
+
406  * @brief Gets a channel's information.
+
407  * Note: Requires previous CSND_UpdateInfo()
+
408  * @param channel Channel to get information for.
+
409  * @return The channel's information.
+
410  */
+ +
412 
+
413 /**
+
414  * @brief Gets a capture unit's information.
+
415  * Note: Requires previous CSND_UpdateInfo()
+
416  * @param capUnit Capture unit to get information for.
+
417  * @return The capture unit's information.
+
418  */
+ +
420 
+
421 /**
+
422  * @brief Gets a channel's state.
+
423  * @param channel Channel to get the state of.
+
424  * @param out Pointer to output channel information to.
+
425  */
+ +
427 
+
428 /**
+
429  * @brief Gets whether a channel is playing.
+
430  * @param channel Channel to check.
+
431  * @param status Pointer to output the channel status to.
+
432  */
+
433 Result csndIsPlaying(u32 channel, u8* status);
+
Result CSND_InvalidateDataCache(const void *adr, u32 size)
Invalidates the data cache of a memory region.
+
static u32 CSND_VOL(float vol, float pan)
Converts a vol-pan pair into a left/right volume pair used by the hardware.
Definition: csnd.h:21
+
void CSND_SetLooping(u32 channel, u32 value)
Sets whether to loop a channel.
+
CSND_CapInfo * csndGetCapInfo(u32 capUnit)
Gets a capture unit's information.
+
Result CSND_FlushDataCache(const void *adr, u32 size)
Flushes the data cache of a memory region.
+
#define SOUND_FORMAT(n)
Creates a sound format value from an encoding.
Definition: csnd.h:60
+
void CSND_SetTimer(u32 channel, u32 timer)
Sets a channel's timer.
+
Result CSND_UpdateInfo(bool waitDone)
Updates CSND information.
+
Result csndInit(void)
Initializes CSND.
+
Result csndPlaySound(int chn, u32 flags, u32 sampleRate, float vol, float pan, void *data0, void *data1, u32 size)
Plays a sound.
+
#define SOUND_LOOPMODE(n)
Creates a sound loop mode value from a loop mode.
Definition: csnd.h:63
+
Result csndGetState(u32 channel, CSND_ChnInfo *out)
Gets a channel's state.
+
void CSND_SetEncoding(u32 channel, u32 value)
Sets a channel's encoding.
+
void CSND_SetChnRegs(u32 flags, u32 physaddr0, u32 physaddr1, u32 totalbytesize, u32 chnVolumes, u32 capVolumes)
Sets CSND's channel registers.
+
Result CSND_Reset(void)
Resets CSND.
+
void CSND_SetPlayState(u32 channel, u32 value)
Sets a channel's play state.
+
CSND_ChnInfo * csndGetChnInfo(u32 channel)
Gets a channel's information.
+
void CSND_CapEnable(u32 capUnit, bool enable)
Sets whether a capture unit is enabled.
+
void CSND_SetChnRegsPSG(u32 flags, u32 chnVolumes, u32 capVolumes, CSND_DutyCycle duty)
Sets CSND's PSG channel registers.
+
void CSND_CapSetBit2(u32 capUnit, bool set)
Sets a capture unit's second bit.
+
void CSND_SetAdpcmState(u32 channel, int block, int sample, int index)
Sets a channel's ADPCM state.
+
@ SOUND_FORMAT_ADPCM
ADPCM.
Definition: csnd.h:73
+
@ SOUND_REPEAT
Repeat the sound.
Definition: csnd.h:69
+
@ SOUND_FORMAT_8BIT
PCM8.
Definition: csnd.h:71
+
@ SOUND_FORMAT_16BIT
PCM16.
Definition: csnd.h:72
+
@ SOUND_FORMAT_PSG
PSG.
Definition: csnd.h:74
+
@ SOUND_LINEAR_INTERP
Linear interpolation.
Definition: csnd.h:68
+
@ SOUND_ENABLE
Enable sound.
Definition: csnd.h:75
+
@ SOUND_ONE_SHOT
Play the sound once.
Definition: csnd.h:70
+
void CSND_SetAdpcmReload(u32 channel, bool reload)
Sets a whether channel's ADPCM data should be reloaded when the second block is played.
+
void CSND_SetChnRegsNoise(u32 flags, u32 chnVolumes, u32 capVolumes)
Sets CSND's noise channel registers.
+
void CSND_CapSetRepeat(u32 capUnit, bool repeat)
Sets whether a capture unit should repeat.
+
Result CSND_SetDspFlags(bool waitDone)
Sets up DSP flags.
+
void CSND_SetBit7(u32 channel, bool set)
Sets bit 7 of a channel.
+
void CSND_SetCapRegs(u32 capUnit, u32 flags, u32 addr, u32 size)
Sets a capture unit's capture registers.
+
void CSND_CapSetBuffer(u32 capUnit, u32 addr, u32 size)
Sets a capture unit's buffer.
+
void CSND_SetDuty(u32 channel, CSND_DutyCycle duty)
Sets a channel's duty.
+
Result csndExecCmds(bool waitDone)
Executes pending CSND commands.
+
u32 * csndAddCmd(int cmdid)
Adds a command to the list, returning a buffer to write arguments to.
+
void csndGetDspFlags(u32 *outSemFlags, u32 *outIrqFlags)
Gets CSND's DSP flags.
+
void CSND_SetInterp(u32 channel, bool interp)
Sets whether a channel should use interpolation.
+
void CSND_SetPlayStateR(u32 channel, u32 value)
Sets a channel's play state, resetting registers on stop.
+
Result CSND_ReleaseCapUnit(u32 capUnit)
Releases a capture unit.
+
CSND_DutyCycle
Duty cycles for a PSG channel.
Definition: csnd.h:90
+
@ DutyCycle_87
87.5% duty cycle
Definition: csnd.h:98
+
@ DutyCycle_25
25.0% duty cycle
Definition: csnd.h:93
+
@ DutyCycle_37
37.5% duty cycle
Definition: csnd.h:94
+
@ DutyCycle_62
62.5% duty cycle
Definition: csnd.h:96
+
@ DutyCycle_50
50.0% duty cycle
Definition: csnd.h:95
+
@ DutyCycle_75
75.0% duty cycle
Definition: csnd.h:97
+
@ DutyCycle_12
12.5% duty cycle
Definition: csnd.h:92
+
@ DutyCycle_0
0.0% duty cycle
Definition: csnd.h:91
+
Result csndIsPlaying(u32 channel, u8 *status)
Gets whether a channel is playing.
+
void CSND_CapSetTimer(u32 capUnit, u32 timer)
Sets a capture unit's timer.
+
void CSND_SetVol(u32 channel, u32 chnVolumes, u32 capVolumes)
Sets a channel's volume.
+
void CSND_CapSetFormat(u32 capUnit, bool eightbit)
Sets a capture unit's format.
+
vu32 * csndSharedMem
CSND shared memory.
+
u32 csndSharedMemSize
CSND shared memory size.
+
Result CSND_StoreDataCache(const void *adr, u32 size)
Stores the data cache of a memory region.
+
Result CSND_AcquireCapUnit(u32 *capUnit)
Acquires a capture unit.
+
u32 csndChannels
Bitmask of channels that are allowed for usage.
+
void CSND_SetBlock(u32 channel, int block, u32 physaddr, u32 size)
Sets the data of a channel's block.
+
@ CAPTURE_FORMAT_8BIT
PCM8.
Definition: csnd.h:84
+
@ CAPTURE_FORMAT_16BIT
PCM16.
Definition: csnd.h:83
+
@ CAPTURE_REPEAT
Repeat capture.
Definition: csnd.h:81
+
@ CAPTURE_ONE_SHOT
Capture once.
Definition: csnd.h:82
+
@ CAPTURE_ENABLE
Enable capture.
Definition: csnd.h:85
+
void csndExit(void)
Exits CSND.
+
@ CSND_ENCODING_PSG
PSG (Similar to DS?)
Definition: csnd.h:44
+
@ CSND_ENCODING_ADPCM
IMA-ADPCM.
Definition: csnd.h:43
+
@ CSND_ENCODING_PCM8
PCM8.
Definition: csnd.h:41
+
@ CSND_ENCODING_PCM16
PCM16.
Definition: csnd.h:42
+
@ CSND_LOOPMODE_NORMAL
Normal loop.
Definition: csnd.h:51
+
@ CSND_LOOPMODE_NORELOAD
Don't reload.
Definition: csnd.h:53
+
@ CSND_LOOPMODE_MANUAL
Manual loop.
Definition: csnd.h:50
+
@ CSND_LOOPMODE_ONESHOT
Do not loop.
Definition: csnd.h:52
+
void csndWriteCmd(int cmdid, u8 *cmdparams)
Adds a command to the list, copying its arguments from a buffer.
+
Various system types.
+
#define BIT(n)
Creates a bitmask from a bit number.
Definition: types.h:47
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
int16_t s16
16-bit signed integer
Definition: types.h:27
+
volatile u32 vu32
32-bit volatile unsigned integer.
Definition: types.h:33
+
s32 Result
Function result.
Definition: types.h:42
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
Capture info.
Definition: csnd.h:119
+
u8 active
Capture active.
Definition: csnd.h:123
+
u16 _pad2
Padding.
Definition: csnd.h:125
+
u8 _pad1
Padding.
Definition: csnd.h:124
+
u32 unknownZero
Unknown.
Definition: csnd.h:126
+
Channel info.
Definition: csnd.h:103
+
u8 _pad3
Padding.
Definition: csnd.h:112
+
s16 adpcmSample
Current ADPCM sample.
Definition: csnd.h:110
+
u8 _pad1
Padding.
Definition: csnd.h:108
+
u16 _pad2
Padding.
Definition: csnd.h:109
+
u32 unknownZero
Unknown.
Definition: csnd.h:113
+
u8 adpcmIndex
Current ADPCM index.
Definition: csnd.h:111
+
u8 active
Channel active.
Definition: csnd.h:107
+
+ + + + diff --git a/decompress_8h.html b/decompress_8h.html new file mode 100644 index 000000000..19028b4d7 --- /dev/null +++ b/decompress_8h.html @@ -0,0 +1,1033 @@ + + + + + + + +libctru: include/3ds/util/decompress.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
decompress.h File Reference
+
+
+ +

Decompression functions. +More...

+
#include <stdbool.h>
+#include <stdint.h>
+#include <sys/types.h>
+
+

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  decompressIOVec
 I/O vector. More...
 
+ + + + +

+Typedefs

+typedef ssize_t(* decompressCallback) (void *userdata, void *buffer, size_t size)
 Data callback.
 
+ + + + +

+Enumerations

enum  decompressType {
+  DECOMPRESS_DUMMY = 0x00 +,
+  DECOMPRESS_LZSS = 0x10 +,
+  DECOMPRESS_LZ10 = 0x10 +,
+  DECOMPRESS_LZ11 = 0x11 +,
+  DECOMPRESS_HUFF1 = 0x21 +,
+  DECOMPRESS_HUFF2 = 0x22 +,
+  DECOMPRESS_HUFF3 = 0x23 +,
+  DECOMPRESS_HUFF4 = 0x24 +,
+  DECOMPRESS_HUFF5 = 0x25 +,
+  DECOMPRESS_HUFF6 = 0x26 +,
+  DECOMPRESS_HUFF7 = 0x27 +,
+  DECOMPRESS_HUFF8 = 0x28 +,
+  DECOMPRESS_HUFF = 0x28 +,
+  DECOMPRESS_RLE = 0x30 +
+ }
 Compression types. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

ssize_t decompressCallback_FD (void *userdata, void *buffer, size_t size)
 Decompression callback for file descriptors. More...
 
ssize_t decompressCallback_Stdio (void *userdata, void *buffer, size_t size)
 Decompression callback for stdio FILE*. More...
 
ssize_t decompressHeader (decompressType *type, size_t *size, decompressCallback callback, void *userdata, size_t insize)
 Decode decompression header. More...
 
bool decompressV (const decompressIOVec *iov, size_t iovcnt, decompressCallback callback, void *userdata, size_t insize)
 Decompress data. More...
 
static bool decompress (void *output, size_t size, decompressCallback callback, void *userdata, size_t insize)
 Decompress data. More...
 
bool decompressV_LZSS (const decompressIOVec *iov, size_t iovcnt, decompressCallback callback, void *userdata, size_t insize)
 Decompress LZSS/LZ10. More...
 
static bool decompress_LZSS (void *output, size_t size, decompressCallback callback, void *userdata, size_t insize)
 Decompress LZSS/LZ10. More...
 
bool decompressV_LZ11 (const decompressIOVec *iov, size_t iovcnt, decompressCallback callback, void *userdata, size_t insize)
 Decompress LZ11. More...
 
static bool decompress_LZ11 (void *output, size_t size, decompressCallback callback, void *userdata, size_t insize)
 Decompress LZ11. More...
 
bool decompressV_Huff (size_t bits, const decompressIOVec *iov, size_t iovcnt, decompressCallback callback, void *userdata, size_t insize)
 Decompress Huffman. More...
 
static bool decompress_Huff (size_t bits, void *output, size_t size, decompressCallback callback, void *userdata, size_t insize)
 Decompress Huffman. More...
 
bool decompressV_RLE (const decompressIOVec *iov, size_t iovcnt, decompressCallback callback, void *userdata, size_t insize)
 Decompress run-length encoding. More...
 
static bool decompress_RLE (void *output, size_t size, decompressCallback callback, void *userdata, size_t insize)
 Decompress run-length encoding. More...
 
+

Detailed Description

+

Decompression functions.

+

Enumeration Type Documentation

+ +

◆ decompressType

+ +
+
+ + + + +
enum decompressType
+
+ +

Compression types.

+ + + + + + + + + + + + + + + +
Enumerator
DECOMPRESS_DUMMY 

Dummy compression.

+
DECOMPRESS_LZSS 

LZSS/LZ10 compression.

+
DECOMPRESS_LZ10 

LZSS/LZ10 compression.

+
DECOMPRESS_LZ11 

LZ11 compression.

+
DECOMPRESS_HUFF1 

Huffman compression with 1-bit data.

+
DECOMPRESS_HUFF2 

Huffman compression with 2-bit data.

+
DECOMPRESS_HUFF3 

Huffman compression with 3-bit data.

+
DECOMPRESS_HUFF4 

Huffman compression with 4-bit data.

+
DECOMPRESS_HUFF5 

Huffman compression with 5-bit data.

+
DECOMPRESS_HUFF6 

Huffman compression with 6-bit data.

+
DECOMPRESS_HUFF7 

Huffman compression with 7-bit data.

+
DECOMPRESS_HUFF8 

Huffman compression with 8-bit data.

+
DECOMPRESS_HUFF 

Huffman compression with 8-bit data.

+
DECOMPRESS_RLE 

Run-length encoding compression.

+
+ +
+
+

Function Documentation

+ +

◆ decompress()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool decompress (void * output,
size_t size,
decompressCallback callback,
void * userdata,
size_t insize 
)
+
+inlinestatic
+
+ +

Decompress data.

+
Parameters
+ + + + + + +
[in]outputOutput buffer
[in]sizeOutput size limit
[in]callbackData callback (see decompressV())
[in]userdataUser data passed to callback (see decompressV())
[in]insizeSize of userdata (see decompressV())
+
+
+
Returns
Whether succeeded
+ +
+
+ +

◆ decompress_Huff()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool decompress_Huff (size_t bits,
void * output,
size_t size,
decompressCallback callback,
void * userdata,
size_t insize 
)
+
+inlinestatic
+
+ +

Decompress Huffman.

+
Parameters
+ + + + + + + +
[in]bitsData size in bits (usually 4 or 8)
[in]outputOutput buffer
[in]sizeOutput size limit
[in]callbackData callback (see decompressV())
[in]userdataUser data passed to callback (see decompressV())
[in]insizeSize of userdata (see decompressV())
+
+
+
Returns
Whether succeeded
+ +
+
+ +

◆ decompress_LZ11()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool decompress_LZ11 (void * output,
size_t size,
decompressCallback callback,
void * userdata,
size_t insize 
)
+
+inlinestatic
+
+ +

Decompress LZ11.

+
Parameters
+ + + + + + +
[in]outputOutput buffer
[in]sizeOutput size limit
[in]callbackData callback (see decompressV())
[in]userdataUser data passed to callback (see decompressV())
[in]insizeSize of userdata (see decompressV())
+
+
+
Returns
Whether succeeded
+ +
+
+ +

◆ decompress_LZSS()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool decompress_LZSS (void * output,
size_t size,
decompressCallback callback,
void * userdata,
size_t insize 
)
+
+inlinestatic
+
+ +

Decompress LZSS/LZ10.

+
Parameters
+ + + + + + +
[in]outputOutput buffer
[in]sizeOutput size limit
[in]callbackData callback (see decompressV())
[in]userdataUser data passed to callback (see decompressV())
[in]insizeSize of userdata (see decompressV())
+
+
+
Returns
Whether succeeded
+ +
+
+ +

◆ decompress_RLE()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
static bool decompress_RLE (void * output,
size_t size,
decompressCallback callback,
void * userdata,
size_t insize 
)
+
+inlinestatic
+
+ +

Decompress run-length encoding.

+
Parameters
+ + + + + + +
[in]outputOutput buffer
[in]sizeOutput size limit
[in]callbackData callback (see decompressV())
[in]userdataUser data passed to callback (see decompressV())
[in]insizeSize of userdata (see decompressV())
+
+
+
Returns
Whether succeeded
+ +
+
+ +

◆ decompressCallback_FD()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ssize_t decompressCallback_FD (void * userdata,
void * buffer,
size_t size 
)
+
+ +

Decompression callback for file descriptors.

+
Parameters
+ + + + +
[in]userdataAddress of file descriptor
[in]bufferBuffer to write into
[in]sizeSize to read from file descriptor
+
+
+
Returns
Number of bytes read
+ +
+
+ +

◆ decompressCallback_Stdio()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
ssize_t decompressCallback_Stdio (void * userdata,
void * buffer,
size_t size 
)
+
+ +

Decompression callback for stdio FILE*.

+
Parameters
+ + + + +
[in]userdataFILE*
[in]bufferBuffer to write into
[in]sizeSize to read from file descriptor
+
+
+
Returns
Number of bytes read
+ +
+
+ +

◆ decompressHeader()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ssize_t decompressHeader (decompressTypetype,
size_t * size,
decompressCallback callback,
void * userdata,
size_t insize 
)
+
+ +

Decode decompression header.

+
Parameters
+ + + + + + +
[out]typeDecompression type
[out]sizeDecompressed size
[in]callbackData callback (see decompressV())
[in]userdataUser data passed to callback (see decompressV())
[in]insizeSize of userdata (see decompressV())
+
+
+
Returns
Bytes consumed
+
Return values
+ + +
-1error
+
+
+ +
+
+ +

◆ decompressV()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool decompressV (const decompressIOVeciov,
size_t iovcnt,
decompressCallback callback,
void * userdata,
size_t insize 
)
+
+ +

Decompress data.

+
Parameters
+ + + + + + +
[in]iovOutput vector
[in]iovcntNumber of buffers
[in]callbackData callback (see note)
[in]userdataUser data passed to callback (see note)
[in]insizeSize of userdata (see note)
+
+
+
Returns
Whether succeeded
+
Note
If callback is null, userdata is a pointer to memory to read from, and insize is the size of that data. If callback is not null, userdata is passed to callback to fetch more data, and insize is unused.
+ +
+
+ +

◆ decompressV_Huff()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool decompressV_Huff (size_t bits,
const decompressIOVeciov,
size_t iovcnt,
decompressCallback callback,
void * userdata,
size_t insize 
)
+
+ +

Decompress Huffman.

+
Parameters
+ + + + + + + +
[in]bitsData size in bits (usually 4 or 8)
[in]iovOutput vector
[in]iovcntNumber of buffers
[in]callbackData callback (see decompressV())
[in]userdataUser data passed to callback (see decompressV())
[in]insizeSize of userdata (see decompressV())
+
+
+
Returns
Whether succeeded
+ +
+
+ +

◆ decompressV_LZ11()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool decompressV_LZ11 (const decompressIOVeciov,
size_t iovcnt,
decompressCallback callback,
void * userdata,
size_t insize 
)
+
+ +

Decompress LZ11.

+
Parameters
+ + + + + + +
[in]iovOutput vector
[in]iovcntNumber of buffers
[in]callbackData callback (see decompressV())
[in]userdataUser data passed to callback (see decompressV())
[in]insizeSize of userdata (see decompressV())
+
+
+
Returns
Whether succeeded
+ +
+
+ +

◆ decompressV_LZSS()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool decompressV_LZSS (const decompressIOVeciov,
size_t iovcnt,
decompressCallback callback,
void * userdata,
size_t insize 
)
+
+ +

Decompress LZSS/LZ10.

+
Parameters
+ + + + + + +
[in]iovOutput vector
[in]iovcntNumber of buffers
[in]callbackData callback (see decompressV())
[in]userdataUser data passed to callback (see decompressV())
[in]insizeSize of userdata (see decompressV())
+
+
+
Returns
Whether succeeded
+ +
+
+ +

◆ decompressV_RLE()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool decompressV_RLE (const decompressIOVeciov,
size_t iovcnt,
decompressCallback callback,
void * userdata,
size_t insize 
)
+
+ +

Decompress run-length encoding.

+
Parameters
+ + + + + + +
[in]iovOutput vector
[in]iovcntNumber of buffers
[in]callbackData callback (see decompressV())
[in]userdataUser data passed to callback (see decompressV())
[in]insizeSize of userdata (see decompressV())
+
+
+
Returns
Whether succeeded
+ +
+
+
+ + + + diff --git a/decompress_8h_source.html b/decompress_8h_source.html new file mode 100644 index 000000000..48c8cfdb2 --- /dev/null +++ b/decompress_8h_source.html @@ -0,0 +1,349 @@ + + + + + + + +libctru: include/3ds/util/decompress.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
decompress.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file decompress.h
+
3  * @brief Decompression functions.
+
4  */
+
5 #pragma once
+
6 
+
7 #include <stdbool.h>
+
8 #include <stdint.h>
+
9 #include <sys/types.h>
+
10 
+
11 /** @brief Compression types */
+
12 typedef enum
+
13 {
+
14  DECOMPRESS_DUMMY = 0x00, ///< Dummy compression
+
15  DECOMPRESS_LZSS = 0x10, ///< LZSS/LZ10 compression
+
16  DECOMPRESS_LZ10 = 0x10, ///< LZSS/LZ10 compression
+
17  DECOMPRESS_LZ11 = 0x11, ///< LZ11 compression
+
18  DECOMPRESS_HUFF1 = 0x21, ///< Huffman compression with 1-bit data
+
19  DECOMPRESS_HUFF2 = 0x22, ///< Huffman compression with 2-bit data
+
20  DECOMPRESS_HUFF3 = 0x23, ///< Huffman compression with 3-bit data
+
21  DECOMPRESS_HUFF4 = 0x24, ///< Huffman compression with 4-bit data
+
22  DECOMPRESS_HUFF5 = 0x25, ///< Huffman compression with 5-bit data
+
23  DECOMPRESS_HUFF6 = 0x26, ///< Huffman compression with 6-bit data
+
24  DECOMPRESS_HUFF7 = 0x27, ///< Huffman compression with 7-bit data
+
25  DECOMPRESS_HUFF8 = 0x28, ///< Huffman compression with 8-bit data
+
26  DECOMPRESS_HUFF = 0x28, ///< Huffman compression with 8-bit data
+
27  DECOMPRESS_RLE = 0x30, ///< Run-length encoding compression
+ +
29 
+
30 /** @brief I/O vector */
+
31 typedef struct
+
32 {
+
33  void *data; ///< I/O buffer
+
34  size_t size; ///< Buffer size
+ +
36 
+
37 /** @brief Data callback */
+
38 typedef ssize_t (*decompressCallback)(void *userdata, void *buffer,
+
39  size_t size);
+
40 
+
41 #ifdef __cplusplus
+
42 extern "C"
+
43 {
+
44 #endif
+
45 
+
46 /** @brief Decompression callback for file descriptors
+
47  * @param[in] userdata Address of file descriptor
+
48  * @param[in] buffer Buffer to write into
+
49  * @param[in] size Size to read from file descriptor
+
50  * @returns Number of bytes read
+
51  */
+
52 ssize_t decompressCallback_FD(void *userdata, void *buffer, size_t size);
+
53 
+
54 /** @brief Decompression callback for stdio FILE*
+
55  * @param[in] userdata FILE*
+
56  * @param[in] buffer Buffer to write into
+
57  * @param[in] size Size to read from file descriptor
+
58  * @returns Number of bytes read
+
59  */
+
60 ssize_t decompressCallback_Stdio(void *userdata, void *buffer, size_t size);
+
61 
+
62 /** @brief Decode decompression header
+
63  * @param[out] type Decompression type
+
64  * @param[out] size Decompressed size
+
65  * @param[in] callback Data callback (see decompressV())
+
66  * @param[in] userdata User data passed to callback (see decompressV())
+
67  * @param[in] insize Size of userdata (see decompressV())
+
68  * @returns Bytes consumed
+
69  * @retval -1 error
+
70  */
+
71 ssize_t decompressHeader(decompressType *type, size_t *size,
+
72  decompressCallback callback, void *userdata,
+
73  size_t insize);
+
74 
+
75 /** @brief Decompress data
+
76  * @param[in] iov Output vector
+
77  * @param[in] iovcnt Number of buffers
+
78  * @param[in] callback Data callback (see note)
+
79  * @param[in] userdata User data passed to callback (see note)
+
80  * @param[in] insize Size of userdata (see note)
+
81  * @returns Whether succeeded
+
82  *
+
83  * @note If callback is null, userdata is a pointer to memory to read from,
+
84  * and insize is the size of that data. If callback is not null,
+
85  * userdata is passed to callback to fetch more data, and insize is
+
86  * unused.
+
87  */
+
88 bool decompressV(const decompressIOVec *iov, size_t iovcnt,
+
89  decompressCallback callback, void *userdata, size_t insize);
+
90 
+
91 /** @brief Decompress data
+
92  * @param[in] output Output buffer
+
93  * @param[in] size Output size limit
+
94  * @param[in] callback Data callback (see decompressV())
+
95  * @param[in] userdata User data passed to callback (see decompressV())
+
96  * @param[in] insize Size of userdata (see decompressV())
+
97  * @returns Whether succeeded
+
98  */
+
99 static inline bool
+
100 decompress(void *output, size_t size, decompressCallback callback,
+
101  void *userdata, size_t insize)
+
102 {
+
103  decompressIOVec iov;
+
104  iov.data = output;
+
105  iov.size = size;
+
106 
+
107  return decompressV(&iov, 1, callback, userdata, insize);
+
108 }
+
109 
+
110 /** @brief Decompress LZSS/LZ10
+
111  * @param[in] iov Output vector
+
112  * @param[in] iovcnt Number of buffers
+
113  * @param[in] callback Data callback (see decompressV())
+
114  * @param[in] userdata User data passed to callback (see decompressV())
+
115  * @param[in] insize Size of userdata (see decompressV())
+
116  * @returns Whether succeeded
+
117  */
+
118 bool decompressV_LZSS(const decompressIOVec *iov, size_t iovcnt,
+
119  decompressCallback callback, void *userdata,
+
120  size_t insize);
+
121 
+
122 /** @brief Decompress LZSS/LZ10
+
123  * @param[in] output Output buffer
+
124  * @param[in] size Output size limit
+
125  * @param[in] callback Data callback (see decompressV())
+
126  * @param[in] userdata User data passed to callback (see decompressV())
+
127  * @param[in] insize Size of userdata (see decompressV())
+
128  * @returns Whether succeeded
+
129  */
+
130 static inline bool
+
131 decompress_LZSS(void *output, size_t size, decompressCallback callback,
+
132  void *userdata, size_t insize)
+
133 {
+
134  decompressIOVec iov;
+
135  iov.data = output;
+
136  iov.size = size;
+
137 
+
138  return decompressV_LZSS(&iov, 1, callback, userdata, insize);
+
139 }
+
140 
+
141 /** @brief Decompress LZ11
+
142  * @param[in] iov Output vector
+
143  * @param[in] iovcnt Number of buffers
+
144  * @param[in] callback Data callback (see decompressV())
+
145  * @param[in] userdata User data passed to callback (see decompressV())
+
146  * @param[in] insize Size of userdata (see decompressV())
+
147  * @returns Whether succeeded
+
148  */
+
149 bool decompressV_LZ11(const decompressIOVec *iov, size_t iovcnt,
+
150  decompressCallback callback, void *userdata,
+
151  size_t insize);
+
152 
+
153 /** @brief Decompress LZ11
+
154  * @param[in] output Output buffer
+
155  * @param[in] size Output size limit
+
156  * @param[in] callback Data callback (see decompressV())
+
157  * @param[in] userdata User data passed to callback (see decompressV())
+
158  * @param[in] insize Size of userdata (see decompressV())
+
159  * @returns Whether succeeded
+
160  */
+
161 static inline bool
+
162 decompress_LZ11(void *output, size_t size, decompressCallback callback,
+
163  void *userdata, size_t insize)
+
164 {
+
165  decompressIOVec iov;
+
166  iov.data = output;
+
167  iov.size = size;
+
168 
+
169  return decompressV_LZ11(&iov, 1, callback, userdata, insize);
+
170 }
+
171 
+
172 /** @brief Decompress Huffman
+
173  * @param[in] bits Data size in bits (usually 4 or 8)
+
174  * @param[in] iov Output vector
+
175  * @param[in] iovcnt Number of buffers
+
176  * @param[in] callback Data callback (see decompressV())
+
177  * @param[in] userdata User data passed to callback (see decompressV())
+
178  * @param[in] insize Size of userdata (see decompressV())
+
179  * @returns Whether succeeded
+
180  */
+
181 bool decompressV_Huff(size_t bits, const decompressIOVec *iov, size_t iovcnt,
+
182  decompressCallback callback, void *userdata,
+
183  size_t insize);
+
184 
+
185 /** @brief Decompress Huffman
+
186  * @param[in] bits Data size in bits (usually 4 or 8)
+
187  * @param[in] output Output buffer
+
188  * @param[in] size Output size limit
+
189  * @param[in] callback Data callback (see decompressV())
+
190  * @param[in] userdata User data passed to callback (see decompressV())
+
191  * @param[in] insize Size of userdata (see decompressV())
+
192  * @returns Whether succeeded
+
193  */
+
194 static inline bool
+
195 decompress_Huff(size_t bits, void *output, size_t size,
+
196  decompressCallback callback, void *userdata, size_t insize)
+
197 {
+
198  decompressIOVec iov;
+
199  iov.data = output;
+
200  iov.size = size;
+
201 
+
202  return decompressV_Huff(bits, &iov, 1, callback, userdata, insize);
+
203 }
+
204 
+
205 /** @brief Decompress run-length encoding
+
206  * @param[in] iov Output vector
+
207  * @param[in] iovcnt Number of buffers
+
208  * @param[in] callback Data callback (see decompressV())
+
209  * @param[in] userdata User data passed to callback (see decompressV())
+
210  * @param[in] insize Size of userdata (see decompressV())
+
211  * @returns Whether succeeded
+
212  */
+
213 bool decompressV_RLE(const decompressIOVec *iov, size_t iovcnt,
+
214  decompressCallback callback, void *userdata,
+
215  size_t insize);
+
216 
+
217 /** @brief Decompress run-length encoding
+
218  * @param[in] output Output buffer
+
219  * @param[in] size Output size limit
+
220  * @param[in] callback Data callback (see decompressV())
+
221  * @param[in] userdata User data passed to callback (see decompressV())
+
222  * @param[in] insize Size of userdata (see decompressV())
+
223  * @returns Whether succeeded
+
224  */
+
225 static inline bool
+
226 decompress_RLE(void *output, size_t size, decompressCallback callback,
+
227  void *userdata, size_t insize)
+
228 {
+
229  decompressIOVec iov;
+
230  iov.data = output;
+
231  iov.size = size;
+
232 
+
233  return decompressV_RLE(&iov, 1, callback, userdata, insize);
+
234 }
+
235 
+
236 #ifdef __cplusplus
+
237 }
+
238 #endif
+
bool decompressV_RLE(const decompressIOVec *iov, size_t iovcnt, decompressCallback callback, void *userdata, size_t insize)
Decompress run-length encoding.
+
static bool decompress_RLE(void *output, size_t size, decompressCallback callback, void *userdata, size_t insize)
Decompress run-length encoding.
Definition: decompress.h:226
+
static bool decompress_LZSS(void *output, size_t size, decompressCallback callback, void *userdata, size_t insize)
Decompress LZSS/LZ10.
Definition: decompress.h:131
+
ssize_t decompressCallback_FD(void *userdata, void *buffer, size_t size)
Decompression callback for file descriptors.
+
ssize_t decompressHeader(decompressType *type, size_t *size, decompressCallback callback, void *userdata, size_t insize)
Decode decompression header.
+
ssize_t decompressCallback_Stdio(void *userdata, void *buffer, size_t size)
Decompression callback for stdio FILE*.
+
bool decompressV_LZ11(const decompressIOVec *iov, size_t iovcnt, decompressCallback callback, void *userdata, size_t insize)
Decompress LZ11.
+
ssize_t(* decompressCallback)(void *userdata, void *buffer, size_t size)
Data callback.
Definition: decompress.h:38
+
static bool decompress_Huff(size_t bits, void *output, size_t size, decompressCallback callback, void *userdata, size_t insize)
Decompress Huffman.
Definition: decompress.h:195
+
bool decompressV_Huff(size_t bits, const decompressIOVec *iov, size_t iovcnt, decompressCallback callback, void *userdata, size_t insize)
Decompress Huffman.
+
bool decompressV(const decompressIOVec *iov, size_t iovcnt, decompressCallback callback, void *userdata, size_t insize)
Decompress data.
+
bool decompressV_LZSS(const decompressIOVec *iov, size_t iovcnt, decompressCallback callback, void *userdata, size_t insize)
Decompress LZSS/LZ10.
+
static bool decompress_LZ11(void *output, size_t size, decompressCallback callback, void *userdata, size_t insize)
Decompress LZ11.
Definition: decompress.h:162
+
static bool decompress(void *output, size_t size, decompressCallback callback, void *userdata, size_t insize)
Decompress data.
Definition: decompress.h:100
+
decompressType
Compression types.
Definition: decompress.h:13
+
@ DECOMPRESS_LZSS
LZSS/LZ10 compression.
Definition: decompress.h:15
+
@ DECOMPRESS_HUFF4
Huffman compression with 4-bit data.
Definition: decompress.h:21
+
@ DECOMPRESS_LZ10
LZSS/LZ10 compression.
Definition: decompress.h:16
+
@ DECOMPRESS_HUFF3
Huffman compression with 3-bit data.
Definition: decompress.h:20
+
@ DECOMPRESS_HUFF2
Huffman compression with 2-bit data.
Definition: decompress.h:19
+
@ DECOMPRESS_HUFF5
Huffman compression with 5-bit data.
Definition: decompress.h:22
+
@ DECOMPRESS_HUFF
Huffman compression with 8-bit data.
Definition: decompress.h:26
+
@ DECOMPRESS_HUFF8
Huffman compression with 8-bit data.
Definition: decompress.h:25
+
@ DECOMPRESS_RLE
Run-length encoding compression.
Definition: decompress.h:27
+
@ DECOMPRESS_DUMMY
Dummy compression.
Definition: decompress.h:14
+
@ DECOMPRESS_LZ11
LZ11 compression.
Definition: decompress.h:17
+
@ DECOMPRESS_HUFF7
Huffman compression with 7-bit data.
Definition: decompress.h:24
+
@ DECOMPRESS_HUFF6
Huffman compression with 6-bit data.
Definition: decompress.h:23
+
@ DECOMPRESS_HUFF1
Huffman compression with 1-bit data.
Definition: decompress.h:18
+
I/O vector.
Definition: decompress.h:32
+
size_t size
Buffer size.
Definition: decompress.h:34
+
void * data
I/O buffer.
Definition: decompress.h:33
+
+ + + + diff --git a/deprecated.html b/deprecated.html new file mode 100644 index 000000000..7ba65da2d --- /dev/null +++ b/deprecated.html @@ -0,0 +1,82 @@ + + + + + + + +libctru: Deprecated List + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
Deprecated List
+
+
+
+
Global aptIsHomePressed (void)
+
Alias for aptCheckHomePressRejected.
+
Global gfxConfigScreen (gfxScreen_t scr, bool immediate)
+
This function has been superseded by gfxScreenSwapBuffers, please use that instead.
+
+
+
+ + + + diff --git a/dir_0e005207343684f6967052d1f51a7e66.html b/dir_0e005207343684f6967052d1f51a7e66.html new file mode 100644 index 000000000..ee5fe45ab --- /dev/null +++ b/dir_0e005207343684f6967052d1f51a7e66.html @@ -0,0 +1,215 @@ + + + + + + + +libctru: include/3ds/services Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
services Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  ac.h [code]
 AC service.
 
file  am.h [code]
 AM (Application Manager) service.
 
file  ampxi.h [code]
 AMPXI service.
 
file  apt.h [code]
 APT (Applet) service.
 
file  boss.h [code]
 BOSS service, see also: https://www.3dbrew.org/wiki/BOSS_Services.
 
file  cam.h [code]
 CAM service for using the 3DS's front and back cameras.
 
file  cdcchk.h [code]
 CODEC Hardware Check service.
 
file  cfgnor.h [code]
 CFGNOR service.
 
file  cfgu.h [code]
 CFGU (Configuration) Service.
 
file  csnd.h [code]
 CSND service.
 
file  dsp.h [code]
 DSP Service to access the DSP processor commands (sound)
 
file  frd.h [code]
 Friend Services.
 
file  fs.h [code]
 Filesystem Services.
 
file  fspxi.h [code]
 Service interface for PxiFS services.
 
file  gspgpu.h [code]
 GSPGPU service.
 
file  gsplcd.h [code]
 GSPLCD service.
 
file  hid.h [code]
 HID service.
 
file  httpc.h [code]
 HTTP service.
 
file  ir.h [code]
 IR service.
 
file  irrst.h [code]
 IRRST service.
 
file  loader.h [code]
 LOADER Service.
 
file  mcuhwc.h [code]
 mcuHwc service.
 
file  mic.h [code]
 MIC (Microphone) service.
 
file  mvd.h [code]
 MVD service.
 
file  ndm.h [code]
 NDMU service.
 
file  news.h [code]
 NEWS (Notification) service.
 
file  nfc.h [code]
 NFC service.
 
file  nim.h [code]
 NIM (network installation management) service.
 
file  ns.h [code]
 NS (Nintendo Shell) service.
 
file  pmapp.h [code]
 PM (Process Manager) application service.
 
file  pmdbg.h [code]
 PM (Process Manager) debug service.
 
file  ps.h [code]
 PS service.
 
file  ptmgets.h [code]
 PTMGETS service.
 
file  ptmsets.h [code]
 PTMSETS service.
 
file  ptmsysm.h [code]
 PTMSYSM service.
 
file  ptmu.h [code]
 PTMU service.
 
file  pxidev.h [code]
 Gamecard PXI service.
 
file  pxipm.h [code]
 Process Manager PXI service.
 
file  qtm.h [code]
 QTM service.
 
file  soc.h [code]
 SOC service for sockets communications.
 
file  srvpm.h [code]
 srv:pm service.
 
file  sslc.h [code]
 SSLC(TLS) service.
 
file  uds.h [code]
 UDS(NWMUDS) local-WLAN service.
 
file  y2r.h [code]
 Y2R service for hardware YUV->RGB conversions.
 
+
+ + + + diff --git a/dir_0f128149b5f0edcc1e84fa1d13781a04.html b/dir_0f128149b5f0edcc1e84fa1d13781a04.html new file mode 100644 index 000000000..7da9f5e16 --- /dev/null +++ b/dir_0f128149b5f0edcc1e84fa1d13781a04.html @@ -0,0 +1,101 @@ + + + + + + + +libctru: include/3ds/gpu Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
gpu Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Files

file  enums.h [code]
 GPU enumeration values.
 
file  gpu.h [code]
 Barebones GPU communications driver.
 
file  gx.h [code]
 GX commands.
 
file  registers.h [code]
 @description GPU registers.
 
file  shaderProgram.h [code]
 Functions for working with shaders.
 
file  shbin.h [code]
 Shader binary support.
 
+
+ + + + diff --git a/dir_1b1aef9f2527d990c50369cf62d7d9a1.html b/dir_1b1aef9f2527d990c50369cf62d7d9a1.html new file mode 100644 index 000000000..137a34cd8 --- /dev/null +++ b/dir_1b1aef9f2527d990c50369cf62d7d9a1.html @@ -0,0 +1,92 @@ + + + + + + + +libctru: include/3ds/util Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
util Directory Reference
+
+
+ + + + + + + + + + + +

+Files

file  decompress.h [code]
 Decompression functions.
 
file  rbtree.h [code]
 Red-black trees.
 
file  utf.h [code]
 UTF conversion functions.
 
+
+ + + + diff --git a/dir_1c7e2ffa4b11c2c27de6db7f8722520d.html b/dir_1c7e2ffa4b11c2c27de6db7f8722520d.html new file mode 100644 index 000000000..d08397ccb --- /dev/null +++ b/dir_1c7e2ffa4b11c2c27de6db7f8722520d.html @@ -0,0 +1,92 @@ + + + + + + + +libctru: include/3ds/applets Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
applets Directory Reference
+
+
+ + + + + + + + + + + +

+Files

file  error.h [code]
 Error applet.
 
file  miiselector.h [code]
 Mii Selector Applet (appletEd).
 
file  swkbd.h [code]
 Software keyboard applet.
 
+
+ + + + diff --git a/dir_317ea3797c15f4a1d9c156bc812661ca.html b/dir_317ea3797c15f4a1d9c156bc812661ca.html new file mode 100644 index 000000000..37629ccd9 --- /dev/null +++ b/dir_317ea3797c15f4a1d9c156bc812661ca.html @@ -0,0 +1,79 @@ + + + + + + + +libctru: include/sys Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
sys Directory Reference
+
+
+
+ + + + diff --git a/dir_6dafe9e8493a4966457f520acc17aa32.html b/dir_6dafe9e8493a4966457f520acc17aa32.html new file mode 100644 index 000000000..06fbba831 --- /dev/null +++ b/dir_6dafe9e8493a4966457f520acc17aa32.html @@ -0,0 +1,92 @@ + + + + + + + +libctru: include/3ds/allocator Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
allocator Directory Reference
+
+
+ + + + + + + + + + + +

+Files

file  linear.h [code]
 Linear memory allocator.
 
file  mappable.h [code]
 Mappable memory allocator.
 
file  vram.h [code]
 VRAM allocator.
 
+
+ + + + diff --git a/dir_953d82d0b36b92ff36f0c21b90fa146f.html b/dir_953d82d0b36b92ff36f0c21b90fa146f.html new file mode 100644 index 000000000..9c738fefc --- /dev/null +++ b/dir_953d82d0b36b92ff36f0c21b90fa146f.html @@ -0,0 +1,89 @@ + + + + + + + +libctru: include/3ds/ndsp Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ndsp Directory Reference
+
+
+ + + + + + + + +

+Files

file  channel.h [code]
 Functions for interacting with DSP audio channels.
 
file  ndsp.h [code]
 Interface for Nintendo's default DSP component.
 
+
+ + + + diff --git a/dir_a31f4157c8426a01402443a71f1cf774.html b/dir_a31f4157c8426a01402443a71f1cf774.html new file mode 100644 index 000000000..58372dc95 --- /dev/null +++ b/dir_a31f4157c8426a01402443a71f1cf774.html @@ -0,0 +1,79 @@ + + + + + + + +libctru: include/arpa Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
arpa Directory Reference
+
+
+
+ + + + diff --git a/dir_d0a04a149c821e4e65be9315f86ccf56.html b/dir_d0a04a149c821e4e65be9315f86ccf56.html new file mode 100644 index 000000000..8bfdd0ea7 --- /dev/null +++ b/dir_d0a04a149c821e4e65be9315f86ccf56.html @@ -0,0 +1,79 @@ + + + + + + + +libctru: include/netinet Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
netinet Directory Reference
+
+
+
+ + + + diff --git a/dir_d44c64559bbebec7f509842c48db8b23.html b/dir_d44c64559bbebec7f509842c48db8b23.html new file mode 100644 index 000000000..2ad2cba23 --- /dev/null +++ b/dir_d44c64559bbebec7f509842c48db8b23.html @@ -0,0 +1,89 @@ + + + + + + + +libctru: include Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
include Directory Reference
+
+
+ + +

+Directories

+ + + + +

+Files

file  3ds.h [code]
 Central 3DS header.
 
+
+ + + + diff --git a/dir_d475325f6a9fe3bfc3a495c72a9e475e.html b/dir_d475325f6a9fe3bfc3a495c72a9e475e.html new file mode 100644 index 000000000..7c99f4439 --- /dev/null +++ b/dir_d475325f6a9fe3bfc3a495c72a9e475e.html @@ -0,0 +1,146 @@ + + + + + + + +libctru: include/3ds Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
3ds Directory Reference
+
+
+ + +

+Directories

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

 
file  archive.h [code]
 FS_Archive driver.
 
file  console.h [code]
 3ds stdio support.
 
file  env.h [code]
 Homebrew environment information.
 
file  errf.h [code]
 Error Display API.
 
file  exheader.h [code]
 NCCH extended header definitions.
 
file  font.h [code]
 Shared font support.
 
file  gdbhio.h [code]
 Luma3DS GDB HIO (called File I/O in GDB documentation) functions.
 
file  gdbhio_dev.h [code]
 Luma3DS GDB HIO (called File I/O in GDB documentation) devoptab wrapper.
 
file  gfx.h [code]
 Simple framebuffer API.
 
file  ipc.h [code]
 Inter Process Communication helpers.
 
file  mii.h [code]
 Shared Mii struct.
 
file  os.h [code]
 OS related stuff.
 
file  result.h [code]
 3DS result code tools
 
file  romfs.h [code]
 RomFS driver.
 
file  srv.h [code]
 Service API.
 
file  svc.h [code]
 Syscall wrappers.
 
file  synchronization.h [code]
 Provides synchronization locks.
 
file  thread.h [code]
 Provides functions to use threads.
 
file  types.h [code]
 Various system types.
 
+
+ + + + diff --git a/doc.png b/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501 GIT binary patch literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t literal 0 HcmV?d00001 diff --git a/doxygen.css b/doxygen.css new file mode 100644 index 000000000..ffbff0224 --- /dev/null +++ b/doxygen.css @@ -0,0 +1,1793 @@ +/* The standard CSS for doxygen 1.9.1 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +th p.starttd, th p.intertd, th p.endtd { + font-size: 100%; + font-weight: 700; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.navtab { + border-right: 1px solid #A3B4D7; + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} +td.navtabHL { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; + width: 100%; + line-height: 140%; + font-size: 130%; + color: #A0A0A0; +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: black; +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.odd { + background-color: #F8F9FC; +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +.contents a.qindexHL:visited { + color: #FFFFFF; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul { + overflow: hidden; /*Fixed: list item bullets overlap floating elements*/ +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #FFFFFF; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +blockquote.DocNodeRTL { + border-left: 0; + border-right: 2px solid #9CAFD4; + margin: 0 4px 0 24px; + padding: 0 16px 0 12px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight, .memTemplItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.section.DocNodeRTL { + margin-right: 0px; + padding-right: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.note.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.deprecated.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.todo.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.test.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +dl.bug.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; +} + +dl.citelist dd { + margin:2px 0 2px 72px; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +.PageDocRTL-title div.toc { + float: left !important; + text-align: right; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +.PageDocRTL-title div.toc li { + background-position-x: right !important; + padding-left: 0 !important; + padding-right: 10px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + +.PageDocRTL-title div.toc li.level1 { + margin-left: 0 !important; + margin-right: 0; +} + +.PageDocRTL-title div.toc li.level2 { + margin-left: 0 !important; + margin-right: 15px; +} + +.PageDocRTL-title div.toc li.level3 { + margin-left: 0 !important; + margin-right: 30px; +} + +.PageDocRTL-title div.toc li.level4 { + margin-left: 0 !important; + margin-right: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +.DocNodeRTL { + text-align: right; + direction: rtl; +} + +.DocNodeLTR { + text-align: left; + direction: ltr; +} + +table.DocNodeRTL { + width: auto; + margin-right: 0; + margin-left: auto; +} + +table.DocNodeLTR { + width: auto; + margin-right: auto; + margin-left: 0; +} + +tt, code, kbd, samp +{ + display: inline-block; + direction:ltr; +} +/* @end */ + +u { + text-decoration: underline; +} + diff --git a/doxygen.svg b/doxygen.svg new file mode 100644 index 000000000..d42dad52d --- /dev/null +++ b/doxygen.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dsp_8h.html b/dsp_8h.html new file mode 100644 index 000000000..eeaf9ad74 --- /dev/null +++ b/dsp_8h.html @@ -0,0 +1,920 @@ + + + + + + + +libctru: include/3ds/services/dsp.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
dsp.h File Reference
+
+
+ +

DSP Service to access the DSP processor commands (sound) +More...

+
#include <3ds/types.h>
+
+

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  dspHookCookie
 DSP hook cookie. More...
 
+ + + + +

+Typedefs

+typedef void(* dspHookFn) (DSP_HookType hook)
 DSP hook function.
 
+ + + + + + + +

+Enumerations

enum  DSP_InterruptType { DSP_INTERRUPT_PIPE = 2 + }
 DSP interrupt types. More...
 
enum  DSP_HookType {
+  DSPHOOK_ONSLEEP = 0 +,
+  DSPHOOK_ONWAKEUP = 1 +,
+  DSPHOOK_ONCANCEL = 2 +
+ }
 DSP hook types. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

Result dspInit (void)
 Initializes the dsp service. More...
 
void dspExit (void)
 Closes the dsp service. More...
 
+bool dspIsComponentLoaded (void)
 Returns true if a component is loaded, false otherwise.
 
void dspHook (dspHookCookie *cookie, dspHookFn callback)
 Sets up a DSP status hook. More...
 
void dspUnhook (dspHookCookie *cookie)
 Removes a DSP status hook. More...
 
Result DSP_GetHeadphoneStatus (bool *is_inserted)
 Checks if a headphone is inserted. More...
 
Result DSP_FlushDataCache (const void *address, u32 size)
 Flushes the cache. More...
 
Result DSP_InvalidateDataCache (const void *address, u32 size)
 Invalidates the cache. More...
 
Result DSP_GetSemaphoreHandle (Handle *semaphore)
 Retrieves the handle of the DSP semaphore. More...
 
Result DSP_SetSemaphore (u16 value)
 Sets the DSP hardware semaphore value. More...
 
Result DSP_SetSemaphoreMask (u16 mask)
 Masks the DSP hardware semaphore value. More...
 
Result DSP_LoadComponent (const void *component, u32 size, u16 prog_mask, u16 data_mask, bool *is_loaded)
 Loads a DSP binary and starts the DSP. More...
 
+Result DSP_UnloadComponent (void)
 Stops the DSP by unloading the binary.
 
Result DSP_RegisterInterruptEvents (Handle handle, u32 interrupt, u32 channel)
 Registers an event handle with the DSP through IPC. More...
 
Result DSP_ReadPipeIfPossible (u32 channel, u32 peer, void *buffer, u16 length, u16 *length_read)
 Reads a pipe if possible. More...
 
Result DSP_WriteProcessPipe (u32 channel, const void *buffer, u32 length)
 Writes to a pipe. More...
 
Result DSP_ConvertProcessAddressFromDspDram (u32 dsp_address, u32 *arm_address)
 Converts a DSP memory address to a virtual address usable by the process. More...
 
Result DSP_RecvData (u16 regNo, u16 *value)
 Reads a DSP register. More...
 
Result DSP_RecvDataIsReady (u16 regNo, bool *is_ready)
 Checks if you can read a DSP register. More...
 
Result DSP_SendData (u16 regNo, u16 value)
 Writes to a DSP register. More...
 
Result DSP_SendDataIsEmpty (u16 regNo, bool *is_empty)
 Checks if you can write to a DSP register ? More...
 
+

Detailed Description

+

DSP Service to access the DSP processor commands (sound)

+

The DSP has access to the Linear memory region, and to the DSP memory region if allowed in the exheader.

+

Enumeration Type Documentation

+ +

◆ DSP_HookType

+ +
+
+ + + + +
enum DSP_HookType
+
+ +

DSP hook types.

+ + + + +
Enumerator
DSPHOOK_ONSLEEP 

DSP is going to sleep.

+
DSPHOOK_ONWAKEUP 

DSP is waking up.

+
DSPHOOK_ONCANCEL 

DSP was sleeping and the app was cancelled.

+
+ +
+
+ +

◆ DSP_InterruptType

+ +
+
+ + + + +
enum DSP_InterruptType
+
+ +

DSP interrupt types.

+ + +
Enumerator
DSP_INTERRUPT_PIPE 

Pipe interrupt.

+
+ +
+
+

Function Documentation

+ +

◆ DSP_ConvertProcessAddressFromDspDram()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result DSP_ConvertProcessAddressFromDspDram (u32 dsp_address,
u32arm_address 
)
+
+ +

Converts a DSP memory address to a virtual address usable by the process.

+
Parameters
+ + + +
dsp_addressAddress to convert.
arm_addressPointer to output the converted address to.
+
+
+ +
+
+ +

◆ DSP_FlushDataCache()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result DSP_FlushDataCache (const void * address,
u32 size 
)
+
+ +

Flushes the cache.

+
Parameters
+ + + +
addressBeginning of the memory range to flush, inside the Linear or DSP memory regions
sizeSize of the memory range to flush
+
+
+

Flushes the cache for the specified memory range and invalidates the cache

+
Examples
audio/filters/source/main.c, and audio/streaming/source/main.c.
+
+ +
+
+ +

◆ DSP_GetHeadphoneStatus()

+ +
+
+ + + + + + + + +
Result DSP_GetHeadphoneStatus (bool * is_inserted)
+
+ +

Checks if a headphone is inserted.

+
Parameters
+ + +
is_insertedPointer to output the insertion status to.
+
+
+ +
+
+ +

◆ DSP_GetSemaphoreHandle()

+ +
+
+ + + + + + + + +
Result DSP_GetSemaphoreHandle (Handlesemaphore)
+
+ +

Retrieves the handle of the DSP semaphore.

+
Parameters
+ + +
semaphorePointer to output the semaphore to.
+
+
+ +
+
+ +

◆ DSP_InvalidateDataCache()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result DSP_InvalidateDataCache (const void * address,
u32 size 
)
+
+ +

Invalidates the cache.

+
Parameters
+ + + +
addressBeginning of the memory range to invalidate, inside the Linear or DSP memory regions
sizeSize of the memory range to flush
+
+
+

Invalidates the cache for the specified memory range

+ +
+
+ +

◆ DSP_LoadComponent()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result DSP_LoadComponent (const void * component,
u32 size,
u16 prog_mask,
u16 data_mask,
bool * is_loaded 
)
+
+ +

Loads a DSP binary and starts the DSP.

+
Parameters
+ + + + + + +
componentThe program file address in memory
sizeThe size of the program
prog_maskDSP memory block related ? Default is 0xff.
data_maskDSP memory block related ? Default is 0xff.
is_loadedIndicates if the DSP was succesfully loaded.
+
+
+
Note
The binary must be signed (http://3dbrew.org/wiki/DSP_Binary)
+
+Seems to be called when the 3ds leaves the Sleep mode
+ +
+
+ +

◆ DSP_ReadPipeIfPossible()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result DSP_ReadPipeIfPossible (u32 channel,
u32 peer,
void * buffer,
u16 length,
u16length_read 
)
+
+ +

Reads a pipe if possible.

+
Parameters
+ + + + + + +
channelunknown. Usually 2
peerunknown. Usually 0
bufferThe buffer that will store the values read from the pipe
lengthLength of the buffer
length_readNumber of bytes read by the command
+
+
+ +
+
+ +

◆ DSP_RecvData()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result DSP_RecvData (u16 regNo,
u16value 
)
+
+ +

Reads a DSP register.

+
Parameters
+ + + +
regNoOffset of the hardware register, base address is 0x1EC40000
valuePointer to read the register value to.
+
+
+ +
+
+ +

◆ DSP_RecvDataIsReady()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result DSP_RecvDataIsReady (u16 regNo,
bool * is_ready 
)
+
+ +

Checks if you can read a DSP register.

+
Parameters
+ + + +
regNoOffset of the hardware register, base address is 0x1EC40000
is_readyPointer to write the ready status to.
+
+
+
Warning
This call might hang if the data is not ready. See DSP_SendDataIsEmpty.
+ +
+
+ +

◆ DSP_RegisterInterruptEvents()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result DSP_RegisterInterruptEvents (Handle handle,
u32 interrupt,
u32 channel 
)
+
+ +

Registers an event handle with the DSP through IPC.

+
Parameters
+ + + + +
handleEvent handle to register.
interruptThe type of interrupt that will trigger the event. Usual value is DSP_INTERRUPT_PIPE.
channelThe pipe channel. Usual value is 2
+
+
+
Note
It is possible that interrupt are inverted
+ +
+
+ +

◆ DSP_SendData()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result DSP_SendData (u16 regNo,
u16 value 
)
+
+ +

Writes to a DSP register.

+
Parameters
+ + + +
regNoOffset of the hardware register, base address is 0x1EC40000
valueValue to write.
+
+
+
Warning
This call might hang if the SendData is not empty. See DSP_SendDataIsEmpty.
+ +
+
+ +

◆ DSP_SendDataIsEmpty()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result DSP_SendDataIsEmpty (u16 regNo,
bool * is_empty 
)
+
+ +

Checks if you can write to a DSP register ?

+
Parameters
+ + + +
regNoOffset of the hardware register, base address is 0x1EC40000
is_emptyPointer to write the empty status to.
+
+
+ +
+
+ +

◆ DSP_SetSemaphore()

+ +
+
+ + + + + + + + +
Result DSP_SetSemaphore (u16 value)
+
+ +

Sets the DSP hardware semaphore value.

+
Parameters
+ + +
valueValue to set.
+
+
+ +
+
+ +

◆ DSP_SetSemaphoreMask()

+ +
+
+ + + + + + + + +
Result DSP_SetSemaphoreMask (u16 mask)
+
+ +

Masks the DSP hardware semaphore value.

+
Parameters
+ + +
maskMask to apply.
+
+
+ +
+
+ +

◆ DSP_WriteProcessPipe()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result DSP_WriteProcessPipe (u32 channel,
const void * buffer,
u32 length 
)
+
+ +

Writes to a pipe.

+
Parameters
+ + + + +
channelunknown. Usually 2
bufferThe message to send to the DSP process
lengthLength of the message
+
+
+ +
+
+ +

◆ dspExit()

+ +
+
+ + + + + + + + +
void dspExit (void )
+
+ +

Closes the dsp service.

+
Note
This will also unload the DSP binary.
+ +
+
+ +

◆ dspHook()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void dspHook (dspHookCookiecookie,
dspHookFn callback 
)
+
+ +

Sets up a DSP status hook.

+
Parameters
+ + + +
cookieHook cookie to use.
callbackFunction to call when DSP's status changes.
+
+
+ +
+
+ +

◆ dspInit()

+ +
+
+ + + + + + + + +
Result dspInit (void )
+
+ +

Initializes the dsp service.

+

Call this before calling any DSP_* function.

Note
This will also unload any previously loaded DSP binary. It is done this way since you have to provide your binary when the 3DS leaves sleep mode anyway.
+ +
+
+ +

◆ dspUnhook()

+ +
+
+ + + + + + + + +
void dspUnhook (dspHookCookiecookie)
+
+ +

Removes a DSP status hook.

+
Parameters
+ + +
cookieHook cookie to remove.
+
+
+ +
+
+
+ + + + diff --git a/dsp_8h_source.html b/dsp_8h_source.html new file mode 100644 index 000000000..36b6a6ad3 --- /dev/null +++ b/dsp_8h_source.html @@ -0,0 +1,303 @@ + + + + + + + +libctru: include/3ds/services/dsp.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
dsp.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file dsp.h
+
3  * @brief DSP Service to access the DSP processor commands (sound)
+
4  *
+
5  * The DSP has access to the Linear memory region, and to the DSP memory region if allowed in the exheader.
+
6  */
+
7 #pragma once
+
8 #include <3ds/types.h>
+
9 
+
10 /// DSP interrupt types.
+
11 typedef enum
+
12 {
+
13  DSP_INTERRUPT_PIPE = 2 ///< Pipe interrupt.
+ +
15 
+
16 /// DSP hook types.
+
17 typedef enum
+
18 {
+
19  DSPHOOK_ONSLEEP = 0, ///< DSP is going to sleep.
+
20  DSPHOOK_ONWAKEUP = 1, ///< DSP is waking up.
+
21  DSPHOOK_ONCANCEL = 2, ///< DSP was sleeping and the app was cancelled.
+
22 } DSP_HookType;
+
23 
+
24 /// DSP hook function.
+
25 typedef void (* dspHookFn)(DSP_HookType hook);
+
26 
+
27 /// DSP hook cookie.
+
28 typedef struct tag_dspHookCookie
+
29 {
+
30  struct tag_dspHookCookie* next; ///< Next cookie.
+
31  dspHookFn callback; ///< Hook callback.
+ +
33 
+
34 /**
+
35  * @brief Initializes the dsp service.
+
36  *
+
37  * Call this before calling any DSP_* function.
+
38  * @note This will also unload any previously loaded DSP binary.
+
39  * It is done this way since you have to provide your binary when the 3DS leaves sleep mode anyway.
+
40  */
+ +
42 
+
43 /**
+
44  * @brief Closes the dsp service.
+
45  * @note This will also unload the DSP binary.
+
46  */
+
47 void dspExit(void);
+
48 
+
49 /// Returns true if a component is loaded, false otherwise.
+ +
51 
+
52 /**
+
53  * @brief Sets up a DSP status hook.
+
54  * @param cookie Hook cookie to use.
+
55  * @param callback Function to call when DSP's status changes.
+
56  */
+
57 void dspHook(dspHookCookie* cookie, dspHookFn callback);
+
58 
+
59 /**
+
60  * @brief Removes a DSP status hook.
+
61  * @param cookie Hook cookie to remove.
+
62  */
+
63 void dspUnhook(dspHookCookie* cookie);
+
64 
+
65 /**
+
66  * @brief Checks if a headphone is inserted.
+
67  * @param is_inserted Pointer to output the insertion status to.
+
68  */
+
69 Result DSP_GetHeadphoneStatus(bool* is_inserted);
+
70 
+
71 /**
+
72  * @brief Flushes the cache
+
73  * @param address Beginning of the memory range to flush, inside the Linear or DSP memory regions
+
74  * @param size Size of the memory range to flush
+
75  *
+
76  * Flushes the cache for the specified memory range and invalidates the cache
+
77  */
+
78 Result DSP_FlushDataCache(const void* address, u32 size);
+
79 
+
80 /**
+
81  * @brief Invalidates the cache
+
82  * @param address Beginning of the memory range to invalidate, inside the Linear or DSP memory regions
+
83  * @param size Size of the memory range to flush
+
84  *
+
85  * Invalidates the cache for the specified memory range
+
86  */
+
87 Result DSP_InvalidateDataCache(const void* address, u32 size);
+
88 
+
89 /**
+
90  * @brief Retrieves the handle of the DSP semaphore.
+
91  * @param semaphore Pointer to output the semaphore to.
+
92  */
+ +
94 
+
95 /**
+
96  * @brief Sets the DSP hardware semaphore value.
+
97  * @param value Value to set.
+
98  */
+ +
100 
+
101 /**
+
102  * @brief Masks the DSP hardware semaphore value.
+
103  * @param mask Mask to apply.
+
104  */
+ +
106 
+
107 /**
+
108  * @brief Loads a DSP binary and starts the DSP
+
109  * @param component The program file address in memory
+
110  * @param size The size of the program
+
111  * @param prog_mask DSP memory block related ? Default is 0xff.
+
112  * @param data_mask DSP memory block related ? Default is 0xff.
+
113  * @param is_loaded Indicates if the DSP was succesfully loaded.
+
114  *
+
115  * @note The binary must be signed (http://3dbrew.org/wiki/DSP_Binary)
+
116  * @note Seems to be called when the 3ds leaves the Sleep mode
+
117  */
+
118 Result DSP_LoadComponent(const void* component, u32 size, u16 prog_mask, u16 data_mask, bool* is_loaded);
+
119 
+
120 ///Stops the DSP by unloading the binary.
+ +
122 
+
123 /**
+
124  * @brief Registers an event handle with the DSP through IPC
+
125  * @param handle Event handle to register.
+
126  * @param interrupt The type of interrupt that will trigger the event. Usual value is DSP_INTERRUPT_PIPE.
+
127  * @param channel The pipe channel. Usual value is 2
+
128  *
+
129  * @note It is possible that interrupt are inverted
+
130  */
+
131 Result DSP_RegisterInterruptEvents(Handle handle, u32 interrupt, u32 channel);
+
132 
+
133 /**
+
134  * @brief Reads a pipe if possible.
+
135  * @param channel unknown. Usually 2
+
136  * @param peer unknown. Usually 0
+
137  * @param buffer The buffer that will store the values read from the pipe
+
138  * @param length Length of the buffer
+
139  * @param length_read Number of bytes read by the command
+
140  */
+
141 Result DSP_ReadPipeIfPossible(u32 channel, u32 peer, void* buffer, u16 length, u16* length_read);
+
142 
+
143 /**
+
144  * @brief Writes to a pipe.
+
145  * @param channel unknown. Usually 2
+
146  * @param buffer The message to send to the DSP process
+
147  * @param length Length of the message
+
148  */
+
149 Result DSP_WriteProcessPipe(u32 channel, const void* buffer, u32 length);
+
150 
+
151 /**
+
152  * @brief Converts a DSP memory address to a virtual address usable by the process.
+
153  * @param dsp_address Address to convert.
+
154  * @param arm_address Pointer to output the converted address to.
+
155  */
+ +
157 
+
158 /**
+
159  * @brief Reads a DSP register
+
160  * @param regNo Offset of the hardware register, base address is 0x1EC40000
+
161  * @param value Pointer to read the register value to.
+
162  */
+
163 Result DSP_RecvData(u16 regNo, u16* value);
+
164 
+
165 /**
+
166  * @brief Checks if you can read a DSP register
+
167  * @param regNo Offset of the hardware register, base address is 0x1EC40000
+
168  * @param is_ready Pointer to write the ready status to.
+
169  *
+
170  * @warning This call might hang if the data is not ready. See @ref DSP_SendDataIsEmpty.
+
171  */
+
172 Result DSP_RecvDataIsReady(u16 regNo, bool* is_ready);
+
173 
+
174 /**
+
175  * @brief Writes to a DSP register
+
176  * @param regNo Offset of the hardware register, base address is 0x1EC40000
+
177  * @param value Value to write.
+
178  *
+
179  * @warning This call might hang if the SendData is not empty. See @ref DSP_SendDataIsEmpty.
+
180  */
+
181 Result DSP_SendData(u16 regNo, u16 value);
+
182 
+
183 /**
+
184  * @brief Checks if you can write to a DSP register ?
+
185  * @param regNo Offset of the hardware register, base address is 0x1EC40000
+
186  * @param is_empty Pointer to write the empty status to.
+
187  */
+
188 Result DSP_SendDataIsEmpty(u16 regNo, bool* is_empty);
+
void(* dspHookFn)(DSP_HookType hook)
DSP hook function.
Definition: dsp.h:25
+
Result DSP_FlushDataCache(const void *address, u32 size)
Flushes the cache.
+
Result DSP_RegisterInterruptEvents(Handle handle, u32 interrupt, u32 channel)
Registers an event handle with the DSP through IPC.
+
Result DSP_WriteProcessPipe(u32 channel, const void *buffer, u32 length)
Writes to a pipe.
+
Result dspInit(void)
Initializes the dsp service.
+
Result DSP_SendData(u16 regNo, u16 value)
Writes to a DSP register.
+
Result DSP_SetSemaphoreMask(u16 mask)
Masks the DSP hardware semaphore value.
+
void dspExit(void)
Closes the dsp service.
+
Result DSP_LoadComponent(const void *component, u32 size, u16 prog_mask, u16 data_mask, bool *is_loaded)
Loads a DSP binary and starts the DSP.
+
Result DSP_RecvDataIsReady(u16 regNo, bool *is_ready)
Checks if you can read a DSP register.
+
Result DSP_ConvertProcessAddressFromDspDram(u32 dsp_address, u32 *arm_address)
Converts a DSP memory address to a virtual address usable by the process.
+
void dspUnhook(dspHookCookie *cookie)
Removes a DSP status hook.
+
Result DSP_ReadPipeIfPossible(u32 channel, u32 peer, void *buffer, u16 length, u16 *length_read)
Reads a pipe if possible.
+
void dspHook(dspHookCookie *cookie, dspHookFn callback)
Sets up a DSP status hook.
+
Result DSP_SetSemaphore(u16 value)
Sets the DSP hardware semaphore value.
+
Result DSP_RecvData(u16 regNo, u16 *value)
Reads a DSP register.
+
DSP_InterruptType
DSP interrupt types.
Definition: dsp.h:12
+
@ DSP_INTERRUPT_PIPE
Pipe interrupt.
Definition: dsp.h:13
+
Result DSP_SendDataIsEmpty(u16 regNo, bool *is_empty)
Checks if you can write to a DSP register ?
+
Result DSP_InvalidateDataCache(const void *address, u32 size)
Invalidates the cache.
+
Result DSP_UnloadComponent(void)
Stops the DSP by unloading the binary.
+
DSP_HookType
DSP hook types.
Definition: dsp.h:18
+
@ DSPHOOK_ONSLEEP
DSP is going to sleep.
Definition: dsp.h:19
+
@ DSPHOOK_ONCANCEL
DSP was sleeping and the app was cancelled.
Definition: dsp.h:21
+
@ DSPHOOK_ONWAKEUP
DSP is waking up.
Definition: dsp.h:20
+
Result DSP_GetHeadphoneStatus(bool *is_inserted)
Checks if a headphone is inserted.
+
Result DSP_GetSemaphoreHandle(Handle *semaphore)
Retrieves the handle of the DSP semaphore.
+
bool dspIsComponentLoaded(void)
Returns true if a component is loaded, false otherwise.
+
DSP hook cookie.
Definition: dsp.h:29
+
struct tag_dspHookCookie * next
Next cookie.
Definition: dsp.h:30
+
dspHookFn callback
Hook callback.
Definition: dsp.h:31
+
Various system types.
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/dynsections.js b/dynsections.js new file mode 100644 index 000000000..3174bd7be --- /dev/null +++ b/dynsections.js @@ -0,0 +1,121 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +libctru: include/3ds/gpu/enums.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
enums.h File Reference
+
+
+ +

GPU enumeration values. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

+#define GPU_TEXTURE_MAG_FILTER(v)   (((v)&0x1)<<1)
 Creates a texture magnification filter parameter from a GPU_TEXTURE_FILTER_PARAM.
 
+#define GPU_TEXTURE_MIN_FILTER(v)   (((v)&0x1)<<2)
 Creates a texture minification filter parameter from a GPU_TEXTURE_FILTER_PARAM.
 
+#define GPU_TEXTURE_MIP_FILTER(v)   (((v)&0x1)<<24)
 Creates a texture mipmap filter parameter from a GPU_TEXTURE_FILTER_PARAM.
 
+#define GPU_TEXTURE_WRAP_S(v)   (((v)&0x3)<<12)
 Creates a texture wrap S parameter from a GPU_TEXTURE_WRAP_PARAM.
 
+#define GPU_TEXTURE_WRAP_T(v)   (((v)&0x3)<<8)
 Creates a texture wrap T parameter from a GPU_TEXTURE_WRAP_PARAM.
 
+#define GPU_TEXTURE_MODE(v)   (((v)&0x7)<<28)
 Creates a texture mode parameter from a GPU_TEXTURE_MODE_PARAM.
 
+#define GPU_TEXTURE_ETC1_PARAM   BIT(5)
 Texture parameter indicating ETC1 texture.
 
+#define GPU_TEXTURE_SHADOW_PARAM   BIT(20)
 Texture parameter indicating shadow texture.
 
+#define GPU_TEV_BUFFER_WRITE_CONFIG(stage0, stage1, stage2, stage3)   ((stage0) | ((stage1) << 1) | ((stage2) << 2) | ((stage3) << 3))
 Creates a combiner buffer write configuration.
 
+#define GPU_MAKEGASDEPTHFUNC(n)   (GPU_GASDEPTHFUNC)((0xAF02>>((int)(n)<<1))&3)
 Converts GPU_TESTFUNC into GPU_GASDEPTHFUNC.
 
+#define GPU_ATTRIBFMT(i, n, f)   (((((n)-1)<<2)|((f)&3))<<((i)*4))
 Creates a VBO attribute parameter from its index, size, and format.
 
+#define GPU_TEVSOURCES(a, b, c)   (((a))|((b)<<4)|((c)<<8))
 Creates a texture combiner source parameter from three sources.
 
+#define GPU_TEVOPERANDS(a, b, c)   (((a))|((b)<<4)|((c)<<8))
 Creates a texture combiner operand parameter from three operands.
 
+#define GPU_LIGHT_ENV_LAYER_CONFIG(n)   ((n)+((n)==7))
 Creates a light environment layer configuration parameter.
 
+#define GPU_LC1_SHADOWBIT(n)   BIT(n)
 Light shadow disable bits in GPUREG_LIGHT_CONFIG1.
 
+#define GPU_LC1_SPOTBIT(n)   BIT((n)+8)
 Light spot disable bits in GPUREG_LIGHT_CONFIG1.
 
+#define GPU_LC1_LUTBIT(n)   BIT((n)+16)
 LUT disable bits in GPUREG_LIGHT_CONFIG1.
 
+#define GPU_LC1_ATTNBIT(n)   BIT((n)+24)
 Light distance attenuation disable bits in GPUREG_LIGHT_CONFIG1.
 
+#define GPU_LIGHTPERM(i, n)   ((n) << ((i)*4))
 Creates a light permutation parameter.
 
+#define GPU_LIGHTLUTINPUT(i, n)   ((n) << ((i)*4))
 Creates a light LUT input parameter.
 
+#define GPU_LIGHTLUTIDX(c, i, o)   ((o) | ((i) << 8) | ((c) << 11))
 Creates a light LUT index parameter.
 
+#define GPU_LIGHTCOLOR(r, g, b)   (((b) & 0xFF) | (((g) << 10) & 0xFF) | (((r) << 20) & 0xFF))
 Creates a light color parameter from red, green, and blue components.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Enumerations

enum  GPU_TEXTURE_FILTER_PARAM {
+  GPU_NEAREST = 0x0 +,
+  GPU_LINEAR = 0x1 +
+ }
 Texture filters. More...
 
enum  GPU_TEXTURE_WRAP_PARAM {
+  GPU_CLAMP_TO_EDGE = 0x0 +,
+  GPU_CLAMP_TO_BORDER = 0x1 +,
+  GPU_REPEAT = 0x2 +,
+  GPU_MIRRORED_REPEAT = 0x3 +
+ }
 Texture wrap modes. More...
 
enum  GPU_TEXTURE_MODE_PARAM {
+  GPU_TEX_2D = 0x0 +,
+  GPU_TEX_CUBE_MAP = 0x1 +,
+  GPU_TEX_SHADOW_2D = 0x2 +,
+  GPU_TEX_PROJECTION = 0x3 +,
+  GPU_TEX_SHADOW_CUBE = 0x4 +,
+  GPU_TEX_DISABLED = 0x5 +
+ }
 Texture modes. More...
 
enum  GPU_TEXUNIT {
+  GPU_TEXUNIT0 = 0x1 +,
+  GPU_TEXUNIT1 = 0x2 +,
+  GPU_TEXUNIT2 = 0x4 +
+ }
 Supported texture units. More...
 
enum  GPU_TEXCOLOR {
+  GPU_RGBA8 = 0x0 +,
+  GPU_RGB8 = 0x1 +,
+  GPU_RGBA5551 = 0x2 +,
+  GPU_RGB565 = 0x3 +,
+  GPU_RGBA4 = 0x4 +,
+  GPU_LA8 = 0x5 +,
+  GPU_HILO8 = 0x6 +,
+  GPU_L8 = 0x7 +,
+  GPU_A8 = 0x8 +,
+  GPU_LA4 = 0x9 +,
+  GPU_L4 = 0xA +,
+  GPU_A4 = 0xB +,
+  GPU_ETC1 = 0xC +,
+  GPU_ETC1A4 = 0xD +
+ }
 Supported texture formats. More...
 
enum  GPU_TEXFACE {
+  GPU_TEXFACE_2D = 0 +,
+  GPU_POSITIVE_X = 0 +,
+  GPU_NEGATIVE_X = 1 +,
+  GPU_POSITIVE_Y = 2 +,
+  GPU_NEGATIVE_Y = 3 +,
+  GPU_POSITIVE_Z = 4 +,
+  GPU_NEGATIVE_Z = 5 +
+ }
 Texture faces. More...
 
enum  GPU_PROCTEX_CLAMP {
+  GPU_PT_CLAMP_TO_ZERO = 0 +,
+  GPU_PT_CLAMP_TO_EDGE = 1 +,
+  GPU_PT_REPEAT = 2 +,
+  GPU_PT_MIRRORED_REPEAT = 3 +,
+  GPU_PT_PULSE = 4 +
+ }
 Procedural texture clamp modes. More...
 
enum  GPU_PROCTEX_MAPFUNC {
+  GPU_PT_U = 0 +,
+  GPU_PT_U2 = 1 +,
+  GPU_PT_V = 2 +,
+  GPU_PT_V2 = 3 +,
+  GPU_PT_ADD = 4 +,
+  GPU_PT_ADD2 = 5 +,
+  GPU_PT_SQRT2 = 6 +,
+  GPU_PT_MIN = 7 +,
+  GPU_PT_MAX = 8 +,
+  GPU_PT_RMAX = 9 +
+ }
 Procedural texture mapping functions. More...
 
enum  GPU_PROCTEX_SHIFT {
+  GPU_PT_NONE = 0 +,
+  GPU_PT_ODD = 1 +,
+  GPU_PT_EVEN = 2 +
+ }
 Procedural texture shift values. More...
 
enum  GPU_PROCTEX_FILTER {
+  GPU_PT_NEAREST = 0 +,
+  GPU_PT_LINEAR = 1 +,
+  GPU_PT_NEAREST_MIP_NEAREST = 2 +,
+  GPU_PT_LINEAR_MIP_NEAREST = 3 +,
+  GPU_PT_NEAREST_MIP_LINEAR = 4 +,
+  GPU_PT_LINEAR_MIP_LINEAR = 5 +
+ }
 Procedural texture filter values. More...
 
enum  GPU_PROCTEX_LUTID {
+  GPU_LUT_NOISE = 0 +,
+  GPU_LUT_RGBMAP = 2 +,
+  GPU_LUT_ALPHAMAP = 3 +,
+  GPU_LUT_COLOR = 4 +,
+  GPU_LUT_COLORDIF = 5 +
+ }
 Procedural texture LUT IDs. More...
 
enum  GPU_COLORBUF {
+  GPU_RB_RGBA8 = 0 +,
+  GPU_RB_RGB8 = 1 +,
+  GPU_RB_RGBA5551 = 2 +,
+  GPU_RB_RGB565 = 3 +,
+  GPU_RB_RGBA4 = 4 +
+ }
 Supported color buffer formats. More...
 
enum  GPU_DEPTHBUF {
+  GPU_RB_DEPTH16 = 0 +,
+  GPU_RB_DEPTH24 = 2 +,
+  GPU_RB_DEPTH24_STENCIL8 = 3 +
+ }
 Supported depth buffer formats. More...
 
enum  GPU_TESTFUNC {
+  GPU_NEVER = 0 +,
+  GPU_ALWAYS = 1 +,
+  GPU_EQUAL = 2 +,
+  GPU_NOTEQUAL = 3 +,
+  GPU_LESS = 4 +,
+  GPU_LEQUAL = 5 +,
+  GPU_GREATER = 6 +,
+  GPU_GEQUAL = 7 +
+ }
 Test functions. More...
 
enum  GPU_EARLYDEPTHFUNC {
+  GPU_EARLYDEPTH_GEQUAL = 0 +,
+  GPU_EARLYDEPTH_GREATER = 1 +,
+  GPU_EARLYDEPTH_LEQUAL = 2 +,
+  GPU_EARLYDEPTH_LESS = 3 +
+ }
 Early depth test functions. More...
 
enum  GPU_GASDEPTHFUNC {
+  GPU_GAS_NEVER = 0 +,
+  GPU_GAS_ALWAYS = 1 +,
+  GPU_GAS_GREATER = 2 +,
+  GPU_GAS_LESS = 3 +
+ }
 Gas depth functions. More...
 
enum  GPU_SCISSORMODE {
+  GPU_SCISSOR_DISABLE = 0 +,
+  GPU_SCISSOR_INVERT = 1 +,
+  GPU_SCISSOR_NORMAL = 3 +
+ }
 Scissor test modes. More...
 
enum  GPU_STENCILOP {
+  GPU_STENCIL_KEEP = 0 +,
+  GPU_STENCIL_ZERO = 1 +,
+  GPU_STENCIL_REPLACE = 2 +,
+  GPU_STENCIL_INCR = 3 +,
+  GPU_STENCIL_DECR = 4 +,
+  GPU_STENCIL_INVERT = 5 +,
+  GPU_STENCIL_INCR_WRAP = 6 +,
+  GPU_STENCIL_DECR_WRAP = 7 +
+ }
 Stencil operations. More...
 
enum  GPU_WRITEMASK {
+  GPU_WRITE_RED = 0x01 +,
+  GPU_WRITE_GREEN = 0x02 +,
+  GPU_WRITE_BLUE = 0x04 +,
+  GPU_WRITE_ALPHA = 0x08 +,
+  GPU_WRITE_DEPTH = 0x10 +,
+  GPU_WRITE_COLOR = 0x0F +,
+  GPU_WRITE_ALL = 0x1F +
+ }
 Pixel write mask. More...
 
enum  GPU_BLENDEQUATION {
+  GPU_BLEND_ADD = 0 +,
+  GPU_BLEND_SUBTRACT = 1 +,
+  GPU_BLEND_REVERSE_SUBTRACT = 2 +,
+  GPU_BLEND_MIN = 3 +,
+  GPU_BLEND_MAX = 4 +
+ }
 Blend modes. More...
 
enum  GPU_BLENDFACTOR {
+  GPU_ZERO = 0 +,
+  GPU_ONE = 1 +,
+  GPU_SRC_COLOR = 2 +,
+  GPU_ONE_MINUS_SRC_COLOR = 3 +,
+  GPU_DST_COLOR = 4 +,
+  GPU_ONE_MINUS_DST_COLOR = 5 +,
+  GPU_SRC_ALPHA = 6 +,
+  GPU_ONE_MINUS_SRC_ALPHA = 7 +,
+  GPU_DST_ALPHA = 8 +,
+  GPU_ONE_MINUS_DST_ALPHA = 9 +,
+  GPU_CONSTANT_COLOR = 10 +,
+  GPU_ONE_MINUS_CONSTANT_COLOR = 11 +,
+  GPU_CONSTANT_ALPHA = 12 +,
+  GPU_ONE_MINUS_CONSTANT_ALPHA = 13 +,
+  GPU_SRC_ALPHA_SATURATE = 14 +
+ }
 Blend factors. More...
 
enum  GPU_LOGICOP {
+  GPU_LOGICOP_CLEAR = 0 +,
+  GPU_LOGICOP_AND = 1 +,
+  GPU_LOGICOP_AND_REVERSE = 2 +,
+  GPU_LOGICOP_COPY = 3 +,
+  GPU_LOGICOP_SET = 4 +,
+  GPU_LOGICOP_COPY_INVERTED = 5 +,
+  GPU_LOGICOP_NOOP = 6 +,
+  GPU_LOGICOP_INVERT = 7 +,
+  GPU_LOGICOP_NAND = 8 +,
+  GPU_LOGICOP_OR = 9 +,
+  GPU_LOGICOP_NOR = 10 +,
+  GPU_LOGICOP_XOR = 11 +,
+  GPU_LOGICOP_EQUIV = 12 +,
+  GPU_LOGICOP_AND_INVERTED = 13 +,
+  GPU_LOGICOP_OR_REVERSE = 14 +,
+  GPU_LOGICOP_OR_INVERTED = 15 +
+ }
 Logical operations. More...
 
enum  GPU_FRAGOPMODE {
+  GPU_FRAGOPMODE_GL = 0 +,
+  GPU_FRAGOPMODE_GAS_ACC = 1 +,
+  GPU_FRAGOPMODE_SHADOW = 3 +
+ }
 Fragment operation modes. More...
 
enum  GPU_FORMATS {
+  GPU_BYTE = 0 +,
+  GPU_UNSIGNED_BYTE = 1 +,
+  GPU_SHORT = 2 +,
+  GPU_FLOAT = 3 +
+ }
 Supported component formats. More...
 
enum  GPU_CULLMODE {
+  GPU_CULL_NONE = 0 +,
+  GPU_CULL_FRONT_CCW = 1 +,
+  GPU_CULL_BACK_CCW = 2 +
+ }
 Cull modes. More...
 
enum  GPU_TEVSRC {
+  GPU_PRIMARY_COLOR = 0x00 +,
+  GPU_FRAGMENT_PRIMARY_COLOR = 0x01 +,
+  GPU_FRAGMENT_SECONDARY_COLOR = 0x02 +,
+  GPU_TEXTURE0 = 0x03 +,
+  GPU_TEXTURE1 = 0x04 +,
+  GPU_TEXTURE2 = 0x05 +,
+  GPU_TEXTURE3 = 0x06 +,
+  GPU_PREVIOUS_BUFFER = 0x0D +,
+  GPU_CONSTANT = 0x0E +,
+  GPU_PREVIOUS = 0x0F +
+ }
 Texture combiner sources. More...
 
enum  GPU_TEVOP_RGB {
+  GPU_TEVOP_RGB_SRC_COLOR = 0x00 +,
+  GPU_TEVOP_RGB_ONE_MINUS_SRC_COLOR = 0x01 +,
+  GPU_TEVOP_RGB_SRC_ALPHA = 0x02 +,
+  GPU_TEVOP_RGB_ONE_MINUS_SRC_ALPHA = 0x03 +,
+  GPU_TEVOP_RGB_SRC_R = 0x04 +,
+  GPU_TEVOP_RGB_ONE_MINUS_SRC_R = 0x05 +,
+  GPU_TEVOP_RGB_0x06 = 0x06 +,
+  GPU_TEVOP_RGB_0x07 = 0x07 +,
+  GPU_TEVOP_RGB_SRC_G = 0x08 +,
+  GPU_TEVOP_RGB_ONE_MINUS_SRC_G = 0x09 +,
+  GPU_TEVOP_RGB_0x0A = 0x0A +,
+  GPU_TEVOP_RGB_0x0B = 0x0B +,
+  GPU_TEVOP_RGB_SRC_B = 0x0C +,
+  GPU_TEVOP_RGB_ONE_MINUS_SRC_B = 0x0D +,
+  GPU_TEVOP_RGB_0x0E = 0x0E +,
+  GPU_TEVOP_RGB_0x0F = 0x0F +
+ }
 Texture RGB combiner operands. More...
 
enum  GPU_TEVOP_A {
+  GPU_TEVOP_A_SRC_ALPHA = 0x00 +,
+  GPU_TEVOP_A_ONE_MINUS_SRC_ALPHA = 0x01 +,
+  GPU_TEVOP_A_SRC_R = 0x02 +,
+  GPU_TEVOP_A_ONE_MINUS_SRC_R = 0x03 +,
+  GPU_TEVOP_A_SRC_G = 0x04 +,
+  GPU_TEVOP_A_ONE_MINUS_SRC_G = 0x05 +,
+  GPU_TEVOP_A_SRC_B = 0x06 +,
+  GPU_TEVOP_A_ONE_MINUS_SRC_B = 0x07 +
+ }
 Texture Alpha combiner operands. More...
 
enum  GPU_COMBINEFUNC {
+  GPU_REPLACE = 0x00 +,
+  GPU_MODULATE = 0x01 +,
+  GPU_ADD = 0x02 +,
+  GPU_ADD_SIGNED = 0x03 +,
+  GPU_INTERPOLATE = 0x04 +,
+  GPU_SUBTRACT = 0x05 +,
+  GPU_DOT3_RGB = 0x06 +,
+  GPU_DOT3_RGBA = 0x07 +,
+  GPU_MULTIPLY_ADD = 0x08 +,
+  GPU_ADD_MULTIPLY = 0x09 +
+ }
 Texture combiner functions. More...
 
enum  GPU_TEVSCALE {
+  GPU_TEVSCALE_1 = 0x0 +,
+  GPU_TEVSCALE_2 = 0x1 +,
+  GPU_TEVSCALE_4 = 0x2 +
+ }
 Texture scale factors. More...
 
enum  GPU_FRESNELSEL {
+  GPU_NO_FRESNEL = 0 +,
+  GPU_PRI_ALPHA_FRESNEL = 1 +,
+  GPU_SEC_ALPHA_FRESNEL = 2 +,
+  GPU_PRI_SEC_ALPHA_FRESNEL = 3 +
+ }
 Fresnel options. More...
 
enum  GPU_BUMPMODE {
+  GPU_BUMP_NOT_USED = 0 +,
+  GPU_BUMP_AS_BUMP = 1 +,
+  GPU_BUMP_AS_TANG = 2 +
+ }
 Bump map modes. More...
 
enum  GPU_LIGHTLUTID {
+  GPU_LUT_D0 = 0 +,
+  GPU_LUT_D1 = 1 +,
+  GPU_LUT_SP = 2 +,
+  GPU_LUT_FR = 3 +,
+  GPU_LUT_RB = 4 +,
+  GPU_LUT_RG = 5 +,
+  GPU_LUT_RR = 6 +,
+  GPU_LUT_DA = 7 +
+ }
 LUT IDs. More...
 
enum  GPU_LIGHTLUTINPUT {
+  GPU_LUTINPUT_NH = 0 +,
+  GPU_LUTINPUT_VH = 1 +,
+  GPU_LUTINPUT_NV = 2 +,
+  GPU_LUTINPUT_LN = 3 +,
+  GPU_LUTINPUT_SP = 4 +,
+  GPU_LUTINPUT_CP = 5 +
+ }
 LUT inputs. More...
 
enum  GPU_LIGHTLUTSCALER {
+  GPU_LUTSCALER_1x = 0 +,
+  GPU_LUTSCALER_2x = 1 +,
+  GPU_LUTSCALER_4x = 2 +,
+  GPU_LUTSCALER_8x = 3 +,
+  GPU_LUTSCALER_0_25x = 6 +,
+  GPU_LUTSCALER_0_5x = 7 +
+ }
 LUT scalers. More...
 
enum  GPU_LIGHTLUTSELECT {
+  GPU_LUTSELECT_COMMON = 0 +,
+  GPU_LUTSELECT_SP = 1 +,
+  GPU_LUTSELECT_DA = 2 +
+ }
 LUT selection. More...
 
enum  GPU_FOGMODE {
+  GPU_NO_FOG = 0 +,
+  GPU_FOG = 5 +,
+  GPU_GAS = 7 +
+ }
 Fog modes. More...
 
enum  GPU_GASMODE {
+  GPU_PLAIN_DENSITY = 0 +,
+  GPU_DEPTH_DENSITY = 1 +
+ }
 Gas shading density source values. More...
 
enum  GPU_GASLUTINPUT {
+  GPU_GAS_DENSITY = 0 +,
+  GPU_GAS_LIGHT_FACTOR = 1 +
+ }
 Gas color LUT inputs. More...
 
enum  GPU_Primitive_t {
+  GPU_TRIANGLES = 0x0000 +,
+  GPU_TRIANGLE_STRIP = 0x0100 +,
+  GPU_TRIANGLE_FAN = 0x0200 +,
+  GPU_GEOMETRY_PRIM = 0x0300 +
+ }
 Supported primitives. More...
 
enum  GPU_SHADER_TYPE {
+  GPU_VERTEX_SHADER = 0x0 +,
+  GPU_GEOMETRY_SHADER = 0x1 +
+ }
 Shader types. More...
 
+

Detailed Description

+

GPU enumeration values.

+

Enumeration Type Documentation

+ +

◆ GPU_BLENDEQUATION

+ +
+
+ + + + +
enum GPU_BLENDEQUATION
+
+ +

Blend modes.

+ + + + + + +
Enumerator
GPU_BLEND_ADD 

Add colors.

+
GPU_BLEND_SUBTRACT 

Subtract colors.

+
GPU_BLEND_REVERSE_SUBTRACT 

Reverse-subtract colors.

+
GPU_BLEND_MIN 

Use the minimum color.

+
GPU_BLEND_MAX 

Use the maximum color.

+
+ +
+
+ +

◆ GPU_BLENDFACTOR

+ +
+
+ + + + +
enum GPU_BLENDFACTOR
+
+ +

Blend factors.

+ + + + + + + + + + + + + + + + +
Enumerator
GPU_ZERO 

Zero.

+
GPU_ONE 

One.

+
GPU_SRC_COLOR 

Source color.

+
GPU_ONE_MINUS_SRC_COLOR 

Source color - 1.

+
GPU_DST_COLOR 

Destination color.

+
GPU_ONE_MINUS_DST_COLOR 

Destination color - 1.

+
GPU_SRC_ALPHA 

Source alpha.

+
GPU_ONE_MINUS_SRC_ALPHA 

Source alpha - 1.

+
GPU_DST_ALPHA 

Destination alpha.

+
GPU_ONE_MINUS_DST_ALPHA 

Destination alpha - 1.

+
GPU_CONSTANT_COLOR 

Constant color.

+
GPU_ONE_MINUS_CONSTANT_COLOR 

Constant color - 1.

+
GPU_CONSTANT_ALPHA 

Constant alpha.

+
GPU_ONE_MINUS_CONSTANT_ALPHA 

Constant alpha - 1.

+
GPU_SRC_ALPHA_SATURATE 

Saturated alpha.

+
+ +
+
+ +

◆ GPU_BUMPMODE

+ +
+
+ + + + +
enum GPU_BUMPMODE
+
+ +

Bump map modes.

+ + + + +
Enumerator
GPU_BUMP_NOT_USED 

Disabled.

+
GPU_BUMP_AS_BUMP 

Bump as bump mapping.

+
GPU_BUMP_AS_TANG 

Bump as tangent/normal mapping.

+
+ +
+
+ +

◆ GPU_COLORBUF

+ +
+
+ + + + +
enum GPU_COLORBUF
+
+ +

Supported color buffer formats.

+ + + + + + +
Enumerator
GPU_RB_RGBA8 

8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha

+
GPU_RB_RGB8 

8-bit Red + 8-bit Green + 8-bit Blue

+
GPU_RB_RGBA5551 

5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha

+
GPU_RB_RGB565 

5-bit Red + 6-bit Green + 5-bit Blue

+
GPU_RB_RGBA4 

4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha

+
+ +
+
+ +

◆ GPU_COMBINEFUNC

+ +
+
+ + + + +
enum GPU_COMBINEFUNC
+
+ +

Texture combiner functions.

+ + + + + + + + + + + +
Enumerator
GPU_REPLACE 

Replace.

+
GPU_MODULATE 

Modulate.

+
GPU_ADD 

Add.

+
GPU_ADD_SIGNED 

Signed add.

+
GPU_INTERPOLATE 

Interpolate.

+
GPU_SUBTRACT 

Subtract.

+
GPU_DOT3_RGB 

Dot3. Scalar result is written to RGB only.

+
GPU_DOT3_RGBA 

Dot3. Scalar result is written to RGBA.

+
GPU_MULTIPLY_ADD 

Multiply then add.

+
GPU_ADD_MULTIPLY 

Add then multiply.

+
+ +
+
+ +

◆ GPU_CULLMODE

+ +
+
+ + + + +
enum GPU_CULLMODE
+
+ +

Cull modes.

+ + + + +
Enumerator
GPU_CULL_NONE 

Disabled.

+
GPU_CULL_FRONT_CCW 

Front, counter-clockwise.

+
GPU_CULL_BACK_CCW 

Back, counter-clockwise.

+
+ +
+
+ +

◆ GPU_DEPTHBUF

+ +
+
+ + + + +
enum GPU_DEPTHBUF
+
+ +

Supported depth buffer formats.

+ + + + +
Enumerator
GPU_RB_DEPTH16 

16-bit Depth

+
GPU_RB_DEPTH24 

24-bit Depth

+
GPU_RB_DEPTH24_STENCIL8 

24-bit Depth + 8-bit Stencil

+
+ +
+
+ +

◆ GPU_EARLYDEPTHFUNC

+ +
+
+ + + + +
enum GPU_EARLYDEPTHFUNC
+
+ +

Early depth test functions.

+ + + + + +
Enumerator
GPU_EARLYDEPTH_GEQUAL 

Pass if greater than or equal.

+
GPU_EARLYDEPTH_GREATER 

Pass if greater than.

+
GPU_EARLYDEPTH_LEQUAL 

Pass if less than or equal.

+
GPU_EARLYDEPTH_LESS 

Pass if less than.

+
+ +
+
+ +

◆ GPU_FOGMODE

+ +
+
+ + + + +
enum GPU_FOGMODE
+
+ +

Fog modes.

+ + + + +
Enumerator
GPU_NO_FOG 

Fog/Gas unit disabled.

+
GPU_FOG 

Fog/Gas unit configured in Fog mode.

+
GPU_GAS 

Fog/Gas unit configured in Gas mode.

+
+ +
+
+ +

◆ GPU_FORMATS

+ +
+
+ + + + +
enum GPU_FORMATS
+
+ +

Supported component formats.

+ + + + + +
Enumerator
GPU_BYTE 

8-bit byte.

+
GPU_UNSIGNED_BYTE 

8-bit unsigned byte.

+
GPU_SHORT 

16-bit short.

+
GPU_FLOAT 

32-bit float.

+
+ +
+
+ +

◆ GPU_FRAGOPMODE

+ +
+
+ + + + +
enum GPU_FRAGOPMODE
+
+ +

Fragment operation modes.

+ + + + +
Enumerator
GPU_FRAGOPMODE_GL 

OpenGL mode.

+
GPU_FRAGOPMODE_GAS_ACC 

Gas mode (?).

+
GPU_FRAGOPMODE_SHADOW 

Shadow mode (?).

+
+ +
+
+ +

◆ GPU_FRESNELSEL

+ +
+
+ + + + +
enum GPU_FRESNELSEL
+
+ +

Fresnel options.

+ + + + + +
Enumerator
GPU_NO_FRESNEL 

None.

+
GPU_PRI_ALPHA_FRESNEL 

Primary alpha.

+
GPU_SEC_ALPHA_FRESNEL 

Secondary alpha.

+
GPU_PRI_SEC_ALPHA_FRESNEL 

Primary and secondary alpha.

+
+ +
+
+ +

◆ GPU_GASDEPTHFUNC

+ +
+
+ + + + +
enum GPU_GASDEPTHFUNC
+
+ +

Gas depth functions.

+ + + + + +
Enumerator
GPU_GAS_NEVER 

Never pass (0).

+
GPU_GAS_ALWAYS 

Always pass (1).

+
GPU_GAS_GREATER 

Pass if greater than (1-X).

+
GPU_GAS_LESS 

Pass if less than (X).

+
+ +
+
+ +

◆ GPU_GASLUTINPUT

+ +
+
+ + + + +
enum GPU_GASLUTINPUT
+
+ +

Gas color LUT inputs.

+ + + +
Enumerator
GPU_GAS_DENSITY 

Gas density used as input.

+
GPU_GAS_LIGHT_FACTOR 

Light factor used as input.

+
+ +
+
+ +

◆ GPU_GASMODE

+ +
+
+ + + + +
enum GPU_GASMODE
+
+ +

Gas shading density source values.

+ + + +
Enumerator
GPU_PLAIN_DENSITY 

Plain density.

+
GPU_DEPTH_DENSITY 

Depth density.

+
+ +
+
+ +

◆ GPU_LIGHTLUTID

+ +
+
+ + + + +
enum GPU_LIGHTLUTID
+
+ +

LUT IDs.

+ + + + + + + + + +
Enumerator
GPU_LUT_D0 

D0 LUT.

+
GPU_LUT_D1 

D1 LUT.

+
GPU_LUT_SP 

Spotlight LUT.

+
GPU_LUT_FR 

Fresnel LUT.

+
GPU_LUT_RB 

Reflection-Blue LUT.

+
GPU_LUT_RG 

Reflection-Green LUT.

+
GPU_LUT_RR 

Reflection-Red LUT.

+
GPU_LUT_DA 

Distance attenuation LUT.

+
+ +
+
+ +

◆ GPU_LIGHTLUTINPUT

+ +
+
+ + + + +
enum GPU_LIGHTLUTINPUT
+
+ +

LUT inputs.

+ + + + + + + +
Enumerator
GPU_LUTINPUT_NH 

Normal*HalfVector.

+
GPU_LUTINPUT_VH 

View*HalfVector.

+
GPU_LUTINPUT_NV 

Normal*View.

+
GPU_LUTINPUT_LN 

LightVector*Normal.

+
GPU_LUTINPUT_SP 

-LightVector*SpotlightVector

+
GPU_LUTINPUT_CP 

cosine of phi

+
+ +
+
+ +

◆ GPU_LIGHTLUTSCALER

+ +
+
+ + + + +
enum GPU_LIGHTLUTSCALER
+
+ +

LUT scalers.

+ + + + + + + +
Enumerator
GPU_LUTSCALER_1x 

1x scale.

+
GPU_LUTSCALER_2x 

2x scale.

+
GPU_LUTSCALER_4x 

4x scale.

+
GPU_LUTSCALER_8x 

8x scale.

+
GPU_LUTSCALER_0_25x 

0.25x scale.

+
GPU_LUTSCALER_0_5x 

0.5x scale.

+
+ +
+
+ +

◆ GPU_LIGHTLUTSELECT

+ +
+
+ + + + +
enum GPU_LIGHTLUTSELECT
+
+ +

LUT selection.

+ + + + +
Enumerator
GPU_LUTSELECT_COMMON 

LUTs that are common to all lights.

+
GPU_LUTSELECT_SP 

Spotlight LUT.

+
GPU_LUTSELECT_DA 

Distance attenuation LUT.

+
+ +
+
+ +

◆ GPU_LOGICOP

+ +
+
+ + + + +
enum GPU_LOGICOP
+
+ +

Logical operations.

+ + + + + + + + + + + + + + + + + +
Enumerator
GPU_LOGICOP_CLEAR 

Clear.

+
GPU_LOGICOP_AND 

Bitwise AND.

+
GPU_LOGICOP_AND_REVERSE 

Reverse bitwise AND.

+
GPU_LOGICOP_COPY 

Copy.

+
GPU_LOGICOP_SET 

Set.

+
GPU_LOGICOP_COPY_INVERTED 

Inverted copy.

+
GPU_LOGICOP_NOOP 

No operation.

+
GPU_LOGICOP_INVERT 

Invert.

+
GPU_LOGICOP_NAND 

Bitwise NAND.

+
GPU_LOGICOP_OR 

Bitwise OR.

+
GPU_LOGICOP_NOR 

Bitwise NOR.

+
GPU_LOGICOP_XOR 

Bitwise XOR.

+
GPU_LOGICOP_EQUIV 

Equivalent.

+
GPU_LOGICOP_AND_INVERTED 

Inverted bitwise AND.

+
GPU_LOGICOP_OR_REVERSE 

Reverse bitwise OR.

+
GPU_LOGICOP_OR_INVERTED 

Inverted bitwize OR.

+
+ +
+
+ +

◆ GPU_Primitive_t

+ +
+
+ + + + +
enum GPU_Primitive_t
+
+ +

Supported primitives.

+ + + + + +
Enumerator
GPU_TRIANGLES 

Triangles.

+
GPU_TRIANGLE_STRIP 

Triangle strip.

+
GPU_TRIANGLE_FAN 

Triangle fan.

+
GPU_GEOMETRY_PRIM 

Geometry shader primitive.

+
+ +
+
+ +

◆ GPU_PROCTEX_CLAMP

+ +
+
+ + + + +
enum GPU_PROCTEX_CLAMP
+
+ +

Procedural texture clamp modes.

+ + + + + + +
Enumerator
GPU_PT_CLAMP_TO_ZERO 

Clamp to zero.

+
GPU_PT_CLAMP_TO_EDGE 

Clamp to edge.

+
GPU_PT_REPEAT 

Symmetrical repeat.

+
GPU_PT_MIRRORED_REPEAT 

Mirrored repeat.

+
GPU_PT_PULSE 

Pulse.

+
+ +
+
+ +

◆ GPU_PROCTEX_FILTER

+ +
+
+ + + + +
enum GPU_PROCTEX_FILTER
+
+ +

Procedural texture filter values.

+ + + + + + + +
Enumerator
GPU_PT_NEAREST 

Nearest-neighbor.

+
GPU_PT_LINEAR 

Linear interpolation.

+
GPU_PT_NEAREST_MIP_NEAREST 

Nearest-neighbor with mipmap using nearest-neighbor.

+
GPU_PT_LINEAR_MIP_NEAREST 

Linear interpolation with mipmap using nearest-neighbor.

+
GPU_PT_NEAREST_MIP_LINEAR 

Nearest-neighbor with mipmap using linear interpolation.

+
GPU_PT_LINEAR_MIP_LINEAR 

Linear interpolation with mipmap using linear interpolation.

+
+ +
+
+ +

◆ GPU_PROCTEX_LUTID

+ +
+
+ + + + +
enum GPU_PROCTEX_LUTID
+
+ +

Procedural texture LUT IDs.

+ + + + + + +
Enumerator
GPU_LUT_NOISE 

Noise table.

+
GPU_LUT_RGBMAP 

RGB mapping function table.

+
GPU_LUT_ALPHAMAP 

Alpha mapping function table.

+
GPU_LUT_COLOR 

Color table.

+
GPU_LUT_COLORDIF 

Color difference table.

+
+ +
+
+ +

◆ GPU_PROCTEX_MAPFUNC

+ +
+
+ + + + +
enum GPU_PROCTEX_MAPFUNC
+
+ +

Procedural texture mapping functions.

+ + + + + + + + + + + +
Enumerator
GPU_PT_U 

U.

+
GPU_PT_U2 

U2.

+
GPU_PT_V 

V.

+
GPU_PT_V2 

V2.

+
GPU_PT_ADD 

U+V.

+
GPU_PT_ADD2 

U2+V2.

+
GPU_PT_SQRT2 

sqrt(U2+V2)

+
GPU_PT_MIN 

min

+
GPU_PT_MAX 

max

+
GPU_PT_RMAX 

rmax

+
+ +
+
+ +

◆ GPU_PROCTEX_SHIFT

+ +
+
+ + + + +
enum GPU_PROCTEX_SHIFT
+
+ +

Procedural texture shift values.

+ + + + +
Enumerator
GPU_PT_NONE 

No shift.

+
GPU_PT_ODD 

Odd shift.

+
GPU_PT_EVEN 

Even shift.

+
+ +
+
+ +

◆ GPU_SCISSORMODE

+ +
+
+ + + + +
enum GPU_SCISSORMODE
+
+ +

Scissor test modes.

+ + + + +
Enumerator
GPU_SCISSOR_DISABLE 

Disable.

+
GPU_SCISSOR_INVERT 

Exclude pixels inside the scissor box.

+
GPU_SCISSOR_NORMAL 

Exclude pixels outside of the scissor box.

+
+ +
+
+ +

◆ GPU_SHADER_TYPE

+ +
+
+ + + + +
enum GPU_SHADER_TYPE
+
+ +

Shader types.

+ + + +
Enumerator
GPU_VERTEX_SHADER 

Vertex shader.

+
GPU_GEOMETRY_SHADER 

Geometry shader.

+
+ +
+
+ +

◆ GPU_STENCILOP

+ +
+
+ + + + +
enum GPU_STENCILOP
+
+ +

Stencil operations.

+ + + + + + + + + +
Enumerator
GPU_STENCIL_KEEP 

Keep old value. (old_stencil)

+
GPU_STENCIL_ZERO 

Zero. (0)

+
GPU_STENCIL_REPLACE 

Replace value. (ref)

+
GPU_STENCIL_INCR 

Increment value. (old_stencil + 1 saturated to [0, 255])

+
GPU_STENCIL_DECR 

Decrement value. (old_stencil - 1 saturated to [0, 255])

+
GPU_STENCIL_INVERT 

Invert value. (~old_stencil)

+
GPU_STENCIL_INCR_WRAP 

Increment value. (old_stencil + 1)

+
GPU_STENCIL_DECR_WRAP 

Decrement value. (old_stencil - 1)

+
+ +
+
+ +

◆ GPU_TESTFUNC

+ +
+
+ + + + +
enum GPU_TESTFUNC
+
+ +

Test functions.

+ + + + + + + + + +
Enumerator
GPU_NEVER 

Never pass.

+
GPU_ALWAYS 

Always pass.

+
GPU_EQUAL 

Pass if equal.

+
GPU_NOTEQUAL 

Pass if not equal.

+
GPU_LESS 

Pass if less than.

+
GPU_LEQUAL 

Pass if less than or equal.

+
GPU_GREATER 

Pass if greater than.

+
GPU_GEQUAL 

Pass if greater than or equal.

+
+ +
+
+ +

◆ GPU_TEVOP_A

+ +
+
+ + + + +
enum GPU_TEVOP_A
+
+ +

Texture Alpha combiner operands.

+ + + + + + + + + +
Enumerator
GPU_TEVOP_A_SRC_ALPHA 

Source alpha.

+
GPU_TEVOP_A_ONE_MINUS_SRC_ALPHA 

Source alpha - 1.

+
GPU_TEVOP_A_SRC_R 

Source red.

+
GPU_TEVOP_A_ONE_MINUS_SRC_R 

Source red - 1.

+
GPU_TEVOP_A_SRC_G 

Source green.

+
GPU_TEVOP_A_ONE_MINUS_SRC_G 

Source green - 1.

+
GPU_TEVOP_A_SRC_B 

Source blue.

+
GPU_TEVOP_A_ONE_MINUS_SRC_B 

Source blue - 1.

+
+ +
+
+ +

◆ GPU_TEVOP_RGB

+ +
+
+ + + + +
enum GPU_TEVOP_RGB
+
+ +

Texture RGB combiner operands.

+ + + + + + + + + + + + + + + + + +
Enumerator
GPU_TEVOP_RGB_SRC_COLOR 

Source color.

+
GPU_TEVOP_RGB_ONE_MINUS_SRC_COLOR 

Source color - 1.

+
GPU_TEVOP_RGB_SRC_ALPHA 

Source alpha.

+
GPU_TEVOP_RGB_ONE_MINUS_SRC_ALPHA 

Source alpha - 1.

+
GPU_TEVOP_RGB_SRC_R 

Source red.

+
GPU_TEVOP_RGB_ONE_MINUS_SRC_R 

Source red - 1.

+
GPU_TEVOP_RGB_0x06 

Unknown.

+
GPU_TEVOP_RGB_0x07 

Unknown.

+
GPU_TEVOP_RGB_SRC_G 

Source green.

+
GPU_TEVOP_RGB_ONE_MINUS_SRC_G 

Source green - 1.

+
GPU_TEVOP_RGB_0x0A 

Unknown.

+
GPU_TEVOP_RGB_0x0B 

Unknown.

+
GPU_TEVOP_RGB_SRC_B 

Source blue.

+
GPU_TEVOP_RGB_ONE_MINUS_SRC_B 

Source blue - 1.

+
GPU_TEVOP_RGB_0x0E 

Unknown.

+
GPU_TEVOP_RGB_0x0F 

Unknown.

+
+ +
+
+ +

◆ GPU_TEVSCALE

+ +
+
+ + + + +
enum GPU_TEVSCALE
+
+ +

Texture scale factors.

+ + + + +
Enumerator
GPU_TEVSCALE_1 

1x

+
GPU_TEVSCALE_2 

2x

+
GPU_TEVSCALE_4 

4x

+
+ +
+
+ +

◆ GPU_TEVSRC

+ +
+
+ + + + +
enum GPU_TEVSRC
+
+ +

Texture combiner sources.

+ + + + + + + + + + + +
Enumerator
GPU_PRIMARY_COLOR 

Primary color.

+
GPU_FRAGMENT_PRIMARY_COLOR 

Primary fragment color.

+
GPU_FRAGMENT_SECONDARY_COLOR 

Secondary fragment color.

+
GPU_TEXTURE0 

Texture unit 0.

+
GPU_TEXTURE1 

Texture unit 1.

+
GPU_TEXTURE2 

Texture unit 2.

+
GPU_TEXTURE3 

Texture unit 3.

+
GPU_PREVIOUS_BUFFER 

Previous buffer.

+
GPU_CONSTANT 

Constant value.

+
GPU_PREVIOUS 

Previous value.

+
+ +
+
+ +

◆ GPU_TEXCOLOR

+ +
+
+ + + + +
enum GPU_TEXCOLOR
+
+ +

Supported texture formats.

+ + + + + + + + + + + + + + + +
Enumerator
GPU_RGBA8 

8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha

+
GPU_RGB8 

8-bit Red + 8-bit Green + 8-bit Blue

+
GPU_RGBA5551 

5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha

+
GPU_RGB565 

5-bit Red + 6-bit Green + 5-bit Blue

+
GPU_RGBA4 

4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha

+
GPU_LA8 

8-bit Luminance + 8-bit Alpha

+
GPU_HILO8 

8-bit Hi + 8-bit Lo

+
GPU_L8 

8-bit Luminance

+
GPU_A8 

8-bit Alpha

+
GPU_LA4 

4-bit Luminance + 4-bit Alpha

+
GPU_L4 

4-bit Luminance

+
GPU_A4 

4-bit Alpha

+
GPU_ETC1 

ETC1 texture compression.

+
GPU_ETC1A4 

ETC1 texture compression + 4-bit Alpha.

+
+ +
+
+ +

◆ GPU_TEXFACE

+ +
+
+ + + + +
enum GPU_TEXFACE
+
+ +

Texture faces.

+ + + + + + + + +
Enumerator
GPU_TEXFACE_2D 

2D face

+
GPU_POSITIVE_X 

+X face

+
GPU_NEGATIVE_X 

-X face

+
GPU_POSITIVE_Y 

+Y face

+
GPU_NEGATIVE_Y 

-Y face

+
GPU_POSITIVE_Z 

+Z face

+
GPU_NEGATIVE_Z 

-Z face

+
+ +
+
+ +

◆ GPU_TEXTURE_FILTER_PARAM

+ +
+
+ + + + +
enum GPU_TEXTURE_FILTER_PARAM
+
+ +

Texture filters.

+ + + +
Enumerator
GPU_NEAREST 

Nearest-neighbor interpolation.

+
GPU_LINEAR 

Linear interpolation.

+
+ +
+
+ +

◆ GPU_TEXTURE_MODE_PARAM

+ +
+
+ + + + +
enum GPU_TEXTURE_MODE_PARAM
+
+ +

Texture modes.

+ + + + + + + +
Enumerator
GPU_TEX_2D 

2D texture

+
GPU_TEX_CUBE_MAP 

Cube map.

+
GPU_TEX_SHADOW_2D 

2D Shadow texture

+
GPU_TEX_PROJECTION 

Projection texture.

+
GPU_TEX_SHADOW_CUBE 

Shadow cube map.

+
GPU_TEX_DISABLED 

Disabled.

+
+ +
+
+ +

◆ GPU_TEXTURE_WRAP_PARAM

+ +
+
+ + + + +
enum GPU_TEXTURE_WRAP_PARAM
+
+ +

Texture wrap modes.

+ + + + + +
Enumerator
GPU_CLAMP_TO_EDGE 

Clamps to edge.

+
GPU_CLAMP_TO_BORDER 

Clamps to border.

+
GPU_REPEAT 

Repeats texture.

+
GPU_MIRRORED_REPEAT 

Repeats with mirrored texture.

+
+ +
+
+ +

◆ GPU_TEXUNIT

+ +
+
+ + + + +
enum GPU_TEXUNIT
+
+ +

Supported texture units.

+ + + + +
Enumerator
GPU_TEXUNIT0 

Texture unit 0.

+
GPU_TEXUNIT1 

Texture unit 1.

+
GPU_TEXUNIT2 

Texture unit 2.

+
+ +
+
+ +

◆ GPU_WRITEMASK

+ +
+
+ + + + +
enum GPU_WRITEMASK
+
+ +

Pixel write mask.

+ + + + + + + + +
Enumerator
GPU_WRITE_RED 

Write red.

+
GPU_WRITE_GREEN 

Write green.

+
GPU_WRITE_BLUE 

Write blue.

+
GPU_WRITE_ALPHA 

Write alpha.

+
GPU_WRITE_DEPTH 

Write depth.

+
GPU_WRITE_COLOR 

Write all color components.

+
GPU_WRITE_ALL 

Write all components.

+
+ +
+
+
+ + + + diff --git a/enums_8h_source.html b/enums_8h_source.html new file mode 100644 index 000000000..f2a7a85a5 --- /dev/null +++ b/enums_8h_source.html @@ -0,0 +1,868 @@ + + + + + + + +libctru: include/3ds/gpu/enums.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
enums.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file enums.h
+
3  * @brief GPU enumeration values.
+
4  */
+
5 #pragma once
+
6 
+
7 /// Creates a texture magnification filter parameter from a @ref GPU_TEXTURE_FILTER_PARAM
+
8 #define GPU_TEXTURE_MAG_FILTER(v) (((v)&0x1)<<1)
+
9 /// Creates a texture minification filter parameter from a @ref GPU_TEXTURE_FILTER_PARAM
+
10 #define GPU_TEXTURE_MIN_FILTER(v) (((v)&0x1)<<2)
+
11 /// Creates a texture mipmap filter parameter from a @ref GPU_TEXTURE_FILTER_PARAM
+
12 #define GPU_TEXTURE_MIP_FILTER(v) (((v)&0x1)<<24)
+
13 /// Creates a texture wrap S parameter from a @ref GPU_TEXTURE_WRAP_PARAM
+
14 #define GPU_TEXTURE_WRAP_S(v) (((v)&0x3)<<12)
+
15 /// Creates a texture wrap T parameter from a @ref GPU_TEXTURE_WRAP_PARAM
+
16 #define GPU_TEXTURE_WRAP_T(v) (((v)&0x3)<<8)
+
17 /// Creates a texture mode parameter from a @ref GPU_TEXTURE_MODE_PARAM
+
18 #define GPU_TEXTURE_MODE(v) (((v)&0x7)<<28)
+
19 /// Texture parameter indicating ETC1 texture.
+
20 #define GPU_TEXTURE_ETC1_PARAM BIT(5)
+
21 /// Texture parameter indicating shadow texture.
+
22 #define GPU_TEXTURE_SHADOW_PARAM BIT(20)
+
23 
+
24 /// Creates a combiner buffer write configuration.
+
25 #define GPU_TEV_BUFFER_WRITE_CONFIG(stage0, stage1, stage2, stage3) ((stage0) | ((stage1) << 1) | ((stage2) << 2) | ((stage3) << 3))
+
26 
+
27 /// Texture filters.
+
28 typedef enum
+
29 {
+
30  GPU_NEAREST = 0x0, ///< Nearest-neighbor interpolation.
+
31  GPU_LINEAR = 0x1, ///< Linear interpolation.
+ +
33 
+
34 /// Texture wrap modes.
+
35 typedef enum
+
36 {
+
37  GPU_CLAMP_TO_EDGE = 0x0, ///< Clamps to edge.
+
38  GPU_CLAMP_TO_BORDER = 0x1, ///< Clamps to border.
+
39  GPU_REPEAT = 0x2, ///< Repeats texture.
+
40  GPU_MIRRORED_REPEAT = 0x3, ///< Repeats with mirrored texture.
+ +
42 
+
43 /// Texture modes.
+
44 typedef enum
+
45 {
+
46  GPU_TEX_2D = 0x0, ///< 2D texture
+
47  GPU_TEX_CUBE_MAP = 0x1, ///< Cube map
+
48  GPU_TEX_SHADOW_2D = 0x2, ///< 2D Shadow texture
+
49  GPU_TEX_PROJECTION = 0x3, ///< Projection texture
+
50  GPU_TEX_SHADOW_CUBE = 0x4, ///< Shadow cube map
+
51  GPU_TEX_DISABLED = 0x5, ///< Disabled
+ +
53 
+
54 /// Supported texture units.
+
55 typedef enum
+
56 {
+
57  GPU_TEXUNIT0 = 0x1, ///< Texture unit 0.
+
58  GPU_TEXUNIT1 = 0x2, ///< Texture unit 1.
+
59  GPU_TEXUNIT2 = 0x4, ///< Texture unit 2.
+
60 } GPU_TEXUNIT;
+
61 
+
62 /// Supported texture formats.
+
63 typedef enum
+
64 {
+
65  GPU_RGBA8 = 0x0, ///< 8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
+
66  GPU_RGB8 = 0x1, ///< 8-bit Red + 8-bit Green + 8-bit Blue
+
67  GPU_RGBA5551 = 0x2, ///< 5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha
+
68  GPU_RGB565 = 0x3, ///< 5-bit Red + 6-bit Green + 5-bit Blue
+
69  GPU_RGBA4 = 0x4, ///< 4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha
+
70  GPU_LA8 = 0x5, ///< 8-bit Luminance + 8-bit Alpha
+
71  GPU_HILO8 = 0x6, ///< 8-bit Hi + 8-bit Lo
+
72  GPU_L8 = 0x7, ///< 8-bit Luminance
+
73  GPU_A8 = 0x8, ///< 8-bit Alpha
+
74  GPU_LA4 = 0x9, ///< 4-bit Luminance + 4-bit Alpha
+
75  GPU_L4 = 0xA, ///< 4-bit Luminance
+
76  GPU_A4 = 0xB, ///< 4-bit Alpha
+
77  GPU_ETC1 = 0xC, ///< ETC1 texture compression
+
78  GPU_ETC1A4 = 0xD, ///< ETC1 texture compression + 4-bit Alpha
+
79 } GPU_TEXCOLOR;
+
80 
+
81 /// Texture faces.
+
82 typedef enum
+
83 {
+
84  GPU_TEXFACE_2D = 0, ///< 2D face
+
85  GPU_POSITIVE_X = 0, ///< +X face
+
86  GPU_NEGATIVE_X = 1, ///< -X face
+
87  GPU_POSITIVE_Y = 2, ///< +Y face
+
88  GPU_NEGATIVE_Y = 3, ///< -Y face
+
89  GPU_POSITIVE_Z = 4, ///< +Z face
+
90  GPU_NEGATIVE_Z = 5, ///< -Z face
+
91 } GPU_TEXFACE;
+
92 
+
93 /// Procedural texture clamp modes.
+
94 typedef enum
+
95 {
+
96  GPU_PT_CLAMP_TO_ZERO = 0, ///< Clamp to zero.
+
97  GPU_PT_CLAMP_TO_EDGE = 1, ///< Clamp to edge.
+
98  GPU_PT_REPEAT = 2, ///< Symmetrical repeat.
+
99  GPU_PT_MIRRORED_REPEAT = 3, ///< Mirrored repeat.
+
100  GPU_PT_PULSE = 4, ///< Pulse.
+ +
102 
+
103 /// Procedural texture mapping functions.
+
104 typedef enum
+
105 {
+
106  GPU_PT_U = 0, ///< U
+
107  GPU_PT_U2 = 1, ///< U2
+
108  GPU_PT_V = 2, ///< V
+
109  GPU_PT_V2 = 3, ///< V2
+
110  GPU_PT_ADD = 4, ///< U+V
+
111  GPU_PT_ADD2 = 5, ///< U2+V2
+
112  GPU_PT_SQRT2 = 6, ///< sqrt(U2+V2)
+
113  GPU_PT_MIN = 7, ///< min
+
114  GPU_PT_MAX = 8, ///< max
+
115  GPU_PT_RMAX = 9, ///< rmax
+ +
117 
+
118 /// Procedural texture shift values.
+
119 typedef enum
+
120 {
+
121  GPU_PT_NONE = 0, ///< No shift.
+
122  GPU_PT_ODD = 1, ///< Odd shift.
+
123  GPU_PT_EVEN = 2, ///< Even shift.
+ +
125 
+
126 /// Procedural texture filter values.
+
127 typedef enum
+
128 {
+
129  GPU_PT_NEAREST = 0, ///< Nearest-neighbor
+
130  GPU_PT_LINEAR = 1, ///< Linear interpolation
+
131  GPU_PT_NEAREST_MIP_NEAREST = 2, ///< Nearest-neighbor with mipmap using nearest-neighbor
+
132  GPU_PT_LINEAR_MIP_NEAREST = 3, ///< Linear interpolation with mipmap using nearest-neighbor
+
133  GPU_PT_NEAREST_MIP_LINEAR = 4, ///< Nearest-neighbor with mipmap using linear interpolation
+
134  GPU_PT_LINEAR_MIP_LINEAR = 5, ///< Linear interpolation with mipmap using linear interpolation
+ +
136 
+
137 /// Procedural texture LUT IDs.
+
138 typedef enum
+
139 {
+
140  GPU_LUT_NOISE = 0, ///< Noise table
+
141  GPU_LUT_RGBMAP = 2, ///< RGB mapping function table
+
142  GPU_LUT_ALPHAMAP = 3, ///< Alpha mapping function table
+
143  GPU_LUT_COLOR = 4, ///< Color table
+
144  GPU_LUT_COLORDIF = 5, ///< Color difference table
+ +
146 
+
147 /// Supported color buffer formats.
+
148 typedef enum
+
149 {
+
150  GPU_RB_RGBA8 = 0, ///< 8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
+
151  GPU_RB_RGB8 = 1, ///< 8-bit Red + 8-bit Green + 8-bit Blue
+
152  GPU_RB_RGBA5551 = 2, ///< 5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha
+
153  GPU_RB_RGB565 = 3, ///< 5-bit Red + 6-bit Green + 5-bit Blue
+
154  GPU_RB_RGBA4 = 4, ///< 4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha
+
155 } GPU_COLORBUF;
+
156 
+
157 /// Supported depth buffer formats.
+
158 typedef enum
+
159 {
+
160  GPU_RB_DEPTH16 = 0, ///< 16-bit Depth
+
161  GPU_RB_DEPTH24 = 2, ///< 24-bit Depth
+
162  GPU_RB_DEPTH24_STENCIL8 = 3, ///< 24-bit Depth + 8-bit Stencil
+
163 } GPU_DEPTHBUF;
+
164 
+
165 /// Test functions.
+
166 typedef enum
+
167 {
+
168  GPU_NEVER = 0, ///< Never pass.
+
169  GPU_ALWAYS = 1, ///< Always pass.
+
170  GPU_EQUAL = 2, ///< Pass if equal.
+
171  GPU_NOTEQUAL = 3, ///< Pass if not equal.
+
172  GPU_LESS = 4, ///< Pass if less than.
+
173  GPU_LEQUAL = 5, ///< Pass if less than or equal.
+
174  GPU_GREATER = 6, ///< Pass if greater than.
+
175  GPU_GEQUAL = 7, ///< Pass if greater than or equal.
+
176 } GPU_TESTFUNC;
+
177 
+
178 /// Early depth test functions.
+
179 typedef enum
+
180 {
+
181  GPU_EARLYDEPTH_GEQUAL = 0, ///< Pass if greater than or equal.
+
182  GPU_EARLYDEPTH_GREATER = 1, ///< Pass if greater than.
+
183  GPU_EARLYDEPTH_LEQUAL = 2, ///< Pass if less than or equal.
+
184  GPU_EARLYDEPTH_LESS = 3, ///< Pass if less than.
+ +
186 
+
187 /// Gas depth functions.
+
188 typedef enum
+
189 {
+
190  GPU_GAS_NEVER = 0, ///< Never pass (0).
+
191  GPU_GAS_ALWAYS = 1, ///< Always pass (1).
+
192  GPU_GAS_GREATER = 2, ///< Pass if greater than (1-X).
+
193  GPU_GAS_LESS = 3, ///< Pass if less than (X).
+ +
195 
+
196 /// Converts \ref GPU_TESTFUNC into \ref GPU_GASDEPTHFUNC.
+
197 #define GPU_MAKEGASDEPTHFUNC(n) (GPU_GASDEPTHFUNC)((0xAF02>>((int)(n)<<1))&3)
+
198 
+
199 /// Scissor test modes.
+
200 typedef enum
+
201 {
+
202  GPU_SCISSOR_DISABLE = 0, ///< Disable.
+
203  GPU_SCISSOR_INVERT = 1, ///< Exclude pixels inside the scissor box.
+
204  // 2 is the same as 0
+
205  GPU_SCISSOR_NORMAL = 3, ///< Exclude pixels outside of the scissor box.
+ +
207 
+
208 /// Stencil operations.
+
209 typedef enum
+
210 {
+
211  GPU_STENCIL_KEEP = 0, ///< Keep old value. (old_stencil)
+
212  GPU_STENCIL_ZERO = 1, ///< Zero. (0)
+
213  GPU_STENCIL_REPLACE = 2, ///< Replace value. (ref)
+
214  GPU_STENCIL_INCR = 3, ///< Increment value. (old_stencil + 1 saturated to [0, 255])
+
215  GPU_STENCIL_DECR = 4, ///< Decrement value. (old_stencil - 1 saturated to [0, 255])
+
216  GPU_STENCIL_INVERT = 5, ///< Invert value. (~old_stencil)
+
217  GPU_STENCIL_INCR_WRAP = 6, ///< Increment value. (old_stencil + 1)
+
218  GPU_STENCIL_DECR_WRAP = 7, ///< Decrement value. (old_stencil - 1)
+
219 } GPU_STENCILOP;
+
220 
+
221 /// Pixel write mask.
+
222 typedef enum
+
223 {
+
224  GPU_WRITE_RED = 0x01, ///< Write red.
+
225  GPU_WRITE_GREEN = 0x02, ///< Write green.
+
226  GPU_WRITE_BLUE = 0x04, ///< Write blue.
+
227  GPU_WRITE_ALPHA = 0x08, ///< Write alpha.
+
228  GPU_WRITE_DEPTH = 0x10, ///< Write depth.
+
229 
+
230  GPU_WRITE_COLOR = 0x0F, ///< Write all color components.
+
231  GPU_WRITE_ALL = 0x1F, ///< Write all components.
+
232 } GPU_WRITEMASK;
+
233 
+
234 /// Blend modes.
+
235 typedef enum
+
236 {
+
237  GPU_BLEND_ADD = 0, ///< Add colors.
+
238  GPU_BLEND_SUBTRACT = 1, ///< Subtract colors.
+
239  GPU_BLEND_REVERSE_SUBTRACT = 2, ///< Reverse-subtract colors.
+
240  GPU_BLEND_MIN = 3, ///< Use the minimum color.
+
241  GPU_BLEND_MAX = 4, ///< Use the maximum color.
+ +
243 
+
244 /// Blend factors.
+
245 typedef enum
+
246 {
+
247  GPU_ZERO = 0, ///< Zero.
+
248  GPU_ONE = 1, ///< One.
+
249  GPU_SRC_COLOR = 2, ///< Source color.
+
250  GPU_ONE_MINUS_SRC_COLOR = 3, ///< Source color - 1.
+
251  GPU_DST_COLOR = 4, ///< Destination color.
+
252  GPU_ONE_MINUS_DST_COLOR = 5, ///< Destination color - 1.
+
253  GPU_SRC_ALPHA = 6, ///< Source alpha.
+
254  GPU_ONE_MINUS_SRC_ALPHA = 7, ///< Source alpha - 1.
+
255  GPU_DST_ALPHA = 8, ///< Destination alpha.
+
256  GPU_ONE_MINUS_DST_ALPHA = 9, ///< Destination alpha - 1.
+
257  GPU_CONSTANT_COLOR = 10, ///< Constant color.
+
258  GPU_ONE_MINUS_CONSTANT_COLOR = 11, ///< Constant color - 1.
+
259  GPU_CONSTANT_ALPHA = 12, ///< Constant alpha.
+
260  GPU_ONE_MINUS_CONSTANT_ALPHA = 13, ///< Constant alpha - 1.
+
261  GPU_SRC_ALPHA_SATURATE = 14, ///< Saturated alpha.
+ +
263 
+
264 /// Logical operations.
+
265 typedef enum
+
266 {
+
267  GPU_LOGICOP_CLEAR = 0, ///< Clear.
+
268  GPU_LOGICOP_AND = 1, ///< Bitwise AND.
+
269  GPU_LOGICOP_AND_REVERSE = 2, ///< Reverse bitwise AND.
+
270  GPU_LOGICOP_COPY = 3, ///< Copy.
+
271  GPU_LOGICOP_SET = 4, ///< Set.
+
272  GPU_LOGICOP_COPY_INVERTED = 5, ///< Inverted copy.
+
273  GPU_LOGICOP_NOOP = 6, ///< No operation.
+
274  GPU_LOGICOP_INVERT = 7, ///< Invert.
+
275  GPU_LOGICOP_NAND = 8, ///< Bitwise NAND.
+
276  GPU_LOGICOP_OR = 9, ///< Bitwise OR.
+
277  GPU_LOGICOP_NOR = 10, ///< Bitwise NOR.
+
278  GPU_LOGICOP_XOR = 11, ///< Bitwise XOR.
+
279  GPU_LOGICOP_EQUIV = 12, ///< Equivalent.
+
280  GPU_LOGICOP_AND_INVERTED = 13, ///< Inverted bitwise AND.
+
281  GPU_LOGICOP_OR_REVERSE = 14, ///< Reverse bitwise OR.
+
282  GPU_LOGICOP_OR_INVERTED = 15, ///< Inverted bitwize OR.
+
283 } GPU_LOGICOP;
+
284 
+
285 /// Fragment operation modes.
+
286 typedef enum
+
287 {
+
288  GPU_FRAGOPMODE_GL = 0, ///< OpenGL mode.
+
289  GPU_FRAGOPMODE_GAS_ACC = 1, ///< Gas mode (?).
+
290  GPU_FRAGOPMODE_SHADOW = 3, ///< Shadow mode (?).
+ +
292 
+
293 /// Supported component formats.
+
294 typedef enum
+
295 {
+
296  GPU_BYTE = 0, ///< 8-bit byte.
+
297  GPU_UNSIGNED_BYTE = 1, ///< 8-bit unsigned byte.
+
298  GPU_SHORT = 2, ///< 16-bit short.
+
299  GPU_FLOAT = 3, ///< 32-bit float.
+
300 } GPU_FORMATS;
+
301 
+
302 /// Cull modes.
+
303 typedef enum
+
304 {
+
305  GPU_CULL_NONE = 0, ///< Disabled.
+
306  GPU_CULL_FRONT_CCW = 1, ///< Front, counter-clockwise.
+
307  GPU_CULL_BACK_CCW = 2, ///< Back, counter-clockwise.
+
308 } GPU_CULLMODE;
+
309 
+
310 /// Creates a VBO attribute parameter from its index, size, and format.
+
311 #define GPU_ATTRIBFMT(i, n, f) (((((n)-1)<<2)|((f)&3))<<((i)*4))
+
312 
+
313 /// Texture combiner sources.
+
314 typedef enum
+
315 {
+
316  GPU_PRIMARY_COLOR = 0x00, ///< Primary color.
+
317  GPU_FRAGMENT_PRIMARY_COLOR = 0x01, ///< Primary fragment color.
+
318  GPU_FRAGMENT_SECONDARY_COLOR = 0x02, ///< Secondary fragment color.
+
319  GPU_TEXTURE0 = 0x03, ///< Texture unit 0.
+
320  GPU_TEXTURE1 = 0x04, ///< Texture unit 1.
+
321  GPU_TEXTURE2 = 0x05, ///< Texture unit 2.
+
322  GPU_TEXTURE3 = 0x06, ///< Texture unit 3.
+
323  GPU_PREVIOUS_BUFFER = 0x0D, ///< Previous buffer.
+
324  GPU_CONSTANT = 0x0E, ///< Constant value.
+
325  GPU_PREVIOUS = 0x0F, ///< Previous value.
+
326 } GPU_TEVSRC;
+
327 
+
328 /// Texture RGB combiner operands.
+
329 typedef enum
+
330 {
+
331  GPU_TEVOP_RGB_SRC_COLOR = 0x00, ///< Source color.
+
332  GPU_TEVOP_RGB_ONE_MINUS_SRC_COLOR = 0x01, ///< Source color - 1.
+
333  GPU_TEVOP_RGB_SRC_ALPHA = 0x02, ///< Source alpha.
+
334  GPU_TEVOP_RGB_ONE_MINUS_SRC_ALPHA = 0x03, ///< Source alpha - 1.
+
335  GPU_TEVOP_RGB_SRC_R = 0x04, ///< Source red.
+
336  GPU_TEVOP_RGB_ONE_MINUS_SRC_R = 0x05, ///< Source red - 1.
+
337  GPU_TEVOP_RGB_0x06 = 0x06, ///< Unknown.
+
338  GPU_TEVOP_RGB_0x07 = 0x07, ///< Unknown.
+
339  GPU_TEVOP_RGB_SRC_G = 0x08, ///< Source green.
+
340  GPU_TEVOP_RGB_ONE_MINUS_SRC_G = 0x09, ///< Source green - 1.
+
341  GPU_TEVOP_RGB_0x0A = 0x0A, ///< Unknown.
+
342  GPU_TEVOP_RGB_0x0B = 0x0B, ///< Unknown.
+
343  GPU_TEVOP_RGB_SRC_B = 0x0C, ///< Source blue.
+
344  GPU_TEVOP_RGB_ONE_MINUS_SRC_B = 0x0D, ///< Source blue - 1.
+
345  GPU_TEVOP_RGB_0x0E = 0x0E, ///< Unknown.
+
346  GPU_TEVOP_RGB_0x0F = 0x0F, ///< Unknown.
+
347 } GPU_TEVOP_RGB;
+
348 
+
349 /// Texture Alpha combiner operands.
+
350 typedef enum
+
351 {
+
352  GPU_TEVOP_A_SRC_ALPHA = 0x00, ///< Source alpha.
+
353  GPU_TEVOP_A_ONE_MINUS_SRC_ALPHA = 0x01, ///< Source alpha - 1.
+
354  GPU_TEVOP_A_SRC_R = 0x02, ///< Source red.
+
355  GPU_TEVOP_A_ONE_MINUS_SRC_R = 0x03, ///< Source red - 1.
+
356  GPU_TEVOP_A_SRC_G = 0x04, ///< Source green.
+
357  GPU_TEVOP_A_ONE_MINUS_SRC_G = 0x05, ///< Source green - 1.
+
358  GPU_TEVOP_A_SRC_B = 0x06, ///< Source blue.
+
359  GPU_TEVOP_A_ONE_MINUS_SRC_B = 0x07, ///< Source blue - 1.
+
360 } GPU_TEVOP_A;
+
361 
+
362 /// Texture combiner functions.
+
363 typedef enum
+
364 {
+
365  GPU_REPLACE = 0x00, ///< Replace.
+
366  GPU_MODULATE = 0x01, ///< Modulate.
+
367  GPU_ADD = 0x02, ///< Add.
+
368  GPU_ADD_SIGNED = 0x03, ///< Signed add.
+
369  GPU_INTERPOLATE = 0x04, ///< Interpolate.
+
370  GPU_SUBTRACT = 0x05, ///< Subtract.
+
371  GPU_DOT3_RGB = 0x06, ///< Dot3. Scalar result is written to RGB only.
+
372  GPU_DOT3_RGBA = 0x07, ///< Dot3. Scalar result is written to RGBA.
+
373  GPU_MULTIPLY_ADD = 0x08, ///< Multiply then add.
+
374  GPU_ADD_MULTIPLY = 0x09, ///< Add then multiply.
+ +
376 
+
377 /// Texture scale factors.
+
378 typedef enum
+
379 {
+
380  GPU_TEVSCALE_1 = 0x0, ///< 1x
+
381  GPU_TEVSCALE_2 = 0x1, ///< 2x
+
382  GPU_TEVSCALE_4 = 0x2, ///< 4x
+
383 } GPU_TEVSCALE;
+
384 
+
385 /// Creates a texture combiner source parameter from three sources.
+
386 #define GPU_TEVSOURCES(a,b,c) (((a))|((b)<<4)|((c)<<8))
+
387 /// Creates a texture combiner operand parameter from three operands.
+
388 #define GPU_TEVOPERANDS(a,b,c) (((a))|((b)<<4)|((c)<<8))
+
389 
+
390 /// Creates a light environment layer configuration parameter.
+
391 #define GPU_LIGHT_ENV_LAYER_CONFIG(n) ((n)+((n)==7))
+
392 /// Light shadow disable bits in GPUREG_LIGHT_CONFIG1.
+
393 #define GPU_LC1_SHADOWBIT(n) BIT(n)
+
394 /// Light spot disable bits in GPUREG_LIGHT_CONFIG1.
+
395 #define GPU_LC1_SPOTBIT(n) BIT((n)+8)
+
396 /// LUT disable bits in GPUREG_LIGHT_CONFIG1.
+
397 #define GPU_LC1_LUTBIT(n) BIT((n)+16)
+
398 /// Light distance attenuation disable bits in GPUREG_LIGHT_CONFIG1.
+
399 #define GPU_LC1_ATTNBIT(n) BIT((n)+24)
+
400 /// Creates a light permutation parameter.
+
401 #define GPU_LIGHTPERM(i,n) ((n) << ((i)*4))
+
402 /// Creates a light LUT input parameter.
+
403 #define GPU_LIGHTLUTINPUT(i,n) ((n) << ((i)*4))
+
404 /// Creates a light LUT index parameter.
+
405 #define GPU_LIGHTLUTIDX(c,i,o) ((o) | ((i) << 8) | ((c) << 11))
+
406 /// Creates a light color parameter from red, green, and blue components.
+
407 #define GPU_LIGHTCOLOR(r,g,b) (((b) & 0xFF) | (((g) << 10) & 0xFF) | (((r) << 20) & 0xFF))
+
408 
+
409 /// Fresnel options.
+
410 typedef enum
+
411 {
+
412  GPU_NO_FRESNEL = 0, ///< None.
+
413  GPU_PRI_ALPHA_FRESNEL = 1, ///< Primary alpha.
+
414  GPU_SEC_ALPHA_FRESNEL = 2, ///< Secondary alpha.
+
415  GPU_PRI_SEC_ALPHA_FRESNEL = 3, ///< Primary and secondary alpha.
+ +
417 
+
418 /// Bump map modes.
+
419 typedef enum
+
420 {
+
421  GPU_BUMP_NOT_USED = 0, ///< Disabled.
+
422  GPU_BUMP_AS_BUMP = 1, ///< Bump as bump mapping.
+
423  GPU_BUMP_AS_TANG = 2, ///< Bump as tangent/normal mapping.
+
424 } GPU_BUMPMODE;
+
425 
+
426 /// LUT IDs.
+
427 typedef enum
+
428 {
+
429  GPU_LUT_D0 = 0, ///< D0 LUT.
+
430  GPU_LUT_D1 = 1, ///< D1 LUT.
+
431  GPU_LUT_SP = 2, ///< Spotlight LUT.
+
432  GPU_LUT_FR = 3, ///< Fresnel LUT.
+
433  GPU_LUT_RB = 4, ///< Reflection-Blue LUT.
+
434  GPU_LUT_RG = 5, ///< Reflection-Green LUT.
+
435  GPU_LUT_RR = 6, ///< Reflection-Red LUT.
+
436  GPU_LUT_DA = 7, ///< Distance attenuation LUT.
+ +
438 
+
439 /// LUT inputs.
+
440 typedef enum
+
441 {
+
442  GPU_LUTINPUT_NH = 0, ///< Normal*HalfVector
+
443  GPU_LUTINPUT_VH = 1, ///< View*HalfVector
+
444  GPU_LUTINPUT_NV = 2, ///< Normal*View
+
445  GPU_LUTINPUT_LN = 3, ///< LightVector*Normal
+
446  GPU_LUTINPUT_SP = 4, ///< -LightVector*SpotlightVector
+
447  GPU_LUTINPUT_CP = 5, ///< cosine of phi
+ +
449 
+
450 /// LUT scalers.
+
451 typedef enum
+
452 {
+
453  GPU_LUTSCALER_1x = 0, ///< 1x scale.
+
454  GPU_LUTSCALER_2x = 1, ///< 2x scale.
+
455  GPU_LUTSCALER_4x = 2, ///< 4x scale.
+
456  GPU_LUTSCALER_8x = 3, ///< 8x scale.
+
457  GPU_LUTSCALER_0_25x = 6, ///< 0.25x scale.
+
458  GPU_LUTSCALER_0_5x = 7, ///< 0.5x scale.
+ +
460 
+
461 /// LUT selection.
+
462 typedef enum
+
463 {
+
464  GPU_LUTSELECT_COMMON = 0, ///< LUTs that are common to all lights.
+
465  GPU_LUTSELECT_SP = 1, ///< Spotlight LUT.
+
466  GPU_LUTSELECT_DA = 2, ///< Distance attenuation LUT.
+ +
468 
+
469 /// Fog modes.
+
470 typedef enum
+
471 {
+
472  GPU_NO_FOG = 0, ///< Fog/Gas unit disabled.
+
473  GPU_FOG = 5, ///< Fog/Gas unit configured in Fog mode.
+
474  GPU_GAS = 7, ///< Fog/Gas unit configured in Gas mode.
+
475 } GPU_FOGMODE;
+
476 
+
477 /// Gas shading density source values.
+
478 typedef enum
+
479 {
+
480  GPU_PLAIN_DENSITY = 0, ///< Plain density.
+
481  GPU_DEPTH_DENSITY = 1, ///< Depth density.
+
482 } GPU_GASMODE;
+
483 
+
484 /// Gas color LUT inputs.
+
485 typedef enum
+
486 {
+
487  GPU_GAS_DENSITY = 0, ///< Gas density used as input.
+
488  GPU_GAS_LIGHT_FACTOR = 1, ///< Light factor used as input.
+ +
490 
+
491 /// Supported primitives.
+
492 typedef enum
+
493 {
+
494  GPU_TRIANGLES = 0x0000, ///< Triangles.
+
495  GPU_TRIANGLE_STRIP = 0x0100, ///< Triangle strip.
+
496  GPU_TRIANGLE_FAN = 0x0200, ///< Triangle fan.
+
497  GPU_GEOMETRY_PRIM = 0x0300, ///< Geometry shader primitive.
+ +
499 
+
500 /// Shader types.
+
501 typedef enum
+
502 {
+
503  GPU_VERTEX_SHADER = 0x0, ///< Vertex shader.
+
504  GPU_GEOMETRY_SHADER = 0x1, ///< Geometry shader.
+ +
GPU_COMBINEFUNC
Texture combiner functions.
Definition: enums.h:364
+
@ GPU_DOT3_RGB
Dot3. Scalar result is written to RGB only.
Definition: enums.h:371
+
@ GPU_ADD_SIGNED
Signed add.
Definition: enums.h:368
+
@ GPU_ADD
Add.
Definition: enums.h:367
+
@ GPU_REPLACE
Replace.
Definition: enums.h:365
+
@ GPU_SUBTRACT
Subtract.
Definition: enums.h:370
+
@ GPU_ADD_MULTIPLY
Add then multiply.
Definition: enums.h:374
+
@ GPU_MULTIPLY_ADD
Multiply then add.
Definition: enums.h:373
+
@ GPU_DOT3_RGBA
Dot3. Scalar result is written to RGBA.
Definition: enums.h:372
+
@ GPU_INTERPOLATE
Interpolate.
Definition: enums.h:369
+
@ GPU_MODULATE
Modulate.
Definition: enums.h:366
+
GPU_TEVSCALE
Texture scale factors.
Definition: enums.h:379
+
@ GPU_TEVSCALE_2
2x
Definition: enums.h:381
+
@ GPU_TEVSCALE_1
1x
Definition: enums.h:380
+
@ GPU_TEVSCALE_4
4x
Definition: enums.h:382
+
GPU_TEVOP_RGB
Texture RGB combiner operands.
Definition: enums.h:330
+
@ GPU_TEVOP_RGB_0x07
Unknown.
Definition: enums.h:338
+
@ GPU_TEVOP_RGB_0x0B
Unknown.
Definition: enums.h:342
+
@ GPU_TEVOP_RGB_0x0E
Unknown.
Definition: enums.h:345
+
@ GPU_TEVOP_RGB_SRC_COLOR
Source color.
Definition: enums.h:331
+
@ GPU_TEVOP_RGB_ONE_MINUS_SRC_G
Source green - 1.
Definition: enums.h:340
+
@ GPU_TEVOP_RGB_SRC_B
Source blue.
Definition: enums.h:343
+
@ GPU_TEVOP_RGB_0x0F
Unknown.
Definition: enums.h:346
+
@ GPU_TEVOP_RGB_0x0A
Unknown.
Definition: enums.h:341
+
@ GPU_TEVOP_RGB_0x06
Unknown.
Definition: enums.h:337
+
@ GPU_TEVOP_RGB_ONE_MINUS_SRC_COLOR
Source color - 1.
Definition: enums.h:332
+
@ GPU_TEVOP_RGB_ONE_MINUS_SRC_R
Source red - 1.
Definition: enums.h:336
+
@ GPU_TEVOP_RGB_ONE_MINUS_SRC_B
Source blue - 1.
Definition: enums.h:344
+
@ GPU_TEVOP_RGB_SRC_R
Source red.
Definition: enums.h:335
+
@ GPU_TEVOP_RGB_SRC_ALPHA
Source alpha.
Definition: enums.h:333
+
@ GPU_TEVOP_RGB_ONE_MINUS_SRC_ALPHA
Source alpha - 1.
Definition: enums.h:334
+
@ GPU_TEVOP_RGB_SRC_G
Source green.
Definition: enums.h:339
+
GPU_FRESNELSEL
Fresnel options.
Definition: enums.h:411
+
@ GPU_PRI_SEC_ALPHA_FRESNEL
Primary and secondary alpha.
Definition: enums.h:415
+
@ GPU_SEC_ALPHA_FRESNEL
Secondary alpha.
Definition: enums.h:414
+
@ GPU_NO_FRESNEL
None.
Definition: enums.h:412
+
@ GPU_PRI_ALPHA_FRESNEL
Primary alpha.
Definition: enums.h:413
+
GPU_SHADER_TYPE
Shader types.
Definition: enums.h:502
+
@ GPU_GEOMETRY_SHADER
Geometry shader.
Definition: enums.h:504
+
@ GPU_VERTEX_SHADER
Vertex shader.
Definition: enums.h:503
+
GPU_COLORBUF
Supported color buffer formats.
Definition: enums.h:149
+
@ GPU_RB_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: enums.h:150
+
@ GPU_RB_RGB565
5-bit Red + 6-bit Green + 5-bit Blue
Definition: enums.h:153
+
@ GPU_RB_RGBA4
4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha
Definition: enums.h:154
+
@ GPU_RB_RGB8
8-bit Red + 8-bit Green + 8-bit Blue
Definition: enums.h:151
+
@ GPU_RB_RGBA5551
5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha
Definition: enums.h:152
+
GPU_FOGMODE
Fog modes.
Definition: enums.h:471
+
@ GPU_GAS
Fog/Gas unit configured in Gas mode.
Definition: enums.h:474
+
@ GPU_NO_FOG
Fog/Gas unit disabled.
Definition: enums.h:472
+
@ GPU_FOG
Fog/Gas unit configured in Fog mode.
Definition: enums.h:473
+
GPU_LIGHTLUTID
LUT IDs.
Definition: enums.h:428
+
@ GPU_LUT_RB
Reflection-Blue LUT.
Definition: enums.h:433
+
@ GPU_LUT_RG
Reflection-Green LUT.
Definition: enums.h:434
+
@ GPU_LUT_RR
Reflection-Red LUT.
Definition: enums.h:435
+
@ GPU_LUT_D1
D1 LUT.
Definition: enums.h:430
+
@ GPU_LUT_SP
Spotlight LUT.
Definition: enums.h:431
+
@ GPU_LUT_DA
Distance attenuation LUT.
Definition: enums.h:436
+
@ GPU_LUT_FR
Fresnel LUT.
Definition: enums.h:432
+
@ GPU_LUT_D0
D0 LUT.
Definition: enums.h:429
+
GPU_BLENDFACTOR
Blend factors.
Definition: enums.h:246
+
@ GPU_CONSTANT_ALPHA
Constant alpha.
Definition: enums.h:259
+
@ GPU_SRC_ALPHA_SATURATE
Saturated alpha.
Definition: enums.h:261
+
@ GPU_CONSTANT_COLOR
Constant color.
Definition: enums.h:257
+
@ GPU_ONE_MINUS_CONSTANT_ALPHA
Constant alpha - 1.
Definition: enums.h:260
+
@ GPU_ONE_MINUS_SRC_COLOR
Source color - 1.
Definition: enums.h:250
+
@ GPU_ONE_MINUS_SRC_ALPHA
Source alpha - 1.
Definition: enums.h:254
+
@ GPU_ONE
One.
Definition: enums.h:248
+
@ GPU_DST_ALPHA
Destination alpha.
Definition: enums.h:255
+
@ GPU_ONE_MINUS_DST_ALPHA
Destination alpha - 1.
Definition: enums.h:256
+
@ GPU_ZERO
Zero.
Definition: enums.h:247
+
@ GPU_ONE_MINUS_DST_COLOR
Destination color - 1.
Definition: enums.h:252
+
@ GPU_ONE_MINUS_CONSTANT_COLOR
Constant color - 1.
Definition: enums.h:258
+
@ GPU_DST_COLOR
Destination color.
Definition: enums.h:251
+
@ GPU_SRC_ALPHA
Source alpha.
Definition: enums.h:253
+
@ GPU_SRC_COLOR
Source color.
Definition: enums.h:249
+
GPU_TEXTURE_FILTER_PARAM
Texture filters.
Definition: enums.h:29
+
@ GPU_LINEAR
Linear interpolation.
Definition: enums.h:31
+
@ GPU_NEAREST
Nearest-neighbor interpolation.
Definition: enums.h:30
+
GPU_TEXFACE
Texture faces.
Definition: enums.h:83
+
@ GPU_NEGATIVE_Y
-Y face
Definition: enums.h:88
+
@ GPU_NEGATIVE_Z
-Z face
Definition: enums.h:90
+
@ GPU_NEGATIVE_X
-X face
Definition: enums.h:86
+
@ GPU_POSITIVE_Y
+Y face
Definition: enums.h:87
+
@ GPU_TEXFACE_2D
2D face
Definition: enums.h:84
+
@ GPU_POSITIVE_X
+X face
Definition: enums.h:85
+
@ GPU_POSITIVE_Z
+Z face
Definition: enums.h:89
+
GPU_TEVOP_A
Texture Alpha combiner operands.
Definition: enums.h:351
+
@ GPU_TEVOP_A_SRC_R
Source red.
Definition: enums.h:354
+
@ GPU_TEVOP_A_SRC_G
Source green.
Definition: enums.h:356
+
@ GPU_TEVOP_A_SRC_B
Source blue.
Definition: enums.h:358
+
@ GPU_TEVOP_A_SRC_ALPHA
Source alpha.
Definition: enums.h:352
+
@ GPU_TEVOP_A_ONE_MINUS_SRC_B
Source blue - 1.
Definition: enums.h:359
+
@ GPU_TEVOP_A_ONE_MINUS_SRC_ALPHA
Source alpha - 1.
Definition: enums.h:353
+
@ GPU_TEVOP_A_ONE_MINUS_SRC_R
Source red - 1.
Definition: enums.h:355
+
@ GPU_TEVOP_A_ONE_MINUS_SRC_G
Source green - 1.
Definition: enums.h:357
+
GPU_FORMATS
Supported component formats.
Definition: enums.h:295
+
@ GPU_SHORT
16-bit short.
Definition: enums.h:298
+
@ GPU_BYTE
8-bit byte.
Definition: enums.h:296
+
@ GPU_UNSIGNED_BYTE
8-bit unsigned byte.
Definition: enums.h:297
+
@ GPU_FLOAT
32-bit float.
Definition: enums.h:299
+
GPU_SCISSORMODE
Scissor test modes.
Definition: enums.h:201
+
@ GPU_SCISSOR_INVERT
Exclude pixels inside the scissor box.
Definition: enums.h:203
+
@ GPU_SCISSOR_NORMAL
Exclude pixels outside of the scissor box.
Definition: enums.h:205
+
@ GPU_SCISSOR_DISABLE
Disable.
Definition: enums.h:202
+
GPU_PROCTEX_FILTER
Procedural texture filter values.
Definition: enums.h:128
+
@ GPU_PT_NEAREST_MIP_LINEAR
Nearest-neighbor with mipmap using linear interpolation.
Definition: enums.h:133
+
@ GPU_PT_LINEAR
Linear interpolation.
Definition: enums.h:130
+
@ GPU_PT_NEAREST_MIP_NEAREST
Nearest-neighbor with mipmap using nearest-neighbor.
Definition: enums.h:131
+
@ GPU_PT_NEAREST
Nearest-neighbor.
Definition: enums.h:129
+
@ GPU_PT_LINEAR_MIP_NEAREST
Linear interpolation with mipmap using nearest-neighbor.
Definition: enums.h:132
+
@ GPU_PT_LINEAR_MIP_LINEAR
Linear interpolation with mipmap using linear interpolation.
Definition: enums.h:134
+
GPU_TEVSRC
Texture combiner sources.
Definition: enums.h:315
+
@ GPU_FRAGMENT_PRIMARY_COLOR
Primary fragment color.
Definition: enums.h:317
+
@ GPU_PREVIOUS
Previous value.
Definition: enums.h:325
+
@ GPU_TEXTURE2
Texture unit 2.
Definition: enums.h:321
+
@ GPU_PREVIOUS_BUFFER
Previous buffer.
Definition: enums.h:323
+
@ GPU_CONSTANT
Constant value.
Definition: enums.h:324
+
@ GPU_PRIMARY_COLOR
Primary color.
Definition: enums.h:316
+
@ GPU_TEXTURE3
Texture unit 3.
Definition: enums.h:322
+
@ GPU_FRAGMENT_SECONDARY_COLOR
Secondary fragment color.
Definition: enums.h:318
+
@ GPU_TEXTURE0
Texture unit 0.
Definition: enums.h:319
+
@ GPU_TEXTURE1
Texture unit 1.
Definition: enums.h:320
+
GPU_TEXUNIT
Supported texture units.
Definition: enums.h:56
+
@ GPU_TEXUNIT0
Texture unit 0.
Definition: enums.h:57
+
@ GPU_TEXUNIT1
Texture unit 1.
Definition: enums.h:58
+
@ GPU_TEXUNIT2
Texture unit 2.
Definition: enums.h:59
+
GPU_LOGICOP
Logical operations.
Definition: enums.h:266
+
@ GPU_LOGICOP_AND_REVERSE
Reverse bitwise AND.
Definition: enums.h:269
+
@ GPU_LOGICOP_XOR
Bitwise XOR.
Definition: enums.h:278
+
@ GPU_LOGICOP_OR
Bitwise OR.
Definition: enums.h:276
+
@ GPU_LOGICOP_COPY_INVERTED
Inverted copy.
Definition: enums.h:272
+
@ GPU_LOGICOP_OR_REVERSE
Reverse bitwise OR.
Definition: enums.h:281
+
@ GPU_LOGICOP_SET
Set.
Definition: enums.h:271
+
@ GPU_LOGICOP_AND
Bitwise AND.
Definition: enums.h:268
+
@ GPU_LOGICOP_NAND
Bitwise NAND.
Definition: enums.h:275
+
@ GPU_LOGICOP_OR_INVERTED
Inverted bitwize OR.
Definition: enums.h:282
+
@ GPU_LOGICOP_CLEAR
Clear.
Definition: enums.h:267
+
@ GPU_LOGICOP_EQUIV
Equivalent.
Definition: enums.h:279
+
@ GPU_LOGICOP_NOOP
No operation.
Definition: enums.h:273
+
@ GPU_LOGICOP_COPY
Copy.
Definition: enums.h:270
+
@ GPU_LOGICOP_INVERT
Invert.
Definition: enums.h:274
+
@ GPU_LOGICOP_AND_INVERTED
Inverted bitwise AND.
Definition: enums.h:280
+
@ GPU_LOGICOP_NOR
Bitwise NOR.
Definition: enums.h:277
+
GPU_BUMPMODE
Bump map modes.
Definition: enums.h:420
+
@ GPU_BUMP_NOT_USED
Disabled.
Definition: enums.h:421
+
@ GPU_BUMP_AS_BUMP
Bump as bump mapping.
Definition: enums.h:422
+
@ GPU_BUMP_AS_TANG
Bump as tangent/normal mapping.
Definition: enums.h:423
+
GPU_TEXTURE_MODE_PARAM
Texture modes.
Definition: enums.h:45
+
@ GPU_TEX_SHADOW_2D
2D Shadow texture
Definition: enums.h:48
+
@ GPU_TEX_SHADOW_CUBE
Shadow cube map.
Definition: enums.h:50
+
@ GPU_TEX_PROJECTION
Projection texture.
Definition: enums.h:49
+
@ GPU_TEX_2D
2D texture
Definition: enums.h:46
+
@ GPU_TEX_DISABLED
Disabled.
Definition: enums.h:51
+
@ GPU_TEX_CUBE_MAP
Cube map.
Definition: enums.h:47
+
GPU_TEXCOLOR
Supported texture formats.
Definition: enums.h:64
+
@ GPU_RGB565
5-bit Red + 6-bit Green + 5-bit Blue
Definition: enums.h:68
+
@ GPU_RGB8
8-bit Red + 8-bit Green + 8-bit Blue
Definition: enums.h:66
+
@ GPU_ETC1
ETC1 texture compression.
Definition: enums.h:77
+
@ GPU_A8
8-bit Alpha
Definition: enums.h:73
+
@ GPU_RGBA5551
5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha
Definition: enums.h:67
+
@ GPU_LA8
8-bit Luminance + 8-bit Alpha
Definition: enums.h:70
+
@ GPU_A4
4-bit Alpha
Definition: enums.h:76
+
@ GPU_HILO8
8-bit Hi + 8-bit Lo
Definition: enums.h:71
+
@ GPU_ETC1A4
ETC1 texture compression + 4-bit Alpha.
Definition: enums.h:78
+
@ GPU_LA4
4-bit Luminance + 4-bit Alpha
Definition: enums.h:74
+
@ GPU_RGBA4
4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha
Definition: enums.h:69
+
@ GPU_L4
4-bit Luminance
Definition: enums.h:75
+
@ GPU_L8
8-bit Luminance
Definition: enums.h:72
+
@ GPU_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: enums.h:65
+
GPU_PROCTEX_SHIFT
Procedural texture shift values.
Definition: enums.h:120
+
@ GPU_PT_EVEN
Even shift.
Definition: enums.h:123
+
@ GPU_PT_ODD
Odd shift.
Definition: enums.h:122
+
@ GPU_PT_NONE
No shift.
Definition: enums.h:121
+
GPU_WRITEMASK
Pixel write mask.
Definition: enums.h:223
+
@ GPU_WRITE_RED
Write red.
Definition: enums.h:224
+
@ GPU_WRITE_GREEN
Write green.
Definition: enums.h:225
+
@ GPU_WRITE_BLUE
Write blue.
Definition: enums.h:226
+
@ GPU_WRITE_DEPTH
Write depth.
Definition: enums.h:228
+
@ GPU_WRITE_COLOR
Write all color components.
Definition: enums.h:230
+
@ GPU_WRITE_ALL
Write all components.
Definition: enums.h:231
+
@ GPU_WRITE_ALPHA
Write alpha.
Definition: enums.h:227
+
GPU_GASDEPTHFUNC
Gas depth functions.
Definition: enums.h:189
+
@ GPU_GAS_GREATER
Pass if greater than (1-X).
Definition: enums.h:192
+
@ GPU_GAS_ALWAYS
Always pass (1).
Definition: enums.h:191
+
@ GPU_GAS_NEVER
Never pass (0).
Definition: enums.h:190
+
@ GPU_GAS_LESS
Pass if less than (X).
Definition: enums.h:193
+
#define GPU_LIGHTLUTINPUT(i, n)
Creates a light LUT input parameter.
Definition: enums.h:403
+
GPU_EARLYDEPTHFUNC
Early depth test functions.
Definition: enums.h:180
+
@ GPU_EARLYDEPTH_GREATER
Pass if greater than.
Definition: enums.h:182
+
@ GPU_EARLYDEPTH_LESS
Pass if less than.
Definition: enums.h:184
+
@ GPU_EARLYDEPTH_LEQUAL
Pass if less than or equal.
Definition: enums.h:183
+
@ GPU_EARLYDEPTH_GEQUAL
Pass if greater than or equal.
Definition: enums.h:181
+
GPU_Primitive_t
Supported primitives.
Definition: enums.h:493
+
@ GPU_TRIANGLE_FAN
Triangle fan.
Definition: enums.h:496
+
@ GPU_GEOMETRY_PRIM
Geometry shader primitive.
Definition: enums.h:497
+
@ GPU_TRIANGLE_STRIP
Triangle strip.
Definition: enums.h:495
+
@ GPU_TRIANGLES
Triangles.
Definition: enums.h:494
+
GPU_DEPTHBUF
Supported depth buffer formats.
Definition: enums.h:159
+
@ GPU_RB_DEPTH24
24-bit Depth
Definition: enums.h:161
+
@ GPU_RB_DEPTH16
16-bit Depth
Definition: enums.h:160
+
@ GPU_RB_DEPTH24_STENCIL8
24-bit Depth + 8-bit Stencil
Definition: enums.h:162
+
GPU_FRAGOPMODE
Fragment operation modes.
Definition: enums.h:287
+
@ GPU_FRAGOPMODE_GL
OpenGL mode.
Definition: enums.h:288
+
@ GPU_FRAGOPMODE_SHADOW
Shadow mode (?).
Definition: enums.h:290
+
@ GPU_FRAGOPMODE_GAS_ACC
Gas mode (?).
Definition: enums.h:289
+
GPU_STENCILOP
Stencil operations.
Definition: enums.h:210
+
@ GPU_STENCIL_ZERO
Zero. (0)
Definition: enums.h:212
+
@ GPU_STENCIL_KEEP
Keep old value. (old_stencil)
Definition: enums.h:211
+
@ GPU_STENCIL_INVERT
Invert value. (~old_stencil)
Definition: enums.h:216
+
@ GPU_STENCIL_INCR
Increment value. (old_stencil + 1 saturated to [0, 255])
Definition: enums.h:214
+
@ GPU_STENCIL_INCR_WRAP
Increment value. (old_stencil + 1)
Definition: enums.h:217
+
@ GPU_STENCIL_REPLACE
Replace value. (ref)
Definition: enums.h:213
+
@ GPU_STENCIL_DECR
Decrement value. (old_stencil - 1 saturated to [0, 255])
Definition: enums.h:215
+
@ GPU_STENCIL_DECR_WRAP
Decrement value. (old_stencil - 1)
Definition: enums.h:218
+
GPU_PROCTEX_LUTID
Procedural texture LUT IDs.
Definition: enums.h:139
+
@ GPU_LUT_NOISE
Noise table.
Definition: enums.h:140
+
@ GPU_LUT_ALPHAMAP
Alpha mapping function table.
Definition: enums.h:142
+
@ GPU_LUT_COLOR
Color table.
Definition: enums.h:143
+
@ GPU_LUT_RGBMAP
RGB mapping function table.
Definition: enums.h:141
+
@ GPU_LUT_COLORDIF
Color difference table.
Definition: enums.h:144
+
@ GPU_LUTINPUT_NV
Normal*View.
Definition: enums.h:444
+
@ GPU_LUTINPUT_LN
LightVector*Normal.
Definition: enums.h:445
+
@ GPU_LUTINPUT_CP
cosine of phi
Definition: enums.h:447
+
@ GPU_LUTINPUT_SP
-LightVector*SpotlightVector
Definition: enums.h:446
+
@ GPU_LUTINPUT_NH
Normal*HalfVector.
Definition: enums.h:442
+
@ GPU_LUTINPUT_VH
View*HalfVector.
Definition: enums.h:443
+
GPU_PROCTEX_CLAMP
Procedural texture clamp modes.
Definition: enums.h:95
+
@ GPU_PT_CLAMP_TO_EDGE
Clamp to edge.
Definition: enums.h:97
+
@ GPU_PT_CLAMP_TO_ZERO
Clamp to zero.
Definition: enums.h:96
+
@ GPU_PT_MIRRORED_REPEAT
Mirrored repeat.
Definition: enums.h:99
+
@ GPU_PT_REPEAT
Symmetrical repeat.
Definition: enums.h:98
+
@ GPU_PT_PULSE
Pulse.
Definition: enums.h:100
+
GPU_TEXTURE_WRAP_PARAM
Texture wrap modes.
Definition: enums.h:36
+
@ GPU_REPEAT
Repeats texture.
Definition: enums.h:39
+
@ GPU_CLAMP_TO_BORDER
Clamps to border.
Definition: enums.h:38
+
@ GPU_CLAMP_TO_EDGE
Clamps to edge.
Definition: enums.h:37
+
@ GPU_MIRRORED_REPEAT
Repeats with mirrored texture.
Definition: enums.h:40
+
GPU_GASMODE
Gas shading density source values.
Definition: enums.h:479
+
@ GPU_DEPTH_DENSITY
Depth density.
Definition: enums.h:481
+
@ GPU_PLAIN_DENSITY
Plain density.
Definition: enums.h:480
+
GPU_LIGHTLUTSELECT
LUT selection.
Definition: enums.h:463
+
@ GPU_LUTSELECT_DA
Distance attenuation LUT.
Definition: enums.h:466
+
@ GPU_LUTSELECT_COMMON
LUTs that are common to all lights.
Definition: enums.h:464
+
@ GPU_LUTSELECT_SP
Spotlight LUT.
Definition: enums.h:465
+
GPU_TESTFUNC
Test functions.
Definition: enums.h:167
+
@ GPU_GEQUAL
Pass if greater than or equal.
Definition: enums.h:175
+
@ GPU_NEVER
Never pass.
Definition: enums.h:168
+
@ GPU_ALWAYS
Always pass.
Definition: enums.h:169
+
@ GPU_EQUAL
Pass if equal.
Definition: enums.h:170
+
@ GPU_LEQUAL
Pass if less than or equal.
Definition: enums.h:173
+
@ GPU_LESS
Pass if less than.
Definition: enums.h:172
+
@ GPU_GREATER
Pass if greater than.
Definition: enums.h:174
+
@ GPU_NOTEQUAL
Pass if not equal.
Definition: enums.h:171
+
GPU_GASLUTINPUT
Gas color LUT inputs.
Definition: enums.h:486
+
@ GPU_GAS_LIGHT_FACTOR
Light factor used as input.
Definition: enums.h:488
+
@ GPU_GAS_DENSITY
Gas density used as input.
Definition: enums.h:487
+
GPU_BLENDEQUATION
Blend modes.
Definition: enums.h:236
+
@ GPU_BLEND_ADD
Add colors.
Definition: enums.h:237
+
@ GPU_BLEND_MIN
Use the minimum color.
Definition: enums.h:240
+
@ GPU_BLEND_MAX
Use the maximum color.
Definition: enums.h:241
+
@ GPU_BLEND_SUBTRACT
Subtract colors.
Definition: enums.h:238
+
@ GPU_BLEND_REVERSE_SUBTRACT
Reverse-subtract colors.
Definition: enums.h:239
+
GPU_CULLMODE
Cull modes.
Definition: enums.h:304
+
@ GPU_CULL_FRONT_CCW
Front, counter-clockwise.
Definition: enums.h:306
+
@ GPU_CULL_BACK_CCW
Back, counter-clockwise.
Definition: enums.h:307
+
@ GPU_CULL_NONE
Disabled.
Definition: enums.h:305
+
GPU_PROCTEX_MAPFUNC
Procedural texture mapping functions.
Definition: enums.h:105
+
@ GPU_PT_U
U.
Definition: enums.h:106
+
@ GPU_PT_ADD
U+V.
Definition: enums.h:110
+
@ GPU_PT_ADD2
U2+V2.
Definition: enums.h:111
+
@ GPU_PT_MIN
min
Definition: enums.h:113
+
@ GPU_PT_RMAX
rmax
Definition: enums.h:115
+
@ GPU_PT_SQRT2
sqrt(U2+V2)
Definition: enums.h:112
+
@ GPU_PT_U2
U2.
Definition: enums.h:107
+
@ GPU_PT_V2
V2.
Definition: enums.h:109
+
@ GPU_PT_V
V.
Definition: enums.h:108
+
@ GPU_PT_MAX
max
Definition: enums.h:114
+
GPU_LIGHTLUTSCALER
LUT scalers.
Definition: enums.h:452
+
@ GPU_LUTSCALER_4x
4x scale.
Definition: enums.h:455
+
@ GPU_LUTSCALER_0_5x
0.5x scale.
Definition: enums.h:458
+
@ GPU_LUTSCALER_2x
2x scale.
Definition: enums.h:454
+
@ GPU_LUTSCALER_0_25x
0.25x scale.
Definition: enums.h:457
+
@ GPU_LUTSCALER_8x
8x scale.
Definition: enums.h:456
+
@ GPU_LUTSCALER_1x
1x scale.
Definition: enums.h:453
+
+ + + + diff --git a/env_8h.html b/env_8h.html new file mode 100644 index 000000000..e42c4d58f --- /dev/null +++ b/env_8h.html @@ -0,0 +1,354 @@ + + + + + + + +libctru: include/3ds/env.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
env.h File Reference
+
+
+ +

Homebrew environment information. +More...

+ +

Go to the source code of this file.

+ + + + + +

+Enumerations

enum  {
+  RUNFLAG_APTWORKAROUND = BIT(0) +,
+  RUNFLAG_APTREINIT = BIT(1) +,
+  RUNFLAG_APTCHAINLOAD = BIT(2) +
+ }
 System run-flags. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

static bool envIsHomebrew (void)
 Gets whether the application was launched from a homebrew environment. More...
 
Handle envGetHandle (const char *name)
 Retrieves a handle from the environment handle list. More...
 
static u32 envGetAptAppId (void)
 Gets the environment-recommended app ID to use with APT. More...
 
static u32 envGetHeapSize (void)
 Gets the size of the application heap. More...
 
static u32 envGetLinearHeapSize (void)
 Gets the size of the linear heap. More...
 
static const char * envGetSystemArgList (void)
 Gets the environment argument list. More...
 
static u32 envGetSystemRunFlags (void)
 Gets the environment run flags. More...
 
+

Detailed Description

+

Homebrew environment information.

+

Enumeration Type Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

System run-flags.

+ + + + +
Enumerator
RUNFLAG_APTWORKAROUND 

Use APT workaround.

+
RUNFLAG_APTREINIT 

Reinitialize APT.

+
RUNFLAG_APTCHAINLOAD 

Chainload APT on return.

+
+ +
+
+

Function Documentation

+ +

◆ envGetAptAppId()

+ +
+
+ + + + + +
+ + + + + + + + +
static u32 envGetAptAppId (void )
+
+inlinestatic
+
+ +

Gets the environment-recommended app ID to use with APT.

+
Returns
The APT app ID.
+ +
+
+ +

◆ envGetHandle()

+ +
+
+ + + + + + + + +
Handle envGetHandle (const char * name)
+
+ +

Retrieves a handle from the environment handle list.

+
Parameters
+ + +
nameName of the handle.
+
+
+
Returns
The retrieved handle.
+ +
+
+ +

◆ envGetHeapSize()

+ +
+
+ + + + + +
+ + + + + + + + +
static u32 envGetHeapSize (void )
+
+inlinestatic
+
+ +

Gets the size of the application heap.

+
Returns
The application heap size.
+ +
+
+ +

◆ envGetLinearHeapSize()

+ +
+
+ + + + + +
+ + + + + + + + +
static u32 envGetLinearHeapSize (void )
+
+inlinestatic
+
+ +

Gets the size of the linear heap.

+
Returns
The linear heap size.
+ +
+
+ +

◆ envGetSystemArgList()

+ +
+
+ + + + + +
+ + + + + + + + +
static const char* envGetSystemArgList (void )
+
+inlinestatic
+
+ +

Gets the environment argument list.

+
Returns
The argument list.
+ +
+
+ +

◆ envGetSystemRunFlags()

+ +
+
+ + + + + +
+ + + + + + + + +
static u32 envGetSystemRunFlags (void )
+
+inlinestatic
+
+ +

Gets the environment run flags.

+
Returns
The run flags.
+ +
+
+ +

◆ envIsHomebrew()

+ +
+
+ + + + + +
+ + + + + + + + +
static bool envIsHomebrew (void )
+
+inlinestatic
+
+ +

Gets whether the application was launched from a homebrew environment.

+
Returns
Whether the application was launched from a homebrew environment.
+ +
+
+
+ + + + diff --git a/env_8h_source.html b/env_8h_source.html new file mode 100644 index 000000000..b125aad25 --- /dev/null +++ b/env_8h_source.html @@ -0,0 +1,165 @@ + + + + + + + +libctru: include/3ds/env.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
env.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file env.h
+
3  * @brief Homebrew environment information.
+
4  */
+
5 #pragma once
+
6 
+
7 /// System run-flags.
+
8 enum {
+
9  RUNFLAG_APTWORKAROUND = BIT(0), ///< Use APT workaround.
+
10  RUNFLAG_APTREINIT = BIT(1), ///< Reinitialize APT.
+
11  RUNFLAG_APTCHAINLOAD = BIT(2), ///< Chainload APT on return.
+
12 };
+
13 
+
14 /**
+
15  * @brief Gets whether the application was launched from a homebrew environment.
+
16  * @return Whether the application was launched from a homebrew environment.
+
17  */
+
18 static inline bool envIsHomebrew(void) {
+
19  extern void* __service_ptr;
+
20  return __service_ptr != NULL;
+
21 }
+
22 
+
23 /**
+
24  * @brief Retrieves a handle from the environment handle list.
+
25  * @param name Name of the handle.
+
26  * @return The retrieved handle.
+
27  */
+
28 Handle envGetHandle(const char* name);
+
29 
+
30 /**
+
31  * @brief Gets the environment-recommended app ID to use with APT.
+
32  * @return The APT app ID.
+
33  */
+
34 static inline u32 envGetAptAppId(void) {
+
35  extern u32 __apt_appid;
+
36  return __apt_appid;
+
37 }
+
38 
+
39 /**
+
40  * @brief Gets the size of the application heap.
+
41  * @return The application heap size.
+
42  */
+
43 static inline u32 envGetHeapSize(void) {
+
44  extern u32 __ctru_heap_size;
+
45  return __ctru_heap_size;
+
46 }
+
47 
+
48 /**
+
49  * @brief Gets the size of the linear heap.
+
50  * @return The linear heap size.
+
51  */
+
52 static inline u32 envGetLinearHeapSize(void) {
+
53  extern u32 __ctru_linear_heap_size;
+
54  return __ctru_linear_heap_size;
+
55 }
+
56 
+
57 /**
+
58  * @brief Gets the environment argument list.
+
59  * @return The argument list.
+
60  */
+
61 static inline const char* envGetSystemArgList(void) {
+
62  extern const char* __system_arglist;
+
63  return __system_arglist;
+
64 }
+
65 
+
66 /**
+
67  * @brief Gets the environment run flags.
+
68  * @return The run flags.
+
69  */
+
70 static inline u32 envGetSystemRunFlags(void) {
+
71  extern u32 __system_runflags;
+
72  return __system_runflags;
+
73 }
+
static const char * envGetSystemArgList(void)
Gets the environment argument list.
Definition: env.h:61
+
static u32 envGetAptAppId(void)
Gets the environment-recommended app ID to use with APT.
Definition: env.h:34
+
static bool envIsHomebrew(void)
Gets whether the application was launched from a homebrew environment.
Definition: env.h:18
+
@ RUNFLAG_APTREINIT
Reinitialize APT.
Definition: env.h:10
+
@ RUNFLAG_APTCHAINLOAD
Chainload APT on return.
Definition: env.h:11
+
@ RUNFLAG_APTWORKAROUND
Use APT workaround.
Definition: env.h:9
+
static u32 envGetHeapSize(void)
Gets the size of the application heap.
Definition: env.h:43
+
static u32 envGetSystemRunFlags(void)
Gets the environment run flags.
Definition: env.h:70
+
Handle envGetHandle(const char *name)
Retrieves a handle from the environment handle list.
+
static u32 envGetLinearHeapSize(void)
Gets the size of the linear heap.
Definition: env.h:52
+
#define BIT(n)
Creates a bitmask from a bit number.
Definition: types.h:47
+
u32 Handle
Resource handle.
Definition: types.h:41
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/errf_8h.html b/errf_8h.html new file mode 100644 index 000000000..f0e1e38a7 --- /dev/null +++ b/errf_8h.html @@ -0,0 +1,433 @@ + + + + + + + +libctru: include/3ds/errf.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
errf.h File Reference
+
+
+ +

Error Display API. +More...

+
#include <3ds/types.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

struct  ERRF_ExceptionInfo
 
struct  ERRF_ExceptionData
 
struct  ERRF_FatalErrInfo
 
+ + + + + + + +

+Enumerations

enum  ERRF_ErrType {
+  ERRF_ERRTYPE_GENERIC = 0 +,
+  ERRF_ERRTYPE_NAND_DAMAGED = 1 +,
+  ERRF_ERRTYPE_CARD_REMOVED = 2 +,
+  ERRF_ERRTYPE_EXCEPTION = 3 +,
+  ERRF_ERRTYPE_FAILURE = 4 +,
+  ERRF_ERRTYPE_LOG_ONLY = 5 +
+ }
 Types of errors that can be thrown by err:f. More...
 
enum  ERRF_ExceptionType {
+  ERRF_EXCEPTION_PREFETCH_ABORT = 0 +,
+  ERRF_EXCEPTION_DATA_ABORT = 1 +,
+  ERRF_EXCEPTION_UNDEFINED = 2 +,
+  ERRF_EXCEPTION_VFP = 3 +
+ }
 Types of 'Exceptions' thrown for ERRF_ERRTYPE_EXCEPTION. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+Result errfInit (void)
 Initializes ERR:f. Unless you plan to call ERRF_Throw yourself, do not use this.
 
+void errfExit (void)
 Exits ERR:f. Unless you plan to call ERRF_Throw yourself, do not use this.
 
HandleerrfGetSessionHandle (void)
 Gets the current err:f API session handle. More...
 
Result ERRF_Throw (const ERRF_FatalErrInfo *error)
 Throws a system error and possibly logs it. More...
 
Result ERRF_ThrowResult (Result failure)
 Throws (and logs) a system error with the given Result code. More...
 
Result ERRF_LogResult (Result failure)
 Logs a system error with the given Result code. More...
 
Result ERRF_ThrowResultWithMessage (Result failure, const char *message)
 Throws a system error with the given Result code and message. More...
 
Result ERRF_SetUserString (const char *user_string)
 Specify an additional user string to use for error reporting. More...
 
void ERRF_ExceptionHandler (ERRF_ExceptionInfo *excep, CpuRegisters *regs) __attribute__((noreturn))
 Handles an exception using ErrDisp. More...
 
+

Detailed Description

+

Error Display API.

+

Enumeration Type Documentation

+ +

◆ ERRF_ErrType

+ +
+
+ + + + +
enum ERRF_ErrType
+
+ +

Types of errors that can be thrown by err:f.

+ + + + + + + +
Enumerator
ERRF_ERRTYPE_GENERIC 

Generic fatal error. Shows miscellaneous info, including the address of the caller.

+
ERRF_ERRTYPE_NAND_DAMAGED 

Damaged NAND (CC_ERROR after reading CSR)

+
ERRF_ERRTYPE_CARD_REMOVED 

Game content storage medium (cartridge and/or SD card) ejected. Not logged.

+
ERRF_ERRTYPE_EXCEPTION 

CPU or VFP exception.

+
ERRF_ERRTYPE_FAILURE 

Fatal error with a message instead of the caller's address.

+
ERRF_ERRTYPE_LOG_ONLY 

Log-level failure. Does not display the exception and does not force the system to reboot.

+
+ +
+
+ +

◆ ERRF_ExceptionType

+ +
+
+ + + + +
enum ERRF_ExceptionType
+
+ +

Types of 'Exceptions' thrown for ERRF_ERRTYPE_EXCEPTION.

+ + + + + +
Enumerator
ERRF_EXCEPTION_PREFETCH_ABORT 

Prefetch Abort.

+
ERRF_EXCEPTION_DATA_ABORT 

Data abort.

+
ERRF_EXCEPTION_UNDEFINED 

Undefined instruction.

+
ERRF_EXCEPTION_VFP 

VFP (floating point) exception.

+
+ +
+
+

Function Documentation

+ +

◆ ERRF_ExceptionHandler()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void ERRF_ExceptionHandler (ERRF_ExceptionInfoexcep,
CpuRegistersregs 
)
+
+ +

Handles an exception using ErrDisp.

+
Parameters
+ + + +
excepException information
regsCPU registers
+
+
+

You might want to clear ENVINFO's bit0 to be able to see any debugging information.

See also
threadOnException
+ +
+
+ +

◆ ERRF_LogResult()

+ +
+
+ + + + + + + + +
Result ERRF_LogResult (Result failure)
+
+ +

Logs a system error with the given Result code.

+
Parameters
+ + +
[in]failureResult code to log.
+
+
+

Similar to ERRF_Throw, except that it does not display anything on the screen, nor does it force the system to reboot.

+

This function does fill in the address where this function was called from.

+ +
+
+ +

◆ ERRF_SetUserString()

+ +
+
+ + + + + + + + +
Result ERRF_SetUserString (const char * user_string)
+
+ +

Specify an additional user string to use for error reporting.

+
Parameters
+ + +
[in]user_stringUser string (up to 256 bytes, not including NUL byte)
+
+
+ +
+
+ +

◆ ERRF_Throw()

+ +
+
+ + + + + + + + +
Result ERRF_Throw (const ERRF_FatalErrInfoerror)
+
+ +

Throws a system error and possibly logs it.

+
Parameters
+ + +
[in]errorError to throw.
+
+
+

ErrDisp may convert the error info to ERRF_ERRTYPE_NAND_DAMAGED or ERRF_ERRTYPE_CARD_REMOVED depending on the error code.

+

Except with ERRF_ERRTYPE_LOG_ONLY, the system will panic and will need to be rebooted. Fatal error information will also be logged into a file, unless the type either ERRF_ERRTYPE_NAND_DAMAGED or ERRF_ERRTYPE_CARD_REMOVED.

+

No error will be shown if the system is asleep.

+

On retail units with vanilla firmware, no detailed information will be displayed on screen.

+

You may wish to use ERRF_ThrowResult() or ERRF_ThrowResultWithMessage() instead of constructing the ERRF_FatalErrInfo struct yourself.

+ +
+
+ +

◆ ERRF_ThrowResult()

+ +
+
+ + + + + + + + +
Result ERRF_ThrowResult (Result failure)
+
+ +

Throws (and logs) a system error with the given Result code.

+
Parameters
+ + +
[in]failureResult code to throw.
+
+
+

This calls ERRF_Throw with error type ERRF_ERRTYPE_GENERIC and fills in the required data.

+

This function does fill in the address where this function was called from.

+ +
+
+ +

◆ ERRF_ThrowResultWithMessage()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result ERRF_ThrowResultWithMessage (Result failure,
const char * message 
)
+
+ +

Throws a system error with the given Result code and message.

+
Parameters
+ + + +
[in]failureResult code to throw.
[in]messageThe message to display.
+
+
+

This calls ERRF_Throw with error type ERRF_ERRTYPE_FAILURE and fills in the required data.

+

This function does not fill in the address where this function was called from because it would not be displayed.

+ +
+
+ +

◆ errfGetSessionHandle()

+ +
+
+ + + + + + + + +
Handle* errfGetSessionHandle (void )
+
+ +

Gets the current err:f API session handle.

+
Returns
The current err:f API session handle.
+ +
+
+
+ + + + diff --git a/errf_8h_source.html b/errf_8h_source.html new file mode 100644 index 000000000..186785fb0 --- /dev/null +++ b/errf_8h_source.html @@ -0,0 +1,263 @@ + + + + + + + +libctru: include/3ds/errf.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
errf.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file errf.h
+
3  * @brief Error Display API
+
4  */
+
5 
+
6 #pragma once
+
7 
+
8 #include <3ds/types.h>
+
9 
+
10 /// Types of errors that can be thrown by err:f.
+
11 typedef enum {
+
12  ERRF_ERRTYPE_GENERIC = 0, ///< Generic fatal error. Shows miscellaneous info, including the address of the caller
+
13  ERRF_ERRTYPE_NAND_DAMAGED = 1, ///< Damaged NAND (CC_ERROR after reading CSR)
+
14  ERRF_ERRTYPE_CARD_REMOVED = 2, ///< Game content storage medium (cartridge and/or SD card) ejected. Not logged
+
15  ERRF_ERRTYPE_EXCEPTION = 3, ///< CPU or VFP exception
+
16  ERRF_ERRTYPE_FAILURE = 4, ///< Fatal error with a message instead of the caller's address
+
17  ERRF_ERRTYPE_LOG_ONLY = 5, ///< Log-level failure. Does not display the exception and does not force the system to reboot
+
18 } ERRF_ErrType;
+
19 
+
20 /// Types of 'Exceptions' thrown for ERRF_ERRTYPE_EXCEPTION
+
21 typedef enum {
+
22  ERRF_EXCEPTION_PREFETCH_ABORT = 0, ///< Prefetch Abort
+
23  ERRF_EXCEPTION_DATA_ABORT = 1, ///< Data abort
+
24  ERRF_EXCEPTION_UNDEFINED = 2, ///< Undefined instruction
+
25  ERRF_EXCEPTION_VFP = 3, ///< VFP (floating point) exception.
+ +
27 
+
28 typedef struct {
+
29  ERRF_ExceptionType type; ///< Type of the exception. One of the ERRF_EXCEPTION_* values.
+
30  u8 reserved[3];
+
31  u32 fsr; ///< ifsr (prefetch abort) / dfsr (data abort)
+
32  u32 far; ///< pc = ifar (prefetch abort) / dfar (data abort)
+
33  u32 fpexc;
+
34  u32 fpinst;
+
35  u32 fpinst2;
+ +
37 
+
38 typedef struct {
+
39  ERRF_ExceptionInfo excep; ///< Exception info struct
+
40  CpuRegisters regs; ///< CPU register dump.
+ +
42 
+
43 typedef struct {
+
44  ERRF_ErrType type; ///< Type, one of the ERRF_ERRTYPE_* enum
+
45  u8 revHigh; ///< High revison ID
+
46  u16 revLow; ///< Low revision ID
+
47  u32 resCode; ///< Result code
+
48  u32 pcAddr; ///< PC address at exception
+
49  u32 procId; ///< Process ID of the caller
+
50  u64 titleId; ///< Title ID of the caller
+
51  u64 appTitleId; ///< Title ID of the running application
+
52  union {
+
53  ERRF_ExceptionData exception_data; ///< Data for when type is ERRF_ERRTYPE_EXCEPTION
+
54  char failure_mesg[0x60]; ///< String for when type is ERRF_ERRTYPE_FAILURE
+
55  } data; ///< The different types of data for errors.
+ +
57 
+
58 /// Initializes ERR:f. Unless you plan to call ERRF_Throw yourself, do not use this.
+ +
60 
+
61 /// Exits ERR:f. Unless you plan to call ERRF_Throw yourself, do not use this.
+
62 void errfExit(void);
+
63 
+
64 /**
+
65  * @brief Gets the current err:f API session handle.
+
66  * @return The current err:f API session handle.
+
67  */
+ +
69 
+
70 /**
+
71  * @brief Throws a system error and possibly logs it.
+
72  * @param[in] error Error to throw.
+
73  *
+
74  * ErrDisp may convert the error info to \ref ERRF_ERRTYPE_NAND_DAMAGED or \ref ERRF_ERRTYPE_CARD_REMOVED
+
75  * depending on the error code.
+
76  *
+
77  * Except with \ref ERRF_ERRTYPE_LOG_ONLY, the system will panic and will need to be rebooted.
+
78  * Fatal error information will also be logged into a file, unless the type either \ref ERRF_ERRTYPE_NAND_DAMAGED
+
79  * or \ref ERRF_ERRTYPE_CARD_REMOVED.
+
80  *
+
81  * No error will be shown if the system is asleep.
+
82  *
+
83  * On retail units with vanilla firmware, no detailed information will be displayed on screen.
+
84  *
+
85  * You may wish to use ERRF_ThrowResult() or ERRF_ThrowResultWithMessage() instead of
+
86  * constructing the ERRF_FatalErrInfo struct yourself.
+
87  */
+ +
89 
+
90 /**
+
91  * @brief Throws (and logs) a system error with the given Result code.
+
92  * @param[in] failure Result code to throw.
+
93  *
+
94  * This calls \ref ERRF_Throw with error type \ref ERRF_ERRTYPE_GENERIC and fills in the required data.
+
95  *
+
96  * This function \em does fill in the address where this function was called from.
+
97  */
+ +
99 
+
100 /**
+
101  * @brief Logs a system error with the given Result code.
+
102  * @param[in] failure Result code to log.
+
103  *
+
104  * Similar to \ref ERRF_Throw, except that it does not display anything on the screen,
+
105  * nor does it force the system to reboot.
+
106  *
+
107  * This function \em does fill in the address where this function was called from.
+
108  */
+ +
110 
+
111 /**
+
112  * @brief Throws a system error with the given Result code and message.
+
113  * @param[in] failure Result code to throw.
+
114  * @param[in] message The message to display.
+
115  *
+
116  * This calls \ref ERRF_Throw with error type \ref ERRF_ERRTYPE_FAILURE and fills in the required data.
+
117  *
+
118  * This function does \em not fill in the address where this function was called from because it
+
119  * would not be displayed.
+
120  */
+
121 Result ERRF_ThrowResultWithMessage(Result failure, const char* message);
+
122 
+
123 /**
+
124  * @brief Specify an additional user string to use for error reporting.
+
125  * @param[in] user_string User string (up to 256 bytes, not including NUL byte)
+
126  */
+
127 Result ERRF_SetUserString(const char* user_string);
+
128 
+
129 /**
+
130  * @brief Handles an exception using ErrDisp.
+
131  * @param excep Exception information
+
132  * @param regs CPU registers
+
133  *
+
134  * You might want to clear ENVINFO's bit0 to be able to see any debugging information.
+
135  * @sa threadOnException
+
136  */
+ +
Result ERRF_ThrowResult(Result failure)
Throws (and logs) a system error with the given Result code.
+
Result ERRF_SetUserString(const char *user_string)
Specify an additional user string to use for error reporting.
+
void ERRF_ExceptionHandler(ERRF_ExceptionInfo *excep, CpuRegisters *regs) __attribute__((noreturn))
Handles an exception using ErrDisp.
+
ERRF_ErrType
Types of errors that can be thrown by err:f.
Definition: errf.h:11
+
@ ERRF_ERRTYPE_LOG_ONLY
Log-level failure. Does not display the exception and does not force the system to reboot.
Definition: errf.h:17
+
@ ERRF_ERRTYPE_CARD_REMOVED
Game content storage medium (cartridge and/or SD card) ejected. Not logged.
Definition: errf.h:14
+
@ ERRF_ERRTYPE_EXCEPTION
CPU or VFP exception.
Definition: errf.h:15
+
@ ERRF_ERRTYPE_GENERIC
Generic fatal error. Shows miscellaneous info, including the address of the caller.
Definition: errf.h:12
+
@ ERRF_ERRTYPE_NAND_DAMAGED
Damaged NAND (CC_ERROR after reading CSR)
Definition: errf.h:13
+
@ ERRF_ERRTYPE_FAILURE
Fatal error with a message instead of the caller's address.
Definition: errf.h:16
+
void errfExit(void)
Exits ERR:f. Unless you plan to call ERRF_Throw yourself, do not use this.
+
Result ERRF_ThrowResultWithMessage(Result failure, const char *message)
Throws a system error with the given Result code and message.
+
Result ERRF_LogResult(Result failure)
Logs a system error with the given Result code.
+
Handle * errfGetSessionHandle(void)
Gets the current err:f API session handle.
+
ERRF_ExceptionType
Types of 'Exceptions' thrown for ERRF_ERRTYPE_EXCEPTION.
Definition: errf.h:21
+
@ ERRF_EXCEPTION_UNDEFINED
Undefined instruction.
Definition: errf.h:24
+
@ ERRF_EXCEPTION_PREFETCH_ABORT
Prefetch Abort.
Definition: errf.h:22
+
@ ERRF_EXCEPTION_DATA_ABORT
Data abort.
Definition: errf.h:23
+
@ ERRF_EXCEPTION_VFP
VFP (floating point) exception.
Definition: errf.h:25
+
Result ERRF_Throw(const ERRF_FatalErrInfo *error)
Throws a system error and possibly logs it.
+
Result errfInit(void)
Initializes ERR:f. Unless you plan to call ERRF_Throw yourself, do not use this.
+
__attribute__((warn_unused_result)) rbtree_node_t *rbtree_insert(rbtree_t *tree
Inserts a node into an rbtree.
+
Structure representing CPU registers.
Definition: types.h:63
+
Definition: errf.h:38
+
CpuRegisters regs
CPU register dump.
Definition: errf.h:40
+
ERRF_ExceptionInfo excep
Exception info struct.
Definition: errf.h:39
+
Definition: errf.h:28
+
ERRF_ExceptionType type
Type of the exception. One of the ERRF_EXCEPTION_* values.
Definition: errf.h:29
+
u32 fsr
ifsr (prefetch abort) / dfsr (data abort)
Definition: errf.h:31
+
u32 far
pc = ifar (prefetch abort) / dfar (data abort)
Definition: errf.h:32
+
Definition: errf.h:43
+
u32 resCode
Result code.
Definition: errf.h:47
+
u8 revHigh
High revison ID.
Definition: errf.h:45
+
u64 appTitleId
Title ID of the running application.
Definition: errf.h:51
+
u16 revLow
Low revision ID.
Definition: errf.h:46
+
ERRF_ErrType type
Type, one of the ERRF_ERRTYPE_* enum.
Definition: errf.h:44
+
u32 pcAddr
PC address at exception.
Definition: errf.h:48
+
u32 procId
Process ID of the caller.
Definition: errf.h:49
+
ERRF_ExceptionData exception_data
Data for when type is ERRF_ERRTYPE_EXCEPTION.
Definition: errf.h:53
+
u64 titleId
Title ID of the caller.
Definition: errf.h:50
+
Various system types.
+
uint64_t u64
64-bit unsigned integer
Definition: types.h:24
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/error_8h.html b/error_8h.html new file mode 100644 index 000000000..a9ddf9b78 --- /dev/null +++ b/error_8h.html @@ -0,0 +1,375 @@ + + + + + + + +libctru: include/3ds/applets/error.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
error.h File Reference
+
+
+ +

Error applet. +More...

+
#include <3ds/types.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  errorConf
 
+ + + + + + + + + +

+Enumerations

enum  {
+  ERROR_LANGUAGE_FLAG = 0x100 +,
+  ERROR_WORD_WRAP_FLAG = 0x200 +
+ }
 
enum  errorType {
+  ERROR_CODE = 0 +,
+  ERROR_TEXT +,
+  ERROR_EULA +,
+  ERROR_TYPE_EULA_FIRST_BOOT +,
+  ERROR_TYPE_EULA_DRAW_ONLY +,
+  ERROR_TYPE_AGREE +,
+  ERROR_CODE_LANGUAGE = ERROR_CODE | ERROR_LANGUAGE_FLAG +,
+  ERROR_TEXT_LANGUAGE = ERROR_TEXT | ERROR_LANGUAGE_FLAG +,
+  ERROR_EULA_LANGUAGE = ERROR_EULA | ERROR_LANGUAGE_FLAG +,
+  ERROR_TEXT_WORD_WRAP = ERROR_TEXT | ERROR_WORD_WRAP_FLAG +,
+  ERROR_TEXT_LANGUAGE_WORD_WRAP = ERROR_TEXT | ERROR_LANGUAGE_FLAG | ERROR_WORD_WRAP_FLAG +
+ }
 
enum  errorScreenFlag {
+  ERROR_NORMAL = 0 +,
+  ERROR_STEREO +
+ }
 
enum  errorReturnCode {
+  ERROR_UNKNOWN = -1 +,
+  ERROR_NONE = 0 +,
+  ERROR_SUCCESS +,
+  ERROR_NOT_SUPPORTED +,
+  ERROR_HOME_BUTTON = 10 +,
+  ERROR_SOFTWARE_RESET +,
+  ERROR_POWER_BUTTON +
+ }
 
+ + + + + + + + + + + + + +

+Functions

void errorInit (errorConf *err, errorType type, CFG_Language lang)
 Init the error applet. More...
 
void errorCode (errorConf *err, int error)
 Sets error code to display. More...
 
void errorText (errorConf *err, const char *text)
 Sets error text to display. More...
 
void errorDisp (errorConf *err)
 Displays the error applet. More...
 
+

Detailed Description

+

Error applet.

+

Enumeration Type Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ + + +
Enumerator
ERROR_LANGUAGE_FLAG 

??-Unknown flag

+
ERROR_WORD_WRAP_FLAG 

??-Unknown flag

+
+ +
+
+ +

◆ errorType

+ +
+
+ + + + +
enum errorType
+
+ + + + + + + + + + + + +
Enumerator
ERROR_CODE 

Displays the infrastructure communications-related error message corresponding to the error code.

+
ERROR_TEXT 

Displays text passed to this applet.

+
ERROR_EULA 

Displays the EULA.

+
ERROR_TYPE_EULA_FIRST_BOOT 

Use prohibited.

+
ERROR_TYPE_EULA_DRAW_ONLY 

Use prohibited.

+
ERROR_TYPE_AGREE 

Use prohibited.

+
ERROR_CODE_LANGUAGE 

Displays a network error message in a specified language.

+
ERROR_TEXT_LANGUAGE 

Displays text passed to this applet in a specified language.

+
ERROR_EULA_LANGUAGE 

Displays EULA in a specified language.

+
ERROR_TEXT_WORD_WRAP 

Displays the custom error message passed to this applet with automatic line wrapping.

+
ERROR_TEXT_LANGUAGE_WORD_WRAP 

Displays the custom error message with automatic line wrapping and in the specified language.

+
+ +
+
+

Function Documentation

+ +

◆ errorCode()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void errorCode (errorConferr,
int error 
)
+
+ +

Sets error code to display.

+
Parameters
+ + + +
errPointer to errorConf.
errorError-code to display.
+
+
+ +
+
+ +

◆ errorDisp()

+ +
+
+ + + + + + + + +
void errorDisp (errorConferr)
+
+ +

Displays the error applet.

+
Parameters
+ + +
errPointer to errorConf.
+
+
+ +
+
+ +

◆ errorInit()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void errorInit (errorConferr,
errorType type,
CFG_Language lang 
)
+
+ +

Init the error applet.

+
Parameters
+ + + + +
errPointer to errorConf.
typeerrorType Type of error.
langCFG_Language Lang of error.
+
+
+ +
+
+ +

◆ errorText()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void errorText (errorConferr,
const char * text 
)
+
+ +

Sets error text to display.

+
Parameters
+ + + +
errPointer to errorConf.
textError-text to display.
+
+
+ +
+
+
+ + + + diff --git a/error_8h_source.html b/error_8h_source.html new file mode 100644 index 000000000..825280aab --- /dev/null +++ b/error_8h_source.html @@ -0,0 +1,192 @@ + + + + + + + +libctru: include/3ds/applets/error.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
error.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file error.h
+
3  * @brief Error applet.
+
4  */
+
5 #pragma once
+
6 #include <3ds/types.h>
+
7 
+
8  enum
+
9 {
+
10  ERROR_LANGUAGE_FLAG = 0x100, ///<??-Unknown flag
+
11  ERROR_WORD_WRAP_FLAG = 0x200 ///<??-Unknown flag
+
12 };
+
13 
+
14 
+
15 ///< Type of Error applet to be called
+
16 
+
17 typedef enum
+
18 {
+
19  ERROR_CODE = 0, ///< Displays the infrastructure communications-related error message corresponding to the error code.
+
20  ERROR_TEXT, ///< Displays text passed to this applet.
+
21  ERROR_EULA, ///< Displays the EULA
+
22  ERROR_TYPE_EULA_FIRST_BOOT, ///< Use prohibited.
+
23  ERROR_TYPE_EULA_DRAW_ONLY, ///< Use prohibited.
+
24  ERROR_TYPE_AGREE, ///< Use prohibited.
+
25  ERROR_CODE_LANGUAGE = ERROR_CODE | ERROR_LANGUAGE_FLAG, ///< Displays a network error message in a specified language.
+
26  ERROR_TEXT_LANGUAGE = ERROR_TEXT | ERROR_LANGUAGE_FLAG, ///< Displays text passed to this applet in a specified language.
+
27  ERROR_EULA_LANGUAGE = ERROR_EULA | ERROR_LANGUAGE_FLAG, ///< Displays EULA in a specified language.
+
28  ERROR_TEXT_WORD_WRAP = ERROR_TEXT | ERROR_WORD_WRAP_FLAG,///< Displays the custom error message passed to this applet with automatic line wrapping
+
29  ERROR_TEXT_LANGUAGE_WORD_WRAP = ERROR_TEXT | ERROR_LANGUAGE_FLAG | ERROR_WORD_WRAP_FLAG ///< Displays the custom error message with automatic line wrapping and in the specified language.
+ +
31 
+
32 ///< Flags for the Upper Screen.Does nothing even if specified.
+
33 
+
34 typedef enum
+
35 {
+
36  ERROR_NORMAL = 0,
+
37  ERROR_STEREO
+
38 }errorScreenFlag;
+
39 
+
40 ///< Return code of the Error module.Use UNKNOWN for simple apps.
+
41 
+
42 typedef enum
+
43 {
+
44  ERROR_UNKNOWN = -1,
+
45  ERROR_NONE = 0,
+
46  ERROR_SUCCESS,
+
47  ERROR_NOT_SUPPORTED,
+
48  ERROR_HOME_BUTTON = 10,
+
49  ERROR_SOFTWARE_RESET,
+
50  ERROR_POWER_BUTTON
+
51 }errorReturnCode;
+
52 
+
53 ///< Structure to be passed to the applet.Shouldn't be modified directly.
+
54 
+
55 typedef struct
+
56 {
+
57  errorType type;
+
58  int errorCode;
+
59  errorScreenFlag upperScreenFlag;
+
60  u16 useLanguage;
+
61  u16 Text[1900];
+
62  bool homeButton;
+
63  bool softwareReset;
+
64  bool appJump;
+
65  errorReturnCode returnCode;
+
66  u16 eulaVersion;
+
67 }errorConf;
+
68 /**
+
69 * @brief Init the error applet.
+
70 * @param err Pointer to errorConf.
+
71 * @param type errorType Type of error.
+
72 * @param lang CFG_Language Lang of error.
+
73 */
+
74 void errorInit(errorConf* err, errorType type, CFG_Language lang);
+
75 /**
+
76 * @brief Sets error code to display.
+
77 * @param err Pointer to errorConf.
+
78 * @param error Error-code to display.
+
79 */
+
80 void errorCode(errorConf* err, int error);
+
81 /**
+
82 * @brief Sets error text to display.
+
83 * @param err Pointer to errorConf.
+
84 * @param text Error-text to display.
+
85 */
+
86 void errorText(errorConf* err, const char* text);
+
87 /**
+
88 * @brief Displays the error applet.
+
89 * @param err Pointer to errorConf.
+
90 */
+
91 void errorDisp(errorConf* err);
+
CFG_Language
Configuration language values.
Definition: cfgu.h:22
+
errorType
Definition: error.h:18
+
@ ERROR_TYPE_EULA_DRAW_ONLY
Use prohibited.
Definition: error.h:23
+
@ ERROR_EULA_LANGUAGE
Displays EULA in a specified language.
Definition: error.h:27
+
@ ERROR_TEXT_WORD_WRAP
Displays the custom error message passed to this applet with automatic line wrapping.
Definition: error.h:28
+
@ ERROR_TYPE_EULA_FIRST_BOOT
Use prohibited.
Definition: error.h:22
+
@ ERROR_EULA
Displays the EULA.
Definition: error.h:21
+
@ ERROR_TEXT_LANGUAGE_WORD_WRAP
Displays the custom error message with automatic line wrapping and in the specified language.
Definition: error.h:29
+
@ ERROR_TYPE_AGREE
Use prohibited.
Definition: error.h:24
+
@ ERROR_CODE_LANGUAGE
Displays a network error message in a specified language.
Definition: error.h:25
+
@ ERROR_TEXT
Displays text passed to this applet.
Definition: error.h:20
+
@ ERROR_TEXT_LANGUAGE
Displays text passed to this applet in a specified language.
Definition: error.h:26
+
@ ERROR_CODE
Displays the infrastructure communications-related error message corresponding to the error code.
Definition: error.h:19
+
@ ERROR_WORD_WRAP_FLAG
??-Unknown flag
Definition: error.h:11
+
@ ERROR_LANGUAGE_FLAG
??-Unknown flag
Definition: error.h:10
+
void errorInit(errorConf *err, errorType type, CFG_Language lang)
Init the error applet.
+
void errorDisp(errorConf *err)
Displays the error applet.
+
void errorText(errorConf *err, const char *text)
Sets error text to display.
+
void errorCode(errorConf *err, int error)
Sets error code to display.
+
Definition: error.h:56
+
Various system types.
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
+ + + + diff --git a/examples.html b/examples.html new file mode 100644 index 000000000..344f7cd0a --- /dev/null +++ b/examples.html @@ -0,0 +1,165 @@ + + + + + + + +libctru: Examples + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Examples
+
+
+
Here is a list of all examples:
+
+ + + + diff --git a/exheader_8h.html b/exheader_8h.html new file mode 100644 index 000000000..dc91550ee --- /dev/null +++ b/exheader_8h.html @@ -0,0 +1,396 @@ + + + + + + + +libctru: include/3ds/exheader.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
exheader.h File Reference
+
+
+ +

NCCH extended header definitions. +More...

+
#include <3ds/types.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  ExHeader_SystemInfoFlags
 The system info flags and remaster version of a title. More...
 
struct  ExHeader_CodeSectionInfo
 Information about a title's section. More...
 
struct  ExHeader_CodeSetInfo
 The name of a title and infomation about its section. More...
 
struct  ExHeader_SystemInfo
 The savedata size and jump ID of a title. More...
 
struct  ExHeader_SystemControlInfo
 The code set info, dependencies and system info of a title (SCI) More...
 
struct  ExHeader_Arm11StorageInfo
 The ARM11 filesystem info of a title. More...
 
struct  ExHeader_Arm11CoreInfo
 The CPU-related and memory-layout-related info of a title. More...
 
struct  ExHeader_Arm11SystemLocalCapabilities
 The ARM11 system-local capabilities of a title. More...
 
struct  ExHeader_Arm11KernelCapabilities
 The ARM11 kernel capabilities of a title. More...
 
struct  ExHeader_Arm9AccessControl
 The ARM9 access control of a title. More...
 
struct  ExHeader_AccessControlInfo
 The access control information of a title. More...
 
struct  ExHeader_Info
 Main extended header data, as returned by PXIPM, Loader and FSREG service commands. More...
 
struct  ExHeader_AccessDescriptor
 Extended header access descriptor. More...
 
struct  ExHeader
 The NCCH Extended Header of a title. More...
 
+ + + + + + + + + + + + + +

+Enumerations

enum  {
+  ARM9DESC_MOUNT_NAND = BIT(0) +,
+  ARM9DESC_MOUNT_NANDRO_RW = BIT(1) +,
+  ARM9DESC_MOUNT_TWLN = BIT(2) +,
+  ARM9DESC_MOUNT_WNAND = BIT(3) +,
+  ARM9DESC_MOUNT_CARDSPI = BIT(4) +,
+  ARM9DESC_USE_SDIF3 = BIT(5) +,
+  ARM9DESC_CREATE_SEED = BIT(6) +,
+  ARM9DESC_USE_CARD_SPI = BIT(7) +,
+  ARM9DESC_SD_APPLICATION = BIT(8) +,
+  ARM9DESC_MOUNT_SDMC_RW = BIT(9) +
+ }
 ARM9 descriptor flags. More...
 
enum  {
+  FSACCESS_CATEGORY_SYSTEM_APPLICATION = BIT(0) +,
+  FSACCESS_CATEGORY_HARDWARE_CHECK = BIT(1) +,
+  FSACCESS_CATEGORY_FILESYSTEM_TOOL = BIT(2) +,
+  FSACCESS_DEBUG = BIT(3) +,
+  FSACCESS_TWLCARD_BACKUP = BIT(4) +,
+  FSACCESS_TWLNAND_DATA = BIT(5) +,
+  FSACCESS_BOSS = BIT(6) +,
+  FSACCESS_SDMC_RW = BIT(7) +,
+  FSACCESS_CORE = BIT(8) +,
+  FSACCESS_NANDRO_RO = BIT(9) +,
+  FSACCESS_NANDRW = BIT(10) +,
+  FSACCESS_NANDRO_RW = BIT(11) +,
+  FSACCESS_CATEGORY_SYSTEM_SETTINGS = BIT(12) +,
+  FSACCESS_CARDBOARD = BIT(13) +,
+  FSACCESS_EXPORT_IMPORT_IVS = BIT(14) +,
+  FSACCESS_SDMC_WO = BIT(15) +,
+  FSACCESS_SWITCH_CLEANUP = BIT(16) +,
+  FSACCESS_SAVEDATA_MOVE = BIT(17) +,
+  FSACCESS_SHOP = BIT(18) +,
+  FSACCESS_SHELL = BIT(19) +,
+  FSACCESS_CATEGORY_HOME_MENU = BIT(20) +,
+  FSACCESS_SEEDDB = BIT(21) +
+ }
 Filesystem access flags. More...
 
enum  ResourceLimitCategory {
+  RESLIMIT_CATEGORY_APPLICATION = 0 +,
+  RESLIMIT_CATEGORY_SYS_APPLET = 1 +,
+  RESLIMIT_CATEGORY_LIB_APPLET = 2 +,
+  RESLIMIT_CATEGORY_OTHER = 3 +
+ }
 The resource limit category of a title. More...
 
enum  SystemMode {
+  SYSMODE_O3DS_PROD = 0 +,
+  SYSMODE_N3DS_PROD = 1 +,
+  SYSMODE_DEV1 = 2 +,
+  SYSMODE_DEV2 = 3 +,
+  SYSMODE_DEV3 = 4 +,
+  SYSMODE_DEV4 = 5 +
+ }
 The system mode a title should be launched under. More...
 
+

Detailed Description

+

NCCH extended header definitions.

+

Enumeration Type Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

ARM9 descriptor flags.

+ + + + + + + + + + + +
Enumerator
ARM9DESC_MOUNT_NAND 

Mount "nand:/".

+
ARM9DESC_MOUNT_NANDRO_RW 

Mount nand:/ro/ as read-write.

+
ARM9DESC_MOUNT_TWLN 

Mount "twln:/".

+
ARM9DESC_MOUNT_WNAND 

Mount "wnand:/".

+
ARM9DESC_MOUNT_CARDSPI 

Mount "cardspi:/".

+
ARM9DESC_USE_SDIF3 

Use SDIF3.

+
ARM9DESC_CREATE_SEED 

Create seed (movable.sed)

+
ARM9DESC_USE_CARD_SPI 

Use card SPI, required by multiple pxi:dev commands.

+
ARM9DESC_SD_APPLICATION 

SD application (not checked)

+
ARM9DESC_MOUNT_SDMC_RW 

Mount "sdmc:/" as read-write.

+
+ +
+
+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

Filesystem access flags.

+ + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
FSACCESS_CATEGORY_SYSTEM_APPLICATION 

Category "system application".

+
FSACCESS_CATEGORY_HARDWARE_CHECK 

Category "hardware check".

+
FSACCESS_CATEGORY_FILESYSTEM_TOOL 

Category "filesystem tool".

+
FSACCESS_DEBUG 

Debug.

+
FSACCESS_TWLCARD_BACKUP 

TWLCARD backup.

+
FSACCESS_TWLNAND_DATA 

TWLNAND data.

+
FSACCESS_BOSS 

BOSS (SpotPass)

+
FSACCESS_SDMC_RW 

SDMC (read-write)

+
FSACCESS_CORE 

Core.

+
FSACCESS_NANDRO_RO 

nand:/ro/ (read-only)

+
FSACCESS_NANDRW 

nand:/rw/

+
FSACCESS_NANDRO_RW 

nand:/ro/ (read-write)

+
FSACCESS_CATEGORY_SYSTEM_SETTINGS 

Category "System Settings".

+
FSACCESS_CARDBOARD 

Cardboard (System Transfer)

+
FSACCESS_EXPORT_IMPORT_IVS 

Export/Import IVs (movable.sed)

+
FSACCESS_SDMC_WO 

SDMC (write-only)

+
FSACCESS_SWITCH_CLEANUP 

"Switch cleanup" (3.0+)

+
FSACCESS_SAVEDATA_MOVE 

Savedata move (5.0+)

+
FSACCESS_SHOP 

Shop (5.0+)

+
FSACCESS_SHELL 

Shop (5.0+)

+
FSACCESS_CATEGORY_HOME_MENU 

Category "Home Menu" (6.0+)

+
FSACCESS_SEEDDB 

Seed DB (9.6+)

+
+ +
+
+ +

◆ ResourceLimitCategory

+ +
+
+ + + + +
enum ResourceLimitCategory
+
+ +

The resource limit category of a title.

+ + + + + +
Enumerator
RESLIMIT_CATEGORY_APPLICATION 

Regular application.

+
RESLIMIT_CATEGORY_SYS_APPLET 

System applet.

+
RESLIMIT_CATEGORY_LIB_APPLET 

Library applet.

+
RESLIMIT_CATEGORY_OTHER 

System modules running inside the BASE memregion.

+
+ +
+
+ +

◆ SystemMode

+ +
+
+ + + + +
enum SystemMode
+
+ +

The system mode a title should be launched under.

+ + + + + + + +
Enumerator
SYSMODE_O3DS_PROD 

64MB of usable application memory

+
SYSMODE_N3DS_PROD 

124MB of usable application memory. Unusable on O3DS

+
SYSMODE_DEV1 

97MB/178MB of usable application memory

+
SYSMODE_DEV2 

80MB/124MB of usable application memory

+
SYSMODE_DEV3 

72MB of usable application memory. Same as "Prod" on N3DS

+
SYSMODE_DEV4 

32MB of usable application memory. Same as "Prod" on N3DS

+
+ +
+
+
+ + + + diff --git a/exheader_8h_source.html b/exheader_8h_source.html new file mode 100644 index 000000000..2050d60af --- /dev/null +++ b/exheader_8h_source.html @@ -0,0 +1,388 @@ + + + + + + + +libctru: include/3ds/exheader.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
exheader.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file exheader.h
+
3  * @brief NCCH extended header definitions.
+
4  */
+
5 #pragma once
+
6 
+
7 #include <3ds/types.h>
+
8 
+
9 /// ARM9 descriptor flags
+
10 enum
+
11 {
+
12  ARM9DESC_MOUNT_NAND = BIT(0), ///< Mount "nand:/"
+
13  ARM9DESC_MOUNT_NANDRO_RW = BIT(1), ///< Mount nand:/ro/ as read-write
+
14  ARM9DESC_MOUNT_TWLN = BIT(2), ///< Mount "twln:/"
+
15  ARM9DESC_MOUNT_WNAND = BIT(3), ///< Mount "wnand:/"
+
16  ARM9DESC_MOUNT_CARDSPI = BIT(4), ///< Mount "cardspi:/"
+
17  ARM9DESC_USE_SDIF3 = BIT(5), ///< Use SDIF3
+
18  ARM9DESC_CREATE_SEED = BIT(6), ///< Create seed (movable.sed)
+
19  ARM9DESC_USE_CARD_SPI = BIT(7), ///< Use card SPI, required by multiple pxi:dev commands
+
20  ARM9DESC_SD_APPLICATION = BIT(8), ///< SD application (not checked)
+
21  ARM9DESC_MOUNT_SDMC_RW = BIT(9), ///< Mount "sdmc:/" as read-write
+
22 };
+
23 
+
24 /// Filesystem access flags
+
25 enum
+
26 {
+
27  FSACCESS_CATEGORY_SYSTEM_APPLICATION = BIT(0), ///< Category "system application"
+
28  FSACCESS_CATEGORY_HARDWARE_CHECK = BIT(1), ///< Category "hardware check"
+
29  FSACCESS_CATEGORY_FILESYSTEM_TOOL = BIT(2), ///< Category "filesystem tool"
+
30  FSACCESS_DEBUG = BIT(3), ///< Debug
+
31  FSACCESS_TWLCARD_BACKUP = BIT(4), ///< TWLCARD backup
+
32  FSACCESS_TWLNAND_DATA = BIT(5), ///< TWLNAND data
+
33  FSACCESS_BOSS = BIT(6), ///< BOSS (SpotPass)
+
34  FSACCESS_SDMC_RW = BIT(7), ///< SDMC (read-write)
+
35  FSACCESS_CORE = BIT(8), ///< Core
+
36  FSACCESS_NANDRO_RO = BIT(9), ///< nand:/ro/ (read-only)
+
37  FSACCESS_NANDRW = BIT(10), ///< nand:/rw/
+
38  FSACCESS_NANDRO_RW = BIT(11), ///< nand:/ro/ (read-write)
+
39  FSACCESS_CATEGORY_SYSTEM_SETTINGS = BIT(12), ///< Category "System Settings"
+
40  FSACCESS_CARDBOARD = BIT(13), ///< Cardboard (System Transfer)
+
41  FSACCESS_EXPORT_IMPORT_IVS = BIT(14), ///< Export/Import IVs (movable.sed)
+
42  FSACCESS_SDMC_WO = BIT(15), ///< SDMC (write-only)
+
43  FSACCESS_SWITCH_CLEANUP = BIT(16), ///< "Switch cleanup" (3.0+)
+
44  FSACCESS_SAVEDATA_MOVE = BIT(17), ///< Savedata move (5.0+)
+
45  FSACCESS_SHOP = BIT(18), ///< Shop (5.0+)
+
46  FSACCESS_SHELL = BIT(19), ///< Shop (5.0+)
+
47  FSACCESS_CATEGORY_HOME_MENU = BIT(20), ///< Category "Home Menu" (6.0+)
+
48  FSACCESS_SEEDDB = BIT(21), ///< Seed DB (9.6+)
+
49 };
+
50 
+
51 /// The resource limit category of a title
+
52 typedef enum
+
53 {
+
54  RESLIMIT_CATEGORY_APPLICATION = 0, ///< Regular application
+
55  RESLIMIT_CATEGORY_SYS_APPLET = 1, ///< System applet
+
56  RESLIMIT_CATEGORY_LIB_APPLET = 2, ///< Library applet
+
57  RESLIMIT_CATEGORY_OTHER = 3, ///< System modules running inside the BASE memregion
+ +
59 
+
60 /// The system mode a title should be launched under
+
61 typedef enum
+
62 {
+
63  SYSMODE_O3DS_PROD = 0, ///< 64MB of usable application memory
+
64  SYSMODE_N3DS_PROD = 1, ///< 124MB of usable application memory. Unusable on O3DS
+
65  SYSMODE_DEV1 = 2, ///< 97MB/178MB of usable application memory
+
66  SYSMODE_DEV2 = 3, ///< 80MB/124MB of usable application memory
+
67  SYSMODE_DEV3 = 4, ///< 72MB of usable application memory. Same as "Prod" on N3DS
+
68  SYSMODE_DEV4 = 5, ///< 32MB of usable application memory. Same as "Prod" on N3DS
+
69 } SystemMode;
+
70 
+
71 
+
72 /// The system info flags and remaster version of a title
+
73 typedef struct
+
74 {
+
75  u8 reserved[5]; ///< Reserved
+
76  bool compress_exefs_code : 1; ///< Whether the ExeFS's .code section is compressed
+
77  bool is_sd_application : 1; ///< Whether the title is meant to be used on an SD card
+
78  u16 remaster_version; ///< Remaster version
+ +
80 
+
81 /// Information about a title's section
+
82 typedef struct
+
83 {
+
84  u32 address; ///< The address of the section
+
85  u32 num_pages; ///< The number of pages the section occupies
+
86  u32 size; ///< The size of the section
+ +
88 
+
89 /// The name of a title and infomation about its section
+
90 typedef struct
+
91 {
+
92  char name[8]; ///< Title name
+
93  ExHeader_SystemInfoFlags flags; ///< System info flags, see @ref ExHeader_SystemInfoFlags
+
94  ExHeader_CodeSectionInfo text; ///< .text section info, see @ref ExHeader_CodeSectionInfo
+
95  u32 stack_size; ///< Stack size
+
96  ExHeader_CodeSectionInfo rodata; ///< .rodata section info, see @ref ExHeader_CodeSectionInfo
+
97  u32 reserved; ///< Reserved
+
98  ExHeader_CodeSectionInfo data; ///< .data section info, see @ref ExHeader_CodeSectionInfo
+
99  u32 bss_size; ///< .bss section size
+ +
101 
+
102 /// The savedata size and jump ID of a title
+
103 typedef struct
+
104 {
+
105  u64 savedata_size; ///< Savedata size
+
106  u64 jump_id; ///< Jump ID
+
107  u8 reserved[0x30]; ///< Reserved
+ +
109 
+
110 /// The code set info, dependencies and system info of a title (SCI)
+
111 typedef struct
+
112 {
+
113  ExHeader_CodeSetInfo codeset_info; ///< Code set info, see @ref ExHeader_CodeSetInfo
+
114  u64 dependencies[48]; ///< Title IDs of the titles that this program depends on
+
115  ExHeader_SystemInfo system_info; ///< System info, see @ref ExHeader_SystemInfo
+ +
117 
+
118 /// The ARM11 filesystem info of a title
+
119 typedef struct
+
120 {
+
121  u64 extdata_id; ///< Extdata ID
+
122  u32 system_savedata_ids[2]; ///< IDs of the system savedata accessible by the title
+
123  u64 accessible_savedata_ids; ///< IDs of the savedata accessible by the title, 20 bits each, followed by "Use other variation savedata"
+
124  u32 fs_access_info; ///< FS access flags
+
125  u32 reserved : 24; ///< Reserved
+
126  bool no_romfs : 1; ///< Don't use any RomFS
+
127  bool use_extended_savedata_access : 1; ///< Use the "extdata_id" field to store 3 additional accessible savedata IDs
+ +
129 
+
130 /// The CPU-related and memory-layout-related info of a title
+
131 typedef struct
+
132 {
+
133  u32 core_version; ///< The low title ID of the target firmware
+
134  bool use_cpu_clockrate_804MHz : 1; ///< Whether to start the title with the 804MHz clock rate
+
135  bool enable_l2c : 1; ///< Whether to start the title with the L2C-310 enabled enabled
+
136  u8 flag1_unused : 6; ///< Unused
+
137  SystemMode n3ds_system_mode : 4; ///< The system mode to use on N3DS
+
138  u8 flag2_unused : 4; ///< Unused
+
139  u8 ideal_processor : 2; ///< The ideal processor to start the title on
+
140  u8 affinity_mask : 2; ///< The affinity mask of the title
+
141  SystemMode o3ds_system_mode : 4; ///< The system mode to use on N3DS
+
142  u8 priority; ///< The priority of the title's main thread
+ +
144 
+
145 /// The ARM11 system-local capabilities of a title
+
146 typedef struct
+
147 {
+
148  u64 title_id; ///< Title ID
+
149  ExHeader_Arm11CoreInfo core_info; ///< Core info, see @ref ExHeader_Arm11CoreInfo
+
150  u16 reslimits[16]; ///< Resource limit descriptors, only "CpuTime" (first byte) sems to be used
+
151  ExHeader_Arm11StorageInfo storage_info; ///< Storage info, see @ref ExHeader_Arm11StorageInfo
+
152  char service_access[34][8]; ///< List of the services the title has access to. Limited to 32 prior to system version 9.3
+
153  u8 reserved[15]; ///< Reserved
+
154  ResourceLimitCategory reslimit_category; ///< Resource limit category, see @ref ExHeader_Arm11SystemLocalCapabilities
+ +
156 
+
157 /// The ARM11 kernel capabilities of a title
+
158 typedef struct
+
159 {
+
160  u32 descriptors[28]; ///< ARM11 kernel descriptors, see 3dbrew
+
161  u8 reserved[16]; ///< Reserved
+ +
163 
+
164 /// The ARM9 access control of a title
+
165 typedef struct
+
166 {
+
167  u8 descriptors[15]; ///< Process9 FS descriptors, see 3dbrew
+
168  u8 descriptor_version; ///< Descriptor version
+ +
170 
+
171 /// The access control information of a title
+
172 typedef struct
+
173 {
+
174  ExHeader_Arm11SystemLocalCapabilities local_caps; ///< ARM11 system-local capabilities, see @ref ExHeader_Arm11SystemLocalCapabilities
+
175  ExHeader_Arm11KernelCapabilities kernel_caps; ///< ARM11 kernel capabilities, see @ref ExHeader_Arm11SystemLocalCapabilities
+
176  ExHeader_Arm9AccessControl access_control; ///< ARM9 access control, see @ref ExHeader_Arm9AccessControl
+ +
178 
+
179 /// Main extended header data, as returned by PXIPM, Loader and FSREG service commands
+
180 typedef struct
+
181 {
+
182  ExHeader_SystemControlInfo sci; ///< System control info, see @ref ExHeader_SystemControlInfo
+
183  ExHeader_AccessControlInfo aci; ///< Access control info, see @ref ExHeader_AccessControlInfo
+
184 } ExHeader_Info;
+
185 
+
186 /// Extended header access descriptor
+
187 typedef struct
+
188 {
+
189  u8 signature[0x100]; ///< The signature of the access descriptor (RSA-2048-SHA256)
+
190  u8 ncchModulus[0x100]; ///< The modulus used for the above signature, with 65537 as public exponent
+
191  ExHeader_AccessControlInfo acli; ///< This is compared for equality with the first ACI by Process9, see @ref ExHeader_AccessControlInfo
+ +
193 
+
194 /// The NCCH Extended Header of a title
+
195 typedef struct
+
196 {
+
197  ExHeader_Info info; ///< Main extended header data, see @ref ExHeader_Info
+
198  ExHeader_AccessDescriptor access_descriptor; ///< Access descriptor, see @ref ExHeader_AccessDescriptor
+
199 } ExHeader;
+
ResourceLimitCategory
The resource limit category of a title.
Definition: exheader.h:53
+
@ RESLIMIT_CATEGORY_LIB_APPLET
Library applet.
Definition: exheader.h:56
+
@ RESLIMIT_CATEGORY_APPLICATION
Regular application.
Definition: exheader.h:54
+
@ RESLIMIT_CATEGORY_SYS_APPLET
System applet.
Definition: exheader.h:55
+
@ RESLIMIT_CATEGORY_OTHER
System modules running inside the BASE memregion.
Definition: exheader.h:57
+
SystemMode
The system mode a title should be launched under.
Definition: exheader.h:62
+
@ SYSMODE_DEV4
32MB of usable application memory. Same as "Prod" on N3DS
Definition: exheader.h:68
+
@ SYSMODE_O3DS_PROD
64MB of usable application memory
Definition: exheader.h:63
+
@ SYSMODE_N3DS_PROD
124MB of usable application memory. Unusable on O3DS
Definition: exheader.h:64
+
@ SYSMODE_DEV1
97MB/178MB of usable application memory
Definition: exheader.h:65
+
@ SYSMODE_DEV3
72MB of usable application memory. Same as "Prod" on N3DS
Definition: exheader.h:67
+
@ SYSMODE_DEV2
80MB/124MB of usable application memory
Definition: exheader.h:66
+
@ FSACCESS_NANDRO_RO
nand:/ro/ (read-only)
Definition: exheader.h:36
+
@ FSACCESS_TWLNAND_DATA
TWLNAND data.
Definition: exheader.h:32
+
@ FSACCESS_NANDRO_RW
nand:/ro/ (read-write)
Definition: exheader.h:38
+
@ FSACCESS_CATEGORY_SYSTEM_APPLICATION
Category "system application".
Definition: exheader.h:27
+
@ FSACCESS_CATEGORY_HOME_MENU
Category "Home Menu" (6.0+)
Definition: exheader.h:47
+
@ FSACCESS_SHELL
Shop (5.0+)
Definition: exheader.h:46
+
@ FSACCESS_CORE
Core.
Definition: exheader.h:35
+
@ FSACCESS_TWLCARD_BACKUP
TWLCARD backup.
Definition: exheader.h:31
+
@ FSACCESS_SAVEDATA_MOVE
Savedata move (5.0+)
Definition: exheader.h:44
+
@ FSACCESS_SDMC_WO
SDMC (write-only)
Definition: exheader.h:42
+
@ FSACCESS_NANDRW
nand:/rw/
Definition: exheader.h:37
+
@ FSACCESS_SDMC_RW
SDMC (read-write)
Definition: exheader.h:34
+
@ FSACCESS_CATEGORY_SYSTEM_SETTINGS
Category "System Settings".
Definition: exheader.h:39
+
@ FSACCESS_EXPORT_IMPORT_IVS
Export/Import IVs (movable.sed)
Definition: exheader.h:41
+
@ FSACCESS_SWITCH_CLEANUP
"Switch cleanup" (3.0+)
Definition: exheader.h:43
+
@ FSACCESS_CATEGORY_HARDWARE_CHECK
Category "hardware check".
Definition: exheader.h:28
+
@ FSACCESS_SHOP
Shop (5.0+)
Definition: exheader.h:45
+
@ FSACCESS_BOSS
BOSS (SpotPass)
Definition: exheader.h:33
+
@ FSACCESS_CARDBOARD
Cardboard (System Transfer)
Definition: exheader.h:40
+
@ FSACCESS_DEBUG
Debug.
Definition: exheader.h:30
+
@ FSACCESS_CATEGORY_FILESYSTEM_TOOL
Category "filesystem tool".
Definition: exheader.h:29
+
@ FSACCESS_SEEDDB
Seed DB (9.6+)
Definition: exheader.h:48
+
@ ARM9DESC_MOUNT_NANDRO_RW
Mount nand:/ro/ as read-write.
Definition: exheader.h:13
+
@ ARM9DESC_SD_APPLICATION
SD application (not checked)
Definition: exheader.h:20
+
@ ARM9DESC_MOUNT_NAND
Mount "nand:/".
Definition: exheader.h:12
+
@ ARM9DESC_MOUNT_SDMC_RW
Mount "sdmc:/" as read-write.
Definition: exheader.h:21
+
@ ARM9DESC_MOUNT_WNAND
Mount "wnand:/".
Definition: exheader.h:15
+
@ ARM9DESC_MOUNT_CARDSPI
Mount "cardspi:/".
Definition: exheader.h:16
+
@ ARM9DESC_USE_CARD_SPI
Use card SPI, required by multiple pxi:dev commands.
Definition: exheader.h:19
+
@ ARM9DESC_USE_SDIF3
Use SDIF3.
Definition: exheader.h:17
+
@ ARM9DESC_CREATE_SEED
Create seed (movable.sed)
Definition: exheader.h:18
+
@ ARM9DESC_MOUNT_TWLN
Mount "twln:/".
Definition: exheader.h:14
+
The access control information of a title.
Definition: exheader.h:173
+
ExHeader_Arm11SystemLocalCapabilities local_caps
ARM11 system-local capabilities, see ExHeader_Arm11SystemLocalCapabilities.
Definition: exheader.h:174
+
ExHeader_Arm9AccessControl access_control
ARM9 access control, see ExHeader_Arm9AccessControl.
Definition: exheader.h:176
+
ExHeader_Arm11KernelCapabilities kernel_caps
ARM11 kernel capabilities, see ExHeader_Arm11SystemLocalCapabilities.
Definition: exheader.h:175
+
Extended header access descriptor.
Definition: exheader.h:188
+
ExHeader_AccessControlInfo acli
This is compared for equality with the first ACI by Process9, see ExHeader_AccessControlInfo.
Definition: exheader.h:191
+
The CPU-related and memory-layout-related info of a title.
Definition: exheader.h:132
+
u8 flag1_unused
Unused.
Definition: exheader.h:136
+
u8 ideal_processor
The ideal processor to start the title on.
Definition: exheader.h:139
+
SystemMode n3ds_system_mode
The system mode to use on N3DS.
Definition: exheader.h:137
+
bool enable_l2c
Whether to start the title with the L2C-310 enabled enabled.
Definition: exheader.h:135
+
u8 flag2_unused
Unused.
Definition: exheader.h:138
+
u32 core_version
The low title ID of the target firmware.
Definition: exheader.h:133
+
u8 affinity_mask
The affinity mask of the title.
Definition: exheader.h:140
+
u8 priority
The priority of the title's main thread.
Definition: exheader.h:142
+
bool use_cpu_clockrate_804MHz
Whether to start the title with the 804MHz clock rate.
Definition: exheader.h:134
+
SystemMode o3ds_system_mode
The system mode to use on N3DS.
Definition: exheader.h:141
+
The ARM11 kernel capabilities of a title.
Definition: exheader.h:159
+
The ARM11 filesystem info of a title.
Definition: exheader.h:120
+
bool no_romfs
Don't use any RomFS.
Definition: exheader.h:126
+
u32 reserved
Reserved.
Definition: exheader.h:125
+
u64 accessible_savedata_ids
IDs of the savedata accessible by the title, 20 bits each, followed by "Use other variation savedata"...
Definition: exheader.h:123
+
u32 fs_access_info
FS access flags.
Definition: exheader.h:124
+
u64 extdata_id
Extdata ID.
Definition: exheader.h:121
+
bool use_extended_savedata_access
Use the "extdata_id" field to store 3 additional accessible savedata IDs.
Definition: exheader.h:127
+
The ARM11 system-local capabilities of a title.
Definition: exheader.h:147
+
ExHeader_Arm11StorageInfo storage_info
Storage info, see ExHeader_Arm11StorageInfo.
Definition: exheader.h:151
+
ExHeader_Arm11CoreInfo core_info
Core info, see ExHeader_Arm11CoreInfo.
Definition: exheader.h:149
+
u64 title_id
Title ID.
Definition: exheader.h:148
+
ResourceLimitCategory reslimit_category
Resource limit category, see ExHeader_Arm11SystemLocalCapabilities.
Definition: exheader.h:154
+
The ARM9 access control of a title.
Definition: exheader.h:166
+
u8 descriptor_version
Descriptor version.
Definition: exheader.h:168
+
Information about a title's section.
Definition: exheader.h:83
+
u32 size
The size of the section.
Definition: exheader.h:86
+
u32 num_pages
The number of pages the section occupies.
Definition: exheader.h:85
+
u32 address
The address of the section.
Definition: exheader.h:84
+
The name of a title and infomation about its section.
Definition: exheader.h:91
+
ExHeader_SystemInfoFlags flags
System info flags, see ExHeader_SystemInfoFlags.
Definition: exheader.h:93
+
u32 stack_size
Stack size.
Definition: exheader.h:95
+
u32 reserved
Reserved.
Definition: exheader.h:97
+
ExHeader_CodeSectionInfo text
.text section info, see ExHeader_CodeSectionInfo
Definition: exheader.h:94
+
u32 bss_size
.bss section size
Definition: exheader.h:99
+
ExHeader_CodeSectionInfo data
.data section info, see ExHeader_CodeSectionInfo
Definition: exheader.h:98
+
ExHeader_CodeSectionInfo rodata
.rodata section info, see ExHeader_CodeSectionInfo
Definition: exheader.h:96
+
Main extended header data, as returned by PXIPM, Loader and FSREG service commands.
Definition: exheader.h:181
+
ExHeader_SystemControlInfo sci
System control info, see ExHeader_SystemControlInfo.
Definition: exheader.h:182
+
ExHeader_AccessControlInfo aci
Access control info, see ExHeader_AccessControlInfo.
Definition: exheader.h:183
+
The code set info, dependencies and system info of a title (SCI)
Definition: exheader.h:112
+
ExHeader_CodeSetInfo codeset_info
Code set info, see ExHeader_CodeSetInfo.
Definition: exheader.h:113
+
ExHeader_SystemInfo system_info
System info, see ExHeader_SystemInfo.
Definition: exheader.h:115
+
The system info flags and remaster version of a title.
Definition: exheader.h:74
+
bool is_sd_application
Whether the title is meant to be used on an SD card.
Definition: exheader.h:77
+
bool compress_exefs_code
Whether the ExeFS's .code section is compressed.
Definition: exheader.h:76
+
u16 remaster_version
Remaster version.
Definition: exheader.h:78
+
The savedata size and jump ID of a title.
Definition: exheader.h:104
+
u64 savedata_size
Savedata size.
Definition: exheader.h:105
+
u64 jump_id
Jump ID.
Definition: exheader.h:106
+
The NCCH Extended Header of a title.
Definition: exheader.h:196
+
ExHeader_Info info
Main extended header data, see ExHeader_Info.
Definition: exheader.h:197
+
ExHeader_AccessDescriptor access_descriptor
Access descriptor, see ExHeader_AccessDescriptor.
Definition: exheader.h:198
+
Various system types.
+
#define BIT(n)
Creates a bitmask from a bit number.
Definition: types.h:47
+
uint64_t u64
64-bit unsigned integer
Definition: types.h:24
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/files.html b/files.html new file mode 100644 index 000000000..0f7bdc1fc --- /dev/null +++ b/files.html @@ -0,0 +1,183 @@ + + + + + + + +libctru: File List + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
[detail level 1234]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  include
  3ds
  allocator
  applets
  gpu
  ndsp
  services
  util
 3dslink.hNetloader (3dslink) utilities
 archive.hFS_Archive driver
 asminc.h
 console.h3ds stdio support
 env.hHomebrew environment information
 errf.hError Display API
 exheader.hNCCH extended header definitions
 font.hShared font support
 gdbhio.hLuma3DS GDB HIO (called File I/O in GDB documentation) functions
 gdbhio_dev.hLuma3DS GDB HIO (called File I/O in GDB documentation) devoptab wrapper
 gfx.hSimple framebuffer API
 ipc.hInter Process Communication helpers
 mii.hShared Mii struct
 os.hOS related stuff
 result.h3DS result code tools
 romfs.hRomFS driver
 srv.hService API
 svc.hSyscall wrappers
 synchronization.hProvides synchronization locks
 thread.hProvides functions to use threads
 types.hVarious system types
  arpa
 inet.h
  netinet
 in.h
 tcp.h
  sys
 ioctl.h
 select.h
 socket.h
 3ds.hCentral 3DS header
 netdb.h
 poll.h
+
+
+ + + + diff --git a/folderclosed.png b/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66 GIT binary patch literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA literal 0 HcmV?d00001 diff --git a/font_8h.html b/font_8h.html new file mode 100644 index 000000000..e03cd1ca5 --- /dev/null +++ b/font_8h.html @@ -0,0 +1,500 @@ + + + + + + + +libctru: include/3ds/font.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
font.h File Reference
+
+
+ +

Shared font support. +More...

+
#include <3ds/types.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  charWidthInfo_s
 Character width information structure. More...
 
struct  TGLP_s
 Font texture sheet information. More...
 
struct  CWDH_s
 Font character width information block structure. More...
 
struct  CMAP_s
 Font character map structure. More...
 
struct  FINF_s
 Font information structure. More...
 
struct  CFNT_s
 Font structure. More...
 
struct  fontGlyphPos_s
 Font glyph position structure. More...
 
+ + + + + + + + +

+Enumerations

Data types
enum  {
+  CMAP_TYPE_DIRECT = 0 +,
+  CMAP_TYPE_TABLE = 1 +,
+  CMAP_TYPE_SCAN = 2 +
+ }
 Font character map methods. More...
 
enum  {
+  GLYPH_POS_CALC_VTXCOORD = BIT(0) +,
+  GLYPH_POS_AT_BASELINE = BIT(1) +,
+  GLYPH_POS_Y_POINTS_UP = BIT(2) +
+ }
 Flags for use with fontCalcGlyphPos. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

Initialization and basic operations
+Result fontEnsureMapped (void)
 Ensures the shared system font is mapped.
 
void fontFixPointers (CFNT_s *font)
 Fixes the pointers internal to a just-loaded font. More...
 
+static CFNT_sfontGetSystemFont (void)
 Gets the currently loaded system font.
 
static FINF_sfontGetInfo (CFNT_s *font)
 Retrieves the font information structure of a font. More...
 
static TGLP_sfontGetGlyphInfo (CFNT_s *font)
 Retrieves the texture sheet information of a font. More...
 
static void * fontGetGlyphSheetTex (CFNT_s *font, int sheetIndex)
 Retrieves the pointer to texture data for the specified texture sheet. More...
 
int fontGlyphIndexFromCodePoint (CFNT_s *font, u32 codePoint)
 Retrieves the glyph index of the specified Unicode codepoint. More...
 
charWidthInfo_sfontGetCharWidthInfo (CFNT_s *font, int glyphIndex)
 Retrieves character width information of the specified glyph. More...
 
void fontCalcGlyphPos (fontGlyphPos_s *out, CFNT_s *font, int glyphIndex, u32 flags, float scaleX, float scaleY)
 Calculates position information for the specified glyph. More...
 
+

Detailed Description

+

Shared font support.

+

Enumeration Type Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

Font character map methods.

+ + + + +
Enumerator
CMAP_TYPE_DIRECT 

Identity mapping.

+
CMAP_TYPE_TABLE 

Mapping using a table.

+
CMAP_TYPE_SCAN 

Mapping using a list of mapped characters.

+
+ +
+
+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

Flags for use with fontCalcGlyphPos.

+ + + + +
Enumerator
GLYPH_POS_CALC_VTXCOORD 

Calculates vertex coordinates in addition to texture coordinates.

+
GLYPH_POS_AT_BASELINE 

Position the glyph at the baseline instead of at the top-left corner.

+
GLYPH_POS_Y_POINTS_UP 

Indicates that the Y axis points up instead of down.

+
+ +
+
+

Function Documentation

+ +

◆ fontCalcGlyphPos()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void fontCalcGlyphPos (fontGlyphPos_sout,
CFNT_sfont,
int glyphIndex,
u32 flags,
float scaleX,
float scaleY 
)
+
+ +

Calculates position information for the specified glyph.

+
Parameters
+ + + + + + + +
outOutput structure in which to write the information.
fontPointer to font structure. If NULL, the shared system font is used.
glyphIndexIndex of the glyph.
flagsCalculation flags (see GLYPH_POS_* flags).
scaleXScale factor to apply horizontally.
scaleYScale factor to apply vertically.
+
+
+ +
+
+ +

◆ fontFixPointers()

+ +
+
+ + + + + + + + +
void fontFixPointers (CFNT_sfont)
+
+ +

Fixes the pointers internal to a just-loaded font.

+
Parameters
+ + +
fontFont to fix
+
+
+
Remarks
Should never be run on the system font, and only once on any other font.
+ +
+
+ +

◆ fontGetCharWidthInfo()

+ +
+
+ + + + + + + + + + + + + + + + + + +
charWidthInfo_s* fontGetCharWidthInfo (CFNT_sfont,
int glyphIndex 
)
+
+ +

Retrieves character width information of the specified glyph.

+
Parameters
+ + + +
fontPointer to font structure. If NULL, the shared system font is used.
glyphIndexIndex of the glyph.
+
+
+ +
+
+ +

◆ fontGetGlyphInfo()

+ +
+
+ + + + + +
+ + + + + + + + +
static TGLP_s* fontGetGlyphInfo (CFNT_sfont)
+
+inlinestatic
+
+ +

Retrieves the texture sheet information of a font.

+
Parameters
+ + +
fontPointer to font structure. If NULL, the shared system font is used.
+
+
+ +
+
+ +

◆ fontGetGlyphSheetTex()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void* fontGetGlyphSheetTex (CFNT_sfont,
int sheetIndex 
)
+
+inlinestatic
+
+ +

Retrieves the pointer to texture data for the specified texture sheet.

+
Parameters
+ + + +
fontPointer to font structure. If NULL, the shared system font is used.
sheetIndexIndex of the texture sheet.
+
+
+ +
+
+ +

◆ fontGetInfo()

+ +
+
+ + + + + +
+ + + + + + + + +
static FINF_s* fontGetInfo (CFNT_sfont)
+
+inlinestatic
+
+ +

Retrieves the font information structure of a font.

+
Parameters
+ + +
fontPointer to font structure. If NULL, the shared system font is used.
+
+
+ +
+
+ +

◆ fontGlyphIndexFromCodePoint()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int fontGlyphIndexFromCodePoint (CFNT_sfont,
u32 codePoint 
)
+
+ +

Retrieves the glyph index of the specified Unicode codepoint.

+
Parameters
+ + + +
fontPointer to font structure. If NULL, the shared system font is used.
codePointUnicode codepoint.
+
+
+ +
+
+
+ + + + diff --git a/font_8h_source.html b/font_8h_source.html new file mode 100644 index 000000000..4ccec0a95 --- /dev/null +++ b/font_8h_source.html @@ -0,0 +1,397 @@ + + + + + + + +libctru: include/3ds/font.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
font.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file font.h
+
3  * @brief Shared font support.
+
4  */
+
5 #pragma once
+
6 #include <3ds/types.h>
+
7 
+
8 ///@name Data types
+
9 ///@{
+
10 
+
11 /// Character width information structure.
+
12 typedef struct
+
13 {
+
14  s8 left; ///< Horizontal offset to draw the glyph with.
+
15  u8 glyphWidth; ///< Width of the glyph.
+
16  u8 charWidth; ///< Width of the character, that is, horizontal distance to advance.
+ +
18 
+
19 /// Font texture sheet information.
+
20 typedef struct
+
21 {
+
22  u8 cellWidth; ///< Width of a glyph cell.
+
23  u8 cellHeight; ///< Height of a glyph cell.
+
24  u8 baselinePos; ///< Vertical position of the baseline.
+
25  u8 maxCharWidth; ///< Maximum character width.
+
26 
+
27  u32 sheetSize; ///< Size in bytes of a texture sheet.
+
28  u16 nSheets; ///< Number of texture sheets.
+
29  u16 sheetFmt; ///< GPU texture format (GPU_TEXCOLOR).
+
30 
+
31  u16 nRows; ///< Number of glyphs per row per sheet.
+
32  u16 nLines; ///< Number of glyph rows per sheet.
+
33 
+
34  u16 sheetWidth; ///< Texture sheet width.
+
35  u16 sheetHeight; ///< Texture sheet height.
+
36  u8* sheetData; ///< Pointer to texture sheet data.
+
37 } TGLP_s;
+
38 
+
39 /// Font character width information block type.
+
40 typedef struct tag_CWDH_s CWDH_s;
+
41 
+
42 /// Font character width information block structure.
+
43 struct tag_CWDH_s
+
44 {
+
45  u16 startIndex; ///< First Unicode codepoint the block applies to.
+
46  u16 endIndex; ///< Last Unicode codepoint the block applies to.
+
47  CWDH_s* next; ///< Pointer to the next block.
+
48 
+
49  charWidthInfo_s widths[0]; ///< Table of character width information structures.
+
50 };
+
51 
+
52 /// Font character map methods.
+
53 enum
+
54 {
+
55  CMAP_TYPE_DIRECT = 0, ///< Identity mapping.
+
56  CMAP_TYPE_TABLE = 1, ///< Mapping using a table.
+
57  CMAP_TYPE_SCAN = 2, ///< Mapping using a list of mapped characters.
+
58 };
+
59 
+
60 /// Font character map type.
+
61 typedef struct tag_CMAP_s CMAP_s;
+
62 
+
63 /// Font character map structure.
+
64 struct tag_CMAP_s
+
65 {
+
66  u16 codeBegin; ///< First Unicode codepoint the block applies to.
+
67  u16 codeEnd; ///< Last Unicode codepoint the block applies to.
+
68  u16 mappingMethod; ///< Mapping method.
+
69  u16 reserved;
+
70  CMAP_s* next; ///< Pointer to the next map.
+
71 
+
72  union
+
73  {
+
74  u16 indexOffset; ///< For CMAP_TYPE_DIRECT: index of the first glyph.
+
75  u16 indexTable[0]; ///< For CMAP_TYPE_TABLE: table of glyph indices.
+
76  /// For CMAP_TYPE_SCAN: Mapping data.
+
77  struct
+
78  {
+
79  u16 nScanEntries; ///< Number of pairs.
+
80  /// Mapping pairs.
+
81  struct
+
82  {
+
83  u16 code; ///< Unicode codepoint.
+
84  u16 glyphIndex; ///< Mapped glyph index.
+ +
86  };
+
87  };
+
88 };
+
89 
+
90 /// Font information structure.
+
91 typedef struct
+
92 {
+
93  u32 signature; ///< Signature (FINF).
+
94  u32 sectionSize; ///< Section size.
+
95 
+
96  u8 fontType; ///< Font type
+
97  u8 lineFeed; ///< Line feed vertical distance.
+
98  u16 alterCharIndex; ///< Glyph index of the replacement character.
+
99  charWidthInfo_s defaultWidth; ///< Default character width information.
+
100  u8 encoding; ///< Font encoding (?)
+
101 
+
102  TGLP_s* tglp; ///< Pointer to texture sheet information.
+
103  CWDH_s* cwdh; ///< Pointer to the first character width information block.
+
104  CMAP_s* cmap; ///< Pointer to the first character map.
+
105 
+
106  u8 height; ///< Font height.
+
107  u8 width; ///< Font width.
+
108  u8 ascent; ///< Font ascent.
+
109  u8 padding;
+
110 } FINF_s;
+
111 
+
112 /// Font structure.
+
113 typedef struct
+
114 {
+
115  u32 signature; ///< Signature (CFNU).
+
116  u16 endianness; ///< Endianness constant (0xFEFF).
+
117  u16 headerSize; ///< Header size.
+
118  u32 version; ///< Format version.
+
119  u32 fileSize; ///< File size.
+
120  u32 nBlocks; ///< Number of blocks.
+
121 
+
122  FINF_s finf; ///< Font information.
+
123 } CFNT_s;
+
124 
+
125 /// Font glyph position structure.
+
126 typedef struct
+
127 {
+
128  int sheetIndex; ///< Texture sheet index to use to render the glyph.
+
129  float xOffset; ///< Horizontal offset to draw the glyph width.
+
130  float xAdvance; ///< Horizontal distance to advance after drawing the glyph.
+
131  float width; ///< Glyph width.
+
132  /// Texture coordinates to use to render the glyph.
+
133  struct
+
134  {
+
135  float left, top, right, bottom;
+
136  } texcoord;
+
137  /// Vertex coordinates to use to render the glyph.
+
138  struct
+
139  {
+
140  float left, top, right, bottom;
+
141  } vtxcoord;
+ +
143 
+
144 /// Flags for use with fontCalcGlyphPos.
+
145 enum
+
146 {
+
147  GLYPH_POS_CALC_VTXCOORD = BIT(0), ///< Calculates vertex coordinates in addition to texture coordinates.
+
148  GLYPH_POS_AT_BASELINE = BIT(1), ///< Position the glyph at the baseline instead of at the top-left corner.
+
149  GLYPH_POS_Y_POINTS_UP = BIT(2), ///< Indicates that the Y axis points up instead of down.
+
150 };
+
151 
+
152 ///@}
+
153 
+
154 ///@name Initialization and basic operations
+
155 ///@{
+
156 
+
157 /// Ensures the shared system font is mapped.
+ +
159 
+
160 /**
+
161  * @brief Fixes the pointers internal to a just-loaded font
+
162  * @param font Font to fix
+
163  * @remark Should never be run on the system font, and only once on any other font.
+
164  */
+ +
166 
+
167 /// Gets the currently loaded system font
+
168 static inline CFNT_s* fontGetSystemFont(void)
+
169 {
+
170  extern CFNT_s* g_sharedFont;
+
171  if (!g_sharedFont)
+ +
173  return g_sharedFont;
+
174 }
+
175 
+
176 /**
+
177  * @brief Retrieves the font information structure of a font.
+
178  * @param font Pointer to font structure. If NULL, the shared system font is used.
+
179  */
+
180 static inline FINF_s* fontGetInfo(CFNT_s* font)
+
181 {
+
182  if (!font)
+
183  font = fontGetSystemFont();
+
184  return &font->finf;
+
185 }
+
186 
+
187 /**
+
188  * @brief Retrieves the texture sheet information of a font.
+
189  * @param font Pointer to font structure. If NULL, the shared system font is used.
+
190  */
+
191 static inline TGLP_s* fontGetGlyphInfo(CFNT_s* font)
+
192 {
+
193  if (!font)
+
194  font = fontGetSystemFont();
+
195  return fontGetInfo(font)->tglp;
+
196 }
+
197 
+
198 /**
+
199  * @brief Retrieves the pointer to texture data for the specified texture sheet.
+
200  * @param font Pointer to font structure. If NULL, the shared system font is used.
+
201  * @param sheetIndex Index of the texture sheet.
+
202  */
+
203 static inline void* fontGetGlyphSheetTex(CFNT_s* font, int sheetIndex)
+
204 {
+
205  if (!font)
+
206  font = fontGetSystemFont();
+
207  TGLP_s* tglp = fontGetGlyphInfo(font);
+
208  return &tglp->sheetData[sheetIndex*tglp->sheetSize];
+
209 }
+
210 
+
211 /**
+
212  * @brief Retrieves the glyph index of the specified Unicode codepoint.
+
213  * @param font Pointer to font structure. If NULL, the shared system font is used.
+
214  * @param codePoint Unicode codepoint.
+
215  */
+
216 int fontGlyphIndexFromCodePoint(CFNT_s* font, u32 codePoint);
+
217 
+
218 /**
+
219  * @brief Retrieves character width information of the specified glyph.
+
220  * @param font Pointer to font structure. If NULL, the shared system font is used.
+
221  * @param glyphIndex Index of the glyph.
+
222  */
+ +
224 
+
225 /**
+
226  * @brief Calculates position information for the specified glyph.
+
227  * @param out Output structure in which to write the information.
+
228  * @param font Pointer to font structure. If NULL, the shared system font is used.
+
229  * @param glyphIndex Index of the glyph.
+
230  * @param flags Calculation flags (see GLYPH_POS_* flags).
+
231  * @param scaleX Scale factor to apply horizontally.
+
232  * @param scaleY Scale factor to apply vertically.
+
233  */
+
234 void fontCalcGlyphPos(fontGlyphPos_s* out, CFNT_s* font, int glyphIndex, u32 flags, float scaleX, float scaleY);
+
235 
+
236 ///@}
+
@ CMAP_TYPE_SCAN
Mapping using a list of mapped characters.
Definition: font.h:57
+
@ CMAP_TYPE_TABLE
Mapping using a table.
Definition: font.h:56
+
@ CMAP_TYPE_DIRECT
Identity mapping.
Definition: font.h:55
+
void fontFixPointers(CFNT_s *font)
Fixes the pointers internal to a just-loaded font.
+
charWidthInfo_s * fontGetCharWidthInfo(CFNT_s *font, int glyphIndex)
Retrieves character width information of the specified glyph.
+
int fontGlyphIndexFromCodePoint(CFNT_s *font, u32 codePoint)
Retrieves the glyph index of the specified Unicode codepoint.
+
static CFNT_s * fontGetSystemFont(void)
Gets the currently loaded system font.
Definition: font.h:168
+
@ GLYPH_POS_AT_BASELINE
Position the glyph at the baseline instead of at the top-left corner.
Definition: font.h:148
+
@ GLYPH_POS_Y_POINTS_UP
Indicates that the Y axis points up instead of down.
Definition: font.h:149
+
@ GLYPH_POS_CALC_VTXCOORD
Calculates vertex coordinates in addition to texture coordinates.
Definition: font.h:147
+
static FINF_s * fontGetInfo(CFNT_s *font)
Retrieves the font information structure of a font.
Definition: font.h:180
+
Result fontEnsureMapped(void)
Ensures the shared system font is mapped.
+
void fontCalcGlyphPos(fontGlyphPos_s *out, CFNT_s *font, int glyphIndex, u32 flags, float scaleX, float scaleY)
Calculates position information for the specified glyph.
+
static void * fontGetGlyphSheetTex(CFNT_s *font, int sheetIndex)
Retrieves the pointer to texture data for the specified texture sheet.
Definition: font.h:203
+
static TGLP_s * fontGetGlyphInfo(CFNT_s *font)
Retrieves the texture sheet information of a font.
Definition: font.h:191
+
Font structure.
Definition: font.h:114
+
u32 signature
Signature (CFNU).
Definition: font.h:115
+
u16 endianness
Endianness constant (0xFEFF).
Definition: font.h:116
+
u16 headerSize
Header size.
Definition: font.h:117
+
u32 nBlocks
Number of blocks.
Definition: font.h:120
+
u32 fileSize
File size.
Definition: font.h:119
+
FINF_s finf
Font information.
Definition: font.h:122
+
u32 version
Format version.
Definition: font.h:118
+
Font information structure.
Definition: font.h:92
+
u32 sectionSize
Section size.
Definition: font.h:94
+
CWDH_s * cwdh
Pointer to the first character width information block.
Definition: font.h:103
+
u8 width
Font width.
Definition: font.h:107
+
CMAP_s * cmap
Pointer to the first character map.
Definition: font.h:104
+
charWidthInfo_s defaultWidth
Default character width information.
Definition: font.h:99
+
u8 fontType
Font type.
Definition: font.h:96
+
u8 lineFeed
Line feed vertical distance.
Definition: font.h:97
+
u8 ascent
Font ascent.
Definition: font.h:108
+
u8 height
Font height.
Definition: font.h:106
+
u32 signature
Signature (FINF).
Definition: font.h:93
+
u8 encoding
Font encoding (?)
Definition: font.h:100
+
TGLP_s * tglp
Pointer to texture sheet information.
Definition: font.h:102
+
u16 alterCharIndex
Glyph index of the replacement character.
Definition: font.h:98
+
Font texture sheet information.
Definition: font.h:21
+
u16 nSheets
Number of texture sheets.
Definition: font.h:28
+
u16 sheetFmt
GPU texture format (GPU_TEXCOLOR).
Definition: font.h:29
+
u16 nLines
Number of glyph rows per sheet.
Definition: font.h:32
+
u16 sheetHeight
Texture sheet height.
Definition: font.h:35
+
u16 sheetWidth
Texture sheet width.
Definition: font.h:34
+
u8 cellHeight
Height of a glyph cell.
Definition: font.h:23
+
u32 sheetSize
Size in bytes of a texture sheet.
Definition: font.h:27
+
u8 baselinePos
Vertical position of the baseline.
Definition: font.h:24
+
u8 cellWidth
Width of a glyph cell.
Definition: font.h:22
+
u16 nRows
Number of glyphs per row per sheet.
Definition: font.h:31
+
u8 * sheetData
Pointer to texture sheet data.
Definition: font.h:36
+
u8 maxCharWidth
Maximum character width.
Definition: font.h:25
+
Character width information structure.
Definition: font.h:13
+
u8 charWidth
Width of the character, that is, horizontal distance to advance.
Definition: font.h:16
+
s8 left
Horizontal offset to draw the glyph with.
Definition: font.h:14
+
u8 glyphWidth
Width of the glyph.
Definition: font.h:15
+
Font glyph position structure.
Definition: font.h:127
+
float xAdvance
Horizontal distance to advance after drawing the glyph.
Definition: font.h:130
+
float width
Glyph width.
Definition: font.h:131
+
int sheetIndex
Texture sheet index to use to render the glyph.
Definition: font.h:128
+
float xOffset
Horizontal offset to draw the glyph width.
Definition: font.h:129
+
Font character map structure.
Definition: font.h:65
+
u16 indexTable[0]
For CMAP_TYPE_TABLE: table of glyph indices.
Definition: font.h:75
+
u16 glyphIndex
Mapped glyph index.
Definition: font.h:84
+
u16 mappingMethod
Mapping method.
Definition: font.h:68
+
u16 codeBegin
First Unicode codepoint the block applies to.
Definition: font.h:66
+
struct tag_CMAP_s::@12::@14::@16 scanEntries[0]
Mapping pairs.
+
u16 indexOffset
For CMAP_TYPE_DIRECT: index of the first glyph.
Definition: font.h:74
+
u16 codeEnd
Last Unicode codepoint the block applies to.
Definition: font.h:67
+
u16 nScanEntries
Number of pairs.
Definition: font.h:79
+
CMAP_s * next
Pointer to the next map.
Definition: font.h:70
+
u16 code
Unicode codepoint.
Definition: font.h:83
+
Font character width information block structure.
Definition: font.h:44
+
u16 endIndex
Last Unicode codepoint the block applies to.
Definition: font.h:46
+
charWidthInfo_s widths[0]
Table of character width information structures.
Definition: font.h:49
+
u16 startIndex
First Unicode codepoint the block applies to.
Definition: font.h:45
+
CWDH_s * next
Pointer to the next block.
Definition: font.h:47
+
Various system types.
+
#define BIT(n)
Creates a bitmask from a bit number.
Definition: types.h:47
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
int8_t s8
8-bit signed integer
Definition: types.h:26
+
s32 Result
Function result.
Definition: types.h:42
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/frd_8h.html b/frd_8h.html new file mode 100644 index 000000000..2a9a14928 --- /dev/null +++ b/frd_8h.html @@ -0,0 +1,1183 @@ + + + + + + + +libctru: include/3ds/services/frd.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
frd.h File Reference
+
+
+ +

Friend Services. +More...

+
#include <3ds/mii.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + +

+Data Structures

struct  FriendKey
 Friend key data. More...
 
struct  TitleData
 Friend Title data. More...
 
struct  FriendProfile
 Friend profile data. More...
 
struct  GameDescription
 Game Description structure. More...
 
struct  NotificationEvent
 Friend Notification Event structure. More...
 
+ + + + + + + + + + +

+Macros

+#define FRIEND_SCREEN_NAME_SIZE   0xB
 11-byte UTF-16 screen name
 
+#define FRIEND_COMMENT_SIZE   0x21
 33-byte UTF-16 comment
 
+#define FRIEND_LIST_SIZE   0x64
 100 (Max number of friends)
 
+ + + + +

+Enumerations

enum  NotificationTypes {
+  USER_WENT_ONLINE = 1 +,
+  USER_WENT_OFFLINE +,
+  FRIEND_WENT_ONLINE +,
+  FRIEND_UPDATED_PRESENCE +,
+  FRIEND_UPDATED_MII +,
+  FRIEND_UPDATED_PROFILE +,
+  FRIEND_WENT_OFFLINE +,
+  FRIEND_REGISTERED_USER +,
+  FRIEND_SENT_INVITATION +
+ }
 Enum to use with FRD_GetNotificationEvent. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+Result frdInit (void)
 Initializes FRD service.
 
+void frdExit (void)
 Exists FRD.
 
+HandlefrdGetSessionHandle (void)
 Get FRD handle.
 
Result FRDU_HasLoggedIn (bool *state)
 Gets the login status of the current user. More...
 
Result FRDU_IsOnline (bool *state)
 Gets the online status of the current user. More...
 
+Result FRD_Logout (void)
 Logs out of Nintendo's friend server.
 
Result FRD_Login (Handle event)
 Log in to Nintendo's friend server. More...
 
Result FRD_GetMyFriendKey (FriendKey *key)
 Gets the current user's friend key. More...
 
Result FRD_GetMyPreference (bool *isPublicMode, bool *isShowGameName, bool *isShowPlayedGame)
 Gets the current user's privacy information. More...
 
Result FRD_GetMyProfile (FriendProfile *profile)
 Gets the current user's profile information. More...
 
Result FRD_GetMyScreenName (char *name, size_t max_size)
 Gets the current user's screen name. More...
 
Result FRD_GetMyMii (MiiData *mii)
 Gets the current user's Mii data. More...
 
Result FRD_GetMyPlayingGame (u64 *titleId)
 Gets the current user's playing game. More...
 
Result FRD_GetMyFavoriteGame (u64 *titleId)
 Gets the current user's favourite game. More...
 
Result FRD_GetMyComment (char *comment, size_t max_size)
 Gets the current user's comment on their friend profile. More...
 
Result FRD_GetFriendKeyList (FriendKey *friendKeyList, u32 *num, u32 offset, u32 size)
 Gets the current user's friend key list. More...
 
Result FRD_GetFriendMii (MiiData *miiDataList, const FriendKey *friendKeyList, size_t size)
 Gets the current user's friends' Mii data. More...
 
Result FRD_GetFriendProfile (FriendProfile *profile, const FriendKey *friendKeyList, size_t size)
 Get the current user's friends' profile data. More...
 
Result FRD_GetFriendPlayingGame (GameDescription *desc, const FriendKey *friendKeyList, size_t size)
 Get the current user's friends' playing game. More...
 
Result FRD_GetFriendFavouriteGame (GameDescription *desc, const FriendKey *friendKeyList, u32 count)
 Get the current user's friends' favourite game. More...
 
Result FRD_IsInFriendList (FriendKey *friendKeyList, bool *isFromList)
 Gets whether a friend key is included in the current user's friend list. More...
 
Result FRD_UpdateGameModeDescription (const char *desc)
 Updates the game mode description string. More...
 
Result FRD_AttachToEventNotification (Handle event)
 Event which is signaled when friend login states change. More...
 
Result FRD_GetEventNotification (NotificationEvent *event, u32 count, u32 *recievedNotifCount)
 Get Latest Event Notification. More...
 
Result FRD_PrincipalIdToFriendCode (u32 principalId, u64 *friendCode)
 Returns the friend code using the given principal ID. More...
 
Result FRD_FriendCodeToPrincipalId (u64 friendCode, u32 *principalId)
 Returns the principal ID using the given friend code. More...
 
Result FRD_IsValidFriendCode (u64 friendCode, bool *isValid)
 Checks if the friend code is valid. More...
 
Result FRD_SetClientSdkVersion (u32 sdkVer)
 Sets the Friend API to use a specific SDK version. More...
 
Result FRD_AddFriendOnline (Handle event, u32 principalId)
 Add a Friend online. More...
 
Result FRD_RemoveFriend (u32 principalId, u64 localFriendCode)
 Remove a Friend. More...
 
+

Detailed Description

+

Friend Services.

+

Enumeration Type Documentation

+ +

◆ NotificationTypes

+ +
+
+ + + + +
enum NotificationTypes
+
+ +

Enum to use with FRD_GetNotificationEvent.

+ + + + + + + + + + +
Enumerator
USER_WENT_ONLINE 

Self went online.

+
USER_WENT_OFFLINE 

Self went offline.

+
FRIEND_WENT_ONLINE 

Friend Went Online.

+
FRIEND_UPDATED_PRESENCE 

Friend Presence changed.

+
FRIEND_UPDATED_MII 

Friend Mii changed.

+
FRIEND_UPDATED_PROFILE 

Friend Profile changed.

+
FRIEND_WENT_OFFLINE 

Friend went offline.

+
FRIEND_REGISTERED_USER 

Friend registered self as friend.

+
FRIEND_SENT_INVITATION 

Friend Sent invitation.

+
+ +
+
+

Function Documentation

+ +

◆ FRD_AddFriendOnline()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FRD_AddFriendOnline (Handle event,
u32 principalId 
)
+
+ +

Add a Friend online.

+
Parameters
+ + + +
eventEvent signaled when friend is registered.
principalIdPrincipalId of the friend to add.
+
+
+ +
+
+ +

◆ FRD_AttachToEventNotification()

+ +
+
+ + + + + + + + +
Result FRD_AttachToEventNotification (Handle event)
+
+ +

Event which is signaled when friend login states change.

+
Parameters
+ + +
eventevent which will be signaled.
+
+
+ +
+
+ +

◆ FRD_FriendCodeToPrincipalId()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FRD_FriendCodeToPrincipalId (u64 friendCode,
u32principalId 
)
+
+ +

Returns the principal ID using the given friend code.

+
Parameters
+ + + +
friendCodeThe friend code being used.
principalIdPointer to write the principal ID to.
+
+
+ +
+
+ +

◆ FRD_GetEventNotification()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FRD_GetEventNotification (NotificationEventevent,
u32 count,
u32recievedNotifCount 
)
+
+ +

Get Latest Event Notification.

+
Parameters
+ + + + +
eventPointer to write recieved notification event struct to.
countNumber of events
recievedNotifCountNumber of notification reccieved.
+
+
+ +
+
+ +

◆ FRD_GetFriendFavouriteGame()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FRD_GetFriendFavouriteGame (GameDescriptiondesc,
const FriendKeyfriendKeyList,
u32 count 
)
+
+ +

Get the current user's friends' favourite game.

+
Parameters
+ + + + +
descPointer to write Game Description data to.
friendKeyListPointer to FriendKeys,
countNumber Of FriendKeys.
+
+
+ +
+
+ +

◆ FRD_GetFriendKeyList()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FRD_GetFriendKeyList (FriendKeyfriendKeyList,
u32num,
u32 offset,
u32 size 
)
+
+ +

Gets the current user's friend key list.

+
Parameters
+ + + + + +
friendKeyListPointer to write the friend key list to.
numStores the number of friend keys obtained.
offsetThe index of the friend key to start with.
sizeSize of the friend key list. (FRIEND_LIST_SIZE)
+
+
+ +
+
+ +

◆ FRD_GetFriendMii()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FRD_GetFriendMii (MiiDatamiiDataList,
const FriendKeyfriendKeyList,
size_t size 
)
+
+ +

Gets the current user's friends' Mii data.

+
Parameters
+ + + + +
miiDataListPointer to write Mii data to.
friendKeyListPointer to FriendKeys.
sizeNumber of Friendkeys.
+
+
+ +
+
+ +

◆ FRD_GetFriendPlayingGame()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FRD_GetFriendPlayingGame (GameDescriptiondesc,
const FriendKeyfriendKeyList,
size_t size 
)
+
+ +

Get the current user's friends' playing game.

+
Parameters
+ + + + +
descPointer to write Game Description data to.
friendKeyListPointer to FriendKeys,
sizeNumber Of FriendKeys.
+
+
+ +
+
+ +

◆ FRD_GetFriendProfile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FRD_GetFriendProfile (FriendProfileprofile,
const FriendKeyfriendKeyList,
size_t size 
)
+
+ +

Get the current user's friends' profile data.

+
Parameters
+ + + + +
profilePointer to write profile data to.
friendKeyListPointer to FriendKeys.
sizeNumber of FriendKeys.
+
+
+ +
+
+ +

◆ FRD_GetMyComment()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FRD_GetMyComment (char * comment,
size_t max_size 
)
+
+ +

Gets the current user's comment on their friend profile.

+
Parameters
+ + + +
commentPointer to write the current user's comment to.
max_sizeMax size of the comment.
+
+
+ +
+
+ +

◆ FRD_GetMyFavoriteGame()

+ +
+
+ + + + + + + + +
Result FRD_GetMyFavoriteGame (u64titleId)
+
+ +

Gets the current user's favourite game.

+
Parameters
+ + +
titleIdPointer to write the title ID of current user's favourite game to.
+
+
+ +
+
+ +

◆ FRD_GetMyFriendKey()

+ +
+
+ + + + + + + + +
Result FRD_GetMyFriendKey (FriendKeykey)
+
+ +

Gets the current user's friend key.

+
Parameters
+ + +
keyPointer to write the current user's friend key to.
+
+
+ +
+
+ +

◆ FRD_GetMyMii()

+ +
+
+ + + + + + + + +
Result FRD_GetMyMii (MiiDatamii)
+
+ +

Gets the current user's Mii data.

+
Parameters
+ + +
miiPointer to write the current user's mii data to.
+
+
+ +
+
+ +

◆ FRD_GetMyPlayingGame()

+ +
+
+ + + + + + + + +
Result FRD_GetMyPlayingGame (u64titleId)
+
+ +

Gets the current user's playing game.

+
Parameters
+ + +
titleIdPointer to write the current user's playing game to.
+
+
+ +
+
+ +

◆ FRD_GetMyPreference()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FRD_GetMyPreference (bool * isPublicMode,
bool * isShowGameName,
bool * isShowPlayedGame 
)
+
+ +

Gets the current user's privacy information.

+
Parameters
+ + + + +
isPublicModeDetermines whether friends are notified of the current user's online status.
isShowGameNameDetermines whether friends are notified of the application that the current user is running.
isShowPlayedGameDetermiens whether to display the current user's game history.
+
+
+ +
+
+ +

◆ FRD_GetMyProfile()

+ +
+
+ + + + + + + + +
Result FRD_GetMyProfile (FriendProfileprofile)
+
+ +

Gets the current user's profile information.

+
Parameters
+ + +
profilePointer to write the current user's profile information to.
+
+
+ +
+
+ +

◆ FRD_GetMyScreenName()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FRD_GetMyScreenName (char * name,
size_t max_size 
)
+
+ +

Gets the current user's screen name.

+
Parameters
+ + + +
namePointer to write the current user's screen name to.
max_sizeMax size of the screen name.
+
+
+ +
+
+ +

◆ FRD_IsInFriendList()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FRD_IsInFriendList (FriendKeyfriendKeyList,
bool * isFromList 
)
+
+ +

Gets whether a friend key is included in the current user's friend list.

+
Parameters
+ + + +
friendKeyListPointer to a list of friend keys.
isFromListPointer to a write the friendship status to.
+
+
+ +
+
+ +

◆ FRD_IsValidFriendCode()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FRD_IsValidFriendCode (u64 friendCode,
bool * isValid 
)
+
+ +

Checks if the friend code is valid.

+
Parameters
+ + + +
friendCodeThe friend code being used.
isValidPointer to write the validity of the friend code to.
+
+
+ +
+
+ +

◆ FRD_Login()

+ +
+
+ + + + + + + + +
Result FRD_Login (Handle event)
+
+ +

Log in to Nintendo's friend server.

+
Parameters
+ + +
eventEvent to signal when Login is done.
+
+
+ +
+
+ +

◆ FRD_PrincipalIdToFriendCode()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FRD_PrincipalIdToFriendCode (u32 principalId,
u64friendCode 
)
+
+ +

Returns the friend code using the given principal ID.

+
Parameters
+ + + +
principalIdThe principal ID being used.
friendCodePointer to write the friend code to.
+
+
+ +
+
+ +

◆ FRD_RemoveFriend()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FRD_RemoveFriend (u32 principalId,
u64 localFriendCode 
)
+
+ +

Remove a Friend.

+
Parameters
+ + + +
principalIdPrinipalId of the friend code to remove.
localFriendCodeLocalFriendCode of the friend code to remove.
+
+
+ +
+
+ +

◆ FRD_SetClientSdkVersion()

+ +
+
+ + + + + + + + +
Result FRD_SetClientSdkVersion (u32 sdkVer)
+
+ +

Sets the Friend API to use a specific SDK version.

+
Parameters
+ + +
sdkVerThe SDK version needed to be used.
+
+
+ +
+
+ +

◆ FRD_UpdateGameModeDescription()

+ +
+
+ + + + + + + + +
Result FRD_UpdateGameModeDescription (const char * desc)
+
+ +

Updates the game mode description string.

+
Parameters
+ + +
descPointer to write the game mode description to.
+
+
+ +
+
+ +

◆ FRDU_HasLoggedIn()

+ +
+
+ + + + + + + + +
Result FRDU_HasLoggedIn (bool * state)
+
+ +

Gets the login status of the current user.

+
Parameters
+ + +
statePointer to write the current user's login status to.
+
+
+ +
+
+ +

◆ FRDU_IsOnline()

+ +
+
+ + + + + + + + +
Result FRDU_IsOnline (bool * state)
+
+ +

Gets the online status of the current user.

+
Parameters
+ + +
statePointer to write the current user's online status to.
+
+
+ +
+
+
+ + + + diff --git a/frd_8h_source.html b/frd_8h_source.html new file mode 100644 index 000000000..1acb85702 --- /dev/null +++ b/frd_8h_source.html @@ -0,0 +1,398 @@ + + + + + + + +libctru: include/3ds/services/frd.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
frd.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file frd.h
+
3  * @brief Friend Services
+
4  */
+
5 #pragma once
+
6 #include <3ds/mii.h>
+
7 
+
8 #define FRIEND_SCREEN_NAME_SIZE 0xB ///< 11-byte UTF-16 screen name
+
9 #define FRIEND_COMMENT_SIZE 0x21 ///< 33-byte UTF-16 comment
+
10 #define FRIEND_LIST_SIZE 0x64 ///< 100 (Max number of friends)
+
11 
+
12 #pragma pack(push, 1)
+
13 
+
14 /// Friend key data
+
15 typedef struct
+
16 {
+
17  u32 principalId;
+
18  u32 padding;
+
19  u64 localFriendCode;
+
20 } FriendKey;
+
21 
+
22 /// Friend Title data
+
23 typedef struct
+
24 {
+
25  u64 tid;
+
26  u32 version;
+
27  u32 unk;
+
28 } TitleData;
+
29 
+
30 /// Friend profile data
+
31 typedef struct
+
32 {
+
33  u8 region; ///< The region code for the hardware.
+
34  u8 country; ///< Country code.
+
35  u8 area; ///< Area code.
+
36  u8 language; ///< Language code.
+
37  u8 platform; ///< Platform code.
+
38  u32 padding;
+ +
40 
+
41 /// Game Description structure
+
42 typedef struct
+
43 {
+
44  TitleData data;
+
45  u16 desc[128];
+ +
47 
+
48 /// Friend Notification Event structure
+
49 typedef struct
+
50 {
+
51  u8 type;
+
52  u8 padding3[3];
+
53  u32 padding;
+
54  FriendKey key;
+ +
56 
+
57 #pragma pack(pop)
+
58 
+
59 /// Enum to use with FRD_GetNotificationEvent
+
60 typedef enum
+
61 {
+
62  USER_WENT_ONLINE = 1, ///< Self went online
+
63  USER_WENT_OFFLINE, ///< Self went offline
+
64  FRIEND_WENT_ONLINE, ///< Friend Went Online
+
65  FRIEND_UPDATED_PRESENCE, ///< Friend Presence changed
+
66  FRIEND_UPDATED_MII, ///< Friend Mii changed
+
67  FRIEND_UPDATED_PROFILE, ///< Friend Profile changed
+
68  FRIEND_WENT_OFFLINE, ///< Friend went offline
+
69  FRIEND_REGISTERED_USER, ///< Friend registered self as friend
+
70  FRIEND_SENT_INVITATION ///< Friend Sent invitation
+ +
72 
+
73 /// Initializes FRD service.
+ +
75 
+
76 /// Exists FRD.
+
77 void frdExit(void);
+
78 
+
79 /// Get FRD handle.
+ +
81 /**
+
82  * @brief Gets the login status of the current user.
+
83  * @param state Pointer to write the current user's login status to.
+
84  */
+
85 Result FRDU_HasLoggedIn(bool *state);
+
86 
+
87 /**
+
88  * @brief Gets the online status of the current user.
+
89  * @param state Pointer to write the current user's online status to.
+
90  */
+
91 Result FRDU_IsOnline(bool *state);
+
92 
+
93 /// Logs out of Nintendo's friend server.
+ +
95 
+
96 /**
+
97  * @brief Log in to Nintendo's friend server.
+
98  * @param event Event to signal when Login is done.
+
99  */
+ +
101 
+
102 /**
+
103  * @brief Gets the current user's friend key.
+
104  * @param key Pointer to write the current user's friend key to.
+
105  */
+ +
107 
+
108 /**
+
109  * @brief Gets the current user's privacy information.
+
110  * @param isPublicMode Determines whether friends are notified of the current user's online status.
+
111  * @param isShowGameName Determines whether friends are notified of the application that the current user is running.
+
112  * @param isShowPlayedGame Determiens whether to display the current user's game history.
+
113  */
+
114 Result FRD_GetMyPreference(bool *isPublicMode, bool *isShowGameName, bool *isShowPlayedGame);
+
115 
+
116 /**
+
117  * @brief Gets the current user's profile information.
+
118  * @param profile Pointer to write the current user's profile information to.
+
119  */
+ +
121 
+
122 /**
+
123  * @brief Gets the current user's screen name.
+
124  * @param name Pointer to write the current user's screen name to.
+
125  * @param max_size Max size of the screen name.
+
126  */
+
127 Result FRD_GetMyScreenName(char *name, size_t max_size);
+
128 
+
129 /**
+
130  * @brief Gets the current user's Mii data.
+
131  * @param mii Pointer to write the current user's mii data to.
+
132  */
+ +
134 
+
135 /**
+
136  * @brief Gets the current user's playing game.
+
137  * @param titleId Pointer to write the current user's playing game to.
+
138  */
+ +
140 
+
141 /**
+
142  * @brief Gets the current user's favourite game.
+
143  * @param titleId Pointer to write the title ID of current user's favourite game to.
+
144  */
+ +
146 
+
147 /**
+
148  * @brief Gets the current user's comment on their friend profile.
+
149  * @param comment Pointer to write the current user's comment to.
+
150  * @param max_size Max size of the comment.
+
151  */
+
152 Result FRD_GetMyComment(char *comment, size_t max_size);
+
153 
+
154 /**
+
155  * @brief Gets the current user's friend key list.
+
156  * @param friendKeyList Pointer to write the friend key list to.
+
157  * @param num Stores the number of friend keys obtained.
+
158  * @param offset The index of the friend key to start with.
+
159  * @param size Size of the friend key list. (FRIEND_LIST_SIZE)
+
160  */
+
161 Result FRD_GetFriendKeyList(FriendKey *friendKeyList, u32 *num, u32 offset, u32 size);
+
162 
+
163 /**
+
164  * @brief Gets the current user's friends' Mii data.
+
165  * @param miiDataList Pointer to write Mii data to.
+
166  * @param friendKeyList Pointer to FriendKeys.
+
167  * @param size Number of Friendkeys.
+
168  */
+
169 Result FRD_GetFriendMii(MiiData *miiDataList, const FriendKey *friendKeyList, size_t size);
+
170 
+
171 /**
+
172  * @brief Get the current user's friends' profile data.
+
173  * @param profile Pointer to write profile data to.
+
174  * @param friendKeyList Pointer to FriendKeys.
+
175  * @param size Number of FriendKeys.
+
176  */
+
177 Result FRD_GetFriendProfile(FriendProfile *profile, const FriendKey *friendKeyList, size_t size);
+
178 
+
179 /**
+
180  * @brief Get the current user's friends' playing game.
+
181  * @param desc Pointer to write Game Description data to.
+
182  * @param friendKeyList Pointer to FriendKeys,
+
183  * @param size Number Of FriendKeys.
+
184  */
+
185 Result FRD_GetFriendPlayingGame(GameDescription *desc, const FriendKey *friendKeyList, size_t size);
+
186 
+
187 /**
+
188  * @brief Get the current user's friends' favourite game.
+
189  * @param desc Pointer to write Game Description data to.
+
190  * @param friendKeyList Pointer to FriendKeys,
+
191  * @param count Number Of FriendKeys.
+
192  */
+
193 Result FRD_GetFriendFavouriteGame(GameDescription *desc, const FriendKey *friendKeyList, u32 count);
+
194 
+
195 /**
+
196  * @brief Gets whether a friend key is included in the current user's friend list.
+
197  * @param friendKeyList Pointer to a list of friend keys.
+
198  * @param isFromList Pointer to a write the friendship status to.
+
199  */
+
200 Result FRD_IsInFriendList(FriendKey *friendKeyList, bool *isFromList);
+
201 
+
202 /**
+
203  * @brief Updates the game mode description string.
+
204  * @param desc Pointer to write the game mode description to.
+
205  */
+ +
207 
+
208 /**
+
209  * @brief Event which is signaled when friend login states change.
+
210  * @param event event which will be signaled.
+
211  */
+ +
213 
+
214 /**
+
215  * @brief Get Latest Event Notification
+
216  * @param event Pointer to write recieved notification event struct to.
+
217  * @param count Number of events
+
218  * @param recievedNotifCount Number of notification reccieved.
+
219  */
+
220 Result FRD_GetEventNotification(NotificationEvent *event, u32 count, u32 *recievedNotifCount);
+
221 
+
222 /**
+
223  * @brief Returns the friend code using the given principal ID.
+
224  * @param principalId The principal ID being used.
+
225  * @param friendCode Pointer to write the friend code to.
+
226  */
+
227 Result FRD_PrincipalIdToFriendCode(u32 principalId, u64 *friendCode);
+
228 
+
229 /**
+
230  * @brief Returns the principal ID using the given friend code.
+
231  * @param friendCode The friend code being used.
+
232  * @param principalId Pointer to write the principal ID to.
+
233  */
+
234 Result FRD_FriendCodeToPrincipalId(u64 friendCode, u32 *principalId);
+
235 
+
236 /**
+
237  * @brief Checks if the friend code is valid.
+
238  * @param friendCode The friend code being used.
+
239  * @param isValid Pointer to write the validity of the friend code to.
+
240  */
+
241 Result FRD_IsValidFriendCode(u64 friendCode, bool *isValid);
+
242 
+
243 /**
+
244  * @brief Sets the Friend API to use a specific SDK version.
+
245  * @param sdkVer The SDK version needed to be used.
+
246  */
+ +
248 
+
249 /**
+
250  * @brief Add a Friend online.
+
251  * @param event Event signaled when friend is registered.
+
252  * @param principalId PrincipalId of the friend to add.
+
253  */
+
254 Result FRD_AddFriendOnline(Handle event, u32 principalId);
+
255 
+
256 /**
+
257  * @brief Remove a Friend.
+
258  * @param principalId PrinipalId of the friend code to remove.
+
259  * @param localFriendCode LocalFriendCode of the friend code to remove.
+
260  */
+
261 Result FRD_RemoveFriend(u32 principalId, u64 localFriendCode);
+
Result FRD_GetMyComment(char *comment, size_t max_size)
Gets the current user's comment on their friend profile.
+
Result FRD_GetMyFavoriteGame(u64 *titleId)
Gets the current user's favourite game.
+
Result FRD_GetMyPreference(bool *isPublicMode, bool *isShowGameName, bool *isShowPlayedGame)
Gets the current user's privacy information.
+
Result FRD_GetMyMii(MiiData *mii)
Gets the current user's Mii data.
+
Result FRD_GetFriendMii(MiiData *miiDataList, const FriendKey *friendKeyList, size_t size)
Gets the current user's friends' Mii data.
+
Result FRD_GetMyPlayingGame(u64 *titleId)
Gets the current user's playing game.
+
Result FRD_IsInFriendList(FriendKey *friendKeyList, bool *isFromList)
Gets whether a friend key is included in the current user's friend list.
+
Result FRD_AddFriendOnline(Handle event, u32 principalId)
Add a Friend online.
+
Result FRD_GetMyScreenName(char *name, size_t max_size)
Gets the current user's screen name.
+
void frdExit(void)
Exists FRD.
+
Result FRD_AttachToEventNotification(Handle event)
Event which is signaled when friend login states change.
+
Result FRD_RemoveFriend(u32 principalId, u64 localFriendCode)
Remove a Friend.
+
Result FRD_GetFriendFavouriteGame(GameDescription *desc, const FriendKey *friendKeyList, u32 count)
Get the current user's friends' favourite game.
+
Result FRD_GetFriendPlayingGame(GameDescription *desc, const FriendKey *friendKeyList, size_t size)
Get the current user's friends' playing game.
+
Result FRD_IsValidFriendCode(u64 friendCode, bool *isValid)
Checks if the friend code is valid.
+
Result frdInit(void)
Initializes FRD service.
+
Result FRD_SetClientSdkVersion(u32 sdkVer)
Sets the Friend API to use a specific SDK version.
+
NotificationTypes
Enum to use with FRD_GetNotificationEvent.
Definition: frd.h:61
+
@ FRIEND_SENT_INVITATION
Friend Sent invitation.
Definition: frd.h:70
+
@ FRIEND_REGISTERED_USER
Friend registered self as friend.
Definition: frd.h:69
+
@ FRIEND_UPDATED_PROFILE
Friend Profile changed.
Definition: frd.h:67
+
@ FRIEND_WENT_OFFLINE
Friend went offline.
Definition: frd.h:68
+
@ USER_WENT_ONLINE
Self went online.
Definition: frd.h:62
+
@ USER_WENT_OFFLINE
Self went offline.
Definition: frd.h:63
+
@ FRIEND_WENT_ONLINE
Friend Went Online.
Definition: frd.h:64
+
@ FRIEND_UPDATED_MII
Friend Mii changed.
Definition: frd.h:66
+
@ FRIEND_UPDATED_PRESENCE
Friend Presence changed.
Definition: frd.h:65
+
Result FRD_UpdateGameModeDescription(const char *desc)
Updates the game mode description string.
+
Result FRDU_HasLoggedIn(bool *state)
Gets the login status of the current user.
+
Result FRD_PrincipalIdToFriendCode(u32 principalId, u64 *friendCode)
Returns the friend code using the given principal ID.
+
Result FRD_GetEventNotification(NotificationEvent *event, u32 count, u32 *recievedNotifCount)
Get Latest Event Notification.
+
Handle * frdGetSessionHandle(void)
Get FRD handle.
+
Result FRD_GetMyFriendKey(FriendKey *key)
Gets the current user's friend key.
+
Result FRDU_IsOnline(bool *state)
Gets the online status of the current user.
+
Result FRD_Login(Handle event)
Log in to Nintendo's friend server.
+
Result FRD_GetFriendKeyList(FriendKey *friendKeyList, u32 *num, u32 offset, u32 size)
Gets the current user's friend key list.
+
Result FRD_Logout(void)
Logs out of Nintendo's friend server.
+
Result FRD_GetFriendProfile(FriendProfile *profile, const FriendKey *friendKeyList, size_t size)
Get the current user's friends' profile data.
+
Result FRD_GetMyProfile(FriendProfile *profile)
Gets the current user's profile information.
+
Result FRD_FriendCodeToPrincipalId(u64 friendCode, u32 *principalId)
Returns the principal ID using the given friend code.
+
Shared Mii struct.
+
Friend key data.
Definition: frd.h:16
+
Friend profile data.
Definition: frd.h:32
+
u8 platform
Platform code.
Definition: frd.h:37
+
u8 region
The region code for the hardware.
Definition: frd.h:33
+
u8 country
Country code.
Definition: frd.h:34
+
u8 area
Area code.
Definition: frd.h:35
+
u8 language
Language code.
Definition: frd.h:36
+
Game Description structure.
Definition: frd.h:43
+
Shared Mii struct.
Definition: mii.h:13
+
Friend Notification Event structure.
Definition: frd.h:50
+
Friend Title data.
Definition: frd.h:24
+
uint64_t u64
64-bit unsigned integer
Definition: types.h:24
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/fs_8h.html b/fs_8h.html new file mode 100644 index 000000000..d21b73985 --- /dev/null +++ b/fs_8h.html @@ -0,0 +1,5318 @@ + + + + + + + +libctru: include/3ds/services/fs.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
fs.h File Reference
+
+
+ +

Filesystem Services. +More...

+
#include <3ds/types.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  FS_DirectoryEntry
 Directory entry. More...
 
struct  FS_ArchiveResource
 Archive resource information. More...
 
struct  FS_ProgramInfo
 Program information. More...
 
struct  FS_ProductInfo
 Product information. More...
 
struct  FS_IntegrityVerificationSeed
 Integrity verification seed. More...
 
struct  FS_ExtSaveDataInfo
 Ext save data information. More...
 
struct  FS_SystemSaveDataInfo
 System save data information. More...
 
struct  FS_DeviceMoveContext
 Device move context. More...
 
struct  FS_Path
 Filesystem path data, detailing the specific target of an operation. More...
 
struct  FS_SdMmcSpeedInfo
 SDMC/NAND speed information. More...
 
+ + + + +

+Typedefs

+typedef u64 FS_Archive
 Filesystem archive handle, providing access to a filesystem's contents.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Enumerations

enum  {
+  FS_OPEN_READ = BIT(0) +,
+  FS_OPEN_WRITE = BIT(1) +,
+  FS_OPEN_CREATE = BIT(2) +
+ }
 Open flags. More...
 
enum  {
+  FS_WRITE_FLUSH = BIT(0) +,
+  FS_WRITE_UPDATE_TIME = BIT(8) +
+ }
 Write flags. More...
 
enum  {
+  FS_ATTRIBUTE_DIRECTORY = BIT(0) +,
+  FS_ATTRIBUTE_HIDDEN = BIT(8) +,
+  FS_ATTRIBUTE_ARCHIVE = BIT(16) +,
+  FS_ATTRIBUTE_READ_ONLY = BIT(24) +
+ }
 Attribute flags. More...
 
enum  FS_MediaType {
+  MEDIATYPE_NAND = 0 +,
+  MEDIATYPE_SD = 1 +,
+  MEDIATYPE_GAME_CARD = 2 +
+ }
 Media types. More...
 
enum  FS_SystemMediaType {
+  SYSTEM_MEDIATYPE_CTR_NAND = 0 +,
+  SYSTEM_MEDIATYPE_TWL_NAND = 1 +,
+  SYSTEM_MEDIATYPE_SD = 2 +,
+  SYSTEM_MEDIATYPE_TWL_PHOTO = 3 +
+ }
 System media types. More...
 
enum  FS_ArchiveID {
+  ARCHIVE_ROMFS = 0x00000003 +,
+  ARCHIVE_SAVEDATA = 0x00000004 +,
+  ARCHIVE_EXTDATA = 0x00000006 +,
+  ARCHIVE_SHARED_EXTDATA = 0x00000007 +,
+  ARCHIVE_SYSTEM_SAVEDATA = 0x00000008 +,
+  ARCHIVE_SDMC = 0x00000009 +,
+  ARCHIVE_SDMC_WRITE_ONLY = 0x0000000A +,
+  ARCHIVE_BOSS_EXTDATA = 0x12345678 +,
+  ARCHIVE_CARD_SPIFS = 0x12345679 +,
+  ARCHIVE_EXTDATA_AND_BOSS_EXTDATA = 0x1234567B +,
+  ARCHIVE_SYSTEM_SAVEDATA2 = 0x1234567C +,
+  ARCHIVE_NAND_RW = 0x1234567D +,
+  ARCHIVE_NAND_RO = 0x1234567E +,
+  ARCHIVE_NAND_RO_WRITE_ACCESS = 0x1234567F +,
+  ARCHIVE_SAVEDATA_AND_CONTENT = 0x2345678A +,
+  ARCHIVE_SAVEDATA_AND_CONTENT2 = 0x2345678E +,
+  ARCHIVE_NAND_CTR_FS = 0x567890AB +,
+  ARCHIVE_TWL_PHOTO = 0x567890AC +,
+  ARCHIVE_TWL_SOUND = 0x567890AD +,
+  ARCHIVE_NAND_TWL_FS = 0x567890AE +,
+  ARCHIVE_NAND_W_FS = 0x567890AF +,
+  ARCHIVE_GAMECARD_SAVEDATA = 0x567890B1 +,
+  ARCHIVE_USER_SAVEDATA = 0x567890B2 +,
+  ARCHIVE_DEMO_SAVEDATA = 0x567890B4 +
+ }
 Archive IDs. More...
 
enum  FS_PathType {
+  PATH_INVALID = 0 +,
+  PATH_EMPTY = 1 +,
+  PATH_BINARY = 2 +,
+  PATH_ASCII = 3 +,
+  PATH_UTF16 = 4 +
+ }
 Path types. More...
 
enum  FS_SecureValueSlot { SECUREVALUE_SLOT_SD = 0x1000 + }
 Secure value slot. More...
 
enum  FS_CardSpiBaudRate {
+  BAUDRATE_512KHZ = 0 +,
+  BAUDRATE_1MHZ = 1 +,
+  BAUDRATE_2MHZ = 2 +,
+  BAUDRATE_4MHZ = 3 +,
+  BAUDRATE_8MHZ = 4 +,
+  BAUDRATE_16MHZ = 5 +
+ }
 Card SPI baud rate. More...
 
enum  FS_CardSpiBusMode {
+  BUSMODE_1BIT = 0 +,
+  BUSMODE_4BIT = 1 +
+ }
 Card SPI bus mode. More...
 
enum  FS_SpecialContentType {
+  SPECIALCONTENT_UPDATE = 1 +,
+  SPECIALCONTENT_MANUAL = 2 +,
+  SPECIALCONTENT_DLP_CHILD = 3 +
+ }
 Card SPI bus mode. More...
 
enum  FS_CardType {
+  CARD_CTR = 0 +,
+  CARD_TWL = 1 +
+ }
 
enum  FS_Action { FS_ACTION_UNKNOWN = 0 + }
 FS control actions.
 
enum  FS_ArchiveAction {
+  ARCHIVE_ACTION_COMMIT_SAVE_DATA = 0 +,
+  ARCHIVE_ACTION_GET_TIMESTAMP = 1 +,
+  ARCHIVE_ACTION_UNKNOWN = 0x789D +
+ }
 Archive control actions. More...
 
enum  FS_SecureSaveAction {
+  SECURESAVE_ACTION_DELETE = 0 +,
+  SECURESAVE_ACTION_FORMAT = 1 +
+ }
 Secure save control actions. More...
 
enum  FS_FileAction { FILE_ACTION_UNKNOWN = 0 + }
 File control actions.
 
enum  FS_DirectoryAction { DIRECTORY_ACTION_UNKNOWN = 0 + }
 Directory control actions.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+Result fsInit (void)
 Initializes FS.
 
+void fsExit (void)
 Exits FS.
 
void fsUseSession (Handle session)
 Sets the FSUSER session to use in the current thread. More...
 
+void fsEndUseSession (void)
 Disables the FSUSER session override in the current thread.
 
void fsExemptFromSession (FS_Archive archive)
 Exempts an archive from using alternate FS session handles provided with fsUseSession Instead, the archive will use the default FS session handle, opened with srvGetSessionHandle. More...
 
void fsUnexemptFromSession (FS_Archive archive)
 Unexempts an archive from using alternate FS session handles provided with fsUseSession. More...
 
FS_Path fsMakePath (FS_PathType type, const void *path)
 Creates an FS_Path instance. More...
 
HandlefsGetSessionHandle (void)
 Gets the current FS session handle. More...
 
Result FSUSER_Control (FS_Action action, void *input, u32 inputSize, void *output, u32 outputSize)
 Performs a control operation on the filesystem. More...
 
Result FSUSER_Initialize (Handle session)
 Initializes a FSUSER session. More...
 
Result FSUSER_OpenFile (Handle *out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes)
 Opens a file. More...
 
Result FSUSER_OpenFileDirectly (Handle *out, FS_ArchiveID archiveId, FS_Path archivePath, FS_Path filePath, u32 openFlags, u32 attributes)
 Opens a file directly, bypassing the requirement of an opened archive handle. More...
 
Result FSUSER_DeleteFile (FS_Archive archive, FS_Path path)
 Deletes a file. More...
 
Result FSUSER_RenameFile (FS_Archive srcArchive, FS_Path srcPath, FS_Archive dstArchive, FS_Path dstPath)
 Renames a file. More...
 
Result FSUSER_DeleteDirectory (FS_Archive archive, FS_Path path)
 Deletes a directory, failing if it is not empty. More...
 
Result FSUSER_DeleteDirectoryRecursively (FS_Archive archive, FS_Path path)
 Deletes a directory, also deleting its contents. More...
 
Result FSUSER_CreateFile (FS_Archive archive, FS_Path path, u32 attributes, u64 fileSize)
 Creates a file. More...
 
Result FSUSER_CreateDirectory (FS_Archive archive, FS_Path path, u32 attributes)
 Creates a directory. More...
 
Result FSUSER_RenameDirectory (FS_Archive srcArchive, FS_Path srcPath, FS_Archive dstArchive, FS_Path dstPath)
 Renames a directory. More...
 
Result FSUSER_OpenDirectory (Handle *out, FS_Archive archive, FS_Path path)
 Opens a directory. More...
 
Result FSUSER_OpenArchive (FS_Archive *archive, FS_ArchiveID id, FS_Path path)
 Opens an archive. More...
 
Result FSUSER_ControlArchive (FS_Archive archive, FS_ArchiveAction action, void *input, u32 inputSize, void *output, u32 outputSize)
 Performs a control operation on an archive. More...
 
Result FSUSER_CloseArchive (FS_Archive archive)
 Closes an archive. More...
 
Result FSUSER_GetFreeBytes (u64 *freeBytes, FS_Archive archive)
 Gets the number of free bytes within an archive. More...
 
Result FSUSER_GetCardType (FS_CardType *type)
 Gets the inserted card type. More...
 
Result FSUSER_GetSdmcArchiveResource (FS_ArchiveResource *archiveResource)
 Gets the SDMC archive resource information. More...
 
Result FSUSER_GetNandArchiveResource (FS_ArchiveResource *archiveResource)
 Gets the NAND archive resource information. More...
 
Result FSUSER_GetSdmcFatfsError (u32 *error)
 Gets the last SDMC fatfs error. More...
 
Result FSUSER_IsSdmcDetected (bool *detected)
 Gets whether an SD card is detected. More...
 
Result FSUSER_IsSdmcWritable (bool *writable)
 Gets whether the SD card is writable. More...
 
Result FSUSER_GetSdmcCid (u8 *out, u32 length)
 Gets the SDMC CID. More...
 
Result FSUSER_GetNandCid (u8 *out, u32 length)
 Gets the NAND CID. More...
 
Result FSUSER_GetSdmcSpeedInfo (FS_SdMmcSpeedInfo *speedInfo)
 Gets the SDMC speed info. More...
 
Result FSUSER_GetNandSpeedInfo (FS_SdMmcSpeedInfo *speedInfo)
 Gets the NAND speed info. More...
 
Result FSUSER_GetSdmcLog (u8 *out, u32 length)
 Gets the SDMC log. More...
 
Result FSUSER_GetNandLog (u8 *out, u32 length)
 Gets the NAND log. More...
 
+Result FSUSER_ClearSdmcLog (void)
 Clears the SDMC log.
 
+Result FSUSER_ClearNandLog (void)
 Clears the NAND log.
 
Result FSUSER_CardSlotIsInserted (bool *inserted)
 Gets whether a card is inserted. More...
 
Result FSUSER_CardSlotPowerOn (bool *status)
 Powers on the card slot. More...
 
Result FSUSER_CardSlotPowerOff (bool *status)
 Powers off the card slot. More...
 
Result FSUSER_CardSlotGetCardIFPowerStatus (bool *status)
 Gets the card's power status. More...
 
Result FSUSER_CardNorDirectCommand (u8 commandId)
 Executes a CARDNOR direct command. More...
 
Result FSUSER_CardNorDirectCommandWithAddress (u8 commandId, u32 address)
 Executes a CARDNOR direct command with an address. More...
 
Result FSUSER_CardNorDirectRead (u8 commandId, u32 size, void *output)
 Executes a CARDNOR direct read. More...
 
Result FSUSER_CardNorDirectReadWithAddress (u8 commandId, u32 address, u32 size, void *output)
 Executes a CARDNOR direct read with an address. More...
 
Result FSUSER_CardNorDirectWrite (u8 commandId, u32 size, const void *input)
 Executes a CARDNOR direct write. More...
 
Result FSUSER_CardNorDirectWriteWithAddress (u8 commandId, u32 address, u32 size, const void *input)
 Executes a CARDNOR direct write with an address. More...
 
Result FSUSER_CardNorDirectRead_4xIO (u8 commandId, u32 address, u32 size, void *output)
 Executes a CARDNOR 4xIO direct read. More...
 
Result FSUSER_CardNorDirectCpuWriteWithoutVerify (u32 address, u32 size, const void *input)
 Executes a CARDNOR direct CPU write without verify. More...
 
Result FSUSER_CardNorDirectSectorEraseWithoutVerify (u32 address)
 Executes a CARDNOR direct sector erase without verify. More...
 
Result FSUSER_GetProductInfo (FS_ProductInfo *info, u32 processId)
 Gets a process's product info. More...
 
Result FSUSER_GetProgramLaunchInfo (FS_ProgramInfo *info, u32 processId)
 Gets a process's program launch info. More...
 
Result FSUSER_SetCardSpiBaudRate (FS_CardSpiBaudRate baudRate)
 Sets the CARDSPI baud rate. More...
 
Result FSUSER_SetCardSpiBusMode (FS_CardSpiBusMode busMode)
 Sets the CARDSPI bus mode. More...
 
+Result FSUSER_SendInitializeInfoTo9 (void)
 Sends initialization info to ARM9.
 
Result FSUSER_GetSpecialContentIndex (u16 *index, FS_MediaType mediaType, u64 programId, FS_SpecialContentType type)
 Gets a special content's index. More...
 
Result FSUSER_GetLegacyRomHeader (FS_MediaType mediaType, u64 programId, void *header)
 Gets the legacy ROM header of a program. More...
 
Result FSUSER_GetLegacyBannerData (FS_MediaType mediaType, u64 programId, void *banner)
 Gets the legacy banner data of a program. More...
 
Result FSUSER_CheckAuthorityToAccessExtSaveData (bool *access, FS_MediaType mediaType, u64 saveId, u32 processId)
 Checks a process's authority to access a save data archive. More...
 
Result FSUSER_QueryTotalQuotaSize (u64 *quotaSize, u32 directories, u32 files, u32 fileSizeCount, u64 *fileSizes)
 Queries the total quota size of a save data archive. More...
 
Result FSUSER_AbnegateAccessRight (u32 accessRight)
 Abnegates an access right. More...
 
+Result FSUSER_DeleteSdmcRoot (void)
 Deletes the 3DS SDMC root.
 
+Result FSUSER_DeleteAllExtSaveDataOnNand (void)
 Deletes all ext save data on the NAND.
 
+Result FSUSER_InitializeCtrFileSystem (void)
 Initializes the CTR file system.
 
+Result FSUSER_CreateSeed (void)
 Creates the FS seed.
 
Result FSUSER_GetFormatInfo (u32 *totalSize, u32 *directories, u32 *files, bool *duplicateData, FS_ArchiveID archiveId, FS_Path path)
 Retrieves archive format info. More...
 
Result FSUSER_GetLegacyRomHeader2 (u32 headerSize, FS_MediaType mediaType, u64 programId, void *header)
 Gets the legacy ROM header of a program. More...
 
Result FSUSER_GetSdmcCtrRootPath (u8 *out, u32 length)
 Gets the CTR SDMC root path. More...
 
Result FSUSER_GetArchiveResource (FS_ArchiveResource *archiveResource, FS_SystemMediaType mediaType)
 Gets an archive's resource information. More...
 
Result FSUSER_ExportIntegrityVerificationSeed (FS_IntegrityVerificationSeed *seed)
 Exports the integrity verification seed. More...
 
Result FSUSER_ImportIntegrityVerificationSeed (FS_IntegrityVerificationSeed *seed)
 Imports an integrity verification seed. More...
 
Result FSUSER_FormatSaveData (FS_ArchiveID archiveId, FS_Path path, u32 blocks, u32 directories, u32 files, u32 directoryBuckets, u32 fileBuckets, bool duplicateData)
 Formats save data. More...
 
Result FSUSER_GetLegacySubBannerData (u32 bannerSize, FS_MediaType mediaType, u64 programId, void *banner)
 Gets the legacy sub banner data of a program. More...
 
Result FSUSER_UpdateSha256Context (const void *data, u32 inputSize, u8 *hash)
 Hashes the given data and outputs a SHA256 hash. More...
 
Result FSUSER_ReadSpecialFile (u32 *bytesRead, u64 fileOffset, u32 size, void *data)
 Reads from a special file. More...
 
Result FSUSER_GetSpecialFileSize (u64 *fileSize)
 Gets the size of a special file. More...
 
Result FSUSER_CreateExtSaveData (FS_ExtSaveDataInfo info, u32 directories, u32 files, u64 sizeLimit, u32 smdhSize, u8 *smdh)
 Creates ext save data. More...
 
Result FSUSER_DeleteExtSaveData (FS_ExtSaveDataInfo info)
 Deletes ext save data. More...
 
Result FSUSER_ReadExtSaveDataIcon (u32 *bytesRead, FS_ExtSaveDataInfo info, u32 smdhSize, u8 *smdh)
 Reads the SMDH icon of ext save data. More...
 
Result FSUSER_GetExtDataBlockSize (u64 *totalBlocks, u64 *freeBlocks, u32 *blockSize, FS_ExtSaveDataInfo info)
 Gets an ext data archive's block information. More...
 
Result FSUSER_EnumerateExtSaveData (u32 *idsWritten, u32 idsSize, FS_MediaType mediaType, u32 idSize, bool shared, u8 *ids)
 Enumerates ext save data. More...
 
Result FSUSER_CreateSystemSaveData (FS_SystemSaveDataInfo info, u32 totalSize, u32 blockSize, u32 directories, u32 files, u32 directoryBuckets, u32 fileBuckets, bool duplicateData)
 Creates system save data. More...
 
Result FSUSER_DeleteSystemSaveData (FS_SystemSaveDataInfo info)
 Deletes system save data. More...
 
Result FSUSER_StartDeviceMoveAsSource (FS_DeviceMoveContext *context)
 Initiates a device move as the source device. More...
 
Result FSUSER_StartDeviceMoveAsDestination (FS_DeviceMoveContext context, bool clear)
 Initiates a device move as the destination device. More...
 
Result FSUSER_SetArchivePriority (FS_Archive archive, u32 priority)
 Sets an archive's priority. More...
 
Result FSUSER_GetArchivePriority (u32 *priority, FS_Archive archive)
 Gets an archive's priority. More...
 
Result FSUSER_SetCtrCardLatencyParameter (u64 latency, bool emulateEndurance)
 Configures CTRCARD latency emulation. More...
 
Result FSUSER_SwitchCleanupInvalidSaveData (bool enable)
 Toggles cleaning up invalid save data. More...
 
Result FSUSER_EnumerateSystemSaveData (u32 *idsWritten, u32 idsSize, u32 *ids)
 Enumerates system save data. More...
 
Result FSUSER_InitializeWithSdkVersion (Handle session, u32 version)
 Initializes a FSUSER session with an SDK version. More...
 
Result FSUSER_SetPriority (u32 priority)
 Sets the file system priority. More...
 
Result FSUSER_GetPriority (u32 *priority)
 Gets the file system priority. More...
 
Result FSUSER_SetSaveDataSecureValue (u64 value, FS_SecureValueSlot slot, u32 titleUniqueId, u8 titleVariation)
 Sets the save data secure value. More...
 
Result FSUSER_GetSaveDataSecureValue (bool *exists, u64 *value, FS_SecureValueSlot slot, u32 titleUniqueId, u8 titleVariation)
 Gets the save data secure value. More...
 
Result FSUSER_ControlSecureSave (FS_SecureSaveAction action, void *input, u32 inputSize, void *output, u32 outputSize)
 Performs a control operation on a secure save. More...
 
Result FSUSER_GetMediaType (FS_MediaType *mediaType)
 Gets the media type of the current application. More...
 
Result FSFILE_Control (Handle handle, FS_FileAction action, void *input, u32 inputSize, void *output, u32 outputSize)
 Performs a control operation on a file. More...
 
Result FSFILE_OpenSubFile (Handle handle, Handle *subFile, u64 offset, u64 size)
 Opens a handle to a sub-section of a file. More...
 
Result FSFILE_Read (Handle handle, u32 *bytesRead, u64 offset, void *buffer, u32 size)
 Reads from a file. More...
 
Result FSFILE_Write (Handle handle, u32 *bytesWritten, u64 offset, const void *buffer, u32 size, u32 flags)
 Writes to a file. More...
 
Result FSFILE_GetSize (Handle handle, u64 *size)
 Gets the size of a file. More...
 
Result FSFILE_SetSize (Handle handle, u64 size)
 Sets the size of a file. More...
 
Result FSFILE_GetAttributes (Handle handle, u32 *attributes)
 Gets the attributes of a file. More...
 
Result FSFILE_SetAttributes (Handle handle, u32 attributes)
 Sets the attributes of a file. More...
 
Result FSFILE_Close (Handle handle)
 Closes a file. More...
 
Result FSFILE_Flush (Handle handle)
 Flushes a file's contents. More...
 
Result FSFILE_SetPriority (Handle handle, u32 priority)
 Sets a file's priority. More...
 
Result FSFILE_GetPriority (Handle handle, u32 *priority)
 Gets a file's priority. More...
 
Result FSFILE_OpenLinkFile (Handle handle, Handle *linkFile)
 Opens a duplicate handle to a file. More...
 
Result FSDIR_Control (Handle handle, FS_DirectoryAction action, void *input, u32 inputSize, void *output, u32 outputSize)
 Performs a control operation on a directory. More...
 
Result FSDIR_Read (Handle handle, u32 *entriesRead, u32 entryCount, FS_DirectoryEntry *entries)
 Reads one or more directory entries. More...
 
Result FSDIR_Close (Handle handle)
 Closes a directory. More...
 
Result FSDIR_SetPriority (Handle handle, u32 priority)
 Sets a directory's priority. More...
 
Result FSDIR_GetPriority (Handle handle, u32 *priority)
 Gets a directory's priority. More...
 
+

Detailed Description

+

Filesystem Services.

+

Enumeration Type Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

Open flags.

+ + + + +
Enumerator
FS_OPEN_READ 

Open for reading.

+
FS_OPEN_WRITE 

Open for writing.

+
FS_OPEN_CREATE 

Create file.

+
+ +
+
+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

Write flags.

+ + + +
Enumerator
FS_WRITE_FLUSH 

Flush.

+
FS_WRITE_UPDATE_TIME 

Update file timestamp.

+
+ +
+
+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

Attribute flags.

+ + + + + +
Enumerator
FS_ATTRIBUTE_DIRECTORY 

Directory.

+
FS_ATTRIBUTE_HIDDEN 

Hidden.

+
FS_ATTRIBUTE_ARCHIVE 

Archive.

+
FS_ATTRIBUTE_READ_ONLY 

Read-only.

+
+ +
+
+ +

◆ FS_ArchiveAction

+ +
+
+ + + + +
enum FS_ArchiveAction
+
+ +

Archive control actions.

+ + + +
Enumerator
ARCHIVE_ACTION_COMMIT_SAVE_DATA 

Commits save data changes. No inputs/outputs.

+
ARCHIVE_ACTION_GET_TIMESTAMP 

Retrieves a file's last-modified timestamp. In: "u16*, UTF-16 Path", Out: "u64, Time Stamp".

+
+ +
+
+ +

◆ FS_ArchiveID

+ +
+
+ + + + +
enum FS_ArchiveID
+
+ +

Archive IDs.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
ARCHIVE_ROMFS 

RomFS archive.

+
ARCHIVE_SAVEDATA 

Save data archive.

+
ARCHIVE_EXTDATA 

Ext data archive.

+
ARCHIVE_SHARED_EXTDATA 

Shared ext data archive.

+
ARCHIVE_SYSTEM_SAVEDATA 

System save data archive.

+
ARCHIVE_SDMC 

SDMC archive.

+
ARCHIVE_SDMC_WRITE_ONLY 

Write-only SDMC archive.

+
ARCHIVE_BOSS_EXTDATA 

BOSS ext data archive.

+
ARCHIVE_CARD_SPIFS 

Card SPI FS archive.

+
ARCHIVE_EXTDATA_AND_BOSS_EXTDATA 

Ext data and BOSS ext data archive.

+
ARCHIVE_SYSTEM_SAVEDATA2 

System save data archive.

+
ARCHIVE_NAND_RW 

Read-write NAND archive.

+
ARCHIVE_NAND_RO 

Read-only NAND archive.

+
ARCHIVE_NAND_RO_WRITE_ACCESS 

Read-only write access NAND archive.

+
ARCHIVE_SAVEDATA_AND_CONTENT 

User save data and ExeFS/RomFS archive.

+
ARCHIVE_SAVEDATA_AND_CONTENT2 

User save data and ExeFS/RomFS archive (only ExeFS for fs:LDR).

+
ARCHIVE_NAND_CTR_FS 

NAND CTR FS archive.

+
ARCHIVE_TWL_PHOTO 

TWL PHOTO archive.

+
ARCHIVE_TWL_SOUND 

TWL SOUND archive.

+
ARCHIVE_NAND_TWL_FS 

NAND TWL FS archive.

+
ARCHIVE_NAND_W_FS 

NAND W FS archive.

+
ARCHIVE_GAMECARD_SAVEDATA 

Game card save data archive.

+
ARCHIVE_USER_SAVEDATA 

User save data archive.

+
ARCHIVE_DEMO_SAVEDATA 

Demo save data archive.

+
+ +
+
+ +

◆ FS_CardSpiBaudRate

+ +
+
+ + + + +
enum FS_CardSpiBaudRate
+
+ +

Card SPI baud rate.

+ + + + + + + +
Enumerator
BAUDRATE_512KHZ 

512KHz.

+
BAUDRATE_1MHZ 

1MHz.

+
BAUDRATE_2MHZ 

2MHz.

+
BAUDRATE_4MHZ 

4MHz.

+
BAUDRATE_8MHZ 

8MHz.

+
BAUDRATE_16MHZ 

16MHz.

+
+ +
+
+ +

◆ FS_CardSpiBusMode

+ +
+
+ + + + +
enum FS_CardSpiBusMode
+
+ +

Card SPI bus mode.

+ + + +
Enumerator
BUSMODE_1BIT 

1-bit.

+
BUSMODE_4BIT 

4-bit.

+
+ +
+
+ +

◆ FS_CardType

+ +
+
+ + + + +
enum FS_CardType
+
+ + + +
Enumerator
CARD_CTR 

CTR card.

+
CARD_TWL 

TWL card.

+
+ +
+
+ +

◆ FS_MediaType

+ +
+
+ + + + +
enum FS_MediaType
+
+ +

Media types.

+ + + + +
Enumerator
MEDIATYPE_NAND 

NAND.

+
MEDIATYPE_SD 

SD card.

+
MEDIATYPE_GAME_CARD 

Game card.

+
+ +
+
+ +

◆ FS_PathType

+ +
+
+ + + + +
enum FS_PathType
+
+ +

Path types.

+ + + + + + +
Enumerator
PATH_INVALID 

Invalid path.

+
PATH_EMPTY 

Empty path.

+
PATH_BINARY 

Binary path. Meaning is per-archive.

+
PATH_ASCII 

ASCII text path.

+
PATH_UTF16 

UTF-16 text path.

+
+ +
+
+ +

◆ FS_SecureSaveAction

+ +
+
+ + + + +
enum FS_SecureSaveAction
+
+ +

Secure save control actions.

+ + + +
Enumerator
SECURESAVE_ACTION_DELETE 

Deletes a save's secure value. In: "u64, ((SecureValueSlot << 32) | (TitleUniqueId << 8) | TitleVariation)", Out: "u8, Value Existed".

+
SECURESAVE_ACTION_FORMAT 

Formats a save. No inputs/outputs.

+
+ +
+
+ +

◆ FS_SecureValueSlot

+ +
+
+ + + + +
enum FS_SecureValueSlot
+
+ +

Secure value slot.

+ + +
Enumerator
SECUREVALUE_SLOT_SD 

SD application.

+
+ +
+
+ +

◆ FS_SpecialContentType

+ +
+
+ + + + +
enum FS_SpecialContentType
+
+ +

Card SPI bus mode.

+ + + + +
Enumerator
SPECIALCONTENT_UPDATE 

Update.

+
SPECIALCONTENT_MANUAL 

Manual.

+
SPECIALCONTENT_DLP_CHILD 

DLP child.

+
+ +
+
+ +

◆ FS_SystemMediaType

+ +
+
+ + + + +
enum FS_SystemMediaType
+
+ +

System media types.

+ + + + + +
Enumerator
SYSTEM_MEDIATYPE_CTR_NAND 

CTR NAND.

+
SYSTEM_MEDIATYPE_TWL_NAND 

TWL NAND.

+
SYSTEM_MEDIATYPE_SD 

SD card.

+
SYSTEM_MEDIATYPE_TWL_PHOTO 

TWL Photo.

+
+ +
+
+

Function Documentation

+ +

◆ FSDIR_Close()

+ +
+
+ + + + + + + + +
Result FSDIR_Close (Handle handle)
+
+ +

Closes a directory.

+
Parameters
+ + +
handleHandle of the directory.
+
+
+ +
+
+ +

◆ FSDIR_Control()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSDIR_Control (Handle handle,
FS_DirectoryAction action,
void * input,
u32 inputSize,
void * output,
u32 outputSize 
)
+
+ +

Performs a control operation on a directory.

+
Parameters
+ + + + + + + +
handleHandle of the directory.
actionAction to perform.
inputBuffer to read input from.
inputSizeSize of the input.
outputBuffer to write output to.
outputSizeSize of the output.
+
+
+ +
+
+ +

◆ FSDIR_GetPriority()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSDIR_GetPriority (Handle handle,
u32priority 
)
+
+ +

Gets a directory's priority.

+
Parameters
+ + + +
handleHandle of the directory.
priorityPointer to output the priority to.
+
+
+ +
+
+ +

◆ FSDIR_Read()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSDIR_Read (Handle handle,
u32entriesRead,
u32 entryCount,
FS_DirectoryEntryentries 
)
+
+ +

Reads one or more directory entries.

+
Parameters
+ + + + + +
handleHandle of the directory.
entriesReadPointer to output the number of entries read to.
entryCountNumber of entries to read.
entryOutPointer to output directory entries to.
+
+
+ +
+
+ +

◆ FSDIR_SetPriority()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSDIR_SetPriority (Handle handle,
u32 priority 
)
+
+ +

Sets a directory's priority.

+
Parameters
+ + + +
handleHandle of the directory.
priorityPriority to set.
+
+
+ +
+
+ +

◆ fsExemptFromSession()

+ +
+
+ + + + + + + + +
void fsExemptFromSession (FS_Archive archive)
+
+ +

Exempts an archive from using alternate FS session handles provided with fsUseSession Instead, the archive will use the default FS session handle, opened with srvGetSessionHandle.

+
Parameters
+ + +
archiveArchive to exempt.
+
+
+ +
+
+ +

◆ FSFILE_Close()

+ +
+
+ + + + + + + + +
Result FSFILE_Close (Handle handle)
+
+ +

Closes a file.

+
Parameters
+ + +
handleHandle of the file.
+
+
+ +
+
+ +

◆ FSFILE_Control()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSFILE_Control (Handle handle,
FS_FileAction action,
void * input,
u32 inputSize,
void * output,
u32 outputSize 
)
+
+ +

Performs a control operation on a file.

+
Parameters
+ + + + + + + +
handleHandle of the file.
actionAction to perform.
inputBuffer to read input from.
inputSizeSize of the input.
outputBuffer to write output to.
outputSizeSize of the output.
+
+
+ +
+
+ +

◆ FSFILE_Flush()

+ +
+
+ + + + + + + + +
Result FSFILE_Flush (Handle handle)
+
+ +

Flushes a file's contents.

+
Parameters
+ + +
handleHandle of the file.
+
+
+ +
+
+ +

◆ FSFILE_GetAttributes()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSFILE_GetAttributes (Handle handle,
u32attributes 
)
+
+ +

Gets the attributes of a file.

+
Parameters
+ + + +
handleHandle of the file.
attributesPointer to output the attributes to.
+
+
+ +
+
+ +

◆ FSFILE_GetPriority()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSFILE_GetPriority (Handle handle,
u32priority 
)
+
+ +

Gets a file's priority.

+
Parameters
+ + + +
handleHandle of the file.
priorityPointer to output the priority to.
+
+
+ +
+
+ +

◆ FSFILE_GetSize()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSFILE_GetSize (Handle handle,
u64size 
)
+
+ +

Gets the size of a file.

+
Parameters
+ + + +
handleHandle of the file.
sizePointer to output the size to.
+
+
+ +
+
+ +

◆ FSFILE_OpenLinkFile()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSFILE_OpenLinkFile (Handle handle,
HandlelinkFile 
)
+
+ +

Opens a duplicate handle to a file.

+
Parameters
+ + + +
handleHandle of the file.
linkFilePointer to output the link handle to.
+
+
+ +
+
+ +

◆ FSFILE_OpenSubFile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSFILE_OpenSubFile (Handle handle,
HandlesubFile,
u64 offset,
u64 size 
)
+
+ +

Opens a handle to a sub-section of a file.

+
Parameters
+ + + + + +
handleHandle of the file.
subFilePointer to output the sub-file to.
offsetOffset of the sub-section.
sizeSize of the sub-section.
+
+
+ +
+
+ +

◆ FSFILE_Read()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSFILE_Read (Handle handle,
u32bytesRead,
u64 offset,
void * buffer,
u32 size 
)
+
+ +

Reads from a file.

+
Parameters
+ + + + + + +
handleHandle of the file.
bytesReadPointer to output the number of bytes read to.
offsetOffset to read from.
bufferBuffer to read to.
sizeSize of the buffer.
+
+
+ +
+
+ +

◆ FSFILE_SetAttributes()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSFILE_SetAttributes (Handle handle,
u32 attributes 
)
+
+ +

Sets the attributes of a file.

+
Parameters
+ + + +
handleHandle of the file.
attributesAttributes to set.
+
+
+ +
+
+ +

◆ FSFILE_SetPriority()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSFILE_SetPriority (Handle handle,
u32 priority 
)
+
+ +

Sets a file's priority.

+
Parameters
+ + + +
handleHandle of the file.
priorityPriority to set.
+
+
+ +
+
+ +

◆ FSFILE_SetSize()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSFILE_SetSize (Handle handle,
u64 size 
)
+
+ +

Sets the size of a file.

+
Parameters
+ + + +
handleHandle of the file.
sizeSize to set.
+
+
+ +
+
+ +

◆ FSFILE_Write()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSFILE_Write (Handle handle,
u32bytesWritten,
u64 offset,
const void * buffer,
u32 size,
u32 flags 
)
+
+ +

Writes to a file.

+
Parameters
+ + + + + + + +
handleHandle of the file.
bytesWrittenPointer to output the number of bytes written to.
offsetOffset to write to.
bufferBuffer to write from.
sizeSize of the buffer.
flagsFlags to use when writing.
+
+
+ +
+
+ +

◆ fsGetSessionHandle()

+ +
+
+ + + + + + + + +
Handle* fsGetSessionHandle (void )
+
+ +

Gets the current FS session handle.

+
Returns
The current FS session handle.
+ +
+
+ +

◆ fsMakePath()

+ +
+
+ + + + + + + + + + + + + + + + + + +
FS_Path fsMakePath (FS_PathType type,
const void * path 
)
+
+ +

Creates an FS_Path instance.

+
Parameters
+ + + +
typeType of path.
pathPath to use.
+
+
+
Returns
The created FS_Path instance.
+ +
+
+ +

◆ fsUnexemptFromSession()

+ +
+
+ + + + + + + + +
void fsUnexemptFromSession (FS_Archive archive)
+
+ +

Unexempts an archive from using alternate FS session handles provided with fsUseSession.

+
Parameters
+ + +
archiveArchive to remove from the exemption list.
+
+
+ +
+
+ +

◆ FSUSER_AbnegateAccessRight()

+ +
+
+ + + + + + + + +
Result FSUSER_AbnegateAccessRight (u32 accessRight)
+
+ +

Abnegates an access right.

+
Parameters
+ + +
accessRightAccess right to abnegate.
+
+
+ +
+
+ +

◆ FSUSER_CardNorDirectCommand()

+ +
+
+ + + + + + + + +
Result FSUSER_CardNorDirectCommand (u8 commandId)
+
+ +

Executes a CARDNOR direct command.

+
Parameters
+ + +
commandIdID of the command.
+
+
+ +
+
+ +

◆ FSUSER_CardNorDirectCommandWithAddress()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_CardNorDirectCommandWithAddress (u8 commandId,
u32 address 
)
+
+ +

Executes a CARDNOR direct command with an address.

+
Parameters
+ + + +
commandIdID of the command.
addressAddress to provide.
+
+
+ +
+
+ +

◆ FSUSER_CardNorDirectCpuWriteWithoutVerify()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_CardNorDirectCpuWriteWithoutVerify (u32 address,
u32 size,
const void * input 
)
+
+ +

Executes a CARDNOR direct CPU write without verify.

+
Parameters
+ + + + +
addressAddress to provide.
sizeSize of the input buffer.
outputInput buffer.
+
+
+ +
+
+ +

◆ FSUSER_CardNorDirectRead()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_CardNorDirectRead (u8 commandId,
u32 size,
void * output 
)
+
+ +

Executes a CARDNOR direct read.

+
Parameters
+ + + + +
commandIdID of the command.
sizeSize of the output buffer.
outputOutput buffer.
+
+
+ +
+
+ +

◆ FSUSER_CardNorDirectRead_4xIO()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_CardNorDirectRead_4xIO (u8 commandId,
u32 address,
u32 size,
void * output 
)
+
+ +

Executes a CARDNOR 4xIO direct read.

+
Parameters
+ + + + + +
commandIdID of the command.
addressAddress to provide.
sizeSize of the output buffer.
outputOutput buffer.
+
+
+ +
+
+ +

◆ FSUSER_CardNorDirectReadWithAddress()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_CardNorDirectReadWithAddress (u8 commandId,
u32 address,
u32 size,
void * output 
)
+
+ +

Executes a CARDNOR direct read with an address.

+
Parameters
+ + + + + +
commandIdID of the command.
addressAddress to provide.
sizeSize of the output buffer.
outputOutput buffer.
+
+
+ +
+
+ +

◆ FSUSER_CardNorDirectSectorEraseWithoutVerify()

+ +
+
+ + + + + + + + +
Result FSUSER_CardNorDirectSectorEraseWithoutVerify (u32 address)
+
+ +

Executes a CARDNOR direct sector erase without verify.

+
Parameters
+ + +
addressAddress to provide.
+
+
+ +
+
+ +

◆ FSUSER_CardNorDirectWrite()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_CardNorDirectWrite (u8 commandId,
u32 size,
const void * input 
)
+
+ +

Executes a CARDNOR direct write.

+
Parameters
+ + + + +
commandIdID of the command.
sizeSize of the input buffer.
outputInput buffer.
+
+
+ +
+
+ +

◆ FSUSER_CardNorDirectWriteWithAddress()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_CardNorDirectWriteWithAddress (u8 commandId,
u32 address,
u32 size,
const void * input 
)
+
+ +

Executes a CARDNOR direct write with an address.

+
Parameters
+ + + + + +
commandIdID of the command.
addressAddress to provide.
sizeSize of the input buffer.
inputInput buffer.
+
+
+ +
+
+ +

◆ FSUSER_CardSlotGetCardIFPowerStatus()

+ +
+
+ + + + + + + + +
Result FSUSER_CardSlotGetCardIFPowerStatus (bool * status)
+
+ +

Gets the card's power status.

+
Parameters
+ + +
statusPointer to output the power status to.
+
+
+ +
+
+ +

◆ FSUSER_CardSlotIsInserted()

+ +
+
+ + + + + + + + +
Result FSUSER_CardSlotIsInserted (bool * inserted)
+
+ +

Gets whether a card is inserted.

+
Parameters
+ + +
insertedPointer to output the insertion status to.
+
+
+ +
+
+ +

◆ FSUSER_CardSlotPowerOff()

+ +
+
+ + + + + + + + +
Result FSUSER_CardSlotPowerOff (bool * status)
+
+ +

Powers off the card slot.

+
Parameters
+ + +
statusPointer to output the power status to.
+
+
+ +
+
+ +

◆ FSUSER_CardSlotPowerOn()

+ +
+
+ + + + + + + + +
Result FSUSER_CardSlotPowerOn (bool * status)
+
+ +

Powers on the card slot.

+
Parameters
+ + +
statusPointer to output the power status to.
+
+
+ +
+
+ +

◆ FSUSER_CheckAuthorityToAccessExtSaveData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_CheckAuthorityToAccessExtSaveData (bool * access,
FS_MediaType mediaType,
u64 saveId,
u32 processId 
)
+
+ +

Checks a process's authority to access a save data archive.

+
Parameters
+ + + + + +
accessPointer to output the access status to.
mediaTypeMedia type of the save data.
saveIdID of the save data.
processIdID of the process to check.
+
+
+ +
+
+ +

◆ FSUSER_CloseArchive()

+ +
+
+ + + + + + + + +
Result FSUSER_CloseArchive (FS_Archive archive)
+
+ +

Closes an archive.

+
Parameters
+ + +
archiveArchive to close.
+
+
+ +
+
+ +

◆ FSUSER_Control()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_Control (FS_Action action,
void * input,
u32 inputSize,
void * output,
u32 outputSize 
)
+
+ +

Performs a control operation on the filesystem.

+
Parameters
+ + + + + + +
actionAction to perform.
inputBuffer to read input from.
inputSizeSize of the input.
outputBuffer to write output to.
outputSizeSize of the output.
+
+
+ +
+
+ +

◆ FSUSER_ControlArchive()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_ControlArchive (FS_Archive archive,
FS_ArchiveAction action,
void * input,
u32 inputSize,
void * output,
u32 outputSize 
)
+
+ +

Performs a control operation on an archive.

+
Parameters
+ + + + + + + +
archiveArchive to control.
actionAction to perform.
inputBuffer to read input from.
inputSizeSize of the input.
outputBuffer to write output to.
outputSizeSize of the output.
+
+
+ +
+
+ +

◆ FSUSER_ControlSecureSave()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_ControlSecureSave (FS_SecureSaveAction action,
void * input,
u32 inputSize,
void * output,
u32 outputSize 
)
+
+ +

Performs a control operation on a secure save.

+
Parameters
+ + + + + + +
actionAction to perform.
inputBuffer to read input from.
inputSizeSize of the input.
outputBuffer to write output to.
outputSizeSize of the output.
+
+
+ +
+
+ +

◆ FSUSER_CreateDirectory()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_CreateDirectory (FS_Archive archive,
FS_Path path,
u32 attributes 
)
+
+ +

Creates a directory.

+
Parameters
+ + + + +
archiveArchive to create the directory in.
pathPath of the directory.
attributesAttributes of the directory.
+
+
+ +
+
+ +

◆ FSUSER_CreateExtSaveData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_CreateExtSaveData (FS_ExtSaveDataInfo info,
u32 directories,
u32 files,
u64 sizeLimit,
u32 smdhSize,
u8smdh 
)
+
+ +

Creates ext save data.

+
Parameters
+ + + + + + + +
infoInfo of the save data.
directoriesNumber of directories.
filesNumber of files.
sizeLimitSize limit of the save data.
smdhSizeSize of the save data's SMDH data.
smdhSMDH data.
+
+
+ +
+
+ +

◆ FSUSER_CreateFile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_CreateFile (FS_Archive archive,
FS_Path path,
u32 attributes,
u64 fileSize 
)
+
+ +

Creates a file.

+
Parameters
+ + + + + +
archiveArchive to create the file in.
pathPath of the file.
attributesAttributes of the file.
fileSizeSize of the file.
+
+
+ +
+
+ +

◆ FSUSER_CreateSystemSaveData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_CreateSystemSaveData (FS_SystemSaveDataInfo info,
u32 totalSize,
u32 blockSize,
u32 directories,
u32 files,
u32 directoryBuckets,
u32 fileBuckets,
bool duplicateData 
)
+
+ +

Creates system save data.

+
Parameters
+ + + + + + + + + +
infoInfo of the save data.
totalSizeTotal size of the save data.
blockSizeBlock size of the save data. (usually 0x1000)
directoriesNumber of directories.
filesNumber of files.
directoryBucketsDirectory hash tree bucket count.
fileBucketsFile hash tree bucket count.
duplicateDataWhether to store an internal duplicate of the data.
+
+
+ +
+
+ +

◆ FSUSER_DeleteDirectory()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_DeleteDirectory (FS_Archive archive,
FS_Path path 
)
+
+ +

Deletes a directory, failing if it is not empty.

+
Parameters
+ + + +
archiveArchive containing the directory.
pathPath of the directory.
+
+
+ +
+
+ +

◆ FSUSER_DeleteDirectoryRecursively()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_DeleteDirectoryRecursively (FS_Archive archive,
FS_Path path 
)
+
+ +

Deletes a directory, also deleting its contents.

+
Parameters
+ + + +
archiveArchive containing the directory.
pathPath of the directory.
+
+
+ +
+
+ +

◆ FSUSER_DeleteExtSaveData()

+ +
+
+ + + + + + + + +
Result FSUSER_DeleteExtSaveData (FS_ExtSaveDataInfo info)
+
+ +

Deletes ext save data.

+
Parameters
+ + +
infoInfo of the save data.
+
+
+ +
+
+ +

◆ FSUSER_DeleteFile()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_DeleteFile (FS_Archive archive,
FS_Path path 
)
+
+ +

Deletes a file.

+
Parameters
+ + + +
archiveArchive containing the file.
pathPath of the file.
+
+
+ +
+
+ +

◆ FSUSER_DeleteSystemSaveData()

+ +
+
+ + + + + + + + +
Result FSUSER_DeleteSystemSaveData (FS_SystemSaveDataInfo info)
+
+ +

Deletes system save data.

+
Parameters
+ + +
infoInfo of the save data.
+
+
+ +
+
+ +

◆ FSUSER_EnumerateExtSaveData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_EnumerateExtSaveData (u32idsWritten,
u32 idsSize,
FS_MediaType mediaType,
u32 idSize,
bool shared,
u8ids 
)
+
+ +

Enumerates ext save data.

+
Parameters
+ + + + + + + +
idsWrittenPointer to output the number of IDs written to.
idsSizeSize of the IDs buffer.
mediaTypeMedia type to enumerate over.
idSizeSize of each ID element.
sharedWhether to enumerate shared ext save data.
idsPointer to output IDs to.
+
+
+ +
+
+ +

◆ FSUSER_EnumerateSystemSaveData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_EnumerateSystemSaveData (u32idsWritten,
u32 idsSize,
u32ids 
)
+
+ +

Enumerates system save data.

+
Parameters
+ + + + +
idsWrittenPointer to output the number of IDs written to.
idsSizeSize of the IDs buffer.
idsPointer to output IDs to.
+
+
+ +
+
+ +

◆ FSUSER_ExportIntegrityVerificationSeed()

+ +
+
+ + + + + + + + +
Result FSUSER_ExportIntegrityVerificationSeed (FS_IntegrityVerificationSeedseed)
+
+ +

Exports the integrity verification seed.

+
Parameters
+ + +
seedPointer to output the seed to.
+
+
+ +
+
+ +

◆ FSUSER_FormatSaveData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_FormatSaveData (FS_ArchiveID archiveId,
FS_Path path,
u32 blocks,
u32 directories,
u32 files,
u32 directoryBuckets,
u32 fileBuckets,
bool duplicateData 
)
+
+ +

Formats save data.

+
Parameters
+ + + + + + + + + +
archiveIdID of the save data archive.
pathPath of the save data.
blocksSize of the save data in blocks. (512 bytes)
directoriesNumber of directories.
filesNumber of files.
directoryBucketsDirectory hash tree bucket count.
fileBucketsFile hash tree bucket count.
duplicateDataWhether to store an internal duplicate of the data.
+
+
+ +
+
+ +

◆ FSUSER_GetArchivePriority()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_GetArchivePriority (u32priority,
FS_Archive archive 
)
+
+ +

Gets an archive's priority.

+
Parameters
+ + + +
priorityPointer to output the priority to.
archiveArchive to use.
+
+
+ +
+
+ +

◆ FSUSER_GetArchiveResource()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_GetArchiveResource (FS_ArchiveResourcearchiveResource,
FS_SystemMediaType mediaType 
)
+
+ +

Gets an archive's resource information.

+
Parameters
+ + + +
archiveResourcePointer to output the archive resource information to.
mediaTypeSystem media type to check.
+
+
+ +
+
+ +

◆ FSUSER_GetCardType()

+ +
+
+ + + + + + + + +
Result FSUSER_GetCardType (FS_CardTypetype)
+
+ +

Gets the inserted card type.

+
Parameters
+ + +
typePointer to output the card type to.
+
+
+ +
+
+ +

◆ FSUSER_GetExtDataBlockSize()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_GetExtDataBlockSize (u64totalBlocks,
u64freeBlocks,
u32blockSize,
FS_ExtSaveDataInfo info 
)
+
+ +

Gets an ext data archive's block information.

+
Parameters
+ + + + + +
totalBlocksPointer to output the total blocks to.
freeBlocksPointer to output the free blocks to.
blockSizePointer to output the block size to.
infoInfo of the save data.
+
+
+ +
+
+ +

◆ FSUSER_GetFormatInfo()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_GetFormatInfo (u32totalSize,
u32directories,
u32files,
bool * duplicateData,
FS_ArchiveID archiveId,
FS_Path path 
)
+
+ +

Retrieves archive format info.

+
Parameters
+ + + + + + + +
totalSizePointer to output the total size to.
directoriesPointer to output the number of directories to.
filesPointer to output the number of files to.
duplicateDataPointer to output whether to duplicate data to.
archiveIdID of the archive.
pathPath of the archive.
+
+
+ +
+
+ +

◆ FSUSER_GetFreeBytes()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_GetFreeBytes (u64freeBytes,
FS_Archive archive 
)
+
+ +

Gets the number of free bytes within an archive.

+
Parameters
+ + + +
freeBytesPointer to output the free bytes to.
archiveArchive to check.
+
+
+ +
+
+ +

◆ FSUSER_GetLegacyBannerData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_GetLegacyBannerData (FS_MediaType mediaType,
u64 programId,
void * banner 
)
+
+ +

Gets the legacy banner data of a program.

+
Parameters
+ + + + +
mediaTypeMedia type of the program.
programIdID of the program.
bannerPointer to output the legacy banner data to. (size = 0x23C0)
+
+
+ +
+
+ +

◆ FSUSER_GetLegacyRomHeader()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_GetLegacyRomHeader (FS_MediaType mediaType,
u64 programId,
void * header 
)
+
+ +

Gets the legacy ROM header of a program.

+
Parameters
+ + + + +
mediaTypeMedia type of the program.
programIdID of the program.
headerPointer to output the legacy ROM header to. (size = 0x3B4)
+
+
+ +
+
+ +

◆ FSUSER_GetLegacyRomHeader2()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_GetLegacyRomHeader2 (u32 headerSize,
FS_MediaType mediaType,
u64 programId,
void * header 
)
+
+ +

Gets the legacy ROM header of a program.

+
Parameters
+ + + + + +
headerSizeSize of the ROM header.
mediaTypeMedia type of the program.
programIdID of the program.
headerPointer to output the legacy ROM header to.
+
+
+ +
+
+ +

◆ FSUSER_GetLegacySubBannerData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_GetLegacySubBannerData (u32 bannerSize,
FS_MediaType mediaType,
u64 programId,
void * banner 
)
+
+ +

Gets the legacy sub banner data of a program.

+
Parameters
+ + + + + +
bannerSizeSize of the banner.
mediaTypeMedia type of the program.
programIdID of the program.
headerPointer to output the legacy sub banner data to.
+
+
+ +
+
+ +

◆ FSUSER_GetMediaType()

+ +
+
+ + + + + + + + +
Result FSUSER_GetMediaType (FS_MediaTypemediaType)
+
+ +

Gets the media type of the current application.

+
Parameters
+ + +
mediaTypePointer to output the media type to.
+
+
+ +
+
+ +

◆ FSUSER_GetNandArchiveResource()

+ +
+
+ + + + + + + + +
Result FSUSER_GetNandArchiveResource (FS_ArchiveResourcearchiveResource)
+
+ +

Gets the NAND archive resource information.

+
Parameters
+ + +
archiveResourcePointer to output the archive resource information to.
+
+
+ +
+
+ +

◆ FSUSER_GetNandCid()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_GetNandCid (u8out,
u32 length 
)
+
+ +

Gets the NAND CID.

+
Parameters
+ + + +
outPointer to output the CID to.
lengthLength of the CID buffer. (should be 0x10)
+
+
+ +
+
+ +

◆ FSUSER_GetNandLog()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_GetNandLog (u8out,
u32 length 
)
+
+ +

Gets the NAND log.

+
Parameters
+ + + +
outPointer to output the log to.
lengthLength of the log buffer.
+
+
+ +
+
+ +

◆ FSUSER_GetNandSpeedInfo()

+ +
+
+ + + + + + + + +
Result FSUSER_GetNandSpeedInfo (FS_SdMmcSpeedInfospeedInfo)
+
+ +

Gets the NAND speed info.

+
Parameters
+ + +
speedInfoPointer to output the speed info to.
+
+
+ +
+
+ +

◆ FSUSER_GetPriority()

+ +
+
+ + + + + + + + +
Result FSUSER_GetPriority (u32priority)
+
+ +

Gets the file system priority.

+
Parameters
+ + +
priorityPointer to output the priority to.
+
+
+ +
+
+ +

◆ FSUSER_GetProductInfo()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_GetProductInfo (FS_ProductInfoinfo,
u32 processId 
)
+
+ +

Gets a process's product info.

+
Parameters
+ + + +
infoPointer to output the product info to.
processIdID of the process.
+
+
+ +
+
+ +

◆ FSUSER_GetProgramLaunchInfo()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_GetProgramLaunchInfo (FS_ProgramInfoinfo,
u32 processId 
)
+
+ +

Gets a process's program launch info.

+
Parameters
+ + + +
infoPointer to output the program launch info to.
processIdID of the process.
+
+
+ +
+
+ +

◆ FSUSER_GetSaveDataSecureValue()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_GetSaveDataSecureValue (bool * exists,
u64value,
FS_SecureValueSlot slot,
u32 titleUniqueId,
u8 titleVariation 
)
+
+ +

Gets the save data secure value.

+
Parameters
+ + + + + + +
existsPointer to output whether the secure value exists to.
valuePointer to output the secure value to.
slotSlot of the secure value.
titleUniqueIdUnique ID of the title. (default = 0)
titleVariationVariation of the title. (default = 0)
+
+
+ +
+
+ +

◆ FSUSER_GetSdmcArchiveResource()

+ +
+
+ + + + + + + + +
Result FSUSER_GetSdmcArchiveResource (FS_ArchiveResourcearchiveResource)
+
+ +

Gets the SDMC archive resource information.

+
Parameters
+ + +
archiveResourcePointer to output the archive resource information to.
+
+
+ +
+
+ +

◆ FSUSER_GetSdmcCid()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_GetSdmcCid (u8out,
u32 length 
)
+
+ +

Gets the SDMC CID.

+
Parameters
+ + + +
outPointer to output the CID to.
lengthLength of the CID buffer. (should be 0x10)
+
+
+ +
+
+ +

◆ FSUSER_GetSdmcCtrRootPath()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_GetSdmcCtrRootPath (u8out,
u32 length 
)
+
+ +

Gets the CTR SDMC root path.

+
Parameters
+ + + +
outPointer to output the root path to.
lengthLength of the output buffer.
+
+
+ +
+
+ +

◆ FSUSER_GetSdmcFatfsError()

+ +
+
+ + + + + + + + +
Result FSUSER_GetSdmcFatfsError (u32error)
+
+ +

Gets the last SDMC fatfs error.

+
Parameters
+ + +
errorPointer to output the error to.
+
+
+ +
+
+ +

◆ FSUSER_GetSdmcLog()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_GetSdmcLog (u8out,
u32 length 
)
+
+ +

Gets the SDMC log.

+
Parameters
+ + + +
outPointer to output the log to.
lengthLength of the log buffer.
+
+
+ +
+
+ +

◆ FSUSER_GetSdmcSpeedInfo()

+ +
+
+ + + + + + + + +
Result FSUSER_GetSdmcSpeedInfo (FS_SdMmcSpeedInfospeedInfo)
+
+ +

Gets the SDMC speed info.

+
Parameters
+ + +
speedInfoPointer to output the speed info to.
+
+
+ +
+
+ +

◆ FSUSER_GetSpecialContentIndex()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_GetSpecialContentIndex (u16index,
FS_MediaType mediaType,
u64 programId,
FS_SpecialContentType type 
)
+
+ +

Gets a special content's index.

+
Parameters
+ + + + + +
indexPointer to output the index to.
mediaTypeMedia type of the special content.
programIdProgram ID owning the special content.
typeType of special content.
+
+
+ +
+
+ +

◆ FSUSER_GetSpecialFileSize()

+ +
+
+ + + + + + + + +
Result FSUSER_GetSpecialFileSize (u64fileSize)
+
+ +

Gets the size of a special file.

+
Parameters
+ + +
fileSizePointer to output the size to.
+
+
+ +
+
+ +

◆ FSUSER_ImportIntegrityVerificationSeed()

+ +
+
+ + + + + + + + +
Result FSUSER_ImportIntegrityVerificationSeed (FS_IntegrityVerificationSeedseed)
+
+ +

Imports an integrity verification seed.

+
Parameters
+ + +
seedSeed to import.
+
+
+ +
+
+ +

◆ FSUSER_Initialize()

+ +
+
+ + + + + + + + +
Result FSUSER_Initialize (Handle session)
+
+ +

Initializes a FSUSER session.

+
Parameters
+ + +
sessionThe handle of the FSUSER session to initialize.
+
+
+ +
+
+ +

◆ FSUSER_InitializeWithSdkVersion()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_InitializeWithSdkVersion (Handle session,
u32 version 
)
+
+ +

Initializes a FSUSER session with an SDK version.

+
Parameters
+ + + +
sessionThe handle of the FSUSER session to initialize.
versionSDK version to initialize with.
+
+
+ +
+
+ +

◆ FSUSER_IsSdmcDetected()

+ +
+
+ + + + + + + + +
Result FSUSER_IsSdmcDetected (bool * detected)
+
+ +

Gets whether an SD card is detected.

+
Parameters
+ + +
detectedPointer to output the detection status to.
+
+
+ +
+
+ +

◆ FSUSER_IsSdmcWritable()

+ +
+
+ + + + + + + + +
Result FSUSER_IsSdmcWritable (bool * writable)
+
+ +

Gets whether the SD card is writable.

+
Parameters
+ + +
writablePointer to output the writable status to.
+
+
+ +
+
+ +

◆ FSUSER_OpenArchive()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_OpenArchive (FS_Archivearchive,
FS_ArchiveID id,
FS_Path path 
)
+
+ +

Opens an archive.

+
Parameters
+ + + + +
archivePointer to output the opened archive to.
idID of the archive.
pathPath of the archive.
+
+
+ +
+
+ +

◆ FSUSER_OpenDirectory()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_OpenDirectory (Handleout,
FS_Archive archive,
FS_Path path 
)
+
+ +

Opens a directory.

+
Parameters
+ + + + +
outPointer to output the directory handle to.
archiveArchive containing the directory.
pathPath of the directory.
+
+
+ +
+
+ +

◆ FSUSER_OpenFile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_OpenFile (Handleout,
FS_Archive archive,
FS_Path path,
u32 openFlags,
u32 attributes 
)
+
+ +

Opens a file.

+
Parameters
+ + + + + + +
outPointer to output the file handle to.
archiveArchive containing the file.
pathPath of the file.
openFlagsFlags to open the file with.
attributesAttributes of the file.
+
+
+ +
+
+ +

◆ FSUSER_OpenFileDirectly()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_OpenFileDirectly (Handleout,
FS_ArchiveID archiveId,
FS_Path archivePath,
FS_Path filePath,
u32 openFlags,
u32 attributes 
)
+
+ +

Opens a file directly, bypassing the requirement of an opened archive handle.

+
Parameters
+ + + + + + + +
outPointer to output the file handle to.
archiveIdID of the archive containing the file.
archivePathPath of the archive containing the file.
filePathPath of the file.
openFlagsFlags to open the file with.
attributesAttributes of the file.
+
+
+ +
+
+ +

◆ FSUSER_QueryTotalQuotaSize()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_QueryTotalQuotaSize (u64quotaSize,
u32 directories,
u32 files,
u32 fileSizeCount,
u64fileSizes 
)
+
+ +

Queries the total quota size of a save data archive.

+
Parameters
+ + + + + + +
quotaSizePointer to output the quota size to.
directoriesNumber of directories.
filesNumber of files.
fileSizeCountNumber of file sizes to provide.
fileSizesFile sizes to provide.
+
+
+ +
+
+ +

◆ FSUSER_ReadExtSaveDataIcon()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_ReadExtSaveDataIcon (u32bytesRead,
FS_ExtSaveDataInfo info,
u32 smdhSize,
u8smdh 
)
+
+ +

Reads the SMDH icon of ext save data.

+
Parameters
+ + + + + +
bytesReadPointer to output the number of bytes read to.
infoInfo of the save data.
smdhSizeSize of the save data SMDH.
smdhPointer to output SMDH data to.
+
+
+ +
+
+ +

◆ FSUSER_ReadSpecialFile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_ReadSpecialFile (u32bytesRead,
u64 fileOffset,
u32 size,
void * data 
)
+
+ +

Reads from a special file.

+
Parameters
+ + + + + +
bytesReadPointer to output the number of bytes read to.
fileOffsetOffset of the file.
sizeSize of the buffer.
dataBuffer to read to.
+
+
+ +
+
+ +

◆ FSUSER_RenameDirectory()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_RenameDirectory (FS_Archive srcArchive,
FS_Path srcPath,
FS_Archive dstArchive,
FS_Path dstPath 
)
+
+ +

Renames a directory.

+
Parameters
+ + + + + +
srcArchiveArchive containing the source directory.
srcPathPath of the source directory.
dstArchiveArchive containing the destination directory.
dstPathPath of the destination directory.
+
+
+ +
+
+ +

◆ FSUSER_RenameFile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_RenameFile (FS_Archive srcArchive,
FS_Path srcPath,
FS_Archive dstArchive,
FS_Path dstPath 
)
+
+ +

Renames a file.

+
Parameters
+ + + + + +
srcArchiveArchive containing the source file.
srcPathPath of the source file.
dstArchiveArchive containing the destination file.
dstPathPath of the destination file.
+
+
+ +
+
+ +

◆ FSUSER_SetArchivePriority()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_SetArchivePriority (FS_Archive archive,
u32 priority 
)
+
+ +

Sets an archive's priority.

+
Parameters
+ + + +
archiveArchive to use.
priorityPriority to set.
+
+
+ +
+
+ +

◆ FSUSER_SetCardSpiBaudRate()

+ +
+
+ + + + + + + + +
Result FSUSER_SetCardSpiBaudRate (FS_CardSpiBaudRate baudRate)
+
+ +

Sets the CARDSPI baud rate.

+
Parameters
+ + +
baudRateBaud rate to set.
+
+
+ +
+
+ +

◆ FSUSER_SetCardSpiBusMode()

+ +
+
+ + + + + + + + +
Result FSUSER_SetCardSpiBusMode (FS_CardSpiBusMode busMode)
+
+ +

Sets the CARDSPI bus mode.

+
Parameters
+ + +
busModeBus mode to set.
+
+
+ +
+
+ +

◆ FSUSER_SetCtrCardLatencyParameter()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_SetCtrCardLatencyParameter (u64 latency,
bool emulateEndurance 
)
+
+ +

Configures CTRCARD latency emulation.

+
Parameters
+ + + +
latencyLatency to apply, in milliseconds.
emulateEnduranceWhether to emulate card endurance.
+
+
+ +
+
+ +

◆ FSUSER_SetPriority()

+ +
+
+ + + + + + + + +
Result FSUSER_SetPriority (u32 priority)
+
+ +

Sets the file system priority.

+
Parameters
+ + +
priorityPriority to set.
+
+
+ +
+
+ +

◆ FSUSER_SetSaveDataSecureValue()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_SetSaveDataSecureValue (u64 value,
FS_SecureValueSlot slot,
u32 titleUniqueId,
u8 titleVariation 
)
+
+ +

Sets the save data secure value.

+
Parameters
+ + + + + +
valueSecure value to set.
slotSlot of the secure value.
titleUniqueIdUnique ID of the title. (default = 0)
titleVariationVariation of the title. (default = 0)
+
+
+ +
+
+ +

◆ FSUSER_StartDeviceMoveAsDestination()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSUSER_StartDeviceMoveAsDestination (FS_DeviceMoveContext context,
bool clear 
)
+
+ +

Initiates a device move as the destination device.

+
Parameters
+ + + +
contextContext to use.
clearWhether to clear the device's data first.
+
+
+ +
+
+ +

◆ FSUSER_StartDeviceMoveAsSource()

+ +
+
+ + + + + + + + +
Result FSUSER_StartDeviceMoveAsSource (FS_DeviceMoveContextcontext)
+
+ +

Initiates a device move as the source device.

+
Parameters
+ + +
contextPointer to output the context to.
+
+
+ +
+
+ +

◆ FSUSER_SwitchCleanupInvalidSaveData()

+ +
+
+ + + + + + + + +
Result FSUSER_SwitchCleanupInvalidSaveData (bool enable)
+
+ +

Toggles cleaning up invalid save data.

+
Parameters
+ + +
enableWhether to enable cleaning up invalid save data.
+
+
+ +
+
+ +

◆ FSUSER_UpdateSha256Context()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSUSER_UpdateSha256Context (const void * data,
u32 inputSize,
u8hash 
)
+
+ +

Hashes the given data and outputs a SHA256 hash.

+
Parameters
+ + + + +
dataPointer to the data to be hashed.
inputSizeThe size of the data.
hashHash output pointer.
+
+
+ +
+
+ +

◆ fsUseSession()

+ +
+
+ + + + + + + + +
void fsUseSession (Handle session)
+
+ +

Sets the FSUSER session to use in the current thread.

+
Parameters
+ + +
sessionThe handle of the FSUSER session to use.
+
+
+ +
+
+
+ + + + diff --git a/fs_8h_source.html b/fs_8h_source.html new file mode 100644 index 000000000..b4beccfc6 --- /dev/null +++ b/fs_8h_source.html @@ -0,0 +1,1407 @@ + + + + + + + +libctru: include/3ds/services/fs.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
fs.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file fs.h
+
3  * @brief Filesystem Services
+
4  */
+
5 #pragma once
+
6 
+
7 #include <3ds/types.h>
+
8 
+
9 /// Open flags.
+
10 enum
+
11 {
+
12  FS_OPEN_READ = BIT(0), ///< Open for reading.
+
13  FS_OPEN_WRITE = BIT(1), ///< Open for writing.
+
14  FS_OPEN_CREATE = BIT(2), ///< Create file.
+
15 };
+
16 
+
17 /// Write flags.
+
18 enum
+
19 {
+
20  FS_WRITE_FLUSH = BIT(0), ///< Flush.
+
21  FS_WRITE_UPDATE_TIME = BIT(8), ///< Update file timestamp.
+
22 };
+
23 
+
24 /// Attribute flags.
+
25 enum
+
26 {
+
27  FS_ATTRIBUTE_DIRECTORY = BIT(0), ///< Directory.
+
28  FS_ATTRIBUTE_HIDDEN = BIT(8), ///< Hidden.
+
29  FS_ATTRIBUTE_ARCHIVE = BIT(16), ///< Archive.
+
30  FS_ATTRIBUTE_READ_ONLY = BIT(24), ///< Read-only.
+
31 };
+
32 
+
33 /// Media types.
+
34 typedef enum
+
35 {
+
36  MEDIATYPE_NAND = 0, ///< NAND.
+
37  MEDIATYPE_SD = 1, ///< SD card.
+
38  MEDIATYPE_GAME_CARD = 2, ///< Game card.
+
39 } FS_MediaType;
+
40 
+
41 /// System media types.
+
42 typedef enum
+
43 {
+
44  SYSTEM_MEDIATYPE_CTR_NAND = 0, ///< CTR NAND.
+
45  SYSTEM_MEDIATYPE_TWL_NAND = 1, ///< TWL NAND.
+
46  SYSTEM_MEDIATYPE_SD = 2, ///< SD card.
+
47  SYSTEM_MEDIATYPE_TWL_PHOTO = 3, ///< TWL Photo.
+ +
49 
+
50 /// Archive IDs.
+
51 typedef enum
+
52 {
+
53  ARCHIVE_ROMFS = 0x00000003, ///< RomFS archive.
+
54  ARCHIVE_SAVEDATA = 0x00000004, ///< Save data archive.
+
55  ARCHIVE_EXTDATA = 0x00000006, ///< Ext data archive.
+
56  ARCHIVE_SHARED_EXTDATA = 0x00000007, ///< Shared ext data archive.
+
57  ARCHIVE_SYSTEM_SAVEDATA = 0x00000008, ///< System save data archive.
+
58  ARCHIVE_SDMC = 0x00000009, ///< SDMC archive.
+
59  ARCHIVE_SDMC_WRITE_ONLY = 0x0000000A, ///< Write-only SDMC archive.
+
60  ARCHIVE_BOSS_EXTDATA = 0x12345678, ///< BOSS ext data archive.
+
61  ARCHIVE_CARD_SPIFS = 0x12345679, ///< Card SPI FS archive.
+
62  ARCHIVE_EXTDATA_AND_BOSS_EXTDATA = 0x1234567B, ///< Ext data and BOSS ext data archive.
+
63  ARCHIVE_SYSTEM_SAVEDATA2 = 0x1234567C, ///< System save data archive.
+
64  ARCHIVE_NAND_RW = 0x1234567D, ///< Read-write NAND archive.
+
65  ARCHIVE_NAND_RO = 0x1234567E, ///< Read-only NAND archive.
+
66  ARCHIVE_NAND_RO_WRITE_ACCESS = 0x1234567F, ///< Read-only write access NAND archive.
+
67  ARCHIVE_SAVEDATA_AND_CONTENT = 0x2345678A, ///< User save data and ExeFS/RomFS archive.
+
68  ARCHIVE_SAVEDATA_AND_CONTENT2 = 0x2345678E, ///< User save data and ExeFS/RomFS archive (only ExeFS for fs:LDR).
+
69  ARCHIVE_NAND_CTR_FS = 0x567890AB, ///< NAND CTR FS archive.
+
70  ARCHIVE_TWL_PHOTO = 0x567890AC, ///< TWL PHOTO archive.
+
71  ARCHIVE_TWL_SOUND = 0x567890AD, ///< TWL SOUND archive.
+
72  ARCHIVE_NAND_TWL_FS = 0x567890AE, ///< NAND TWL FS archive.
+
73  ARCHIVE_NAND_W_FS = 0x567890AF, ///< NAND W FS archive.
+
74  ARCHIVE_GAMECARD_SAVEDATA = 0x567890B1, ///< Game card save data archive.
+
75  ARCHIVE_USER_SAVEDATA = 0x567890B2, ///< User save data archive.
+
76  ARCHIVE_DEMO_SAVEDATA = 0x567890B4, ///< Demo save data archive.
+
77 } FS_ArchiveID;
+
78 
+
79 /// Path types.
+
80 typedef enum
+
81 {
+
82  PATH_INVALID = 0, ///< Invalid path.
+
83  PATH_EMPTY = 1, ///< Empty path.
+
84  PATH_BINARY = 2, ///< Binary path. Meaning is per-archive.
+
85  PATH_ASCII = 3, ///< ASCII text path.
+
86  PATH_UTF16 = 4, ///< UTF-16 text path.
+
87 } FS_PathType;
+
88 
+
89 /// Secure value slot.
+
90 typedef enum
+
91 {
+
92  SECUREVALUE_SLOT_SD = 0x1000, ///< SD application.
+ +
94 
+
95 /// Card SPI baud rate.
+
96 typedef enum
+
97 {
+
98  BAUDRATE_512KHZ = 0, ///< 512KHz.
+
99  BAUDRATE_1MHZ = 1, ///< 1MHz.
+
100  BAUDRATE_2MHZ = 2, ///< 2MHz.
+
101  BAUDRATE_4MHZ = 3, ///< 4MHz.
+
102  BAUDRATE_8MHZ = 4, ///< 8MHz.
+
103  BAUDRATE_16MHZ = 5, ///< 16MHz.
+ +
105 
+
106 /// Card SPI bus mode.
+
107 typedef enum
+
108 {
+
109  BUSMODE_1BIT = 0, ///< 1-bit.
+
110  BUSMODE_4BIT = 1, ///< 4-bit.
+ +
112 
+
113 /// Card SPI bus mode.
+
114 typedef enum
+
115 {
+
116  SPECIALCONTENT_UPDATE = 1, ///< Update.
+
117  SPECIALCONTENT_MANUAL = 2, ///< Manual.
+
118  SPECIALCONTENT_DLP_CHILD = 3, ///< DLP child.
+ +
120 
+
121 typedef enum
+
122 {
+
123  CARD_CTR = 0, ///< CTR card.
+
124  CARD_TWL = 1, ///< TWL card.
+
125 } FS_CardType;
+
126 
+
127 /// FS control actions.
+
128 typedef enum
+
129 {
+
130  FS_ACTION_UNKNOWN = 0,
+
131 } FS_Action;
+
132 
+
133 /// Archive control actions.
+
134 typedef enum
+
135 {
+
136  ARCHIVE_ACTION_COMMIT_SAVE_DATA = 0, ///< Commits save data changes. No inputs/outputs.
+
137  ARCHIVE_ACTION_GET_TIMESTAMP = 1, ///< Retrieves a file's last-modified timestamp. In: "u16*, UTF-16 Path", Out: "u64, Time Stamp".
+
138  ARCHIVE_ACTION_UNKNOWN = 0x789D, //< Unknown action; calls FSPXI command 0x56. In: "FS_Path instance", Out: "u32[4], Unknown"
+ +
140 
+
141 /// Secure save control actions.
+
142 typedef enum
+
143 {
+
144  SECURESAVE_ACTION_DELETE = 0, ///< Deletes a save's secure value. In: "u64, ((SecureValueSlot << 32) | (TitleUniqueId << 8) | TitleVariation)", Out: "u8, Value Existed"
+
145  SECURESAVE_ACTION_FORMAT = 1, ///< Formats a save. No inputs/outputs.
+ +
147 
+
148 /// File control actions.
+
149 typedef enum
+
150 {
+
151  FILE_ACTION_UNKNOWN = 0,
+
152 } FS_FileAction;
+
153 
+
154 /// Directory control actions.
+
155 typedef enum
+
156 {
+
157  DIRECTORY_ACTION_UNKNOWN = 0,
+ +
159 
+
160 /// Directory entry.
+
161 typedef struct
+
162 {
+
163  u16 name[0x106]; ///< UTF-16 directory name.
+
164  char shortName[0x0A]; ///< File name.
+
165  char shortExt[0x04]; ///< File extension.
+
166  u8 valid; ///< Valid flag. (Always 1)
+
167  u8 reserved; ///< Reserved.
+
168  u32 attributes; ///< Attributes.
+
169  u64 fileSize; ///< File size.
+ +
171 
+
172 /// Archive resource information.
+
173 typedef struct
+
174 {
+
175  u32 sectorSize; ///< Size of each sector, in bytes.
+
176  u32 clusterSize; ///< Size of each cluster, in bytes.
+
177  u32 totalClusters; ///< Total number of clusters.
+
178  u32 freeClusters; ///< Number of free clusters.
+ +
180 
+
181 /// Program information.
+
182 typedef struct
+
183 {
+
184  u64 programId; ///< Program ID.
+
185  FS_MediaType mediaType : 8; ///< Media type.
+
186  u8 padding[7]; ///< Padding.
+ +
188 
+
189 /// Product information.
+
190 typedef struct
+
191 {
+
192  char productCode[0x10]; ///< Product code.
+
193  char companyCode[0x2]; ///< Company code.
+
194  u16 remasterVersion; ///< Remaster version.
+ +
196 
+
197 /// Integrity verification seed.
+
198 typedef struct
+
199 {
+
200  u8 aesCbcMac[0x10]; ///< AES-CBC MAC over a SHA256 hash, which hashes the first 0x110-bytes of the cleartext SEED.
+
201  u8 movableSed[0x120]; ///< The "nand/private/movable.sed", encrypted with AES-CTR using the above MAC for the counter.
+ +
203 
+
204 /// Ext save data information.
+
205 typedef struct CTR_PACKED
+
206 {
+
207  FS_MediaType mediaType : 8; ///< Media type.
+
208  u8 unknown; ///< Unknown.
+
209  u16 reserved1; ///< Reserved.
+
210  u64 saveId; ///< Save ID.
+
211  u32 reserved2; ///< Reserved.
+ +
213 
+
214 /// System save data information.
+
215 typedef struct
+
216 {
+
217  FS_MediaType mediaType : 8; ///< Media type.
+
218  u8 unknown; ///< Unknown.
+
219  u16 reserved; ///< Reserved.
+
220  u32 saveId; ///< Save ID.
+ +
222 
+
223 /// Device move context.
+
224 typedef struct
+
225 {
+
226  u8 ivs[0x10]; ///< IVs.
+
227  u8 encryptParameter[0x10]; ///< Encrypt parameter.
+ +
229 
+
230 /// Filesystem path data, detailing the specific target of an operation.
+
231 typedef struct
+
232 {
+
233  FS_PathType type; ///< FS path type.
+
234  u32 size; ///< FS path size.
+
235  const void* data; ///< Pointer to FS path data.
+
236 } FS_Path;
+
237 
+
238 /// SDMC/NAND speed information
+
239 typedef struct
+
240 {
+
241  bool highSpeedModeEnabled; ///< Whether or not High Speed Mode is enabled.
+
242  bool usesHighestClockRate; ///< Whether or not a clock divider of 2 is being used.
+
243  u16 sdClkCtrl; ///< The value of the SD_CLK_CTRL register.
+ +
245 
+
246 /// Filesystem archive handle, providing access to a filesystem's contents.
+
247 typedef u64 FS_Archive;
+
248 
+
249 /// Initializes FS.
+ +
251 
+
252 /// Exits FS.
+
253 void fsExit(void);
+
254 
+
255 /**
+
256  * @brief Sets the FSUSER session to use in the current thread.
+
257  * @param session The handle of the FSUSER session to use.
+
258  */
+
259 void fsUseSession(Handle session);
+
260 
+
261 /// Disables the FSUSER session override in the current thread.
+
262 void fsEndUseSession(void);
+
263 
+
264 /**
+
265  * @brief Exempts an archive from using alternate FS session handles provided with @ref fsUseSession
+
266  * Instead, the archive will use the default FS session handle, opened with @ref srvGetSessionHandle
+
267  * @param archive Archive to exempt.
+
268  */
+ +
270 
+
271 /**
+
272  * @brief Unexempts an archive from using alternate FS session handles provided with @ref fsUseSession
+
273  * @param archive Archive to remove from the exemption list.
+
274  */
+ +
276 
+
277 /**
+
278  * @brief Creates an FS_Path instance.
+
279  * @param type Type of path.
+
280  * @param path Path to use.
+
281  * @return The created FS_Path instance.
+
282  */
+
283 FS_Path fsMakePath(FS_PathType type, const void* path);
+
284 
+
285 /**
+
286  * @brief Gets the current FS session handle.
+
287  * @return The current FS session handle.
+
288  */
+ +
290 
+
291 /**
+
292  * @brief Performs a control operation on the filesystem.
+
293  * @param action Action to perform.
+
294  * @param input Buffer to read input from.
+
295  * @param inputSize Size of the input.
+
296  * @param output Buffer to write output to.
+
297  * @param outputSize Size of the output.
+
298  */
+
299 Result FSUSER_Control(FS_Action action, void* input, u32 inputSize, void* output, u32 outputSize);
+
300 
+
301 /**
+
302  * @brief Initializes a FSUSER session.
+
303  * @param session The handle of the FSUSER session to initialize.
+
304  */
+ +
306 
+
307 /**
+
308  * @brief Opens a file.
+
309  * @param out Pointer to output the file handle to.
+
310  * @param archive Archive containing the file.
+
311  * @param path Path of the file.
+
312  * @param openFlags Flags to open the file with.
+
313  * @param attributes Attributes of the file.
+
314  */
+
315 Result FSUSER_OpenFile(Handle* out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes);
+
316 
+
317 /**
+
318  * @brief Opens a file directly, bypassing the requirement of an opened archive handle.
+
319  * @param out Pointer to output the file handle to.
+
320  * @param archiveId ID of the archive containing the file.
+
321  * @param archivePath Path of the archive containing the file.
+
322  * @param filePath Path of the file.
+
323  * @param openFlags Flags to open the file with.
+
324  * @param attributes Attributes of the file.
+
325  */
+
326 Result FSUSER_OpenFileDirectly(Handle* out, FS_ArchiveID archiveId, FS_Path archivePath, FS_Path filePath, u32 openFlags, u32 attributes);
+
327 
+
328 /**
+
329  * @brief Deletes a file.
+
330  * @param archive Archive containing the file.
+
331  * @param path Path of the file.
+
332  */
+ +
334 
+
335 /**
+
336  * @brief Renames a file.
+
337  * @param srcArchive Archive containing the source file.
+
338  * @param srcPath Path of the source file.
+
339  * @param dstArchive Archive containing the destination file.
+
340  * @param dstPath Path of the destination file.
+
341  */
+
342 Result FSUSER_RenameFile(FS_Archive srcArchive, FS_Path srcPath, FS_Archive dstArchive, FS_Path dstPath);
+
343 
+
344 /**
+
345  * @brief Deletes a directory, failing if it is not empty.
+
346  * @param archive Archive containing the directory.
+
347  * @param path Path of the directory.
+
348  */
+ +
350 
+
351 /**
+
352  * @brief Deletes a directory, also deleting its contents.
+
353  * @param archive Archive containing the directory.
+
354  * @param path Path of the directory.
+
355  */
+ +
357 
+
358 /**
+
359  * @brief Creates a file.
+
360  * @param archive Archive to create the file in.
+
361  * @param path Path of the file.
+
362  * @param attributes Attributes of the file.
+
363  * @param fileSize Size of the file.
+
364  */
+
365 Result FSUSER_CreateFile(FS_Archive archive, FS_Path path, u32 attributes, u64 fileSize);
+
366 
+
367 /**
+
368  * @brief Creates a directory
+
369  * @param archive Archive to create the directory in.
+
370  * @param path Path of the directory.
+
371  * @param attributes Attributes of the directory.
+
372  */
+ +
374 
+
375 /**
+
376  * @brief Renames a directory.
+
377  * @param srcArchive Archive containing the source directory.
+
378  * @param srcPath Path of the source directory.
+
379  * @param dstArchive Archive containing the destination directory.
+
380  * @param dstPath Path of the destination directory.
+
381  */
+
382 Result FSUSER_RenameDirectory(FS_Archive srcArchive, FS_Path srcPath, FS_Archive dstArchive, FS_Path dstPath);
+
383 
+
384 /**
+
385  * @brief Opens a directory.
+
386  * @param out Pointer to output the directory handle to.
+
387  * @param archive Archive containing the directory.
+
388  * @param path Path of the directory.
+
389  */
+ +
391 
+
392 /**
+
393  * @brief Opens an archive.
+
394  * @param archive Pointer to output the opened archive to.
+
395  * @param id ID of the archive.
+
396  * @param path Path of the archive.
+
397  */
+ +
399 
+
400 /**
+
401  * @brief Performs a control operation on an archive.
+
402  * @param archive Archive to control.
+
403  * @param action Action to perform.
+
404  * @param input Buffer to read input from.
+
405  * @param inputSize Size of the input.
+
406  * @param output Buffer to write output to.
+
407  * @param outputSize Size of the output.
+
408  */
+
409 Result FSUSER_ControlArchive(FS_Archive archive, FS_ArchiveAction action, void* input, u32 inputSize, void* output, u32 outputSize);
+
410 
+
411 /**
+
412  * @brief Closes an archive.
+
413  * @param archive Archive to close.
+
414  */
+ +
416 
+
417 /**
+
418  * @brief Gets the number of free bytes within an archive.
+
419  * @param freeBytes Pointer to output the free bytes to.
+
420  * @param archive Archive to check.
+
421  */
+ +
423 
+
424 /**
+
425  * @brief Gets the inserted card type.
+
426  * @param type Pointer to output the card type to.
+
427  */
+ +
429 
+
430 /**
+
431  * @brief Gets the SDMC archive resource information.
+
432  * @param archiveResource Pointer to output the archive resource information to.
+
433  */
+ +
435 
+
436 /**
+
437  * @brief Gets the NAND archive resource information.
+
438  * @param archiveResource Pointer to output the archive resource information to.
+
439  */
+ +
441 
+
442 /**
+
443  * @brief Gets the last SDMC fatfs error.
+
444  * @param error Pointer to output the error to.
+
445  */
+ +
447 
+
448 /**
+
449  * @brief Gets whether an SD card is detected.
+
450  * @param detected Pointer to output the detection status to.
+
451  */
+ +
453 
+
454 /**
+
455  * @brief Gets whether the SD card is writable.
+
456  * @param writable Pointer to output the writable status to.
+
457  */
+ +
459 
+
460 /**
+
461  * @brief Gets the SDMC CID.
+
462  * @param out Pointer to output the CID to.
+
463  * @param length Length of the CID buffer. (should be 0x10)
+
464  */
+ +
466 
+
467 /**
+
468  * @brief Gets the NAND CID.
+
469  * @param out Pointer to output the CID to.
+
470  * @param length Length of the CID buffer. (should be 0x10)
+
471  */
+ +
473 
+
474 /**
+
475  * @brief Gets the SDMC speed info.
+
476  * @param speedInfo Pointer to output the speed info to.
+
477  */
+ +
479 
+
480 /**
+
481  * @brief Gets the NAND speed info.
+
482  * @param speedInfo Pointer to output the speed info to.
+
483  */
+ +
485 
+
486 /**
+
487  * @brief Gets the SDMC log.
+
488  * @param out Pointer to output the log to.
+
489  * @param length Length of the log buffer.
+
490  */
+ +
492 
+
493 /**
+
494  * @brief Gets the NAND log.
+
495  * @param out Pointer to output the log to.
+
496  * @param length Length of the log buffer.
+
497  */
+ +
499 
+
500 /// Clears the SDMC log.
+ +
502 
+
503 /// Clears the NAND log.
+ +
505 
+
506 /**
+
507  * @brief Gets whether a card is inserted.
+
508  * @param inserted Pointer to output the insertion status to.
+
509  */
+ +
511 
+
512 /**
+
513  * @brief Powers on the card slot.
+
514  * @param status Pointer to output the power status to.
+
515  */
+ +
517 
+
518 /**
+
519  * @brief Powers off the card slot.
+
520  * @param status Pointer to output the power status to.
+
521  */
+ +
523 
+
524 /**
+
525  * @brief Gets the card's power status.
+
526  * @param status Pointer to output the power status to.
+
527  */
+ +
529 
+
530 /**
+
531  * @brief Executes a CARDNOR direct command.
+
532  * @param commandId ID of the command.
+
533  */
+ +
535 
+
536 /**
+
537  * @brief Executes a CARDNOR direct command with an address.
+
538  * @param commandId ID of the command.
+
539  * @param address Address to provide.
+
540  */
+ +
542 
+
543 /**
+
544  * @brief Executes a CARDNOR direct read.
+
545  * @param commandId ID of the command.
+
546  * @param size Size of the output buffer.
+
547  * @param output Output buffer.
+
548  */
+
549 Result FSUSER_CardNorDirectRead(u8 commandId, u32 size, void* output);
+
550 
+
551 /**
+
552  * @brief Executes a CARDNOR direct read with an address.
+
553  * @param commandId ID of the command.
+
554  * @param address Address to provide.
+
555  * @param size Size of the output buffer.
+
556  * @param output Output buffer.
+
557  */
+
558 Result FSUSER_CardNorDirectReadWithAddress(u8 commandId, u32 address, u32 size, void* output);
+
559 
+
560 /**
+
561  * @brief Executes a CARDNOR direct write.
+
562  * @param commandId ID of the command.
+
563  * @param size Size of the input buffer.
+
564  * @param output Input buffer.
+
565  */
+
566 Result FSUSER_CardNorDirectWrite(u8 commandId, u32 size, const void* input);
+
567 
+
568 /**
+
569  * @brief Executes a CARDNOR direct write with an address.
+
570  * @param commandId ID of the command.
+
571  * @param address Address to provide.
+
572  * @param size Size of the input buffer.
+
573  * @param input Input buffer.
+
574  */
+
575 Result FSUSER_CardNorDirectWriteWithAddress(u8 commandId, u32 address, u32 size, const void* input);
+
576 
+
577 /**
+
578  * @brief Executes a CARDNOR 4xIO direct read.
+
579  * @param commandId ID of the command.
+
580  * @param address Address to provide.
+
581  * @param size Size of the output buffer.
+
582  * @param output Output buffer.
+
583  */
+
584 Result FSUSER_CardNorDirectRead_4xIO(u8 commandId, u32 address, u32 size, void* output);
+
585 
+
586 /**
+
587  * @brief Executes a CARDNOR direct CPU write without verify.
+
588  * @param address Address to provide.
+
589  * @param size Size of the input buffer.
+
590  * @param output Input buffer.
+
591  */
+
592 Result FSUSER_CardNorDirectCpuWriteWithoutVerify(u32 address, u32 size, const void* input);
+
593 
+
594 /**
+
595  * @brief Executes a CARDNOR direct sector erase without verify.
+
596  * @param address Address to provide.
+
597  */
+ +
599 
+
600 /**
+
601  * @brief Gets a process's product info.
+
602  * @param info Pointer to output the product info to.
+
603  * @param processId ID of the process.
+
604  */
+ +
606 
+
607 /**
+
608  * @brief Gets a process's program launch info.
+
609  * @param info Pointer to output the program launch info to.
+
610  * @param processId ID of the process.
+
611  */
+ +
613 
+
614 /**
+
615  * @brief Sets the CARDSPI baud rate.
+
616  * @param baudRate Baud rate to set.
+
617  */
+ +
619 
+
620 /**
+
621  * @brief Sets the CARDSPI bus mode.
+
622  * @param busMode Bus mode to set.
+
623  */
+ +
625 
+
626 /// Sends initialization info to ARM9.
+ +
628 
+
629 /**
+
630  * @brief Gets a special content's index.
+
631  * @param index Pointer to output the index to.
+
632  * @param mediaType Media type of the special content.
+
633  * @param programId Program ID owning the special content.
+
634  * @param type Type of special content.
+
635  */
+ +
637 
+
638 /**
+
639  * @brief Gets the legacy ROM header of a program.
+
640  * @param mediaType Media type of the program.
+
641  * @param programId ID of the program.
+
642  * @param header Pointer to output the legacy ROM header to. (size = 0x3B4)
+
643  */
+
644 Result FSUSER_GetLegacyRomHeader(FS_MediaType mediaType, u64 programId, void* header);
+
645 
+
646 /**
+
647  * @brief Gets the legacy banner data of a program.
+
648  * @param mediaType Media type of the program.
+
649  * @param programId ID of the program.
+
650  * @param banner Pointer to output the legacy banner data to. (size = 0x23C0)
+
651  */
+
652 Result FSUSER_GetLegacyBannerData(FS_MediaType mediaType, u64 programId, void* banner);
+
653 
+
654 /**
+
655  * @brief Checks a process's authority to access a save data archive.
+
656  * @param access Pointer to output the access status to.
+
657  * @param mediaType Media type of the save data.
+
658  * @param saveId ID of the save data.
+
659  * @param processId ID of the process to check.
+
660  */
+
661 Result FSUSER_CheckAuthorityToAccessExtSaveData(bool* access, FS_MediaType mediaType, u64 saveId, u32 processId);
+
662 
+
663 /**
+
664  * @brief Queries the total quota size of a save data archive.
+
665  * @param quotaSize Pointer to output the quota size to.
+
666  * @param directories Number of directories.
+
667  * @param files Number of files.
+
668  * @param fileSizeCount Number of file sizes to provide.
+
669  * @param fileSizes File sizes to provide.
+
670  */
+
671 Result FSUSER_QueryTotalQuotaSize(u64* quotaSize, u32 directories, u32 files, u32 fileSizeCount, u64* fileSizes);
+
672 
+
673 /**
+
674  * @brief Abnegates an access right.
+
675  * @param accessRight Access right to abnegate.
+
676  */
+ +
678 
+
679 /// Deletes the 3DS SDMC root.
+ +
681 
+
682 /// Deletes all ext save data on the NAND.
+ +
684 
+
685 /// Initializes the CTR file system.
+ +
687 
+
688 /// Creates the FS seed.
+ +
690 
+
691 /**
+
692  * @brief Retrieves archive format info.
+
693  * @param totalSize Pointer to output the total size to.
+
694  * @param directories Pointer to output the number of directories to.
+
695  * @param files Pointer to output the number of files to.
+
696  * @param duplicateData Pointer to output whether to duplicate data to.
+
697  * @param archiveId ID of the archive.
+
698  * @param path Path of the archive.
+
699  */
+
700 Result FSUSER_GetFormatInfo(u32* totalSize, u32* directories, u32* files, bool* duplicateData, FS_ArchiveID archiveId, FS_Path path);
+
701 
+
702 /**
+
703  * @brief Gets the legacy ROM header of a program.
+
704  * @param headerSize Size of the ROM header.
+
705  * @param mediaType Media type of the program.
+
706  * @param programId ID of the program.
+
707  * @param header Pointer to output the legacy ROM header to.
+
708  */
+
709 Result FSUSER_GetLegacyRomHeader2(u32 headerSize, FS_MediaType mediaType, u64 programId, void* header);
+
710 
+
711 /**
+
712  * @brief Gets the CTR SDMC root path.
+
713  * @param out Pointer to output the root path to.
+
714  * @param length Length of the output buffer.
+
715  */
+ +
717 
+
718 /**
+
719  * @brief Gets an archive's resource information.
+
720  * @param archiveResource Pointer to output the archive resource information to.
+
721  * @param mediaType System media type to check.
+
722  */
+ +
724 
+
725 /**
+
726  * @brief Exports the integrity verification seed.
+
727  * @param seed Pointer to output the seed to.
+
728  */
+ +
730 
+
731 /**
+
732  * @brief Imports an integrity verification seed.
+
733  * @param seed Seed to import.
+
734  */
+ +
736 
+
737 /**
+
738  * @brief Formats save data.
+
739  * @param archiveId ID of the save data archive.
+
740  * @param path Path of the save data.
+
741  * @param blocks Size of the save data in blocks. (512 bytes)
+
742  * @param directories Number of directories.
+
743  * @param files Number of files.
+
744  * @param directoryBuckets Directory hash tree bucket count.
+
745  * @param fileBuckets File hash tree bucket count.
+
746  * @param duplicateData Whether to store an internal duplicate of the data.
+
747  */
+
748 Result FSUSER_FormatSaveData(FS_ArchiveID archiveId, FS_Path path, u32 blocks, u32 directories, u32 files, u32 directoryBuckets, u32 fileBuckets, bool duplicateData);
+
749 
+
750 /**
+
751  * @brief Gets the legacy sub banner data of a program.
+
752  * @param bannerSize Size of the banner.
+
753  * @param mediaType Media type of the program.
+
754  * @param programId ID of the program.
+
755  * @param header Pointer to output the legacy sub banner data to.
+
756  */
+
757 Result FSUSER_GetLegacySubBannerData(u32 bannerSize, FS_MediaType mediaType, u64 programId, void* banner);
+
758 
+
759 /**
+
760  * @brief Hashes the given data and outputs a SHA256 hash.
+
761  * @param data Pointer to the data to be hashed.
+
762  * @param inputSize The size of the data.
+
763  * @param hash Hash output pointer.
+
764  */
+
765 Result FSUSER_UpdateSha256Context(const void* data, u32 inputSize, u8* hash);
+
766 
+
767 /**
+
768  * @brief Reads from a special file.
+
769  * @param bytesRead Pointer to output the number of bytes read to.
+
770  * @param fileOffset Offset of the file.
+
771  * @param size Size of the buffer.
+
772  * @param data Buffer to read to.
+
773  */
+
774 Result FSUSER_ReadSpecialFile(u32* bytesRead, u64 fileOffset, u32 size, void* data);
+
775 
+
776 /**
+
777  * @brief Gets the size of a special file.
+
778  * @param fileSize Pointer to output the size to.
+
779  */
+ +
781 
+
782 /**
+
783  * @brief Creates ext save data.
+
784  * @param info Info of the save data.
+
785  * @param directories Number of directories.
+
786  * @param files Number of files.
+
787  * @param sizeLimit Size limit of the save data.
+
788  * @param smdhSize Size of the save data's SMDH data.
+
789  * @param smdh SMDH data.
+
790  */
+
791 Result FSUSER_CreateExtSaveData(FS_ExtSaveDataInfo info, u32 directories, u32 files, u64 sizeLimit, u32 smdhSize, u8* smdh);
+
792 
+
793 /**
+
794  * @brief Deletes ext save data.
+
795  * @param info Info of the save data.
+
796  */
+ +
798 
+
799 /**
+
800  * @brief Reads the SMDH icon of ext save data.
+
801  * @param bytesRead Pointer to output the number of bytes read to.
+
802  * @param info Info of the save data.
+
803  * @param smdhSize Size of the save data SMDH.
+
804  * @param smdh Pointer to output SMDH data to.
+
805  */
+
806 Result FSUSER_ReadExtSaveDataIcon(u32* bytesRead, FS_ExtSaveDataInfo info, u32 smdhSize, u8* smdh);
+
807 
+
808 /**
+
809  * @brief Gets an ext data archive's block information.
+
810  * @param totalBlocks Pointer to output the total blocks to.
+
811  * @param freeBlocks Pointer to output the free blocks to.
+
812  * @param blockSize Pointer to output the block size to.
+
813  * @param info Info of the save data.
+
814  */
+
815 Result FSUSER_GetExtDataBlockSize(u64* totalBlocks, u64* freeBlocks, u32* blockSize, FS_ExtSaveDataInfo info);
+
816 
+
817 /**
+
818  * @brief Enumerates ext save data.
+
819  * @param idsWritten Pointer to output the number of IDs written to.
+
820  * @param idsSize Size of the IDs buffer.
+
821  * @param mediaType Media type to enumerate over.
+
822  * @param idSize Size of each ID element.
+
823  * @param shared Whether to enumerate shared ext save data.
+
824  * @param ids Pointer to output IDs to.
+
825  */
+
826 Result FSUSER_EnumerateExtSaveData(u32* idsWritten, u32 idsSize, FS_MediaType mediaType, u32 idSize, bool shared, u8* ids);
+
827 
+
828 /**
+
829  * @brief Creates system save data.
+
830  * @param info Info of the save data.
+
831  * @param totalSize Total size of the save data.
+
832  * @param blockSize Block size of the save data. (usually 0x1000)
+
833  * @param directories Number of directories.
+
834  * @param files Number of files.
+
835  * @param directoryBuckets Directory hash tree bucket count.
+
836  * @param fileBuckets File hash tree bucket count.
+
837  * @param duplicateData Whether to store an internal duplicate of the data.
+
838  */
+
839 Result FSUSER_CreateSystemSaveData(FS_SystemSaveDataInfo info, u32 totalSize, u32 blockSize, u32 directories, u32 files, u32 directoryBuckets, u32 fileBuckets, bool duplicateData);
+
840 
+
841 /**
+
842  * @brief Deletes system save data.
+
843  * @param info Info of the save data.
+
844  */
+ +
846 
+
847 /**
+
848  * @brief Initiates a device move as the source device.
+
849  * @param context Pointer to output the context to.
+
850  */
+ +
852 
+
853 /**
+
854  * @brief Initiates a device move as the destination device.
+
855  * @param context Context to use.
+
856  * @param clear Whether to clear the device's data first.
+
857  */
+ +
859 
+
860 /**
+
861  * @brief Sets an archive's priority.
+
862  * @param archive Archive to use.
+
863  * @param priority Priority to set.
+
864  */
+ +
866 
+
867 /**
+
868  * @brief Gets an archive's priority.
+
869  * @param priority Pointer to output the priority to.
+
870  * @param archive Archive to use.
+
871  */
+ +
873 
+
874 /**
+
875  * @brief Configures CTRCARD latency emulation.
+
876  * @param latency Latency to apply, in milliseconds.
+
877  * @param emulateEndurance Whether to emulate card endurance.
+
878  */
+
879 Result FSUSER_SetCtrCardLatencyParameter(u64 latency, bool emulateEndurance);
+
880 
+
881 /**
+
882  * @brief Toggles cleaning up invalid save data.
+
883  * @param enable Whether to enable cleaning up invalid save data.
+
884  */
+ +
886 
+
887 /**
+
888  * @brief Enumerates system save data.
+
889  * @param idsWritten Pointer to output the number of IDs written to.
+
890  * @param idsSize Size of the IDs buffer.
+
891  * @param ids Pointer to output IDs to.
+
892  */
+
893 Result FSUSER_EnumerateSystemSaveData(u32* idsWritten, u32 idsSize, u32* ids);
+
894 
+
895 /**
+
896  * @brief Initializes a FSUSER session with an SDK version.
+
897  * @param session The handle of the FSUSER session to initialize.
+
898  * @param version SDK version to initialize with.
+
899  */
+ +
901 
+
902 /**
+
903  * @brief Sets the file system priority.
+
904  * @param priority Priority to set.
+
905  */
+ +
907 
+
908 /**
+
909  * @brief Gets the file system priority.
+
910  * @param priority Pointer to output the priority to.
+
911  */
+ +
913 
+
914 /**
+
915  * @brief Sets the save data secure value.
+
916  * @param value Secure value to set.
+
917  * @param slot Slot of the secure value.
+
918  * @param titleUniqueId Unique ID of the title. (default = 0)
+
919  * @param titleVariation Variation of the title. (default = 0)
+
920  */
+
921 Result FSUSER_SetSaveDataSecureValue(u64 value, FS_SecureValueSlot slot, u32 titleUniqueId, u8 titleVariation);
+
922 
+
923 /**
+
924  * @brief Gets the save data secure value.
+
925  * @param exists Pointer to output whether the secure value exists to.
+
926  * @param value Pointer to output the secure value to.
+
927  * @param slot Slot of the secure value.
+
928  * @param titleUniqueId Unique ID of the title. (default = 0)
+
929  * @param titleVariation Variation of the title. (default = 0)
+
930  */
+
931 Result FSUSER_GetSaveDataSecureValue(bool* exists, u64* value, FS_SecureValueSlot slot, u32 titleUniqueId, u8 titleVariation);
+
932 
+
933 /**
+
934  * @brief Performs a control operation on a secure save.
+
935  * @param action Action to perform.
+
936  * @param input Buffer to read input from.
+
937  * @param inputSize Size of the input.
+
938  * @param output Buffer to write output to.
+
939  * @param outputSize Size of the output.
+
940  */
+
941 Result FSUSER_ControlSecureSave(FS_SecureSaveAction action, void* input, u32 inputSize, void* output, u32 outputSize);
+
942 
+
943 /**
+
944  * @brief Gets the media type of the current application.
+
945  * @param mediaType Pointer to output the media type to.
+
946  */
+ +
948 
+
949 /**
+
950  * @brief Performs a control operation on a file.
+
951  * @param handle Handle of the file.
+
952  * @param action Action to perform.
+
953  * @param input Buffer to read input from.
+
954  * @param inputSize Size of the input.
+
955  * @param output Buffer to write output to.
+
956  * @param outputSize Size of the output.
+
957  */
+
958 Result FSFILE_Control(Handle handle, FS_FileAction action, void* input, u32 inputSize, void* output, u32 outputSize);
+
959 
+
960 /**
+
961  * @brief Opens a handle to a sub-section of a file.
+
962  * @param handle Handle of the file.
+
963  * @param subFile Pointer to output the sub-file to.
+
964  * @param offset Offset of the sub-section.
+
965  * @param size Size of the sub-section.
+
966  */
+
967 Result FSFILE_OpenSubFile(Handle handle, Handle* subFile, u64 offset, u64 size);
+
968 
+
969 /**
+
970  * @brief Reads from a file.
+
971  * @param handle Handle of the file.
+
972  * @param bytesRead Pointer to output the number of bytes read to.
+
973  * @param offset Offset to read from.
+
974  * @param buffer Buffer to read to.
+
975  * @param size Size of the buffer.
+
976  */
+
977 Result FSFILE_Read(Handle handle, u32* bytesRead, u64 offset, void* buffer, u32 size);
+
978 
+
979 /**
+
980  * @brief Writes to a file.
+
981  * @param handle Handle of the file.
+
982  * @param bytesWritten Pointer to output the number of bytes written to.
+
983  * @param offset Offset to write to.
+
984  * @param buffer Buffer to write from.
+
985  * @param size Size of the buffer.
+
986  * @param flags Flags to use when writing.
+
987  */
+
988 Result FSFILE_Write(Handle handle, u32* bytesWritten, u64 offset, const void* buffer, u32 size, u32 flags);
+
989 
+
990 /**
+
991  * @brief Gets the size of a file.
+
992  * @param handle Handle of the file.
+
993  * @param size Pointer to output the size to.
+
994  */
+ +
996 
+
997 /**
+
998  * @brief Sets the size of a file.
+
999  * @param handle Handle of the file.
+
1000  * @param size Size to set.
+
1001  */
+ +
1003 
+
1004 /**
+
1005  * @brief Gets the attributes of a file.
+
1006  * @param handle Handle of the file.
+
1007  * @param attributes Pointer to output the attributes to.
+
1008  */
+
1009 Result FSFILE_GetAttributes(Handle handle, u32* attributes);
+
1010 
+
1011 /**
+
1012  * @brief Sets the attributes of a file.
+
1013  * @param handle Handle of the file.
+
1014  * @param attributes Attributes to set.
+
1015  */
+ +
1017 
+
1018 /**
+
1019  * @brief Closes a file.
+
1020  * @param handle Handle of the file.
+
1021  */
+ +
1023 
+
1024 /**
+
1025  * @brief Flushes a file's contents.
+
1026  * @param handle Handle of the file.
+
1027  */
+ +
1029 
+
1030 /**
+
1031  * @brief Sets a file's priority.
+
1032  * @param handle Handle of the file.
+
1033  * @param priority Priority to set.
+
1034  */
+ +
1036 
+
1037 /**
+
1038  * @brief Gets a file's priority.
+
1039  * @param handle Handle of the file.
+
1040  * @param priority Pointer to output the priority to.
+
1041  */
+ +
1043 
+
1044 /**
+
1045  * @brief Opens a duplicate handle to a file.
+
1046  * @param handle Handle of the file.
+
1047  * @param linkFile Pointer to output the link handle to.
+
1048  */
+ +
1050 
+
1051 /**
+
1052  * @brief Performs a control operation on a directory.
+
1053  * @param handle Handle of the directory.
+
1054  * @param action Action to perform.
+
1055  * @param input Buffer to read input from.
+
1056  * @param inputSize Size of the input.
+
1057  * @param output Buffer to write output to.
+
1058  * @param outputSize Size of the output.
+
1059  */
+
1060 Result FSDIR_Control(Handle handle, FS_DirectoryAction action, void* input, u32 inputSize, void* output, u32 outputSize);
+
1061 
+
1062 /**
+
1063  * @brief Reads one or more directory entries.
+
1064  * @param handle Handle of the directory.
+
1065  * @param entriesRead Pointer to output the number of entries read to.
+
1066  * @param entryCount Number of entries to read.
+
1067  * @param entryOut Pointer to output directory entries to.
+
1068  */
+
1069 Result FSDIR_Read(Handle handle, u32* entriesRead, u32 entryCount, FS_DirectoryEntry* entries);
+
1070 
+
1071 /**
+
1072  * @brief Closes a directory.
+
1073  * @param handle Handle of the directory.
+
1074  */
+ +
1076 
+
1077 /**
+
1078  * @brief Sets a directory's priority.
+
1079  * @param handle Handle of the directory.
+
1080  * @param priority Priority to set.
+
1081  */
+ +
1083 
+
1084 /**
+
1085  * @brief Gets a directory's priority.
+
1086  * @param handle Handle of the directory.
+
1087  * @param priority Pointer to output the priority to.
+
1088  */
+
1089 Result FSDIR_GetPriority(Handle handle, u32* priority);
+
Result FSUSER_EnumerateSystemSaveData(u32 *idsWritten, u32 idsSize, u32 *ids)
Enumerates system save data.
+
Result FSUSER_GetArchivePriority(u32 *priority, FS_Archive archive)
Gets an archive's priority.
+
Result FSUSER_GetFormatInfo(u32 *totalSize, u32 *directories, u32 *files, bool *duplicateData, FS_ArchiveID archiveId, FS_Path path)
Retrieves archive format info.
+
Result FSUSER_GetLegacyBannerData(FS_MediaType mediaType, u64 programId, void *banner)
Gets the legacy banner data of a program.
+
Result FSFILE_Flush(Handle handle)
Flushes a file's contents.
+
Result FSUSER_DeleteExtSaveData(FS_ExtSaveDataInfo info)
Deletes ext save data.
+
Result FSUSER_GetMediaType(FS_MediaType *mediaType)
Gets the media type of the current application.
+
Result FSUSER_GetSdmcArchiveResource(FS_ArchiveResource *archiveResource)
Gets the SDMC archive resource information.
+
Result FSUSER_CreateExtSaveData(FS_ExtSaveDataInfo info, u32 directories, u32 files, u64 sizeLimit, u32 smdhSize, u8 *smdh)
Creates ext save data.
+
Result FSUSER_GetNandLog(u8 *out, u32 length)
Gets the NAND log.
+
Result FSUSER_DeleteSdmcRoot(void)
Deletes the 3DS SDMC root.
+
Result FSFILE_GetSize(Handle handle, u64 *size)
Gets the size of a file.
+
Result FSFILE_OpenLinkFile(Handle handle, Handle *linkFile)
Opens a duplicate handle to a file.
+
Result FSUSER_OpenDirectory(Handle *out, FS_Archive archive, FS_Path path)
Opens a directory.
+
Result FSUSER_GetSdmcFatfsError(u32 *error)
Gets the last SDMC fatfs error.
+
Result FSUSER_SendInitializeInfoTo9(void)
Sends initialization info to ARM9.
+
Result FSUSER_CardNorDirectWriteWithAddress(u8 commandId, u32 address, u32 size, const void *input)
Executes a CARDNOR direct write with an address.
+
Result FSUSER_CardNorDirectCommand(u8 commandId)
Executes a CARDNOR direct command.
+
FS_ArchiveID
Archive IDs.
Definition: fs.h:52
+
@ ARCHIVE_NAND_W_FS
NAND W FS archive.
Definition: fs.h:73
+
@ ARCHIVE_SYSTEM_SAVEDATA2
System save data archive.
Definition: fs.h:63
+
@ ARCHIVE_SDMC
SDMC archive.
Definition: fs.h:58
+
@ ARCHIVE_USER_SAVEDATA
User save data archive.
Definition: fs.h:75
+
@ ARCHIVE_SHARED_EXTDATA
Shared ext data archive.
Definition: fs.h:56
+
@ ARCHIVE_ROMFS
RomFS archive.
Definition: fs.h:53
+
@ ARCHIVE_TWL_SOUND
TWL SOUND archive.
Definition: fs.h:71
+
@ ARCHIVE_SAVEDATA_AND_CONTENT
User save data and ExeFS/RomFS archive.
Definition: fs.h:67
+
@ ARCHIVE_NAND_RO
Read-only NAND archive.
Definition: fs.h:65
+
@ ARCHIVE_EXTDATA_AND_BOSS_EXTDATA
Ext data and BOSS ext data archive.
Definition: fs.h:62
+
@ ARCHIVE_TWL_PHOTO
TWL PHOTO archive.
Definition: fs.h:70
+
@ ARCHIVE_SDMC_WRITE_ONLY
Write-only SDMC archive.
Definition: fs.h:59
+
@ ARCHIVE_NAND_CTR_FS
NAND CTR FS archive.
Definition: fs.h:69
+
@ ARCHIVE_SAVEDATA
Save data archive.
Definition: fs.h:54
+
@ ARCHIVE_SAVEDATA_AND_CONTENT2
User save data and ExeFS/RomFS archive (only ExeFS for fs:LDR).
Definition: fs.h:68
+
@ ARCHIVE_SYSTEM_SAVEDATA
System save data archive.
Definition: fs.h:57
+
@ ARCHIVE_NAND_RO_WRITE_ACCESS
Read-only write access NAND archive.
Definition: fs.h:66
+
@ ARCHIVE_NAND_RW
Read-write NAND archive.
Definition: fs.h:64
+
@ ARCHIVE_GAMECARD_SAVEDATA
Game card save data archive.
Definition: fs.h:74
+
@ ARCHIVE_CARD_SPIFS
Card SPI FS archive.
Definition: fs.h:61
+
@ ARCHIVE_BOSS_EXTDATA
BOSS ext data archive.
Definition: fs.h:60
+
@ ARCHIVE_DEMO_SAVEDATA
Demo save data archive.
Definition: fs.h:76
+
@ ARCHIVE_EXTDATA
Ext data archive.
Definition: fs.h:55
+
@ ARCHIVE_NAND_TWL_FS
NAND TWL FS archive.
Definition: fs.h:72
+
Result FSUSER_GetLegacySubBannerData(u32 bannerSize, FS_MediaType mediaType, u64 programId, void *banner)
Gets the legacy sub banner data of a program.
+
Result FSUSER_CardNorDirectReadWithAddress(u8 commandId, u32 address, u32 size, void *output)
Executes a CARDNOR direct read with an address.
+
Result FSUSER_GetProductInfo(FS_ProductInfo *info, u32 processId)
Gets a process's product info.
+
Result FSUSER_FormatSaveData(FS_ArchiveID archiveId, FS_Path path, u32 blocks, u32 directories, u32 files, u32 directoryBuckets, u32 fileBuckets, bool duplicateData)
Formats save data.
+
FS_PathType
Path types.
Definition: fs.h:81
+
@ PATH_BINARY
Binary path. Meaning is per-archive.
Definition: fs.h:84
+
@ PATH_INVALID
Invalid path.
Definition: fs.h:82
+
@ PATH_EMPTY
Empty path.
Definition: fs.h:83
+
@ PATH_ASCII
ASCII text path.
Definition: fs.h:85
+
@ PATH_UTF16
UTF-16 text path.
Definition: fs.h:86
+
Result FSUSER_CreateFile(FS_Archive archive, FS_Path path, u32 attributes, u64 fileSize)
Creates a file.
+
Result FSUSER_QueryTotalQuotaSize(u64 *quotaSize, u32 directories, u32 files, u32 fileSizeCount, u64 *fileSizes)
Queries the total quota size of a save data archive.
+
Result FSDIR_GetPriority(Handle handle, u32 *priority)
Gets a directory's priority.
+
Result FSUSER_SetCardSpiBusMode(FS_CardSpiBusMode busMode)
Sets the CARDSPI bus mode.
+
Result FSUSER_CloseArchive(FS_Archive archive)
Closes an archive.
+
Result FSFILE_OpenSubFile(Handle handle, Handle *subFile, u64 offset, u64 size)
Opens a handle to a sub-section of a file.
+
Result FSUSER_GetExtDataBlockSize(u64 *totalBlocks, u64 *freeBlocks, u32 *blockSize, FS_ExtSaveDataInfo info)
Gets an ext data archive's block information.
+
FS_MediaType
Media types.
Definition: fs.h:35
+
@ MEDIATYPE_GAME_CARD
Game card.
Definition: fs.h:38
+
@ MEDIATYPE_SD
SD card.
Definition: fs.h:37
+
@ MEDIATYPE_NAND
NAND.
Definition: fs.h:36
+
void fsExemptFromSession(FS_Archive archive)
Exempts an archive from using alternate FS session handles provided with fsUseSession Instead,...
+
Result FSUSER_GetNandSpeedInfo(FS_SdMmcSpeedInfo *speedInfo)
Gets the NAND speed info.
+
void fsExit(void)
Exits FS.
+
Result FSUSER_DeleteSystemSaveData(FS_SystemSaveDataInfo info)
Deletes system save data.
+
Result FSUSER_IsSdmcDetected(bool *detected)
Gets whether an SD card is detected.
+
Result FSUSER_CardSlotPowerOn(bool *status)
Powers on the card slot.
+
Result FSUSER_SetCtrCardLatencyParameter(u64 latency, bool emulateEndurance)
Configures CTRCARD latency emulation.
+
Result FSUSER_GetNandCid(u8 *out, u32 length)
Gets the NAND CID.
+
FS_Action
FS control actions.
Definition: fs.h:129
+
FS_DirectoryAction
Directory control actions.
Definition: fs.h:156
+
Result FSUSER_CardNorDirectSectorEraseWithoutVerify(u32 address)
Executes a CARDNOR direct sector erase without verify.
+
Result FSDIR_SetPriority(Handle handle, u32 priority)
Sets a directory's priority.
+
void fsUnexemptFromSession(FS_Archive archive)
Unexempts an archive from using alternate FS session handles provided with fsUseSession.
+
Result FSUSER_CheckAuthorityToAccessExtSaveData(bool *access, FS_MediaType mediaType, u64 saveId, u32 processId)
Checks a process's authority to access a save data archive.
+
Result FSUSER_GetSdmcSpeedInfo(FS_SdMmcSpeedInfo *speedInfo)
Gets the SDMC speed info.
+
Result FSFILE_SetSize(Handle handle, u64 size)
Sets the size of a file.
+
Result FSUSER_OpenFileDirectly(Handle *out, FS_ArchiveID archiveId, FS_Path archivePath, FS_Path filePath, u32 openFlags, u32 attributes)
Opens a file directly, bypassing the requirement of an opened archive handle.
+
@ FS_WRITE_FLUSH
Flush.
Definition: fs.h:20
+
@ FS_WRITE_UPDATE_TIME
Update file timestamp.
Definition: fs.h:21
+
Result FSUSER_GetArchiveResource(FS_ArchiveResource *archiveResource, FS_SystemMediaType mediaType)
Gets an archive's resource information.
+
Result FSUSER_ReadSpecialFile(u32 *bytesRead, u64 fileOffset, u32 size, void *data)
Reads from a special file.
+
Result FSUSER_GetNandArchiveResource(FS_ArchiveResource *archiveResource)
Gets the NAND archive resource information.
+
Result FSUSER_GetPriority(u32 *priority)
Gets the file system priority.
+
u64 FS_Archive
Filesystem archive handle, providing access to a filesystem's contents.
Definition: fs.h:247
+
Result FSUSER_GetLegacyRomHeader2(u32 headerSize, FS_MediaType mediaType, u64 programId, void *header)
Gets the legacy ROM header of a program.
+
Result FSUSER_Initialize(Handle session)
Initializes a FSUSER session.
+
Result FSFILE_GetAttributes(Handle handle, u32 *attributes)
Gets the attributes of a file.
+
Result FSUSER_GetCardType(FS_CardType *type)
Gets the inserted card type.
+
Result FSUSER_RenameFile(FS_Archive srcArchive, FS_Path srcPath, FS_Archive dstArchive, FS_Path dstPath)
Renames a file.
+
Result FSUSER_CardNorDirectRead(u8 commandId, u32 size, void *output)
Executes a CARDNOR direct read.
+
Result FSUSER_GetSpecialFileSize(u64 *fileSize)
Gets the size of a special file.
+
Result FSUSER_ImportIntegrityVerificationSeed(FS_IntegrityVerificationSeed *seed)
Imports an integrity verification seed.
+
Result FSUSER_CardNorDirectRead_4xIO(u8 commandId, u32 address, u32 size, void *output)
Executes a CARDNOR 4xIO direct read.
+
FS_CardSpiBusMode
Card SPI bus mode.
Definition: fs.h:108
+
@ BUSMODE_4BIT
4-bit.
Definition: fs.h:110
+
@ BUSMODE_1BIT
1-bit.
Definition: fs.h:109
+
Result FSUSER_ControlSecureSave(FS_SecureSaveAction action, void *input, u32 inputSize, void *output, u32 outputSize)
Performs a control operation on a secure save.
+
Result FSUSER_Control(FS_Action action, void *input, u32 inputSize, void *output, u32 outputSize)
Performs a control operation on the filesystem.
+
Result FSUSER_GetFreeBytes(u64 *freeBytes, FS_Archive archive)
Gets the number of free bytes within an archive.
+
Result FSUSER_CreateSystemSaveData(FS_SystemSaveDataInfo info, u32 totalSize, u32 blockSize, u32 directories, u32 files, u32 directoryBuckets, u32 fileBuckets, bool duplicateData)
Creates system save data.
+
Result FSUSER_CardSlotGetCardIFPowerStatus(bool *status)
Gets the card's power status.
+
Result FSUSER_SetCardSpiBaudRate(FS_CardSpiBaudRate baudRate)
Sets the CARDSPI baud rate.
+
Result fsInit(void)
Initializes FS.
+
Result FSUSER_GetSaveDataSecureValue(bool *exists, u64 *value, FS_SecureValueSlot slot, u32 titleUniqueId, u8 titleVariation)
Gets the save data secure value.
+
Result FSFILE_GetPriority(Handle handle, u32 *priority)
Gets a file's priority.
+
Result FSUSER_SwitchCleanupInvalidSaveData(bool enable)
Toggles cleaning up invalid save data.
+
Result FSUSER_GetLegacyRomHeader(FS_MediaType mediaType, u64 programId, void *header)
Gets the legacy ROM header of a program.
+
Result FSUSER_CardSlotPowerOff(bool *status)
Powers off the card slot.
+
FS_SecureValueSlot
Secure value slot.
Definition: fs.h:91
+
@ SECUREVALUE_SLOT_SD
SD application.
Definition: fs.h:92
+
Result FSUSER_CardNorDirectCpuWriteWithoutVerify(u32 address, u32 size, const void *input)
Executes a CARDNOR direct CPU write without verify.
+
Result FSUSER_OpenArchive(FS_Archive *archive, FS_ArchiveID id, FS_Path path)
Opens an archive.
+
Result FSFILE_Read(Handle handle, u32 *bytesRead, u64 offset, void *buffer, u32 size)
Reads from a file.
+
Result FSUSER_ClearSdmcLog(void)
Clears the SDMC log.
+
Result FSUSER_OpenFile(Handle *out, FS_Archive archive, FS_Path path, u32 openFlags, u32 attributes)
Opens a file.
+
Result FSUSER_CardNorDirectCommandWithAddress(u8 commandId, u32 address)
Executes a CARDNOR direct command with an address.
+
Result FSDIR_Control(Handle handle, FS_DirectoryAction action, void *input, u32 inputSize, void *output, u32 outputSize)
Performs a control operation on a directory.
+
FS_FileAction
File control actions.
Definition: fs.h:150
+
@ FS_ATTRIBUTE_HIDDEN
Hidden.
Definition: fs.h:28
+
@ FS_ATTRIBUTE_ARCHIVE
Archive.
Definition: fs.h:29
+
@ FS_ATTRIBUTE_DIRECTORY
Directory.
Definition: fs.h:27
+
@ FS_ATTRIBUTE_READ_ONLY
Read-only.
Definition: fs.h:30
+
Result FSUSER_ReadExtSaveDataIcon(u32 *bytesRead, FS_ExtSaveDataInfo info, u32 smdhSize, u8 *smdh)
Reads the SMDH icon of ext save data.
+
Result FSUSER_CreateSeed(void)
Creates the FS seed.
+
Result FSUSER_StartDeviceMoveAsSource(FS_DeviceMoveContext *context)
Initiates a device move as the source device.
+
Result FSUSER_DeleteFile(FS_Archive archive, FS_Path path)
Deletes a file.
+
Result FSUSER_InitializeCtrFileSystem(void)
Initializes the CTR file system.
+
Result FSUSER_DeleteDirectory(FS_Archive archive, FS_Path path)
Deletes a directory, failing if it is not empty.
+
Result FSUSER_IsSdmcWritable(bool *writable)
Gets whether the SD card is writable.
+
FS_CardType
Definition: fs.h:122
+
@ CARD_CTR
CTR card.
Definition: fs.h:123
+
@ CARD_TWL
TWL card.
Definition: fs.h:124
+
Result FSUSER_SetSaveDataSecureValue(u64 value, FS_SecureValueSlot slot, u32 titleUniqueId, u8 titleVariation)
Sets the save data secure value.
+
Result FSFILE_Write(Handle handle, u32 *bytesWritten, u64 offset, const void *buffer, u32 size, u32 flags)
Writes to a file.
+
Result FSDIR_Read(Handle handle, u32 *entriesRead, u32 entryCount, FS_DirectoryEntry *entries)
Reads one or more directory entries.
+
Result FSUSER_ClearNandLog(void)
Clears the NAND log.
+
Result FSUSER_GetProgramLaunchInfo(FS_ProgramInfo *info, u32 processId)
Gets a process's program launch info.
+
Result FSUSER_ControlArchive(FS_Archive archive, FS_ArchiveAction action, void *input, u32 inputSize, void *output, u32 outputSize)
Performs a control operation on an archive.
+
Result FSUSER_StartDeviceMoveAsDestination(FS_DeviceMoveContext context, bool clear)
Initiates a device move as the destination device.
+
Result FSFILE_Control(Handle handle, FS_FileAction action, void *input, u32 inputSize, void *output, u32 outputSize)
Performs a control operation on a file.
+
Result FSUSER_GetSdmcCtrRootPath(u8 *out, u32 length)
Gets the CTR SDMC root path.
+
Result FSUSER_ExportIntegrityVerificationSeed(FS_IntegrityVerificationSeed *seed)
Exports the integrity verification seed.
+
Result FSUSER_AbnegateAccessRight(u32 accessRight)
Abnegates an access right.
+
FS_ArchiveAction
Archive control actions.
Definition: fs.h:135
+
@ ARCHIVE_ACTION_COMMIT_SAVE_DATA
Commits save data changes. No inputs/outputs.
Definition: fs.h:136
+
@ ARCHIVE_ACTION_GET_TIMESTAMP
Retrieves a file's last-modified timestamp. In: "u16*, UTF-16 Path", Out: "u64, Time Stamp".
Definition: fs.h:137
+
Result FSFILE_SetPriority(Handle handle, u32 priority)
Sets a file's priority.
+
Result FSUSER_GetSdmcLog(u8 *out, u32 length)
Gets the SDMC log.
+
Result FSUSER_DeleteDirectoryRecursively(FS_Archive archive, FS_Path path)
Deletes a directory, also deleting its contents.
+
Result FSUSER_UpdateSha256Context(const void *data, u32 inputSize, u8 *hash)
Hashes the given data and outputs a SHA256 hash.
+
Result FSUSER_CardSlotIsInserted(bool *inserted)
Gets whether a card is inserted.
+
Result FSUSER_SetArchivePriority(FS_Archive archive, u32 priority)
Sets an archive's priority.
+
Result FSUSER_GetSdmcCid(u8 *out, u32 length)
Gets the SDMC CID.
+
FS_SystemMediaType
System media types.
Definition: fs.h:43
+
@ SYSTEM_MEDIATYPE_CTR_NAND
CTR NAND.
Definition: fs.h:44
+
@ SYSTEM_MEDIATYPE_TWL_NAND
TWL NAND.
Definition: fs.h:45
+
@ SYSTEM_MEDIATYPE_SD
SD card.
Definition: fs.h:46
+
@ SYSTEM_MEDIATYPE_TWL_PHOTO
TWL Photo.
Definition: fs.h:47
+
Result FSUSER_DeleteAllExtSaveDataOnNand(void)
Deletes all ext save data on the NAND.
+
Result FSUSER_EnumerateExtSaveData(u32 *idsWritten, u32 idsSize, FS_MediaType mediaType, u32 idSize, bool shared, u8 *ids)
Enumerates ext save data.
+
Result FSUSER_SetPriority(u32 priority)
Sets the file system priority.
+
Result FSUSER_CardNorDirectWrite(u8 commandId, u32 size, const void *input)
Executes a CARDNOR direct write.
+
Result FSDIR_Close(Handle handle)
Closes a directory.
+
FS_SecureSaveAction
Secure save control actions.
Definition: fs.h:143
+
@ SECURESAVE_ACTION_FORMAT
Formats a save. No inputs/outputs.
Definition: fs.h:145
+
@ SECURESAVE_ACTION_DELETE
Deletes a save's secure value. In: "u64, ((SecureValueSlot << 32) | (TitleUniqueId << 8) | TitleVaria...
Definition: fs.h:144
+
Result FSUSER_RenameDirectory(FS_Archive srcArchive, FS_Path srcPath, FS_Archive dstArchive, FS_Path dstPath)
Renames a directory.
+
FS_SpecialContentType
Card SPI bus mode.
Definition: fs.h:115
+
@ SPECIALCONTENT_UPDATE
Update.
Definition: fs.h:116
+
@ SPECIALCONTENT_DLP_CHILD
DLP child.
Definition: fs.h:118
+
@ SPECIALCONTENT_MANUAL
Manual.
Definition: fs.h:117
+
Result FSFILE_SetAttributes(Handle handle, u32 attributes)
Sets the attributes of a file.
+
Result FSUSER_CreateDirectory(FS_Archive archive, FS_Path path, u32 attributes)
Creates a directory.
+
@ FS_OPEN_WRITE
Open for writing.
Definition: fs.h:13
+
@ FS_OPEN_CREATE
Create file.
Definition: fs.h:14
+
@ FS_OPEN_READ
Open for reading.
Definition: fs.h:12
+
Handle * fsGetSessionHandle(void)
Gets the current FS session handle.
+
FS_Path fsMakePath(FS_PathType type, const void *path)
Creates an FS_Path instance.
+
FS_CardSpiBaudRate
Card SPI baud rate.
Definition: fs.h:97
+
@ BAUDRATE_4MHZ
4MHz.
Definition: fs.h:101
+
@ BAUDRATE_2MHZ
2MHz.
Definition: fs.h:100
+
@ BAUDRATE_16MHZ
16MHz.
Definition: fs.h:103
+
@ BAUDRATE_8MHZ
8MHz.
Definition: fs.h:102
+
@ BAUDRATE_1MHZ
1MHz.
Definition: fs.h:99
+
@ BAUDRATE_512KHZ
512KHz.
Definition: fs.h:98
+
Result FSUSER_GetSpecialContentIndex(u16 *index, FS_MediaType mediaType, u64 programId, FS_SpecialContentType type)
Gets a special content's index.
+
Result FSFILE_Close(Handle handle)
Closes a file.
+
Result FSUSER_InitializeWithSdkVersion(Handle session, u32 version)
Initializes a FSUSER session with an SDK version.
+
void fsUseSession(Handle session)
Sets the FSUSER session to use in the current thread.
+
void fsEndUseSession(void)
Disables the FSUSER session override in the current thread.
+
Archive resource information.
Definition: fs.h:174
+
u32 clusterSize
Size of each cluster, in bytes.
Definition: fs.h:176
+
u32 totalClusters
Total number of clusters.
Definition: fs.h:177
+
u32 freeClusters
Number of free clusters.
Definition: fs.h:178
+
u32 sectorSize
Size of each sector, in bytes.
Definition: fs.h:175
+
Device move context.
Definition: fs.h:225
+
Directory entry.
Definition: fs.h:162
+
u8 valid
Valid flag. (Always 1)
Definition: fs.h:166
+
u8 reserved
Reserved.
Definition: fs.h:167
+
u32 attributes
Attributes.
Definition: fs.h:168
+
u64 fileSize
File size.
Definition: fs.h:169
+
Ext save data information.
Definition: fs.h:206
+
u32 reserved2
Reserved.
Definition: fs.h:211
+
FS_MediaType mediaType
Media type.
Definition: fs.h:207
+
u16 reserved1
Reserved.
Definition: fs.h:209
+
u64 saveId
Save ID.
Definition: fs.h:210
+
u8 unknown
Unknown.
Definition: fs.h:208
+
Integrity verification seed.
Definition: fs.h:199
+
Filesystem path data, detailing the specific target of an operation.
Definition: fs.h:232
+
const void * data
Pointer to FS path data.
Definition: fs.h:235
+
u32 size
FS path size.
Definition: fs.h:234
+
FS_PathType type
FS path type.
Definition: fs.h:233
+
Product information.
Definition: fs.h:191
+
u16 remasterVersion
Remaster version.
Definition: fs.h:194
+
Program information.
Definition: fs.h:183
+
FS_MediaType mediaType
Media type.
Definition: fs.h:185
+
u64 programId
Program ID.
Definition: fs.h:184
+
SDMC/NAND speed information.
Definition: fs.h:240
+
bool highSpeedModeEnabled
Whether or not High Speed Mode is enabled.
Definition: fs.h:241
+
u16 sdClkCtrl
The value of the SD_CLK_CTRL register.
Definition: fs.h:243
+
bool usesHighestClockRate
Whether or not a clock divider of 2 is being used.
Definition: fs.h:242
+
System save data information.
Definition: fs.h:216
+
u16 reserved
Reserved.
Definition: fs.h:219
+
FS_MediaType mediaType
Media type.
Definition: fs.h:217
+
u32 saveId
Save ID.
Definition: fs.h:220
+
u8 unknown
Unknown.
Definition: fs.h:218
+
Various system types.
+
#define BIT(n)
Creates a bitmask from a bit number.
Definition: types.h:47
+
uint64_t u64
64-bit unsigned integer
Definition: types.h:24
+
#define CTR_PACKED
Packs a struct (and other types?) so it won't include padding bytes.
Definition: types.h:52
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/fspxi_8h.html b/fspxi_8h.html new file mode 100644 index 000000000..90ef03e07 --- /dev/null +++ b/fspxi_8h.html @@ -0,0 +1,3975 @@ + + + + + + + +libctru: include/3ds/services/fspxi.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
fspxi.h File Reference
+
+
+ +

Service interface for PxiFS services. +More...

+
#include <3ds/services/fs.h>
+#include <3ds/types.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Typedefs

+typedef u64 FSPXI_Archive
 
+typedef u64 FSPXI_File
 
+typedef u64 FSPXI_Directory
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

Result FSPXI_OpenFile (Handle serviceHandle, FSPXI_File *out, FSPXI_Archive archive, FS_Path path, u32 flags, u32 attributes)
 Opens a file. More...
 
Result FSPXI_DeleteFile (Handle serviceHandle, FSPXI_Archive archive, FS_Path path)
 Deletes a file. More...
 
Result FSPXI_RenameFile (Handle serviceHandle, FSPXI_Archive srcArchive, FS_Path srcPath, FSPXI_Archive dstArchive, FS_Path dstPath)
 Renames a file. More...
 
Result FSPXI_DeleteDirectory (Handle serviceHandle, FSPXI_Archive archive, FS_Path path)
 Deletes a directory. More...
 
Result FSPXI_CreateFile (Handle serviceHandle, FSPXI_Archive archive, FS_Path path, u32 attributes, u64 fileSize)
 Creates a file. More...
 
Result FSPXI_CreateDirectory (Handle serviceHandle, FSPXI_Archive archive, FS_Path path, u32 attributes)
 Creates a directory. More...
 
Result FSPXI_RenameDirectory (Handle serviceHandle, FSPXI_Archive srcArchive, FS_Path srcPath, FSPXI_Archive dstArchive, FS_Path dstPath)
 Renames a directory. More...
 
Result FSPXI_OpenDirectory (Handle serviceHandle, FSPXI_Directory *out, FSPXI_Archive archive, FS_Path path)
 Opens a directory. More...
 
Result FSPXI_ReadFile (Handle serviceHandle, FSPXI_File file, u32 *bytesRead, u64 offset, void *buffer, u32 size)
 Reads from a file. More...
 
Result FSPXI_CalculateFileHashSHA256 (Handle serviceHandle, FSPXI_File file, void *buffer, u32 size)
 Calculate SHA256 of a file. More...
 
Result FSPXI_WriteFile (Handle serviceHandle, FSPXI_File file, u32 *bytesWritten, u64 offset, const void *buffer, u32 size, u32 flags)
 Writes to a file. More...
 
Result FSPXI_CalcSavegameMAC (Handle serviceHandle, FSPXI_File file, const void *inBuffer, u32 inSize, void *outBuffer, u32 outSize)
 Calculates the MAC used in a DISA/DIFF header? More...
 
Result FSPXI_GetFileSize (Handle serviceHandle, FSPXI_File file, u64 *size)
 Get size of a file. More...
 
Result FSPXI_SetFileSize (Handle serviceHandle, FSPXI_File file, u64 size)
 Set size of a file. More...
 
Result FSPXI_CloseFile (Handle serviceHandle, FSPXI_File file)
 Close a file. More...
 
Result FSPXI_ReadDirectory (Handle serviceHandle, FSPXI_Directory directory, u32 *entriesRead, u32 entryCount, FS_DirectoryEntry *entries)
 Reads one or more directory entries. More...
 
Result FSPXI_CloseDirectory (Handle serviceHandle, FSPXI_Directory directory)
 Close a directory. More...
 
Result FSPXI_OpenArchive (Handle serviceHandle, FSPXI_Archive *archive, FS_ArchiveID archiveID, FS_Path path)
 Opens an archive. More...
 
Result FSPXI_HasFile (Handle serviceHandle, FSPXI_Archive archive, bool *out, FS_Path path)
 Checks if the archive contains a file at path. More...
 
Result FSPXI_HasDirectory (Handle serviceHandle, FSPXI_Archive archive, bool *out, FS_Path path)
 Checks if the archive contains a directory at path. More...
 
Result FSPXI_CommitSaveData (Handle serviceHandle, FSPXI_Archive archive, u32 id)
 Commits an archive's save data. More...
 
Result FSPXI_CloseArchive (Handle serviceHandle, FSPXI_Archive archive)
 Close an archive. More...
 
Result FSPXI_Unknown0x17 (Handle serviceHandle, FSPXI_Archive archive, bool *out)
 Unknown 0x17. More...
 
Result FSPXI_GetCardType (Handle serviceHandle, FS_CardType *out)
 Gets the inserted card type. More...
 
Result FSPXI_GetSdmcArchiveResource (Handle serviceHandle, FS_ArchiveResource *out)
 Gets the SDMC archive resource information. More...
 
Result FSPXI_GetNandArchiveResource (Handle serviceHandle, FS_ArchiveResource *out)
 Gets the NAND archive resource information. More...
 
Result FSPXI_GetSdmcFatFsError (Handle serviceHandle, u32 *out)
 Gets the error code from the SDMC FatFS driver. More...
 
Result FSPXI_IsSdmcDetected (Handle serviceHandle, bool *out)
 Gets whether PXIFS0 detects the SD. More...
 
Result FSPXI_IsSdmcWritable (Handle serviceHandle, bool *out)
 Gets whether PXIFS0 can write to the SD. More...
 
Result FSPXI_GetSdmcCid (Handle serviceHandle, void *out, u32 size)
 Gets the SDMC CID. More...
 
Result FSPXI_GetNandCid (Handle serviceHandle, void *out, u32 size)
 Gets the NAND CID. More...
 
Result FSPXI_GetSdmcSpeedInfo (Handle serviceHandle, FS_SdMmcSpeedInfo *out)
 Gets the SDMC speed info. More...
 
Result FSPXI_GetNandSpeedInfo (Handle serviceHandle, FS_SdMmcSpeedInfo *out)
 Gets the NAND speed info. More...
 
Result FSPXI_GetSdmcLog (Handle serviceHandle, void *out, u32 size)
 Gets the SDMC log. More...
 
Result FSPXI_GetNandLog (Handle serviceHandle, void *out, u32 size)
 Gets the NAND log. More...
 
+Result FSPXI_ClearSdmcLog (Handle serviceHandle)
 Clears the SDMC log.
 
+Result FSPXI_ClearNandLog (Handle serviceHandle)
 Clears the NAND log.
 
Result FSPXI_CardSlotIsInserted (Handle serviceHandle, bool *inserted)
 Gets whether a card is inserted. More...
 
Result FSPXI_CardSlotPowerOn (Handle serviceHandle, bool *status)
 Powers on the card slot. More...
 
Result FSPXI_CardSlotPowerOff (Handle serviceHandle, bool *status)
 Powers off the card slot. More...
 
Result FSPXI_CardSlotGetCardIFPowerStatus (Handle serviceHandle, bool *status)
 Gets the card's power status. More...
 
Result FSPXI_CardNorDirectCommand (Handle serviceHandle, u8 commandId)
 Executes a CARDNOR direct command. More...
 
Result FSPXI_CardNorDirectCommandWithAddress (Handle serviceHandle, u8 commandId, u32 address)
 Executes a CARDNOR direct command with an address. More...
 
Result FSPXI_CardNorDirectRead (Handle serviceHandle, u8 commandId, u32 size, void *output)
 Executes a CARDNOR direct read. More...
 
Result FSPXI_CardNorDirectReadWithAddress (Handle serviceHandle, u8 commandId, u32 address, u32 size, void *output)
 Executes a CARDNOR direct read with an address. More...
 
Result FSPXI_CardNorDirectWrite (Handle serviceHandle, u8 commandId, u32 size, const void *input)
 Executes a CARDNOR direct write. More...
 
Result FSPXI_CardNorDirectWriteWithAddress (Handle serviceHandle, u8 commandId, u32 address, u32 size, const void *input)
 Executes a CARDNOR direct write with an address. More...
 
Result FSPXI_CardNorDirectRead_4xIO (Handle serviceHandle, u8 commandId, u32 address, u32 size, void *output)
 Executes a CARDNOR 4xIO direct read. More...
 
Result FSPXI_CardNorDirectCpuWriteWithoutVerify (Handle serviceHandle, u32 address, u32 size, const void *input)
 Executes a CARDNOR direct CPU write without verify. More...
 
Result FSPXI_CardNorDirectSectorEraseWithoutVerify (Handle serviceHandle, u32 address)
 Executes a CARDNOR direct sector erase without verify. More...
 
Result FSPXI_GetProductInfo (Handle serviceHandle, FS_ProductInfo *info, FSPXI_Archive archive)
 Gets an NCCH's product info. More...
 
Result FSPXI_SetCardSpiBaudrate (Handle serviceHandle, FS_CardSpiBaudRate baudRate)
 Sets the CARDSPI baud rate. More...
 
Result FSPXI_SetCardSpiBusMode (Handle serviceHandle, FS_CardSpiBusMode busMode)
 Sets the CARDSPI bus mode. More...
 
Result FSPXI_SendInitializeInfoTo9 (Handle serviceHandle, u8 unk)
 Sends initialization info to ARM9. More...
 
Result FSPXI_CreateExtSaveData (Handle serviceHandle, FS_ExtSaveDataInfo info)
 Creates ext save data. More...
 
Result FSPXI_DeleteExtSaveData (Handle serviceHandle, FS_ExtSaveDataInfo info)
 Deletes ext save data. More...
 
Result FSPXI_EnumerateExtSaveData (Handle serviceHandle, u32 *idsWritten, u32 idsSize, FS_MediaType mediaType, u32 idSize, bool shared, u8 *ids)
 Enumerates ext save data. More...
 
Result FSPXI_GetSpecialContentIndex (Handle serviceHandle, u16 *index, FS_MediaType mediaType, u64 programId, FS_SpecialContentType type)
 Gets a special content's index. More...
 
Result FSPXI_GetLegacyRomHeader (Handle serviceHandle, FS_MediaType mediaType, u64 programId, void *header)
 Gets the legacy ROM header of a program. More...
 
Result FSPXI_GetLegacyBannerData (Handle serviceHandle, FS_MediaType mediaType, u64 programId, void *banner, u8 unk)
 Gets the legacy banner data of a program. More...
 
Result FSPXI_FormatCardNorDevice (Handle serviceHandle, u32 unk)
 Formats the CARDNOR device. More...
 
+Result FSPXI_DeleteSdmcRoot (Handle serviceHandle)
 Deletes the 3DS SDMC root.
 
+Result FSPXI_DeleteAllExtSaveDataOnNand (Handle serviceHandle)
 Deletes all ext save data on the NAND.
 
+Result FSPXI_InitializeCtrFilesystem (Handle serviceHandle)
 Initializes the CTR file system.
 
+Result FSPXI_CreateSeed (Handle serviceHandle)
 Creates the FS seed.
 
Result FSPXI_GetSdmcCtrRootPath (Handle serviceHandle, u16 *out, u32 length)
 Gets the CTR SDMC root path. More...
 
Result FSPXI_GetArchiveResource (Handle serviceHandle, FS_ArchiveResource *archiveResource, FS_SystemMediaType mediaType)
 Gets an archive's resource information. More...
 
Result FSPXI_ExportIntegrityVerificationSeed (Handle serviceHandle, FS_IntegrityVerificationSeed *seed)
 Exports the integrity verification seed. More...
 
Result FSPXI_ImportIntegrityVerificationSeed (Handle serviceHandle, const FS_IntegrityVerificationSeed *seed)
 Imports an integrity verification seed. More...
 
Result FSPXI_GetLegacySubBannerData (Handle serviceHandle, u32 bannerSize, FS_MediaType mediaType, u64 programId, void *banner)
 Gets the legacy sub banner data of a program. More...
 
Result FSPXI_GenerateRandomBytes (Handle serviceHandle, void *buffer, u32 size)
 Generates random bytes. More...
 
Result FSPXI_GetFileLastModified (Handle serviceHandle, FSPXI_Archive archive, u64 *out, const u16 *path, u32 size)
 Gets the last modified time of a file in an archive. More...
 
Result FSPXI_ReadSpecialFile (Handle serviceHandle, u32 *bytesRead, u64 fileOffset, u32 size, void *data)
 Reads from a special file. More...
 
Result FSPXI_GetSpecialFileSize (Handle serviceHandle, u64 *fileSize)
 Gets the size of a special file. More...
 
Result FSPXI_StartDeviceMoveAsSource (Handle serviceHandle, FS_DeviceMoveContext *context)
 Initiates a device move as the source device. More...
 
Result FSPXI_StartDeviceMoveAsDestination (Handle serviceHandle, FS_DeviceMoveContext context, bool clear)
 Initiates a device move as the destination device. More...
 
Result FSPXI_ReadFileSHA256 (Handle serviceHandle, FSPXI_File file, u32 *bytesRead, u64 offset, void *readBuffer, u32 readBufferSize, void *hashtable, u32 hashtableSize, u32 unk)
 Reads data and stores SHA256 hashes of blocks. More...
 
Result FSPXI_WriteFileSHA256 (Handle serviceHandle, FSPXI_File file, u32 *bytesWritten, u64 offset, const void *writeBuffer, u32 writeBufferSize, void *hashtable, u32 hashtableSize, u32 unk1, u32 unk2)
 Assumedly writes data and stores SHA256 hashes of blocks. More...
 
Result FSPXI_SetCtrCardLatencyParameter (Handle serviceHandle, u64 latency)
 Configures CTRCARD latency emulation. More...
 
Result FSPXI_SetPriority (Handle serviceHandle, u32 priority)
 Sets the file system priority. More...
 
Result FSPXI_SwitchCleanupInvalidSaveData (Handle serviceHandle, bool enable)
 Toggles cleaning up invalid save data. More...
 
Result FSPXI_EnumerateSystemSaveData (Handle serviceHandle, u32 *idsWritten, u32 idsSize, u32 *ids)
 Enumerates system save data. More...
 
Result FSPXI_ReadNandReport (Handle serviceHandle, void *buffer, u32 size, u32 unk)
 Reads the NAND report. More...
 
Result FSPXI_Unknown0x56 (Handle serviceHandle, u32 out[4], FS_Archive archive, FS_Path path)
 Unknown command 0x56. More...
 
+

Detailed Description

+

Service interface for PxiFS services.

+

This is normally not accessible to userland apps. https://3dbrew.org/wiki/Filesystem_services_PXI

+

Function Documentation

+ +

◆ FSPXI_CalcSavegameMAC()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_CalcSavegameMAC (Handle serviceHandle,
FSPXI_File file,
const void * inBuffer,
u32 inSize,
void * outBuffer,
u32 outSize 
)
+
+ +

Calculates the MAC used in a DISA/DIFF header?

+
Parameters
+ + + + + + +
fileUnsure
inBuffer0x100-byte DISA/DIFF input buffer.
inSizeSize of inBuffer.
outBufferBuffer to write MAC to.
outSizeSize of outBuffer.
+
+
+ +
+
+ +

◆ FSPXI_CalculateFileHashSHA256()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_CalculateFileHashSHA256 (Handle serviceHandle,
FSPXI_File file,
void * buffer,
u32 size 
)
+
+ +

Calculate SHA256 of a file.

+
Parameters
+ + + + +
fileFile to calculate the hash of.
bufferBuffer to output the hash to.
sizeSize of the buffer.
+
+
+ +
+
+ +

◆ FSPXI_CardNorDirectCommand()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_CardNorDirectCommand (Handle serviceHandle,
u8 commandId 
)
+
+ +

Executes a CARDNOR direct command.

+
Parameters
+ + +
commandIdID of the command.
+
+
+ +
+
+ +

◆ FSPXI_CardNorDirectCommandWithAddress()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_CardNorDirectCommandWithAddress (Handle serviceHandle,
u8 commandId,
u32 address 
)
+
+ +

Executes a CARDNOR direct command with an address.

+
Parameters
+ + + +
commandIdID of the command.
addressAddress to provide.
+
+
+ +
+
+ +

◆ FSPXI_CardNorDirectCpuWriteWithoutVerify()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_CardNorDirectCpuWriteWithoutVerify (Handle serviceHandle,
u32 address,
u32 size,
const void * input 
)
+
+ +

Executes a CARDNOR direct CPU write without verify.

+
Parameters
+ + + + +
addressAddress to provide.
sizeSize of the input buffer.
outputInput buffer.
+
+
+ +
+
+ +

◆ FSPXI_CardNorDirectRead()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_CardNorDirectRead (Handle serviceHandle,
u8 commandId,
u32 size,
void * output 
)
+
+ +

Executes a CARDNOR direct read.

+
Parameters
+ + + + +
commandIdID of the command.
sizeSize of the output buffer.
outputOutput buffer.
+
+
+ +
+
+ +

◆ FSPXI_CardNorDirectRead_4xIO()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_CardNorDirectRead_4xIO (Handle serviceHandle,
u8 commandId,
u32 address,
u32 size,
void * output 
)
+
+ +

Executes a CARDNOR 4xIO direct read.

+
Parameters
+ + + + + +
commandIdID of the command.
addressAddress to provide.
sizeSize of the output buffer.
outputOutput buffer.
+
+
+ +
+
+ +

◆ FSPXI_CardNorDirectReadWithAddress()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_CardNorDirectReadWithAddress (Handle serviceHandle,
u8 commandId,
u32 address,
u32 size,
void * output 
)
+
+ +

Executes a CARDNOR direct read with an address.

+
Parameters
+ + + + + +
commandIdID of the command.
addressAddress to provide.
sizeSize of the output buffer.
outputOutput buffer.
+
+
+ +
+
+ +

◆ FSPXI_CardNorDirectSectorEraseWithoutVerify()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_CardNorDirectSectorEraseWithoutVerify (Handle serviceHandle,
u32 address 
)
+
+ +

Executes a CARDNOR direct sector erase without verify.

+
Parameters
+ + +
addressAddress to provide.
+
+
+ +
+
+ +

◆ FSPXI_CardNorDirectWrite()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_CardNorDirectWrite (Handle serviceHandle,
u8 commandId,
u32 size,
const void * input 
)
+
+ +

Executes a CARDNOR direct write.

+
Parameters
+ + + + +
commandIdID of the command.
sizeSize of the input buffer.
outputInput buffer.
+
+
+
Remarks
Stubbed in latest firmware, since ?.?.?
+ +
+
+ +

◆ FSPXI_CardNorDirectWriteWithAddress()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_CardNorDirectWriteWithAddress (Handle serviceHandle,
u8 commandId,
u32 address,
u32 size,
const void * input 
)
+
+ +

Executes a CARDNOR direct write with an address.

+
Parameters
+ + + + + +
commandIdID of the command.
addressAddress to provide.
sizeSize of the input buffer.
inputInput buffer.
+
+
+ +
+
+ +

◆ FSPXI_CardSlotGetCardIFPowerStatus()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_CardSlotGetCardIFPowerStatus (Handle serviceHandle,
bool * status 
)
+
+ +

Gets the card's power status.

+
Parameters
+ + +
statusPointer to output the power status to.
+
+
+ +
+
+ +

◆ FSPXI_CardSlotIsInserted()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_CardSlotIsInserted (Handle serviceHandle,
bool * inserted 
)
+
+ +

Gets whether a card is inserted.

+
Parameters
+ + +
insertedPointer to output the insertion status to.
+
+
+ +
+
+ +

◆ FSPXI_CardSlotPowerOff()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_CardSlotPowerOff (Handle serviceHandle,
bool * status 
)
+
+ +

Powers off the card slot.

+
Parameters
+ + +
statusPointer to output the power status to.
+
+
+ +
+
+ +

◆ FSPXI_CardSlotPowerOn()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_CardSlotPowerOn (Handle serviceHandle,
bool * status 
)
+
+ +

Powers on the card slot.

+
Parameters
+ + +
statusPointer to output the power status to.
+
+
+ +
+
+ +

◆ FSPXI_CloseArchive()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_CloseArchive (Handle serviceHandle,
FSPXI_Archive archive 
)
+
+ +

Close an archive.

+
Parameters
+ + +
archiveArchive to close.
+
+
+ +
+
+ +

◆ FSPXI_CloseDirectory()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_CloseDirectory (Handle serviceHandle,
FSPXI_Directory directory 
)
+
+ +

Close a directory.

+
Parameters
+ + +
directoryDirectory to close.
+
+
+ +
+
+ +

◆ FSPXI_CloseFile()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_CloseFile (Handle serviceHandle,
FSPXI_File file 
)
+
+ +

Close a file.

+
Parameters
+ + +
fileFile to close
+
+
+ +
+
+ +

◆ FSPXI_CommitSaveData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_CommitSaveData (Handle serviceHandle,
FSPXI_Archive archive,
u32 id 
)
+
+ +

Commits an archive's save data.

+
Parameters
+ + + +
archiveArchive to commit.
idArchive action sent by FSUSER_ControlArchive. Must not be 0 or 0x789D
+
+
+
Remarks
Unsure why id is sent. This appears to be the default action for FSUSER_ControlArchive, with every action other than 0 and 0x789D being sent to this command.
+ +
+
+ +

◆ FSPXI_CreateDirectory()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_CreateDirectory (Handle serviceHandle,
FSPXI_Archive archive,
FS_Path path,
u32 attributes 
)
+
+ +

Creates a directory.

+
Parameters
+ + + + +
archiveArchive to create the directory in.
pathPath of the directory.
attributesAttributes of the directory.
+
+
+ +
+
+ +

◆ FSPXI_CreateExtSaveData()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_CreateExtSaveData (Handle serviceHandle,
FS_ExtSaveDataInfo info 
)
+
+ +

Creates ext save data.

+
Parameters
+ + +
infoInfo of the save data.
+
+
+ +
+
+ +

◆ FSPXI_CreateFile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_CreateFile (Handle serviceHandle,
FSPXI_Archive archive,
FS_Path path,
u32 attributes,
u64 fileSize 
)
+
+ +

Creates a file.

+
Parameters
+ + + + + +
archiveArchive to create the file in.
pathPath of the file.
attributesAttributes of the file.
sizeSize of the file.
+
+
+ +
+
+ +

◆ FSPXI_DeleteDirectory()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_DeleteDirectory (Handle serviceHandle,
FSPXI_Archive archive,
FS_Path path 
)
+
+ +

Deletes a directory.

+
Parameters
+ + + +
archiveArchive containing the directory.
pathPath of the directory.
+
+
+ +
+
+ +

◆ FSPXI_DeleteExtSaveData()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_DeleteExtSaveData (Handle serviceHandle,
FS_ExtSaveDataInfo info 
)
+
+ +

Deletes ext save data.

+
Parameters
+ + +
infoInfo of the save data.
+
+
+ +
+
+ +

◆ FSPXI_DeleteFile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_DeleteFile (Handle serviceHandle,
FSPXI_Archive archive,
FS_Path path 
)
+
+ +

Deletes a file.

+
Parameters
+ + + +
archiveArchive containing the file.
pathPath of the file.
+
+
+ +
+
+ +

◆ FSPXI_EnumerateExtSaveData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_EnumerateExtSaveData (Handle serviceHandle,
u32idsWritten,
u32 idsSize,
FS_MediaType mediaType,
u32 idSize,
bool shared,
u8ids 
)
+
+ +

Enumerates ext save data.

+
Parameters
+ + + + + + + +
idsWrittenPointer to output the number of IDs written to.
idsSizeSize of the IDs buffer.
mediaTypeMedia type to enumerate over.
idSizeSize of each ID element.
sharedWhether to enumerate shared ext save data.
idsPointer to output IDs to.
+
+
+ +
+
+ +

◆ FSPXI_EnumerateSystemSaveData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_EnumerateSystemSaveData (Handle serviceHandle,
u32idsWritten,
u32 idsSize,
u32ids 
)
+
+ +

Enumerates system save data.

+
Parameters
+ + + + +
idsWrittenPointer to output the number of IDs written to.
idsSizeSize of the IDs buffer.
idsPointer to output IDs to.
+
+
+ +
+
+ +

◆ FSPXI_ExportIntegrityVerificationSeed()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_ExportIntegrityVerificationSeed (Handle serviceHandle,
FS_IntegrityVerificationSeedseed 
)
+
+ +

Exports the integrity verification seed.

+
Parameters
+ + +
seedPointer to output the seed to.
+
+
+ +
+
+ +

◆ FSPXI_FormatCardNorDevice()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_FormatCardNorDevice (Handle serviceHandle,
u32 unk 
)
+
+ +

Formats the CARDNOR device.

+
Parameters
+ + +
unkUnknown. Transaction?
+
+
+ +
+
+ +

◆ FSPXI_GenerateRandomBytes()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_GenerateRandomBytes (Handle serviceHandle,
void * buffer,
u32 size 
)
+
+ +

Generates random bytes.

+

Uses same code as PSPXI_GenerateRandomBytes

Parameters
+ + + +
bufBuffer to output random bytes to.
sizeSize of buffer.
+
+
+ +
+
+ +

◆ FSPXI_GetArchiveResource()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_GetArchiveResource (Handle serviceHandle,
FS_ArchiveResourcearchiveResource,
FS_SystemMediaType mediaType 
)
+
+ +

Gets an archive's resource information.

+
Parameters
+ + + +
archiveResourcePointer to output the archive resource information to.
mediaTypeSystem media type to check.
+
+
+ +
+
+ +

◆ FSPXI_GetCardType()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_GetCardType (Handle serviceHandle,
FS_CardTypeout 
)
+
+ +

Gets the inserted card type.

+
Parameters
+ + +
outPointer to output the card type to.
+
+
+ +
+
+ +

◆ FSPXI_GetFileLastModified()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_GetFileLastModified (Handle serviceHandle,
FSPXI_Archive archive,
u64out,
const u16path,
u32 size 
)
+
+ +

Gets the last modified time of a file in an archive.

+
Parameters
+ + + + + +
archiveThe archive that contains the file.
outThe pointer to write the timestamp to.
pathThe UTF-16 path of the file.
sizeThe size of the path.
+
+
+ +
+
+ +

◆ FSPXI_GetFileSize()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_GetFileSize (Handle serviceHandle,
FSPXI_File file,
u64size 
)
+
+ +

Get size of a file.

+
Parameters
+ + + +
fileFile to get the size of.
sizePointer to output size to.
+
+
+ +
+
+ +

◆ FSPXI_GetLegacyBannerData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_GetLegacyBannerData (Handle serviceHandle,
FS_MediaType mediaType,
u64 programId,
void * banner,
u8 unk 
)
+
+ +

Gets the legacy banner data of a program.

+
Parameters
+ + + + + +
mediaTypeMedia type of the program.
programIdID of the program.
bannerPointer to output the legacy banner data to. (size = 0x23C0)
unkUnknown. Always 1?
+
+
+ +
+
+ +

◆ FSPXI_GetLegacyRomHeader()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_GetLegacyRomHeader (Handle serviceHandle,
FS_MediaType mediaType,
u64 programId,
void * header 
)
+
+ +

Gets the legacy ROM header of a program.

+
Parameters
+ + + + +
mediaTypeMedia type of the program.
programIdID of the program.
headerPointer to output the legacy ROM header to. (size = 0x3B4)
+
+
+ +
+
+ +

◆ FSPXI_GetLegacySubBannerData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_GetLegacySubBannerData (Handle serviceHandle,
u32 bannerSize,
FS_MediaType mediaType,
u64 programId,
void * banner 
)
+
+ +

Gets the legacy sub banner data of a program.

+
Parameters
+ + + + + +
bannerSizeSize of the banner.
mediaTypeMedia type of the program.
programIdID of the program.
headerPointer to output the legacy sub banner data to.
+
+
+ +
+
+ +

◆ FSPXI_GetNandArchiveResource()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_GetNandArchiveResource (Handle serviceHandle,
FS_ArchiveResourceout 
)
+
+ +

Gets the NAND archive resource information.

+
Parameters
+ + +
outPointer to output the archive resource information to.
+
+
+ +
+
+ +

◆ FSPXI_GetNandCid()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_GetNandCid (Handle serviceHandle,
void * out,
u32 size 
)
+
+ +

Gets the NAND CID.

+
Parameters
+ + + +
outBuffer to output the CID to.
sizeSize of buffer.
+
+
+ +
+
+ +

◆ FSPXI_GetNandLog()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_GetNandLog (Handle serviceHandle,
void * out,
u32 size 
)
+
+ +

Gets the NAND log.

+
Parameters
+ + + +
outBuffer to output the log to.
sizeSize of buffer.
+
+
+ +
+
+ +

◆ FSPXI_GetNandSpeedInfo()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_GetNandSpeedInfo (Handle serviceHandle,
FS_SdMmcSpeedInfoout 
)
+
+ +

Gets the NAND speed info.

+
Parameters
+ + +
outBuffer to output the speed info to.
+
+
+ +
+
+ +

◆ FSPXI_GetProductInfo()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_GetProductInfo (Handle serviceHandle,
FS_ProductInfoinfo,
FSPXI_Archive archive 
)
+
+ +

Gets an NCCH's product info.

+
Parameters
+ + + +
infoPointer to output the product info to.
archiveOpen NCCH content archive
+
+
+ +
+
+ +

◆ FSPXI_GetSdmcArchiveResource()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_GetSdmcArchiveResource (Handle serviceHandle,
FS_ArchiveResourceout 
)
+
+ +

Gets the SDMC archive resource information.

+
Parameters
+ + +
outPointer to output the archive resource information to.
+
+
+ +
+
+ +

◆ FSPXI_GetSdmcCid()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_GetSdmcCid (Handle serviceHandle,
void * out,
u32 size 
)
+
+ +

Gets the SDMC CID.

+
Parameters
+ + + +
outBuffer to output the CID to.
sizeSize of buffer.
+
+
+ +
+
+ +

◆ FSPXI_GetSdmcCtrRootPath()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_GetSdmcCtrRootPath (Handle serviceHandle,
u16out,
u32 length 
)
+
+ +

Gets the CTR SDMC root path.

+
Parameters
+ + + +
outPointer to output the root path to.
lengthLength of the output buffer in bytes.
+
+
+ +
+
+ +

◆ FSPXI_GetSdmcFatFsError()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_GetSdmcFatFsError (Handle serviceHandle,
u32out 
)
+
+ +

Gets the error code from the SDMC FatFS driver.

+
Parameters
+ + +
outPointer to output the error code to
+
+
+ +
+
+ +

◆ FSPXI_GetSdmcLog()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_GetSdmcLog (Handle serviceHandle,
void * out,
u32 size 
)
+
+ +

Gets the SDMC log.

+
Parameters
+ + + +
outBuffer to output the log to.
sizeSize of buffer.
+
+
+ +
+
+ +

◆ FSPXI_GetSdmcSpeedInfo()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_GetSdmcSpeedInfo (Handle serviceHandle,
FS_SdMmcSpeedInfoout 
)
+
+ +

Gets the SDMC speed info.

+
Parameters
+ + +
outBuffer to output the speed info to.
+
+
+ +
+
+ +

◆ FSPXI_GetSpecialContentIndex()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_GetSpecialContentIndex (Handle serviceHandle,
u16index,
FS_MediaType mediaType,
u64 programId,
FS_SpecialContentType type 
)
+
+ +

Gets a special content's index.

+
Parameters
+ + + + + +
indexPointer to output the index to.
mediaTypeMedia type of the special content.
programIdProgram ID owning the special content.
typeType of special content.
+
+
+ +
+
+ +

◆ FSPXI_GetSpecialFileSize()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_GetSpecialFileSize (Handle serviceHandle,
u64fileSize 
)
+
+ +

Gets the size of a special file.

+
Parameters
+ + +
fileSizePointer to output the size to.
+
+
+ +
+
+ +

◆ FSPXI_HasDirectory()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_HasDirectory (Handle serviceHandle,
FSPXI_Archive archive,
bool * out,
FS_Path path 
)
+
+ +

Checks if the archive contains a directory at path.

+
Parameters
+ + + + +
archiveArchive to check.
outPointer to output existence to.
pathPath to check for directory
+
+
+ +
+
+ +

◆ FSPXI_HasFile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_HasFile (Handle serviceHandle,
FSPXI_Archive archive,
bool * out,
FS_Path path 
)
+
+ +

Checks if the archive contains a file at path.

+
Parameters
+ + + + +
archiveArchive to check.
outPointer to output existence to.
pathPath to check for file
+
+
+ +
+
+ +

◆ FSPXI_ImportIntegrityVerificationSeed()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_ImportIntegrityVerificationSeed (Handle serviceHandle,
const FS_IntegrityVerificationSeedseed 
)
+
+ +

Imports an integrity verification seed.

+
Parameters
+ + +
seedSeed to import.
+
+
+ +
+
+ +

◆ FSPXI_IsSdmcDetected()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_IsSdmcDetected (Handle serviceHandle,
bool * out 
)
+
+ +

Gets whether PXIFS0 detects the SD.

+
Parameters
+ + +
outPointer to output the detection status to
+
+
+ +
+
+ +

◆ FSPXI_IsSdmcWritable()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_IsSdmcWritable (Handle serviceHandle,
bool * out 
)
+
+ +

Gets whether PXIFS0 can write to the SD.

+
Parameters
+ + +
outPointer to output the writable status to
+
+
+ +
+
+ +

◆ FSPXI_OpenArchive()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_OpenArchive (Handle serviceHandle,
FSPXI_Archive * archive,
FS_ArchiveID archiveID,
FS_Path path 
)
+
+ +

Opens an archive.

+
Parameters
+ + + + +
archivePointer to output the opened archive to.
idID of the archive.
pathPath of the archive.
+
+
+ +
+
+ +

◆ FSPXI_OpenDirectory()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_OpenDirectory (Handle serviceHandle,
FSPXI_Directory * out,
FSPXI_Archive archive,
FS_Path path 
)
+
+ +

Opens a directory.

+
Parameters
+ + + + +
outPointer to output the directory handle to.
archiveArchive containing the directory.
pathPath of the directory.
+
+
+ +
+
+ +

◆ FSPXI_OpenFile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_OpenFile (Handle serviceHandle,
FSPXI_File * out,
FSPXI_Archive archive,
FS_Path path,
u32 flags,
u32 attributes 
)
+
+ +

Opens a file.

+
Parameters
+ + + + + + +
outPointer to output the file handle to.
archiveArchive containing the file.
pathPath of the file.
flagsFlags to open the file with.
attributesAttributes of the file.
+
+
+ +
+
+ +

◆ FSPXI_ReadDirectory()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_ReadDirectory (Handle serviceHandle,
FSPXI_Directory directory,
u32entriesRead,
u32 entryCount,
FS_DirectoryEntryentries 
)
+
+ +

Reads one or more directory entries.

+
Parameters
+ + + + + +
directoryDirectory to read from.
entriesReadPointer to output the number of entries read to.
entryCountNumber of entries to read.
entryOutPointer to output directory entries to.
+
+
+ +
+
+ +

◆ FSPXI_ReadFile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_ReadFile (Handle serviceHandle,
FSPXI_File file,
u32bytesRead,
u64 offset,
void * buffer,
u32 size 
)
+
+ +

Reads from a file.

+
Parameters
+ + + + + + +
fileFile to read from.
bytesReadPointer to output the number of read bytes to.
offsetOffset to read from.
bufferBuffer to read to.
sizeSize of the buffer.
+
+
+ +
+
+ +

◆ FSPXI_ReadFileSHA256()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_ReadFileSHA256 (Handle serviceHandle,
FSPXI_File file,
u32bytesRead,
u64 offset,
void * readBuffer,
u32 readBufferSize,
void * hashtable,
u32 hashtableSize,
u32 unk 
)
+
+ +

Reads data and stores SHA256 hashes of blocks.

+
Parameters
+ + + + + + + + + +
fileFile to read from.
bytesReadPointer to output the number of read bytes to.
offsetOffset to read from.
readBufferPointer to store read data in.
readBufferSizeSize of readBuffer.
hashtablePointer to store SHA256 hashes in.
hashtableSizeSize of hashtable.
unkUnknown. Always 0x00001000? Possibly block size?
+
+
+ +
+
+ +

◆ FSPXI_ReadNandReport()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_ReadNandReport (Handle serviceHandle,
void * buffer,
u32 size,
u32 unk 
)
+
+ +

Reads the NAND report.

+
Parameters
+ + + + +
unkUnknown
bufferBuffer to write the report to.
sizeSize of buffer
+
+
+ +
+
+ +

◆ FSPXI_ReadSpecialFile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_ReadSpecialFile (Handle serviceHandle,
u32bytesRead,
u64 fileOffset,
u32 size,
void * data 
)
+
+ +

Reads from a special file.

+
Parameters
+ + + + + +
bytesReadPointer to output the number of bytes read to.
fileOffsetOffset of the file.
sizeSize of the buffer.
dataBuffer to read to.
+
+
+ +
+
+ +

◆ FSPXI_RenameDirectory()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_RenameDirectory (Handle serviceHandle,
FSPXI_Archive srcArchive,
FS_Path srcPath,
FSPXI_Archive dstArchive,
FS_Path dstPath 
)
+
+ +

Renames a directory.

+
Parameters
+ + + + + +
srcArchiveArchive containing the source directory.
srcPathPath of the source directory.
dstArchiveArchive containing the destination directory.
dstPathPath of the destination directory.
+
+
+ +
+
+ +

◆ FSPXI_RenameFile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_RenameFile (Handle serviceHandle,
FSPXI_Archive srcArchive,
FS_Path srcPath,
FSPXI_Archive dstArchive,
FS_Path dstPath 
)
+
+ +

Renames a file.

+
Parameters
+ + + + + +
srcArchiveArchive containing the source file.
srcPathPath of the source file.
dstArchiveArchive containing the destination file.
dstPathPath of the destination file.
+
+
+ +
+
+ +

◆ FSPXI_SendInitializeInfoTo9()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_SendInitializeInfoTo9 (Handle serviceHandle,
u8 unk 
)
+
+ +

Sends initialization info to ARM9.

+
Parameters
+ + +
unkFS sends *(0x1FF81086)
+
+
+ +
+
+ +

◆ FSPXI_SetCardSpiBaudrate()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_SetCardSpiBaudrate (Handle serviceHandle,
FS_CardSpiBaudRate baudRate 
)
+
+ +

Sets the CARDSPI baud rate.

+
Parameters
+ + +
baudRateBaud rate to set.
+
+
+ +
+
+ +

◆ FSPXI_SetCardSpiBusMode()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_SetCardSpiBusMode (Handle serviceHandle,
FS_CardSpiBusMode busMode 
)
+
+ +

Sets the CARDSPI bus mode.

+
Parameters
+ + +
busModeBus mode to set.
+
+
+ +
+
+ +

◆ FSPXI_SetCtrCardLatencyParameter()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_SetCtrCardLatencyParameter (Handle serviceHandle,
u64 latency 
)
+
+ +

Configures CTRCARD latency emulation.

+
Parameters
+ + +
latencyLatency to apply.
+
+
+ +
+
+ +

◆ FSPXI_SetFileSize()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_SetFileSize (Handle serviceHandle,
FSPXI_File file,
u64 size 
)
+
+ +

Set size of a file.

+
Parameters
+ + + +
fileFile to set the size of
sizeSize to set the file to
+
+
+ +
+
+ +

◆ FSPXI_SetPriority()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_SetPriority (Handle serviceHandle,
u32 priority 
)
+
+ +

Sets the file system priority.

+
Parameters
+ + +
priorityPriority to set.
+
+
+ +
+
+ +

◆ FSPXI_StartDeviceMoveAsDestination()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_StartDeviceMoveAsDestination (Handle serviceHandle,
FS_DeviceMoveContext context,
bool clear 
)
+
+ +

Initiates a device move as the destination device.

+
Parameters
+ + + +
contextContext to use.
clearWhether to clear the device's data first.
+
+
+ +
+
+ +

◆ FSPXI_StartDeviceMoveAsSource()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_StartDeviceMoveAsSource (Handle serviceHandle,
FS_DeviceMoveContextcontext 
)
+
+ +

Initiates a device move as the source device.

+
Parameters
+ + +
contextPointer to output the context to.
+
+
+ +
+
+ +

◆ FSPXI_SwitchCleanupInvalidSaveData()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result FSPXI_SwitchCleanupInvalidSaveData (Handle serviceHandle,
bool enable 
)
+
+ +

Toggles cleaning up invalid save data.

+
Parameters
+ + +
enableWhether to enable cleaning up invalid save data.
+
+
+ +
+
+ +

◆ FSPXI_Unknown0x17()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_Unknown0x17 (Handle serviceHandle,
FSPXI_Archive archive,
bool * out 
)
+
+ +

Unknown 0x17.

+

Appears to be an "is archive handle valid" command?

Parameters
+ + + +
archiveArchive handle to check validity of.
outPointer to output validity to.
+
+
+ +
+
+ +

◆ FSPXI_Unknown0x56()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_Unknown0x56 (Handle serviceHandle,
u32 out[4],
FS_Archive archive,
FS_Path path 
)
+
+ +

Unknown command 0x56.

+
Remarks
Called by FSUSER_ControlArchive with ArchiveAction 0x789D
+ +
+
+ +

◆ FSPXI_WriteFile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_WriteFile (Handle serviceHandle,
FSPXI_File file,
u32bytesWritten,
u64 offset,
const void * buffer,
u32 size,
u32 flags 
)
+
+ +

Writes to a file.

+
Parameters
+ + + + + + + +
fileFile to write to.
bytesWrittenPointer to output the number of bytes written to.
offsetOffset to write to.
bufferBuffer to write from.
sizeSize of the buffer.
flagsFlags to use when writing.
+
+
+ +
+
+ +

◆ FSPXI_WriteFileSHA256()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result FSPXI_WriteFileSHA256 (Handle serviceHandle,
FSPXI_File file,
u32bytesWritten,
u64 offset,
const void * writeBuffer,
u32 writeBufferSize,
void * hashtable,
u32 hashtableSize,
u32 unk1,
u32 unk2 
)
+
+ +

Assumedly writes data and stores SHA256 hashes of blocks.

+
Parameters
+ + + + + + + + + + +
fileFile to write to.
bytesWrittenPointer to output the number of written bytes to.
offsetOffset to write to.
writeBufferBuffer to write from.
writeBufferSizeSize of writeBuffer.
hashtablePointer to store SHA256 hashes in.
hashtableSizeSize of hashtable
unk1Unknown. Might match with ReadFileSHA256's unknown?
unk2Unknown. Might match with ReadFileSHA256's unknown?
+
+
+ +
+
+
+ + + + diff --git a/fspxi_8h_source.html b/fspxi_8h_source.html new file mode 100644 index 000000000..a94528460 --- /dev/null +++ b/fspxi_8h_source.html @@ -0,0 +1,800 @@ + + + + + + + +libctru: include/3ds/services/fspxi.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
fspxi.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file fspxi.h
+
3  * @brief Service interface for PxiFS services. This is normally not accessible to userland apps. https://3dbrew.org/wiki/Filesystem_services_PXI
+
4  */
+
5 #pragma once
+
6 
+
7 #include <3ds/services/fs.h>
+
8 #include <3ds/types.h>
+
9 
+
10 typedef u64 FSPXI_Archive;
+
11 typedef u64 FSPXI_File;
+
12 typedef u64 FSPXI_Directory;
+
13 
+
14 /**
+
15  * @brief Opens a file.
+
16  * @param out Pointer to output the file handle to.
+
17  * @param archive Archive containing the file.
+
18  * @param path Path of the file.
+
19  * @param flags Flags to open the file with.
+
20  * @param attributes Attributes of the file.
+
21  */
+
22 Result FSPXI_OpenFile(Handle serviceHandle, FSPXI_File* out, FSPXI_Archive archive, FS_Path path, u32 flags, u32 attributes);
+
23 
+
24 /**
+
25  * @brief Deletes a file.
+
26  * @param archive Archive containing the file.
+
27  * @param path Path of the file.
+
28  */
+
29 Result FSPXI_DeleteFile(Handle serviceHandle, FSPXI_Archive archive, FS_Path path);
+
30 
+
31 /**
+
32  * @brief Renames a file.
+
33  * @param srcArchive Archive containing the source file.
+
34  * @param srcPath Path of the source file.
+
35  * @param dstArchive Archive containing the destination file.
+
36  * @param dstPath Path of the destination file.
+
37  */
+
38 Result FSPXI_RenameFile(Handle serviceHandle, FSPXI_Archive srcArchive, FS_Path srcPath, FSPXI_Archive dstArchive, FS_Path dstPath);
+
39 
+
40 /**
+
41  * @brief Deletes a directory.
+
42  * @param archive Archive containing the directory.
+
43  * @param path Path of the directory.
+
44  */
+
45 Result FSPXI_DeleteDirectory(Handle serviceHandle, FSPXI_Archive archive, FS_Path path);
+
46 
+
47 /**
+
48  * @brief Creates a file.
+
49  * @param archive Archive to create the file in.
+
50  * @param path Path of the file.
+
51  * @param attributes Attributes of the file.
+
52  * @param size Size of the file.
+
53  */
+
54 Result FSPXI_CreateFile(Handle serviceHandle, FSPXI_Archive archive, FS_Path path, u32 attributes, u64 fileSize);
+
55 
+
56 /**
+
57  * @brief Creates a directory.
+
58  * @param archive Archive to create the directory in.
+
59  * @param path Path of the directory.
+
60  * @param attributes Attributes of the directory.
+
61  */
+
62 Result FSPXI_CreateDirectory(Handle serviceHandle, FSPXI_Archive archive, FS_Path path, u32 attributes);
+
63 
+
64 /**
+
65  * @brief Renames a directory.
+
66  * @param srcArchive Archive containing the source directory.
+
67  * @param srcPath Path of the source directory.
+
68  * @param dstArchive Archive containing the destination directory.
+
69  * @param dstPath Path of the destination directory.
+
70  */
+
71 Result FSPXI_RenameDirectory(Handle serviceHandle, FSPXI_Archive srcArchive, FS_Path srcPath, FSPXI_Archive dstArchive, FS_Path dstPath);
+
72 
+
73 /**
+
74  * @brief Opens a directory.
+
75  * @param out Pointer to output the directory handle to.
+
76  * @param archive Archive containing the directory.
+
77  * @param path Path of the directory.
+
78  */
+
79 Result FSPXI_OpenDirectory(Handle serviceHandle, FSPXI_Directory* out, FSPXI_Archive archive, FS_Path path);
+
80 
+
81 /**
+
82  * @brief Reads from a file.
+
83  * @param file File to read from.
+
84  * @param bytesRead Pointer to output the number of read bytes to.
+
85  * @param offset Offset to read from.
+
86  * @param buffer Buffer to read to.
+
87  * @param size Size of the buffer.
+
88  */
+
89 Result FSPXI_ReadFile(Handle serviceHandle, FSPXI_File file, u32* bytesRead, u64 offset, void* buffer, u32 size);
+
90 
+
91 /**
+
92  * @brief Calculate SHA256 of a file.
+
93  * @param file File to calculate the hash of.
+
94  * @param buffer Buffer to output the hash to.
+
95  * @param size Size of the buffer.
+
96  */
+
97 Result FSPXI_CalculateFileHashSHA256(Handle serviceHandle, FSPXI_File file, void* buffer, u32 size);
+
98 
+
99 /**
+
100  * @brief Writes to a file.
+
101  * @param file File to write to.
+
102  * @param bytesWritten Pointer to output the number of bytes written to.
+
103  * @param offset Offset to write to.
+
104  * @param buffer Buffer to write from.
+
105  * @param size Size of the buffer.
+
106  * @param flags Flags to use when writing.
+
107  */
+
108 Result FSPXI_WriteFile(Handle serviceHandle, FSPXI_File file, u32* bytesWritten, u64 offset, const void* buffer, u32 size, u32 flags);
+
109 
+
110 /**
+
111  * @brief Calculates the MAC used in a DISA/DIFF header?
+
112  * @param file Unsure
+
113  * @param inBuffer 0x100-byte DISA/DIFF input buffer.
+
114  * @param inSize Size of inBuffer.
+
115  * @param outBuffer Buffer to write MAC to.
+
116  * @param outSize Size of outBuffer.
+
117  */
+
118 Result FSPXI_CalcSavegameMAC(Handle serviceHandle, FSPXI_File file, const void* inBuffer, u32 inSize, void* outBuffer, u32 outSize);
+
119 
+
120 /**
+
121  * @brief Get size of a file
+
122  * @param file File to get the size of.
+
123  * @param size Pointer to output size to.
+
124  */
+
125 Result FSPXI_GetFileSize(Handle serviceHandle, FSPXI_File file, u64* size);
+
126 
+
127 /**
+
128  * @brief Set size of a file
+
129  * @param file File to set the size of
+
130  * @param size Size to set the file to
+
131  */
+
132 Result FSPXI_SetFileSize(Handle serviceHandle, FSPXI_File file, u64 size);
+
133 
+
134 /**
+
135  * @brief Close a file
+
136  * @param file File to close
+
137  */
+
138 Result FSPXI_CloseFile(Handle serviceHandle, FSPXI_File file);
+
139 
+
140 /**
+
141  * @brief Reads one or more directory entries.
+
142  * @param directory Directory to read from.
+
143  * @param entriesRead Pointer to output the number of entries read to.
+
144  * @param entryCount Number of entries to read.
+
145  * @param entryOut Pointer to output directory entries to.
+
146  */
+
147 Result FSPXI_ReadDirectory(Handle serviceHandle, FSPXI_Directory directory, u32* entriesRead, u32 entryCount, FS_DirectoryEntry* entries);
+
148 
+
149 /**
+
150  * @brief Close a directory
+
151  * @param directory Directory to close.
+
152  */
+
153 Result FSPXI_CloseDirectory(Handle serviceHandle, FSPXI_Directory directory);
+
154 
+
155 /**
+
156  * @brief Opens an archive.
+
157  * @param archive Pointer to output the opened archive to.
+
158  * @param id ID of the archive.
+
159  * @param path Path of the archive.
+
160  */
+
161 Result FSPXI_OpenArchive(Handle serviceHandle, FSPXI_Archive* archive, FS_ArchiveID archiveID, FS_Path path);
+
162 
+
163 /**
+
164  * @brief Checks if the archive contains a file at path.
+
165  * @param archive Archive to check.
+
166  * @param out Pointer to output existence to.
+
167  * @param path Path to check for file
+
168  */
+
169 Result FSPXI_HasFile(Handle serviceHandle, FSPXI_Archive archive, bool* out, FS_Path path);
+
170 
+
171 /**
+
172  * @brief Checks if the archive contains a directory at path.
+
173  * @param archive Archive to check.
+
174  * @param out Pointer to output existence to.
+
175  * @param path Path to check for directory
+
176  */
+
177 Result FSPXI_HasDirectory(Handle serviceHandle, FSPXI_Archive archive, bool* out, FS_Path path);
+
178 
+
179 /**
+
180  * @brief Commits an archive's save data.
+
181  * @param archive Archive to commit.
+
182  * @param id Archive action sent by FSUSER_ControlArchive. Must not be 0 or 0x789D
+
183  * @remark Unsure why id is sent. This appears to be the default action for FSUSER_ControlArchive, with every action other than 0 and 0x789D being sent to this command.
+
184  */
+
185 Result FSPXI_CommitSaveData(Handle serviceHandle, FSPXI_Archive archive, u32 id);
+
186 
+
187 /**
+
188  * @brief Close an archive
+
189  * @param archive Archive to close.
+
190  */
+
191 Result FSPXI_CloseArchive(Handle serviceHandle, FSPXI_Archive archive);
+
192 
+
193 /**
+
194  * @brief Unknown 0x17. Appears to be an "is archive handle valid" command?
+
195  * @param archive Archive handle to check validity of.
+
196  * @param out Pointer to output validity to.
+
197  */
+
198 Result FSPXI_Unknown0x17(Handle serviceHandle, FSPXI_Archive archive, bool* out);
+
199 
+
200 /**
+
201  * @brief Gets the inserted card type.
+
202  * @param out Pointer to output the card type to.
+
203  */
+ +
205 
+
206 /**
+
207  * @brief Gets the SDMC archive resource information.
+
208  * @param out Pointer to output the archive resource information to.
+
209  */
+ +
211 
+
212 /**
+
213  * @brief Gets the NAND archive resource information.
+
214  * @param out Pointer to output the archive resource information to.
+
215  */
+ +
217 
+
218 /**
+
219  * @brief Gets the error code from the SDMC FatFS driver
+
220  * @param out Pointer to output the error code to
+
221  */
+ +
223 
+
224 /**
+
225  * @brief Gets whether PXIFS0 detects the SD
+
226  * @param out Pointer to output the detection status to
+
227  */
+
228 Result FSPXI_IsSdmcDetected(Handle serviceHandle, bool* out);
+
229 
+
230 /**
+
231  * @brief Gets whether PXIFS0 can write to the SD
+
232  * @param out Pointer to output the writable status to
+
233  */
+
234 Result FSPXI_IsSdmcWritable(Handle serviceHandle, bool* out);
+
235 
+
236 /**
+
237  * @brief Gets the SDMC CID
+
238  * @param out Buffer to output the CID to.
+
239  * @param size Size of buffer.
+
240  */
+
241 Result FSPXI_GetSdmcCid(Handle serviceHandle, void* out, u32 size);
+
242 
+
243 /**
+
244  * @brief Gets the NAND CID
+
245  * @param out Buffer to output the CID to.
+
246  * @param size Size of buffer.
+
247  */
+
248 Result FSPXI_GetNandCid(Handle serviceHandle, void* out, u32 size);
+
249 
+
250 /**
+
251  * @brief Gets the SDMC speed info
+
252  * @param out Buffer to output the speed info to.
+
253  */
+ +
255 
+
256 /**
+
257  * @brief Gets the NAND speed info
+
258  * @param out Buffer to output the speed info to.
+
259  */
+ +
261 
+
262 /**
+
263  * @brief Gets the SDMC log
+
264  * @param out Buffer to output the log to.
+
265  * @param size Size of buffer.
+
266  */
+
267 Result FSPXI_GetSdmcLog(Handle serviceHandle, void* out, u32 size);
+
268 
+
269 /**
+
270  * @brief Gets the NAND log
+
271  * @param out Buffer to output the log to.
+
272  * @param size Size of buffer.
+
273  */
+
274 Result FSPXI_GetNandLog(Handle serviceHandle, void* out, u32 size);
+
275 
+
276 /// Clears the SDMC log
+ +
278 
+
279 /// Clears the NAND log
+ +
281 
+
282 /**
+
283  * @brief Gets whether a card is inserted.
+
284  * @param inserted Pointer to output the insertion status to.
+
285  */
+
286 Result FSPXI_CardSlotIsInserted(Handle serviceHandle, bool* inserted);
+
287 
+
288 /**
+
289  * @brief Powers on the card slot.
+
290  * @param status Pointer to output the power status to.
+
291  */
+
292 Result FSPXI_CardSlotPowerOn(Handle serviceHandle, bool* status);
+
293 
+
294 /**
+
295  * @brief Powers off the card slot.
+
296  * @param status Pointer to output the power status to.
+
297  */
+
298 Result FSPXI_CardSlotPowerOff(Handle serviceHandle, bool* status);
+
299 
+
300 /**
+
301  * @brief Gets the card's power status.
+
302  * @param status Pointer to output the power status to.
+
303  */
+
304 Result FSPXI_CardSlotGetCardIFPowerStatus(Handle serviceHandle, bool* status);
+
305 
+
306 /**
+
307  * @brief Executes a CARDNOR direct command.
+
308  * @param commandId ID of the command.
+
309  */
+
310 Result FSPXI_CardNorDirectCommand(Handle serviceHandle, u8 commandId);
+
311 
+
312 /**
+
313  * @brief Executes a CARDNOR direct command with an address.
+
314  * @param commandId ID of the command.
+
315  * @param address Address to provide.
+
316  */
+
317 Result FSPXI_CardNorDirectCommandWithAddress(Handle serviceHandle, u8 commandId, u32 address);
+
318 
+
319 /**
+
320  * @brief Executes a CARDNOR direct read.
+
321  * @param commandId ID of the command.
+
322  * @param size Size of the output buffer.
+
323  * @param output Output buffer.
+
324  */
+
325 Result FSPXI_CardNorDirectRead(Handle serviceHandle, u8 commandId, u32 size, void* output);
+
326 
+
327 /**
+
328  * @brief Executes a CARDNOR direct read with an address.
+
329  * @param commandId ID of the command.
+
330  * @param address Address to provide.
+
331  * @param size Size of the output buffer.
+
332  * @param output Output buffer.
+
333  */
+
334 Result FSPXI_CardNorDirectReadWithAddress(Handle serviceHandle, u8 commandId, u32 address, u32 size, void* output);
+
335 
+
336 /**
+
337  * @brief Executes a CARDNOR direct write.
+
338  * @param commandId ID of the command.
+
339  * @param size Size of the input buffer.
+
340  * @param output Input buffer.
+
341  * @remark Stubbed in latest firmware, since ?.?.?
+
342  */
+
343 Result FSPXI_CardNorDirectWrite(Handle serviceHandle, u8 commandId, u32 size, const void* input);
+
344 
+
345 /**
+
346  * @brief Executes a CARDNOR direct write with an address.
+
347  * @param commandId ID of the command.
+
348  * @param address Address to provide.
+
349  * @param size Size of the input buffer.
+
350  * @param input Input buffer.
+
351  */
+
352 Result FSPXI_CardNorDirectWriteWithAddress(Handle serviceHandle, u8 commandId, u32 address, u32 size, const void* input);
+
353 
+
354 /**
+
355  * @brief Executes a CARDNOR 4xIO direct read.
+
356  * @param commandId ID of the command.
+
357  * @param address Address to provide.
+
358  * @param size Size of the output buffer.
+
359  * @param output Output buffer.
+
360  */
+
361 Result FSPXI_CardNorDirectRead_4xIO(Handle serviceHandle, u8 commandId, u32 address, u32 size, void* output);
+
362 
+
363 /**
+
364  * @brief Executes a CARDNOR direct CPU write without verify.
+
365  * @param address Address to provide.
+
366  * @param size Size of the input buffer.
+
367  * @param output Input buffer.
+
368  */
+
369 Result FSPXI_CardNorDirectCpuWriteWithoutVerify(Handle serviceHandle, u32 address, u32 size, const void* input);
+
370 
+
371 /**
+
372  * @brief Executes a CARDNOR direct sector erase without verify.
+
373  * @param address Address to provide.
+
374  */
+ +
376 
+
377 /**
+
378  * @brief Gets an NCCH's product info
+
379  * @param info Pointer to output the product info to.
+
380  * @param archive Open NCCH content archive
+
381  */
+
382 Result FSPXI_GetProductInfo(Handle serviceHandle, FS_ProductInfo* info, FSPXI_Archive archive);
+
383 
+
384 /**
+
385  * @brief Sets the CARDSPI baud rate.
+
386  * @param baudRate Baud rate to set.
+
387  */
+ +
389 
+
390 /**
+
391  * @brief Sets the CARDSPI bus mode.
+
392  * @param busMode Bus mode to set.
+
393  */
+ +
395 
+
396 /**
+
397  * @brief Sends initialization info to ARM9
+
398  * @param unk FS sends *(0x1FF81086)
+
399  */
+ +
401 
+
402 /**
+
403  * @brief Creates ext save data.
+
404  * @param info Info of the save data.
+
405  */
+ +
407 
+
408 /**
+
409  * @brief Deletes ext save data.
+
410  * @param info Info of the save data.
+
411  */
+ +
413 
+
414 /**
+
415  * @brief Enumerates ext save data.
+
416  * @param idsWritten Pointer to output the number of IDs written to.
+
417  * @param idsSize Size of the IDs buffer.
+
418  * @param mediaType Media type to enumerate over.
+
419  * @param idSize Size of each ID element.
+
420  * @param shared Whether to enumerate shared ext save data.
+
421  * @param ids Pointer to output IDs to.
+
422  */
+
423 Result FSPXI_EnumerateExtSaveData(Handle serviceHandle, u32* idsWritten, u32 idsSize, FS_MediaType mediaType, u32 idSize, bool shared, u8* ids);
+
424 
+
425 /**
+
426  * @brief Gets a special content's index.
+
427  * @param index Pointer to output the index to.
+
428  * @param mediaType Media type of the special content.
+
429  * @param programId Program ID owning the special content.
+
430  * @param type Type of special content.
+
431  */
+
432 Result FSPXI_GetSpecialContentIndex(Handle serviceHandle, u16* index, FS_MediaType mediaType, u64 programId, FS_SpecialContentType type);
+
433 
+
434 /**
+
435  * @brief Gets the legacy ROM header of a program.
+
436  * @param mediaType Media type of the program.
+
437  * @param programId ID of the program.
+
438  * @param header Pointer to output the legacy ROM header to. (size = 0x3B4)
+
439  */
+
440 Result FSPXI_GetLegacyRomHeader(Handle serviceHandle, FS_MediaType mediaType, u64 programId, void* header);
+
441 
+
442 /**
+
443  * @brief Gets the legacy banner data of a program.
+
444  * @param mediaType Media type of the program.
+
445  * @param programId ID of the program.
+
446  * @param banner Pointer to output the legacy banner data to. (size = 0x23C0)
+
447  * @param unk Unknown. Always 1?
+
448  */
+
449 Result FSPXI_GetLegacyBannerData(Handle serviceHandle, FS_MediaType mediaType, u64 programId, void* banner, u8 unk);
+
450 
+
451 /**
+
452  * @brief Formats the CARDNOR device.
+
453  * @param unk Unknown. Transaction?
+
454  */
+ +
456 
+
457 /// Deletes the 3DS SDMC root.
+ +
459 
+
460 /// Deletes all ext save data on the NAND.
+ +
462 
+
463 /// Initializes the CTR file system.
+ +
465 
+
466 /// Creates the FS seed.
+ +
468 
+
469 /**
+
470  * @brief Gets the CTR SDMC root path.
+
471  * @param out Pointer to output the root path to.
+
472  * @param length Length of the output buffer in bytes.
+
473  */
+
474 Result FSPXI_GetSdmcCtrRootPath(Handle serviceHandle, u16* out, u32 length);
+
475 
+
476 /**
+
477  * @brief Gets an archive's resource information.
+
478  * @param archiveResource Pointer to output the archive resource information to.
+
479  * @param mediaType System media type to check.
+
480  */
+
481 Result FSPXI_GetArchiveResource(Handle serviceHandle, FS_ArchiveResource* archiveResource, FS_SystemMediaType mediaType);
+
482 
+
483 /**
+
484  * @brief Exports the integrity verification seed.
+
485  * @param seed Pointer to output the seed to.
+
486  */
+ +
488 
+
489 /**
+
490  * @brief Imports an integrity verification seed.
+
491  * @param seed Seed to import.
+
492  */
+ +
494 
+
495 /**
+
496  * @brief Gets the legacy sub banner data of a program.
+
497  * @param bannerSize Size of the banner.
+
498  * @param mediaType Media type of the program.
+
499  * @param programId ID of the program.
+
500  * @param header Pointer to output the legacy sub banner data to.
+
501  */
+
502 Result FSPXI_GetLegacySubBannerData(Handle serviceHandle, u32 bannerSize, FS_MediaType mediaType, u64 programId, void* banner);
+
503 
+
504 /**
+
505  * @brief Generates random bytes. Uses same code as PSPXI_GenerateRandomBytes
+
506  * @param buf Buffer to output random bytes to.
+
507  * @param size Size of buffer.
+
508  */
+
509 Result FSPXI_GenerateRandomBytes(Handle serviceHandle, void* buffer, u32 size);
+
510 
+
511 /**
+
512  * @brief Gets the last modified time of a file in an archive.
+
513  * @param archive The archive that contains the file.
+
514  * @param out The pointer to write the timestamp to.
+
515  * @param path The UTF-16 path of the file.
+
516  * @param size The size of the path.
+
517  */
+
518 Result FSPXI_GetFileLastModified(Handle serviceHandle, FSPXI_Archive archive, u64* out, const u16* path, u32 size);
+
519 
+
520 /**
+
521  * @brief Reads from a special file.
+
522  * @param bytesRead Pointer to output the number of bytes read to.
+
523  * @param fileOffset Offset of the file.
+
524  * @param size Size of the buffer.
+
525  * @param data Buffer to read to.
+
526  */
+
527 Result FSPXI_ReadSpecialFile(Handle serviceHandle, u32* bytesRead, u64 fileOffset, u32 size, void* data);
+
528 
+
529 /**
+
530  * @brief Gets the size of a special file.
+
531  * @param fileSize Pointer to output the size to.
+
532  */
+
533 Result FSPXI_GetSpecialFileSize(Handle serviceHandle, u64* fileSize);
+
534 
+
535 /**
+
536  * @brief Initiates a device move as the source device.
+
537  * @param context Pointer to output the context to.
+
538  */
+ +
540 
+
541 /**
+
542  * @brief Initiates a device move as the destination device.
+
543  * @param context Context to use.
+
544  * @param clear Whether to clear the device's data first.
+
545  */
+ +
547 
+
548 /**
+
549  * @brief Reads data and stores SHA256 hashes of blocks
+
550  * @param file File to read from.
+
551  * @param bytesRead Pointer to output the number of read bytes to.
+
552  * @param offset Offset to read from.
+
553  * @param readBuffer Pointer to store read data in.
+
554  * @param readBufferSize Size of readBuffer.
+
555  * @param hashtable Pointer to store SHA256 hashes in.
+
556  * @param hashtableSize Size of hashtable.
+
557  * @param unk Unknown. Always 0x00001000? Possibly block size?
+
558  */
+
559 Result FSPXI_ReadFileSHA256(Handle serviceHandle, FSPXI_File file, u32* bytesRead, u64 offset, void* readBuffer, u32 readBufferSize, void* hashtable, u32 hashtableSize, u32 unk);
+
560 
+
561 /**
+
562  * @brief Assumedly writes data and stores SHA256 hashes of blocks
+
563  * @param file File to write to.
+
564  * @param bytesWritten Pointer to output the number of written bytes to.
+
565  * @param offset Offset to write to.
+
566  * @param writeBuffer Buffer to write from.
+
567  * @param writeBufferSize Size of writeBuffer.
+
568  * @param hashtable Pointer to store SHA256 hashes in.
+
569  * @param hashtableSize Size of hashtable
+
570  * @param unk1 Unknown. Might match with ReadFileSHA256's unknown?
+
571  * @param unk2 Unknown. Might match with ReadFileSHA256's unknown?
+
572  */
+
573 Result FSPXI_WriteFileSHA256(Handle serviceHandle, FSPXI_File file, u32* bytesWritten, u64 offset, const void* writeBuffer, u32 writeBufferSize, void* hashtable, u32 hashtableSize, u32 unk1, u32 unk2);
+
574 
+
575 /**
+
576  * @brief Configures CTRCARD latency emulation.
+
577  * @param latency Latency to apply.
+
578  */
+ +
580 
+
581 /**
+
582  * @brief Sets the file system priority.
+
583  * @param priority Priority to set.
+
584  */
+
585 Result FSPXI_SetPriority(Handle serviceHandle, u32 priority);
+
586 
+
587 /**
+
588  * @brief Toggles cleaning up invalid save data.
+
589  * @param enable Whether to enable cleaning up invalid save data.
+
590  */
+ +
592 
+
593 /**
+
594  * @brief Enumerates system save data.
+
595  * @param idsWritten Pointer to output the number of IDs written to.
+
596  * @param idsSize Size of the IDs buffer.
+
597  * @param ids Pointer to output IDs to.
+
598  */
+
599 Result FSPXI_EnumerateSystemSaveData(Handle serviceHandle, u32* idsWritten, u32 idsSize, u32* ids);
+
600 
+
601 /**
+
602  * @brief Reads the NAND report.
+
603  * @param unk Unknown
+
604  * @param buffer Buffer to write the report to.
+
605  * @param size Size of buffer
+
606  */
+
607 Result FSPXI_ReadNandReport(Handle serviceHandle, void* buffer, u32 size, u32 unk);
+
608 
+
609 /**
+
610  * @brief Unknown command 0x56
+
611  * @remark Called by FSUSER_ControlArchive with ArchiveAction 0x789D
+
612  */
+
613 Result FSPXI_Unknown0x56(Handle serviceHandle, u32 out[4], FS_Archive archive, FS_Path path);
+
Filesystem Services.
+
FS_ArchiveID
Archive IDs.
Definition: fs.h:52
+
FS_MediaType
Media types.
Definition: fs.h:35
+
u64 FS_Archive
Filesystem archive handle, providing access to a filesystem's contents.
Definition: fs.h:247
+
FS_CardSpiBusMode
Card SPI bus mode.
Definition: fs.h:108
+
FS_CardType
Definition: fs.h:122
+
FS_SystemMediaType
System media types.
Definition: fs.h:43
+
FS_SpecialContentType
Card SPI bus mode.
Definition: fs.h:115
+
FS_CardSpiBaudRate
Card SPI baud rate.
Definition: fs.h:97
+
Result FSPXI_WriteFileSHA256(Handle serviceHandle, FSPXI_File file, u32 *bytesWritten, u64 offset, const void *writeBuffer, u32 writeBufferSize, void *hashtable, u32 hashtableSize, u32 unk1, u32 unk2)
Assumedly writes data and stores SHA256 hashes of blocks.
+
Result FSPXI_CalculateFileHashSHA256(Handle serviceHandle, FSPXI_File file, void *buffer, u32 size)
Calculate SHA256 of a file.
+
Result FSPXI_DeleteSdmcRoot(Handle serviceHandle)
Deletes the 3DS SDMC root.
+
Result FSPXI_InitializeCtrFilesystem(Handle serviceHandle)
Initializes the CTR file system.
+
Result FSPXI_GetNandSpeedInfo(Handle serviceHandle, FS_SdMmcSpeedInfo *out)
Gets the NAND speed info.
+
Result FSPXI_ClearSdmcLog(Handle serviceHandle)
Clears the SDMC log.
+
Result FSPXI_CardNorDirectRead_4xIO(Handle serviceHandle, u8 commandId, u32 address, u32 size, void *output)
Executes a CARDNOR 4xIO direct read.
+
Result FSPXI_IsSdmcWritable(Handle serviceHandle, bool *out)
Gets whether PXIFS0 can write to the SD.
+
Result FSPXI_DeleteFile(Handle serviceHandle, FSPXI_Archive archive, FS_Path path)
Deletes a file.
+
Result FSPXI_GetSdmcCtrRootPath(Handle serviceHandle, u16 *out, u32 length)
Gets the CTR SDMC root path.
+
Result FSPXI_GetLegacySubBannerData(Handle serviceHandle, u32 bannerSize, FS_MediaType mediaType, u64 programId, void *banner)
Gets the legacy sub banner data of a program.
+
Result FSPXI_OpenFile(Handle serviceHandle, FSPXI_File *out, FSPXI_Archive archive, FS_Path path, u32 flags, u32 attributes)
Opens a file.
+
Result FSPXI_HasDirectory(Handle serviceHandle, FSPXI_Archive archive, bool *out, FS_Path path)
Checks if the archive contains a directory at path.
+
Result FSPXI_ReadSpecialFile(Handle serviceHandle, u32 *bytesRead, u64 fileOffset, u32 size, void *data)
Reads from a special file.
+
Result FSPXI_SendInitializeInfoTo9(Handle serviceHandle, u8 unk)
Sends initialization info to ARM9.
+
Result FSPXI_CloseDirectory(Handle serviceHandle, FSPXI_Directory directory)
Close a directory.
+
Result FSPXI_CreateFile(Handle serviceHandle, FSPXI_Archive archive, FS_Path path, u32 attributes, u64 fileSize)
Creates a file.
+
Result FSPXI_EnumerateSystemSaveData(Handle serviceHandle, u32 *idsWritten, u32 idsSize, u32 *ids)
Enumerates system save data.
+
Result FSPXI_GetSdmcSpeedInfo(Handle serviceHandle, FS_SdMmcSpeedInfo *out)
Gets the SDMC speed info.
+
Result FSPXI_CardSlotIsInserted(Handle serviceHandle, bool *inserted)
Gets whether a card is inserted.
+
Result FSPXI_GetNandLog(Handle serviceHandle, void *out, u32 size)
Gets the NAND log.
+
Result FSPXI_GetArchiveResource(Handle serviceHandle, FS_ArchiveResource *archiveResource, FS_SystemMediaType mediaType)
Gets an archive's resource information.
+
Result FSPXI_ReadDirectory(Handle serviceHandle, FSPXI_Directory directory, u32 *entriesRead, u32 entryCount, FS_DirectoryEntry *entries)
Reads one or more directory entries.
+
Result FSPXI_GetLegacyBannerData(Handle serviceHandle, FS_MediaType mediaType, u64 programId, void *banner, u8 unk)
Gets the legacy banner data of a program.
+
Result FSPXI_GetNandArchiveResource(Handle serviceHandle, FS_ArchiveResource *out)
Gets the NAND archive resource information.
+
Result FSPXI_GetSpecialFileSize(Handle serviceHandle, u64 *fileSize)
Gets the size of a special file.
+
Result FSPXI_CardNorDirectWriteWithAddress(Handle serviceHandle, u8 commandId, u32 address, u32 size, const void *input)
Executes a CARDNOR direct write with an address.
+
Result FSPXI_CloseArchive(Handle serviceHandle, FSPXI_Archive archive)
Close an archive.
+
Result FSPXI_FormatCardNorDevice(Handle serviceHandle, u32 unk)
Formats the CARDNOR device.
+
Result FSPXI_ClearNandLog(Handle serviceHandle)
Clears the NAND log.
+
Result FSPXI_DeleteDirectory(Handle serviceHandle, FSPXI_Archive archive, FS_Path path)
Deletes a directory.
+
Result FSPXI_CardSlotPowerOff(Handle serviceHandle, bool *status)
Powers off the card slot.
+
Result FSPXI_GetNandCid(Handle serviceHandle, void *out, u32 size)
Gets the NAND CID.
+
Result FSPXI_SetCtrCardLatencyParameter(Handle serviceHandle, u64 latency)
Configures CTRCARD latency emulation.
+
Result FSPXI_RenameDirectory(Handle serviceHandle, FSPXI_Archive srcArchive, FS_Path srcPath, FSPXI_Archive dstArchive, FS_Path dstPath)
Renames a directory.
+
Result FSPXI_CloseFile(Handle serviceHandle, FSPXI_File file)
Close a file.
+
Result FSPXI_DeleteExtSaveData(Handle serviceHandle, FS_ExtSaveDataInfo info)
Deletes ext save data.
+
Result FSPXI_SetPriority(Handle serviceHandle, u32 priority)
Sets the file system priority.
+
Result FSPXI_GetCardType(Handle serviceHandle, FS_CardType *out)
Gets the inserted card type.
+
Result FSPXI_ExportIntegrityVerificationSeed(Handle serviceHandle, FS_IntegrityVerificationSeed *seed)
Exports the integrity verification seed.
+
Result FSPXI_CreateExtSaveData(Handle serviceHandle, FS_ExtSaveDataInfo info)
Creates ext save data.
+
Result FSPXI_GetSdmcFatFsError(Handle serviceHandle, u32 *out)
Gets the error code from the SDMC FatFS driver.
+
Result FSPXI_CreateSeed(Handle serviceHandle)
Creates the FS seed.
+
Result FSPXI_SetFileSize(Handle serviceHandle, FSPXI_File file, u64 size)
Set size of a file.
+
Result FSPXI_CreateDirectory(Handle serviceHandle, FSPXI_Archive archive, FS_Path path, u32 attributes)
Creates a directory.
+
Result FSPXI_WriteFile(Handle serviceHandle, FSPXI_File file, u32 *bytesWritten, u64 offset, const void *buffer, u32 size, u32 flags)
Writes to a file.
+
Result FSPXI_OpenDirectory(Handle serviceHandle, FSPXI_Directory *out, FSPXI_Archive archive, FS_Path path)
Opens a directory.
+
Result FSPXI_ReadFile(Handle serviceHandle, FSPXI_File file, u32 *bytesRead, u64 offset, void *buffer, u32 size)
Reads from a file.
+
Result FSPXI_CardNorDirectSectorEraseWithoutVerify(Handle serviceHandle, u32 address)
Executes a CARDNOR direct sector erase without verify.
+
Result FSPXI_GetSdmcArchiveResource(Handle serviceHandle, FS_ArchiveResource *out)
Gets the SDMC archive resource information.
+
Result FSPXI_GetSpecialContentIndex(Handle serviceHandle, u16 *index, FS_MediaType mediaType, u64 programId, FS_SpecialContentType type)
Gets a special content's index.
+
Result FSPXI_CalcSavegameMAC(Handle serviceHandle, FSPXI_File file, const void *inBuffer, u32 inSize, void *outBuffer, u32 outSize)
Calculates the MAC used in a DISA/DIFF header?
+
Result FSPXI_CardNorDirectCommand(Handle serviceHandle, u8 commandId)
Executes a CARDNOR direct command.
+
Result FSPXI_OpenArchive(Handle serviceHandle, FSPXI_Archive *archive, FS_ArchiveID archiveID, FS_Path path)
Opens an archive.
+
Result FSPXI_IsSdmcDetected(Handle serviceHandle, bool *out)
Gets whether PXIFS0 detects the SD.
+
Result FSPXI_GetSdmcLog(Handle serviceHandle, void *out, u32 size)
Gets the SDMC log.
+
Result FSPXI_CardNorDirectReadWithAddress(Handle serviceHandle, u8 commandId, u32 address, u32 size, void *output)
Executes a CARDNOR direct read with an address.
+
Result FSPXI_StartDeviceMoveAsSource(Handle serviceHandle, FS_DeviceMoveContext *context)
Initiates a device move as the source device.
+
Result FSPXI_CardSlotPowerOn(Handle serviceHandle, bool *status)
Powers on the card slot.
+
Result FSPXI_GetProductInfo(Handle serviceHandle, FS_ProductInfo *info, FSPXI_Archive archive)
Gets an NCCH's product info.
+
Result FSPXI_GetFileSize(Handle serviceHandle, FSPXI_File file, u64 *size)
Get size of a file.
+
Result FSPXI_CommitSaveData(Handle serviceHandle, FSPXI_Archive archive, u32 id)
Commits an archive's save data.
+
Result FSPXI_ReadNandReport(Handle serviceHandle, void *buffer, u32 size, u32 unk)
Reads the NAND report.
+
Result FSPXI_Unknown0x17(Handle serviceHandle, FSPXI_Archive archive, bool *out)
Unknown 0x17.
+
Result FSPXI_CardNorDirectWrite(Handle serviceHandle, u8 commandId, u32 size, const void *input)
Executes a CARDNOR direct write.
+
Result FSPXI_SetCardSpiBaudrate(Handle serviceHandle, FS_CardSpiBaudRate baudRate)
Sets the CARDSPI baud rate.
+
Result FSPXI_ReadFileSHA256(Handle serviceHandle, FSPXI_File file, u32 *bytesRead, u64 offset, void *readBuffer, u32 readBufferSize, void *hashtable, u32 hashtableSize, u32 unk)
Reads data and stores SHA256 hashes of blocks.
+
Result FSPXI_CardNorDirectRead(Handle serviceHandle, u8 commandId, u32 size, void *output)
Executes a CARDNOR direct read.
+
Result FSPXI_SetCardSpiBusMode(Handle serviceHandle, FS_CardSpiBusMode busMode)
Sets the CARDSPI bus mode.
+
Result FSPXI_RenameFile(Handle serviceHandle, FSPXI_Archive srcArchive, FS_Path srcPath, FSPXI_Archive dstArchive, FS_Path dstPath)
Renames a file.
+
Result FSPXI_EnumerateExtSaveData(Handle serviceHandle, u32 *idsWritten, u32 idsSize, FS_MediaType mediaType, u32 idSize, bool shared, u8 *ids)
Enumerates ext save data.
+
Result FSPXI_GetFileLastModified(Handle serviceHandle, FSPXI_Archive archive, u64 *out, const u16 *path, u32 size)
Gets the last modified time of a file in an archive.
+
Result FSPXI_CardSlotGetCardIFPowerStatus(Handle serviceHandle, bool *status)
Gets the card's power status.
+
Result FSPXI_GenerateRandomBytes(Handle serviceHandle, void *buffer, u32 size)
Generates random bytes.
+
Result FSPXI_CardNorDirectCpuWriteWithoutVerify(Handle serviceHandle, u32 address, u32 size, const void *input)
Executes a CARDNOR direct CPU write without verify.
+
Result FSPXI_CardNorDirectCommandWithAddress(Handle serviceHandle, u8 commandId, u32 address)
Executes a CARDNOR direct command with an address.
+
Result FSPXI_GetSdmcCid(Handle serviceHandle, void *out, u32 size)
Gets the SDMC CID.
+
Result FSPXI_HasFile(Handle serviceHandle, FSPXI_Archive archive, bool *out, FS_Path path)
Checks if the archive contains a file at path.
+
Result FSPXI_StartDeviceMoveAsDestination(Handle serviceHandle, FS_DeviceMoveContext context, bool clear)
Initiates a device move as the destination device.
+
Result FSPXI_DeleteAllExtSaveDataOnNand(Handle serviceHandle)
Deletes all ext save data on the NAND.
+
Result FSPXI_ImportIntegrityVerificationSeed(Handle serviceHandle, const FS_IntegrityVerificationSeed *seed)
Imports an integrity verification seed.
+
Result FSPXI_Unknown0x56(Handle serviceHandle, u32 out[4], FS_Archive archive, FS_Path path)
Unknown command 0x56.
+
Result FSPXI_SwitchCleanupInvalidSaveData(Handle serviceHandle, bool enable)
Toggles cleaning up invalid save data.
+
Result FSPXI_GetLegacyRomHeader(Handle serviceHandle, FS_MediaType mediaType, u64 programId, void *header)
Gets the legacy ROM header of a program.
+
Archive resource information.
Definition: fs.h:174
+
Device move context.
Definition: fs.h:225
+
Directory entry.
Definition: fs.h:162
+
Ext save data information.
Definition: fs.h:206
+
Integrity verification seed.
Definition: fs.h:199
+
Filesystem path data, detailing the specific target of an operation.
Definition: fs.h:232
+
Product information.
Definition: fs.h:191
+
SDMC/NAND speed information.
Definition: fs.h:240
+
Various system types.
+
uint64_t u64
64-bit unsigned integer
Definition: types.h:24
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/fsreg_8h_source.html b/fsreg_8h_source.html new file mode 100644 index 000000000..cf9f724e2 --- /dev/null +++ b/fsreg_8h_source.html @@ -0,0 +1,151 @@ + + + + + + + +libctru: include/3ds/services/fsreg.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
fsreg.h
+
+
+
1 /**
+
2  * @file fsReg.h
+
3  * @brief Filesystem registry service
+
4  */
+
5 
+
6 #pragma once
+
7 
+
8 #include <3ds/exheader.h>
+
9 #include <3ds/services/fs.h>
+
10 
+
11 /// Initializes fs:REG.
+
12 Result fsRegInit(void);
+
13 
+
14 /// Exits fs:REG.
+
15 void fsRegExit(void);
+
16 
+
17 /**
+
18  * @brief Gets the current fs:REG session handle.
+
19  * @return The current fs:REG session handle.
+
20  */
+
21 Handle *fsRegGetSessionHandle(void);
+
22 
+
23 /**
+
24  * @brief Registers a program's storage information.
+
25  * @param pid The Process ID of the program.
+
26  * @param programHandle The program handle.
+
27  * @param programInfo Information about the program.
+
28  * @param storageInfo Storage information to register.
+
29  */
+
30 Result FSREG_Register(u32 pid, u64 programHandle, const FS_ProgramInfo *programInfo, const ExHeader_Arm11StorageInfo *storageInfo);
+
31 
+
32 /**
+
33  * @brief Unregisters a program's storage information.
+
34  * @param pid The Process ID of the program.
+
35  */
+
36 Result FSREG_Unregister(u32 pid);
+
37 
+
38 /**
+
39  * @brief Retrives the exheader information set(s) (SCI+ACI) about a program.
+
40  * @param exheaderInfos[out] Pointer to the output exheader information set(s).
+
41  * @param maxNumEntries The maximum number of entries.
+
42  * @param programHandle The program handle.
+
43  */
+
44 Result FSREG_GetProgramInfo(ExHeader_Info *exheaderInfos, u32 maxNumEntries, u64 programHandle);
+
45 
+
46 /**
+
47  * @brief Loads a program.
+
48  * @param programHandle[out] Pointer to the output the program handle to.
+
49  * @param programInfo Information about the program to load.
+
50  */
+
51 Result FSREG_LoadProgram(u64 *programHandle, const FS_ProgramInfo *programInfo);
+
52 
+
53 /**
+
54  * @brief Unloads a program.
+
55  * @param programHandle The program handle.
+
56  */
+
57 Result FSREG_UnloadProgram(u64 programHandle);
+
58 
+
59 /**
+
60  * @brief Checks if a program has been loaded by fs:REG.
+
61  * @param programHandle The program handle.
+
62  */
+
63 Result FSREG_CheckHostLoadId(u64 programHandle);
+
NCCH extended header definitions.
+
Filesystem Services.
+
The ARM11 filesystem info of a title.
Definition: exheader.h:120
+
Main extended header data, as returned by PXIPM, Loader and FSREG service commands.
Definition: exheader.h:181
+
Program information.
Definition: fs.h:183
+
uint64_t u64
64-bit unsigned integer
Definition: types.h:24
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/functions.html b/functions.html new file mode 100644 index 000000000..69543dd08 --- /dev/null +++ b/functions.html @@ -0,0 +1,86 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- _ -

+
+ + + + diff --git a/functions_a.html b/functions_a.html new file mode 100644 index 000000000..b39082c53 --- /dev/null +++ b/functions_a.html @@ -0,0 +1,224 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- a -

+
+ + + + diff --git a/functions_b.html b/functions_b.html new file mode 100644 index 000000000..e77c69a43 --- /dev/null +++ b/functions_b.html @@ -0,0 +1,120 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- b -

+
+ + + + diff --git a/functions_c.html b/functions_c.html new file mode 100644 index 000000000..3b859824f --- /dev/null +++ b/functions_c.html @@ -0,0 +1,243 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- c -

+
+ + + + diff --git a/functions_d.html b/functions_d.html new file mode 100644 index 000000000..fef2cc3b8 --- /dev/null +++ b/functions_d.html @@ -0,0 +1,172 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- d -

+
+ + + + diff --git a/functions_e.html b/functions_e.html new file mode 100644 index 000000000..be91d6d36 --- /dev/null +++ b/functions_e.html @@ -0,0 +1,157 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- e -

+
+ + + + diff --git a/functions_f.html b/functions_f.html new file mode 100644 index 000000000..4533e70b5 --- /dev/null +++ b/functions_f.html @@ -0,0 +1,207 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- f -

+
+ + + + diff --git a/functions_g.html b/functions_g.html new file mode 100644 index 000000000..4df18d0ca --- /dev/null +++ b/functions_g.html @@ -0,0 +1,129 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- g -

+
+ + + + diff --git a/functions_h.html b/functions_h.html new file mode 100644 index 000000000..0baba1115 --- /dev/null +++ b/functions_h.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- h -

+
+ + + + diff --git a/functions_i.html b/functions_i.html new file mode 100644 index 000000000..fd1e47849 --- /dev/null +++ b/functions_i.html @@ -0,0 +1,146 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- i -

+
+ + + + diff --git a/functions_j.html b/functions_j.html new file mode 100644 index 000000000..97b498d20 --- /dev/null +++ b/functions_j.html @@ -0,0 +1,78 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- j -

+
+ + + + diff --git a/functions_k.html b/functions_k.html new file mode 100644 index 000000000..5946aaa80 --- /dev/null +++ b/functions_k.html @@ -0,0 +1,87 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- k -

+
+ + + + diff --git a/functions_l.html b/functions_l.html new file mode 100644 index 000000000..43f9e34c4 --- /dev/null +++ b/functions_l.html @@ -0,0 +1,110 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- l -

+
+ + + + diff --git a/functions_m.html b/functions_m.html new file mode 100644 index 000000000..f3320af0b --- /dev/null +++ b/functions_m.html @@ -0,0 +1,164 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- m -

+
+ + + + diff --git a/functions_n.html b/functions_n.html new file mode 100644 index 000000000..72dc48311 --- /dev/null +++ b/functions_n.html @@ -0,0 +1,158 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- n -

+
+ + + + diff --git a/functions_o.html b/functions_o.html new file mode 100644 index 000000000..d87976e24 --- /dev/null +++ b/functions_o.html @@ -0,0 +1,138 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- o -

+
+ + + + diff --git a/functions_p.html b/functions_p.html new file mode 100644 index 000000000..83c1e2c55 --- /dev/null +++ b/functions_p.html @@ -0,0 +1,187 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- p -

+
+ + + + diff --git a/functions_r.html b/functions_r.html new file mode 100644 index 000000000..234eaf9d8 --- /dev/null +++ b/functions_r.html @@ -0,0 +1,193 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- r -

+
+ + + + diff --git a/functions_s.html b/functions_s.html new file mode 100644 index 000000000..bb07bf95e --- /dev/null +++ b/functions_s.html @@ -0,0 +1,260 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- s -

+
+ + + + diff --git a/functions_t.html b/functions_t.html new file mode 100644 index 000000000..be933f12a --- /dev/null +++ b/functions_t.html @@ -0,0 +1,169 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- t -

+
+ + + + diff --git a/functions_u.html b/functions_u.html new file mode 100644 index 000000000..5c7c5a167 --- /dev/null +++ b/functions_u.html @@ -0,0 +1,143 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- u -

+
+ + + + diff --git a/functions_v.html b/functions_v.html new file mode 100644 index 000000000..eaa3f9737 --- /dev/null +++ b/functions_v.html @@ -0,0 +1,101 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- v -

+
+ + + + diff --git a/functions_vars.html b/functions_vars.html new file mode 100644 index 000000000..3d16a94e0 --- /dev/null +++ b/functions_vars.html @@ -0,0 +1,86 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- _ -

+
+ + + + diff --git a/functions_vars_a.html b/functions_vars_a.html new file mode 100644 index 000000000..cd1b40b47 --- /dev/null +++ b/functions_vars_a.html @@ -0,0 +1,224 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+
+ + + + diff --git a/functions_vars_b.html b/functions_vars_b.html new file mode 100644 index 000000000..18adb6035 --- /dev/null +++ b/functions_vars_b.html @@ -0,0 +1,120 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

+
+ + + + diff --git a/functions_vars_c.html b/functions_vars_c.html new file mode 100644 index 000000000..b59ba0c2b --- /dev/null +++ b/functions_vars_c.html @@ -0,0 +1,243 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- c -

+
+ + + + diff --git a/functions_vars_d.html b/functions_vars_d.html new file mode 100644 index 000000000..b740a9404 --- /dev/null +++ b/functions_vars_d.html @@ -0,0 +1,172 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- d -

+
+ + + + diff --git a/functions_vars_e.html b/functions_vars_e.html new file mode 100644 index 000000000..ad12b6466 --- /dev/null +++ b/functions_vars_e.html @@ -0,0 +1,157 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- e -

+
+ + + + diff --git a/functions_vars_f.html b/functions_vars_f.html new file mode 100644 index 000000000..2c4060f04 --- /dev/null +++ b/functions_vars_f.html @@ -0,0 +1,207 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- f -

+
+ + + + diff --git a/functions_vars_g.html b/functions_vars_g.html new file mode 100644 index 000000000..700cb0b0e --- /dev/null +++ b/functions_vars_g.html @@ -0,0 +1,129 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- g -

+
+ + + + diff --git a/functions_vars_h.html b/functions_vars_h.html new file mode 100644 index 000000000..ad79d0a08 --- /dev/null +++ b/functions_vars_h.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- h -

+
+ + + + diff --git a/functions_vars_i.html b/functions_vars_i.html new file mode 100644 index 000000000..31c2176ba --- /dev/null +++ b/functions_vars_i.html @@ -0,0 +1,146 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- i -

+
+ + + + diff --git a/functions_vars_j.html b/functions_vars_j.html new file mode 100644 index 000000000..3b36216a7 --- /dev/null +++ b/functions_vars_j.html @@ -0,0 +1,78 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- j -

+
+ + + + diff --git a/functions_vars_k.html b/functions_vars_k.html new file mode 100644 index 000000000..e29d672b1 --- /dev/null +++ b/functions_vars_k.html @@ -0,0 +1,87 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ + + + + + diff --git a/functions_vars_l.html b/functions_vars_l.html new file mode 100644 index 000000000..e761ea7ce --- /dev/null +++ b/functions_vars_l.html @@ -0,0 +1,110 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- l -

+
+ + + + diff --git a/functions_vars_m.html b/functions_vars_m.html new file mode 100644 index 000000000..d74056230 --- /dev/null +++ b/functions_vars_m.html @@ -0,0 +1,164 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- m -

+
+ + + + diff --git a/functions_vars_n.html b/functions_vars_n.html new file mode 100644 index 000000000..2baa27d4d --- /dev/null +++ b/functions_vars_n.html @@ -0,0 +1,158 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- n -

+
+ + + + diff --git a/functions_vars_o.html b/functions_vars_o.html new file mode 100644 index 000000000..52e3f847e --- /dev/null +++ b/functions_vars_o.html @@ -0,0 +1,138 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- o -

+
+ + + + diff --git a/functions_vars_p.html b/functions_vars_p.html new file mode 100644 index 000000000..e0d8d9ed1 --- /dev/null +++ b/functions_vars_p.html @@ -0,0 +1,187 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- p -

+
+ + + + diff --git a/functions_vars_r.html b/functions_vars_r.html new file mode 100644 index 000000000..4c3ebd0e5 --- /dev/null +++ b/functions_vars_r.html @@ -0,0 +1,193 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- r -

+
+ + + + diff --git a/functions_vars_s.html b/functions_vars_s.html new file mode 100644 index 000000000..2bfc4bd7a --- /dev/null +++ b/functions_vars_s.html @@ -0,0 +1,260 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- s -

+
+ + + + diff --git a/functions_vars_t.html b/functions_vars_t.html new file mode 100644 index 000000000..f8a4f8d48 --- /dev/null +++ b/functions_vars_t.html @@ -0,0 +1,169 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- t -

+
+ + + + diff --git a/functions_vars_u.html b/functions_vars_u.html new file mode 100644 index 000000000..f2f07ed68 --- /dev/null +++ b/functions_vars_u.html @@ -0,0 +1,143 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- u -

+
+ + + + diff --git a/functions_vars_v.html b/functions_vars_v.html new file mode 100644 index 000000000..4cacffc45 --- /dev/null +++ b/functions_vars_v.html @@ -0,0 +1,101 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- v -

+
+ + + + diff --git a/functions_vars_w.html b/functions_vars_w.html new file mode 100644 index 000000000..8e353ea33 --- /dev/null +++ b/functions_vars_w.html @@ -0,0 +1,153 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- w -

+
+ + + + diff --git a/functions_vars_x.html b/functions_vars_x.html new file mode 100644 index 000000000..0a5782e9b --- /dev/null +++ b/functions_vars_x.html @@ -0,0 +1,86 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- x -

+
+ + + + diff --git a/functions_vars_y.html b/functions_vars_y.html new file mode 100644 index 000000000..9c41b948f --- /dev/null +++ b/functions_vars_y.html @@ -0,0 +1,80 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- y -

+
+ + + + diff --git a/functions_vars_z.html b/functions_vars_z.html new file mode 100644 index 000000000..bf341b6ed --- /dev/null +++ b/functions_vars_z.html @@ -0,0 +1,82 @@ + + + + + + + +libctru: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- z -

+
+ + + + diff --git a/functions_w.html b/functions_w.html new file mode 100644 index 000000000..511edf069 --- /dev/null +++ b/functions_w.html @@ -0,0 +1,153 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- w -

+
+ + + + diff --git a/functions_x.html b/functions_x.html new file mode 100644 index 000000000..95b482a7e --- /dev/null +++ b/functions_x.html @@ -0,0 +1,86 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- x -

+
+ + + + diff --git a/functions_y.html b/functions_y.html new file mode 100644 index 000000000..e39421bc4 --- /dev/null +++ b/functions_y.html @@ -0,0 +1,80 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- y -

+
+ + + + diff --git a/functions_z.html b/functions_z.html new file mode 100644 index 000000000..c48cf970d --- /dev/null +++ b/functions_z.html @@ -0,0 +1,82 @@ + + + + + + + +libctru: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- z -

+
+ + + + diff --git a/gdbhio_8h.html b/gdbhio_8h.html new file mode 100644 index 000000000..3408f952a --- /dev/null +++ b/gdbhio_8h.html @@ -0,0 +1,145 @@ + + + + + + + +libctru: include/3ds/gdbhio.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
gdbhio.h File Reference
+
+
+ +

Luma3DS GDB HIO (called File I/O in GDB documentation) functions. +More...

+
#include <fcntl.h>
+#include <sys/time.h>
+#include <sys/stat.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Macros

+#define GDBHIO_STDIN_FILENO   0
 
+#define GDBHIO_STDOUT_FILENO   1
 
+#define GDBHIO_STDERR_FILENO   2
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+int gdbHioOpen (const char *pathname, int flags, mode_t mode)
 
+int gdbHioClose (int fd)
 
+int gdbHioRead (int fd, void *buf, unsigned int count)
 
+int gdbHioWrite (int fd, const void *buf, unsigned int count)
 
+off_t gdbHioLseek (int fd, off_t offset, int flag)
 
+int gdbHioRename (const char *oldpath, const char *newpath)
 
+int gdbHioUnlink (const char *pathname)
 
+int gdbHioStat (const char *pathname, struct stat *st)
 
+int gdbHioFstat (int fd, struct stat *st)
 
+int gdbHioGettimeofday (struct timeval *tv, void *tz)
 
+int gdbHioIsatty (int fd)
 Host I/O 'system' function, requires 'set remote system-call-allowed 1'.
 
+int gdbHioSystem (const char *command)
 
+

Detailed Description

+

Luma3DS GDB HIO (called File I/O in GDB documentation) functions.

+
+ + + + diff --git a/gdbhio_8h_source.html b/gdbhio_8h_source.html new file mode 100644 index 000000000..d025eeca7 --- /dev/null +++ b/gdbhio_8h_source.html @@ -0,0 +1,109 @@ + + + + + + + +libctru: include/3ds/gdbhio.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
gdbhio.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file gdbhio.h
+
3  * @brief Luma3DS GDB HIO (called File I/O in GDB documentation) functions.
+
4  */
+
5 
+
6 #pragma once
+
7 
+
8 #include <fcntl.h>
+
9 #include <sys/time.h>
+
10 #include <sys/stat.h>
+
11 
+
12 #define GDBHIO_STDIN_FILENO 0
+
13 #define GDBHIO_STDOUT_FILENO 1
+
14 #define GDBHIO_STDERR_FILENO 2
+
15 
+
16 int gdbHioOpen(const char *pathname, int flags, mode_t mode);
+
17 int gdbHioClose(int fd);
+
18 int gdbHioRead(int fd, void *buf, unsigned int count);
+
19 int gdbHioWrite(int fd, const void *buf, unsigned int count);
+
20 off_t gdbHioLseek(int fd, off_t offset, int flag);
+
21 int gdbHioRename(const char *oldpath, const char *newpath);
+
22 int gdbHioUnlink(const char *pathname);
+
23 int gdbHioStat(const char *pathname, struct stat *st);
+
24 int gdbHioFstat(int fd, struct stat *st);
+
25 int gdbHioGettimeofday(struct timeval *tv, void *tz);
+
26 int gdbHioIsatty(int fd);
+
27 
+
28 ///< Host I/O 'system' function, requires 'set remote system-call-allowed 1'.
+
29 int gdbHioSystem(const char *command);
+
int gdbHioIsatty(int fd)
Host I/O 'system' function, requires 'set remote system-call-allowed 1'.
+
+ + + + diff --git a/gdbhio__dev_8h.html b/gdbhio__dev_8h.html new file mode 100644 index 000000000..afbb47e77 --- /dev/null +++ b/gdbhio__dev_8h.html @@ -0,0 +1,149 @@ + + + + + + + +libctru: include/3ds/gdbhio_dev.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
gdbhio_dev.h File Reference
+
+
+ +

Luma3DS GDB HIO (called File I/O in GDB documentation) devoptab wrapper. +More...

+
#include <stdbool.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

int gdbHioDevInit (void)
 Initializes the GDB HIO devoptab wrapper, returns 0 on success, -1 on failure. More...
 
+void gdbHioDevExit (void)
 Returns a file descriptor mapping to the GDB client console's standard input stream.
 
+int gdbHioDevGetStdin (void)
 Returns a file descriptor mapping to the GDB client console's standard output stream.
 
+int gdbHioDevGetStdout (void)
 Returns a file descriptor mapping to the GDB client console's standard error stream.
 
+int gdbHioDevGetStderr (void)
 Redirects 0 to 3 of the application's standard streams to GDB client console's. Returns -1, -2, or -3, resp., on failure; 0 on success.
 
+int gdbHioDevRedirectStdStreams (bool in, bool out, bool err)
 GDB HIO POSIX function gettimeofday.
 
+int gdbHioDevGettimeofday (struct timeval *tv, void *tz)
 GDB HIO POSIX function isatty.
 
+int gdbHioDevIsatty (int fd)
 GDB HIO POSIX function system. Requires 'set remote system-call-allowed 1'.
 
+int gdbHioDevSystem (const char *command)
 
+

Detailed Description

+

Luma3DS GDB HIO (called File I/O in GDB documentation) devoptab wrapper.

+

Function Documentation

+ +

◆ gdbHioDevInit()

+ +
+
+ + + + + + + + +
int gdbHioDevInit (void )
+
+ +

Initializes the GDB HIO devoptab wrapper, returns 0 on success, -1 on failure.

+

Deinitializes the GDB HIO devoptab wrapper.

+ +
+
+
+ + + + diff --git a/gdbhio__dev_8h_source.html b/gdbhio__dev_8h_source.html new file mode 100644 index 000000000..796d4352e --- /dev/null +++ b/gdbhio__dev_8h_source.html @@ -0,0 +1,124 @@ + + + + + + + +libctru: include/3ds/gdbhio_dev.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
gdbhio_dev.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file gdbhio_dev.h
+
3  * @brief Luma3DS GDB HIO (called File I/O in GDB documentation) devoptab wrapper.
+
4  */
+
5 
+
6 #pragma once
+
7 
+
8 #include <stdbool.h>
+
9 
+
10 struct timeval;
+
11 
+
12 ///< Initializes the GDB HIO devoptab wrapper, returns 0 on success, -1 on failure.
+
13 int gdbHioDevInit(void);
+
14 
+
15 ///< Deinitializes the GDB HIO devoptab wrapper.
+
16 void gdbHioDevExit(void);
+
17 
+
18 ///< Returns a file descriptor mapping to the GDB client console's standard input stream.
+ +
20 
+
21 ///< Returns a file descriptor mapping to the GDB client console's standard output stream.
+ +
23 
+
24 ///< Returns a file descriptor mapping to the GDB client console's standard error stream.
+ +
26 
+
27 ///< Redirects 0 to 3 of the application's standard streams to GDB client console's. Returns -1, -2, or -3, resp., on failure; 0 on success.
+
28 int gdbHioDevRedirectStdStreams(bool in, bool out, bool err);
+
29 
+
30 ///< GDB HIO POSIX function gettimeofday.
+
31 int gdbHioDevGettimeofday(struct timeval *tv, void *tz);
+
32 
+
33 ///< GDB HIO POSIX function isatty.
+
34 int gdbHioDevIsatty(int fd);
+
35 
+
36 ///< GDB HIO POSIX function system. Requires 'set remote system-call-allowed 1'.
+
37 int gdbHioDevSystem(const char *command);
+
int gdbHioDevGetStderr(void)
Redirects 0 to 3 of the application's standard streams to GDB client console's. Returns -1,...
+
int gdbHioDevGettimeofday(struct timeval *tv, void *tz)
GDB HIO POSIX function isatty.
+
void gdbHioDevExit(void)
Returns a file descriptor mapping to the GDB client console's standard input stream.
+
int gdbHioDevGetStdout(void)
Returns a file descriptor mapping to the GDB client console's standard error stream.
+
int gdbHioDevIsatty(int fd)
GDB HIO POSIX function system. Requires 'set remote system-call-allowed 1'.
+
int gdbHioDevInit(void)
Initializes the GDB HIO devoptab wrapper, returns 0 on success, -1 on failure.
+
int gdbHioDevGetStdin(void)
Returns a file descriptor mapping to the GDB client console's standard output stream.
+
int gdbHioDevRedirectStdStreams(bool in, bool out, bool err)
GDB HIO POSIX function gettimeofday.
+
+ + + + diff --git a/get_system_language_2source_2main_8c-example.html b/get_system_language_2source_2main_8c-example.html new file mode 100644 index 000000000..641472b99 --- /dev/null +++ b/get_system_language_2source_2main_8c-example.html @@ -0,0 +1,139 @@ + + + + + + + +libctru: get_system_language/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
get_system_language/source/main.c
+
+
+
#include <stdio.h>
+
#include <string.h>
+
#include <3ds.h>
+
+
+
int main(int argc, char** argv)
+
{
+
// Initialize services
+ + +
+
+
u8 language = 0;
+
Result res;
+
+
// Init console for text output
+ +
+
// Read the language field from the config savegame.
+
res = CFGU_GetSystemLanguage(&language);
+
+
// Print return value and language code
+
printf(" Result: 0x%x\n", (int)res);
+
printf("Language code: %d", (int)language);
+
+
+
// Main loop
+
while (aptMainLoop())
+
{
+ +
+
u32 kDown = hidKeysDown();
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
// Flush and swap framebuffers
+ + + +
}
+
+
// Exit services
+ + +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
Result CFGU_GetSystemLanguage(u8 *language)
Gets the system's language.
+
Result cfguInit(void)
Initializes CFGU.
+
void cfguExit(void)
Exits CFGU.
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
void gfxSwapBuffers(void)
Updates the configuration of both screens.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_BOTTOM
Bottom screen.
Definition: gfx.h:27
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
void gfxFlushBuffers(void)
Flushes the data cache for the current framebuffers.
+
#define gspWaitForVBlank()
Waits for VBlank.
Definition: gspgpu.h:151
+
@ KEY_START
Start.
Definition: hid.h:15
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
s32 Result
Function result.
Definition: types.h:42
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/gfx_8h.html b/gfx_8h.html new file mode 100644 index 000000000..8611d2f33 --- /dev/null +++ b/gfx_8h.html @@ -0,0 +1,714 @@ + + + + + + + +libctru: include/3ds/gfx.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
gfx.h File Reference
+
+
+ +

Simple framebuffer API. +More...

+
#include <3ds/types.h>
+#include <3ds/services/gspgpu.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Macros

+#define RGB565(r, g, b)   (((b)&0x1f)|(((g)&0x3f)<<5)|(((r)&0x1f)<<11))
 Converts red, green, and blue components to packed RGB565.
 
+#define RGB8_to_565(r, g, b)   (((b)>>3)&0x1f)|((((g)>>2)&0x3f)<<5)|((((r)>>3)&0x1f)<<11)
 Converts packed RGB8 to packed RGB565.
 
+ + + + + + + +

+Enumerations

enum  gfxScreen_t {
+  GFX_TOP = GSP_SCREEN_TOP +,
+  GFX_BOTTOM = GSP_SCREEN_BOTTOM +
+ }
 Screen IDs. More...
 
enum  gfx3dSide_t {
+  GFX_LEFT = 0 +,
+  GFX_RIGHT = 1 +
+ }
 Top screen framebuffer side. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

Initialization and deinitialization
void gfxInitDefault (void)
 Initializes the LCD framebuffers with default parameters This is equivalent to calling: More...
 
void gfxInit (GSPGPU_FramebufferFormat topFormat, GSPGPU_FramebufferFormat bottomFormat, bool vrambuffers)
 Initializes the LCD framebuffers. More...
 
void gfxExit (void)
 Deinitializes and frees the LCD framebuffers. More...
 
Control
void gfxSet3D (bool enable)
 Enables or disables the 3D stereoscopic effect on the top screen. More...
 
bool gfxIs3D (void)
 Retrieves the status of the 3D stereoscopic effect on the top screen. More...
 
bool gfxIsWide (void)
 Retrieves the status of the 800px (double-height) high resolution display mode of the top screen. More...
 
void gfxSetWide (bool enable)
 Enables or disables the 800px (double-height) high resolution display mode of the top screen. More...
 
void gfxSetScreenFormat (gfxScreen_t screen, GSPGPU_FramebufferFormat format)
 Changes the pixel format of a screen. More...
 
GSPGPU_FramebufferFormat gfxGetScreenFormat (gfxScreen_t screen)
 Retrieves the current pixel format of a screen. More...
 
void gfxSetDoubleBuffering (gfxScreen_t screen, bool enable)
 Enables or disables double buffering on a screen. More...
 
Rendering and presentation
u8gfxGetFramebuffer (gfxScreen_t screen, gfx3dSide_t side, u16 *width, u16 *height)
 Retrieves the framebuffer of the specified screen to which graphics should be rendered. More...
 
void gfxFlushBuffers (void)
 Flushes the data cache for the current framebuffers. More...
 
void gfxScreenSwapBuffers (gfxScreen_t scr, bool hasStereo)
 Updates the configuration of the specified screen, swapping the buffers if double buffering is enabled. More...
 
CTR_DEPRECATED void gfxConfigScreen (gfxScreen_t scr, bool immediate)
 Same as gfxScreenSwapBuffers, but with hasStereo set to true. More...
 
void gfxSwapBuffers (void)
 Updates the configuration of both screens. More...
 
+void gfxSwapBuffersGpu (void)
 Same as gfxSwapBuffers (formerly different).
 
+

Detailed Description

+

Simple framebuffer API.

+

This API provides basic functionality needed to bring up framebuffers for both screens, as well as managing display mode (stereoscopic 3D) and double buffering. It is mainly an abstraction over the gsp service.

+

Please note that the 3DS uses portrait screens rotated 90 degrees counterclockwise. Width/height refer to the physical dimensions of the screen; that is, the top screen is 240 pixels wide and 400 pixels tall; while the bottom screen is 240x320.

+

Enumeration Type Documentation

+ +

◆ gfx3dSide_t

+ +
+
+ + + + +
enum gfx3dSide_t
+
+ +

Top screen framebuffer side.

+

This is only meaningful when stereoscopic 3D is enabled on the top screen. In any other case, use GFX_LEFT.

+ + + +
Enumerator
GFX_LEFT 

Left eye framebuffer.

+
GFX_RIGHT 

Right eye framebuffer.

+
+ +
+
+ +

◆ gfxScreen_t

+ +
+
+ + + + +
enum gfxScreen_t
+
+ +

Screen IDs.

+ + + +
Enumerator
GFX_TOP 

Top screen.

+
GFX_BOTTOM 

Bottom screen.

+
+ +
+
+

Function Documentation

+ +

◆ gfxConfigScreen()

+ +
+
+ + + + + + + + + + + + + + + + + + +
CTR_DEPRECATED void gfxConfigScreen (gfxScreen_t scr,
bool immediate 
)
+
+ +

Same as gfxScreenSwapBuffers, but with hasStereo set to true.

+
Parameters
+ + + +
scrScreen ID (see gfxScreen_t)
immediateThis parameter no longer has any effect and is thus ignored.
+
+
+
Deprecated:
This function has been superseded by gfxScreenSwapBuffers, please use that instead.
+ +
+
+ +

◆ gfxExit()

+ +
+
+ + + + + + + + +
void gfxExit (void )
+
+ +

Deinitializes and frees the LCD framebuffers.

+
Note
This function internally calls gspExit.
+
Examples
app_launch/source/main.c, audio/filters/source/main.c, audio/mic/source/main.c, audio/streaming/source/main.c, camera/image/source/main.c, camera/video/source/main.c, get_system_language/source/main.c, graphics/bitmap/24bit-color/source/main.c, graphics/gpu/both_screens/source/main.c, graphics/gpu/fragment_light/source/main.c, graphics/gpu/geoshader/source/main.c, graphics/gpu/gpusprites/source/main.c, graphics/gpu/immediate/source/main.c, graphics/gpu/lenny/source/main.c, graphics/gpu/loop_subdivision/source/main.c, graphics/gpu/mipmap_fog/source/main.c, graphics/gpu/particles/source/main.c, graphics/gpu/proctex/source/main.c, graphics/gpu/simple_tri/source/main.c, graphics/gpu/textured_cube/source/main.c, graphics/gpu/toon_shading/source/main.c, graphics/printing/both-screen-text/source/main.c, graphics/printing/colored-text/source/main.c, graphics/printing/hello-world/source/main.c, graphics/printing/multiple-windows-text/source/main.c, graphics/printing/system-font/source/main.c, input/read-controls/source/main.c, input/software-keyboard/source/main.c, input/touch-screen/source/main.c, libapplet_launch/source/main.c, mvd/source/main.c, network/boss/source/main.c, network/http/source/main.c, network/http_post/source/main.c, network/sockets/source/sockets.c, network/sslc/source/ssl.c, network/uds/source/uds.c, nfc/source/main.c, qtm/source/main.c, romfs/source/main.c, sdmc/source/main.c, threads/event/source/main.c, threads/thread-basic/source/main.c, and time/rtc/source/main.c.
+
+ +
+
+ +

◆ gfxFlushBuffers()

+ + + +

◆ gfxGetFramebuffer()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
u8* gfxGetFramebuffer (gfxScreen_t screen,
gfx3dSide_t side,
u16width,
u16height 
)
+
+ +

Retrieves the framebuffer of the specified screen to which graphics should be rendered.

+
Parameters
+ + + + + +
screenScreen ID (see gfxScreen_t)
sideFramebuffer side (see gfx3dSide_t) (pass GFX_LEFT if not using stereoscopic 3D)
widthPointer that will hold the width of the framebuffer in pixels.
heightPointer that will hold the height of the framebuffer in pixels.
+
+
+
Returns
A pointer to the current framebuffer of the chosen screen.
+

Please remember that the returned pointer will change every frame if double buffering is enabled.

+
Examples
camera/image/source/main.c, camera/video/source/main.c, graphics/bitmap/24bit-color/source/main.c, mvd/source/main.c, network/http/source/main.c, qtm/source/main.c, and sdmc/source/main.c.
+
+ +
+
+ +

◆ gfxGetScreenFormat()

+ +
+
+ + + + + + + + +
GSPGPU_FramebufferFormat gfxGetScreenFormat (gfxScreen_t screen)
+
+ +

Retrieves the current pixel format of a screen.

+
Parameters
+ + +
screenScreen ID (see gfxScreen_t)
+
+
+
Returns
Pixel format (see GSPGPU_FramebufferFormat)
+ +
+
+ +

◆ gfxInit()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void gfxInit (GSPGPU_FramebufferFormat topFormat,
GSPGPU_FramebufferFormat bottomFormat,
bool vrambuffers 
)
+
+ +

Initializes the LCD framebuffers.

+
Parameters
+ + + + +
topFormatThe format of the top screen framebuffers.
bottomFormatThe format of the bottom screen framebuffers.
vramBuffersWhether to allocate the framebuffers in VRAM.
+
+
+

This function allocates memory for the framebuffers in the specified memory region. Initially, stereoscopic 3D is disabled and double buffering is enabled.

+
Note
This function internally calls gspInit.
+
Examples
mvd/source/main.c.
+
+ +
+
+ +

◆ gfxInitDefault()

+ +
+
+ + + + + + + + +
void gfxInitDefault (void )
+
+ +

Initializes the LCD framebuffers with default parameters This is equivalent to calling:

+
+
void gfxInit(GSPGPU_FramebufferFormat topFormat, GSPGPU_FramebufferFormat bottomFormat, bool vrambuffers)
Initializes the LCD framebuffers.
+
@ GSP_BGR8_OES
BGR8. (3 bytes)
Definition: gspgpu.h:30
+
Examples
app_launch/source/main.c, audio/filters/source/main.c, audio/mic/source/main.c, audio/streaming/source/main.c, camera/image/source/main.c, camera/video/source/main.c, get_system_language/source/main.c, graphics/bitmap/24bit-color/source/main.c, graphics/gpu/both_screens/source/main.c, graphics/gpu/fragment_light/source/main.c, graphics/gpu/geoshader/source/main.c, graphics/gpu/gpusprites/source/main.c, graphics/gpu/immediate/source/main.c, graphics/gpu/lenny/source/main.c, graphics/gpu/loop_subdivision/source/main.c, graphics/gpu/mipmap_fog/source/main.c, graphics/gpu/particles/source/main.c, graphics/gpu/proctex/source/main.c, graphics/gpu/simple_tri/source/main.c, graphics/gpu/textured_cube/source/main.c, graphics/gpu/toon_shading/source/main.c, graphics/printing/both-screen-text/source/main.c, graphics/printing/colored-text/source/main.c, graphics/printing/hello-world/source/main.c, graphics/printing/multiple-windows-text/source/main.c, graphics/printing/system-font/source/main.c, input/read-controls/source/main.c, input/software-keyboard/source/main.c, input/touch-screen/source/main.c, libapplet_launch/source/main.c, network/boss/source/main.c, network/http/source/main.c, network/http_post/source/main.c, network/sockets/source/sockets.c, network/sslc/source/ssl.c, network/uds/source/uds.c, nfc/source/main.c, qtm/source/main.c, romfs/source/main.c, sdmc/source/main.c, threads/event/source/main.c, threads/thread-basic/source/main.c, and time/rtc/source/main.c.
+
+ +
+
+ +

◆ gfxIs3D()

+ +
+
+ + + + + + + + +
bool gfxIs3D (void )
+
+ +

Retrieves the status of the 3D stereoscopic effect on the top screen.

+
Returns
true if 3D enabled, false otherwise.
+ +
+
+ +

◆ gfxIsWide()

+ +
+
+ + + + + + + + +
bool gfxIsWide (void )
+
+ +

Retrieves the status of the 800px (double-height) high resolution display mode of the top screen.

+
Returns
true if wide mode enabled, false otherwise.
+ +
+
+ +

◆ gfxScreenSwapBuffers()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void gfxScreenSwapBuffers (gfxScreen_t scr,
bool hasStereo 
)
+
+ +

Updates the configuration of the specified screen, swapping the buffers if double buffering is enabled.

+
Parameters
+ + + +
scrScreen ID (see gfxScreen_t)
hasStereoFor the top screen in 3D mode: true if the framebuffer contains individual images for both eyes, or false if the left image should be duplicated to the right eye.
+
+
+
Note
Previously rendered content will be displayed on the screen after the next VBlank.
+
+This function is still useful even if double buffering is disabled, as it must be used to commit configuration changes.
+
Warning
Only call this once per screen per frame, otherwise graphical glitches will occur since this API does not implement triple buffering.
+ +
+
+ +

◆ gfxSet3D()

+ +
+
+ + + + + + + + +
void gfxSet3D (bool enable)
+
+ +

Enables or disables the 3D stereoscopic effect on the top screen.

+
Parameters
+ + +
enablePass true to enable, false to disable.
+
+
+
Note
Stereoscopic 3D is disabled by default.
+
Examples
camera/image/source/main.c, camera/video/source/main.c, graphics/gpu/fragment_light/source/main.c, graphics/gpu/lenny/source/main.c, graphics/gpu/particles/source/main.c, and graphics/gpu/toon_shading/source/main.c.
+
+ +
+
+ +

◆ gfxSetDoubleBuffering()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void gfxSetDoubleBuffering (gfxScreen_t screen,
bool enable 
)
+
+ +

Enables or disables double buffering on a screen.

+
Parameters
+ + + +
screenScreen ID (see gfxScreen_t)
enablePass true to enable, false to disable.
+
+
+
Note
Double buffering is enabled by default.
+
Examples
camera/image/source/main.c, camera/video/source/main.c, and graphics/bitmap/24bit-color/source/main.c.
+
+ +
+
+ +

◆ gfxSetScreenFormat()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void gfxSetScreenFormat (gfxScreen_t screen,
GSPGPU_FramebufferFormat format 
)
+
+ +

Changes the pixel format of a screen.

+
Parameters
+ + + +
screenScreen ID (see gfxScreen_t)
formatPixel format (see GSPGPU_FramebufferFormat)
+
+
+
Note
If the currently allocated framebuffers are too small for the specified format, they are freed and new ones are reallocated.
+ +
+
+ +

◆ gfxSetWide()

+ +
+
+ + + + + + + + +
void gfxSetWide (bool enable)
+
+ +

Enables or disables the 800px (double-height) high resolution display mode of the top screen.

+
Parameters
+ + +
enablePass true to enable, false to disable.
+
+
+
Note
Wide mode is disabled by default.
+
+Wide and stereoscopic 3D modes are mutually exclusive.
+
+In wide mode pixels are not square, since scanlines are half as tall as they normally are.
+
Warning
Wide mode does not work on Old 2DS consoles (however it does work on New 2DS XL consoles).
+ +
+
+ +

◆ gfxSwapBuffers()

+ + +
+ + + + diff --git a/gfx_8h_source.html b/gfx_8h_source.html new file mode 100644 index 000000000..fb41327f1 --- /dev/null +++ b/gfx_8h_source.html @@ -0,0 +1,289 @@ + + + + + + + +libctru: include/3ds/gfx.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
gfx.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file gfx.h
+
3  * @brief Simple framebuffer API
+
4  *
+
5  * This API provides basic functionality needed to bring up framebuffers for both screens,
+
6  * as well as managing display mode (stereoscopic 3D) and double buffering.
+
7  * It is mainly an abstraction over the gsp service.
+
8  *
+
9  * Please note that the 3DS uses *portrait* screens rotated 90 degrees counterclockwise.
+
10  * Width/height refer to the physical dimensions of the screen; that is, the top screen
+
11  * is 240 pixels wide and 400 pixels tall; while the bottom screen is 240x320.
+
12  */
+
13 #pragma once
+
14 
+
15 #include <3ds/types.h>
+
16 #include <3ds/services/gspgpu.h>
+
17 
+
18 /// Converts red, green, and blue components to packed RGB565.
+
19 #define RGB565(r,g,b) (((b)&0x1f)|(((g)&0x3f)<<5)|(((r)&0x1f)<<11))
+
20 
+
21 /// Converts packed RGB8 to packed RGB565.
+
22 #define RGB8_to_565(r,g,b) (((b)>>3)&0x1f)|((((g)>>2)&0x3f)<<5)|((((r)>>3)&0x1f)<<11)
+
23 
+
24 /// Screen IDs.
+
25 typedef enum {
+
26  GFX_TOP = GSP_SCREEN_TOP, ///< Top screen
+
27  GFX_BOTTOM = GSP_SCREEN_BOTTOM, ///< Bottom screen
+
28 } gfxScreen_t;
+
29 
+
30 /**
+
31  * @brief Top screen framebuffer side.
+
32  *
+
33  * This is only meaningful when stereoscopic 3D is enabled on the top screen.
+
34  * In any other case, use \ref GFX_LEFT.
+
35  */
+
36 typedef enum {
+
37  GFX_LEFT = 0, ///< Left eye framebuffer
+
38  GFX_RIGHT = 1, ///< Right eye framebuffer
+
39 } gfx3dSide_t;
+
40 
+
41 ///@name Initialization and deinitialization
+
42 ///@{
+
43 
+
44 /**
+
45  * @brief Initializes the LCD framebuffers with default parameters
+
46  * This is equivalent to calling: @code gfxInit(GSP_BGR8_OES,GSP_BGR8_OES,false); @endcode
+
47  */
+
48 void gfxInitDefault(void);
+
49 
+
50 /**
+
51  * @brief Initializes the LCD framebuffers.
+
52  * @param topFormat The format of the top screen framebuffers.
+
53  * @param bottomFormat The format of the bottom screen framebuffers.
+
54  * @param vramBuffers Whether to allocate the framebuffers in VRAM.
+
55  *
+
56  * This function allocates memory for the framebuffers in the specified memory region.
+
57  * Initially, stereoscopic 3D is disabled and double buffering is enabled.
+
58  *
+
59  * @note This function internally calls \ref gspInit.
+
60  */
+
61 void gfxInit(GSPGPU_FramebufferFormat topFormat, GSPGPU_FramebufferFormat bottomFormat, bool vrambuffers);
+
62 
+
63 /**
+
64  * @brief Deinitializes and frees the LCD framebuffers.
+
65  * @note This function internally calls \ref gspExit.
+
66  */
+
67 void gfxExit(void);
+
68 
+
69 ///@}
+
70 
+
71 ///@name Control
+
72 ///@{
+
73 
+
74 /**
+
75  * @brief Enables or disables the 3D stereoscopic effect on the top screen.
+
76  * @param enable Pass true to enable, false to disable.
+
77  * @note Stereoscopic 3D is disabled by default.
+
78  */
+
79 void gfxSet3D(bool enable);
+
80 
+
81 /**
+
82  * @brief Retrieves the status of the 3D stereoscopic effect on the top screen.
+
83  * @return true if 3D enabled, false otherwise.
+
84  */
+
85 bool gfxIs3D(void);
+
86 
+
87 /**
+
88  * @brief Retrieves the status of the 800px (double-height) high resolution display mode of the top screen.
+
89  * @return true if wide mode enabled, false otherwise.
+
90  */
+
91 bool gfxIsWide(void);
+
92 
+
93 /**
+
94  * @brief Enables or disables the 800px (double-height) high resolution display mode of the top screen.
+
95  * @param enable Pass true to enable, false to disable.
+
96  * @note Wide mode is disabled by default.
+
97  * @note Wide and stereoscopic 3D modes are mutually exclusive.
+
98  * @note In wide mode pixels are not square, since scanlines are half as tall as they normally are.
+
99  * @warning Wide mode does not work on Old 2DS consoles (however it does work on New 2DS XL consoles).
+
100  */
+
101 void gfxSetWide(bool enable);
+
102 
+
103 /**
+
104  * @brief Changes the pixel format of a screen.
+
105  * @param screen Screen ID (see \ref gfxScreen_t)
+
106  * @param format Pixel format (see \ref GSPGPU_FramebufferFormat)
+
107  * @note If the currently allocated framebuffers are too small for the specified format,
+
108  * they are freed and new ones are reallocated.
+
109  */
+ +
111 
+
112 /**
+
113  * @brief Retrieves the current pixel format of a screen.
+
114  * @param screen Screen ID (see \ref gfxScreen_t)
+
115  * @return Pixel format (see \ref GSPGPU_FramebufferFormat)
+
116  */
+ +
118 
+
119 /**
+
120  * @brief Enables or disables double buffering on a screen.
+
121  * @param screen Screen ID (see \ref gfxScreen_t)
+
122  * @param enable Pass true to enable, false to disable.
+
123  * @note Double buffering is enabled by default.
+
124  */
+
125 void gfxSetDoubleBuffering(gfxScreen_t screen, bool enable);
+
126 
+
127 ///@}
+
128 
+
129 ///@name Rendering and presentation
+
130 ///@{
+
131 
+
132 /**
+
133  * @brief Retrieves the framebuffer of the specified screen to which graphics should be rendered.
+
134  * @param screen Screen ID (see \ref gfxScreen_t)
+
135  * @param side Framebuffer side (see \ref gfx3dSide_t) (pass \ref GFX_LEFT if not using stereoscopic 3D)
+
136  * @param width Pointer that will hold the width of the framebuffer in pixels.
+
137  * @param height Pointer that will hold the height of the framebuffer in pixels.
+
138  * @return A pointer to the current framebuffer of the chosen screen.
+
139  *
+
140  * Please remember that the returned pointer will change every frame if double buffering is enabled.
+
141  */
+
142 u8* gfxGetFramebuffer(gfxScreen_t screen, gfx3dSide_t side, u16* width, u16* height);
+
143 
+
144 /**
+
145  * @brief Flushes the data cache for the current framebuffers.
+
146  * @warning This is **only used during software rendering**. Since this function has significant overhead,
+
147  * it is preferred to call this only once per frame, after all software rendering is completed.
+
148  */
+
149 void gfxFlushBuffers(void);
+
150 
+
151 /**
+
152  * @brief Updates the configuration of the specified screen, swapping the buffers if double buffering is enabled.
+
153  * @param scr Screen ID (see \ref gfxScreen_t)
+
154  * @param hasStereo For the top screen in 3D mode: true if the framebuffer contains individual images
+
155  * for both eyes, or false if the left image should be duplicated to the right eye.
+
156  * @note Previously rendered content will be displayed on the screen after the next VBlank.
+
157  * @note This function is still useful even if double buffering is disabled, as it must be used to commit configuration changes.
+
158  * @warning Only call this once per screen per frame, otherwise graphical glitches will occur
+
159  * since this API does not implement triple buffering.
+
160  */
+
161 void gfxScreenSwapBuffers(gfxScreen_t scr, bool hasStereo);
+
162 
+
163 /**
+
164  * @brief Same as \ref gfxScreenSwapBuffers, but with hasStereo set to true.
+
165  * @param scr Screen ID (see \ref gfxScreen_t)
+
166  * @param immediate This parameter no longer has any effect and is thus ignored.
+
167  * @deprecated This function has been superseded by \ref gfxScreenSwapBuffers, please use that instead.
+
168  */
+
169 CTR_DEPRECATED void gfxConfigScreen(gfxScreen_t scr, bool immediate);
+
170 
+
171 /**
+
172  * @brief Updates the configuration of both screens.
+
173  * @note This function is equivalent to: \code gfxScreenSwapBuffers(GFX_TOP,true); gfxScreenSwapBuffers(GFX_BOTTOM,true); \endcode
+
174  */
+
175 void gfxSwapBuffers(void);
+
176 
+
177 /// Same as \ref gfxSwapBuffers (formerly different).
+
178 void gfxSwapBuffersGpu(void);
+
179 
+
180 ///@}
+
bool gfxIs3D(void)
Retrieves the status of the 3D stereoscopic effect on the top screen.
+
void gfxSwapBuffers(void)
Updates the configuration of both screens.
+
void gfxInit(GSPGPU_FramebufferFormat topFormat, GSPGPU_FramebufferFormat bottomFormat, bool vrambuffers)
Initializes the LCD framebuffers.
+
void gfxSetWide(bool enable)
Enables or disables the 800px (double-height) high resolution display mode of the top screen.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
void gfxSwapBuffersGpu(void)
Same as gfxSwapBuffers (formerly different).
+
u8 * gfxGetFramebuffer(gfxScreen_t screen, gfx3dSide_t side, u16 *width, u16 *height)
Retrieves the framebuffer of the specified screen to which graphics should be rendered.
+
GSPGPU_FramebufferFormat gfxGetScreenFormat(gfxScreen_t screen)
Retrieves the current pixel format of a screen.
+
gfxScreen_t
Screen IDs.
Definition: gfx.h:25
+
@ GFX_BOTTOM
Bottom screen.
Definition: gfx.h:27
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxSet3D(bool enable)
Enables or disables the 3D stereoscopic effect on the top screen.
+
void gfxScreenSwapBuffers(gfxScreen_t scr, bool hasStereo)
Updates the configuration of the specified screen, swapping the buffers if double buffering is enable...
+
void gfxSetDoubleBuffering(gfxScreen_t screen, bool enable)
Enables or disables double buffering on a screen.
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
CTR_DEPRECATED void gfxConfigScreen(gfxScreen_t scr, bool immediate)
Same as gfxScreenSwapBuffers, but with hasStereo set to true.
+
void gfxSetScreenFormat(gfxScreen_t screen, GSPGPU_FramebufferFormat format)
Changes the pixel format of a screen.
+
gfx3dSide_t
Top screen framebuffer side.
Definition: gfx.h:36
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
@ GFX_RIGHT
Right eye framebuffer.
Definition: gfx.h:38
+
bool gfxIsWide(void)
Retrieves the status of the 800px (double-height) high resolution display mode of the top screen.
+
void gfxFlushBuffers(void)
Flushes the data cache for the current framebuffers.
+
GSPGPU service.
+
#define GSP_SCREEN_BOTTOM
ID of the bottom screen.
Definition: gspgpu.h:8
+
#define GSP_SCREEN_TOP
ID of the top screen.
Definition: gspgpu.h:7
+
GSPGPU_FramebufferFormat
Framebuffer format.
Definition: gspgpu.h:28
+
Various system types.
+
#define CTR_DEPRECATED
Flags a function as deprecated.
Definition: types.h:56
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
+ + + + diff --git a/globals.html b/globals.html new file mode 100644 index 000000000..bd649869d --- /dev/null +++ b/globals.html @@ -0,0 +1,111 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- _ -

+
+ + + + diff --git a/globals_a.html b/globals_a.html new file mode 100644 index 000000000..5892ee588 --- /dev/null +++ b/globals_a.html @@ -0,0 +1,999 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- a -

    +
  • AC_OPEN +: ac.h +
  • +
  • AC_WEP_104BIT +: ac.h +
  • +
  • AC_WEP_128BIT +: ac.h +
  • +
  • AC_WEP_40BIT +: ac.h +
  • +
  • AC_WPA2_AES +: ac.h +
  • +
  • AC_WPA2_TKIP +: ac.h +
  • +
  • AC_WPA_AES +: ac.h +
  • +
  • AC_WPA_TKIP +: ac.h +
  • +
  • acExit() +: ac.h +
  • +
  • acGetSessionHandle() +: ac.h +
  • +
  • ACI_GetNetworkWirelessEssidSecuritySsid() +: ac.h +
  • +
  • ACI_LoadNetworkSetting() +: ac.h +
  • +
  • acInit() +: ac.h +
  • +
  • acSecurityMode +: ac.h +
  • +
  • ACU_ConnectAsync() +: ac.h +
  • +
  • ACU_CreateDefaultConfig() +: ac.h +
  • +
  • ACU_GetLastDetailErrorCode() +: ac.h +
  • +
  • ACU_GetLastErrorCode() +: ac.h +
  • +
  • ACU_GetProxyEnable() +: ac.h +
  • +
  • ACU_GetProxyPassword() +: ac.h +
  • +
  • ACU_GetProxyPort() +: ac.h +
  • +
  • ACU_GetProxyUserName() +: ac.h +
  • +
  • ACU_GetSecurityMode() +: ac.h +
  • +
  • ACU_GetSSID() +: ac.h +
  • +
  • ACU_GetSSIDLength() +: ac.h +
  • +
  • ACU_GetStatus() +: ac.h +
  • +
  • ACU_GetWifiStatus() +: ac.h +
  • +
  • ACU_SetAllowApType() +: ac.h +
  • +
  • ACU_SetNetworkArea() +: ac.h +
  • +
  • ACU_SetRequestEulaVersion() +: ac.h +
  • +
  • acWaitInternetConnection() +: ac.h +
  • +
  • AM_CancelCIAInstall() +: am.h +
  • +
  • AM_CommitImportPrograms() +: am.h +
  • +
  • AM_CommitImportTitles() +: am.h +
  • +
  • AM_CommitImportTitlesAndUpdateFirmwareAuto() +: am.h +
  • +
  • AM_CONTENT_DOWNLOADED +: am.h +
  • +
  • AM_CONTENT_OWNED +: am.h +
  • +
  • AM_ContentInfoFlags +: am.h +
  • +
  • AM_CreateImportContentContexts() +: am.h +
  • +
  • AM_DELETE_PENDING_NON_SYSTEM +: am.h +
  • +
  • AM_DELETE_PENDING_SYSTEM +: am.h +
  • +
  • AM_DeleteAllDemoLaunchInfos() +: am.h +
  • +
  • AM_DeleteAllExpiredTitles() +: am.h +
  • +
  • AM_DeleteAllPendingTitles() +: am.h +
  • +
  • AM_DeleteAllTemporaryTitles() +: am.h +
  • +
  • AM_DeleteAllTwlTitles() +: am.h +
  • +
  • AM_DeleteAppTitle() +: am.h +
  • +
  • AM_DeletePendingTitle() +: am.h +
  • +
  • AM_DeletePendingTitles() +: am.h +
  • +
  • AM_DeleteTicket() +: am.h +
  • +
  • AM_DeleteTitle() +: am.h +
  • +
  • AM_ExportTwlBackup() +: am.h +
  • +
  • AM_FinishCiaInstall() +: am.h +
  • +
  • AM_FinishCiaInstallWithoutCommit() +: am.h +
  • +
  • AM_GetCiaCoreVersion() +: am.h +
  • +
  • AM_GetCiaDependencies() +: am.h +
  • +
  • AM_GetCiaFileInfo() +: am.h +
  • +
  • AM_GetCiaIcon() +: am.h +
  • +
  • AM_GetCiaMetaOffset() +: am.h +
  • +
  • AM_GetCiaMetaSection() +: am.h +
  • +
  • AM_GetCiaRequiredSpace() +: am.h +
  • +
  • AM_GetDeviceId() +: am.h +
  • +
  • AM_GetPendingTitleCount() +: am.h +
  • +
  • AM_GetPendingTitleInfo() +: am.h +
  • +
  • AM_GetPendingTitleList() +: am.h +
  • +
  • AM_GetTicketCount() +: am.h +
  • +
  • AM_GetTicketList() +: am.h +
  • +
  • AM_GetTitleCount() +: am.h +
  • +
  • AM_GetTitleExtDataId() +: am.h +
  • +
  • AM_GetTitleInfo() +: am.h +
  • +
  • AM_GetTitleList() +: am.h +
  • +
  • AM_GetTitleProductCode() +: am.h +
  • +
  • AM_GetTWLPartitionInfo() +: am.h +
  • +
  • AM_ImportCertificate() +: am.h +
  • +
  • AM_ImportCertificates() +: am.h +
  • +
  • AM_ImportTwlBackup() +: am.h +
  • +
  • AM_InitializeExternalTitleDatabase() +: am.h +
  • +
  • AM_InstallContentBegin() +: am.h +
  • +
  • AM_InstallContentCancel() +: am.h +
  • +
  • AM_InstallContentFinish() +: am.h +
  • +
  • AM_InstallContentResume() +: am.h +
  • +
  • AM_InstallContentStop() +: am.h +
  • +
  • AM_InstallFirm() +: am.h +
  • +
  • AM_InstallNativeFirm() +: am.h +
  • +
  • AM_InstallStatus +: am.h +
  • +
  • AM_InstallTicketAbort() +: am.h +
  • +
  • AM_InstallTicketBegin() +: am.h +
  • +
  • AM_InstallTicketFinish() +: am.h +
  • +
  • AM_InstallTitleAbort() +: am.h +
  • +
  • AM_InstallTitleBegin() +: am.h +
  • +
  • AM_InstallTitleFinish() +: am.h +
  • +
  • AM_InstallTitleResume() +: am.h +
  • +
  • AM_InstallTitleStop() +: am.h +
  • +
  • AM_InstallTmdAbort() +: am.h +
  • +
  • AM_InstallTmdBegin() +: am.h +
  • +
  • AM_InstallTmdFinish() +: am.h +
  • +
  • AM_QueryAvailableExternalTitleDatabase() +: am.h +
  • +
  • AM_ReadTwlBackupInfo() +: am.h +
  • +
  • AM_StartCiaInstall() +: am.h +
  • +
  • AM_StartDlpChildCiaInstall() +: am.h +
  • +
  • AM_STATUS_ABORTED +: am.h +
  • +
  • AM_STATUS_AWAITING_FINALIZATION +: am.h +
  • +
  • AM_STATUS_INSTALL_IN_PROGRESS +: am.h +
  • +
  • AM_STATUS_MASK_AWAITING_FINALIZATION +: am.h +
  • +
  • AM_STATUS_MASK_INSTALLING +: am.h +
  • +
  • AM_STATUS_SAVED +: am.h +
  • +
  • AMAPP_GetDLCContentInfoCount() +: am.h +
  • +
  • AMAPP_ListDLCContentInfos() +: am.h +
  • +
  • amAppInit() +: am.h +
  • +
  • amExit() +: am.h +
  • +
  • amGetSessionHandle() +: am.h +
  • +
  • amInit() +: am.h +
  • +
  • AMPXI_InstallTitlesFinish() +: ampxi.h +
  • +
  • AMPXI_WriteTWLSavedata() +: ampxi.h +
  • +
  • ampxiExit() +: ampxi.h +
  • +
  • ampxiInit() +: ampxi.h +
  • +
  • APPID_AMIIBO_SETTINGS +: apt.h +
  • +
  • APPID_APPLETED +: apt.h +
  • +
  • APPID_APPLICATION +: apt.h +
  • +
  • APPID_CAMERA +: apt.h +
  • +
  • APPID_ERROR +: apt.h +
  • +
  • APPID_ESHOP +: apt.h +
  • +
  • APPID_EXTRAPAD +: apt.h +
  • +
  • APPID_FRIENDS_LIST +: apt.h +
  • +
  • APPID_GAME_NOTES +: apt.h +
  • +
  • APPID_HOMEMENU +: apt.h +
  • +
  • APPID_INSTRUCTION_MANUAL +: apt.h +
  • +
  • APPID_MEMOLIB +: apt.h +
  • +
  • APPID_MIIVERSE +: apt.h +
  • +
  • APPID_MIIVERSE_POSTING +: apt.h +
  • +
  • APPID_MINT +: apt.h +
  • +
  • APPID_NOTIFICATIONS +: apt.h +
  • +
  • APPID_PNOTE_AP +: apt.h +
  • +
  • APPID_SNOTE_AP +: apt.h +
  • +
  • APPID_SOFTWARE_KEYBOARD +: apt.h +
  • +
  • APPID_WEB +: apt.h +
  • +
  • APT_AppletPos +: apt.h +
  • +
  • APT_AppletUtility() +: apt.h +
  • +
  • APT_CancelParameter() +: apt.h +
  • +
  • APT_CheckNew3DS() +: apt.h +
  • +
  • APT_CloseApplication() +: apt.h +
  • +
  • APT_Command +: apt.h +
  • +
  • APT_DoApplicationJump() +: apt.h +
  • +
  • APT_Enable() +: apt.h +
  • +
  • APT_Finalize() +: apt.h +
  • +
  • APT_GetAppCpuTimeLimit() +: apt.h +
  • +
  • APT_GetAppletInfo() +: apt.h +
  • +
  • APT_GetAppletManInfo() +: apt.h +
  • +
  • APT_GetAppletProgramInfo() +: apt.h +
  • +
  • APT_GetLockHandle() +: apt.h +
  • +
  • APT_GetProgramID() +: apt.h +
  • +
  • APT_GetSharedFont() +: apt.h +
  • +
  • APT_GlanceParameter() +: apt.h +
  • +
  • APT_HardwareResetAsync() +: apt.h +
  • +
  • APT_HookType +: apt.h +
  • +
  • APT_Initialize() +: apt.h +
  • +
  • APT_InquireNotification() +: apt.h +
  • +
  • APT_IsRegistered() +: apt.h +
  • +
  • APT_JumpToApplication() +: apt.h +
  • +
  • APT_JumpToHomeMenu() +: apt.h +
  • +
  • APT_LockTransition() +: apt.h +
  • +
  • APT_NotifyToWait() +: apt.h +
  • +
  • APT_PrepareToCloseApplication() +: apt.h +
  • +
  • APT_PrepareToDoApplicationJump() +: apt.h +
  • +
  • APT_PrepareToJumpToApplication() +: apt.h +
  • +
  • APT_PrepareToJumpToHomeMenu() +: apt.h +
  • +
  • APT_PrepareToStartLibraryApplet() +: apt.h +
  • +
  • APT_PrepareToStartSystemApplet() +: apt.h +
  • +
  • APT_QueryReply +: apt.h +
  • +
  • APT_ReceiveDeliverArg() +: apt.h +
  • +
  • APT_ReceiveParameter() +: apt.h +
  • +
  • APT_ReplySleepNotificationComplete() +: apt.h +
  • +
  • APT_ReplySleepQuery() +: apt.h +
  • +
  • APT_SendCaptureBufferInfo() +: apt.h +
  • +
  • APT_SendParameter() +: apt.h +
  • +
  • APT_SetAppCpuTimeLimit() +: apt.h +
  • +
  • APT_Signal +: apt.h +
  • +
  • APT_SleepIfShellClosed() +: apt.h +
  • +
  • APT_SleepSystem() +: apt.h +
  • +
  • APT_StartLibraryApplet() +: apt.h +
  • +
  • APT_StartSystemApplet() +: apt.h +
  • +
  • APT_TryLockTransition() +: apt.h +
  • +
  • APT_UnlockTransition() +: apt.h +
  • +
  • aptCheckHomePressRejected() +: apt.h +
  • +
  • aptClearChainloader() +: apt.h +
  • +
  • APTCMD_DSP_SLEEP +: apt.h +
  • +
  • APTCMD_DSP_WAKEUP +: apt.h +
  • +
  • APTCMD_EXIT +: apt.h +
  • +
  • APTCMD_HOMEBUTTON_ONCE +: apt.h +
  • +
  • APTCMD_HOMEBUTTON_TWICE +: apt.h +
  • +
  • APTCMD_MESSAGE +: apt.h +
  • +
  • APTCMD_NONE +: apt.h +
  • +
  • APTCMD_REQUEST +: apt.h +
  • +
  • APTCMD_RESPONSE +: apt.h +
  • +
  • APTCMD_SYSAPPLET_REQUEST +: apt.h +
  • +
  • APTCMD_WAKEUP +: apt.h +
  • +
  • APTCMD_WAKEUP_CANCEL +: apt.h +
  • +
  • APTCMD_WAKEUP_CANCELALL +: apt.h +
  • +
  • APTCMD_WAKEUP_EXIT +: apt.h +
  • +
  • APTCMD_WAKEUP_JUMPTOHOME +: apt.h +
  • +
  • APTCMD_WAKEUP_LAUNCHAPP +: apt.h +
  • +
  • APTCMD_WAKEUP_PAUSE +: apt.h +
  • +
  • APTCMD_WAKEUP_POWERBUTTON +: apt.h +
  • +
  • aptExit() +: apt.h +
  • +
  • aptGetMenuAppID() +: apt.h +
  • +
  • aptHandleJumpToHome() +: apt.h +
  • +
  • aptHandleSleep() +: apt.h +
  • +
  • aptHook() +: apt.h +
  • +
  • APTHOOK_COUNT +: apt.h +
  • +
  • APTHOOK_ONEXIT +: apt.h +
  • +
  • APTHOOK_ONRESTORE +: apt.h +
  • +
  • APTHOOK_ONSLEEP +: apt.h +
  • +
  • APTHOOK_ONSUSPEND +: apt.h +
  • +
  • APTHOOK_ONWAKEUP +: apt.h +
  • +
  • aptHookFn +: apt.h +
  • +
  • aptInit() +: apt.h +
  • +
  • aptIsActive() +: apt.h +
  • +
  • aptIsHomeAllowed() +: apt.h +
  • +
  • aptIsHomePressed() +: apt.h +
  • +
  • aptIsSleepAllowed() +: apt.h +
  • +
  • aptJumpToHomeMenu() +: apt.h +
  • +
  • aptLaunchLibraryApplet() +: apt.h +
  • +
  • aptMainLoop() +: apt.h +
  • +
  • aptMakeAppletAttr() +: apt.h +
  • +
  • aptMessageCb +: apt.h +
  • +
  • APTPOS_APP +: apt.h +
  • +
  • APTPOS_APPLIB +: apt.h +
  • +
  • APTPOS_NONE +: apt.h +
  • +
  • APTPOS_RESIDENT +: apt.h +
  • +
  • APTPOS_SYS +: apt.h +
  • +
  • APTPOS_SYSLIB +: apt.h +
  • +
  • aptSendCommand() +: apt.h +
  • +
  • aptSetChainloader() +: apt.h +
  • +
  • aptSetChainloaderArgs() +: apt.h +
  • +
  • aptSetChainloaderToCaller() +: apt.h +
  • +
  • aptSetChainloaderToSelf() +: apt.h +
  • +
  • aptSetHomeAllowed() +: apt.h +
  • +
  • aptSetMessageCallback() +: apt.h +
  • +
  • aptSetSleepAllowed() +: apt.h +
  • +
  • aptShouldClose() +: apt.h +
  • +
  • aptShouldJumpToHome() +: apt.h +
  • +
  • APTSIGNAL_HOMEBUTTON +: apt.h +
  • +
  • APTSIGNAL_HOMEBUTTON2 +: apt.h +
  • +
  • APTSIGNAL_NONE +: apt.h +
  • +
  • APTSIGNAL_ORDERTOCLOSE +: apt.h +
  • +
  • APTSIGNAL_POWERBUTTON +: apt.h +
  • +
  • APTSIGNAL_POWERBUTTON2 +: apt.h +
  • +
  • APTSIGNAL_SHUTDOWN +: apt.h +
  • +
  • APTSIGNAL_SLEEP_CANCEL +: apt.h +
  • +
  • APTSIGNAL_SLEEP_ENTER +: apt.h +
  • +
  • APTSIGNAL_SLEEP_QUERY +: apt.h +
  • +
  • APTSIGNAL_SLEEP_WAKEUP +: apt.h +
  • +
  • APTSIGNAL_TRY_SLEEP +: apt.h +
  • +
  • aptUnhook() +: apt.h +
  • +
  • ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN +: svc.h +
  • +
  • ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN_TIMEOUT +: svc.h +
  • +
  • ARBITRATION_SIGNAL +: svc.h +
  • +
  • ARBITRATION_SIGNAL_ALL +: svc.h +
  • +
  • ARBITRATION_WAIT_IF_LESS_THAN +: svc.h +
  • +
  • ARBITRATION_WAIT_IF_LESS_THAN_TIMEOUT +: svc.h +
  • +
  • ArbitrationType +: svc.h +
  • +
  • ARCHIVE_ACTION_COMMIT_SAVE_DATA +: fs.h +
  • +
  • ARCHIVE_ACTION_GET_TIMESTAMP +: fs.h +
  • +
  • ARCHIVE_BOSS_EXTDATA +: fs.h +
  • +
  • ARCHIVE_CARD_SPIFS +: fs.h +
  • +
  • ARCHIVE_DEMO_SAVEDATA +: fs.h +
  • +
  • ARCHIVE_EXTDATA +: fs.h +
  • +
  • ARCHIVE_EXTDATA_AND_BOSS_EXTDATA +: fs.h +
  • +
  • ARCHIVE_GAMECARD_SAVEDATA +: fs.h +
  • +
  • archive_getmtime() +: archive.h +
  • +
  • ARCHIVE_NAND_CTR_FS +: fs.h +
  • +
  • ARCHIVE_NAND_RO +: fs.h +
  • +
  • ARCHIVE_NAND_RO_WRITE_ACCESS +: fs.h +
  • +
  • ARCHIVE_NAND_RW +: fs.h +
  • +
  • ARCHIVE_NAND_TWL_FS +: fs.h +
  • +
  • ARCHIVE_NAND_W_FS +: fs.h +
  • +
  • ARCHIVE_ROMFS +: fs.h +
  • +
  • ARCHIVE_SAVEDATA +: fs.h +
  • +
  • ARCHIVE_SAVEDATA_AND_CONTENT +: fs.h +
  • +
  • ARCHIVE_SAVEDATA_AND_CONTENT2 +: fs.h +
  • +
  • ARCHIVE_SDMC +: fs.h +
  • +
  • ARCHIVE_SDMC_WRITE_ONLY +: fs.h +
  • +
  • ARCHIVE_SHARED_EXTDATA +: fs.h +
  • +
  • ARCHIVE_SYSTEM_SAVEDATA +: fs.h +
  • +
  • ARCHIVE_SYSTEM_SAVEDATA2 +: fs.h +
  • +
  • ARCHIVE_TWL_PHOTO +: fs.h +
  • +
  • ARCHIVE_TWL_SOUND +: fs.h +
  • +
  • ARCHIVE_USER_SAVEDATA +: fs.h +
  • +
  • archiveCommitSaveData() +: archive.h +
  • +
  • archiveMount() +: archive.h +
  • +
  • archiveMountSdmc() +: archive.h +
  • +
  • archiveUnmount() +: archive.h +
  • +
  • archiveUnmountAll() +: archive.h +
  • +
  • ARM9DESC_CREATE_SEED +: exheader.h +
  • +
  • ARM9DESC_MOUNT_CARDSPI +: exheader.h +
  • +
  • ARM9DESC_MOUNT_NAND +: exheader.h +
  • +
  • ARM9DESC_MOUNT_NANDRO_RW +: exheader.h +
  • +
  • ARM9DESC_MOUNT_SDMC_RW +: exheader.h +
  • +
  • ARM9DESC_MOUNT_TWLN +: exheader.h +
  • +
  • ARM9DESC_MOUNT_WNAND +: exheader.h +
  • +
  • ARM9DESC_SD_APPLICATION +: exheader.h +
  • +
  • ARM9DESC_USE_CARD_SPI +: exheader.h +
  • +
  • ARM9DESC_USE_SDIF3 +: exheader.h +
  • +
  • AtomicDecrement +: synchronization.h +
  • +
  • AtomicIncrement +: synchronization.h +
  • +
  • AtomicPostDecrement +: synchronization.h +
  • +
  • AtomicPostIncrement +: synchronization.h +
  • +
  • AtomicSwap +: synchronization.h +
  • +
+
+ + + + diff --git a/globals_b.html b/globals_b.html new file mode 100644 index 000000000..a1a346c00 --- /dev/null +++ b/globals_b.html @@ -0,0 +1,171 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- b -

    +
  • BAUDRATE_16MHZ +: fs.h +
  • +
  • BAUDRATE_1MHZ +: fs.h +
  • +
  • BAUDRATE_2MHZ +: fs.h +
  • +
  • BAUDRATE_4MHZ +: fs.h +
  • +
  • BAUDRATE_512KHZ +: fs.h +
  • +
  • BAUDRATE_8MHZ +: fs.h +
  • +
  • BIT +: types.h +
  • +
  • BLOCK_8_BY_8 +: y2r.h +
  • +
  • BLOCK_LINE +: y2r.h +
  • +
  • bossDeleteNsData() +: boss.h +
  • +
  • bossDeleteTask() +: boss.h +
  • +
  • bossExit() +: boss.h +
  • +
  • bossGetNsDataHeaderInfo() +: boss.h +
  • +
  • bossGetSessionHandle() +: boss.h +
  • +
  • bossGetTaskProperty0() +: boss.h +
  • +
  • bossGetTaskState() +: boss.h +
  • +
  • bossInit() +: boss.h +
  • +
  • bossNsDataHeaderInfoTypes +: boss.h +
  • +
  • bossNsDataHeaderInfoTypeSizes +: boss.h +
  • +
  • bossReadNsData() +: boss.h +
  • +
  • bossRegisterTask() +: boss.h +
  • +
  • bossReinit() +: boss.h +
  • +
  • bossSendContextConfig() +: boss.h +
  • +
  • bossSendProperty() +: boss.h +
  • +
  • bossSetStorageInfo() +: boss.h +
  • +
  • bossSetupContextDefault() +: boss.h +
  • +
  • bossStartBgImmediate() +: boss.h +
  • +
  • bossStartTaskImmediate() +: boss.h +
  • +
  • bossTaskStatus +: boss.h +
  • +
  • bossUnregisterStorage() +: boss.h +
  • +
  • BUSMODE_1BIT +: fs.h +
  • +
  • BUSMODE_4BIT +: fs.h +
  • +
+
+ + + + diff --git a/globals_c.html b/globals_c.html new file mode 100644 index 000000000..0ef64268b --- /dev/null +++ b/globals_c.html @@ -0,0 +1,891 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- c -

    +
  • camExit() +: cam.h +
  • +
  • camInit() +: cam.h +
  • +
  • CAMU_Activate() +: cam.h +
  • +
  • CAMU_ClearBuffer() +: cam.h +
  • +
  • CAMU_Context +: cam.h +
  • +
  • CAMU_Contrast +: cam.h +
  • +
  • CAMU_DriverFinalize() +: cam.h +
  • +
  • CAMU_DriverInitialize() +: cam.h +
  • +
  • CAMU_Effect +: cam.h +
  • +
  • CAMU_Flip +: cam.h +
  • +
  • CAMU_FlipImage() +: cam.h +
  • +
  • CAMU_FrameRate +: cam.h +
  • +
  • CAMU_GetActivatedCamera() +: cam.h +
  • +
  • CAMU_GetBufferErrorInterruptEvent() +: cam.h +
  • +
  • CAMU_GetImageQualityCalibrationData() +: cam.h +
  • +
  • CAMU_GetLatestVsyncTiming() +: cam.h +
  • +
  • CAMU_GetMaxBytes() +: cam.h +
  • +
  • CAMU_GetMaxLines() +: cam.h +
  • +
  • CAMU_GetSleepCamera() +: cam.h +
  • +
  • CAMU_GetStereoCameraCalibrationData() +: cam.h +
  • +
  • CAMU_GetSuitableY2rStandardCoefficient() +: cam.h +
  • +
  • CAMU_GetTransferBytes() +: cam.h +
  • +
  • CAMU_GetTrimmingParams() +: cam.h +
  • +
  • CAMU_GetVsyncInterruptEvent() +: cam.h +
  • +
  • CAMU_IsAutoExposure() +: cam.h +
  • +
  • CAMU_IsAutoWhiteBalance() +: cam.h +
  • +
  • CAMU_IsBusy() +: cam.h +
  • +
  • CAMU_IsFinishedReceiving() +: cam.h +
  • +
  • CAMU_IsTrimming() +: cam.h +
  • +
  • CAMU_LensCorrection +: cam.h +
  • +
  • CAMU_OutputFormat +: cam.h +
  • +
  • CAMU_PhotoMode +: cam.h +
  • +
  • CAMU_PlayShutterSound() +: cam.h +
  • +
  • CAMU_ReadMcuVariableI2cExclusive() +: cam.h +
  • +
  • CAMU_ReadRegisterI2cExclusive() +: cam.h +
  • +
  • CAMU_SetAutoExposure() +: cam.h +
  • +
  • CAMU_SetAutoExposureWindow() +: cam.h +
  • +
  • CAMU_SetAutoWhiteBalance() +: cam.h +
  • +
  • CAMU_SetAutoWhiteBalanceWindow() +: cam.h +
  • +
  • CAMU_SetBrightnessSynchronization() +: cam.h +
  • +
  • CAMU_SetContrast() +: cam.h +
  • +
  • CAMU_SetDetailSize() +: cam.h +
  • +
  • CAMU_SetEffect() +: cam.h +
  • +
  • CAMU_SetExposure() +: cam.h +
  • +
  • CAMU_SetFrameRate() +: cam.h +
  • +
  • CAMU_SetImageQualityCalibrationData() +: cam.h +
  • +
  • CAMU_SetLensCorrection() +: cam.h +
  • +
  • CAMU_SetNoiseFilter() +: cam.h +
  • +
  • CAMU_SetOutputFormat() +: cam.h +
  • +
  • CAMU_SetPackageParameterWithContext() +: cam.h +
  • +
  • CAMU_SetPackageParameterWithContextDetail() +: cam.h +
  • +
  • CAMU_SetPackageParameterWithoutContext() +: cam.h +
  • +
  • CAMU_SetPhotoMode() +: cam.h +
  • +
  • CAMU_SetReceiving() +: cam.h +
  • +
  • CAMU_SetSharpness() +: cam.h +
  • +
  • CAMU_SetSize() +: cam.h +
  • +
  • CAMU_SetSleepCamera() +: cam.h +
  • +
  • CAMU_SetStereoCameraCalibrationData() +: cam.h +
  • +
  • CAMU_SetTransferBytes() +: cam.h +
  • +
  • CAMU_SetTransferLines() +: cam.h +
  • +
  • CAMU_SetTrimming() +: cam.h +
  • +
  • CAMU_SetTrimmingParams() +: cam.h +
  • +
  • CAMU_SetTrimmingParamsCenter() +: cam.h +
  • +
  • CAMU_SetWhiteBalance() +: cam.h +
  • +
  • CAMU_SetWhiteBalanceWithoutBaseUp() +: cam.h +
  • +
  • CAMU_ShutterSoundType +: cam.h +
  • +
  • CAMU_Size +: cam.h +
  • +
  • CAMU_StartCapture() +: cam.h +
  • +
  • CAMU_StopCapture() +: cam.h +
  • +
  • CAMU_SwitchContext() +: cam.h +
  • +
  • CAMU_SynchronizeVsyncTiming() +: cam.h +
  • +
  • CAMU_WhiteBalance +: cam.h +
  • +
  • CAMU_WriteMcuVariableI2c() +: cam.h +
  • +
  • CAMU_WriteRegisterI2c() +: cam.h +
  • +
  • CAPTURE_ENABLE +: csnd.h +
  • +
  • CAPTURE_FORMAT_16BIT +: csnd.h +
  • +
  • CAPTURE_FORMAT_8BIT +: csnd.h +
  • +
  • CAPTURE_ONE_SHOT +: csnd.h +
  • +
  • CAPTURE_REPEAT +: csnd.h +
  • +
  • CARD_CTR +: fs.h +
  • +
  • CARD_TWL +: fs.h +
  • +
  • CDCCHK_ReadNtrPmicRegister() +: cdcchk.h +
  • +
  • CDCCHK_ReadRegisters1() +: cdcchk.h +
  • +
  • CDCCHK_ReadRegisters2() +: cdcchk.h +
  • +
  • CDCCHK_SetI2sVolume() +: cdcchk.h +
  • +
  • CDCCHK_WriteNtrPmicRegister() +: cdcchk.h +
  • +
  • CDCCHK_WriteRegisters1() +: cdcchk.h +
  • +
  • CDCCHK_WriteRegisters2() +: cdcchk.h +
  • +
  • cdcChkExit() +: cdcchk.h +
  • +
  • cdcChkGetSessionHandle() +: cdcchk.h +
  • +
  • cdcChkInit() +: cdcchk.h +
  • +
  • CFG_GetConfigInfoBlk4() +: cfgu.h +
  • +
  • CFG_GetConfigInfoBlk8() +: cfgu.h +
  • +
  • CFG_Language +: cfgu.h +
  • +
  • CFG_LANGUAGE_DE +: cfgu.h +
  • +
  • CFG_LANGUAGE_EN +: cfgu.h +
  • +
  • CFG_LANGUAGE_ES +: cfgu.h +
  • +
  • CFG_LANGUAGE_FR +: cfgu.h +
  • +
  • CFG_LANGUAGE_IT +: cfgu.h +
  • +
  • CFG_LANGUAGE_JP +: cfgu.h +
  • +
  • CFG_LANGUAGE_KO +: cfgu.h +
  • +
  • CFG_LANGUAGE_NL +: cfgu.h +
  • +
  • CFG_LANGUAGE_PT +: cfgu.h +
  • +
  • CFG_LANGUAGE_RU +: cfgu.h +
  • +
  • CFG_LANGUAGE_TW +: cfgu.h +
  • +
  • CFG_LANGUAGE_ZH +: cfgu.h +
  • +
  • CFG_MODEL_2DS +: cfgu.h +
  • +
  • CFG_MODEL_3DS +: cfgu.h +
  • +
  • CFG_MODEL_3DSXL +: cfgu.h +
  • +
  • CFG_MODEL_N2DSXL +: cfgu.h +
  • +
  • CFG_MODEL_N3DS +: cfgu.h +
  • +
  • CFG_MODEL_N3DSXL +: cfgu.h +
  • +
  • CFG_Region +: cfgu.h +
  • +
  • CFG_REGION_AUS +: cfgu.h +
  • +
  • CFG_REGION_CHN +: cfgu.h +
  • +
  • CFG_REGION_EUR +: cfgu.h +
  • +
  • CFG_REGION_JPN +: cfgu.h +
  • +
  • CFG_REGION_KOR +: cfgu.h +
  • +
  • CFG_REGION_TWN +: cfgu.h +
  • +
  • CFG_REGION_USA +: cfgu.h +
  • +
  • CFG_SetConfigInfoBlk4() +: cfgu.h +
  • +
  • CFG_SetConfigInfoBlk8() +: cfgu.h +
  • +
  • CFG_SystemModel +: cfgu.h +
  • +
  • CFG_UpdateConfigSavegame() +: cfgu.h +
  • +
  • CFGI_ClearParentalControls() +: cfgu.h +
  • +
  • CFGI_DeleteConfigSavefile() +: cfgu.h +
  • +
  • CFGI_FormatConfig() +: cfgu.h +
  • +
  • CFGI_GetLocalFriendCodeSeed() +: cfgu.h +
  • +
  • CFGI_GetLocalFriendCodeSeedData() +: cfgu.h +
  • +
  • CFGI_GetSecureInfoData() +: cfgu.h +
  • +
  • CFGI_GetSecureInfoSignature() +: cfgu.h +
  • +
  • CFGI_RestoreLocalFriendCodeSeed() +: cfgu.h +
  • +
  • CFGI_RestoreSecureInfo() +: cfgu.h +
  • +
  • CFGI_SecureInfoGetSerialNumber() +: cfgu.h +
  • +
  • CFGI_VerifySigLocalFriendCodeSeed() +: cfgu.h +
  • +
  • CFGI_VerifySigSecureInfo() +: cfgu.h +
  • +
  • CFGNOR_Initialize() +: cfgnor.h +
  • +
  • CFGNOR_ReadData() +: cfgnor.h +
  • +
  • CFGNOR_Shutdown() +: cfgnor.h +
  • +
  • CFGNOR_WriteData() +: cfgnor.h +
  • +
  • cfgnorDumpFlash() +: cfgnor.h +
  • +
  • cfgnorExit() +: cfgnor.h +
  • +
  • cfgnorInit() +: cfgnor.h +
  • +
  • cfgnorWriteFlash() +: cfgnor.h +
  • +
  • CFGU_GenHashConsoleUnique() +: cfgu.h +
  • +
  • CFGU_GetConfigInfoBlk2() +: cfgu.h +
  • +
  • CFGU_GetCountryCodeID() +: cfgu.h +
  • +
  • CFGU_GetCountryCodeString() +: cfgu.h +
  • +
  • CFGU_GetModelNintendo2DS() +: cfgu.h +
  • +
  • CFGU_GetRegionCanadaUSA() +: cfgu.h +
  • +
  • CFGU_GetSystemLanguage() +: cfgu.h +
  • +
  • CFGU_GetSystemModel() +: cfgu.h +
  • +
  • CFGU_IsNFCSupported() +: cfgu.h +
  • +
  • CFGU_SecureInfoGetRegion() +: cfgu.h +
  • +
  • cfguExit() +: cfgu.h +
  • +
  • cfguInit() +: cfgu.h +
  • +
  • circleRead +: hid.h +
  • +
  • CMAP_TYPE_DIRECT +: font.h +
  • +
  • CMAP_TYPE_SCAN +: font.h +
  • +
  • CMAP_TYPE_TABLE +: font.h +
  • +
  • CODEC_I2S_LINE_1 +: cdcchk.h +
  • +
  • CODEC_I2S_LINE_2 +: cdcchk.h +
  • +
  • CodecI2sLine +: cdcchk.h +
  • +
  • COEFFICIENT_ITU_R_BT_601 +: y2r.h +
  • +
  • COEFFICIENT_ITU_R_BT_601_SCALING +: y2r.h +
  • +
  • COEFFICIENT_ITU_R_BT_709 +: y2r.h +
  • +
  • COEFFICIENT_ITU_R_BT_709_SCALING +: y2r.h +
  • +
  • CondVar +: synchronization.h +
  • +
  • CondVar_Broadcast() +: synchronization.h +
  • +
  • CondVar_Init() +: synchronization.h +
  • +
  • CondVar_Signal() +: synchronization.h +
  • +
  • CondVar_Wait() +: synchronization.h +
  • +
  • CondVar_WaitTimeout() +: synchronization.h +
  • +
  • CondVar_WakeUp() +: synchronization.h +
  • +
  • CONSOLE_BG_CUSTOM +: console.h +
  • +
  • CONSOLE_BLINK_FAST +: console.h +
  • +
  • CONSOLE_BLINK_SLOW +: console.h +
  • +
  • CONSOLE_COLOR_BOLD +: console.h +
  • +
  • CONSOLE_COLOR_FAINT +: console.h +
  • +
  • CONSOLE_COLOR_REVERSE +: console.h +
  • +
  • CONSOLE_CONCEAL +: console.h +
  • +
  • CONSOLE_CROSSED_OUT +: console.h +
  • +
  • CONSOLE_FG_CUSTOM +: console.h +
  • +
  • CONSOLE_ITALIC +: console.h +
  • +
  • CONSOLE_UNDERLINE +: console.h +
  • +
  • consoleClear() +: console.h +
  • +
  • consoleDebugInit() +: console.h +
  • +
  • consoleGetDefault() +: console.h +
  • +
  • consoleInit() +: console.h +
  • +
  • ConsolePrint +: console.h +
  • +
  • consoleSelect() +: console.h +
  • +
  • consoleSetFont() +: console.h +
  • +
  • consoleSetWindow() +: console.h +
  • +
  • CONTEXT_A +: cam.h +
  • +
  • CONTEXT_B +: cam.h +
  • +
  • CONTEXT_BOTH +: cam.h +
  • +
  • CONTEXT_NONE +: cam.h +
  • +
  • CONTRAST_HIGH +: cam.h +
  • +
  • CONTRAST_LOW +: cam.h +
  • +
  • CONTRAST_NORMAL +: cam.h +
  • +
  • CONTRAST_PATTERN_01 +: cam.h +
  • +
  • CONTRAST_PATTERN_02 +: cam.h +
  • +
  • CONTRAST_PATTERN_03 +: cam.h +
  • +
  • CONTRAST_PATTERN_04 +: cam.h +
  • +
  • CONTRAST_PATTERN_05 +: cam.h +
  • +
  • CONTRAST_PATTERN_06 +: cam.h +
  • +
  • CONTRAST_PATTERN_07 +: cam.h +
  • +
  • CONTRAST_PATTERN_08 +: cam.h +
  • +
  • CONTRAST_PATTERN_09 +: cam.h +
  • +
  • CONTRAST_PATTERN_10 +: cam.h +
  • +
  • CONTRAST_PATTERN_11 +: cam.h +
  • +
  • CSND_AcquireCapUnit() +: csnd.h +
  • +
  • CSND_CapEnable() +: csnd.h +
  • +
  • CSND_CapSetBit2() +: csnd.h +
  • +
  • CSND_CapSetBuffer() +: csnd.h +
  • +
  • CSND_CapSetFormat() +: csnd.h +
  • +
  • CSND_CapSetRepeat() +: csnd.h +
  • +
  • CSND_CapSetTimer() +: csnd.h +
  • +
  • CSND_DutyCycle +: csnd.h +
  • +
  • CSND_ENCODING_ADPCM +: csnd.h +
  • +
  • CSND_ENCODING_PCM16 +: csnd.h +
  • +
  • CSND_ENCODING_PCM8 +: csnd.h +
  • +
  • CSND_ENCODING_PSG +: csnd.h +
  • +
  • CSND_FlushDataCache() +: csnd.h +
  • +
  • CSND_InvalidateDataCache() +: csnd.h +
  • +
  • CSND_LOOPMODE_MANUAL +: csnd.h +
  • +
  • CSND_LOOPMODE_NORELOAD +: csnd.h +
  • +
  • CSND_LOOPMODE_NORMAL +: csnd.h +
  • +
  • CSND_LOOPMODE_ONESHOT +: csnd.h +
  • +
  • CSND_NUM_CHANNELS +: csnd.h +
  • +
  • CSND_ReleaseCapUnit() +: csnd.h +
  • +
  • CSND_Reset() +: csnd.h +
  • +
  • CSND_SetAdpcmReload() +: csnd.h +
  • +
  • CSND_SetAdpcmState() +: csnd.h +
  • +
  • CSND_SetBit7() +: csnd.h +
  • +
  • CSND_SetBlock() +: csnd.h +
  • +
  • CSND_SetCapRegs() +: csnd.h +
  • +
  • CSND_SetChnRegs() +: csnd.h +
  • +
  • CSND_SetChnRegsNoise() +: csnd.h +
  • +
  • CSND_SetChnRegsPSG() +: csnd.h +
  • +
  • CSND_SetDspFlags() +: csnd.h +
  • +
  • CSND_SetDuty() +: csnd.h +
  • +
  • CSND_SetEncoding() +: csnd.h +
  • +
  • CSND_SetInterp() +: csnd.h +
  • +
  • CSND_SetLooping() +: csnd.h +
  • +
  • CSND_SetPlayState() +: csnd.h +
  • +
  • CSND_SetPlayStateR() +: csnd.h +
  • +
  • CSND_SetTimer() +: csnd.h +
  • +
  • CSND_SetVol() +: csnd.h +
  • +
  • CSND_StoreDataCache() +: csnd.h +
  • +
  • CSND_TIMER +: csnd.h +
  • +
  • CSND_UpdateInfo() +: csnd.h +
  • +
  • CSND_VOL() +: csnd.h +
  • +
  • csndAddCmd() +: csnd.h +
  • +
  • csndChannels +: csnd.h +
  • +
  • csndExecCmds() +: csnd.h +
  • +
  • csndExit() +: csnd.h +
  • +
  • csndGetCapInfo() +: csnd.h +
  • +
  • csndGetChnInfo() +: csnd.h +
  • +
  • csndGetDspFlags() +: csnd.h +
  • +
  • csndGetState() +: csnd.h +
  • +
  • csndInit() +: csnd.h +
  • +
  • csndIsPlaying() +: csnd.h +
  • +
  • csndPlaySound() +: csnd.h +
  • +
  • csndSharedMem +: csnd.h +
  • +
  • csndSharedMemSize +: csnd.h +
  • +
  • csndWriteCmd() +: csnd.h +
  • +
  • CTR_ALIGN +: types.h +
  • +
  • CTR_DEPRECATED +: types.h +
  • +
  • CTR_PACKED +: types.h +
  • +
  • CUR_PROCESS_HANDLE +: svc.h +
  • +
  • CUR_THREAD_HANDLE +: svc.h +
  • +
+
+ + + + diff --git a/globals_d.html b/globals_d.html new file mode 100644 index 000000000..5cfd0a66f --- /dev/null +++ b/globals_d.html @@ -0,0 +1,489 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- d -

+
+ + + + diff --git a/globals_defs.html b/globals_defs.html new file mode 100644 index 000000000..60a739d5c --- /dev/null +++ b/globals_defs.html @@ -0,0 +1,93 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+
+ + + + diff --git a/globals_defs_b.html b/globals_defs_b.html new file mode 100644 index 000000000..0dae457d7 --- /dev/null +++ b/globals_defs_b.html @@ -0,0 +1,78 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

+
+ + + + diff --git a/globals_defs_c.html b/globals_defs_c.html new file mode 100644 index 000000000..40addc6f4 --- /dev/null +++ b/globals_defs_c.html @@ -0,0 +1,132 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- c -

+
+ + + + diff --git a/globals_defs_f.html b/globals_defs_f.html new file mode 100644 index 000000000..bd25a8d6d --- /dev/null +++ b/globals_defs_f.html @@ -0,0 +1,84 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- f -

    +
  • FRIEND_COMMENT_SIZE +: frd.h +
  • +
  • FRIEND_LIST_SIZE +: frd.h +
  • +
  • FRIEND_SCREEN_NAME_SIZE +: frd.h +
  • +
+
+ + + + diff --git a/globals_defs_g.html b/globals_defs_g.html new file mode 100644 index 000000000..848a99af6 --- /dev/null +++ b/globals_defs_g.html @@ -0,0 +1,2418 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- g -

+
+ + + + diff --git a/globals_defs_h.html b/globals_defs_h.html new file mode 100644 index 000000000..55684461d --- /dev/null +++ b/globals_defs_h.html @@ -0,0 +1,81 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- h -

    +
  • hidCstickRead +: irrst.h +
  • +
  • HTTPC_RESULTCODE_DOWNLOADPENDING +: httpc.h +
  • +
+
+ + + + diff --git a/globals_defs_k.html b/globals_defs_k.html new file mode 100644 index 000000000..0bcd440c4 --- /dev/null +++ b/globals_defs_k.html @@ -0,0 +1,84 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- k -

+
+ + + + diff --git a/globals_defs_l.html b/globals_defs_l.html new file mode 100644 index 000000000..7d68059ba --- /dev/null +++ b/globals_defs_l.html @@ -0,0 +1,78 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- l -

+
+ + + + diff --git a/globals_defs_m.html b/globals_defs_m.html new file mode 100644 index 000000000..842859b89 --- /dev/null +++ b/globals_defs_m.html @@ -0,0 +1,102 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- m -

+
+ + + + diff --git a/globals_defs_n.html b/globals_defs_n.html new file mode 100644 index 000000000..15b22ee9f --- /dev/null +++ b/globals_defs_n.html @@ -0,0 +1,102 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- n -

    +
  • NDSP_CHANNELS +: channel.h +
  • +
  • NDSP_ENCODING +: channel.h +
  • +
  • NFC_ERR_AMIIBO_NOTSETUP +: nfc.h +
  • +
  • NFC_ERR_APPDATA_UNINITIALIZED +: nfc.h +
  • +
  • NFC_ERR_APPID_MISMATCH +: nfc.h +
  • +
  • NFC_ERR_DATACORRUPTION0 +: nfc.h +
  • +
  • NFC_ERR_DATACORRUPTION1 +: nfc.h +
  • +
  • NFC_ERR_INVALID_STATE +: nfc.h +
  • +
  • NFC_STARTSCAN_DEFAULTINPUT +: nfc.h +
  • +
+
+ + + + diff --git a/globals_defs_o.html b/globals_defs_o.html new file mode 100644 index 000000000..f64261507 --- /dev/null +++ b/globals_defs_o.html @@ -0,0 +1,153 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- o -

    +
  • OS_DSPRAM_PADDR +: os.h +
  • +
  • OS_DSPRAM_SIZE +: os.h +
  • +
  • OS_DSPRAM_VADDR +: os.h +
  • +
  • OS_FCRAM_PADDR +: os.h +
  • +
  • OS_FCRAM_SIZE +: os.h +
  • +
  • OS_FCRAM_VADDR +: os.h +
  • +
  • OS_HEAP_AREA_BEGIN +: os.h +
  • +
  • OS_HEAP_AREA_END +: os.h +
  • +
  • OS_KERNELCFG_VADDR +: os.h +
  • +
  • OS_KernelConfig +: os.h +
  • +
  • OS_MAP_AREA_BEGIN +: os.h +
  • +
  • OS_MAP_AREA_END +: os.h +
  • +
  • OS_MMIO_PADDR +: os.h +
  • +
  • OS_MMIO_SIZE +: os.h +
  • +
  • OS_MMIO_VADDR +: os.h +
  • +
  • OS_OLD_FCRAM_PADDR +: os.h +
  • +
  • OS_OLD_FCRAM_SIZE +: os.h +
  • +
  • OS_OLD_FCRAM_VADDR +: os.h +
  • +
  • OS_QTMRAM_PADDR +: os.h +
  • +
  • OS_QTMRAM_SIZE +: os.h +
  • +
  • OS_QTMRAM_VADDR +: os.h +
  • +
  • OS_SHAREDCFG_VADDR +: os.h +
  • +
  • OS_SharedConfig +: os.h +
  • +
  • OS_VRAM_PADDR +: os.h +
  • +
  • OS_VRAM_SIZE +: os.h +
  • +
  • OS_VRAM_VADDR +: os.h +
  • +
+
+ + + + diff --git a/globals_defs_r.html b/globals_defs_r.html new file mode 100644 index 000000000..258b3bff2 --- /dev/null +++ b/globals_defs_r.html @@ -0,0 +1,108 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- r -

+
+ + + + diff --git a/globals_defs_s.html b/globals_defs_s.html new file mode 100644 index 000000000..608fbad57 --- /dev/null +++ b/globals_defs_s.html @@ -0,0 +1,129 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- s -

    +
  • scanKeys +: hid.h +
  • +
  • SOL_CONFIG +: soc.h +
  • +
  • SOUND_CHANNEL +: csnd.h +
  • +
  • SOUND_FORMAT +: csnd.h +
  • +
  • SOUND_LOOPMODE +: csnd.h +
  • +
  • SVC_STOP_POINT +: svc.h +
  • +
  • SWKBD_MAX_BUTTON_TEXT_LEN +: swkbd.h +
  • +
  • SWKBD_MAX_CALLBACK_MSG_LEN +: swkbd.h +
  • +
  • SWKBD_MAX_HINT_TEXT_LEN +: swkbd.h +
  • +
  • SWKBD_MAX_WORD_LEN +: swkbd.h +
  • +
  • SYSCLOCK_ARM11 +: os.h +
  • +
  • SYSCLOCK_ARM11_LGR1 +: os.h +
  • +
  • SYSCLOCK_ARM11_LGR2 +: os.h +
  • +
  • SYSCLOCK_ARM9 +: os.h +
  • +
  • SYSCLOCK_SDMMC +: os.h +
  • +
  • SYSCLOCK_SOC +: os.h +
  • +
  • SYSCLOCK_SYS +: os.h +
  • +
  • SYSTEM_VERSION +: os.h +
  • +
+
+ + + + diff --git a/globals_defs_t.html b/globals_defs_t.html new file mode 100644 index 000000000..a16fe2adc --- /dev/null +++ b/globals_defs_t.html @@ -0,0 +1,78 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- t -

+
+ + + + diff --git a/globals_defs_u.html b/globals_defs_u.html new file mode 100644 index 000000000..2e47b3c29 --- /dev/null +++ b/globals_defs_u.html @@ -0,0 +1,96 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- u -

    +
  • U64_MAX +: types.h +
  • +
  • UDS_BROADCAST_NETWORKNODEID +: uds.h +
  • +
  • UDS_CHECK_SENDTO_FATALERROR +: uds.h +
  • +
  • UDS_DATAFRAME_MAXSIZE +: uds.h +
  • +
  • UDS_DEFAULT_RECVBUFSIZE +: uds.h +
  • +
  • UDS_HOST_NETWORKNODEID +: uds.h +
  • +
  • UDS_MAXNODES +: uds.h +
  • +
+
+ + + + diff --git a/globals_defs_w.html b/globals_defs_w.html new file mode 100644 index 000000000..1b43749be --- /dev/null +++ b/globals_defs_w.html @@ -0,0 +1,81 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- w -

    +
  • WRITE_DATA_TO_FAULTING_STACK +: thread.h +
  • +
  • WRITE_DATA_TO_HANDLER_STACK +: thread.h +
  • +
+
+ + + + diff --git a/globals_e.html b/globals_e.html new file mode 100644 index 000000000..29d4fcc69 --- /dev/null +++ b/globals_e.html @@ -0,0 +1,297 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- e -

    +
  • EFFECT_MONO +: cam.h +
  • +
  • EFFECT_NEGAFILM +: cam.h +
  • +
  • EFFECT_NEGATIVE +: cam.h +
  • +
  • EFFECT_NONE +: cam.h +
  • +
  • EFFECT_SEPIA +: cam.h +
  • +
  • EFFECT_SEPIA01 +: cam.h +
  • +
  • encode_utf16() +: utf.h +
  • +
  • encode_utf8() +: utf.h +
  • +
  • envGetAptAppId() +: env.h +
  • +
  • envGetHandle() +: env.h +
  • +
  • envGetHeapSize() +: env.h +
  • +
  • envGetLinearHeapSize() +: env.h +
  • +
  • envGetSystemArgList() +: env.h +
  • +
  • envGetSystemRunFlags() +: env.h +
  • +
  • envIsHomebrew() +: env.h +
  • +
  • ERRF_ErrType +: errf.h +
  • +
  • ERRF_ERRTYPE_CARD_REMOVED +: errf.h +
  • +
  • ERRF_ERRTYPE_EXCEPTION +: errf.h +
  • +
  • ERRF_ERRTYPE_FAILURE +: errf.h +
  • +
  • ERRF_ERRTYPE_GENERIC +: errf.h +
  • +
  • ERRF_ERRTYPE_LOG_ONLY +: errf.h +
  • +
  • ERRF_ERRTYPE_NAND_DAMAGED +: errf.h +
  • +
  • ERRF_EXCEPTION_DATA_ABORT +: errf.h +
  • +
  • ERRF_EXCEPTION_PREFETCH_ABORT +: errf.h +
  • +
  • ERRF_EXCEPTION_UNDEFINED +: errf.h +
  • +
  • ERRF_EXCEPTION_VFP +: errf.h +
  • +
  • ERRF_ExceptionHandler() +: errf.h +
  • +
  • ERRF_ExceptionType +: errf.h +
  • +
  • ERRF_LogResult() +: errf.h +
  • +
  • ERRF_SetUserString() +: errf.h +
  • +
  • ERRF_Throw() +: errf.h +
  • +
  • ERRF_ThrowResult() +: errf.h +
  • +
  • ERRF_ThrowResultWithMessage() +: errf.h +
  • +
  • errfExit() +: errf.h +
  • +
  • errfGetSessionHandle() +: errf.h +
  • +
  • errfInit() +: errf.h +
  • +
  • ERROR_CODE +: error.h +
  • +
  • ERROR_CODE_LANGUAGE +: error.h +
  • +
  • ERROR_EULA +: error.h +
  • +
  • ERROR_EULA_LANGUAGE +: error.h +
  • +
  • ERROR_LANGUAGE_FLAG +: error.h +
  • +
  • ERROR_TEXT +: error.h +
  • +
  • ERROR_TEXT_LANGUAGE +: error.h +
  • +
  • ERROR_TEXT_LANGUAGE_WORD_WRAP +: error.h +
  • +
  • ERROR_TEXT_WORD_WRAP +: error.h +
  • +
  • ERROR_TYPE_AGREE +: error.h +
  • +
  • ERROR_TYPE_EULA_DRAW_ONLY +: error.h +
  • +
  • ERROR_TYPE_EULA_FIRST_BOOT +: error.h +
  • +
  • ERROR_WORD_WRAP_FLAG +: error.h +
  • +
  • errorCode() +: error.h +
  • +
  • errorDisp() +: error.h +
  • +
  • errorInit() +: error.h +
  • +
  • errorText() +: error.h +
  • +
  • errorType +: error.h +
  • +
  • ExceptionEventType +: svc.h +
  • +
  • ExceptionHandler +: thread.h +
  • +
  • EXCEVENT_ATTACH_BREAK +: svc.h +
  • +
  • EXCEVENT_DATA_ABORT +: svc.h +
  • +
  • EXCEVENT_DEBUGGER_BREAK +: svc.h +
  • +
  • EXCEVENT_PREFETCH_ABORT +: svc.h +
  • +
  • EXCEVENT_STOP_POINT +: svc.h +
  • +
  • EXCEVENT_UNALIGNED_DATA_ACCESS +: svc.h +
  • +
  • EXCEVENT_UNDEFINED_INSTRUCTION +: svc.h +
  • +
  • EXCEVENT_UNDEFINED_SYSCALL +: svc.h +
  • +
  • EXCEVENT_USER_BREAK +: svc.h +
  • +
  • EXITPROCESS_EVENT_DEBUG_TERMINATE +: svc.h +
  • +
  • EXITPROCESS_EVENT_EXIT +: svc.h +
  • +
  • EXITPROCESS_EVENT_TERMINATE +: svc.h +
  • +
  • ExitProcessEventReason +: svc.h +
  • +
  • EXITTHREAD_EVENT_EXIT +: svc.h +
  • +
  • EXITTHREAD_EVENT_EXIT_PROCESS +: svc.h +
  • +
  • EXITTHREAD_EVENT_TERMINATE +: svc.h +
  • +
  • EXITTHREAD_EVENT_TERMINATE_PROCESS +: svc.h +
  • +
  • ExitThreadEventReason +: svc.h +
  • +
+
+ + + + diff --git a/globals_enum.html b/globals_enum.html new file mode 100644 index 000000000..4c16aebeb --- /dev/null +++ b/globals_enum.html @@ -0,0 +1,628 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

    +
  • acSecurityMode +: ac.h +
  • +
  • AM_ContentInfoFlags +: am.h +
  • +
  • AM_InstallStatus +: am.h +
  • +
  • APT_AppletPos +: apt.h +
  • +
  • APT_Command +: apt.h +
  • +
  • APT_HookType +: apt.h +
  • +
  • APT_QueryReply +: apt.h +
  • +
  • APT_Signal +: apt.h +
  • +
  • ArbitrationType +: svc.h +
  • +
+ + +

- b -

    +
  • bossNsDataHeaderInfoTypes +: boss.h +
  • +
  • bossNsDataHeaderInfoTypeSizes +: boss.h +
  • +
  • bossTaskStatus +: boss.h +
  • +
+ + +

- c -

    +
  • CAMU_Context +: cam.h +
  • +
  • CAMU_Contrast +: cam.h +
  • +
  • CAMU_Effect +: cam.h +
  • +
  • CAMU_Flip +: cam.h +
  • +
  • CAMU_FrameRate +: cam.h +
  • +
  • CAMU_LensCorrection +: cam.h +
  • +
  • CAMU_OutputFormat +: cam.h +
  • +
  • CAMU_PhotoMode +: cam.h +
  • +
  • CAMU_ShutterSoundType +: cam.h +
  • +
  • CAMU_Size +: cam.h +
  • +
  • CAMU_WhiteBalance +: cam.h +
  • +
  • CFG_Language +: cfgu.h +
  • +
  • CFG_Region +: cfgu.h +
  • +
  • CFG_SystemModel +: cfgu.h +
  • +
  • CodecI2sLine +: cdcchk.h +
  • +
  • CSND_DutyCycle +: csnd.h +
  • +
+ + +

- d -

+ + +

- e -

    +
  • ERRF_ErrType +: errf.h +
  • +
  • ERRF_ExceptionType +: errf.h +
  • +
  • errorType +: error.h +
  • +
  • ExceptionEventType +: svc.h +
  • +
  • ExitProcessEventReason +: svc.h +
  • +
  • ExitThreadEventReason +: svc.h +
  • +
+ + +

- f -

    +
  • FS_Action +: fs.h +
  • +
  • FS_ArchiveAction +: fs.h +
  • +
  • FS_ArchiveID +: fs.h +
  • +
  • FS_CardSpiBaudRate +: fs.h +
  • +
  • FS_CardSpiBusMode +: fs.h +
  • +
  • FS_CardType +: fs.h +
  • +
  • FS_DirectoryAction +: fs.h +
  • +
  • FS_FileAction +: fs.h +
  • +
  • FS_MediaType +: fs.h +
  • +
  • FS_PathType +: fs.h +
  • +
  • FS_SecureSaveAction +: fs.h +
  • +
  • FS_SecureValueSlot +: fs.h +
  • +
  • FS_SpecialContentType +: fs.h +
  • +
  • FS_SystemMediaType +: fs.h +
  • +
+ + +

- g -

+ + +

- h -

+ + +

- i -

    +
  • IPC_BufferRights +: ipc.h +
  • +
+ + +

- m -

+ + +

- n -

+ + +

- p -

    +
  • PerfCounterEvent +: svc.h +
  • +
  • PerfCounterOperation +: svc.h +
  • +
  • PerfCounterRegister +: svc.h +
  • +
  • powerLedState +: mcuhwc.h +
  • +
  • PS_AESAlgorithm +: ps.h +
  • +
  • PS_AESKeyType +: ps.h +
  • +
  • PXIDEV_DeassertType +: pxidev.h +
  • +
  • PXIDEV_WaitType +: pxidev.h +
  • +
+ + +

- r -

+ + +

- s -

+ + +

- t -

    +
  • ThreadContextControlFlags +: svc.h +
  • +
  • ThreadInfoType +: svc.h +
  • +
+ + +

- u -

    +
  • UserBreakType +: svc.h +
  • +
+ + +

- y -

    +
  • Y2RU_BlockAlignment +: y2r.h +
  • +
  • Y2RU_InputFormat +: y2r.h +
  • +
  • Y2RU_OutputFormat +: y2r.h +
  • +
  • Y2RU_Rotation +: y2r.h +
  • +
  • Y2RU_StandardCoefficient +: y2r.h +
  • +
+
+ + + + diff --git a/globals_eval.html b/globals_eval.html new file mode 100644 index 000000000..5d0096422 --- /dev/null +++ b/globals_eval.html @@ -0,0 +1,438 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

    +
  • AC_OPEN +: ac.h +
  • +
  • AC_WEP_104BIT +: ac.h +
  • +
  • AC_WEP_128BIT +: ac.h +
  • +
  • AC_WEP_40BIT +: ac.h +
  • +
  • AC_WPA2_AES +: ac.h +
  • +
  • AC_WPA2_TKIP +: ac.h +
  • +
  • AC_WPA_AES +: ac.h +
  • +
  • AC_WPA_TKIP +: ac.h +
  • +
  • AM_CONTENT_DOWNLOADED +: am.h +
  • +
  • AM_CONTENT_OWNED +: am.h +
  • +
  • AM_DELETE_PENDING_NON_SYSTEM +: am.h +
  • +
  • AM_DELETE_PENDING_SYSTEM +: am.h +
  • +
  • AM_STATUS_ABORTED +: am.h +
  • +
  • AM_STATUS_AWAITING_FINALIZATION +: am.h +
  • +
  • AM_STATUS_INSTALL_IN_PROGRESS +: am.h +
  • +
  • AM_STATUS_MASK_AWAITING_FINALIZATION +: am.h +
  • +
  • AM_STATUS_MASK_INSTALLING +: am.h +
  • +
  • AM_STATUS_SAVED +: am.h +
  • +
  • APPID_AMIIBO_SETTINGS +: apt.h +
  • +
  • APPID_APPLETED +: apt.h +
  • +
  • APPID_APPLICATION +: apt.h +
  • +
  • APPID_CAMERA +: apt.h +
  • +
  • APPID_ERROR +: apt.h +
  • +
  • APPID_ESHOP +: apt.h +
  • +
  • APPID_EXTRAPAD +: apt.h +
  • +
  • APPID_FRIENDS_LIST +: apt.h +
  • +
  • APPID_GAME_NOTES +: apt.h +
  • +
  • APPID_HOMEMENU +: apt.h +
  • +
  • APPID_INSTRUCTION_MANUAL +: apt.h +
  • +
  • APPID_MEMOLIB +: apt.h +
  • +
  • APPID_MIIVERSE +: apt.h +
  • +
  • APPID_MIIVERSE_POSTING +: apt.h +
  • +
  • APPID_MINT +: apt.h +
  • +
  • APPID_NOTIFICATIONS +: apt.h +
  • +
  • APPID_PNOTE_AP +: apt.h +
  • +
  • APPID_SNOTE_AP +: apt.h +
  • +
  • APPID_SOFTWARE_KEYBOARD +: apt.h +
  • +
  • APPID_WEB +: apt.h +
  • +
  • APTCMD_DSP_SLEEP +: apt.h +
  • +
  • APTCMD_DSP_WAKEUP +: apt.h +
  • +
  • APTCMD_EXIT +: apt.h +
  • +
  • APTCMD_HOMEBUTTON_ONCE +: apt.h +
  • +
  • APTCMD_HOMEBUTTON_TWICE +: apt.h +
  • +
  • APTCMD_MESSAGE +: apt.h +
  • +
  • APTCMD_NONE +: apt.h +
  • +
  • APTCMD_REQUEST +: apt.h +
  • +
  • APTCMD_RESPONSE +: apt.h +
  • +
  • APTCMD_SYSAPPLET_REQUEST +: apt.h +
  • +
  • APTCMD_WAKEUP +: apt.h +
  • +
  • APTCMD_WAKEUP_CANCEL +: apt.h +
  • +
  • APTCMD_WAKEUP_CANCELALL +: apt.h +
  • +
  • APTCMD_WAKEUP_EXIT +: apt.h +
  • +
  • APTCMD_WAKEUP_JUMPTOHOME +: apt.h +
  • +
  • APTCMD_WAKEUP_LAUNCHAPP +: apt.h +
  • +
  • APTCMD_WAKEUP_PAUSE +: apt.h +
  • +
  • APTCMD_WAKEUP_POWERBUTTON +: apt.h +
  • +
  • APTHOOK_COUNT +: apt.h +
  • +
  • APTHOOK_ONEXIT +: apt.h +
  • +
  • APTHOOK_ONRESTORE +: apt.h +
  • +
  • APTHOOK_ONSLEEP +: apt.h +
  • +
  • APTHOOK_ONSUSPEND +: apt.h +
  • +
  • APTHOOK_ONWAKEUP +: apt.h +
  • +
  • APTPOS_APP +: apt.h +
  • +
  • APTPOS_APPLIB +: apt.h +
  • +
  • APTPOS_NONE +: apt.h +
  • +
  • APTPOS_RESIDENT +: apt.h +
  • +
  • APTPOS_SYS +: apt.h +
  • +
  • APTPOS_SYSLIB +: apt.h +
  • +
  • APTSIGNAL_HOMEBUTTON +: apt.h +
  • +
  • APTSIGNAL_HOMEBUTTON2 +: apt.h +
  • +
  • APTSIGNAL_NONE +: apt.h +
  • +
  • APTSIGNAL_ORDERTOCLOSE +: apt.h +
  • +
  • APTSIGNAL_POWERBUTTON +: apt.h +
  • +
  • APTSIGNAL_POWERBUTTON2 +: apt.h +
  • +
  • APTSIGNAL_SHUTDOWN +: apt.h +
  • +
  • APTSIGNAL_SLEEP_CANCEL +: apt.h +
  • +
  • APTSIGNAL_SLEEP_ENTER +: apt.h +
  • +
  • APTSIGNAL_SLEEP_QUERY +: apt.h +
  • +
  • APTSIGNAL_SLEEP_WAKEUP +: apt.h +
  • +
  • APTSIGNAL_TRY_SLEEP +: apt.h +
  • +
  • ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN +: svc.h +
  • +
  • ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN_TIMEOUT +: svc.h +
  • +
  • ARBITRATION_SIGNAL +: svc.h +
  • +
  • ARBITRATION_WAIT_IF_LESS_THAN +: svc.h +
  • +
  • ARBITRATION_WAIT_IF_LESS_THAN_TIMEOUT +: svc.h +
  • +
  • ARCHIVE_ACTION_COMMIT_SAVE_DATA +: fs.h +
  • +
  • ARCHIVE_ACTION_GET_TIMESTAMP +: fs.h +
  • +
  • ARCHIVE_BOSS_EXTDATA +: fs.h +
  • +
  • ARCHIVE_CARD_SPIFS +: fs.h +
  • +
  • ARCHIVE_DEMO_SAVEDATA +: fs.h +
  • +
  • ARCHIVE_EXTDATA +: fs.h +
  • +
  • ARCHIVE_EXTDATA_AND_BOSS_EXTDATA +: fs.h +
  • +
  • ARCHIVE_GAMECARD_SAVEDATA +: fs.h +
  • +
  • ARCHIVE_NAND_CTR_FS +: fs.h +
  • +
  • ARCHIVE_NAND_RO +: fs.h +
  • +
  • ARCHIVE_NAND_RO_WRITE_ACCESS +: fs.h +
  • +
  • ARCHIVE_NAND_RW +: fs.h +
  • +
  • ARCHIVE_NAND_TWL_FS +: fs.h +
  • +
  • ARCHIVE_NAND_W_FS +: fs.h +
  • +
  • ARCHIVE_ROMFS +: fs.h +
  • +
  • ARCHIVE_SAVEDATA +: fs.h +
  • +
  • ARCHIVE_SAVEDATA_AND_CONTENT +: fs.h +
  • +
  • ARCHIVE_SAVEDATA_AND_CONTENT2 +: fs.h +
  • +
  • ARCHIVE_SDMC +: fs.h +
  • +
  • ARCHIVE_SDMC_WRITE_ONLY +: fs.h +
  • +
  • ARCHIVE_SHARED_EXTDATA +: fs.h +
  • +
  • ARCHIVE_SYSTEM_SAVEDATA +: fs.h +
  • +
  • ARCHIVE_SYSTEM_SAVEDATA2 +: fs.h +
  • +
  • ARCHIVE_TWL_PHOTO +: fs.h +
  • +
  • ARCHIVE_TWL_SOUND +: fs.h +
  • +
  • ARCHIVE_USER_SAVEDATA +: fs.h +
  • +
  • ARM9DESC_CREATE_SEED +: exheader.h +
  • +
  • ARM9DESC_MOUNT_CARDSPI +: exheader.h +
  • +
  • ARM9DESC_MOUNT_NAND +: exheader.h +
  • +
  • ARM9DESC_MOUNT_NANDRO_RW +: exheader.h +
  • +
  • ARM9DESC_MOUNT_SDMC_RW +: exheader.h +
  • +
  • ARM9DESC_MOUNT_TWLN +: exheader.h +
  • +
  • ARM9DESC_MOUNT_WNAND +: exheader.h +
  • +
  • ARM9DESC_SD_APPLICATION +: exheader.h +
  • +
  • ARM9DESC_USE_CARD_SPI +: exheader.h +
  • +
  • ARM9DESC_USE_SDIF3 +: exheader.h +
  • +
+
+ + + + diff --git a/globals_eval_b.html b/globals_eval_b.html new file mode 100644 index 000000000..9d7c5248e --- /dev/null +++ b/globals_eval_b.html @@ -0,0 +1,105 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

    +
  • BAUDRATE_16MHZ +: fs.h +
  • +
  • BAUDRATE_1MHZ +: fs.h +
  • +
  • BAUDRATE_2MHZ +: fs.h +
  • +
  • BAUDRATE_4MHZ +: fs.h +
  • +
  • BAUDRATE_512KHZ +: fs.h +
  • +
  • BAUDRATE_8MHZ +: fs.h +
  • +
  • BLOCK_8_BY_8 +: y2r.h +
  • +
  • BLOCK_LINE +: y2r.h +
  • +
  • BUSMODE_1BIT +: fs.h +
  • +
  • BUSMODE_4BIT +: fs.h +
  • +
+
+ + + + diff --git a/globals_eval_c.html b/globals_eval_c.html new file mode 100644 index 000000000..609b37a48 --- /dev/null +++ b/globals_eval_c.html @@ -0,0 +1,276 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- c -

    +
  • CAPTURE_ENABLE +: csnd.h +
  • +
  • CAPTURE_FORMAT_16BIT +: csnd.h +
  • +
  • CAPTURE_FORMAT_8BIT +: csnd.h +
  • +
  • CAPTURE_ONE_SHOT +: csnd.h +
  • +
  • CAPTURE_REPEAT +: csnd.h +
  • +
  • CARD_CTR +: fs.h +
  • +
  • CARD_TWL +: fs.h +
  • +
  • CFG_LANGUAGE_DE +: cfgu.h +
  • +
  • CFG_LANGUAGE_EN +: cfgu.h +
  • +
  • CFG_LANGUAGE_ES +: cfgu.h +
  • +
  • CFG_LANGUAGE_FR +: cfgu.h +
  • +
  • CFG_LANGUAGE_IT +: cfgu.h +
  • +
  • CFG_LANGUAGE_JP +: cfgu.h +
  • +
  • CFG_LANGUAGE_KO +: cfgu.h +
  • +
  • CFG_LANGUAGE_NL +: cfgu.h +
  • +
  • CFG_LANGUAGE_PT +: cfgu.h +
  • +
  • CFG_LANGUAGE_RU +: cfgu.h +
  • +
  • CFG_LANGUAGE_TW +: cfgu.h +
  • +
  • CFG_LANGUAGE_ZH +: cfgu.h +
  • +
  • CFG_MODEL_2DS +: cfgu.h +
  • +
  • CFG_MODEL_3DS +: cfgu.h +
  • +
  • CFG_MODEL_3DSXL +: cfgu.h +
  • +
  • CFG_MODEL_N2DSXL +: cfgu.h +
  • +
  • CFG_MODEL_N3DS +: cfgu.h +
  • +
  • CFG_MODEL_N3DSXL +: cfgu.h +
  • +
  • CFG_REGION_AUS +: cfgu.h +
  • +
  • CFG_REGION_CHN +: cfgu.h +
  • +
  • CFG_REGION_EUR +: cfgu.h +
  • +
  • CFG_REGION_JPN +: cfgu.h +
  • +
  • CFG_REGION_KOR +: cfgu.h +
  • +
  • CFG_REGION_TWN +: cfgu.h +
  • +
  • CFG_REGION_USA +: cfgu.h +
  • +
  • CMAP_TYPE_DIRECT +: font.h +
  • +
  • CMAP_TYPE_SCAN +: font.h +
  • +
  • CMAP_TYPE_TABLE +: font.h +
  • +
  • CODEC_I2S_LINE_1 +: cdcchk.h +
  • +
  • CODEC_I2S_LINE_2 +: cdcchk.h +
  • +
  • COEFFICIENT_ITU_R_BT_601 +: y2r.h +
  • +
  • COEFFICIENT_ITU_R_BT_601_SCALING +: y2r.h +
  • +
  • COEFFICIENT_ITU_R_BT_709 +: y2r.h +
  • +
  • COEFFICIENT_ITU_R_BT_709_SCALING +: y2r.h +
  • +
  • CONTEXT_A +: cam.h +
  • +
  • CONTEXT_B +: cam.h +
  • +
  • CONTEXT_BOTH +: cam.h +
  • +
  • CONTEXT_NONE +: cam.h +
  • +
  • CONTRAST_HIGH +: cam.h +
  • +
  • CONTRAST_LOW +: cam.h +
  • +
  • CONTRAST_NORMAL +: cam.h +
  • +
  • CONTRAST_PATTERN_01 +: cam.h +
  • +
  • CONTRAST_PATTERN_02 +: cam.h +
  • +
  • CONTRAST_PATTERN_03 +: cam.h +
  • +
  • CONTRAST_PATTERN_04 +: cam.h +
  • +
  • CONTRAST_PATTERN_05 +: cam.h +
  • +
  • CONTRAST_PATTERN_06 +: cam.h +
  • +
  • CONTRAST_PATTERN_07 +: cam.h +
  • +
  • CONTRAST_PATTERN_08 +: cam.h +
  • +
  • CONTRAST_PATTERN_09 +: cam.h +
  • +
  • CONTRAST_PATTERN_10 +: cam.h +
  • +
  • CONTRAST_PATTERN_11 +: cam.h +
  • +
  • CSND_ENCODING_ADPCM +: csnd.h +
  • +
  • CSND_ENCODING_PCM16 +: csnd.h +
  • +
  • CSND_ENCODING_PCM8 +: csnd.h +
  • +
  • CSND_ENCODING_PSG +: csnd.h +
  • +
  • CSND_LOOPMODE_MANUAL +: csnd.h +
  • +
  • CSND_LOOPMODE_NORELOAD +: csnd.h +
  • +
  • CSND_LOOPMODE_NORMAL +: csnd.h +
  • +
  • CSND_LOOPMODE_ONESHOT +: csnd.h +
  • +
+
+ + + + diff --git a/globals_eval_d.html b/globals_eval_d.html new file mode 100644 index 000000000..11a2fd42f --- /dev/null +++ b/globals_eval_d.html @@ -0,0 +1,321 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- d -

+
+ + + + diff --git a/globals_eval_e.html b/globals_eval_e.html new file mode 100644 index 000000000..c92ff4550 --- /dev/null +++ b/globals_eval_e.html @@ -0,0 +1,210 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- e -

    +
  • EFFECT_MONO +: cam.h +
  • +
  • EFFECT_NEGAFILM +: cam.h +
  • +
  • EFFECT_NEGATIVE +: cam.h +
  • +
  • EFFECT_NONE +: cam.h +
  • +
  • EFFECT_SEPIA +: cam.h +
  • +
  • EFFECT_SEPIA01 +: cam.h +
  • +
  • ERRF_ERRTYPE_CARD_REMOVED +: errf.h +
  • +
  • ERRF_ERRTYPE_EXCEPTION +: errf.h +
  • +
  • ERRF_ERRTYPE_FAILURE +: errf.h +
  • +
  • ERRF_ERRTYPE_GENERIC +: errf.h +
  • +
  • ERRF_ERRTYPE_LOG_ONLY +: errf.h +
  • +
  • ERRF_ERRTYPE_NAND_DAMAGED +: errf.h +
  • +
  • ERRF_EXCEPTION_DATA_ABORT +: errf.h +
  • +
  • ERRF_EXCEPTION_PREFETCH_ABORT +: errf.h +
  • +
  • ERRF_EXCEPTION_UNDEFINED +: errf.h +
  • +
  • ERRF_EXCEPTION_VFP +: errf.h +
  • +
  • ERROR_CODE +: error.h +
  • +
  • ERROR_CODE_LANGUAGE +: error.h +
  • +
  • ERROR_EULA +: error.h +
  • +
  • ERROR_EULA_LANGUAGE +: error.h +
  • +
  • ERROR_LANGUAGE_FLAG +: error.h +
  • +
  • ERROR_TEXT +: error.h +
  • +
  • ERROR_TEXT_LANGUAGE +: error.h +
  • +
  • ERROR_TEXT_LANGUAGE_WORD_WRAP +: error.h +
  • +
  • ERROR_TEXT_WORD_WRAP +: error.h +
  • +
  • ERROR_TYPE_AGREE +: error.h +
  • +
  • ERROR_TYPE_EULA_DRAW_ONLY +: error.h +
  • +
  • ERROR_TYPE_EULA_FIRST_BOOT +: error.h +
  • +
  • ERROR_WORD_WRAP_FLAG +: error.h +
  • +
  • EXCEVENT_ATTACH_BREAK +: svc.h +
  • +
  • EXCEVENT_DATA_ABORT +: svc.h +
  • +
  • EXCEVENT_DEBUGGER_BREAK +: svc.h +
  • +
  • EXCEVENT_PREFETCH_ABORT +: svc.h +
  • +
  • EXCEVENT_STOP_POINT +: svc.h +
  • +
  • EXCEVENT_UNALIGNED_DATA_ACCESS +: svc.h +
  • +
  • EXCEVENT_UNDEFINED_INSTRUCTION +: svc.h +
  • +
  • EXCEVENT_UNDEFINED_SYSCALL +: svc.h +
  • +
  • EXCEVENT_USER_BREAK +: svc.h +
  • +
  • EXITPROCESS_EVENT_DEBUG_TERMINATE +: svc.h +
  • +
  • EXITPROCESS_EVENT_EXIT +: svc.h +
  • +
  • EXITPROCESS_EVENT_TERMINATE +: svc.h +
  • +
  • EXITTHREAD_EVENT_EXIT +: svc.h +
  • +
  • EXITTHREAD_EVENT_EXIT_PROCESS +: svc.h +
  • +
  • EXITTHREAD_EVENT_TERMINATE +: svc.h +
  • +
  • EXITTHREAD_EVENT_TERMINATE_PROCESS +: svc.h +
  • +
+
+ + + + diff --git a/globals_eval_f.html b/globals_eval_f.html new file mode 100644 index 000000000..e5941b256 --- /dev/null +++ b/globals_eval_f.html @@ -0,0 +1,240 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- f -

+
+ + + + diff --git a/globals_eval_g.html b/globals_eval_g.html new file mode 100644 index 000000000..c53fde82d --- /dev/null +++ b/globals_eval_g.html @@ -0,0 +1,924 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- g -

+
+ + + + diff --git a/globals_eval_h.html b/globals_eval_h.html new file mode 100644 index 000000000..cfc211c45 --- /dev/null +++ b/globals_eval_h.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- h -

    +
  • HIDEVENT_Accel +: hid.h +
  • +
  • HIDEVENT_DebugPad +: hid.h +
  • +
  • HIDEVENT_Gyro +: hid.h +
  • +
  • HIDEVENT_MAX +: hid.h +
  • +
  • HIDEVENT_PAD0 +: hid.h +
  • +
  • HIDEVENT_PAD1 +: hid.h +
  • +
  • HTTPC_STATUS_DOWNLOAD_READY +: httpc.h +
  • +
  • HTTPC_STATUS_REQUEST_IN_PROGRESS +: httpc.h +
  • +
+
+ + + + diff --git a/globals_eval_i.html b/globals_eval_i.html new file mode 100644 index 000000000..58771484e --- /dev/null +++ b/globals_eval_i.html @@ -0,0 +1,111 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- i -

    +
  • IM_DEFAULT +: nim.h +
  • +
  • IM_REINSTALL +: nim.h +
  • +
  • IM_UNKNOWN1 +: nim.h +
  • +
  • IM_UNKNOWN2 +: nim.h +
  • +
  • INPUT_YUV420_INDIV_16 +: y2r.h +
  • +
  • INPUT_YUV420_INDIV_8 +: y2r.h +
  • +
  • INPUT_YUV422_BATCH +: y2r.h +
  • +
  • INPUT_YUV422_INDIV_16 +: y2r.h +
  • +
  • INPUT_YUV422_INDIV_8 +: y2r.h +
  • +
  • IPC_BUFFER_R +: ipc.h +
  • +
  • IPC_BUFFER_RW +: ipc.h +
  • +
  • IPC_BUFFER_W +: ipc.h +
  • +
+
+ + + + diff --git a/globals_eval_k.html b/globals_eval_k.html new file mode 100644 index 000000000..3e4783d07 --- /dev/null +++ b/globals_eval_k.html @@ -0,0 +1,156 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- k -

+
+ + + + diff --git a/globals_eval_l.html b/globals_eval_l.html new file mode 100644 index 000000000..45e61744f --- /dev/null +++ b/globals_eval_l.html @@ -0,0 +1,111 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- l -

+
+ + + + diff --git a/globals_eval_m.html b/globals_eval_m.html new file mode 100644 index 000000000..8f032d259 --- /dev/null +++ b/globals_eval_m.html @@ -0,0 +1,246 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- m -

    +
  • MEDIATYPE_GAME_CARD +: fs.h +
  • +
  • MEDIATYPE_NAND +: fs.h +
  • +
  • MEDIATYPE_SD +: fs.h +
  • +
  • MEMOP_ALLOC +: svc.h +
  • +
  • MEMOP_ALLOC_LINEAR +: svc.h +
  • +
  • MEMOP_FREE +: svc.h +
  • +
  • MEMOP_LINEAR_FLAG +: svc.h +
  • +
  • MEMOP_MAP +: svc.h +
  • +
  • MEMOP_OP_MASK +: svc.h +
  • +
  • MEMOP_PROT +: svc.h +
  • +
  • MEMOP_REGION_APP +: svc.h +
  • +
  • MEMOP_REGION_BASE +: svc.h +
  • +
  • MEMOP_REGION_MASK +: svc.h +
  • +
  • MEMOP_REGION_SYSTEM +: svc.h +
  • +
  • MEMOP_RESERVE +: svc.h +
  • +
  • MEMOP_UNMAP +: svc.h +
  • +
  • MEMPERM_DONTCARE +: svc.h +
  • +
  • MEMPERM_EXECUTE +: svc.h +
  • +
  • MEMPERM_READ +: svc.h +
  • +
  • MEMPERM_READEXECUTE +: svc.h +
  • +
  • MEMPERM_READWRITE +: svc.h +
  • +
  • MEMPERM_WRITE +: svc.h +
  • +
  • MEMREGION_ALL +: svc.h +
  • +
  • MEMREGION_APPLICATION +: svc.h +
  • +
  • MEMREGION_BASE +: svc.h +
  • +
  • MEMREGION_SYSTEM +: svc.h +
  • +
  • MEMSTATE_ALIAS +: svc.h +
  • +
  • MEMSTATE_ALIASCODE +: svc.h +
  • +
  • MEMSTATE_ALIASED +: svc.h +
  • +
  • MEMSTATE_CODE +: svc.h +
  • +
  • MEMSTATE_CONTINUOUS +: svc.h +
  • +
  • MEMSTATE_FREE +: svc.h +
  • +
  • MEMSTATE_IO +: svc.h +
  • +
  • MEMSTATE_LOCKED +: svc.h +
  • +
  • MEMSTATE_PRIVATE +: svc.h +
  • +
  • MEMSTATE_RESERVED +: svc.h +
  • +
  • MEMSTATE_SHARED +: svc.h +
  • +
  • MEMSTATE_STATIC +: svc.h +
  • +
  • MICU_ENCODING_PCM16 +: mic.h +
  • +
  • MICU_ENCODING_PCM16_SIGNED +: mic.h +
  • +
  • MICU_ENCODING_PCM8 +: mic.h +
  • +
  • MICU_ENCODING_PCM8_SIGNED +: mic.h +
  • +
  • MICU_SAMPLE_RATE_10910 +: mic.h +
  • +
  • MICU_SAMPLE_RATE_16360 +: mic.h +
  • +
  • MICU_SAMPLE_RATE_32730 +: mic.h +
  • +
  • MICU_SAMPLE_RATE_8180 +: mic.h +
  • +
  • MIISELECTOR_CANCEL +: miiselector.h +
  • +
  • MIISELECTOR_GUESTS +: miiselector.h +
  • +
  • MIISELECTOR_GUESTSTART +: miiselector.h +
  • +
  • MIISELECTOR_TOP +: miiselector.h +
  • +
  • MVD_INPUT_H264 +: mvd.h +
  • +
  • MVD_INPUT_YUYV422 +: mvd.h +
  • +
  • MVD_OUTPUT_BGR565 +: mvd.h +
  • +
  • MVD_OUTPUT_RGB565 +: mvd.h +
  • +
  • MVD_OUTPUT_YUYV422 +: mvd.h +
  • +
  • MVDMODE_COLORFORMATCONV +: mvd.h +
  • +
  • MVDMODE_VIDEOPROCESSING +: mvd.h +
  • +
+
+ + + + diff --git a/globals_eval_n.html b/globals_eval_n.html new file mode 100644 index 000000000..24d0ac708 --- /dev/null +++ b/globals_eval_n.html @@ -0,0 +1,216 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- n -

    +
  • NDSP_3D_SURROUND_PREPROCESSED +: channel.h +
  • +
  • NDSP_CLIP_NORMAL +: ndsp.h +
  • +
  • NDSP_CLIP_SOFT +: ndsp.h +
  • +
  • NDSP_ENCODING_ADPCM +: channel.h +
  • +
  • NDSP_ENCODING_PCM16 +: channel.h +
  • +
  • NDSP_ENCODING_PCM8 +: channel.h +
  • +
  • NDSP_FORMAT_ADPCM +: channel.h +
  • +
  • NDSP_FORMAT_MONO_ADPCM +: channel.h +
  • +
  • NDSP_FORMAT_MONO_PCM16 +: channel.h +
  • +
  • NDSP_FORMAT_MONO_PCM8 +: channel.h +
  • +
  • NDSP_FORMAT_PCM16 +: channel.h +
  • +
  • NDSP_FORMAT_PCM8 +: channel.h +
  • +
  • NDSP_FORMAT_STEREO_PCM16 +: channel.h +
  • +
  • NDSP_FORMAT_STEREO_PCM8 +: channel.h +
  • +
  • NDSP_FRONT_BYPASS +: channel.h +
  • +
  • NDSP_INTERP_LINEAR +: channel.h +
  • +
  • NDSP_INTERP_NONE +: channel.h +
  • +
  • NDSP_INTERP_POLYPHASE +: channel.h +
  • +
  • NDSP_OUTPUT_MONO +: ndsp.h +
  • +
  • NDSP_OUTPUT_STEREO +: ndsp.h +
  • +
  • NDSP_OUTPUT_SURROUND +: ndsp.h +
  • +
  • NDSP_SPKPOS_NUM +: ndsp.h +
  • +
  • NDSP_SPKPOS_SQUARE +: ndsp.h +
  • +
  • NDSP_SPKPOS_WIDE +: ndsp.h +
  • +
  • NDSP_WBUF_DONE +: ndsp.h +
  • +
  • NDSP_WBUF_FREE +: ndsp.h +
  • +
  • NDSP_WBUF_PLAYING +: ndsp.h +
  • +
  • NDSP_WBUF_QUEUED +: ndsp.h +
  • +
  • NETOPT_ARP_TABLE +: soc.h +
  • +
  • NETOPT_DHCP_LEASE_TIME +: soc.h +
  • +
  • NETOPT_DNS_TABLE +: soc.h +
  • +
  • NETOPT_IP_INFO +: soc.h +
  • +
  • NETOPT_IP_MTU +: soc.h +
  • +
  • NETOPT_MAC_ADDRESS +: soc.h +
  • +
  • NETOPT_ROUTING_TABLE +: soc.h +
  • +
  • NETOPT_TCP_NUMBER +: soc.h +
  • +
  • NETOPT_TCP_TABLE +: soc.h +
  • +
  • NETOPT_UDP_NUMBER +: soc.h +
  • +
  • NETOPT_UDP_TABLE +: soc.h +
  • +
  • NFC_amiiboFlag_AppDataSetup +: nfc.h +
  • +
  • NFC_OpType_NFCTag +: nfc.h +
  • +
  • NFC_OpType_RawNFC +: nfc.h +
  • +
  • NFC_TagState_DataReady +: nfc.h +
  • +
  • NFC_TagState_InRange +: nfc.h +
  • +
  • NFC_TagState_OutOfRange +: nfc.h +
  • +
  • NFC_TagState_Scanning +: nfc.h +
  • +
  • NFC_TagState_ScanningStopped +: nfc.h +
  • +
+
+ + + + diff --git a/globals_eval_o.html b/globals_eval_o.html new file mode 100644 index 000000000..f0b843115 --- /dev/null +++ b/globals_eval_o.html @@ -0,0 +1,93 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- o -

    +
  • OUTPUT_RGB_16_555 +: y2r.h +
  • +
  • OUTPUT_RGB_16_565 +: y2r.h +
  • +
  • OUTPUT_RGB_24 +: y2r.h +
  • +
  • OUTPUT_RGB_32 +: y2r.h +
  • +
  • OUTPUT_RGB_565 +: cam.h +
  • +
  • OUTPUT_YUV_422 +: cam.h +
  • +
+
+ + + + diff --git a/globals_eval_p.html b/globals_eval_p.html new file mode 100644 index 000000000..5abe88720 --- /dev/null +++ b/globals_eval_p.html @@ -0,0 +1,267 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- p -

    +
  • PATH_ASCII +: fs.h +
  • +
  • PATH_BINARY +: fs.h +
  • +
  • PATH_EMPTY +: fs.h +
  • +
  • PATH_INVALID +: fs.h +
  • +
  • PATH_UTF16 +: fs.h +
  • +
  • PERFCOUNTEREVT_CORE_CYCLE_COUNT +: svc.h +
  • +
  • PERFCOUNTEREVT_CORE_CYCLE_COUNT_64 +: svc.h +
  • +
  • PERFCOUNTEROP_DISABLE +: svc.h +
  • +
  • PERFCOUNTEROP_ENABLE +: svc.h +
  • +
  • PERFCOUNTEROP_GET_EVENT +: svc.h +
  • +
  • PERFCOUNTEROP_GET_OVERFLOW_FLAGS +: svc.h +
  • +
  • PERFCOUNTEROP_GET_VALUE +: svc.h +
  • +
  • PERFCOUNTEROP_RESET +: svc.h +
  • +
  • PERFCOUNTEROP_SET_EVENT +: svc.h +
  • +
  • PERFCOUNTEROP_SET_VALUE +: svc.h +
  • +
  • PERFCOUNTEROP_SET_VIRTUAL_COUNTER_ENABLED +: svc.h +
  • +
  • PERFCOUNTERREG_CORE_COUNT_REG_0 +: svc.h +
  • +
  • PERFCOUNTERREG_CORE_COUNT_REG_1 +: svc.h +
  • +
  • PERFCOUNTERREG_CORE_CYCLE_COUNTER +: svc.h +
  • +
  • PERFCOUNTERREG_SCU_0 +: svc.h +
  • +
  • PERFCOUNTERREG_SCU_1 +: svc.h +
  • +
  • PERFCOUNTERREG_SCU_2 +: svc.h +
  • +
  • PERFCOUNTERREG_SCU_3 +: svc.h +
  • +
  • PERFCOUNTERREG_SCU_4 +: svc.h +
  • +
  • PERFCOUNTERREG_SCU_5 +: svc.h +
  • +
  • PERFCOUNTERREG_SCU_6 +: svc.h +
  • +
  • PERFCOUNTERREG_SCU_7 +: svc.h +
  • +
  • PHOTO_MODE_LANDSCAPE +: cam.h +
  • +
  • PHOTO_MODE_LETTER +: cam.h +
  • +
  • PHOTO_MODE_NIGHTVIEW +: cam.h +
  • +
  • PHOTO_MODE_NORMAL +: cam.h +
  • +
  • PHOTO_MODE_PORTRAIT +: cam.h +
  • +
  • PMLAUNCHFLAG_FORCE_USE_O3DS_APP_MEM +: pmapp.h +
  • +
  • PMLAUNCHFLAG_FORCE_USE_O3DS_MAX_APP_MEM +: pmapp.h +
  • +
  • PORT_BOTH +: cam.h +
  • +
  • PORT_CAM1 +: cam.h +
  • +
  • PORT_CAM2 +: cam.h +
  • +
  • PORT_NONE +: cam.h +
  • +
  • PS_ALGORITHM_CBC_DEC +: ps.h +
  • +
  • PS_ALGORITHM_CBC_ENC +: ps.h +
  • +
  • PS_ALGORITHM_CCM_DEC +: ps.h +
  • +
  • PS_ALGORITHM_CCM_ENC +: ps.h +
  • +
  • PS_ALGORITHM_CTR_DEC +: ps.h +
  • +
  • PS_ALGORITHM_CTR_ENC +: ps.h +
  • +
  • PS_KEYSLOT_0D +: ps.h +
  • +
  • PS_KEYSLOT_2D +: ps.h +
  • +
  • PS_KEYSLOT_2E +: ps.h +
  • +
  • PS_KEYSLOT_31 +: ps.h +
  • +
  • PS_KEYSLOT_32 +: ps.h +
  • +
  • PS_KEYSLOT_36 +: ps.h +
  • +
  • PS_KEYSLOT_38 +: ps.h +
  • +
  • PS_KEYSLOT_39_DLP +: ps.h +
  • +
  • PS_KEYSLOT_39_NFC +: ps.h +
  • +
  • PS_KEYSLOT_INVALID +: ps.h +
  • +
  • PTMNOTIFID_BATTERY_LOW +: ptmsysm.h +
  • +
  • PTMNOTIFID_BATTERY_VERY_LOW +: ptmsysm.h +
  • +
  • PTMNOTIFID_FULLY_AWAKE +: ptmsysm.h +
  • +
  • PTMNOTIFID_FULLY_WAKING_UP +: ptmsysm.h +
  • +
  • PTMNOTIFID_GOING_TO_SLEEP +: ptmsysm.h +
  • +
  • PTMNOTIFID_HALF_AWAKE +: ptmsysm.h +
  • +
  • PTMNOTIFID_SHUTDOWN +: ptmsysm.h +
  • +
  • PTMNOTIFID_SLEEP_ALLOWED +: ptmsysm.h +
  • +
  • PTMNOTIFID_SLEEP_DENIED +: ptmsysm.h +
  • +
  • PTMNOTIFID_SLEEP_REQUESTED +: ptmsysm.h +
  • +
+
+ + + + diff --git a/globals_eval_r.html b/globals_eval_r.html new file mode 100644 index 000000000..45509daf4 --- /dev/null +++ b/globals_eval_r.html @@ -0,0 +1,177 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- r -

    +
  • RESET_ONESHOT +: svc.h +
  • +
  • RESET_PULSE +: svc.h +
  • +
  • RESET_STICKY +: svc.h +
  • +
  • RESLIMIT_ADDRESSARBITER +: svc.h +
  • +
  • RESLIMIT_BIT +: svc.h +
  • +
  • RESLIMIT_CATEGORY_APPLICATION +: exheader.h +
  • +
  • RESLIMIT_CATEGORY_LIB_APPLET +: exheader.h +
  • +
  • RESLIMIT_CATEGORY_OTHER +: exheader.h +
  • +
  • RESLIMIT_CATEGORY_SYS_APPLET +: exheader.h +
  • +
  • RESLIMIT_COMMIT +: svc.h +
  • +
  • RESLIMIT_CPUTIME +: svc.h +
  • +
  • RESLIMIT_EVENT +: svc.h +
  • +
  • RESLIMIT_MUTEX +: svc.h +
  • +
  • RESLIMIT_PRIORITY +: svc.h +
  • +
  • RESLIMIT_SEMAPHORE +: svc.h +
  • +
  • RESLIMIT_SHAREDMEMORY +: svc.h +
  • +
  • RESLIMIT_THREAD +: svc.h +
  • +
  • RESLIMIT_TIMER +: svc.h +
  • +
  • RESULT_COLOR +: shbin.h +
  • +
  • RESULT_DUMMY +: shbin.h +
  • +
  • RESULT_NORMALQUAT +: shbin.h +
  • +
  • RESULT_POSITION +: shbin.h +
  • +
  • RESULT_TEXCOORD0 +: shbin.h +
  • +
  • RESULT_TEXCOORD0W +: shbin.h +
  • +
  • RESULT_TEXCOORD1 +: shbin.h +
  • +
  • RESULT_TEXCOORD2 +: shbin.h +
  • +
  • RESULT_VIEW +: shbin.h +
  • +
  • ROTATION_CLOCKWISE_180 +: y2r.h +
  • +
  • ROTATION_CLOCKWISE_270 +: y2r.h +
  • +
  • ROTATION_CLOCKWISE_90 +: y2r.h +
  • +
  • ROTATION_NONE +: y2r.h +
  • +
  • RUNFLAG_APTCHAINLOAD +: env.h +
  • +
  • RUNFLAG_APTREINIT +: env.h +
  • +
  • RUNFLAG_APTWORKAROUND +: env.h +
  • +
+
+ + + + diff --git a/globals_eval_s.html b/globals_eval_s.html new file mode 100644 index 000000000..767fa6714 --- /dev/null +++ b/globals_eval_s.html @@ -0,0 +1,363 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- s -

+
+ + + + diff --git a/globals_eval_t.html b/globals_eval_t.html new file mode 100644 index 000000000..8edf50795 --- /dev/null +++ b/globals_eval_t.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- t -

    +
  • THREADCONTEXT_CONTROL_ALL +: svc.h +
  • +
  • THREADCONTEXT_CONTROL_CPU_GPRS +: svc.h +
  • +
  • THREADCONTEXT_CONTROL_CPU_REGS +: svc.h +
  • +
  • THREADCONTEXT_CONTROL_CPU_SPRS +: svc.h +
  • +
  • THREADCONTEXT_CONTROL_FPU_GPRS +: svc.h +
  • +
  • THREADCONTEXT_CONTROL_FPU_REGS +: svc.h +
  • +
  • THREADCONTEXT_CONTROL_FPU_SPRS +: svc.h +
  • +
  • THREADINFO_TYPE_UNKNOWN +: svc.h +
  • +
+
+ + + + diff --git a/globals_eval_u.html b/globals_eval_u.html new file mode 100644 index 000000000..bc211093a --- /dev/null +++ b/globals_eval_u.html @@ -0,0 +1,96 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- u -

    +
  • USER_WENT_OFFLINE +: frd.h +
  • +
  • USER_WENT_ONLINE +: frd.h +
  • +
  • USERBREAK_ASSERT +: svc.h +
  • +
  • USERBREAK_LOAD_RO +: svc.h +
  • +
  • USERBREAK_PANIC +: svc.h +
  • +
  • USERBREAK_UNLOAD_RO +: svc.h +
  • +
  • USERBREAK_USER +: svc.h +
  • +
+
+ + + + diff --git a/globals_eval_v.html b/globals_eval_v.html new file mode 100644 index 000000000..a8910e1cb --- /dev/null +++ b/globals_eval_v.html @@ -0,0 +1,78 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- v -

+
+ + + + diff --git a/globals_eval_w.html b/globals_eval_w.html new file mode 100644 index 000000000..fcf7ec261 --- /dev/null +++ b/globals_eval_w.html @@ -0,0 +1,105 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- w -

    +
  • WAIT_IREQ_CONTINUE +: pxidev.h +
  • +
  • WAIT_IREQ_RETURN +: pxidev.h +
  • +
  • WAIT_NONE +: pxidev.h +
  • +
  • WAIT_SLEEP +: pxidev.h +
  • +
  • WHITE_BALANCE_3200K +: cam.h +
  • +
  • WHITE_BALANCE_4150K +: cam.h +
  • +
  • WHITE_BALANCE_5200K +: cam.h +
  • +
  • WHITE_BALANCE_6000K +: cam.h +
  • +
  • WHITE_BALANCE_7000K +: cam.h +
  • +
  • WHITE_BALANCE_AUTO +: cam.h +
  • +
+
+ + + + diff --git a/globals_f.html b/globals_f.html new file mode 100644 index 000000000..c2f9ca366 --- /dev/null +++ b/globals_f.html @@ -0,0 +1,1023 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- f -

    +
  • f32tof16() +: gpu.h +
  • +
  • f32tof20() +: gpu.h +
  • +
  • f32tof24() +: gpu.h +
  • +
  • f32tof31() +: gpu.h +
  • +
  • FLIP_HORIZONTAL +: cam.h +
  • +
  • FLIP_NONE +: cam.h +
  • +
  • FLIP_REVERSE +: cam.h +
  • +
  • FLIP_VERTICAL +: cam.h +
  • +
  • fontCalcGlyphPos() +: font.h +
  • +
  • fontEnsureMapped() +: font.h +
  • +
  • fontFixPointers() +: font.h +
  • +
  • fontGetCharWidthInfo() +: font.h +
  • +
  • fontGetGlyphInfo() +: font.h +
  • +
  • fontGetGlyphSheetTex() +: font.h +
  • +
  • fontGetInfo() +: font.h +
  • +
  • fontGetSystemFont() +: font.h +
  • +
  • fontGlyphIndexFromCodePoint() +: font.h +
  • +
  • FRAME_RATE_10 +: cam.h +
  • +
  • FRAME_RATE_15 +: cam.h +
  • +
  • FRAME_RATE_15_TO_10 +: cam.h +
  • +
  • FRAME_RATE_15_TO_2 +: cam.h +
  • +
  • FRAME_RATE_15_TO_5 +: cam.h +
  • +
  • FRAME_RATE_20 +: cam.h +
  • +
  • FRAME_RATE_20_TO_10 +: cam.h +
  • +
  • FRAME_RATE_20_TO_5 +: cam.h +
  • +
  • FRAME_RATE_30 +: cam.h +
  • +
  • FRAME_RATE_30_TO_10 +: cam.h +
  • +
  • FRAME_RATE_30_TO_5 +: cam.h +
  • +
  • FRAME_RATE_5 +: cam.h +
  • +
  • FRAME_RATE_8_5 +: cam.h +
  • +
  • FRD_AddFriendOnline() +: frd.h +
  • +
  • FRD_AttachToEventNotification() +: frd.h +
  • +
  • FRD_FriendCodeToPrincipalId() +: frd.h +
  • +
  • FRD_GetEventNotification() +: frd.h +
  • +
  • FRD_GetFriendFavouriteGame() +: frd.h +
  • +
  • FRD_GetFriendKeyList() +: frd.h +
  • +
  • FRD_GetFriendMii() +: frd.h +
  • +
  • FRD_GetFriendPlayingGame() +: frd.h +
  • +
  • FRD_GetFriendProfile() +: frd.h +
  • +
  • FRD_GetMyComment() +: frd.h +
  • +
  • FRD_GetMyFavoriteGame() +: frd.h +
  • +
  • FRD_GetMyFriendKey() +: frd.h +
  • +
  • FRD_GetMyMii() +: frd.h +
  • +
  • FRD_GetMyPlayingGame() +: frd.h +
  • +
  • FRD_GetMyPreference() +: frd.h +
  • +
  • FRD_GetMyProfile() +: frd.h +
  • +
  • FRD_GetMyScreenName() +: frd.h +
  • +
  • FRD_IsInFriendList() +: frd.h +
  • +
  • FRD_IsValidFriendCode() +: frd.h +
  • +
  • FRD_Login() +: frd.h +
  • +
  • FRD_Logout() +: frd.h +
  • +
  • FRD_PrincipalIdToFriendCode() +: frd.h +
  • +
  • FRD_RemoveFriend() +: frd.h +
  • +
  • FRD_SetClientSdkVersion() +: frd.h +
  • +
  • FRD_UpdateGameModeDescription() +: frd.h +
  • +
  • frdExit() +: frd.h +
  • +
  • frdGetSessionHandle() +: frd.h +
  • +
  • frdInit() +: frd.h +
  • +
  • FRDU_HasLoggedIn() +: frd.h +
  • +
  • FRDU_IsOnline() +: frd.h +
  • +
  • FRIEND_COMMENT_SIZE +: frd.h +
  • +
  • FRIEND_LIST_SIZE +: frd.h +
  • +
  • FRIEND_REGISTERED_USER +: frd.h +
  • +
  • FRIEND_SCREEN_NAME_SIZE +: frd.h +
  • +
  • FRIEND_SENT_INVITATION +: frd.h +
  • +
  • FRIEND_UPDATED_MII +: frd.h +
  • +
  • FRIEND_UPDATED_PRESENCE +: frd.h +
  • +
  • FRIEND_UPDATED_PROFILE +: frd.h +
  • +
  • FRIEND_WENT_OFFLINE +: frd.h +
  • +
  • FRIEND_WENT_ONLINE +: frd.h +
  • +
  • FS_Action +: fs.h +
  • +
  • FS_Archive +: fs.h +
  • +
  • FS_ArchiveAction +: fs.h +
  • +
  • FS_ArchiveID +: fs.h +
  • +
  • FS_ATTRIBUTE_ARCHIVE +: fs.h +
  • +
  • FS_ATTRIBUTE_DIRECTORY +: fs.h +
  • +
  • FS_ATTRIBUTE_HIDDEN +: fs.h +
  • +
  • FS_ATTRIBUTE_READ_ONLY +: fs.h +
  • +
  • FS_CardSpiBaudRate +: fs.h +
  • +
  • FS_CardSpiBusMode +: fs.h +
  • +
  • FS_CardType +: fs.h +
  • +
  • FS_DirectoryAction +: fs.h +
  • +
  • FS_FileAction +: fs.h +
  • +
  • FS_MediaType +: fs.h +
  • +
  • FS_OPEN_CREATE +: fs.h +
  • +
  • FS_OPEN_READ +: fs.h +
  • +
  • FS_OPEN_WRITE +: fs.h +
  • +
  • FS_PathType +: fs.h +
  • +
  • FS_SecureSaveAction +: fs.h +
  • +
  • FS_SecureValueSlot +: fs.h +
  • +
  • FS_SpecialContentType +: fs.h +
  • +
  • FS_SystemMediaType +: fs.h +
  • +
  • FS_WRITE_FLUSH +: fs.h +
  • +
  • FS_WRITE_UPDATE_TIME +: fs.h +
  • +
  • FSACCESS_BOSS +: exheader.h +
  • +
  • FSACCESS_CARDBOARD +: exheader.h +
  • +
  • FSACCESS_CATEGORY_FILESYSTEM_TOOL +: exheader.h +
  • +
  • FSACCESS_CATEGORY_HARDWARE_CHECK +: exheader.h +
  • +
  • FSACCESS_CATEGORY_HOME_MENU +: exheader.h +
  • +
  • FSACCESS_CATEGORY_SYSTEM_APPLICATION +: exheader.h +
  • +
  • FSACCESS_CATEGORY_SYSTEM_SETTINGS +: exheader.h +
  • +
  • FSACCESS_CORE +: exheader.h +
  • +
  • FSACCESS_DEBUG +: exheader.h +
  • +
  • FSACCESS_EXPORT_IMPORT_IVS +: exheader.h +
  • +
  • FSACCESS_NANDRO_RO +: exheader.h +
  • +
  • FSACCESS_NANDRO_RW +: exheader.h +
  • +
  • FSACCESS_NANDRW +: exheader.h +
  • +
  • FSACCESS_SAVEDATA_MOVE +: exheader.h +
  • +
  • FSACCESS_SDMC_RW +: exheader.h +
  • +
  • FSACCESS_SDMC_WO +: exheader.h +
  • +
  • FSACCESS_SEEDDB +: exheader.h +
  • +
  • FSACCESS_SHELL +: exheader.h +
  • +
  • FSACCESS_SHOP +: exheader.h +
  • +
  • FSACCESS_SWITCH_CLEANUP +: exheader.h +
  • +
  • FSACCESS_TWLCARD_BACKUP +: exheader.h +
  • +
  • FSACCESS_TWLNAND_DATA +: exheader.h +
  • +
  • FSDIR_Close() +: fs.h +
  • +
  • FSDIR_Control() +: fs.h +
  • +
  • FSDIR_GetPriority() +: fs.h +
  • +
  • FSDIR_Read() +: fs.h +
  • +
  • FSDIR_SetPriority() +: fs.h +
  • +
  • fsEndUseSession() +: fs.h +
  • +
  • fsExemptFromSession() +: fs.h +
  • +
  • fsExit() +: fs.h +
  • +
  • FSFILE_Close() +: fs.h +
  • +
  • FSFILE_Control() +: fs.h +
  • +
  • FSFILE_Flush() +: fs.h +
  • +
  • FSFILE_GetAttributes() +: fs.h +
  • +
  • FSFILE_GetPriority() +: fs.h +
  • +
  • FSFILE_GetSize() +: fs.h +
  • +
  • FSFILE_OpenLinkFile() +: fs.h +
  • +
  • FSFILE_OpenSubFile() +: fs.h +
  • +
  • FSFILE_Read() +: fs.h +
  • +
  • FSFILE_SetAttributes() +: fs.h +
  • +
  • FSFILE_SetPriority() +: fs.h +
  • +
  • FSFILE_SetSize() +: fs.h +
  • +
  • FSFILE_Write() +: fs.h +
  • +
  • fsGetSessionHandle() +: fs.h +
  • +
  • fsInit() +: fs.h +
  • +
  • fsMakePath() +: fs.h +
  • +
  • FSPXI_CalcSavegameMAC() +: fspxi.h +
  • +
  • FSPXI_CalculateFileHashSHA256() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectCommand() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectCommandWithAddress() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectCpuWriteWithoutVerify() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectRead() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectRead_4xIO() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectReadWithAddress() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectSectorEraseWithoutVerify() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectWrite() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectWriteWithAddress() +: fspxi.h +
  • +
  • FSPXI_CardSlotGetCardIFPowerStatus() +: fspxi.h +
  • +
  • FSPXI_CardSlotIsInserted() +: fspxi.h +
  • +
  • FSPXI_CardSlotPowerOff() +: fspxi.h +
  • +
  • FSPXI_CardSlotPowerOn() +: fspxi.h +
  • +
  • FSPXI_ClearNandLog() +: fspxi.h +
  • +
  • FSPXI_ClearSdmcLog() +: fspxi.h +
  • +
  • FSPXI_CloseArchive() +: fspxi.h +
  • +
  • FSPXI_CloseDirectory() +: fspxi.h +
  • +
  • FSPXI_CloseFile() +: fspxi.h +
  • +
  • FSPXI_CommitSaveData() +: fspxi.h +
  • +
  • FSPXI_CreateDirectory() +: fspxi.h +
  • +
  • FSPXI_CreateExtSaveData() +: fspxi.h +
  • +
  • FSPXI_CreateFile() +: fspxi.h +
  • +
  • FSPXI_CreateSeed() +: fspxi.h +
  • +
  • FSPXI_DeleteAllExtSaveDataOnNand() +: fspxi.h +
  • +
  • FSPXI_DeleteDirectory() +: fspxi.h +
  • +
  • FSPXI_DeleteExtSaveData() +: fspxi.h +
  • +
  • FSPXI_DeleteFile() +: fspxi.h +
  • +
  • FSPXI_DeleteSdmcRoot() +: fspxi.h +
  • +
  • FSPXI_EnumerateExtSaveData() +: fspxi.h +
  • +
  • FSPXI_EnumerateSystemSaveData() +: fspxi.h +
  • +
  • FSPXI_ExportIntegrityVerificationSeed() +: fspxi.h +
  • +
  • FSPXI_FormatCardNorDevice() +: fspxi.h +
  • +
  • FSPXI_GenerateRandomBytes() +: fspxi.h +
  • +
  • FSPXI_GetArchiveResource() +: fspxi.h +
  • +
  • FSPXI_GetCardType() +: fspxi.h +
  • +
  • FSPXI_GetFileLastModified() +: fspxi.h +
  • +
  • FSPXI_GetFileSize() +: fspxi.h +
  • +
  • FSPXI_GetLegacyBannerData() +: fspxi.h +
  • +
  • FSPXI_GetLegacyRomHeader() +: fspxi.h +
  • +
  • FSPXI_GetLegacySubBannerData() +: fspxi.h +
  • +
  • FSPXI_GetNandArchiveResource() +: fspxi.h +
  • +
  • FSPXI_GetNandCid() +: fspxi.h +
  • +
  • FSPXI_GetNandLog() +: fspxi.h +
  • +
  • FSPXI_GetNandSpeedInfo() +: fspxi.h +
  • +
  • FSPXI_GetProductInfo() +: fspxi.h +
  • +
  • FSPXI_GetSdmcArchiveResource() +: fspxi.h +
  • +
  • FSPXI_GetSdmcCid() +: fspxi.h +
  • +
  • FSPXI_GetSdmcCtrRootPath() +: fspxi.h +
  • +
  • FSPXI_GetSdmcFatFsError() +: fspxi.h +
  • +
  • FSPXI_GetSdmcLog() +: fspxi.h +
  • +
  • FSPXI_GetSdmcSpeedInfo() +: fspxi.h +
  • +
  • FSPXI_GetSpecialContentIndex() +: fspxi.h +
  • +
  • FSPXI_GetSpecialFileSize() +: fspxi.h +
  • +
  • FSPXI_HasDirectory() +: fspxi.h +
  • +
  • FSPXI_HasFile() +: fspxi.h +
  • +
  • FSPXI_ImportIntegrityVerificationSeed() +: fspxi.h +
  • +
  • FSPXI_InitializeCtrFilesystem() +: fspxi.h +
  • +
  • FSPXI_IsSdmcDetected() +: fspxi.h +
  • +
  • FSPXI_IsSdmcWritable() +: fspxi.h +
  • +
  • FSPXI_OpenArchive() +: fspxi.h +
  • +
  • FSPXI_OpenDirectory() +: fspxi.h +
  • +
  • FSPXI_OpenFile() +: fspxi.h +
  • +
  • FSPXI_ReadDirectory() +: fspxi.h +
  • +
  • FSPXI_ReadFile() +: fspxi.h +
  • +
  • FSPXI_ReadFileSHA256() +: fspxi.h +
  • +
  • FSPXI_ReadNandReport() +: fspxi.h +
  • +
  • FSPXI_ReadSpecialFile() +: fspxi.h +
  • +
  • FSPXI_RenameDirectory() +: fspxi.h +
  • +
  • FSPXI_RenameFile() +: fspxi.h +
  • +
  • FSPXI_SendInitializeInfoTo9() +: fspxi.h +
  • +
  • FSPXI_SetCardSpiBaudrate() +: fspxi.h +
  • +
  • FSPXI_SetCardSpiBusMode() +: fspxi.h +
  • +
  • FSPXI_SetCtrCardLatencyParameter() +: fspxi.h +
  • +
  • FSPXI_SetFileSize() +: fspxi.h +
  • +
  • FSPXI_SetPriority() +: fspxi.h +
  • +
  • FSPXI_StartDeviceMoveAsDestination() +: fspxi.h +
  • +
  • FSPXI_StartDeviceMoveAsSource() +: fspxi.h +
  • +
  • FSPXI_SwitchCleanupInvalidSaveData() +: fspxi.h +
  • +
  • FSPXI_Unknown0x17() +: fspxi.h +
  • +
  • FSPXI_Unknown0x56() +: fspxi.h +
  • +
  • FSPXI_WriteFile() +: fspxi.h +
  • +
  • FSPXI_WriteFileSHA256() +: fspxi.h +
  • +
  • fsUnexemptFromSession() +: fs.h +
  • +
  • FSUSER_AbnegateAccessRight() +: fs.h +
  • +
  • FSUSER_CardNorDirectCommand() +: fs.h +
  • +
  • FSUSER_CardNorDirectCommandWithAddress() +: fs.h +
  • +
  • FSUSER_CardNorDirectCpuWriteWithoutVerify() +: fs.h +
  • +
  • FSUSER_CardNorDirectRead() +: fs.h +
  • +
  • FSUSER_CardNorDirectRead_4xIO() +: fs.h +
  • +
  • FSUSER_CardNorDirectReadWithAddress() +: fs.h +
  • +
  • FSUSER_CardNorDirectSectorEraseWithoutVerify() +: fs.h +
  • +
  • FSUSER_CardNorDirectWrite() +: fs.h +
  • +
  • FSUSER_CardNorDirectWriteWithAddress() +: fs.h +
  • +
  • FSUSER_CardSlotGetCardIFPowerStatus() +: fs.h +
  • +
  • FSUSER_CardSlotIsInserted() +: fs.h +
  • +
  • FSUSER_CardSlotPowerOff() +: fs.h +
  • +
  • FSUSER_CardSlotPowerOn() +: fs.h +
  • +
  • FSUSER_CheckAuthorityToAccessExtSaveData() +: fs.h +
  • +
  • FSUSER_ClearNandLog() +: fs.h +
  • +
  • FSUSER_ClearSdmcLog() +: fs.h +
  • +
  • FSUSER_CloseArchive() +: fs.h +
  • +
  • FSUSER_Control() +: fs.h +
  • +
  • FSUSER_ControlArchive() +: fs.h +
  • +
  • FSUSER_ControlSecureSave() +: fs.h +
  • +
  • FSUSER_CreateDirectory() +: fs.h +
  • +
  • FSUSER_CreateExtSaveData() +: fs.h +
  • +
  • FSUSER_CreateFile() +: fs.h +
  • +
  • FSUSER_CreateSeed() +: fs.h +
  • +
  • FSUSER_CreateSystemSaveData() +: fs.h +
  • +
  • FSUSER_DeleteAllExtSaveDataOnNand() +: fs.h +
  • +
  • FSUSER_DeleteDirectory() +: fs.h +
  • +
  • FSUSER_DeleteDirectoryRecursively() +: fs.h +
  • +
  • FSUSER_DeleteExtSaveData() +: fs.h +
  • +
  • FSUSER_DeleteFile() +: fs.h +
  • +
  • FSUSER_DeleteSdmcRoot() +: fs.h +
  • +
  • FSUSER_DeleteSystemSaveData() +: fs.h +
  • +
  • FSUSER_EnumerateExtSaveData() +: fs.h +
  • +
  • FSUSER_EnumerateSystemSaveData() +: fs.h +
  • +
  • FSUSER_ExportIntegrityVerificationSeed() +: fs.h +
  • +
  • FSUSER_FormatSaveData() +: fs.h +
  • +
  • FSUSER_GetArchivePriority() +: fs.h +
  • +
  • FSUSER_GetArchiveResource() +: fs.h +
  • +
  • FSUSER_GetCardType() +: fs.h +
  • +
  • FSUSER_GetExtDataBlockSize() +: fs.h +
  • +
  • FSUSER_GetFormatInfo() +: fs.h +
  • +
  • FSUSER_GetFreeBytes() +: fs.h +
  • +
  • FSUSER_GetLegacyBannerData() +: fs.h +
  • +
  • FSUSER_GetLegacyRomHeader() +: fs.h +
  • +
  • FSUSER_GetLegacyRomHeader2() +: fs.h +
  • +
  • FSUSER_GetLegacySubBannerData() +: fs.h +
  • +
  • FSUSER_GetMediaType() +: fs.h +
  • +
  • FSUSER_GetNandArchiveResource() +: fs.h +
  • +
  • FSUSER_GetNandCid() +: fs.h +
  • +
  • FSUSER_GetNandLog() +: fs.h +
  • +
  • FSUSER_GetNandSpeedInfo() +: fs.h +
  • +
  • FSUSER_GetPriority() +: fs.h +
  • +
  • FSUSER_GetProductInfo() +: fs.h +
  • +
  • FSUSER_GetProgramLaunchInfo() +: fs.h +
  • +
  • FSUSER_GetSaveDataSecureValue() +: fs.h +
  • +
  • FSUSER_GetSdmcArchiveResource() +: fs.h +
  • +
  • FSUSER_GetSdmcCid() +: fs.h +
  • +
  • FSUSER_GetSdmcCtrRootPath() +: fs.h +
  • +
  • FSUSER_GetSdmcFatfsError() +: fs.h +
  • +
  • FSUSER_GetSdmcLog() +: fs.h +
  • +
  • FSUSER_GetSdmcSpeedInfo() +: fs.h +
  • +
  • FSUSER_GetSpecialContentIndex() +: fs.h +
  • +
  • FSUSER_GetSpecialFileSize() +: fs.h +
  • +
  • FSUSER_ImportIntegrityVerificationSeed() +: fs.h +
  • +
  • FSUSER_Initialize() +: fs.h +
  • +
  • FSUSER_InitializeCtrFileSystem() +: fs.h +
  • +
  • FSUSER_InitializeWithSdkVersion() +: fs.h +
  • +
  • FSUSER_IsSdmcDetected() +: fs.h +
  • +
  • FSUSER_IsSdmcWritable() +: fs.h +
  • +
  • FSUSER_OpenArchive() +: fs.h +
  • +
  • FSUSER_OpenDirectory() +: fs.h +
  • +
  • FSUSER_OpenFile() +: fs.h +
  • +
  • FSUSER_OpenFileDirectly() +: fs.h +
  • +
  • FSUSER_QueryTotalQuotaSize() +: fs.h +
  • +
  • FSUSER_ReadExtSaveDataIcon() +: fs.h +
  • +
  • FSUSER_ReadSpecialFile() +: fs.h +
  • +
  • FSUSER_RenameDirectory() +: fs.h +
  • +
  • FSUSER_RenameFile() +: fs.h +
  • +
  • FSUSER_SendInitializeInfoTo9() +: fs.h +
  • +
  • FSUSER_SetArchivePriority() +: fs.h +
  • +
  • FSUSER_SetCardSpiBaudRate() +: fs.h +
  • +
  • FSUSER_SetCardSpiBusMode() +: fs.h +
  • +
  • FSUSER_SetCtrCardLatencyParameter() +: fs.h +
  • +
  • FSUSER_SetPriority() +: fs.h +
  • +
  • FSUSER_SetSaveDataSecureValue() +: fs.h +
  • +
  • FSUSER_StartDeviceMoveAsDestination() +: fs.h +
  • +
  • FSUSER_StartDeviceMoveAsSource() +: fs.h +
  • +
  • FSUSER_SwitchCleanupInvalidSaveData() +: fs.h +
  • +
  • FSUSER_UpdateSha256Context() +: fs.h +
  • +
  • fsUseSession() +: fs.h +
  • +
+
+ + + + diff --git a/globals_func.html b/globals_func.html new file mode 100644 index 000000000..85251891d --- /dev/null +++ b/globals_func.html @@ -0,0 +1,108 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- _ -

+
+ + + + diff --git a/globals_func_a.html b/globals_func_a.html new file mode 100644 index 000000000..88f8ccb38 --- /dev/null +++ b/globals_func_a.html @@ -0,0 +1,585 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

    +
  • acExit() +: ac.h +
  • +
  • acGetSessionHandle() +: ac.h +
  • +
  • ACI_GetNetworkWirelessEssidSecuritySsid() +: ac.h +
  • +
  • ACI_LoadNetworkSetting() +: ac.h +
  • +
  • acInit() +: ac.h +
  • +
  • ACU_ConnectAsync() +: ac.h +
  • +
  • ACU_CreateDefaultConfig() +: ac.h +
  • +
  • ACU_GetLastDetailErrorCode() +: ac.h +
  • +
  • ACU_GetLastErrorCode() +: ac.h +
  • +
  • ACU_GetProxyEnable() +: ac.h +
  • +
  • ACU_GetProxyPassword() +: ac.h +
  • +
  • ACU_GetProxyPort() +: ac.h +
  • +
  • ACU_GetProxyUserName() +: ac.h +
  • +
  • ACU_GetSecurityMode() +: ac.h +
  • +
  • ACU_GetSSID() +: ac.h +
  • +
  • ACU_GetSSIDLength() +: ac.h +
  • +
  • ACU_GetStatus() +: ac.h +
  • +
  • ACU_GetWifiStatus() +: ac.h +
  • +
  • ACU_SetAllowApType() +: ac.h +
  • +
  • ACU_SetNetworkArea() +: ac.h +
  • +
  • ACU_SetRequestEulaVersion() +: ac.h +
  • +
  • acWaitInternetConnection() +: ac.h +
  • +
  • AM_CancelCIAInstall() +: am.h +
  • +
  • AM_CommitImportPrograms() +: am.h +
  • +
  • AM_CommitImportTitles() +: am.h +
  • +
  • AM_CommitImportTitlesAndUpdateFirmwareAuto() +: am.h +
  • +
  • AM_CreateImportContentContexts() +: am.h +
  • +
  • AM_DeleteAllDemoLaunchInfos() +: am.h +
  • +
  • AM_DeleteAllExpiredTitles() +: am.h +
  • +
  • AM_DeleteAllPendingTitles() +: am.h +
  • +
  • AM_DeleteAllTemporaryTitles() +: am.h +
  • +
  • AM_DeleteAllTwlTitles() +: am.h +
  • +
  • AM_DeleteAppTitle() +: am.h +
  • +
  • AM_DeletePendingTitle() +: am.h +
  • +
  • AM_DeletePendingTitles() +: am.h +
  • +
  • AM_DeleteTicket() +: am.h +
  • +
  • AM_DeleteTitle() +: am.h +
  • +
  • AM_ExportTwlBackup() +: am.h +
  • +
  • AM_FinishCiaInstall() +: am.h +
  • +
  • AM_FinishCiaInstallWithoutCommit() +: am.h +
  • +
  • AM_GetCiaCoreVersion() +: am.h +
  • +
  • AM_GetCiaDependencies() +: am.h +
  • +
  • AM_GetCiaFileInfo() +: am.h +
  • +
  • AM_GetCiaIcon() +: am.h +
  • +
  • AM_GetCiaMetaOffset() +: am.h +
  • +
  • AM_GetCiaMetaSection() +: am.h +
  • +
  • AM_GetCiaRequiredSpace() +: am.h +
  • +
  • AM_GetDeviceId() +: am.h +
  • +
  • AM_GetPendingTitleCount() +: am.h +
  • +
  • AM_GetPendingTitleInfo() +: am.h +
  • +
  • AM_GetPendingTitleList() +: am.h +
  • +
  • AM_GetTicketCount() +: am.h +
  • +
  • AM_GetTicketList() +: am.h +
  • +
  • AM_GetTitleCount() +: am.h +
  • +
  • AM_GetTitleExtDataId() +: am.h +
  • +
  • AM_GetTitleInfo() +: am.h +
  • +
  • AM_GetTitleList() +: am.h +
  • +
  • AM_GetTitleProductCode() +: am.h +
  • +
  • AM_GetTWLPartitionInfo() +: am.h +
  • +
  • AM_ImportCertificate() +: am.h +
  • +
  • AM_ImportCertificates() +: am.h +
  • +
  • AM_ImportTwlBackup() +: am.h +
  • +
  • AM_InitializeExternalTitleDatabase() +: am.h +
  • +
  • AM_InstallContentBegin() +: am.h +
  • +
  • AM_InstallContentCancel() +: am.h +
  • +
  • AM_InstallContentFinish() +: am.h +
  • +
  • AM_InstallContentResume() +: am.h +
  • +
  • AM_InstallContentStop() +: am.h +
  • +
  • AM_InstallFirm() +: am.h +
  • +
  • AM_InstallNativeFirm() +: am.h +
  • +
  • AM_InstallTicketAbort() +: am.h +
  • +
  • AM_InstallTicketBegin() +: am.h +
  • +
  • AM_InstallTicketFinish() +: am.h +
  • +
  • AM_InstallTitleAbort() +: am.h +
  • +
  • AM_InstallTitleBegin() +: am.h +
  • +
  • AM_InstallTitleFinish() +: am.h +
  • +
  • AM_InstallTitleResume() +: am.h +
  • +
  • AM_InstallTitleStop() +: am.h +
  • +
  • AM_InstallTmdAbort() +: am.h +
  • +
  • AM_InstallTmdBegin() +: am.h +
  • +
  • AM_InstallTmdFinish() +: am.h +
  • +
  • AM_QueryAvailableExternalTitleDatabase() +: am.h +
  • +
  • AM_ReadTwlBackupInfo() +: am.h +
  • +
  • AM_StartCiaInstall() +: am.h +
  • +
  • AM_StartDlpChildCiaInstall() +: am.h +
  • +
  • AMAPP_GetDLCContentInfoCount() +: am.h +
  • +
  • AMAPP_ListDLCContentInfos() +: am.h +
  • +
  • amAppInit() +: am.h +
  • +
  • amExit() +: am.h +
  • +
  • amGetSessionHandle() +: am.h +
  • +
  • amInit() +: am.h +
  • +
  • AMPXI_InstallTitlesFinish() +: ampxi.h +
  • +
  • AMPXI_WriteTWLSavedata() +: ampxi.h +
  • +
  • ampxiExit() +: ampxi.h +
  • +
  • ampxiInit() +: ampxi.h +
  • +
  • APT_AppletUtility() +: apt.h +
  • +
  • APT_CancelParameter() +: apt.h +
  • +
  • APT_CheckNew3DS() +: apt.h +
  • +
  • APT_CloseApplication() +: apt.h +
  • +
  • APT_DoApplicationJump() +: apt.h +
  • +
  • APT_Enable() +: apt.h +
  • +
  • APT_Finalize() +: apt.h +
  • +
  • APT_GetAppCpuTimeLimit() +: apt.h +
  • +
  • APT_GetAppletInfo() +: apt.h +
  • +
  • APT_GetAppletManInfo() +: apt.h +
  • +
  • APT_GetAppletProgramInfo() +: apt.h +
  • +
  • APT_GetLockHandle() +: apt.h +
  • +
  • APT_GetProgramID() +: apt.h +
  • +
  • APT_GetSharedFont() +: apt.h +
  • +
  • APT_GlanceParameter() +: apt.h +
  • +
  • APT_HardwareResetAsync() +: apt.h +
  • +
  • APT_Initialize() +: apt.h +
  • +
  • APT_InquireNotification() +: apt.h +
  • +
  • APT_IsRegistered() +: apt.h +
  • +
  • APT_JumpToApplication() +: apt.h +
  • +
  • APT_JumpToHomeMenu() +: apt.h +
  • +
  • APT_LockTransition() +: apt.h +
  • +
  • APT_NotifyToWait() +: apt.h +
  • +
  • APT_PrepareToCloseApplication() +: apt.h +
  • +
  • APT_PrepareToDoApplicationJump() +: apt.h +
  • +
  • APT_PrepareToJumpToApplication() +: apt.h +
  • +
  • APT_PrepareToJumpToHomeMenu() +: apt.h +
  • +
  • APT_PrepareToStartLibraryApplet() +: apt.h +
  • +
  • APT_PrepareToStartSystemApplet() +: apt.h +
  • +
  • APT_ReceiveDeliverArg() +: apt.h +
  • +
  • APT_ReceiveParameter() +: apt.h +
  • +
  • APT_ReplySleepNotificationComplete() +: apt.h +
  • +
  • APT_ReplySleepQuery() +: apt.h +
  • +
  • APT_SendCaptureBufferInfo() +: apt.h +
  • +
  • APT_SendParameter() +: apt.h +
  • +
  • APT_SetAppCpuTimeLimit() +: apt.h +
  • +
  • APT_SleepIfShellClosed() +: apt.h +
  • +
  • APT_SleepSystem() +: apt.h +
  • +
  • APT_StartLibraryApplet() +: apt.h +
  • +
  • APT_StartSystemApplet() +: apt.h +
  • +
  • APT_TryLockTransition() +: apt.h +
  • +
  • APT_UnlockTransition() +: apt.h +
  • +
  • aptCheckHomePressRejected() +: apt.h +
  • +
  • aptClearChainloader() +: apt.h +
  • +
  • aptExit() +: apt.h +
  • +
  • aptGetMenuAppID() +: apt.h +
  • +
  • aptHandleJumpToHome() +: apt.h +
  • +
  • aptHandleSleep() +: apt.h +
  • +
  • aptHook() +: apt.h +
  • +
  • aptInit() +: apt.h +
  • +
  • aptIsActive() +: apt.h +
  • +
  • aptIsHomeAllowed() +: apt.h +
  • +
  • aptIsHomePressed() +: apt.h +
  • +
  • aptIsSleepAllowed() +: apt.h +
  • +
  • aptJumpToHomeMenu() +: apt.h +
  • +
  • aptLaunchLibraryApplet() +: apt.h +
  • +
  • aptMainLoop() +: apt.h +
  • +
  • aptMakeAppletAttr() +: apt.h +
  • +
  • aptSendCommand() +: apt.h +
  • +
  • aptSetChainloader() +: apt.h +
  • +
  • aptSetChainloaderArgs() +: apt.h +
  • +
  • aptSetChainloaderToCaller() +: apt.h +
  • +
  • aptSetChainloaderToSelf() +: apt.h +
  • +
  • aptSetHomeAllowed() +: apt.h +
  • +
  • aptSetMessageCallback() +: apt.h +
  • +
  • aptSetSleepAllowed() +: apt.h +
  • +
  • aptShouldClose() +: apt.h +
  • +
  • aptShouldJumpToHome() +: apt.h +
  • +
  • aptUnhook() +: apt.h +
  • +
  • archive_getmtime() +: archive.h +
  • +
  • archiveCommitSaveData() +: archive.h +
  • +
  • archiveMount() +: archive.h +
  • +
  • archiveMountSdmc() +: archive.h +
  • +
  • archiveUnmount() +: archive.h +
  • +
  • archiveUnmountAll() +: archive.h +
  • +
+
+ + + + diff --git a/globals_func_b.html b/globals_func_b.html new file mode 100644 index 000000000..ad75519b8 --- /dev/null +++ b/globals_func_b.html @@ -0,0 +1,129 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

    +
  • bossDeleteNsData() +: boss.h +
  • +
  • bossDeleteTask() +: boss.h +
  • +
  • bossExit() +: boss.h +
  • +
  • bossGetNsDataHeaderInfo() +: boss.h +
  • +
  • bossGetSessionHandle() +: boss.h +
  • +
  • bossGetTaskProperty0() +: boss.h +
  • +
  • bossGetTaskState() +: boss.h +
  • +
  • bossInit() +: boss.h +
  • +
  • bossReadNsData() +: boss.h +
  • +
  • bossRegisterTask() +: boss.h +
  • +
  • bossReinit() +: boss.h +
  • +
  • bossSendContextConfig() +: boss.h +
  • +
  • bossSendProperty() +: boss.h +
  • +
  • bossSetStorageInfo() +: boss.h +
  • +
  • bossSetupContextDefault() +: boss.h +
  • +
  • bossStartBgImmediate() +: boss.h +
  • +
  • bossStartTaskImmediate() +: boss.h +
  • +
  • bossUnregisterStorage() +: boss.h +
  • +
+
+ + + + diff --git a/globals_func_c.html b/globals_func_c.html new file mode 100644 index 000000000..8dbb4b811 --- /dev/null +++ b/globals_func_c.html @@ -0,0 +1,570 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- c -

    +
  • camExit() +: cam.h +
  • +
  • camInit() +: cam.h +
  • +
  • CAMU_Activate() +: cam.h +
  • +
  • CAMU_ClearBuffer() +: cam.h +
  • +
  • CAMU_DriverFinalize() +: cam.h +
  • +
  • CAMU_DriverInitialize() +: cam.h +
  • +
  • CAMU_FlipImage() +: cam.h +
  • +
  • CAMU_GetActivatedCamera() +: cam.h +
  • +
  • CAMU_GetBufferErrorInterruptEvent() +: cam.h +
  • +
  • CAMU_GetImageQualityCalibrationData() +: cam.h +
  • +
  • CAMU_GetLatestVsyncTiming() +: cam.h +
  • +
  • CAMU_GetMaxBytes() +: cam.h +
  • +
  • CAMU_GetMaxLines() +: cam.h +
  • +
  • CAMU_GetSleepCamera() +: cam.h +
  • +
  • CAMU_GetStereoCameraCalibrationData() +: cam.h +
  • +
  • CAMU_GetSuitableY2rStandardCoefficient() +: cam.h +
  • +
  • CAMU_GetTransferBytes() +: cam.h +
  • +
  • CAMU_GetTrimmingParams() +: cam.h +
  • +
  • CAMU_GetVsyncInterruptEvent() +: cam.h +
  • +
  • CAMU_IsAutoExposure() +: cam.h +
  • +
  • CAMU_IsAutoWhiteBalance() +: cam.h +
  • +
  • CAMU_IsBusy() +: cam.h +
  • +
  • CAMU_IsFinishedReceiving() +: cam.h +
  • +
  • CAMU_IsTrimming() +: cam.h +
  • +
  • CAMU_PlayShutterSound() +: cam.h +
  • +
  • CAMU_ReadMcuVariableI2cExclusive() +: cam.h +
  • +
  • CAMU_ReadRegisterI2cExclusive() +: cam.h +
  • +
  • CAMU_SetAutoExposure() +: cam.h +
  • +
  • CAMU_SetAutoExposureWindow() +: cam.h +
  • +
  • CAMU_SetAutoWhiteBalance() +: cam.h +
  • +
  • CAMU_SetAutoWhiteBalanceWindow() +: cam.h +
  • +
  • CAMU_SetBrightnessSynchronization() +: cam.h +
  • +
  • CAMU_SetContrast() +: cam.h +
  • +
  • CAMU_SetDetailSize() +: cam.h +
  • +
  • CAMU_SetEffect() +: cam.h +
  • +
  • CAMU_SetExposure() +: cam.h +
  • +
  • CAMU_SetFrameRate() +: cam.h +
  • +
  • CAMU_SetImageQualityCalibrationData() +: cam.h +
  • +
  • CAMU_SetLensCorrection() +: cam.h +
  • +
  • CAMU_SetNoiseFilter() +: cam.h +
  • +
  • CAMU_SetOutputFormat() +: cam.h +
  • +
  • CAMU_SetPackageParameterWithContext() +: cam.h +
  • +
  • CAMU_SetPackageParameterWithContextDetail() +: cam.h +
  • +
  • CAMU_SetPackageParameterWithoutContext() +: cam.h +
  • +
  • CAMU_SetPhotoMode() +: cam.h +
  • +
  • CAMU_SetReceiving() +: cam.h +
  • +
  • CAMU_SetSharpness() +: cam.h +
  • +
  • CAMU_SetSize() +: cam.h +
  • +
  • CAMU_SetSleepCamera() +: cam.h +
  • +
  • CAMU_SetStereoCameraCalibrationData() +: cam.h +
  • +
  • CAMU_SetTransferBytes() +: cam.h +
  • +
  • CAMU_SetTransferLines() +: cam.h +
  • +
  • CAMU_SetTrimming() +: cam.h +
  • +
  • CAMU_SetTrimmingParams() +: cam.h +
  • +
  • CAMU_SetTrimmingParamsCenter() +: cam.h +
  • +
  • CAMU_SetWhiteBalance() +: cam.h +
  • +
  • CAMU_SetWhiteBalanceWithoutBaseUp() +: cam.h +
  • +
  • CAMU_StartCapture() +: cam.h +
  • +
  • CAMU_StopCapture() +: cam.h +
  • +
  • CAMU_SwitchContext() +: cam.h +
  • +
  • CAMU_SynchronizeVsyncTiming() +: cam.h +
  • +
  • CAMU_WriteMcuVariableI2c() +: cam.h +
  • +
  • CAMU_WriteRegisterI2c() +: cam.h +
  • +
  • CDCCHK_ReadNtrPmicRegister() +: cdcchk.h +
  • +
  • CDCCHK_ReadRegisters1() +: cdcchk.h +
  • +
  • CDCCHK_ReadRegisters2() +: cdcchk.h +
  • +
  • CDCCHK_SetI2sVolume() +: cdcchk.h +
  • +
  • CDCCHK_WriteNtrPmicRegister() +: cdcchk.h +
  • +
  • CDCCHK_WriteRegisters1() +: cdcchk.h +
  • +
  • CDCCHK_WriteRegisters2() +: cdcchk.h +
  • +
  • cdcChkExit() +: cdcchk.h +
  • +
  • cdcChkGetSessionHandle() +: cdcchk.h +
  • +
  • cdcChkInit() +: cdcchk.h +
  • +
  • CFG_GetConfigInfoBlk4() +: cfgu.h +
  • +
  • CFG_GetConfigInfoBlk8() +: cfgu.h +
  • +
  • CFG_SetConfigInfoBlk4() +: cfgu.h +
  • +
  • CFG_SetConfigInfoBlk8() +: cfgu.h +
  • +
  • CFG_UpdateConfigSavegame() +: cfgu.h +
  • +
  • CFGI_ClearParentalControls() +: cfgu.h +
  • +
  • CFGI_DeleteConfigSavefile() +: cfgu.h +
  • +
  • CFGI_FormatConfig() +: cfgu.h +
  • +
  • CFGI_GetLocalFriendCodeSeed() +: cfgu.h +
  • +
  • CFGI_GetLocalFriendCodeSeedData() +: cfgu.h +
  • +
  • CFGI_GetSecureInfoData() +: cfgu.h +
  • +
  • CFGI_GetSecureInfoSignature() +: cfgu.h +
  • +
  • CFGI_RestoreLocalFriendCodeSeed() +: cfgu.h +
  • +
  • CFGI_RestoreSecureInfo() +: cfgu.h +
  • +
  • CFGI_SecureInfoGetSerialNumber() +: cfgu.h +
  • +
  • CFGI_VerifySigLocalFriendCodeSeed() +: cfgu.h +
  • +
  • CFGI_VerifySigSecureInfo() +: cfgu.h +
  • +
  • CFGNOR_Initialize() +: cfgnor.h +
  • +
  • CFGNOR_ReadData() +: cfgnor.h +
  • +
  • CFGNOR_Shutdown() +: cfgnor.h +
  • +
  • CFGNOR_WriteData() +: cfgnor.h +
  • +
  • cfgnorDumpFlash() +: cfgnor.h +
  • +
  • cfgnorExit() +: cfgnor.h +
  • +
  • cfgnorInit() +: cfgnor.h +
  • +
  • cfgnorWriteFlash() +: cfgnor.h +
  • +
  • CFGU_GenHashConsoleUnique() +: cfgu.h +
  • +
  • CFGU_GetConfigInfoBlk2() +: cfgu.h +
  • +
  • CFGU_GetCountryCodeID() +: cfgu.h +
  • +
  • CFGU_GetCountryCodeString() +: cfgu.h +
  • +
  • CFGU_GetModelNintendo2DS() +: cfgu.h +
  • +
  • CFGU_GetRegionCanadaUSA() +: cfgu.h +
  • +
  • CFGU_GetSystemLanguage() +: cfgu.h +
  • +
  • CFGU_GetSystemModel() +: cfgu.h +
  • +
  • CFGU_IsNFCSupported() +: cfgu.h +
  • +
  • CFGU_SecureInfoGetRegion() +: cfgu.h +
  • +
  • cfguExit() +: cfgu.h +
  • +
  • cfguInit() +: cfgu.h +
  • +
  • CondVar_Broadcast() +: synchronization.h +
  • +
  • CondVar_Init() +: synchronization.h +
  • +
  • CondVar_Signal() +: synchronization.h +
  • +
  • CondVar_Wait() +: synchronization.h +
  • +
  • CondVar_WaitTimeout() +: synchronization.h +
  • +
  • CondVar_WakeUp() +: synchronization.h +
  • +
  • consoleClear() +: console.h +
  • +
  • consoleDebugInit() +: console.h +
  • +
  • consoleGetDefault() +: console.h +
  • +
  • consoleInit() +: console.h +
  • +
  • consoleSelect() +: console.h +
  • +
  • consoleSetFont() +: console.h +
  • +
  • consoleSetWindow() +: console.h +
  • +
  • CSND_AcquireCapUnit() +: csnd.h +
  • +
  • CSND_CapEnable() +: csnd.h +
  • +
  • CSND_CapSetBit2() +: csnd.h +
  • +
  • CSND_CapSetBuffer() +: csnd.h +
  • +
  • CSND_CapSetFormat() +: csnd.h +
  • +
  • CSND_CapSetRepeat() +: csnd.h +
  • +
  • CSND_CapSetTimer() +: csnd.h +
  • +
  • CSND_FlushDataCache() +: csnd.h +
  • +
  • CSND_InvalidateDataCache() +: csnd.h +
  • +
  • CSND_ReleaseCapUnit() +: csnd.h +
  • +
  • CSND_Reset() +: csnd.h +
  • +
  • CSND_SetAdpcmReload() +: csnd.h +
  • +
  • CSND_SetAdpcmState() +: csnd.h +
  • +
  • CSND_SetBit7() +: csnd.h +
  • +
  • CSND_SetBlock() +: csnd.h +
  • +
  • CSND_SetCapRegs() +: csnd.h +
  • +
  • CSND_SetChnRegs() +: csnd.h +
  • +
  • CSND_SetChnRegsNoise() +: csnd.h +
  • +
  • CSND_SetChnRegsPSG() +: csnd.h +
  • +
  • CSND_SetDspFlags() +: csnd.h +
  • +
  • CSND_SetDuty() +: csnd.h +
  • +
  • CSND_SetEncoding() +: csnd.h +
  • +
  • CSND_SetInterp() +: csnd.h +
  • +
  • CSND_SetLooping() +: csnd.h +
  • +
  • CSND_SetPlayState() +: csnd.h +
  • +
  • CSND_SetPlayStateR() +: csnd.h +
  • +
  • CSND_SetTimer() +: csnd.h +
  • +
  • CSND_SetVol() +: csnd.h +
  • +
  • CSND_StoreDataCache() +: csnd.h +
  • +
  • CSND_UpdateInfo() +: csnd.h +
  • +
  • CSND_VOL() +: csnd.h +
  • +
  • csndAddCmd() +: csnd.h +
  • +
  • csndExecCmds() +: csnd.h +
  • +
  • csndExit() +: csnd.h +
  • +
  • csndGetCapInfo() +: csnd.h +
  • +
  • csndGetChnInfo() +: csnd.h +
  • +
  • csndGetDspFlags() +: csnd.h +
  • +
  • csndGetState() +: csnd.h +
  • +
  • csndInit() +: csnd.h +
  • +
  • csndIsPlaying() +: csnd.h +
  • +
  • csndPlaySound() +: csnd.h +
  • +
  • csndWriteCmd() +: csnd.h +
  • +
+
+ + + + diff --git a/globals_func_d.html b/globals_func_d.html new file mode 100644 index 000000000..a072352f2 --- /dev/null +++ b/globals_func_d.html @@ -0,0 +1,201 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- d -

+
+ + + + diff --git a/globals_func_e.html b/globals_func_e.html new file mode 100644 index 000000000..77fde8483 --- /dev/null +++ b/globals_func_e.html @@ -0,0 +1,141 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- e -

    +
  • encode_utf16() +: utf.h +
  • +
  • encode_utf8() +: utf.h +
  • +
  • envGetAptAppId() +: env.h +
  • +
  • envGetHandle() +: env.h +
  • +
  • envGetHeapSize() +: env.h +
  • +
  • envGetLinearHeapSize() +: env.h +
  • +
  • envGetSystemArgList() +: env.h +
  • +
  • envGetSystemRunFlags() +: env.h +
  • +
  • envIsHomebrew() +: env.h +
  • +
  • ERRF_ExceptionHandler() +: errf.h +
  • +
  • ERRF_LogResult() +: errf.h +
  • +
  • ERRF_SetUserString() +: errf.h +
  • +
  • ERRF_Throw() +: errf.h +
  • +
  • ERRF_ThrowResult() +: errf.h +
  • +
  • ERRF_ThrowResultWithMessage() +: errf.h +
  • +
  • errfExit() +: errf.h +
  • +
  • errfGetSessionHandle() +: errf.h +
  • +
  • errfInit() +: errf.h +
  • +
  • errorCode() +: error.h +
  • +
  • errorDisp() +: error.h +
  • +
  • errorInit() +: error.h +
  • +
  • errorText() +: error.h +
  • +
+
+ + + + diff --git a/globals_func_f.html b/globals_func_f.html new file mode 100644 index 000000000..77f9cc0a9 --- /dev/null +++ b/globals_func_f.html @@ -0,0 +1,804 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- f -

    +
  • f32tof16() +: gpu.h +
  • +
  • f32tof20() +: gpu.h +
  • +
  • f32tof24() +: gpu.h +
  • +
  • f32tof31() +: gpu.h +
  • +
  • fontCalcGlyphPos() +: font.h +
  • +
  • fontEnsureMapped() +: font.h +
  • +
  • fontFixPointers() +: font.h +
  • +
  • fontGetCharWidthInfo() +: font.h +
  • +
  • fontGetGlyphInfo() +: font.h +
  • +
  • fontGetGlyphSheetTex() +: font.h +
  • +
  • fontGetInfo() +: font.h +
  • +
  • fontGetSystemFont() +: font.h +
  • +
  • fontGlyphIndexFromCodePoint() +: font.h +
  • +
  • FRD_AddFriendOnline() +: frd.h +
  • +
  • FRD_AttachToEventNotification() +: frd.h +
  • +
  • FRD_FriendCodeToPrincipalId() +: frd.h +
  • +
  • FRD_GetEventNotification() +: frd.h +
  • +
  • FRD_GetFriendFavouriteGame() +: frd.h +
  • +
  • FRD_GetFriendKeyList() +: frd.h +
  • +
  • FRD_GetFriendMii() +: frd.h +
  • +
  • FRD_GetFriendPlayingGame() +: frd.h +
  • +
  • FRD_GetFriendProfile() +: frd.h +
  • +
  • FRD_GetMyComment() +: frd.h +
  • +
  • FRD_GetMyFavoriteGame() +: frd.h +
  • +
  • FRD_GetMyFriendKey() +: frd.h +
  • +
  • FRD_GetMyMii() +: frd.h +
  • +
  • FRD_GetMyPlayingGame() +: frd.h +
  • +
  • FRD_GetMyPreference() +: frd.h +
  • +
  • FRD_GetMyProfile() +: frd.h +
  • +
  • FRD_GetMyScreenName() +: frd.h +
  • +
  • FRD_IsInFriendList() +: frd.h +
  • +
  • FRD_IsValidFriendCode() +: frd.h +
  • +
  • FRD_Login() +: frd.h +
  • +
  • FRD_Logout() +: frd.h +
  • +
  • FRD_PrincipalIdToFriendCode() +: frd.h +
  • +
  • FRD_RemoveFriend() +: frd.h +
  • +
  • FRD_SetClientSdkVersion() +: frd.h +
  • +
  • FRD_UpdateGameModeDescription() +: frd.h +
  • +
  • frdExit() +: frd.h +
  • +
  • frdGetSessionHandle() +: frd.h +
  • +
  • frdInit() +: frd.h +
  • +
  • FRDU_HasLoggedIn() +: frd.h +
  • +
  • FRDU_IsOnline() +: frd.h +
  • +
  • FSDIR_Close() +: fs.h +
  • +
  • FSDIR_Control() +: fs.h +
  • +
  • FSDIR_GetPriority() +: fs.h +
  • +
  • FSDIR_Read() +: fs.h +
  • +
  • FSDIR_SetPriority() +: fs.h +
  • +
  • fsEndUseSession() +: fs.h +
  • +
  • fsExemptFromSession() +: fs.h +
  • +
  • fsExit() +: fs.h +
  • +
  • FSFILE_Close() +: fs.h +
  • +
  • FSFILE_Control() +: fs.h +
  • +
  • FSFILE_Flush() +: fs.h +
  • +
  • FSFILE_GetAttributes() +: fs.h +
  • +
  • FSFILE_GetPriority() +: fs.h +
  • +
  • FSFILE_GetSize() +: fs.h +
  • +
  • FSFILE_OpenLinkFile() +: fs.h +
  • +
  • FSFILE_OpenSubFile() +: fs.h +
  • +
  • FSFILE_Read() +: fs.h +
  • +
  • FSFILE_SetAttributes() +: fs.h +
  • +
  • FSFILE_SetPriority() +: fs.h +
  • +
  • FSFILE_SetSize() +: fs.h +
  • +
  • FSFILE_Write() +: fs.h +
  • +
  • fsGetSessionHandle() +: fs.h +
  • +
  • fsInit() +: fs.h +
  • +
  • fsMakePath() +: fs.h +
  • +
  • FSPXI_CalcSavegameMAC() +: fspxi.h +
  • +
  • FSPXI_CalculateFileHashSHA256() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectCommand() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectCommandWithAddress() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectCpuWriteWithoutVerify() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectRead() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectRead_4xIO() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectReadWithAddress() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectSectorEraseWithoutVerify() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectWrite() +: fspxi.h +
  • +
  • FSPXI_CardNorDirectWriteWithAddress() +: fspxi.h +
  • +
  • FSPXI_CardSlotGetCardIFPowerStatus() +: fspxi.h +
  • +
  • FSPXI_CardSlotIsInserted() +: fspxi.h +
  • +
  • FSPXI_CardSlotPowerOff() +: fspxi.h +
  • +
  • FSPXI_CardSlotPowerOn() +: fspxi.h +
  • +
  • FSPXI_ClearNandLog() +: fspxi.h +
  • +
  • FSPXI_ClearSdmcLog() +: fspxi.h +
  • +
  • FSPXI_CloseArchive() +: fspxi.h +
  • +
  • FSPXI_CloseDirectory() +: fspxi.h +
  • +
  • FSPXI_CloseFile() +: fspxi.h +
  • +
  • FSPXI_CommitSaveData() +: fspxi.h +
  • +
  • FSPXI_CreateDirectory() +: fspxi.h +
  • +
  • FSPXI_CreateExtSaveData() +: fspxi.h +
  • +
  • FSPXI_CreateFile() +: fspxi.h +
  • +
  • FSPXI_CreateSeed() +: fspxi.h +
  • +
  • FSPXI_DeleteAllExtSaveDataOnNand() +: fspxi.h +
  • +
  • FSPXI_DeleteDirectory() +: fspxi.h +
  • +
  • FSPXI_DeleteExtSaveData() +: fspxi.h +
  • +
  • FSPXI_DeleteFile() +: fspxi.h +
  • +
  • FSPXI_DeleteSdmcRoot() +: fspxi.h +
  • +
  • FSPXI_EnumerateExtSaveData() +: fspxi.h +
  • +
  • FSPXI_EnumerateSystemSaveData() +: fspxi.h +
  • +
  • FSPXI_ExportIntegrityVerificationSeed() +: fspxi.h +
  • +
  • FSPXI_FormatCardNorDevice() +: fspxi.h +
  • +
  • FSPXI_GenerateRandomBytes() +: fspxi.h +
  • +
  • FSPXI_GetArchiveResource() +: fspxi.h +
  • +
  • FSPXI_GetCardType() +: fspxi.h +
  • +
  • FSPXI_GetFileLastModified() +: fspxi.h +
  • +
  • FSPXI_GetFileSize() +: fspxi.h +
  • +
  • FSPXI_GetLegacyBannerData() +: fspxi.h +
  • +
  • FSPXI_GetLegacyRomHeader() +: fspxi.h +
  • +
  • FSPXI_GetLegacySubBannerData() +: fspxi.h +
  • +
  • FSPXI_GetNandArchiveResource() +: fspxi.h +
  • +
  • FSPXI_GetNandCid() +: fspxi.h +
  • +
  • FSPXI_GetNandLog() +: fspxi.h +
  • +
  • FSPXI_GetNandSpeedInfo() +: fspxi.h +
  • +
  • FSPXI_GetProductInfo() +: fspxi.h +
  • +
  • FSPXI_GetSdmcArchiveResource() +: fspxi.h +
  • +
  • FSPXI_GetSdmcCid() +: fspxi.h +
  • +
  • FSPXI_GetSdmcCtrRootPath() +: fspxi.h +
  • +
  • FSPXI_GetSdmcFatFsError() +: fspxi.h +
  • +
  • FSPXI_GetSdmcLog() +: fspxi.h +
  • +
  • FSPXI_GetSdmcSpeedInfo() +: fspxi.h +
  • +
  • FSPXI_GetSpecialContentIndex() +: fspxi.h +
  • +
  • FSPXI_GetSpecialFileSize() +: fspxi.h +
  • +
  • FSPXI_HasDirectory() +: fspxi.h +
  • +
  • FSPXI_HasFile() +: fspxi.h +
  • +
  • FSPXI_ImportIntegrityVerificationSeed() +: fspxi.h +
  • +
  • FSPXI_InitializeCtrFilesystem() +: fspxi.h +
  • +
  • FSPXI_IsSdmcDetected() +: fspxi.h +
  • +
  • FSPXI_IsSdmcWritable() +: fspxi.h +
  • +
  • FSPXI_OpenArchive() +: fspxi.h +
  • +
  • FSPXI_OpenDirectory() +: fspxi.h +
  • +
  • FSPXI_OpenFile() +: fspxi.h +
  • +
  • FSPXI_ReadDirectory() +: fspxi.h +
  • +
  • FSPXI_ReadFile() +: fspxi.h +
  • +
  • FSPXI_ReadFileSHA256() +: fspxi.h +
  • +
  • FSPXI_ReadNandReport() +: fspxi.h +
  • +
  • FSPXI_ReadSpecialFile() +: fspxi.h +
  • +
  • FSPXI_RenameDirectory() +: fspxi.h +
  • +
  • FSPXI_RenameFile() +: fspxi.h +
  • +
  • FSPXI_SendInitializeInfoTo9() +: fspxi.h +
  • +
  • FSPXI_SetCardSpiBaudrate() +: fspxi.h +
  • +
  • FSPXI_SetCardSpiBusMode() +: fspxi.h +
  • +
  • FSPXI_SetCtrCardLatencyParameter() +: fspxi.h +
  • +
  • FSPXI_SetFileSize() +: fspxi.h +
  • +
  • FSPXI_SetPriority() +: fspxi.h +
  • +
  • FSPXI_StartDeviceMoveAsDestination() +: fspxi.h +
  • +
  • FSPXI_StartDeviceMoveAsSource() +: fspxi.h +
  • +
  • FSPXI_SwitchCleanupInvalidSaveData() +: fspxi.h +
  • +
  • FSPXI_Unknown0x17() +: fspxi.h +
  • +
  • FSPXI_Unknown0x56() +: fspxi.h +
  • +
  • FSPXI_WriteFile() +: fspxi.h +
  • +
  • FSPXI_WriteFileSHA256() +: fspxi.h +
  • +
  • fsUnexemptFromSession() +: fs.h +
  • +
  • FSUSER_AbnegateAccessRight() +: fs.h +
  • +
  • FSUSER_CardNorDirectCommand() +: fs.h +
  • +
  • FSUSER_CardNorDirectCommandWithAddress() +: fs.h +
  • +
  • FSUSER_CardNorDirectCpuWriteWithoutVerify() +: fs.h +
  • +
  • FSUSER_CardNorDirectRead() +: fs.h +
  • +
  • FSUSER_CardNorDirectRead_4xIO() +: fs.h +
  • +
  • FSUSER_CardNorDirectReadWithAddress() +: fs.h +
  • +
  • FSUSER_CardNorDirectSectorEraseWithoutVerify() +: fs.h +
  • +
  • FSUSER_CardNorDirectWrite() +: fs.h +
  • +
  • FSUSER_CardNorDirectWriteWithAddress() +: fs.h +
  • +
  • FSUSER_CardSlotGetCardIFPowerStatus() +: fs.h +
  • +
  • FSUSER_CardSlotIsInserted() +: fs.h +
  • +
  • FSUSER_CardSlotPowerOff() +: fs.h +
  • +
  • FSUSER_CardSlotPowerOn() +: fs.h +
  • +
  • FSUSER_CheckAuthorityToAccessExtSaveData() +: fs.h +
  • +
  • FSUSER_ClearNandLog() +: fs.h +
  • +
  • FSUSER_ClearSdmcLog() +: fs.h +
  • +
  • FSUSER_CloseArchive() +: fs.h +
  • +
  • FSUSER_Control() +: fs.h +
  • +
  • FSUSER_ControlArchive() +: fs.h +
  • +
  • FSUSER_ControlSecureSave() +: fs.h +
  • +
  • FSUSER_CreateDirectory() +: fs.h +
  • +
  • FSUSER_CreateExtSaveData() +: fs.h +
  • +
  • FSUSER_CreateFile() +: fs.h +
  • +
  • FSUSER_CreateSeed() +: fs.h +
  • +
  • FSUSER_CreateSystemSaveData() +: fs.h +
  • +
  • FSUSER_DeleteAllExtSaveDataOnNand() +: fs.h +
  • +
  • FSUSER_DeleteDirectory() +: fs.h +
  • +
  • FSUSER_DeleteDirectoryRecursively() +: fs.h +
  • +
  • FSUSER_DeleteExtSaveData() +: fs.h +
  • +
  • FSUSER_DeleteFile() +: fs.h +
  • +
  • FSUSER_DeleteSdmcRoot() +: fs.h +
  • +
  • FSUSER_DeleteSystemSaveData() +: fs.h +
  • +
  • FSUSER_EnumerateExtSaveData() +: fs.h +
  • +
  • FSUSER_EnumerateSystemSaveData() +: fs.h +
  • +
  • FSUSER_ExportIntegrityVerificationSeed() +: fs.h +
  • +
  • FSUSER_FormatSaveData() +: fs.h +
  • +
  • FSUSER_GetArchivePriority() +: fs.h +
  • +
  • FSUSER_GetArchiveResource() +: fs.h +
  • +
  • FSUSER_GetCardType() +: fs.h +
  • +
  • FSUSER_GetExtDataBlockSize() +: fs.h +
  • +
  • FSUSER_GetFormatInfo() +: fs.h +
  • +
  • FSUSER_GetFreeBytes() +: fs.h +
  • +
  • FSUSER_GetLegacyBannerData() +: fs.h +
  • +
  • FSUSER_GetLegacyRomHeader() +: fs.h +
  • +
  • FSUSER_GetLegacyRomHeader2() +: fs.h +
  • +
  • FSUSER_GetLegacySubBannerData() +: fs.h +
  • +
  • FSUSER_GetMediaType() +: fs.h +
  • +
  • FSUSER_GetNandArchiveResource() +: fs.h +
  • +
  • FSUSER_GetNandCid() +: fs.h +
  • +
  • FSUSER_GetNandLog() +: fs.h +
  • +
  • FSUSER_GetNandSpeedInfo() +: fs.h +
  • +
  • FSUSER_GetPriority() +: fs.h +
  • +
  • FSUSER_GetProductInfo() +: fs.h +
  • +
  • FSUSER_GetProgramLaunchInfo() +: fs.h +
  • +
  • FSUSER_GetSaveDataSecureValue() +: fs.h +
  • +
  • FSUSER_GetSdmcArchiveResource() +: fs.h +
  • +
  • FSUSER_GetSdmcCid() +: fs.h +
  • +
  • FSUSER_GetSdmcCtrRootPath() +: fs.h +
  • +
  • FSUSER_GetSdmcFatfsError() +: fs.h +
  • +
  • FSUSER_GetSdmcLog() +: fs.h +
  • +
  • FSUSER_GetSdmcSpeedInfo() +: fs.h +
  • +
  • FSUSER_GetSpecialContentIndex() +: fs.h +
  • +
  • FSUSER_GetSpecialFileSize() +: fs.h +
  • +
  • FSUSER_ImportIntegrityVerificationSeed() +: fs.h +
  • +
  • FSUSER_Initialize() +: fs.h +
  • +
  • FSUSER_InitializeCtrFileSystem() +: fs.h +
  • +
  • FSUSER_InitializeWithSdkVersion() +: fs.h +
  • +
  • FSUSER_IsSdmcDetected() +: fs.h +
  • +
  • FSUSER_IsSdmcWritable() +: fs.h +
  • +
  • FSUSER_OpenArchive() +: fs.h +
  • +
  • FSUSER_OpenDirectory() +: fs.h +
  • +
  • FSUSER_OpenFile() +: fs.h +
  • +
  • FSUSER_OpenFileDirectly() +: fs.h +
  • +
  • FSUSER_QueryTotalQuotaSize() +: fs.h +
  • +
  • FSUSER_ReadExtSaveDataIcon() +: fs.h +
  • +
  • FSUSER_ReadSpecialFile() +: fs.h +
  • +
  • FSUSER_RenameDirectory() +: fs.h +
  • +
  • FSUSER_RenameFile() +: fs.h +
  • +
  • FSUSER_SendInitializeInfoTo9() +: fs.h +
  • +
  • FSUSER_SetArchivePriority() +: fs.h +
  • +
  • FSUSER_SetCardSpiBaudRate() +: fs.h +
  • +
  • FSUSER_SetCardSpiBusMode() +: fs.h +
  • +
  • FSUSER_SetCtrCardLatencyParameter() +: fs.h +
  • +
  • FSUSER_SetPriority() +: fs.h +
  • +
  • FSUSER_SetSaveDataSecureValue() +: fs.h +
  • +
  • FSUSER_StartDeviceMoveAsDestination() +: fs.h +
  • +
  • FSUSER_StartDeviceMoveAsSource() +: fs.h +
  • +
  • FSUSER_SwitchCleanupInvalidSaveData() +: fs.h +
  • +
  • FSUSER_UpdateSha256Context() +: fs.h +
  • +
  • fsUseSession() +: fs.h +
  • +
+
+ + + + diff --git a/globals_func_g.html b/globals_func_g.html new file mode 100644 index 000000000..413c4ca15 --- /dev/null +++ b/globals_func_g.html @@ -0,0 +1,342 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- g -

    +
  • gdbHioDevExit() +: gdbhio_dev.h +
  • +
  • gdbHioDevGetStderr() +: gdbhio_dev.h +
  • +
  • gdbHioDevGetStdin() +: gdbhio_dev.h +
  • +
  • gdbHioDevGetStdout() +: gdbhio_dev.h +
  • +
  • gdbHioDevGettimeofday() +: gdbhio_dev.h +
  • +
  • gdbHioDevInit() +: gdbhio_dev.h +
  • +
  • gdbHioDevIsatty() +: gdbhio_dev.h +
  • +
  • gdbHioDevRedirectStdStreams() +: gdbhio_dev.h +
  • +
  • gdbHioIsatty() +: gdbhio.h +
  • +
  • gethostid() +: soc.h +
  • +
  • getThreadCommandBuffer() +: svc.h +
  • +
  • getThreadLocalStorage() +: svc.h +
  • +
  • getThreadStaticBuffers() +: svc.h +
  • +
  • gfxConfigScreen() +: gfx.h +
  • +
  • gfxExit() +: gfx.h +
  • +
  • gfxFlushBuffers() +: gfx.h +
  • +
  • gfxGetFramebuffer() +: gfx.h +
  • +
  • gfxGetScreenFormat() +: gfx.h +
  • +
  • gfxInit() +: gfx.h +
  • +
  • gfxInitDefault() +: gfx.h +
  • +
  • gfxIs3D() +: gfx.h +
  • +
  • gfxIsWide() +: gfx.h +
  • +
  • gfxScreenSwapBuffers() +: gfx.h +
  • +
  • gfxSet3D() +: gfx.h +
  • +
  • gfxSetDoubleBuffering() +: gfx.h +
  • +
  • gfxSetScreenFormat() +: gfx.h +
  • +
  • gfxSetWide() +: gfx.h +
  • +
  • gfxSwapBuffers() +: gfx.h +
  • +
  • gfxSwapBuffersGpu() +: gfx.h +
  • +
  • GPUCMD_Add() +: gpu.h +
  • +
  • GPUCMD_AddRawCommands() +: gpu.h +
  • +
  • GPUCMD_AddSingleParam() +: gpu.h +
  • +
  • GPUCMD_GetBuffer() +: gpu.h +
  • +
  • GPUCMD_SetBuffer() +: gpu.h +
  • +
  • GPUCMD_SetBufferOffset() +: gpu.h +
  • +
  • GPUCMD_Split() +: gpu.h +
  • +
  • gspExit() +: gspgpu.h +
  • +
  • gspGetBytesPerPixel() +: gspgpu.h +
  • +
  • gspGetSessionHandle() +: gspgpu.h +
  • +
  • GSPGPU_AcquireRight() +: gspgpu.h +
  • +
  • GSPGPU_FlushDataCache() +: gspgpu.h +
  • +
  • GSPGPU_ImportDisplayCaptureInfo() +: gspgpu.h +
  • +
  • GSPGPU_InvalidateDataCache() +: gspgpu.h +
  • +
  • GSPGPU_ReadHWRegs() +: gspgpu.h +
  • +
  • GSPGPU_RegisterInterruptRelayQueue() +: gspgpu.h +
  • +
  • GSPGPU_ReleaseRight() +: gspgpu.h +
  • +
  • GSPGPU_ResetGpuCore() +: gspgpu.h +
  • +
  • GSPGPU_RestoreVramSysArea() +: gspgpu.h +
  • +
  • GSPGPU_SaveVramSysArea() +: gspgpu.h +
  • +
  • GSPGPU_SetBufferSwap() +: gspgpu.h +
  • +
  • GSPGPU_SetLcdForceBlack() +: gspgpu.h +
  • +
  • GSPGPU_SetLedForceOff() +: gspgpu.h +
  • +
  • GSPGPU_TriggerCmdReqQueue() +: gspgpu.h +
  • +
  • GSPGPU_UnregisterInterruptRelayQueue() +: gspgpu.h +
  • +
  • GSPGPU_WriteHWRegs() +: gspgpu.h +
  • +
  • GSPGPU_WriteHWRegsWithMask() +: gspgpu.h +
  • +
  • gspHasGpuRight() +: gspgpu.h +
  • +
  • gspInit() +: gspgpu.h +
  • +
  • gspIsPresentPending() +: gspgpu.h +
  • +
  • GSPLCD_GetBrightness() +: gsplcd.h +
  • +
  • GSPLCD_GetVendors() +: gsplcd.h +
  • +
  • GSPLCD_PowerOffAllBacklights() +: gsplcd.h +
  • +
  • GSPLCD_PowerOffBacklight() +: gsplcd.h +
  • +
  • GSPLCD_PowerOnAllBacklights() +: gsplcd.h +
  • +
  • GSPLCD_PowerOnBacklight() +: gsplcd.h +
  • +
  • GSPLCD_SetBrightness() +: gsplcd.h +
  • +
  • GSPLCD_SetBrightnessRaw() +: gsplcd.h +
  • +
  • GSPLCD_SetLedForceOff() +: gsplcd.h +
  • +
  • gspLcdExit() +: gsplcd.h +
  • +
  • gspLcdGetSessionHandle() +: gsplcd.h +
  • +
  • gspLcdInit() +: gsplcd.h +
  • +
  • gspPresentBuffer() +: gspgpu.h +
  • +
  • gspSetEventCallback() +: gspgpu.h +
  • +
  • gspSubmitGxCommand() +: gspgpu.h +
  • +
  • gspWaitForAnyEvent() +: gspgpu.h +
  • +
  • gspWaitForEvent() +: gspgpu.h +
  • +
  • GX_BindQueue() +: gx.h +
  • +
  • GX_DisplayTransfer() +: gx.h +
  • +
  • GX_FlushCacheRegions() +: gx.h +
  • +
  • GX_MemoryFill() +: gx.h +
  • +
  • GX_ProcessCommandList() +: gx.h +
  • +
  • GX_RequestDma() +: gx.h +
  • +
  • GX_TextureCopy() +: gx.h +
  • +
  • gxCmdQueueAdd() +: gx.h +
  • +
  • gxCmdQueueClear() +: gx.h +
  • +
  • gxCmdQueueRun() +: gx.h +
  • +
  • gxCmdQueueSetCallback() +: gx.h +
  • +
  • gxCmdQueueStop() +: gx.h +
  • +
  • gxCmdQueueWait() +: gx.h +
  • +
+
+ + + + diff --git a/globals_func_h.html b/globals_func_h.html new file mode 100644 index 000000000..fe80ab527 --- /dev/null +++ b/globals_func_h.html @@ -0,0 +1,243 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- h -

    +
  • hidAccelRead() +: hid.h +
  • +
  • hidCircleRead() +: hid.h +
  • +
  • hidExit() +: hid.h +
  • +
  • hidGyroRead() +: hid.h +
  • +
  • hidInit() +: hid.h +
  • +
  • hidKeysDown() +: hid.h +
  • +
  • hidKeysDownRepeat() +: hid.h +
  • +
  • hidKeysHeld() +: hid.h +
  • +
  • hidKeysUp() +: hid.h +
  • +
  • hidScanInput() +: hid.h +
  • +
  • hidSetRepeatParameters() +: hid.h +
  • +
  • hidTouchRead() +: hid.h +
  • +
  • HIDUSER_DisableAccelerometer() +: hid.h +
  • +
  • HIDUSER_DisableGyroscope() +: hid.h +
  • +
  • HIDUSER_EnableAccelerometer() +: hid.h +
  • +
  • HIDUSER_EnableGyroscope() +: hid.h +
  • +
  • HIDUSER_GetGyroscopeRawToDpsCoefficient() +: hid.h +
  • +
  • HIDUSER_GetHandles() +: hid.h +
  • +
  • HIDUSER_GetSoundVolume() +: hid.h +
  • +
  • hidWaitForAnyEvent() +: hid.h +
  • +
  • hidWaitForEvent() +: hid.h +
  • +
  • httpcAddDefaultCert() +: httpc.h +
  • +
  • httpcAddPostDataAscii() +: httpc.h +
  • +
  • httpcAddPostDataBinary() +: httpc.h +
  • +
  • httpcAddPostDataRaw() +: httpc.h +
  • +
  • httpcAddRequestHeaderField() +: httpc.h +
  • +
  • httpcAddTrustedRootCA() +: httpc.h +
  • +
  • httpcBeginRequest() +: httpc.h +
  • +
  • httpcCancelConnection() +: httpc.h +
  • +
  • httpcCloseClientCertContext() +: httpc.h +
  • +
  • httpcCloseContext() +: httpc.h +
  • +
  • httpcCreateRootCertChain() +: httpc.h +
  • +
  • httpcDestroyRootCertChain() +: httpc.h +
  • +
  • httpcDownloadData() +: httpc.h +
  • +
  • httpcExit() +: httpc.h +
  • +
  • httpcGetDownloadSizeState() +: httpc.h +
  • +
  • httpcGetRequestState() +: httpc.h +
  • +
  • httpcGetResponseHeader() +: httpc.h +
  • +
  • httpcGetResponseStatusCode() +: httpc.h +
  • +
  • httpcGetResponseStatusCodeTimeout() +: httpc.h +
  • +
  • httpcInit() +: httpc.h +
  • +
  • httpcOpenClientCertContext() +: httpc.h +
  • +
  • httpcOpenContext() +: httpc.h +
  • +
  • httpcOpenDefaultClientCertContext() +: httpc.h +
  • +
  • httpcReceiveData() +: httpc.h +
  • +
  • httpcReceiveDataTimeout() +: httpc.h +
  • +
  • httpcRootCertChainAddCert() +: httpc.h +
  • +
  • httpcRootCertChainAddDefaultCert() +: httpc.h +
  • +
  • httpcRootCertChainRemoveCert() +: httpc.h +
  • +
  • httpcSelectRootCertChain() +: httpc.h +
  • +
  • httpcSetClientCert() +: httpc.h +
  • +
  • httpcSetClientCertContext() +: httpc.h +
  • +
  • httpcSetClientCertDefault() +: httpc.h +
  • +
  • httpcSetKeepAlive() +: httpc.h +
  • +
  • httpcSetSSLClearOpt() +: httpc.h +
  • +
  • httpcSetSSLOpt() +: httpc.h +
  • +
+
+ + + + diff --git a/globals_func_i.html b/globals_func_i.html new file mode 100644 index 000000000..8c4e9df8f --- /dev/null +++ b/globals_func_i.html @@ -0,0 +1,174 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- i -

    +
  • IPC_Desc_Buffer() +: ipc.h +
  • +
  • IPC_Desc_CurProcessId() +: ipc.h +
  • +
  • IPC_Desc_MoveHandles() +: ipc.h +
  • +
  • IPC_Desc_PXIBuffer() +: ipc.h +
  • +
  • IPC_Desc_SharedHandles() +: ipc.h +
  • +
  • IPC_Desc_StaticBuffer() +: ipc.h +
  • +
  • IPC_MakeHeader() +: ipc.h +
  • +
  • IRRST_GetHandles() +: irrst.h +
  • +
  • IRRST_Initialize() +: irrst.h +
  • +
  • IRRST_Shutdown() +: irrst.h +
  • +
  • irrstCstickRead() +: irrst.h +
  • +
  • irrstExit() +: irrst.h +
  • +
  • irrstInit() +: irrst.h +
  • +
  • irrstKeysHeld() +: irrst.h +
  • +
  • irrstScanInput() +: irrst.h +
  • +
  • irrstWaitForEvent() +: irrst.h +
  • +
  • IRU_GetBitRate() +: ir.h +
  • +
  • IRU_GetIRLEDRecvState() +: ir.h +
  • +
  • IRU_GetRecvFinishedEvent() +: ir.h +
  • +
  • IRU_GetSendFinishedEvent() +: ir.h +
  • +
  • IRU_Initialize() +: ir.h +
  • +
  • IRU_SetBitRate() +: ir.h +
  • +
  • IRU_SetIRLEDState() +: ir.h +
  • +
  • IRU_Shutdown() +: ir.h +
  • +
  • IRU_StartRecvTransfer() +: ir.h +
  • +
  • IRU_StartSendTransfer() +: ir.h +
  • +
  • IRU_WaitRecvTransfer() +: ir.h +
  • +
  • IRU_WaitSendTransfer() +: ir.h +
  • +
  • iruExit() +: ir.h +
  • +
  • iruGetServHandle() +: ir.h +
  • +
  • iruInit() +: ir.h +
  • +
  • iruRecvData() +: ir.h +
  • +
  • iruSendData() +: ir.h +
  • +
+
+ + + + diff --git a/globals_func_l.html b/globals_func_l.html new file mode 100644 index 000000000..1237198df --- /dev/null +++ b/globals_func_l.html @@ -0,0 +1,165 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- l -

+
+ + + + diff --git a/globals_func_m.html b/globals_func_m.html new file mode 100644 index 000000000..fcba31f9f --- /dev/null +++ b/globals_func_m.html @@ -0,0 +1,240 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- m -

+
+ + + + diff --git a/globals_func_n.html b/globals_func_n.html new file mode 100644 index 000000000..a4ff5e2a5 --- /dev/null +++ b/globals_func_n.html @@ -0,0 +1,462 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- n -

    +
  • NDMU_ClearMacFilter() +: ndm.h +
  • +
  • NDMU_EnterExclusiveState() +: ndm.h +
  • +
  • NDMU_GetCurrentState() +: ndm.h +
  • +
  • NDMU_GetDefaultDaemons() +: ndm.h +
  • +
  • NDMU_GetExclusiveState() +: ndm.h +
  • +
  • NDMU_GetRetryInterval() +: ndm.h +
  • +
  • NDMU_GetScanInterval() +: ndm.h +
  • +
  • NDMU_LeaveExclusiveState() +: ndm.h +
  • +
  • NDMU_LockState() +: ndm.h +
  • +
  • NDMU_QueryStatus() +: ndm.h +
  • +
  • NDMU_ResetDaemons() +: ndm.h +
  • +
  • NDMU_ResumeDaemons() +: ndm.h +
  • +
  • NDMU_ResumeScheduler() +: ndm.h +
  • +
  • NDMU_SetScanInterval() +: ndm.h +
  • +
  • NDMU_SuspendDaemons() +: ndm.h +
  • +
  • NDMU_SuspendScheduler() +: ndm.h +
  • +
  • NDMU_UnlockState() +: ndm.h +
  • +
  • ndmuExit() +: ndm.h +
  • +
  • ndmuInit() +: ndm.h +
  • +
  • ndspAuxGetFrontBypass() +: ndsp.h +
  • +
  • ndspAuxGetVolume() +: ndsp.h +
  • +
  • ndspAuxIsEnabled() +: ndsp.h +
  • +
  • ndspAuxSetCallback() +: ndsp.h +
  • +
  • ndspAuxSetEnable() +: ndsp.h +
  • +
  • ndspAuxSetFrontBypass() +: ndsp.h +
  • +
  • ndspAuxSetVolume() +: ndsp.h +
  • +
  • ndspChnGetFormat() +: channel.h +
  • +
  • ndspChnGetInterp() +: channel.h +
  • +
  • ndspChnGetMix() +: channel.h +
  • +
  • ndspChnGetRate() +: channel.h +
  • +
  • ndspChnGetSamplePos() +: channel.h +
  • +
  • ndspChnGetWaveBufSeq() +: channel.h +
  • +
  • ndspChnIirBiquadSetEnable() +: channel.h +
  • +
  • ndspChnIirBiquadSetParamsBandPassFilter() +: channel.h +
  • +
  • ndspChnIirBiquadSetParamsCustomFilter() +: channel.h +
  • +
  • ndspChnIirBiquadSetParamsHighPassFilter() +: channel.h +
  • +
  • ndspChnIirBiquadSetParamsLowPassFilter() +: channel.h +
  • +
  • ndspChnIirBiquadSetParamsNotchFilter() +: channel.h +
  • +
  • ndspChnIirBiquadSetParamsPeakingEqualizer() +: channel.h +
  • +
  • ndspChnIirMonoSetEnable() +: channel.h +
  • +
  • ndspChnIirMonoSetParamsCustomFilter() +: channel.h +
  • +
  • ndspChnIirMonoSetParamsHighPassFilter() +: channel.h +
  • +
  • ndspChnIirMonoSetParamsLowPassFilter() +: channel.h +
  • +
  • ndspChnInitParams() +: channel.h +
  • +
  • ndspChnIsPaused() +: channel.h +
  • +
  • ndspChnIsPlaying() +: channel.h +
  • +
  • ndspChnReset() +: channel.h +
  • +
  • ndspChnSetAdpcmCoefs() +: channel.h +
  • +
  • ndspChnSetFormat() +: channel.h +
  • +
  • ndspChnSetInterp() +: channel.h +
  • +
  • ndspChnSetMix() +: channel.h +
  • +
  • ndspChnSetPaused() +: channel.h +
  • +
  • ndspChnSetRate() +: channel.h +
  • +
  • ndspChnWaveBufAdd() +: channel.h +
  • +
  • ndspChnWaveBufClear() +: channel.h +
  • +
  • ndspExit() +: ndsp.h +
  • +
  • ndspGetClippingMode() +: ndsp.h +
  • +
  • ndspGetDroppedFrames() +: ndsp.h +
  • +
  • ndspGetFrameCount() +: ndsp.h +
  • +
  • ndspGetMasterVol() +: ndsp.h +
  • +
  • ndspGetOutputCount() +: ndsp.h +
  • +
  • ndspGetOutputMode() +: ndsp.h +
  • +
  • ndspInit() +: ndsp.h +
  • +
  • ndspSetCallback() +: ndsp.h +
  • +
  • ndspSetCapture() +: ndsp.h +
  • +
  • ndspSetClippingMode() +: ndsp.h +
  • +
  • ndspSetMasterVol() +: ndsp.h +
  • +
  • ndspSetOutputCount() +: ndsp.h +
  • +
  • ndspSetOutputMode() +: ndsp.h +
  • +
  • ndspSurroundGetDepth() +: ndsp.h +
  • +
  • ndspSurroundGetPos() +: ndsp.h +
  • +
  • ndspSurroundGetRearRatio() +: ndsp.h +
  • +
  • ndspSurroundSetDepth() +: ndsp.h +
  • +
  • ndspSurroundSetPos() +: ndsp.h +
  • +
  • ndspSurroundSetRearRatio() +: ndsp.h +
  • +
  • ndspUseComponent() +: ndsp.h +
  • +
  • NEWS_AddNotification() +: news.h +
  • +
  • NEWS_GetNotificationHeader() +: news.h +
  • +
  • NEWS_GetNotificationImage() +: news.h +
  • +
  • NEWS_GetNotificationMessage() +: news.h +
  • +
  • NEWS_GetTotalNotifications() +: news.h +
  • +
  • NEWS_SetNotificationHeader() +: news.h +
  • +
  • NEWS_SetNotificationImage() +: news.h +
  • +
  • NEWS_SetNotificationMessage() +: news.h +
  • +
  • newsExit() +: news.h +
  • +
  • newsInit() +: news.h +
  • +
  • nfcCmd21() +: nfc.h +
  • +
  • nfcCmd22() +: nfc.h +
  • +
  • nfcExit() +: nfc.h +
  • +
  • nfcGetAmiiboConfig() +: nfc.h +
  • +
  • nfcGetAmiiboSettings() +: nfc.h +
  • +
  • nfcGetSessionHandle() +: nfc.h +
  • +
  • nfcGetTagInfo() +: nfc.h +
  • +
  • nfcGetTagState() +: nfc.h +
  • +
  • nfcInit() +: nfc.h +
  • +
  • nfcInitializeWriteAppData() +: nfc.h +
  • +
  • nfcLoadAmiiboData() +: nfc.h +
  • +
  • nfcOpenAppData() +: nfc.h +
  • +
  • nfcReadAppData() +: nfc.h +
  • +
  • nfcResetTagScanState() +: nfc.h +
  • +
  • nfcSendTagCommand() +: nfc.h +
  • +
  • nfcStartOtherTagScanning() +: nfc.h +
  • +
  • nfcStartScanning() +: nfc.h +
  • +
  • nfcStopScanning() +: nfc.h +
  • +
  • nfcUpdateStoredAmiiboData() +: nfc.h +
  • +
  • nfcWriteAppData() +: nfc.h +
  • +
  • NIMS_CancelDownload() +: nim.h +
  • +
  • NIMS_GetProgress() +: nim.h +
  • +
  • NIMS_IsTaskRegistered() +: nim.h +
  • +
  • NIMS_MakeTitleConfig() +: nim.h +
  • +
  • NIMS_RegisterTask() +: nim.h +
  • +
  • NIMS_SetAttribute() +: nim.h +
  • +
  • NIMS_StartDownload() +: nim.h +
  • +
  • NIMS_StartDownloadSimple() +: nim.h +
  • +
  • NIMS_UnregisterTask() +: nim.h +
  • +
  • NIMS_WantUpdate() +: nim.h +
  • +
  • nimsExit() +: nim.h +
  • +
  • nimsGetSessionHandle() +: nim.h +
  • +
  • nimsInit() +: nim.h +
  • +
  • nimsInitWithTIN() +: nim.h +
  • +
  • NS_LaunchApplicationFIRM() +: ns.h +
  • +
  • NS_LaunchFIRM() +: ns.h +
  • +
  • NS_LaunchTitle() +: ns.h +
  • +
  • NS_RebootSystem() +: ns.h +
  • +
  • NS_RebootToTitle() +: ns.h +
  • +
  • NS_TerminateProcessTID() +: ns.h +
  • +
  • NS_TerminateTitle() +: ns.h +
  • +
  • nsExit() +: ns.h +
  • +
  • nsInit() +: ns.h +
  • +
+
+ + + + diff --git a/globals_func_o.html b/globals_func_o.html new file mode 100644 index 000000000..8f9690d3e --- /dev/null +++ b/globals_func_o.html @@ -0,0 +1,138 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- o -

    +
  • osConvertOldLINEARMemToNew() +: os.h +
  • +
  • osConvertVirtToPhys() +: os.h +
  • +
  • osGet3DSliderState() +: os.h +
  • +
  • osGetApplicationMemType() +: os.h +
  • +
  • osGetFirmVersion() +: os.h +
  • +
  • osGetKernelVersion() +: os.h +
  • +
  • osGetMemRegionFree() +: os.h +
  • +
  • osGetMemRegionSize() +: os.h +
  • +
  • osGetMemRegionUsed() +: os.h +
  • +
  • osGetSystemCoreVersion() +: os.h +
  • +
  • osGetSystemVersionData() +: os.h +
  • +
  • osGetSystemVersionDataString() +: os.h +
  • +
  • osGetTime() +: os.h +
  • +
  • osGetTimeRef() +: os.h +
  • +
  • osGetWifiStrength() +: os.h +
  • +
  • osIsHeadsetConnected() +: os.h +
  • +
  • osSetSpeedupEnable() +: os.h +
  • +
  • osStrError() +: os.h +
  • +
  • osTickCounterRead() +: os.h +
  • +
  • osTickCounterStart() +: os.h +
  • +
  • osTickCounterUpdate() +: os.h +
  • +
+
+ + + + diff --git a/globals_func_p.html b/globals_func_p.html new file mode 100644 index 000000000..5db1013f9 --- /dev/null +++ b/globals_func_p.html @@ -0,0 +1,315 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- p -

    +
  • PMAPP_GetAppResourceLimit() +: pmapp.h +
  • +
  • PMAPP_GetFIRMLaunchParams() +: pmapp.h +
  • +
  • PMAPP_GetTitleExheaderFlags() +: pmapp.h +
  • +
  • PMAPP_LaunchFIRMSetParams() +: pmapp.h +
  • +
  • PMAPP_LaunchTitle() +: pmapp.h +
  • +
  • PMAPP_LaunchTitleUpdate() +: pmapp.h +
  • +
  • PMAPP_PrepareForReboot() +: pmapp.h +
  • +
  • PMAPP_SetAppResourceLimit() +: pmapp.h +
  • +
  • PMAPP_SetFIRMLaunchParams() +: pmapp.h +
  • +
  • PMAPP_TerminateCurrentApplication() +: pmapp.h +
  • +
  • PMAPP_TerminateProcess() +: pmapp.h +
  • +
  • PMAPP_TerminateTitle() +: pmapp.h +
  • +
  • PMAPP_UnregisterProcess() +: pmapp.h +
  • +
  • pmAppExit() +: pmapp.h +
  • +
  • pmAppGetSessionHandle() +: pmapp.h +
  • +
  • pmAppInit() +: pmapp.h +
  • +
  • PMDBG_LaunchApp() +: pmdbg.h +
  • +
  • PMDBG_LaunchAppDebug() +: pmdbg.h +
  • +
  • PMDBG_RunQueuedProcess() +: pmdbg.h +
  • +
  • pmDbgExit() +: pmdbg.h +
  • +
  • pmDbgGetSessionHandle() +: pmdbg.h +
  • +
  • pmDbgInit() +: pmdbg.h +
  • +
  • PS_EncryptDecryptAes() +: ps.h +
  • +
  • PS_EncryptSignDecryptVerifyAesCcm() +: ps.h +
  • +
  • PS_GenerateRandomBytes() +: ps.h +
  • +
  • PS_GetDeviceId() +: ps.h +
  • +
  • PS_GetLocalFriendCodeSeed() +: ps.h +
  • +
  • PS_SignRsaSha256() +: ps.h +
  • +
  • PS_VerifyRsaSha256() +: ps.h +
  • +
  • psExit() +: ps.h +
  • +
  • psGetSessionHandle() +: ps.h +
  • +
  • psInit() +: ps.h +
  • +
  • psInitHandle() +: ps.h +
  • +
  • PTMGETS_GetSystemTime() +: ptmgets.h +
  • +
  • ptmGetsExit() +: ptmgets.h +
  • +
  • ptmGetsGetSessionHandle() +: ptmgets.h +
  • +
  • ptmGetsInit() +: ptmgets.h +
  • +
  • PTMSETS_SetSystemTime() +: ptmsets.h +
  • +
  • ptmSetsExit() +: ptmsets.h +
  • +
  • ptmSetsGetSessionHandle() +: ptmsets.h +
  • +
  • ptmSetsInit() +: ptmsets.h +
  • +
  • PTMSYSM_Awaken() +: ptmsysm.h +
  • +
  • PTMSYSM_CheckNew3DS() +: ptmsysm.h +
  • +
  • PTMSYSM_ConfigureNew3DSCPU() +: ptmsysm.h +
  • +
  • PTMSYSM_GetRtcTime() +: ptmsysm.h +
  • +
  • PTMSYSM_GetWakeReason() +: ptmsysm.h +
  • +
  • PTMSYSM_InvalidateSystemTime() +: ptmsysm.h +
  • +
  • PTMSYSM_NotifySleepPreparationComplete() +: ptmsysm.h +
  • +
  • PTMSYSM_RebootAsync() +: ptmsysm.h +
  • +
  • PTMSYSM_ReplyToSleepQuery() +: ptmsysm.h +
  • +
  • PTMSYSM_RequestSleep() +: ptmsysm.h +
  • +
  • PTMSYSM_SetRtcTime() +: ptmsysm.h +
  • +
  • PTMSYSM_SetUserTime() +: ptmsysm.h +
  • +
  • PTMSYSM_SetWakeEvents() +: ptmsysm.h +
  • +
  • PTMSYSM_ShutdownAsync() +: ptmsysm.h +
  • +
  • ptmSysmExit() +: ptmsysm.h +
  • +
  • ptmSysmGetNotificationAckValue() +: ptmsysm.h +
  • +
  • ptmSysmGetSessionHandle() +: ptmsysm.h +
  • +
  • ptmSysmInit() +: ptmsysm.h +
  • +
  • PTMU_GetAdapterState() +: ptmu.h +
  • +
  • PTMU_GetBatteryChargeState() +: ptmu.h +
  • +
  • PTMU_GetBatteryLevel() +: ptmu.h +
  • +
  • PTMU_GetPedometerState() +: ptmu.h +
  • +
  • PTMU_GetShellState() +: ptmu.h +
  • +
  • PTMU_GetTotalStepCount() +: ptmu.h +
  • +
  • ptmuExit() +: ptmu.h +
  • +
  • ptmuGetSessionHandle() +: ptmu.h +
  • +
  • ptmuInit() +: ptmu.h +
  • +
  • PXIDEV_SPIMultiWriteRead() +: pxidev.h +
  • +
  • PXIDEV_SPIWriteRead() +: pxidev.h +
  • +
  • pxiDevExit() +: pxidev.h +
  • +
  • pxiDevInit() +: pxidev.h +
  • +
  • pxiDevMakeTransferOption() +: pxidev.h +
  • +
  • pxiDevMakeWaitOperation() +: pxidev.h +
  • +
  • PXIPM_GetProgramInfo() +: pxipm.h +
  • +
  • PXIPM_RegisterProgram() +: pxipm.h +
  • +
  • PXIPM_UnregisterProgram() +: pxipm.h +
  • +
  • pxiPmExit() +: pxipm.h +
  • +
  • pxiPmGetSessionHandle() +: pxipm.h +
  • +
  • pxiPmInit() +: pxipm.h +
  • +
+
+ + + + diff --git a/globals_func_q.html b/globals_func_q.html new file mode 100644 index 000000000..c704d4b9f --- /dev/null +++ b/globals_func_q.html @@ -0,0 +1,93 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- q -

    +
  • QTM_GetHeadTrackingInfo() +: qtm.h +
  • +
  • qtmCheckHeadFullyDetected() +: qtm.h +
  • +
  • qtmCheckInitialized() +: qtm.h +
  • +
  • qtmConvertCoordToScreen() +: qtm.h +
  • +
  • qtmExit() +: qtm.h +
  • +
  • qtmInit() +: qtm.h +
  • +
+
+ + + + diff --git a/globals_func_r.html b/globals_func_r.html new file mode 100644 index 000000000..a940ce520 --- /dev/null +++ b/globals_func_r.html @@ -0,0 +1,141 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- r -

+
+ + + + diff --git a/globals_func_s.html b/globals_func_s.html new file mode 100644 index 000000000..b2de566ca --- /dev/null +++ b/globals_func_s.html @@ -0,0 +1,615 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- s -

    +
  • shaderInstanceFree() +: shaderProgram.h +
  • +
  • shaderInstanceGetBool() +: shaderProgram.h +
  • +
  • shaderInstanceGetUniformLocation() +: shaderProgram.h +
  • +
  • shaderInstanceInit() +: shaderProgram.h +
  • +
  • shaderInstanceSetBool() +: shaderProgram.h +
  • +
  • shaderProgramConfigure() +: shaderProgram.h +
  • +
  • shaderProgramFree() +: shaderProgram.h +
  • +
  • shaderProgramInit() +: shaderProgram.h +
  • +
  • shaderProgramSetGsh() +: shaderProgram.h +
  • +
  • shaderProgramSetGshInputPermutation() +: shaderProgram.h +
  • +
  • shaderProgramSetVsh() +: shaderProgram.h +
  • +
  • shaderProgramUse() +: shaderProgram.h +
  • +
  • socExit() +: soc.h +
  • +
  • socInit() +: soc.h +
  • +
  • SOCU_AddGlobalSocket() +: soc.h +
  • +
  • SOCU_GetIPInfo() +: soc.h +
  • +
  • SOCU_GetNetworkOpt() +: soc.h +
  • +
  • srvEnableNotification() +: srv.h +
  • +
  • srvExit() +: srv.h +
  • +
  • srvGetPort() +: srv.h +
  • +
  • srvGetServiceHandle() +: srv.h +
  • +
  • srvGetServiceHandleDirect() +: srv.h +
  • +
  • srvGetSessionHandle() +: srv.h +
  • +
  • srvInit() +: srv.h +
  • +
  • srvIsPortRegistered() +: srv.h +
  • +
  • srvIsServiceRegistered() +: srv.h +
  • +
  • SRVPM_PublishToAll() +: srvpm.h +
  • +
  • SRVPM_PublishToProcess() +: srvpm.h +
  • +
  • SRVPM_RegisterProcess() +: srvpm.h +
  • +
  • SRVPM_UnregisterProcess() +: srvpm.h +
  • +
  • srvPmExit() +: srvpm.h +
  • +
  • srvPmGetSessionHandle() +: srvpm.h +
  • +
  • srvPmInit() +: srvpm.h +
  • +
  • srvPublishAndGetSubscriber() +: srv.h +
  • +
  • srvPublishToSubscriber() +: srv.h +
  • +
  • srvReceiveNotification() +: srv.h +
  • +
  • srvRegisterClient() +: srv.h +
  • +
  • srvRegisterPort() +: srv.h +
  • +
  • srvRegisterService() +: srv.h +
  • +
  • srvSetBlockingPolicy() +: srv.h +
  • +
  • srvSubscribe() +: srv.h +
  • +
  • srvUnregisterPort() +: srv.h +
  • +
  • srvUnregisterService() +: srv.h +
  • +
  • srvUnsubscribe() +: srv.h +
  • +
  • srvWaitForPortRegistered() +: srv.h +
  • +
  • sslc8CertChainAddCert() +: sslc.h +
  • +
  • sslc8CertChainAddDefaultCert() +: sslc.h +
  • +
  • sslc8CertChainRemoveCert() +: sslc.h +
  • +
  • sslcAddTrustedRootCA() +: sslc.h +
  • +
  • sslcCloseClientCertContext() +: sslc.h +
  • +
  • sslcCreate8CertChain() +: sslc.h +
  • +
  • sslcCreateContext() +: sslc.h +
  • +
  • sslcCreateRootCertChain() +: sslc.h +
  • +
  • sslcDestroy8CertChain() +: sslc.h +
  • +
  • sslcDestroyRootCertChain() +: sslc.h +
  • +
  • sslcExit() +: sslc.h +
  • +
  • sslcGenerateRandomData() +: sslc.h +
  • +
  • sslcInit() +: sslc.h +
  • +
  • sslcOpenClientCertContext() +: sslc.h +
  • +
  • sslcOpenDefaultClientCertContext() +: sslc.h +
  • +
  • sslcRootCertChainAddDefaultCert() +: sslc.h +
  • +
  • sslcRootCertChainRemoveCert() +: sslc.h +
  • +
  • sslcSeedRNG() +: sslc.h +
  • +
  • svcAcceptSession() +: svc.h +
  • +
  • svcArbitrateAddress() +: svc.h +
  • +
  • svcArbitrateAddressNoTimeout() +: svc.h +
  • +
  • svcBackdoor() +: svc.h +
  • +
  • svcBindInterrupt() +: svc.h +
  • +
  • svcBreak() +: svc.h +
  • +
  • svcBreakDebugProcess() +: svc.h +
  • +
  • svcBreakRO() +: svc.h +
  • +
  • svcCancelTimer() +: svc.h +
  • +
  • svcClearEvent() +: svc.h +
  • +
  • svcClearTimer() +: svc.h +
  • +
  • svcCloseHandle() +: svc.h +
  • +
  • svcConnectToPort() +: svc.h +
  • +
  • svcContinueDebugEvent() +: svc.h +
  • +
  • svcControlMemory() +: svc.h +
  • +
  • svcControlPerformanceCounter() +: svc.h +
  • +
  • svcControlProcessMemory() +: svc.h +
  • +
  • svcCreateAddressArbiter() +: svc.h +
  • +
  • svcCreateCodeSet() +: svc.h +
  • +
  • svcCreateEvent() +: svc.h +
  • +
  • svcCreateMemoryBlock() +: svc.h +
  • +
  • svcCreateMutex() +: svc.h +
  • +
  • svcCreatePort() +: svc.h +
  • +
  • svcCreateProcess() +: svc.h +
  • +
  • svcCreateResourceLimit() +: svc.h +
  • +
  • svcCreateSemaphore() +: svc.h +
  • +
  • svcCreateSession() +: svc.h +
  • +
  • svcCreateSessionToPort() +: svc.h +
  • +
  • svcCreateThread() +: svc.h +
  • +
  • svcCreateTimer() +: svc.h +
  • +
  • svcDebugActiveProcess() +: svc.h +
  • +
  • svcDuplicateHandle() +: svc.h +
  • +
  • svcExitProcess() +: svc.h +
  • +
  • svcExitThread() +: svc.h +
  • +
  • svcFlushProcessDataCache() +: svc.h +
  • +
  • svcGetDebugThreadContext() +: svc.h +
  • +
  • svcGetDebugThreadParam() +: svc.h +
  • +
  • svcGetDmaState() +: svc.h +
  • +
  • svcGetHandleInfo() +: svc.h +
  • +
  • svcGetProcessAffinityMask() +: svc.h +
  • +
  • svcGetProcessDebugEvent() +: svc.h +
  • +
  • svcGetProcessId() +: svc.h +
  • +
  • svcGetProcessIdealProcessor() +: svc.h +
  • +
  • svcGetProcessIdOfThread() +: svc.h +
  • +
  • svcGetProcessInfo() +: svc.h +
  • +
  • svcGetProcessList() +: svc.h +
  • +
  • svcGetProcessorID() +: svc.h +
  • +
  • svcGetResourceLimit() +: svc.h +
  • +
  • svcGetResourceLimitCurrentValues() +: svc.h +
  • +
  • svcGetResourceLimitLimitValues() +: svc.h +
  • +
  • svcGetSystemInfo() +: svc.h +
  • +
  • svcGetSystemTick() +: svc.h +
  • +
  • svcGetThreadAffinityMask() +: svc.h +
  • +
  • svcGetThreadId() +: svc.h +
  • +
  • svcGetThreadIdealProcessor() +: svc.h +
  • +
  • svcGetThreadInfo() +: svc.h +
  • +
  • svcGetThreadList() +: svc.h +
  • +
  • svcGetThreadPriority() +: svc.h +
  • +
  • svcInvalidateProcessDataCache() +: svc.h +
  • +
  • svcKernelSetState() +: svc.h +
  • +
  • svcMapMemoryBlock() +: svc.h +
  • +
  • svcMapProcessMemory() +: svc.h +
  • +
  • svcOpenProcess() +: svc.h +
  • +
  • svcOpenThread() +: svc.h +
  • +
  • svcOutputDebugString() +: svc.h +
  • +
  • svcQueryDebugProcessMemory() +: svc.h +
  • +
  • svcQueryMemory() +: svc.h +
  • +
  • svcQueryProcessMemory() +: svc.h +
  • +
  • svcReadProcessMemory() +: svc.h +
  • +
  • svcReleaseMutex() +: svc.h +
  • +
  • svcReleaseSemaphore() +: svc.h +
  • +
  • svcReplyAndReceive() +: svc.h +
  • +
  • svcRestartDma() +: svc.h +
  • +
  • svcRun() +: svc.h +
  • +
  • svcSendSyncRequest() +: svc.h +
  • +
  • svcSetDebugThreadContext() +: svc.h +
  • +
  • svcSetGpuProt() +: svc.h +
  • +
  • svcSetHardwareBreakPoint() +: svc.h +
  • +
  • svcSetProcessAffinityMask() +: svc.h +
  • +
  • svcSetProcessIdealProcessor() +: svc.h +
  • +
  • svcSetProcessResourceLimits() +: svc.h +
  • +
  • svcSetResourceLimitValues() +: svc.h +
  • +
  • svcSetThreadAffinityMask() +: svc.h +
  • +
  • svcSetThreadIdealProcessor() +: svc.h +
  • +
  • svcSetThreadPriority() +: svc.h +
  • +
  • svcSetTimer() +: svc.h +
  • +
  • svcSetWifiEnabled() +: svc.h +
  • +
  • svcSignalEvent() +: svc.h +
  • +
  • svcSleepThread() +: svc.h +
  • +
  • svcStartInterProcessDma() +: svc.h +
  • +
  • svcStopDma() +: svc.h +
  • +
  • svcStoreProcessDataCache() +: svc.h +
  • +
  • svcTerminateDebugProcess() +: svc.h +
  • +
  • svcTerminateProcess() +: svc.h +
  • +
  • svcUnbindInterrupt() +: svc.h +
  • +
  • svcUnmapMemoryBlock() +: svc.h +
  • +
  • svcUnmapProcessMemory() +: svc.h +
  • +
  • svcWaitSynchronization() +: svc.h +
  • +
  • svcWaitSynchronizationN() +: svc.h +
  • +
  • svcWriteProcessMemory() +: svc.h +
  • +
  • swkbdGetResult() +: swkbd.h +
  • +
  • swkbdInit() +: swkbd.h +
  • +
  • swkbdInputText() +: swkbd.h +
  • +
  • swkbdSetButton() +: swkbd.h +
  • +
  • swkbdSetDictionary() +: swkbd.h +
  • +
  • swkbdSetDictWord() +: swkbd.h +
  • +
  • swkbdSetFeatures() +: swkbd.h +
  • +
  • swkbdSetFilterCallback() +: swkbd.h +
  • +
  • swkbdSetHintText() +: swkbd.h +
  • +
  • swkbdSetInitialText() +: swkbd.h +
  • +
  • swkbdSetLearningData() +: swkbd.h +
  • +
  • swkbdSetNumpadKeys() +: swkbd.h +
  • +
  • swkbdSetPasswordMode() +: swkbd.h +
  • +
  • swkbdSetStatusData() +: swkbd.h +
  • +
  • swkbdSetValidation() +: swkbd.h +
  • +
  • syncArbitrateAddress() +: synchronization.h +
  • +
  • syncArbitrateAddressWithTimeout() +: synchronization.h +
  • +
+
+ + + + diff --git a/globals_func_t.html b/globals_func_t.html new file mode 100644 index 000000000..02ba18ef3 --- /dev/null +++ b/globals_func_t.html @@ -0,0 +1,102 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- t -

+
+ + + + diff --git a/globals_func_u.html b/globals_func_u.html new file mode 100644 index 000000000..d14eabbb7 --- /dev/null +++ b/globals_func_u.html @@ -0,0 +1,177 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- u -

    +
  • udsAllowSpectators() +: uds.h +
  • +
  • udsBind() +: uds.h +
  • +
  • udsCheckNodeInfoInitialized() +: uds.h +
  • +
  • udsConnectNetwork() +: uds.h +
  • +
  • udsCreateNetwork() +: uds.h +
  • +
  • udsDestroyNetwork() +: uds.h +
  • +
  • udsDisconnectNetwork() +: uds.h +
  • +
  • udsEjectClient() +: uds.h +
  • +
  • udsEjectSpectator() +: uds.h +
  • +
  • udsExit() +: uds.h +
  • +
  • udsGenerateDefaultNetworkStruct() +: uds.h +
  • +
  • udsGenerateNodeInfo() +: uds.h +
  • +
  • udsGetApplicationData() +: uds.h +
  • +
  • udsGetChannel() +: uds.h +
  • +
  • udsGetConnectionStatus() +: uds.h +
  • +
  • udsGetNetworkStructApplicationData() +: uds.h +
  • +
  • udsGetNodeInformation() +: uds.h +
  • +
  • udsGetNodeInfoUsername() +: uds.h +
  • +
  • udsInit() +: uds.h +
  • +
  • udsPullPacket() +: uds.h +
  • +
  • udsScanBeacons() +: uds.h +
  • +
  • udsSendTo() +: uds.h +
  • +
  • udsSetApplicationData() +: uds.h +
  • +
  • udsSetNewConnectionsBlocked() +: uds.h +
  • +
  • udsUnbind() +: uds.h +
  • +
  • udsUpdateNetworkAttribute() +: uds.h +
  • +
  • udsWaitConnectionStatusEvent() +: uds.h +
  • +
  • udsWaitDataAvailable() +: uds.h +
  • +
  • utf16_to_utf32() +: utf.h +
  • +
  • utf16_to_utf8() +: utf.h +
  • +
  • utf32_to_utf16() +: utf.h +
  • +
  • utf32_to_utf8() +: utf.h +
  • +
  • utf8_to_utf16() +: utf.h +
  • +
  • utf8_to_utf32() +: utf.h +
  • +
+
+ + + + diff --git a/globals_func_v.html b/globals_func_v.html new file mode 100644 index 000000000..339844c28 --- /dev/null +++ b/globals_func_v.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- v -

+
+ + + + diff --git a/globals_func_y.html b/globals_func_y.html new file mode 100644 index 000000000..dc228e739 --- /dev/null +++ b/globals_func_y.html @@ -0,0 +1,213 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- y -

    +
  • y2rExit() +: y2r.h +
  • +
  • y2rInit() +: y2r.h +
  • +
  • Y2RU_DriverFinalize() +: y2r.h +
  • +
  • Y2RU_DriverInitialize() +: y2r.h +
  • +
  • Y2RU_GetAlpha() +: y2r.h +
  • +
  • Y2RU_GetBlockAlignment() +: y2r.h +
  • +
  • Y2RU_GetCoefficients() +: y2r.h +
  • +
  • Y2RU_GetDitheringWeightParams() +: y2r.h +
  • +
  • Y2RU_GetInputFormat() +: y2r.h +
  • +
  • Y2RU_GetInputLines() +: y2r.h +
  • +
  • Y2RU_GetInputLineWidth() +: y2r.h +
  • +
  • Y2RU_GetOutputFormat() +: y2r.h +
  • +
  • Y2RU_GetRotation() +: y2r.h +
  • +
  • Y2RU_GetSpacialDithering() +: y2r.h +
  • +
  • Y2RU_GetStandardCoefficient() +: y2r.h +
  • +
  • Y2RU_GetTemporalDithering() +: y2r.h +
  • +
  • Y2RU_GetTransferEndEvent() +: y2r.h +
  • +
  • Y2RU_GetTransferEndInterrupt() +: y2r.h +
  • +
  • Y2RU_IsBusyConversion() +: y2r.h +
  • +
  • Y2RU_IsDoneReceiving() +: y2r.h +
  • +
  • Y2RU_IsDoneSendingU() +: y2r.h +
  • +
  • Y2RU_IsDoneSendingV() +: y2r.h +
  • +
  • Y2RU_IsDoneSendingY() +: y2r.h +
  • +
  • Y2RU_IsDoneSendingYUYV() +: y2r.h +
  • +
  • Y2RU_PingProcess() +: y2r.h +
  • +
  • Y2RU_SetAlpha() +: y2r.h +
  • +
  • Y2RU_SetBlockAlignment() +: y2r.h +
  • +
  • Y2RU_SetCoefficients() +: y2r.h +
  • +
  • Y2RU_SetConversionParams() +: y2r.h +
  • +
  • Y2RU_SetDitheringWeightParams() +: y2r.h +
  • +
  • Y2RU_SetInputFormat() +: y2r.h +
  • +
  • Y2RU_SetInputLines() +: y2r.h +
  • +
  • Y2RU_SetInputLineWidth() +: y2r.h +
  • +
  • Y2RU_SetOutputFormat() +: y2r.h +
  • +
  • Y2RU_SetReceiving() +: y2r.h +
  • +
  • Y2RU_SetRotation() +: y2r.h +
  • +
  • Y2RU_SetSendingU() +: y2r.h +
  • +
  • Y2RU_SetSendingV() +: y2r.h +
  • +
  • Y2RU_SetSendingY() +: y2r.h +
  • +
  • Y2RU_SetSendingYUYV() +: y2r.h +
  • +
  • Y2RU_SetSpacialDithering() +: y2r.h +
  • +
  • Y2RU_SetStandardCoefficient() +: y2r.h +
  • +
  • Y2RU_SetTemporalDithering() +: y2r.h +
  • +
  • Y2RU_SetTransferEndInterrupt() +: y2r.h +
  • +
  • Y2RU_StartConversion() +: y2r.h +
  • +
  • Y2RU_StopConversion() +: y2r.h +
  • +
+
+ + + + diff --git a/globals_g.html b/globals_g.html new file mode 100644 index 000000000..c8799995d --- /dev/null +++ b/globals_g.html @@ -0,0 +1,3684 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- g -

+
+ + + + diff --git a/globals_h.html b/globals_h.html new file mode 100644 index 000000000..0d83b2593 --- /dev/null +++ b/globals_h.html @@ -0,0 +1,294 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- h -

    +
  • Handle +: types.h +
  • +
  • HID_Event +: hid.h +
  • +
  • hidAccelRead() +: hid.h +
  • +
  • hidCircleRead() +: hid.h +
  • +
  • hidCstickRead +: irrst.h +
  • +
  • HIDEVENT_Accel +: hid.h +
  • +
  • HIDEVENT_DebugPad +: hid.h +
  • +
  • HIDEVENT_Gyro +: hid.h +
  • +
  • HIDEVENT_MAX +: hid.h +
  • +
  • HIDEVENT_PAD0 +: hid.h +
  • +
  • HIDEVENT_PAD1 +: hid.h +
  • +
  • hidExit() +: hid.h +
  • +
  • hidGyroRead() +: hid.h +
  • +
  • hidInit() +: hid.h +
  • +
  • hidKeysDown() +: hid.h +
  • +
  • hidKeysDownRepeat() +: hid.h +
  • +
  • hidKeysHeld() +: hid.h +
  • +
  • hidKeysUp() +: hid.h +
  • +
  • hidMemHandle +: hid.h +
  • +
  • hidScanInput() +: hid.h +
  • +
  • hidSetRepeatParameters() +: hid.h +
  • +
  • hidSharedMem +: hid.h +
  • +
  • hidTouchRead() +: hid.h +
  • +
  • HIDUSER_DisableAccelerometer() +: hid.h +
  • +
  • HIDUSER_DisableGyroscope() +: hid.h +
  • +
  • HIDUSER_EnableAccelerometer() +: hid.h +
  • +
  • HIDUSER_EnableGyroscope() +: hid.h +
  • +
  • HIDUSER_GetGyroscopeRawToDpsCoefficient() +: hid.h +
  • +
  • HIDUSER_GetHandles() +: hid.h +
  • +
  • HIDUSER_GetSoundVolume() +: hid.h +
  • +
  • hidWaitForAnyEvent() +: hid.h +
  • +
  • hidWaitForEvent() +: hid.h +
  • +
  • HTTPC_KeepAlive +: httpc.h +
  • +
  • HTTPC_RequestMethod +: httpc.h +
  • +
  • HTTPC_RequestStatus +: httpc.h +
  • +
  • HTTPC_RESULTCODE_DOWNLOADPENDING +: httpc.h +
  • +
  • HTTPC_STATUS_DOWNLOAD_READY +: httpc.h +
  • +
  • HTTPC_STATUS_REQUEST_IN_PROGRESS +: httpc.h +
  • +
  • httpcAddDefaultCert() +: httpc.h +
  • +
  • httpcAddPostDataAscii() +: httpc.h +
  • +
  • httpcAddPostDataBinary() +: httpc.h +
  • +
  • httpcAddPostDataRaw() +: httpc.h +
  • +
  • httpcAddRequestHeaderField() +: httpc.h +
  • +
  • httpcAddTrustedRootCA() +: httpc.h +
  • +
  • httpcBeginRequest() +: httpc.h +
  • +
  • httpcCancelConnection() +: httpc.h +
  • +
  • httpcCloseClientCertContext() +: httpc.h +
  • +
  • httpcCloseContext() +: httpc.h +
  • +
  • httpcCreateRootCertChain() +: httpc.h +
  • +
  • httpcDestroyRootCertChain() +: httpc.h +
  • +
  • httpcDownloadData() +: httpc.h +
  • +
  • httpcExit() +: httpc.h +
  • +
  • httpcGetDownloadSizeState() +: httpc.h +
  • +
  • httpcGetRequestState() +: httpc.h +
  • +
  • httpcGetResponseHeader() +: httpc.h +
  • +
  • httpcGetResponseStatusCode() +: httpc.h +
  • +
  • httpcGetResponseStatusCodeTimeout() +: httpc.h +
  • +
  • httpcInit() +: httpc.h +
  • +
  • httpcOpenClientCertContext() +: httpc.h +
  • +
  • httpcOpenContext() +: httpc.h +
  • +
  • httpcOpenDefaultClientCertContext() +: httpc.h +
  • +
  • httpcReceiveData() +: httpc.h +
  • +
  • httpcReceiveDataTimeout() +: httpc.h +
  • +
  • httpcRootCertChainAddCert() +: httpc.h +
  • +
  • httpcRootCertChainAddDefaultCert() +: httpc.h +
  • +
  • httpcRootCertChainRemoveCert() +: httpc.h +
  • +
  • httpcSelectRootCertChain() +: httpc.h +
  • +
  • httpcSetClientCert() +: httpc.h +
  • +
  • httpcSetClientCertContext() +: httpc.h +
  • +
  • httpcSetClientCertDefault() +: httpc.h +
  • +
  • httpcSetKeepAlive() +: httpc.h +
  • +
  • httpcSetSSLClearOpt() +: httpc.h +
  • +
  • httpcSetSSLOpt() +: httpc.h +
  • +
+
+ + + + diff --git a/globals_i.html b/globals_i.html new file mode 100644 index 000000000..03a4baafd --- /dev/null +++ b/globals_i.html @@ -0,0 +1,222 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- i -

    +
  • IM_DEFAULT +: nim.h +
  • +
  • IM_REINSTALL +: nim.h +
  • +
  • IM_UNKNOWN1 +: nim.h +
  • +
  • IM_UNKNOWN2 +: nim.h +
  • +
  • INPUT_YUV420_INDIV_16 +: y2r.h +
  • +
  • INPUT_YUV420_INDIV_8 +: y2r.h +
  • +
  • INPUT_YUV422_BATCH +: y2r.h +
  • +
  • INPUT_YUV422_INDIV_16 +: y2r.h +
  • +
  • INPUT_YUV422_INDIV_8 +: y2r.h +
  • +
  • IPC_BUFFER_R +: ipc.h +
  • +
  • IPC_BUFFER_RW +: ipc.h +
  • +
  • IPC_BUFFER_W +: ipc.h +
  • +
  • IPC_BufferRights +: ipc.h +
  • +
  • IPC_Desc_Buffer() +: ipc.h +
  • +
  • IPC_Desc_CurProcessId() +: ipc.h +
  • +
  • IPC_Desc_MoveHandles() +: ipc.h +
  • +
  • IPC_Desc_PXIBuffer() +: ipc.h +
  • +
  • IPC_Desc_SharedHandles() +: ipc.h +
  • +
  • IPC_Desc_StaticBuffer() +: ipc.h +
  • +
  • IPC_MakeHeader() +: ipc.h +
  • +
  • IRRST_GetHandles() +: irrst.h +
  • +
  • IRRST_Initialize() +: irrst.h +
  • +
  • IRRST_Shutdown() +: irrst.h +
  • +
  • irrstCstickRead() +: irrst.h +
  • +
  • irrstEvent +: irrst.h +
  • +
  • irrstExit() +: irrst.h +
  • +
  • irrstInit() +: irrst.h +
  • +
  • irrstKeysHeld() +: irrst.h +
  • +
  • irrstMemHandle +: irrst.h +
  • +
  • irrstScanInput() +: irrst.h +
  • +
  • irrstSharedMem +: irrst.h +
  • +
  • irrstWaitForEvent() +: irrst.h +
  • +
  • IRU_GetBitRate() +: ir.h +
  • +
  • IRU_GetIRLEDRecvState() +: ir.h +
  • +
  • IRU_GetRecvFinishedEvent() +: ir.h +
  • +
  • IRU_GetSendFinishedEvent() +: ir.h +
  • +
  • IRU_Initialize() +: ir.h +
  • +
  • IRU_SetBitRate() +: ir.h +
  • +
  • IRU_SetIRLEDState() +: ir.h +
  • +
  • IRU_Shutdown() +: ir.h +
  • +
  • IRU_StartRecvTransfer() +: ir.h +
  • +
  • IRU_StartSendTransfer() +: ir.h +
  • +
  • IRU_WaitRecvTransfer() +: ir.h +
  • +
  • IRU_WaitSendTransfer() +: ir.h +
  • +
  • iruExit() +: ir.h +
  • +
  • iruGetServHandle() +: ir.h +
  • +
  • iruInit() +: ir.h +
  • +
  • iruRecvData() +: ir.h +
  • +
  • iruSendData() +: ir.h +
  • +
+
+ + + + diff --git a/globals_k.html b/globals_k.html new file mode 100644 index 000000000..cd96d45ee --- /dev/null +++ b/globals_k.html @@ -0,0 +1,165 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- k -

+
+ + + + diff --git a/globals_l.html b/globals_l.html new file mode 100644 index 000000000..d8ece5261 --- /dev/null +++ b/globals_l.html @@ -0,0 +1,207 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- l -

+
+ + + + diff --git a/globals_m.html b/globals_m.html new file mode 100644 index 000000000..258d73141 --- /dev/null +++ b/globals_m.html @@ -0,0 +1,465 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- m -

+
+ + + + diff --git a/globals_n.html b/globals_n.html new file mode 100644 index 000000000..784a01b51 --- /dev/null +++ b/globals_n.html @@ -0,0 +1,678 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- n -

    +
  • ndmDaemonMask +: ndm.h +
  • +
  • ndmExclusiveState +: ndm.h +
  • +
  • ndmState +: ndm.h +
  • +
  • NDMU_ClearMacFilter() +: ndm.h +
  • +
  • NDMU_EnterExclusiveState() +: ndm.h +
  • +
  • NDMU_GetCurrentState() +: ndm.h +
  • +
  • NDMU_GetDefaultDaemons() +: ndm.h +
  • +
  • NDMU_GetExclusiveState() +: ndm.h +
  • +
  • NDMU_GetRetryInterval() +: ndm.h +
  • +
  • NDMU_GetScanInterval() +: ndm.h +
  • +
  • NDMU_LeaveExclusiveState() +: ndm.h +
  • +
  • NDMU_LockState() +: ndm.h +
  • +
  • NDMU_QueryStatus() +: ndm.h +
  • +
  • NDMU_ResetDaemons() +: ndm.h +
  • +
  • NDMU_ResumeDaemons() +: ndm.h +
  • +
  • NDMU_ResumeScheduler() +: ndm.h +
  • +
  • NDMU_SetScanInterval() +: ndm.h +
  • +
  • NDMU_SuspendDaemons() +: ndm.h +
  • +
  • NDMU_SuspendScheduler() +: ndm.h +
  • +
  • NDMU_UnlockState() +: ndm.h +
  • +
  • ndmuExit() +: ndm.h +
  • +
  • ndmuInit() +: ndm.h +
  • +
  • NDSP_3D_SURROUND_PREPROCESSED +: channel.h +
  • +
  • NDSP_CHANNELS +: channel.h +
  • +
  • NDSP_CLIP_NORMAL +: ndsp.h +
  • +
  • NDSP_CLIP_SOFT +: ndsp.h +
  • +
  • NDSP_ENCODING +: channel.h +
  • +
  • NDSP_ENCODING_ADPCM +: channel.h +
  • +
  • NDSP_ENCODING_PCM16 +: channel.h +
  • +
  • NDSP_ENCODING_PCM8 +: channel.h +
  • +
  • NDSP_FORMAT_ADPCM +: channel.h +
  • +
  • NDSP_FORMAT_MONO_ADPCM +: channel.h +
  • +
  • NDSP_FORMAT_MONO_PCM16 +: channel.h +
  • +
  • NDSP_FORMAT_MONO_PCM8 +: channel.h +
  • +
  • NDSP_FORMAT_PCM16 +: channel.h +
  • +
  • NDSP_FORMAT_PCM8 +: channel.h +
  • +
  • NDSP_FORMAT_STEREO_PCM16 +: channel.h +
  • +
  • NDSP_FORMAT_STEREO_PCM8 +: channel.h +
  • +
  • NDSP_FRONT_BYPASS +: channel.h +
  • +
  • NDSP_INTERP_LINEAR +: channel.h +
  • +
  • NDSP_INTERP_NONE +: channel.h +
  • +
  • NDSP_INTERP_POLYPHASE +: channel.h +
  • +
  • NDSP_OUTPUT_MONO +: ndsp.h +
  • +
  • NDSP_OUTPUT_STEREO +: ndsp.h +
  • +
  • NDSP_OUTPUT_SURROUND +: ndsp.h +
  • +
  • NDSP_SPKPOS_NUM +: ndsp.h +
  • +
  • NDSP_SPKPOS_SQUARE +: ndsp.h +
  • +
  • NDSP_SPKPOS_WIDE +: ndsp.h +
  • +
  • NDSP_WBUF_DONE +: ndsp.h +
  • +
  • NDSP_WBUF_FREE +: ndsp.h +
  • +
  • NDSP_WBUF_PLAYING +: ndsp.h +
  • +
  • NDSP_WBUF_QUEUED +: ndsp.h +
  • +
  • ndspAuxCallback +: ndsp.h +
  • +
  • ndspAuxGetFrontBypass() +: ndsp.h +
  • +
  • ndspAuxGetVolume() +: ndsp.h +
  • +
  • ndspAuxIsEnabled() +: ndsp.h +
  • +
  • ndspAuxSetCallback() +: ndsp.h +
  • +
  • ndspAuxSetEnable() +: ndsp.h +
  • +
  • ndspAuxSetFrontBypass() +: ndsp.h +
  • +
  • ndspAuxSetVolume() +: ndsp.h +
  • +
  • ndspCallback +: ndsp.h +
  • +
  • ndspChnGetFormat() +: channel.h +
  • +
  • ndspChnGetInterp() +: channel.h +
  • +
  • ndspChnGetMix() +: channel.h +
  • +
  • ndspChnGetRate() +: channel.h +
  • +
  • ndspChnGetSamplePos() +: channel.h +
  • +
  • ndspChnGetWaveBufSeq() +: channel.h +
  • +
  • ndspChnIirBiquadSetEnable() +: channel.h +
  • +
  • ndspChnIirBiquadSetParamsBandPassFilter() +: channel.h +
  • +
  • ndspChnIirBiquadSetParamsCustomFilter() +: channel.h +
  • +
  • ndspChnIirBiquadSetParamsHighPassFilter() +: channel.h +
  • +
  • ndspChnIirBiquadSetParamsLowPassFilter() +: channel.h +
  • +
  • ndspChnIirBiquadSetParamsNotchFilter() +: channel.h +
  • +
  • ndspChnIirBiquadSetParamsPeakingEqualizer() +: channel.h +
  • +
  • ndspChnIirMonoSetEnable() +: channel.h +
  • +
  • ndspChnIirMonoSetParamsCustomFilter() +: channel.h +
  • +
  • ndspChnIirMonoSetParamsHighPassFilter() +: channel.h +
  • +
  • ndspChnIirMonoSetParamsLowPassFilter() +: channel.h +
  • +
  • ndspChnInitParams() +: channel.h +
  • +
  • ndspChnIsPaused() +: channel.h +
  • +
  • ndspChnIsPlaying() +: channel.h +
  • +
  • ndspChnReset() +: channel.h +
  • +
  • ndspChnSetAdpcmCoefs() +: channel.h +
  • +
  • ndspChnSetFormat() +: channel.h +
  • +
  • ndspChnSetInterp() +: channel.h +
  • +
  • ndspChnSetMix() +: channel.h +
  • +
  • ndspChnSetPaused() +: channel.h +
  • +
  • ndspChnSetRate() +: channel.h +
  • +
  • ndspChnWaveBufAdd() +: channel.h +
  • +
  • ndspChnWaveBufClear() +: channel.h +
  • +
  • ndspClippingMode +: ndsp.h +
  • +
  • ndspExit() +: ndsp.h +
  • +
  • ndspGetClippingMode() +: ndsp.h +
  • +
  • ndspGetDroppedFrames() +: ndsp.h +
  • +
  • ndspGetFrameCount() +: ndsp.h +
  • +
  • ndspGetMasterVol() +: ndsp.h +
  • +
  • ndspGetOutputCount() +: ndsp.h +
  • +
  • ndspGetOutputMode() +: ndsp.h +
  • +
  • ndspInit() +: ndsp.h +
  • +
  • ndspInterpType +: channel.h +
  • +
  • ndspOutputMode +: ndsp.h +
  • +
  • ndspSetCallback() +: ndsp.h +
  • +
  • ndspSetCapture() +: ndsp.h +
  • +
  • ndspSetClippingMode() +: ndsp.h +
  • +
  • ndspSetMasterVol() +: ndsp.h +
  • +
  • ndspSetOutputCount() +: ndsp.h +
  • +
  • ndspSetOutputMode() +: ndsp.h +
  • +
  • ndspSpeakerPos +: ndsp.h +
  • +
  • ndspSurroundGetDepth() +: ndsp.h +
  • +
  • ndspSurroundGetPos() +: ndsp.h +
  • +
  • ndspSurroundGetRearRatio() +: ndsp.h +
  • +
  • ndspSurroundSetDepth() +: ndsp.h +
  • +
  • ndspSurroundSetPos() +: ndsp.h +
  • +
  • ndspSurroundSetRearRatio() +: ndsp.h +
  • +
  • ndspUseComponent() +: ndsp.h +
  • +
  • NETOPT_ARP_TABLE +: soc.h +
  • +
  • NETOPT_DHCP_LEASE_TIME +: soc.h +
  • +
  • NETOPT_DNS_TABLE +: soc.h +
  • +
  • NETOPT_IP_INFO +: soc.h +
  • +
  • NETOPT_IP_MTU +: soc.h +
  • +
  • NETOPT_MAC_ADDRESS +: soc.h +
  • +
  • NETOPT_ROUTING_TABLE +: soc.h +
  • +
  • NETOPT_TCP_NUMBER +: soc.h +
  • +
  • NETOPT_TCP_TABLE +: soc.h +
  • +
  • NETOPT_UDP_NUMBER +: soc.h +
  • +
  • NETOPT_UDP_TABLE +: soc.h +
  • +
  • NetworkOpt +: soc.h +
  • +
  • NEWS_AddNotification() +: news.h +
  • +
  • NEWS_GetNotificationHeader() +: news.h +
  • +
  • NEWS_GetNotificationImage() +: news.h +
  • +
  • NEWS_GetNotificationMessage() +: news.h +
  • +
  • NEWS_GetTotalNotifications() +: news.h +
  • +
  • NEWS_SetNotificationHeader() +: news.h +
  • +
  • NEWS_SetNotificationImage() +: news.h +
  • +
  • NEWS_SetNotificationMessage() +: news.h +
  • +
  • newsExit() +: news.h +
  • +
  • newsInit() +: news.h +
  • +
  • NFC_amiiboFlag_AppDataSetup +: nfc.h +
  • +
  • NFC_ERR_AMIIBO_NOTSETUP +: nfc.h +
  • +
  • NFC_ERR_APPDATA_UNINITIALIZED +: nfc.h +
  • +
  • NFC_ERR_APPID_MISMATCH +: nfc.h +
  • +
  • NFC_ERR_DATACORRUPTION0 +: nfc.h +
  • +
  • NFC_ERR_DATACORRUPTION1 +: nfc.h +
  • +
  • NFC_ERR_INVALID_STATE +: nfc.h +
  • +
  • NFC_OpType +: nfc.h +
  • +
  • NFC_OpType_NFCTag +: nfc.h +
  • +
  • NFC_OpType_RawNFC +: nfc.h +
  • +
  • NFC_STARTSCAN_DEFAULTINPUT +: nfc.h +
  • +
  • NFC_TagState +: nfc.h +
  • +
  • NFC_TagState_DataReady +: nfc.h +
  • +
  • NFC_TagState_InRange +: nfc.h +
  • +
  • NFC_TagState_OutOfRange +: nfc.h +
  • +
  • NFC_TagState_Scanning +: nfc.h +
  • +
  • NFC_TagState_ScanningStopped +: nfc.h +
  • +
  • nfcCmd21() +: nfc.h +
  • +
  • nfcCmd22() +: nfc.h +
  • +
  • nfcExit() +: nfc.h +
  • +
  • nfcGetAmiiboConfig() +: nfc.h +
  • +
  • nfcGetAmiiboSettings() +: nfc.h +
  • +
  • nfcGetSessionHandle() +: nfc.h +
  • +
  • nfcGetTagInfo() +: nfc.h +
  • +
  • nfcGetTagState() +: nfc.h +
  • +
  • nfcInit() +: nfc.h +
  • +
  • nfcInitializeWriteAppData() +: nfc.h +
  • +
  • nfcLoadAmiiboData() +: nfc.h +
  • +
  • nfcOpenAppData() +: nfc.h +
  • +
  • nfcReadAppData() +: nfc.h +
  • +
  • nfcResetTagScanState() +: nfc.h +
  • +
  • nfcSendTagCommand() +: nfc.h +
  • +
  • nfcStartOtherTagScanning() +: nfc.h +
  • +
  • nfcStartScanning() +: nfc.h +
  • +
  • nfcStopScanning() +: nfc.h +
  • +
  • nfcUpdateStoredAmiiboData() +: nfc.h +
  • +
  • nfcWriteAppData() +: nfc.h +
  • +
  • NIM_DownloadState +: nim.h +
  • +
  • NIM_InstallationMode +: nim.h +
  • +
  • NIMS_CancelDownload() +: nim.h +
  • +
  • NIMS_GetProgress() +: nim.h +
  • +
  • NIMS_IsTaskRegistered() +: nim.h +
  • +
  • NIMS_MakeTitleConfig() +: nim.h +
  • +
  • NIMS_RegisterTask() +: nim.h +
  • +
  • NIMS_SetAttribute() +: nim.h +
  • +
  • NIMS_StartDownload() +: nim.h +
  • +
  • NIMS_StartDownloadSimple() +: nim.h +
  • +
  • NIMS_UnregisterTask() +: nim.h +
  • +
  • NIMS_WantUpdate() +: nim.h +
  • +
  • nimsExit() +: nim.h +
  • +
  • nimsGetSessionHandle() +: nim.h +
  • +
  • nimsInit() +: nim.h +
  • +
  • nimsInitWithTIN() +: nim.h +
  • +
  • NotificationTypes +: frd.h +
  • +
  • NS_APPID +: apt.h +
  • +
  • NS_LaunchApplicationFIRM() +: ns.h +
  • +
  • NS_LaunchFIRM() +: ns.h +
  • +
  • NS_LaunchTitle() +: ns.h +
  • +
  • NS_RebootSystem() +: ns.h +
  • +
  • NS_RebootToTitle() +: ns.h +
  • +
  • NS_TerminateProcessTID() +: ns.h +
  • +
  • NS_TerminateTitle() +: ns.h +
  • +
  • nsExit() +: ns.h +
  • +
  • nsInit() +: ns.h +
  • +
+
+ + + + diff --git a/globals_o.html b/globals_o.html new file mode 100644 index 000000000..eb308e2ca --- /dev/null +++ b/globals_o.html @@ -0,0 +1,234 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- o -

    +
  • OS_DSPRAM_PADDR +: os.h +
  • +
  • OS_DSPRAM_SIZE +: os.h +
  • +
  • OS_DSPRAM_VADDR +: os.h +
  • +
  • OS_FCRAM_PADDR +: os.h +
  • +
  • OS_FCRAM_SIZE +: os.h +
  • +
  • OS_FCRAM_VADDR +: os.h +
  • +
  • OS_HEAP_AREA_BEGIN +: os.h +
  • +
  • OS_HEAP_AREA_END +: os.h +
  • +
  • OS_KERNELCFG_VADDR +: os.h +
  • +
  • OS_KernelConfig +: os.h +
  • +
  • OS_MAP_AREA_BEGIN +: os.h +
  • +
  • OS_MAP_AREA_END +: os.h +
  • +
  • OS_MMIO_PADDR +: os.h +
  • +
  • OS_MMIO_SIZE +: os.h +
  • +
  • OS_MMIO_VADDR +: os.h +
  • +
  • OS_OLD_FCRAM_PADDR +: os.h +
  • +
  • OS_OLD_FCRAM_SIZE +: os.h +
  • +
  • OS_OLD_FCRAM_VADDR +: os.h +
  • +
  • OS_QTMRAM_PADDR +: os.h +
  • +
  • OS_QTMRAM_SIZE +: os.h +
  • +
  • OS_QTMRAM_VADDR +: os.h +
  • +
  • OS_SHAREDCFG_VADDR +: os.h +
  • +
  • OS_SharedConfig +: os.h +
  • +
  • OS_VRAM_PADDR +: os.h +
  • +
  • OS_VRAM_SIZE +: os.h +
  • +
  • OS_VRAM_VADDR +: os.h +
  • +
  • osConvertOldLINEARMemToNew() +: os.h +
  • +
  • osConvertVirtToPhys() +: os.h +
  • +
  • osGet3DSliderState() +: os.h +
  • +
  • osGetApplicationMemType() +: os.h +
  • +
  • osGetFirmVersion() +: os.h +
  • +
  • osGetKernelVersion() +: os.h +
  • +
  • osGetMemRegionFree() +: os.h +
  • +
  • osGetMemRegionSize() +: os.h +
  • +
  • osGetMemRegionUsed() +: os.h +
  • +
  • osGetSystemCoreVersion() +: os.h +
  • +
  • osGetSystemVersionData() +: os.h +
  • +
  • osGetSystemVersionDataString() +: os.h +
  • +
  • osGetTime() +: os.h +
  • +
  • osGetTimeRef() +: os.h +
  • +
  • osGetWifiStrength() +: os.h +
  • +
  • osIsHeadsetConnected() +: os.h +
  • +
  • osSetSpeedupEnable() +: os.h +
  • +
  • osStrError() +: os.h +
  • +
  • osTickCounterRead() +: os.h +
  • +
  • osTickCounterStart() +: os.h +
  • +
  • osTickCounterUpdate() +: os.h +
  • +
  • OUTPUT_RGB_16_555 +: y2r.h +
  • +
  • OUTPUT_RGB_16_565 +: y2r.h +
  • +
  • OUTPUT_RGB_24 +: y2r.h +
  • +
  • OUTPUT_RGB_32 +: y2r.h +
  • +
  • OUTPUT_RGB_565 +: cam.h +
  • +
  • OUTPUT_YUV_422 +: cam.h +
  • +
+
+ + + + diff --git a/globals_p.html b/globals_p.html new file mode 100644 index 000000000..a6a74a176 --- /dev/null +++ b/globals_p.html @@ -0,0 +1,531 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- p -

    +
  • PATH_ASCII +: fs.h +
  • +
  • PATH_BINARY +: fs.h +
  • +
  • PATH_EMPTY +: fs.h +
  • +
  • PATH_INVALID +: fs.h +
  • +
  • PATH_UTF16 +: fs.h +
  • +
  • PerfCounterEvent +: svc.h +
  • +
  • PERFCOUNTEREVT_CORE_CYCLE_COUNT +: svc.h +
  • +
  • PERFCOUNTEREVT_CORE_CYCLE_COUNT_64 +: svc.h +
  • +
  • PERFCOUNTEROP_DISABLE +: svc.h +
  • +
  • PERFCOUNTEROP_ENABLE +: svc.h +
  • +
  • PERFCOUNTEROP_GET_EVENT +: svc.h +
  • +
  • PERFCOUNTEROP_GET_OVERFLOW_FLAGS +: svc.h +
  • +
  • PERFCOUNTEROP_GET_VALUE +: svc.h +
  • +
  • PERFCOUNTEROP_RESET +: svc.h +
  • +
  • PERFCOUNTEROP_SET_EVENT +: svc.h +
  • +
  • PERFCOUNTEROP_SET_VALUE +: svc.h +
  • +
  • PERFCOUNTEROP_SET_VIRTUAL_COUNTER_ENABLED +: svc.h +
  • +
  • PerfCounterOperation +: svc.h +
  • +
  • PERFCOUNTERREG_CORE_COUNT_REG_0 +: svc.h +
  • +
  • PERFCOUNTERREG_CORE_COUNT_REG_1 +: svc.h +
  • +
  • PERFCOUNTERREG_CORE_CYCLE_COUNTER +: svc.h +
  • +
  • PERFCOUNTERREG_SCU_0 +: svc.h +
  • +
  • PERFCOUNTERREG_SCU_1 +: svc.h +
  • +
  • PERFCOUNTERREG_SCU_2 +: svc.h +
  • +
  • PERFCOUNTERREG_SCU_3 +: svc.h +
  • +
  • PERFCOUNTERREG_SCU_4 +: svc.h +
  • +
  • PERFCOUNTERREG_SCU_5 +: svc.h +
  • +
  • PERFCOUNTERREG_SCU_6 +: svc.h +
  • +
  • PERFCOUNTERREG_SCU_7 +: svc.h +
  • +
  • PerfCounterRegister +: svc.h +
  • +
  • PHOTO_MODE_LANDSCAPE +: cam.h +
  • +
  • PHOTO_MODE_LETTER +: cam.h +
  • +
  • PHOTO_MODE_NIGHTVIEW +: cam.h +
  • +
  • PHOTO_MODE_NORMAL +: cam.h +
  • +
  • PHOTO_MODE_PORTRAIT +: cam.h +
  • +
  • PMAPP_GetAppResourceLimit() +: pmapp.h +
  • +
  • PMAPP_GetFIRMLaunchParams() +: pmapp.h +
  • +
  • PMAPP_GetTitleExheaderFlags() +: pmapp.h +
  • +
  • PMAPP_LaunchFIRMSetParams() +: pmapp.h +
  • +
  • PMAPP_LaunchTitle() +: pmapp.h +
  • +
  • PMAPP_LaunchTitleUpdate() +: pmapp.h +
  • +
  • PMAPP_PrepareForReboot() +: pmapp.h +
  • +
  • PMAPP_SetAppResourceLimit() +: pmapp.h +
  • +
  • PMAPP_SetFIRMLaunchParams() +: pmapp.h +
  • +
  • PMAPP_TerminateCurrentApplication() +: pmapp.h +
  • +
  • PMAPP_TerminateProcess() +: pmapp.h +
  • +
  • PMAPP_TerminateTitle() +: pmapp.h +
  • +
  • PMAPP_UnregisterProcess() +: pmapp.h +
  • +
  • pmAppExit() +: pmapp.h +
  • +
  • pmAppGetSessionHandle() +: pmapp.h +
  • +
  • pmAppInit() +: pmapp.h +
  • +
  • PMDBG_LaunchApp() +: pmdbg.h +
  • +
  • PMDBG_LaunchAppDebug() +: pmdbg.h +
  • +
  • PMDBG_RunQueuedProcess() +: pmdbg.h +
  • +
  • pmDbgExit() +: pmdbg.h +
  • +
  • pmDbgGetSessionHandle() +: pmdbg.h +
  • +
  • pmDbgInit() +: pmdbg.h +
  • +
  • PMLAUNCHFLAG_FORCE_USE_O3DS_APP_MEM +: pmapp.h +
  • +
  • PMLAUNCHFLAG_FORCE_USE_O3DS_MAX_APP_MEM +: pmapp.h +
  • +
  • PORT_BOTH +: cam.h +
  • +
  • PORT_CAM1 +: cam.h +
  • +
  • PORT_CAM2 +: cam.h +
  • +
  • PORT_NONE +: cam.h +
  • +
  • powerLedState +: mcuhwc.h +
  • +
  • PS_AESAlgorithm +: ps.h +
  • +
  • PS_AESKeyType +: ps.h +
  • +
  • PS_ALGORITHM_CBC_DEC +: ps.h +
  • +
  • PS_ALGORITHM_CBC_ENC +: ps.h +
  • +
  • PS_ALGORITHM_CCM_DEC +: ps.h +
  • +
  • PS_ALGORITHM_CCM_ENC +: ps.h +
  • +
  • PS_ALGORITHM_CTR_DEC +: ps.h +
  • +
  • PS_ALGORITHM_CTR_ENC +: ps.h +
  • +
  • PS_EncryptDecryptAes() +: ps.h +
  • +
  • PS_EncryptSignDecryptVerifyAesCcm() +: ps.h +
  • +
  • PS_GenerateRandomBytes() +: ps.h +
  • +
  • PS_GetDeviceId() +: ps.h +
  • +
  • PS_GetLocalFriendCodeSeed() +: ps.h +
  • +
  • PS_KEYSLOT_0D +: ps.h +
  • +
  • PS_KEYSLOT_2D +: ps.h +
  • +
  • PS_KEYSLOT_2E +: ps.h +
  • +
  • PS_KEYSLOT_31 +: ps.h +
  • +
  • PS_KEYSLOT_32 +: ps.h +
  • +
  • PS_KEYSLOT_36 +: ps.h +
  • +
  • PS_KEYSLOT_38 +: ps.h +
  • +
  • PS_KEYSLOT_39_DLP +: ps.h +
  • +
  • PS_KEYSLOT_39_NFC +: ps.h +
  • +
  • PS_KEYSLOT_INVALID +: ps.h +
  • +
  • PS_SignRsaSha256() +: ps.h +
  • +
  • PS_VerifyRsaSha256() +: ps.h +
  • +
  • psExit() +: ps.h +
  • +
  • psGetSessionHandle() +: ps.h +
  • +
  • psInit() +: ps.h +
  • +
  • psInitHandle() +: ps.h +
  • +
  • PTMGETS_GetSystemTime() +: ptmgets.h +
  • +
  • ptmGetsExit() +: ptmgets.h +
  • +
  • ptmGetsGetSessionHandle() +: ptmgets.h +
  • +
  • ptmGetsInit() +: ptmgets.h +
  • +
  • PTMNOTIFID_BATTERY_LOW +: ptmsysm.h +
  • +
  • PTMNOTIFID_BATTERY_VERY_LOW +: ptmsysm.h +
  • +
  • PTMNOTIFID_FULLY_AWAKE +: ptmsysm.h +
  • +
  • PTMNOTIFID_FULLY_WAKING_UP +: ptmsysm.h +
  • +
  • PTMNOTIFID_GOING_TO_SLEEP +: ptmsysm.h +
  • +
  • PTMNOTIFID_HALF_AWAKE +: ptmsysm.h +
  • +
  • PTMNOTIFID_SHUTDOWN +: ptmsysm.h +
  • +
  • PTMNOTIFID_SLEEP_ALLOWED +: ptmsysm.h +
  • +
  • PTMNOTIFID_SLEEP_DENIED +: ptmsysm.h +
  • +
  • PTMNOTIFID_SLEEP_REQUESTED +: ptmsysm.h +
  • +
  • PTMSETS_SetSystemTime() +: ptmsets.h +
  • +
  • ptmSetsExit() +: ptmsets.h +
  • +
  • ptmSetsGetSessionHandle() +: ptmsets.h +
  • +
  • ptmSetsInit() +: ptmsets.h +
  • +
  • PTMSYSM_Awaken() +: ptmsysm.h +
  • +
  • PTMSYSM_CheckNew3DS() +: ptmsysm.h +
  • +
  • PTMSYSM_ConfigureNew3DSCPU() +: ptmsysm.h +
  • +
  • PTMSYSM_GetRtcTime() +: ptmsysm.h +
  • +
  • PTMSYSM_GetWakeReason() +: ptmsysm.h +
  • +
  • PTMSYSM_InvalidateSystemTime() +: ptmsysm.h +
  • +
  • PTMSYSM_NotifySleepPreparationComplete() +: ptmsysm.h +
  • +
  • PTMSYSM_RebootAsync() +: ptmsysm.h +
  • +
  • PTMSYSM_ReplyToSleepQuery() +: ptmsysm.h +
  • +
  • PTMSYSM_RequestSleep() +: ptmsysm.h +
  • +
  • PTMSYSM_SetRtcTime() +: ptmsysm.h +
  • +
  • PTMSYSM_SetUserTime() +: ptmsysm.h +
  • +
  • PTMSYSM_SetWakeEvents() +: ptmsysm.h +
  • +
  • PTMSYSM_ShutdownAsync() +: ptmsysm.h +
  • +
  • ptmSysmExit() +: ptmsysm.h +
  • +
  • ptmSysmGetNotificationAckValue() +: ptmsysm.h +
  • +
  • ptmSysmGetSessionHandle() +: ptmsysm.h +
  • +
  • ptmSysmInit() +: ptmsysm.h +
  • +
  • PTMU_GetAdapterState() +: ptmu.h +
  • +
  • PTMU_GetBatteryChargeState() +: ptmu.h +
  • +
  • PTMU_GetBatteryLevel() +: ptmu.h +
  • +
  • PTMU_GetPedometerState() +: ptmu.h +
  • +
  • PTMU_GetShellState() +: ptmu.h +
  • +
  • PTMU_GetTotalStepCount() +: ptmu.h +
  • +
  • ptmuExit() +: ptmu.h +
  • +
  • ptmuGetSessionHandle() +: ptmu.h +
  • +
  • ptmuInit() +: ptmu.h +
  • +
  • PXIDEV_DeassertType +: pxidev.h +
  • +
  • PXIDEV_SPIMultiWriteRead() +: pxidev.h +
  • +
  • PXIDEV_SPIWriteRead() +: pxidev.h +
  • +
  • PXIDEV_WaitType +: pxidev.h +
  • +
  • pxiDevExit() +: pxidev.h +
  • +
  • pxiDevInit() +: pxidev.h +
  • +
  • pxiDevMakeTransferOption() +: pxidev.h +
  • +
  • pxiDevMakeWaitOperation() +: pxidev.h +
  • +
  • PXIPM_GetProgramInfo() +: pxipm.h +
  • +
  • PXIPM_RegisterProgram() +: pxipm.h +
  • +
  • PXIPM_UnregisterProgram() +: pxipm.h +
  • +
  • pxiPmExit() +: pxipm.h +
  • +
  • pxiPmGetSessionHandle() +: pxipm.h +
  • +
  • pxiPmInit() +: pxipm.h +
  • +
+
+ + + + diff --git a/globals_q.html b/globals_q.html new file mode 100644 index 000000000..73b04ef5a --- /dev/null +++ b/globals_q.html @@ -0,0 +1,93 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- q -

    +
  • QTM_GetHeadTrackingInfo() +: qtm.h +
  • +
  • qtmCheckHeadFullyDetected() +: qtm.h +
  • +
  • qtmCheckInitialized() +: qtm.h +
  • +
  • qtmConvertCoordToScreen() +: qtm.h +
  • +
  • qtmExit() +: qtm.h +
  • +
  • qtmInit() +: qtm.h +
  • +
+
+ + + + diff --git a/globals_r.html b/globals_r.html new file mode 100644 index 000000000..266d352c7 --- /dev/null +++ b/globals_r.html @@ -0,0 +1,297 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- r -

+
+ + + + diff --git a/globals_s.html b/globals_s.html new file mode 100644 index 000000000..020fc60d4 --- /dev/null +++ b/globals_s.html @@ -0,0 +1,996 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- s -

    +
  • s16 +: types.h +
  • +
  • s32 +: types.h +
  • +
  • s64 +: types.h +
  • +
  • s8 +: types.h +
  • +
  • scanKeys +: hid.h +
  • +
  • SECURESAVE_ACTION_DELETE +: fs.h +
  • +
  • SECURESAVE_ACTION_FORMAT +: fs.h +
  • +
  • SECUREVALUE_SLOT_SD +: fs.h +
  • +
  • SELECT_ALL +: cam.h +
  • +
  • SELECT_IN1 +: cam.h +
  • +
  • SELECT_IN1_OUT1 +: cam.h +
  • +
  • SELECT_IN1_OUT2 +: cam.h +
  • +
  • SELECT_NONE +: cam.h +
  • +
  • SELECT_OUT1 +: cam.h +
  • +
  • SELECT_OUT1_OUT2 +: cam.h +
  • +
  • SELECT_OUT2 +: cam.h +
  • +
  • shaderInstanceFree() +: shaderProgram.h +
  • +
  • shaderInstanceGetBool() +: shaderProgram.h +
  • +
  • shaderInstanceGetUniformLocation() +: shaderProgram.h +
  • +
  • shaderInstanceInit() +: shaderProgram.h +
  • +
  • shaderInstanceSetBool() +: shaderProgram.h +
  • +
  • shaderProgramConfigure() +: shaderProgram.h +
  • +
  • shaderProgramFree() +: shaderProgram.h +
  • +
  • shaderProgramInit() +: shaderProgram.h +
  • +
  • shaderProgramSetGsh() +: shaderProgram.h +
  • +
  • shaderProgramSetGshInputPermutation() +: shaderProgram.h +
  • +
  • shaderProgramSetVsh() +: shaderProgram.h +
  • +
  • shaderProgramUse() +: shaderProgram.h +
  • +
  • SHUTTER_SOUND_TYPE_MOVIE +: cam.h +
  • +
  • SHUTTER_SOUND_TYPE_MOVIE_END +: cam.h +
  • +
  • SHUTTER_SOUND_TYPE_NORMAL +: cam.h +
  • +
  • SIZE_CIF +: cam.h +
  • +
  • SIZE_CTR_BOTTOM_LCD +: cam.h +
  • +
  • SIZE_CTR_TOP_LCD +: cam.h +
  • +
  • SIZE_DS_LCD +: cam.h +
  • +
  • SIZE_DS_LCDx4 +: cam.h +
  • +
  • SIZE_QCIF +: cam.h +
  • +
  • SIZE_QQVGA +: cam.h +
  • +
  • SIZE_QVGA +: cam.h +
  • +
  • SIZE_VGA +: cam.h +
  • +
  • socExit() +: soc.h +
  • +
  • socInit() +: soc.h +
  • +
  • SOCU_AddGlobalSocket() +: soc.h +
  • +
  • SOCU_GetIPInfo() +: soc.h +
  • +
  • SOCU_GetNetworkOpt() +: soc.h +
  • +
  • SOL_CONFIG +: soc.h +
  • +
  • SOUND_CHANNEL +: csnd.h +
  • +
  • SOUND_ENABLE +: csnd.h +
  • +
  • SOUND_FORMAT +: csnd.h +
  • +
  • SOUND_FORMAT_16BIT +: csnd.h +
  • +
  • SOUND_FORMAT_8BIT +: csnd.h +
  • +
  • SOUND_FORMAT_ADPCM +: csnd.h +
  • +
  • SOUND_FORMAT_PSG +: csnd.h +
  • +
  • SOUND_LINEAR_INTERP +: csnd.h +
  • +
  • SOUND_LOOPMODE +: csnd.h +
  • +
  • SOUND_ONE_SHOT +: csnd.h +
  • +
  • SOUND_REPEAT +: csnd.h +
  • +
  • SPECIALCONTENT_DLP_CHILD +: fs.h +
  • +
  • SPECIALCONTENT_MANUAL +: fs.h +
  • +
  • SPECIALCONTENT_UPDATE +: fs.h +
  • +
  • srvEnableNotification() +: srv.h +
  • +
  • srvExit() +: srv.h +
  • +
  • srvGetPort() +: srv.h +
  • +
  • srvGetServiceHandle() +: srv.h +
  • +
  • srvGetServiceHandleDirect() +: srv.h +
  • +
  • srvGetSessionHandle() +: srv.h +
  • +
  • srvInit() +: srv.h +
  • +
  • srvIsPortRegistered() +: srv.h +
  • +
  • srvIsServiceRegistered() +: srv.h +
  • +
  • SRVPM_PublishToAll() +: srvpm.h +
  • +
  • SRVPM_PublishToProcess() +: srvpm.h +
  • +
  • SRVPM_RegisterProcess() +: srvpm.h +
  • +
  • SRVPM_UnregisterProcess() +: srvpm.h +
  • +
  • srvPmExit() +: srvpm.h +
  • +
  • srvPmGetSessionHandle() +: srvpm.h +
  • +
  • srvPmInit() +: srvpm.h +
  • +
  • srvPublishAndGetSubscriber() +: srv.h +
  • +
  • srvPublishToSubscriber() +: srv.h +
  • +
  • srvReceiveNotification() +: srv.h +
  • +
  • srvRegisterClient() +: srv.h +
  • +
  • srvRegisterPort() +: srv.h +
  • +
  • srvRegisterService() +: srv.h +
  • +
  • srvSetBlockingPolicy() +: srv.h +
  • +
  • srvSubscribe() +: srv.h +
  • +
  • srvUnregisterPort() +: srv.h +
  • +
  • srvUnregisterService() +: srv.h +
  • +
  • srvUnsubscribe() +: srv.h +
  • +
  • srvWaitForPortRegistered() +: srv.h +
  • +
  • sslc8CertChainAddCert() +: sslc.h +
  • +
  • sslc8CertChainAddDefaultCert() +: sslc.h +
  • +
  • sslc8CertChainRemoveCert() +: sslc.h +
  • +
  • sslcAddTrustedRootCA() +: sslc.h +
  • +
  • sslcCloseClientCertContext() +: sslc.h +
  • +
  • sslcCreate8CertChain() +: sslc.h +
  • +
  • sslcCreateContext() +: sslc.h +
  • +
  • sslcCreateRootCertChain() +: sslc.h +
  • +
  • sslcDestroy8CertChain() +: sslc.h +
  • +
  • sslcDestroyRootCertChain() +: sslc.h +
  • +
  • sslcExit() +: sslc.h +
  • +
  • sslcGenerateRandomData() +: sslc.h +
  • +
  • sslcInit() +: sslc.h +
  • +
  • sslcOpenClientCertContext() +: sslc.h +
  • +
  • sslcOpenDefaultClientCertContext() +: sslc.h +
  • +
  • sslcRootCertChainAddDefaultCert() +: sslc.h +
  • +
  • sslcRootCertChainRemoveCert() +: sslc.h +
  • +
  • sslcSeedRNG() +: sslc.h +
  • +
  • STOPPOINT_BREAKPOINT +: svc.h +
  • +
  • STOPPOINT_SVC_FF +: svc.h +
  • +
  • STOPPOINT_WATCHPOINT +: svc.h +
  • +
  • StopPointType +: svc.h +
  • +
  • SVC_STOP_POINT +: svc.h +
  • +
  • svcAcceptSession() +: svc.h +
  • +
  • svcArbitrateAddress() +: svc.h +
  • +
  • svcArbitrateAddressNoTimeout() +: svc.h +
  • +
  • svcBackdoor() +: svc.h +
  • +
  • svcBindInterrupt() +: svc.h +
  • +
  • svcBreak() +: svc.h +
  • +
  • svcBreakDebugProcess() +: svc.h +
  • +
  • svcBreakRO() +: svc.h +
  • +
  • svcCancelTimer() +: svc.h +
  • +
  • svcClearEvent() +: svc.h +
  • +
  • svcClearTimer() +: svc.h +
  • +
  • svcCloseHandle() +: svc.h +
  • +
  • svcConnectToPort() +: svc.h +
  • +
  • svcContinueDebugEvent() +: svc.h +
  • +
  • svcControlMemory() +: svc.h +
  • +
  • svcControlPerformanceCounter() +: svc.h +
  • +
  • svcControlProcessMemory() +: svc.h +
  • +
  • svcCreateAddressArbiter() +: svc.h +
  • +
  • svcCreateCodeSet() +: svc.h +
  • +
  • svcCreateEvent() +: svc.h +
  • +
  • svcCreateMemoryBlock() +: svc.h +
  • +
  • svcCreateMutex() +: svc.h +
  • +
  • svcCreatePort() +: svc.h +
  • +
  • svcCreateProcess() +: svc.h +
  • +
  • svcCreateResourceLimit() +: svc.h +
  • +
  • svcCreateSemaphore() +: svc.h +
  • +
  • svcCreateSession() +: svc.h +
  • +
  • svcCreateSessionToPort() +: svc.h +
  • +
  • svcCreateThread() +: svc.h +
  • +
  • svcCreateTimer() +: svc.h +
  • +
  • svcDebugActiveProcess() +: svc.h +
  • +
  • svcDuplicateHandle() +: svc.h +
  • +
  • svcExitProcess() +: svc.h +
  • +
  • svcExitThread() +: svc.h +
  • +
  • svcFlushProcessDataCache() +: svc.h +
  • +
  • svcGetDebugThreadContext() +: svc.h +
  • +
  • svcGetDebugThreadParam() +: svc.h +
  • +
  • svcGetDmaState() +: svc.h +
  • +
  • svcGetHandleInfo() +: svc.h +
  • +
  • svcGetProcessAffinityMask() +: svc.h +
  • +
  • svcGetProcessDebugEvent() +: svc.h +
  • +
  • svcGetProcessId() +: svc.h +
  • +
  • svcGetProcessIdealProcessor() +: svc.h +
  • +
  • svcGetProcessIdOfThread() +: svc.h +
  • +
  • svcGetProcessInfo() +: svc.h +
  • +
  • svcGetProcessList() +: svc.h +
  • +
  • svcGetProcessorID() +: svc.h +
  • +
  • svcGetResourceLimit() +: svc.h +
  • +
  • svcGetResourceLimitCurrentValues() +: svc.h +
  • +
  • svcGetResourceLimitLimitValues() +: svc.h +
  • +
  • svcGetSystemInfo() +: svc.h +
  • +
  • svcGetSystemTick() +: svc.h +
  • +
  • svcGetThreadAffinityMask() +: svc.h +
  • +
  • svcGetThreadId() +: svc.h +
  • +
  • svcGetThreadIdealProcessor() +: svc.h +
  • +
  • svcGetThreadInfo() +: svc.h +
  • +
  • svcGetThreadList() +: svc.h +
  • +
  • svcGetThreadPriority() +: svc.h +
  • +
  • svcInvalidateProcessDataCache() +: svc.h +
  • +
  • svcKernelSetState() +: svc.h +
  • +
  • svcMapMemoryBlock() +: svc.h +
  • +
  • svcMapProcessMemory() +: svc.h +
  • +
  • svcOpenProcess() +: svc.h +
  • +
  • svcOpenThread() +: svc.h +
  • +
  • svcOutputDebugString() +: svc.h +
  • +
  • svcQueryDebugProcessMemory() +: svc.h +
  • +
  • svcQueryMemory() +: svc.h +
  • +
  • svcQueryProcessMemory() +: svc.h +
  • +
  • svcReadProcessMemory() +: svc.h +
  • +
  • svcReleaseMutex() +: svc.h +
  • +
  • svcReleaseSemaphore() +: svc.h +
  • +
  • svcReplyAndReceive() +: svc.h +
  • +
  • svcRestartDma() +: svc.h +
  • +
  • svcRun() +: svc.h +
  • +
  • svcSendSyncRequest() +: svc.h +
  • +
  • svcSetDebugThreadContext() +: svc.h +
  • +
  • svcSetGpuProt() +: svc.h +
  • +
  • svcSetHardwareBreakPoint() +: svc.h +
  • +
  • svcSetProcessAffinityMask() +: svc.h +
  • +
  • svcSetProcessIdealProcessor() +: svc.h +
  • +
  • svcSetProcessResourceLimits() +: svc.h +
  • +
  • svcSetResourceLimitValues() +: svc.h +
  • +
  • svcSetThreadAffinityMask() +: svc.h +
  • +
  • svcSetThreadIdealProcessor() +: svc.h +
  • +
  • svcSetThreadPriority() +: svc.h +
  • +
  • svcSetTimer() +: svc.h +
  • +
  • svcSetWifiEnabled() +: svc.h +
  • +
  • svcSignalEvent() +: svc.h +
  • +
  • svcSleepThread() +: svc.h +
  • +
  • svcStartInterProcessDma() +: svc.h +
  • +
  • svcStopDma() +: svc.h +
  • +
  • svcStoreProcessDataCache() +: svc.h +
  • +
  • svcTerminateDebugProcess() +: svc.h +
  • +
  • svcTerminateProcess() +: svc.h +
  • +
  • svcUnbindInterrupt() +: svc.h +
  • +
  • svcUnmapMemoryBlock() +: svc.h +
  • +
  • svcUnmapProcessMemory() +: svc.h +
  • +
  • svcWaitSynchronization() +: svc.h +
  • +
  • svcWaitSynchronizationN() +: svc.h +
  • +
  • svcWriteProcessMemory() +: svc.h +
  • +
  • SWKBD_ALLOW_HOME +: swkbd.h +
  • +
  • SWKBD_ALLOW_POWER +: swkbd.h +
  • +
  • SWKBD_ALLOW_RESET +: swkbd.h +
  • +
  • SWKBD_ANYTHING +: swkbd.h +
  • +
  • SWKBD_BANNED_INPUT +: swkbd.h +
  • +
  • SWKBD_BUTTON_LEFT +: swkbd.h +
  • +
  • SWKBD_BUTTON_MIDDLE +: swkbd.h +
  • +
  • SWKBD_BUTTON_NONE +: swkbd.h +
  • +
  • SWKBD_BUTTON_RIGHT +: swkbd.h +
  • +
  • SWKBD_CALLBACK_CLOSE +: swkbd.h +
  • +
  • SWKBD_CALLBACK_CONTINUE +: swkbd.h +
  • +
  • SWKBD_CALLBACK_OK +: swkbd.h +
  • +
  • SWKBD_D0_CLICK +: swkbd.h +
  • +
  • SWKBD_D1_CLICK0 +: swkbd.h +
  • +
  • SWKBD_D1_CLICK1 +: swkbd.h +
  • +
  • SWKBD_D2_CLICK0 +: swkbd.h +
  • +
  • SWKBD_D2_CLICK1 +: swkbd.h +
  • +
  • SWKBD_D2_CLICK2 +: swkbd.h +
  • +
  • SWKBD_DARKEN_TOP_SCREEN +: swkbd.h +
  • +
  • SWKBD_DEFAULT_QWERTY +: swkbd.h +
  • +
  • SWKBD_FILTER_AT +: swkbd.h +
  • +
  • SWKBD_FILTER_BACKSLASH +: swkbd.h +
  • +
  • SWKBD_FILTER_CALLBACK +: swkbd.h +
  • +
  • SWKBD_FILTER_DIGITS +: swkbd.h +
  • +
  • SWKBD_FILTER_PERCENT +: swkbd.h +
  • +
  • SWKBD_FILTER_PROFANITY +: swkbd.h +
  • +
  • SWKBD_FIXED_WIDTH +: swkbd.h +
  • +
  • SWKBD_FIXEDLEN +: swkbd.h +
  • +
  • SWKBD_HOMEPRESSED +: swkbd.h +
  • +
  • SWKBD_INVALID_INPUT +: swkbd.h +
  • +
  • SWKBD_MAX_BUTTON_TEXT_LEN +: swkbd.h +
  • +
  • SWKBD_MAX_CALLBACK_MSG_LEN +: swkbd.h +
  • +
  • SWKBD_MAX_HINT_TEXT_LEN +: swkbd.h +
  • +
  • SWKBD_MAX_WORD_LEN +: swkbd.h +
  • +
  • SWKBD_MULTILINE +: swkbd.h +
  • +
  • SWKBD_NONE +: swkbd.h +
  • +
  • SWKBD_NOTBLANK +: swkbd.h +
  • +
  • SWKBD_NOTEMPTY +: swkbd.h +
  • +
  • SWKBD_NOTEMPTY_NOTBLANK +: swkbd.h +
  • +
  • SWKBD_OUTOFMEM +: swkbd.h +
  • +
  • SWKBD_PARENTAL +: swkbd.h +
  • +
  • SWKBD_PARENTAL_FAIL +: swkbd.h +
  • +
  • SWKBD_PARENTAL_OK +: swkbd.h +
  • +
  • SWKBD_PASSWORD_HIDE +: swkbd.h +
  • +
  • SWKBD_PASSWORD_HIDE_DELAY +: swkbd.h +
  • +
  • SWKBD_PASSWORD_NONE +: swkbd.h +
  • +
  • SWKBD_POWERPRESSED +: swkbd.h +
  • +
  • SWKBD_PREDICTIVE_INPUT +: swkbd.h +
  • +
  • SWKBD_RESETPRESSED +: swkbd.h +
  • +
  • SWKBD_TYPE_NORMAL +: swkbd.h +
  • +
  • SWKBD_TYPE_NUMPAD +: swkbd.h +
  • +
  • SWKBD_TYPE_QWERTY +: swkbd.h +
  • +
  • SWKBD_TYPE_WESTERN +: swkbd.h +
  • +
  • SwkbdButton +: swkbd.h +
  • +
  • SwkbdCallbackFn +: swkbd.h +
  • +
  • SwkbdCallbackResult +: swkbd.h +
  • +
  • swkbdGetResult() +: swkbd.h +
  • +
  • swkbdInit() +: swkbd.h +
  • +
  • swkbdInputText() +: swkbd.h +
  • +
  • SwkbdPasswordMode +: swkbd.h +
  • +
  • SwkbdResult +: swkbd.h +
  • +
  • swkbdSetButton() +: swkbd.h +
  • +
  • swkbdSetDictionary() +: swkbd.h +
  • +
  • swkbdSetDictWord() +: swkbd.h +
  • +
  • swkbdSetFeatures() +: swkbd.h +
  • +
  • swkbdSetFilterCallback() +: swkbd.h +
  • +
  • swkbdSetHintText() +: swkbd.h +
  • +
  • swkbdSetInitialText() +: swkbd.h +
  • +
  • swkbdSetLearningData() +: swkbd.h +
  • +
  • swkbdSetNumpadKeys() +: swkbd.h +
  • +
  • swkbdSetPasswordMode() +: swkbd.h +
  • +
  • swkbdSetStatusData() +: swkbd.h +
  • +
  • swkbdSetValidation() +: swkbd.h +
  • +
  • SwkbdType +: swkbd.h +
  • +
  • SwkbdValidInput +: swkbd.h +
  • +
  • syncArbitrateAddress() +: synchronization.h +
  • +
  • syncArbitrateAddressWithTimeout() +: synchronization.h +
  • +
  • SYSCLOCK_ARM11 +: os.h +
  • +
  • SYSCLOCK_ARM11_LGR1 +: os.h +
  • +
  • SYSCLOCK_ARM11_LGR2 +: os.h +
  • +
  • SYSCLOCK_ARM9 +: os.h +
  • +
  • SYSCLOCK_SDMMC +: os.h +
  • +
  • SYSCLOCK_SOC +: os.h +
  • +
  • SYSCLOCK_SYS +: os.h +
  • +
  • SYSMODE_DEV1 +: exheader.h +
  • +
  • SYSMODE_DEV2 +: exheader.h +
  • +
  • SYSMODE_DEV3 +: exheader.h +
  • +
  • SYSMODE_DEV4 +: exheader.h +
  • +
  • SYSMODE_N3DS_PROD +: exheader.h +
  • +
  • SYSMODE_O3DS_PROD +: exheader.h +
  • +
  • SYSTEM_MEDIATYPE_CTR_NAND +: fs.h +
  • +
  • SYSTEM_MEDIATYPE_SD +: fs.h +
  • +
  • SYSTEM_MEDIATYPE_TWL_NAND +: fs.h +
  • +
  • SYSTEM_MEDIATYPE_TWL_PHOTO +: fs.h +
  • +
  • SYSTEM_VERSION +: os.h +
  • +
  • SystemMode +: exheader.h +
  • +
+
+ + + + diff --git a/globals_t.html b/globals_t.html new file mode 100644 index 000000000..13c31c6a5 --- /dev/null +++ b/globals_t.html @@ -0,0 +1,141 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- t -

    +
  • Thread +: thread.h +
  • +
  • THREADCONTEXT_CONTROL_ALL +: svc.h +
  • +
  • THREADCONTEXT_CONTROL_CPU_GPRS +: svc.h +
  • +
  • THREADCONTEXT_CONTROL_CPU_REGS +: svc.h +
  • +
  • THREADCONTEXT_CONTROL_CPU_SPRS +: svc.h +
  • +
  • THREADCONTEXT_CONTROL_FPU_GPRS +: svc.h +
  • +
  • THREADCONTEXT_CONTROL_FPU_REGS +: svc.h +
  • +
  • THREADCONTEXT_CONTROL_FPU_SPRS +: svc.h +
  • +
  • ThreadContextControlFlags +: svc.h +
  • +
  • threadCreate() +: thread.h +
  • +
  • threadDetach() +: thread.h +
  • +
  • threadExit() +: thread.h +
  • +
  • threadFree() +: thread.h +
  • +
  • ThreadFunc +: types.h +
  • +
  • threadGetCurrent() +: thread.h +
  • +
  • threadGetExitCode() +: thread.h +
  • +
  • threadGetHandle() +: thread.h +
  • +
  • THREADINFO_TYPE_UNKNOWN +: svc.h +
  • +
  • ThreadInfoType +: svc.h +
  • +
  • threadJoin() +: thread.h +
  • +
  • threadOnException() +: thread.h +
  • +
  • touchRead +: hid.h +
  • +
+
+ + + + diff --git a/globals_type.html b/globals_type.html new file mode 100644 index 000000000..a6eb4024d --- /dev/null +++ b/globals_type.html @@ -0,0 +1,228 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- f -

    +
  • FS_Archive +: fs.h +
  • +
+ + +

- h -

+ + +

- l -

+ + +

- n -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- u -

+ + +

- v -

+
+ + + + diff --git a/globals_u.html b/globals_u.html new file mode 100644 index 000000000..3184363a5 --- /dev/null +++ b/globals_u.html @@ -0,0 +1,234 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- u -

    +
  • u16 +: types.h +
  • +
  • u32 +: types.h +
  • +
  • u64 +: types.h +
  • +
  • U64_MAX +: types.h +
  • +
  • u8 +: types.h +
  • +
  • UDS_BROADCAST_NETWORKNODEID +: uds.h +
  • +
  • UDS_CHECK_SENDTO_FATALERROR +: uds.h +
  • +
  • UDS_DATAFRAME_MAXSIZE +: uds.h +
  • +
  • UDS_DEFAULT_RECVBUFSIZE +: uds.h +
  • +
  • UDS_HOST_NETWORKNODEID +: uds.h +
  • +
  • UDS_MAXNODES +: uds.h +
  • +
  • udsAllowSpectators() +: uds.h +
  • +
  • udsBind() +: uds.h +
  • +
  • udsCheckNodeInfoInitialized() +: uds.h +
  • +
  • udsConnectNetwork() +: uds.h +
  • +
  • udsCreateNetwork() +: uds.h +
  • +
  • udsDestroyNetwork() +: uds.h +
  • +
  • udsDisconnectNetwork() +: uds.h +
  • +
  • udsEjectClient() +: uds.h +
  • +
  • udsEjectSpectator() +: uds.h +
  • +
  • udsExit() +: uds.h +
  • +
  • udsGenerateDefaultNetworkStruct() +: uds.h +
  • +
  • udsGenerateNodeInfo() +: uds.h +
  • +
  • udsGetApplicationData() +: uds.h +
  • +
  • udsGetChannel() +: uds.h +
  • +
  • udsGetConnectionStatus() +: uds.h +
  • +
  • udsGetNetworkStructApplicationData() +: uds.h +
  • +
  • udsGetNodeInformation() +: uds.h +
  • +
  • udsGetNodeInfoUsername() +: uds.h +
  • +
  • udsInit() +: uds.h +
  • +
  • udsPullPacket() +: uds.h +
  • +
  • udsScanBeacons() +: uds.h +
  • +
  • udsSendTo() +: uds.h +
  • +
  • udsSetApplicationData() +: uds.h +
  • +
  • udsSetNewConnectionsBlocked() +: uds.h +
  • +
  • udsUnbind() +: uds.h +
  • +
  • udsUpdateNetworkAttribute() +: uds.h +
  • +
  • udsWaitConnectionStatusEvent() +: uds.h +
  • +
  • udsWaitDataAvailable() +: uds.h +
  • +
  • USER_WENT_OFFLINE +: frd.h +
  • +
  • USER_WENT_ONLINE +: frd.h +
  • +
  • USERBREAK_ASSERT +: svc.h +
  • +
  • USERBREAK_LOAD_RO +: svc.h +
  • +
  • USERBREAK_PANIC +: svc.h +
  • +
  • USERBREAK_UNLOAD_RO +: svc.h +
  • +
  • USERBREAK_USER +: svc.h +
  • +
  • UserBreakType +: svc.h +
  • +
  • utf16_to_utf32() +: utf.h +
  • +
  • utf16_to_utf8() +: utf.h +
  • +
  • utf32_to_utf16() +: utf.h +
  • +
  • utf32_to_utf8() +: utf.h +
  • +
  • utf8_to_utf16() +: utf.h +
  • +
  • utf8_to_utf32() +: utf.h +
  • +
+
+ + + + diff --git a/globals_v.html b/globals_v.html new file mode 100644 index 000000000..10ba96a53 --- /dev/null +++ b/globals_v.html @@ -0,0 +1,126 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- v -

+
+ + + + diff --git a/globals_vars.html b/globals_vars.html new file mode 100644 index 000000000..4103909d3 --- /dev/null +++ b/globals_vars.html @@ -0,0 +1,109 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + diff --git a/globals_w.html b/globals_w.html new file mode 100644 index 000000000..201e0d6f7 --- /dev/null +++ b/globals_w.html @@ -0,0 +1,111 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- w -

    +
  • WAIT_IREQ_CONTINUE +: pxidev.h +
  • +
  • WAIT_IREQ_RETURN +: pxidev.h +
  • +
  • WAIT_NONE +: pxidev.h +
  • +
  • WAIT_SLEEP +: pxidev.h +
  • +
  • WHITE_BALANCE_3200K +: cam.h +
  • +
  • WHITE_BALANCE_4150K +: cam.h +
  • +
  • WHITE_BALANCE_5200K +: cam.h +
  • +
  • WHITE_BALANCE_6000K +: cam.h +
  • +
  • WHITE_BALANCE_7000K +: cam.h +
  • +
  • WHITE_BALANCE_AUTO +: cam.h +
  • +
  • WRITE_DATA_TO_FAULTING_STACK +: thread.h +
  • +
  • WRITE_DATA_TO_HANDLER_STACK +: thread.h +
  • +
+
+ + + + diff --git a/globals_y.html b/globals_y.html new file mode 100644 index 000000000..8b5f72d9f --- /dev/null +++ b/globals_y.html @@ -0,0 +1,228 @@ + + + + + + + +libctru: Globals + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- y -

    +
  • y2rExit() +: y2r.h +
  • +
  • y2rInit() +: y2r.h +
  • +
  • Y2RU_BlockAlignment +: y2r.h +
  • +
  • Y2RU_DriverFinalize() +: y2r.h +
  • +
  • Y2RU_DriverInitialize() +: y2r.h +
  • +
  • Y2RU_GetAlpha() +: y2r.h +
  • +
  • Y2RU_GetBlockAlignment() +: y2r.h +
  • +
  • Y2RU_GetCoefficients() +: y2r.h +
  • +
  • Y2RU_GetDitheringWeightParams() +: y2r.h +
  • +
  • Y2RU_GetInputFormat() +: y2r.h +
  • +
  • Y2RU_GetInputLines() +: y2r.h +
  • +
  • Y2RU_GetInputLineWidth() +: y2r.h +
  • +
  • Y2RU_GetOutputFormat() +: y2r.h +
  • +
  • Y2RU_GetRotation() +: y2r.h +
  • +
  • Y2RU_GetSpacialDithering() +: y2r.h +
  • +
  • Y2RU_GetStandardCoefficient() +: y2r.h +
  • +
  • Y2RU_GetTemporalDithering() +: y2r.h +
  • +
  • Y2RU_GetTransferEndEvent() +: y2r.h +
  • +
  • Y2RU_GetTransferEndInterrupt() +: y2r.h +
  • +
  • Y2RU_InputFormat +: y2r.h +
  • +
  • Y2RU_IsBusyConversion() +: y2r.h +
  • +
  • Y2RU_IsDoneReceiving() +: y2r.h +
  • +
  • Y2RU_IsDoneSendingU() +: y2r.h +
  • +
  • Y2RU_IsDoneSendingV() +: y2r.h +
  • +
  • Y2RU_IsDoneSendingY() +: y2r.h +
  • +
  • Y2RU_IsDoneSendingYUYV() +: y2r.h +
  • +
  • Y2RU_OutputFormat +: y2r.h +
  • +
  • Y2RU_PingProcess() +: y2r.h +
  • +
  • Y2RU_Rotation +: y2r.h +
  • +
  • Y2RU_SetAlpha() +: y2r.h +
  • +
  • Y2RU_SetBlockAlignment() +: y2r.h +
  • +
  • Y2RU_SetCoefficients() +: y2r.h +
  • +
  • Y2RU_SetConversionParams() +: y2r.h +
  • +
  • Y2RU_SetDitheringWeightParams() +: y2r.h +
  • +
  • Y2RU_SetInputFormat() +: y2r.h +
  • +
  • Y2RU_SetInputLines() +: y2r.h +
  • +
  • Y2RU_SetInputLineWidth() +: y2r.h +
  • +
  • Y2RU_SetOutputFormat() +: y2r.h +
  • +
  • Y2RU_SetReceiving() +: y2r.h +
  • +
  • Y2RU_SetRotation() +: y2r.h +
  • +
  • Y2RU_SetSendingU() +: y2r.h +
  • +
  • Y2RU_SetSendingV() +: y2r.h +
  • +
  • Y2RU_SetSendingY() +: y2r.h +
  • +
  • Y2RU_SetSendingYUYV() +: y2r.h +
  • +
  • Y2RU_SetSpacialDithering() +: y2r.h +
  • +
  • Y2RU_SetStandardCoefficient() +: y2r.h +
  • +
  • Y2RU_SetTemporalDithering() +: y2r.h +
  • +
  • Y2RU_SetTransferEndInterrupt() +: y2r.h +
  • +
  • Y2RU_StandardCoefficient +: y2r.h +
  • +
  • Y2RU_StartConversion() +: y2r.h +
  • +
  • Y2RU_StopConversion() +: y2r.h +
  • +
+
+ + + + diff --git a/gpu_8h.html b/gpu_8h.html new file mode 100644 index 000000000..2c967d033 --- /dev/null +++ b/gpu_8h.html @@ -0,0 +1,541 @@ + + + + + + + +libctru: include/3ds/gpu/gpu.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
gpu.h File Reference
+
+
+ +

Barebones GPU communications driver. +More...

+
#include "registers.h"
+#include "enums.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + +

+Macros

+#define GPUCMD_HEADER(incremental, mask, reg)   (((incremental)<<31)|(((mask)&0xF)<<16)|((reg)&0x3FF))
 Creates a GPU command header from its write increments, mask, and register.
 
+#define GPUCMD_AddMaskedWrite(reg, mask, val)   GPUCMD_AddSingleParam(GPUCMD_HEADER(0, (mask), (reg)), (val))
 Adds a masked register write to the current command buffer.
 
+#define GPUCMD_AddWrite(reg, val)   GPUCMD_AddMaskedWrite((reg), 0xF, (val))
 Adds a register write to the current command buffer.
 
+#define GPUCMD_AddMaskedWrites(reg, mask, vals, num)   GPUCMD_Add(GPUCMD_HEADER(0, (mask), (reg)), (vals), (num))
 Adds multiple masked register writes to the current command buffer.
 
+#define GPUCMD_AddWrites(reg, vals, num)   GPUCMD_AddMaskedWrites((reg), 0xF, (vals), (num))
 Adds multiple register writes to the current command buffer.
 
+#define GPUCMD_AddMaskedIncrementalWrites(reg, mask, vals, num)   GPUCMD_Add(GPUCMD_HEADER(1, (mask), (reg)), (vals), (num))
 Adds multiple masked incremental register writes to the current command buffer.
 
+#define GPUCMD_AddIncrementalWrites(reg, vals, num)   GPUCMD_AddMaskedIncrementalWrites((reg), 0xF, (vals), (num))
 Adds multiple incremental register writes to the current command buffer.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

static void GPUCMD_SetBuffer (u32 *adr, u32 size, u32 offset)
 Sets the GPU command buffer to use. More...
 
static void GPUCMD_SetBufferOffset (u32 offset)
 Sets the offset of the GPU command buffer. More...
 
static void GPUCMD_GetBuffer (u32 **addr, u32 *size, u32 *offset)
 Gets the current GPU command buffer. More...
 
void GPUCMD_AddRawCommands (const u32 *cmd, u32 size)
 Adds raw GPU commands to the current command buffer. More...
 
void GPUCMD_Add (u32 header, const u32 *param, u32 paramlength)
 Adds a GPU command to the current command buffer. More...
 
void GPUCMD_Split (u32 **addr, u32 *size)
 Splits the current GPU command buffer. More...
 
u32 f32tof16 (float f)
 Converts a 32-bit float to a 16-bit float. More...
 
u32 f32tof20 (float f)
 Converts a 32-bit float to a 20-bit float. More...
 
u32 f32tof24 (float f)
 Converts a 32-bit float to a 24-bit float. More...
 
u32 f32tof31 (float f)
 Converts a 32-bit float to a 31-bit float. More...
 
+static void GPUCMD_AddSingleParam (u32 header, u32 param)
 Adds a command with a single parameter to the current command buffer.
 
+ + + + + + + + + + +

+Variables

+u32gpuCmdBuf
 GPU command buffer.
 
+u32 gpuCmdBufSize
 GPU command buffer size.
 
+u32 gpuCmdBufOffset
 GPU command buffer offset.
 
+

Detailed Description

+

Barebones GPU communications driver.

+

Function Documentation

+ +

◆ f32tof16()

+ +
+
+ + + + + + + + +
u32 f32tof16 (float f)
+
+ +

Converts a 32-bit float to a 16-bit float.

+
Parameters
+ + +
fFloat to convert.
+
+
+
Returns
The converted float.
+ +
+
+ +

◆ f32tof20()

+ +
+
+ + + + + + + + +
u32 f32tof20 (float f)
+
+ +

Converts a 32-bit float to a 20-bit float.

+
Parameters
+ + +
fFloat to convert.
+
+
+
Returns
The converted float.
+ +
+
+ +

◆ f32tof24()

+ +
+
+ + + + + + + + +
u32 f32tof24 (float f)
+
+ +

Converts a 32-bit float to a 24-bit float.

+
Parameters
+ + +
fFloat to convert.
+
+
+
Returns
The converted float.
+ +
+
+ +

◆ f32tof31()

+ +
+
+ + + + + + + + +
u32 f32tof31 (float f)
+
+ +

Converts a 32-bit float to a 31-bit float.

+
Parameters
+ + +
fFloat to convert.
+
+
+
Returns
The converted float.
+ +
+
+ +

◆ GPUCMD_Add()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void GPUCMD_Add (u32 header,
const u32param,
u32 paramlength 
)
+
+ +

Adds a GPU command to the current command buffer.

+
Parameters
+ + + + +
headerHeader of the command.
paramParameters of the command.
paramlengthSize of the parameter buffer.
+
+
+ +
+
+ +

◆ GPUCMD_AddRawCommands()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void GPUCMD_AddRawCommands (const u32cmd,
u32 size 
)
+
+ +

Adds raw GPU commands to the current command buffer.

+
Parameters
+ + + +
cmdBuffer containing commands to add.
sizeSize of the buffer.
+
+
+ +
+
+ +

◆ GPUCMD_GetBuffer()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void GPUCMD_GetBuffer (u32 ** addr,
u32size,
u32offset 
)
+
+inlinestatic
+
+ +

Gets the current GPU command buffer.

+
Parameters
+ + + + +
addrPointer to output the command buffer to.
sizePointer to output the size (in words) of the command buffer to.
offsetPointer to output the offset of the command buffer to.
+
+
+ +
+
+ +

◆ GPUCMD_SetBuffer()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void GPUCMD_SetBuffer (u32adr,
u32 size,
u32 offset 
)
+
+inlinestatic
+
+ +

Sets the GPU command buffer to use.

+
Parameters
+ + + + +
adrPointer to the command buffer.
sizeSize of the command buffer.
offsetOffset of the command buffer.
+
+
+ +
+
+ +

◆ GPUCMD_SetBufferOffset()

+ +
+
+ + + + + +
+ + + + + + + + +
static void GPUCMD_SetBufferOffset (u32 offset)
+
+inlinestatic
+
+ +

Sets the offset of the GPU command buffer.

+
Parameters
+ + +
offsetOffset of the command buffer.
+
+
+ +
+
+ +

◆ GPUCMD_Split()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void GPUCMD_Split (u32 ** addr,
u32size 
)
+
+ +

Splits the current GPU command buffer.

+
Parameters
+ + + +
addrPointer to output the command buffer to.
sizePointer to output the size (in words) of the command buffer to.
+
+
+ +
+
+
+ + + + diff --git a/gpu_8h_source.html b/gpu_8h_source.html new file mode 100644 index 000000000..0ab6cdc67 --- /dev/null +++ b/gpu_8h_source.html @@ -0,0 +1,215 @@ + + + + + + + +libctru: include/3ds/gpu/gpu.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
gpu.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file gpu.h
+
3  * @brief Barebones GPU communications driver.
+
4  */
+
5 #pragma once
+
6 
+
7 #include "registers.h"
+
8 #include "enums.h"
+
9 
+
10 /// Creates a GPU command header from its write increments, mask, and register.
+
11 #define GPUCMD_HEADER(incremental, mask, reg) (((incremental)<<31)|(((mask)&0xF)<<16)|((reg)&0x3FF))
+
12 
+
13 extern u32* gpuCmdBuf; ///< GPU command buffer.
+
14 extern u32 gpuCmdBufSize; ///< GPU command buffer size.
+
15 extern u32 gpuCmdBufOffset; ///< GPU command buffer offset.
+
16 
+
17 /**
+
18  * @brief Sets the GPU command buffer to use.
+
19  * @param adr Pointer to the command buffer.
+
20  * @param size Size of the command buffer.
+
21  * @param offset Offset of the command buffer.
+
22  */
+
23 static inline void GPUCMD_SetBuffer(u32* adr, u32 size, u32 offset)
+
24 {
+
25  gpuCmdBuf=adr;
+
26  gpuCmdBufSize=size;
+
27  gpuCmdBufOffset=offset;
+
28 }
+
29 
+
30 /**
+
31  * @brief Sets the offset of the GPU command buffer.
+
32  * @param offset Offset of the command buffer.
+
33  */
+
34 static inline void GPUCMD_SetBufferOffset(u32 offset)
+
35 {
+
36  gpuCmdBufOffset=offset;
+
37 }
+
38 
+
39 /**
+
40  * @brief Gets the current GPU command buffer.
+
41  * @param addr Pointer to output the command buffer to.
+
42  * @param size Pointer to output the size (in words) of the command buffer to.
+
43  * @param offset Pointer to output the offset of the command buffer to.
+
44  */
+
45 static inline void GPUCMD_GetBuffer(u32** addr, u32* size, u32* offset)
+
46 {
+
47  if(addr)*addr=gpuCmdBuf;
+
48  if(size)*size=gpuCmdBufSize;
+
49  if(offset)*offset=gpuCmdBufOffset;
+
50 }
+
51 
+
52 /**
+
53  * @brief Adds raw GPU commands to the current command buffer.
+
54  * @param cmd Buffer containing commands to add.
+
55  * @param size Size of the buffer.
+
56  */
+
57 void GPUCMD_AddRawCommands(const u32* cmd, u32 size);
+
58 
+
59 /**
+
60  * @brief Adds a GPU command to the current command buffer.
+
61  * @param header Header of the command.
+
62  * @param param Parameters of the command.
+
63  * @param paramlength Size of the parameter buffer.
+
64  */
+
65 void GPUCMD_Add(u32 header, const u32* param, u32 paramlength);
+
66 
+
67 /**
+
68  * @brief Splits the current GPU command buffer.
+
69  * @param addr Pointer to output the command buffer to.
+
70  * @param size Pointer to output the size (in words) of the command buffer to.
+
71  */
+
72 void GPUCMD_Split(u32** addr, u32* size);
+
73 
+
74 /**
+
75  * @brief Converts a 32-bit float to a 16-bit float.
+
76  * @param f Float to convert.
+
77  * @return The converted float.
+
78  */
+
79 u32 f32tof16(float f);
+
80 
+
81 /**
+
82  * @brief Converts a 32-bit float to a 20-bit float.
+
83  * @param f Float to convert.
+
84  * @return The converted float.
+
85  */
+
86 u32 f32tof20(float f);
+
87 
+
88 /**
+
89  * @brief Converts a 32-bit float to a 24-bit float.
+
90  * @param f Float to convert.
+
91  * @return The converted float.
+
92  */
+
93 u32 f32tof24(float f);
+
94 
+
95 /**
+
96  * @brief Converts a 32-bit float to a 31-bit float.
+
97  * @param f Float to convert.
+
98  * @return The converted float.
+
99  */
+
100 u32 f32tof31(float f);
+
101 
+
102 /// Adds a command with a single parameter to the current command buffer.
+
103 static inline void GPUCMD_AddSingleParam(u32 header, u32 param)
+
104 {
+
105  GPUCMD_Add(header, &param, 1);
+
106 }
+
107 
+
108 /// Adds a masked register write to the current command buffer.
+
109 #define GPUCMD_AddMaskedWrite(reg, mask, val) GPUCMD_AddSingleParam(GPUCMD_HEADER(0, (mask), (reg)), (val))
+
110 /// Adds a register write to the current command buffer.
+
111 #define GPUCMD_AddWrite(reg, val) GPUCMD_AddMaskedWrite((reg), 0xF, (val))
+
112 /// Adds multiple masked register writes to the current command buffer.
+
113 #define GPUCMD_AddMaskedWrites(reg, mask, vals, num) GPUCMD_Add(GPUCMD_HEADER(0, (mask), (reg)), (vals), (num))
+
114 /// Adds multiple register writes to the current command buffer.
+
115 #define GPUCMD_AddWrites(reg, vals, num) GPUCMD_AddMaskedWrites((reg), 0xF, (vals), (num))
+
116 /// Adds multiple masked incremental register writes to the current command buffer.
+
117 #define GPUCMD_AddMaskedIncrementalWrites(reg, mask, vals, num) GPUCMD_Add(GPUCMD_HEADER(1, (mask), (reg)), (vals), (num))
+
118 /// Adds multiple incremental register writes to the current command buffer.
+
119 #define GPUCMD_AddIncrementalWrites(reg, vals, num) GPUCMD_AddMaskedIncrementalWrites((reg), 0xF, (vals), (num))
+
GPU enumeration values.
+
static void GPUCMD_SetBuffer(u32 *adr, u32 size, u32 offset)
Sets the GPU command buffer to use.
Definition: gpu.h:23
+
void GPUCMD_Add(u32 header, const u32 *param, u32 paramlength)
Adds a GPU command to the current command buffer.
+
u32 gpuCmdBufOffset
GPU command buffer offset.
+
void GPUCMD_Split(u32 **addr, u32 *size)
Splits the current GPU command buffer.
+
u32 f32tof31(float f)
Converts a 32-bit float to a 31-bit float.
+
u32 f32tof16(float f)
Converts a 32-bit float to a 16-bit float.
+
u32 f32tof24(float f)
Converts a 32-bit float to a 24-bit float.
+
static void GPUCMD_GetBuffer(u32 **addr, u32 *size, u32 *offset)
Gets the current GPU command buffer.
Definition: gpu.h:45
+
u32 gpuCmdBufSize
GPU command buffer size.
+
void GPUCMD_AddRawCommands(const u32 *cmd, u32 size)
Adds raw GPU commands to the current command buffer.
+
static void GPUCMD_AddSingleParam(u32 header, u32 param)
Adds a command with a single parameter to the current command buffer.
Definition: gpu.h:103
+
u32 f32tof20(float f)
Converts a 32-bit float to a 20-bit float.
+
static void GPUCMD_SetBufferOffset(u32 offset)
Sets the offset of the GPU command buffer.
Definition: gpu.h:34
+
u32 * gpuCmdBuf
GPU command buffer.
+
@description GPU registers.
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2bitmap_224bit-color_2source_2main_8c-example.html b/graphics_2bitmap_224bit-color_2source_2main_8c-example.html new file mode 100644 index 000000000..1f886ff0a --- /dev/null +++ b/graphics_2bitmap_224bit-color_2source_2main_8c-example.html @@ -0,0 +1,157 @@ + + + + + + + +libctru: graphics/bitmap/24bit-color/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/bitmap/24bit-color/source/main.c
+
+
+
/*
+
Hello World example made by Aurelio Mannara for libctru
+
This code was modified for the last time on: 12/13/2014 01:00 UTC+1
+
+
This wouldn't be possible without the amazing work done by:
+
-Smealum
+
-fincs
+
-WinterMute
+
-yellows8
+
-plutoo
+
-mtheall
+
-Many others who worked on 3DS and I'm surely forgetting about
+
*/
+
+
#include <3ds.h>
+
#include <stdio.h>
+
#include <string.h>
+
+
//This include a header containing definitions of our image
+
#include "brew_bgr.h"
+
+
int main(int argc, char **argv)
+
{
+ +
+
//Initialize console on top screen. Using NULL as the second argument tells the console library to use the internal console structure as current one
+ +
+
printf("Why so sad Smealum? We can haz 3DS homebrew!");
+
+
printf("\x1b[21;16HPress Start to exit.");
+
+
//We don't need double buffering in this example. In this way we can draw our image only once on screen.
+ +
+
//Get the bottom screen's frame buffer
+
u8* fb = gfxGetFramebuffer(GFX_BOTTOM, GFX_LEFT, NULL, NULL);
+
+
//Copy our image in the bottom screen's frame buffer
+
memcpy(fb, brew_bgr, brew_bgr_size);
+
+
// Main loop
+
while (aptMainLoop())
+
{
+
//Scan all the inputs. This should be done once for each frame
+ +
+
//hidKeysDown returns information about which buttons have been just pressed (and they weren't in the previous frame)
+
u32 kDown = hidKeysDown();
+
+
if (kDown & KEY_START) break; // break in order to return to hbmenu
+
+
// Flush and swap framebuffers
+ + +
+
//Wait for VBlank
+ +
}
+
+
// Exit services
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
void gfxSwapBuffers(void)
Updates the configuration of both screens.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
u8 * gfxGetFramebuffer(gfxScreen_t screen, gfx3dSide_t side, u16 *width, u16 *height)
Retrieves the framebuffer of the specified screen to which graphics should be rendered.
+
@ GFX_BOTTOM
Bottom screen.
Definition: gfx.h:27
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxSetDoubleBuffering(gfxScreen_t screen, bool enable)
Enables or disables double buffering on a screen.
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
void gfxFlushBuffers(void)
Flushes the data cache for the current framebuffers.
+
#define gspWaitForVBlank()
Waits for VBlank.
Definition: gspgpu.h:151
+
@ KEY_START
Start.
Definition: hid.h:15
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2gpu_2both_screens_2source_2main_8c-example.html b/graphics_2gpu_2both_screens_2source_2main_8c-example.html new file mode 100644 index 000000000..bc05692ec --- /dev/null +++ b/graphics_2gpu_2both_screens_2source_2main_8c-example.html @@ -0,0 +1,245 @@ + + + + + + + +libctru: graphics/gpu/both_screens/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/gpu/both_screens/source/main.c
+
+
+
#include <3ds.h>
+
#include <citro3d.h>
+
#include <string.h>
+
#include "vshader_shbin.h"
+
+
#define CLEAR_COLOR 0x68B0D8FF
+
+
#define DISPLAY_TRANSFER_FLAGS \
+
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
+
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
+
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
+
+
typedef struct { float x, y, z; } vertex;
+
+
static const vertex vertex_list[] =
+
{
+
{ 0.0f, 200.0f, 0.5f },
+
{ -100.0f, 40.0f, 0.5f },
+
{ +100.0f, 40.0f, 0.5f },
+
};
+
+
#define vertex_list_count (sizeof(vertex_list)/sizeof(vertex_list[0]))
+
+
static DVLB_s* vshader_dvlb;
+
static shaderProgram_s program;
+
static int uLoc_projection;
+
static C3D_Mtx projectionTop, projectionBot;
+
+
static void* vbo_data;
+
+
static void sceneInit(void)
+
{
+
// Load the vertex shader, create a shader program and bind it
+
vshader_dvlb = DVLB_ParseFile((u32*)vshader_shbin, vshader_shbin_size);
+
shaderProgramInit(&program);
+
shaderProgramSetVsh(&program, &vshader_dvlb->DVLE[0]);
+
C3D_BindProgram(&program);
+
+
// Get the location of the uniforms
+
uLoc_projection = shaderInstanceGetUniformLocation(program.vertexShader, "projection");
+
+
// Configure attributes for use with the vertex shader
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0, GPU_FLOAT, 3); // v0=position
+
AttrInfo_AddFixed(attrInfo, 1); // v1=color
+
+
// Set the fixed attribute (color) to solid white
+
C3D_FixedAttribSet(1, 1.0, 1.0, 1.0, 1.0);
+
+
// Compute the projection matrix
+
Mtx_OrthoTilt(&projectionTop, -200.0f, 200.0f, 0.0f, 240.0f, 0.0f, 1.0f, true);
+
Mtx_OrthoTilt(&projectionBot, -160.0f, 160.0f, 0.0f, 240.0f, 0.0f, 1.0f, true);
+
+
// Create the VBO (vertex buffer object)
+
vbo_data = linearAlloc(sizeof(vertex_list));
+
memcpy(vbo_data, vertex_list, sizeof(vertex_list));
+
+
// Configure buffers
+
C3D_BufInfo* bufInfo = C3D_GetBufInfo();
+
BufInfo_Init(bufInfo);
+
BufInfo_Add(bufInfo, vbo_data, sizeof(vertex), 1, 0x0);
+
+
// Configure the first fragment shading substage to just pass through the vertex color
+
// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
C3D_TexEnvInit(env);
+
C3D_TexEnvSrc(env, C3D_Both, GPU_PRIMARY_COLOR, 0, 0);
+
C3D_TexEnvFunc(env, C3D_Both, GPU_REPLACE);
+
}
+
+
static void sceneRender(float a, bool top)
+
{
+
float b = (cosf(C3D_Angle(a)) + 1.0f) / 2.0f;
+
if (!top) b = 1.0f - b;
+
+
C3D_FixedAttribSet(1, b, b, b, 1.0);
+
// Update the uniforms
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_projection, top ? &projectionTop : &projectionBot);
+
+
// Draw the VBO
+
C3D_DrawArrays(GPU_TRIANGLES, 0, vertex_list_count);
+
}
+
+
static void sceneExit(void)
+
{
+
// Free the VBO
+
linearFree(vbo_data);
+
+
// Free the shader program
+
shaderProgramFree(&program);
+
DVLB_Free(vshader_dvlb);
+
}
+
+
int main()
+
{
+
// Initialize graphics
+ +
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
// Initialize the render target
+
C3D_RenderTarget* top = C3D_RenderTargetCreate(240, 400, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8);
+
C3D_RenderTargetSetOutput(top, GFX_TOP, GFX_LEFT, DISPLAY_TRANSFER_FLAGS);
+
C3D_RenderTarget* bot = C3D_RenderTargetCreate(240, 320, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8);
+
C3D_RenderTargetSetOutput(bot, GFX_BOTTOM, GFX_LEFT, DISPLAY_TRANSFER_FLAGS);
+
+
// Initialize the scene
+
sceneInit();
+
+
// Main loop
+
float count = 0.0f;
+
while (aptMainLoop())
+
{
+ +
+
// Respond to user input
+
u32 kDown = hidKeysDown();
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
// Render the scene
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
C3D_RenderTargetClear(top, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_FrameDrawOn(top);
+
sceneRender(count, true);
+
C3D_RenderTargetClear(bot, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_FrameDrawOn(bot);
+
sceneRender(count, false);
+
C3D_FrameEnd(0);
+
count += 1/128.0f;
+
}
+
+
// Deinitialize the scene
+
sceneExit();
+
+
// Deinitialize graphics
+
C3D_Fini();
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
@ GPU_REPLACE
Replace.
Definition: enums.h:365
+
@ GPU_VERTEX_SHADER
Vertex shader.
Definition: enums.h:503
+
@ GPU_RB_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: enums.h:150
+
@ GPU_FLOAT
32-bit float.
Definition: enums.h:299
+
@ GPU_PRIMARY_COLOR
Primary color.
Definition: enums.h:316
+
@ GPU_TRIANGLES
Triangles.
Definition: enums.h:494
+
@ GPU_RB_DEPTH24_STENCIL8
24-bit Depth + 8-bit Stencil
Definition: enums.h:162
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_BOTTOM
Bottom screen.
Definition: gfx.h:27
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
@ KEY_START
Start.
Definition: hid.h:15
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
void * linearAlloc(size_t size)
Allocates a 0x80-byte aligned buffer.
+
void linearFree(void *mem)
Frees a buffer.
+
Result shaderProgramSetVsh(shaderProgram_s *sp, DVLE_s *dvle)
Sets the vertex shader of a shader program.
+
Result shaderProgramInit(shaderProgram_s *sp)
Initializes a shader program.
+
Result shaderProgramFree(shaderProgram_s *sp)
Frees a shader program.
+
s8 shaderInstanceGetUniformLocation(shaderInstance_s *si, const char *name)
Gets the location of a shader's uniform.
+
void DVLB_Free(DVLB_s *dvlb)
Frees shader binary data.
+
DVLB_s * DVLB_ParseFile(u32 *shbinData, u32 shbinSize)
Parses a shader binary.
+
DVLB data.
Definition: shbin.h:98
+
DVLE_s * DVLE
Contained DVLE.
Definition: shbin.h:101
+
Describes an instance of a full shader program.
Definition: shaderProgram.h:31
+
shaderInstance_s * vertexShader
Vertex shader.
Definition: shaderProgram.h:32
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2gpu_2fragment_light_2source_2main_8c-example.html b/graphics_2gpu_2fragment_light_2source_2main_8c-example.html new file mode 100644 index 000000000..575a60ce9 --- /dev/null +++ b/graphics_2gpu_2fragment_light_2source_2main_8c-example.html @@ -0,0 +1,351 @@ + + + + + + + +libctru: graphics/gpu/fragment_light/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/gpu/fragment_light/source/main.c
+
+
+
#include <3ds.h>
+
#include <citro3d.h>
+
#include <string.h>
+
#include "vshader_shbin.h"
+
+
#define CLEAR_COLOR 0x68B0D8FF
+
+
#define DISPLAY_TRANSFER_FLAGS \
+
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
+
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
+
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
+
+
typedef struct { float position[3]; float texcoord[2]; float normal[3]; } vertex;
+
+
static const vertex vertex_list[] =
+
{
+
// First face (PZ)
+
// First triangle
+
{ {-0.5f, -0.5f, +0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, +1.0f} },
+
{ {+0.5f, -0.5f, +0.5f}, {1.0f, 0.0f}, {0.0f, 0.0f, +1.0f} },
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, +1.0f} },
+
// Second triangle
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, +1.0f} },
+
{ {-0.5f, +0.5f, +0.5f}, {0.0f, 1.0f}, {0.0f, 0.0f, +1.0f} },
+
{ {-0.5f, -0.5f, +0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, +1.0f} },
+
+
// Second face (MZ)
+
// First triangle
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, -1.0f} },
+
{ {-0.5f, +0.5f, -0.5f}, {1.0f, 0.0f}, {0.0f, 0.0f, -1.0f} },
+
{ {+0.5f, +0.5f, -0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, -1.0f} },
+
// Second triangle
+
{ {+0.5f, +0.5f, -0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, -1.0f} },
+
{ {+0.5f, -0.5f, -0.5f}, {0.0f, 1.0f}, {0.0f, 0.0f, -1.0f} },
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, -1.0f} },
+
+
// Third face (PX)
+
// First triangle
+
{ {+0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {+1.0f, 0.0f, 0.0f} },
+
{ {+0.5f, +0.5f, -0.5f}, {1.0f, 0.0f}, {+1.0f, 0.0f, 0.0f} },
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {+1.0f, 0.0f, 0.0f} },
+
// Second triangle
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {+1.0f, 0.0f, 0.0f} },
+
{ {+0.5f, -0.5f, +0.5f}, {0.0f, 1.0f}, {+1.0f, 0.0f, 0.0f} },
+
{ {+0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {+1.0f, 0.0f, 0.0f} },
+
+
// Fourth face (MX)
+
// First triangle
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {-1.0f, 0.0f, 0.0f} },
+
{ {-0.5f, -0.5f, +0.5f}, {1.0f, 0.0f}, {-1.0f, 0.0f, 0.0f} },
+
{ {-0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {-1.0f, 0.0f, 0.0f} },
+
// Second triangle
+
{ {-0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {-1.0f, 0.0f, 0.0f} },
+
{ {-0.5f, +0.5f, -0.5f}, {0.0f, 1.0f}, {-1.0f, 0.0f, 0.0f} },
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {-1.0f, 0.0f, 0.0f} },
+
+
// Fifth face (PY)
+
// First triangle
+
{ {-0.5f, +0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, +1.0f, 0.0f} },
+
{ {-0.5f, +0.5f, +0.5f}, {1.0f, 0.0f}, {0.0f, +1.0f, 0.0f} },
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, +1.0f, 0.0f} },
+
// Second triangle
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, +1.0f, 0.0f} },
+
{ {+0.5f, +0.5f, -0.5f}, {0.0f, 1.0f}, {0.0f, +1.0f, 0.0f} },
+
{ {-0.5f, +0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, +1.0f, 0.0f} },
+
+
// Sixth face (MY)
+
// First triangle
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, -1.0f, 0.0f} },
+
{ {+0.5f, -0.5f, -0.5f}, {1.0f, 0.0f}, {0.0f, -1.0f, 0.0f} },
+
{ {+0.5f, -0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, -1.0f, 0.0f} },
+
// Second triangle
+
{ {+0.5f, -0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, -1.0f, 0.0f} },
+
{ {-0.5f, -0.5f, +0.5f}, {0.0f, 1.0f}, {0.0f, -1.0f, 0.0f} },
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, -1.0f, 0.0f} },
+
};
+
+
#define vertex_list_count (sizeof(vertex_list)/sizeof(vertex_list[0]))
+
+
static DVLB_s* vshader_dvlb;
+
static shaderProgram_s program;
+
static int uLoc_projection, uLoc_modelView;
+
static C3D_Mtx projection;
+
+
static C3D_LightEnv lightEnv;
+
static C3D_Light light;
+
static C3D_LightLut lut_Phong;
+
+
static void* vbo_data;
+
static float angleX = 0.0, angleY = 0.0;
+
+
static void sceneInit(void)
+
{
+
// Load the vertex shader, create a shader program and bind it
+
vshader_dvlb = DVLB_ParseFile((u32*)vshader_shbin, vshader_shbin_size);
+
shaderProgramInit(&program);
+
shaderProgramSetVsh(&program, &vshader_dvlb->DVLE[0]);
+
C3D_BindProgram(&program);
+
+
// Get the location of the uniforms
+
uLoc_projection = shaderInstanceGetUniformLocation(program.vertexShader, "projection");
+
uLoc_modelView = shaderInstanceGetUniformLocation(program.vertexShader, "modelView");
+
+
// Configure attributes for use with the vertex shader
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0, GPU_FLOAT, 3); // v0=position
+
AttrInfo_AddLoader(attrInfo, 1, GPU_FLOAT, 2); // v1=texcoord
+
AttrInfo_AddLoader(attrInfo, 2, GPU_FLOAT, 3); // v2=normal
+
+
// Create the VBO (vertex buffer object)
+
vbo_data = linearAlloc(sizeof(vertex_list));
+
memcpy(vbo_data, vertex_list, sizeof(vertex_list));
+
+
// Configure buffers
+
C3D_BufInfo* bufInfo = C3D_GetBufInfo();
+
BufInfo_Init(bufInfo);
+
BufInfo_Add(bufInfo, vbo_data, sizeof(vertex), 3, 0x210);
+
+
// Configure the first fragment shading substage to blend the fragment primary color
+
// with the fragment secondary color.
+
// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
C3D_TexEnvInit(env);
+
C3D_TexEnvSrc(env, C3D_Both, GPU_FRAGMENT_PRIMARY_COLOR, GPU_FRAGMENT_SECONDARY_COLOR, 0);
+
C3D_TexEnvFunc(env, C3D_Both, GPU_ADD);
+
+
static const C3D_Material material =
+
{
+
{ 0.2f, 0.2f, 0.2f }, //ambient
+
{ 0.4f, 0.4f, 0.4f }, //diffuse
+
{ 0.8f, 0.8f, 0.8f }, //specular0
+
{ 0.0f, 0.0f, 0.0f }, //specular1
+
{ 0.0f, 0.0f, 0.0f }, //emission
+
};
+
+
C3D_LightEnvInit(&lightEnv);
+
C3D_LightEnvBind(&lightEnv);
+
C3D_LightEnvMaterial(&lightEnv, &material);
+
+
LightLut_Phong(&lut_Phong, 30);
+
C3D_LightEnvLut(&lightEnv, GPU_LUT_D0, GPU_LUTINPUT_LN, false, &lut_Phong);
+
+
C3D_FVec lightVec = FVec4_New(0.0f, 0.0f, -0.5f, 1.0f);
+
+
C3D_LightInit(&light, &lightEnv);
+
C3D_LightColor(&light, 1.0, 1.0, 1.0);
+
C3D_LightPosition(&light, &lightVec);
+
}
+
+
static void sceneRender(float iod)
+
{
+
// Compute the projection matrix
+
Mtx_PerspStereoTilt(&projection, C3D_AngleFromDegrees(40.0f), C3D_AspectRatioTop, 0.01f, 1000.0f, iod, 2.0f, false);
+
+
// Calculate the modelView matrix
+
C3D_Mtx modelView;
+
Mtx_Identity(&modelView);
+
Mtx_Translate(&modelView, 0.0, 0.0, -4.0 + sinf(angleX), true);
+
Mtx_RotateX(&modelView, angleX, true);
+
Mtx_RotateY(&modelView, angleY, true);
+
+
// Rotate the cube each frame
+
if (iod >= 0.0f)
+
{
+
angleX += C3D_AngleFromDegrees(1.0);
+
angleY += C3D_AngleFromDegrees(0.5);
+
}
+
+
// Update the uniforms
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_projection, &projection);
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_modelView, &modelView);
+
+
// Draw the VBO
+
C3D_DrawArrays(GPU_TRIANGLES, 0, vertex_list_count);
+
}
+
+
static void sceneExit(void)
+
{
+
// Free the VBO
+
linearFree(vbo_data);
+
+
// Free the shader program
+
shaderProgramFree(&program);
+
DVLB_Free(vshader_dvlb);
+
}
+
+
int main()
+
{
+
// Initialize graphics
+ +
gfxSet3D(true); // Enable stereoscopic 3D
+
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
// Initialize the render targets
+
C3D_RenderTarget* targetLeft = C3D_RenderTargetCreate(240, 400, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8);
+
C3D_RenderTarget* targetRight = C3D_RenderTargetCreate(240, 400, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8);
+
C3D_RenderTargetSetOutput(targetLeft, GFX_TOP, GFX_LEFT, DISPLAY_TRANSFER_FLAGS);
+
C3D_RenderTargetSetOutput(targetRight, GFX_TOP, GFX_RIGHT, DISPLAY_TRANSFER_FLAGS);
+
+
// Initialize the scene
+
sceneInit();
+
+
// Main loop
+
while (aptMainLoop())
+
{
+ +
+
// Respond to user input
+
u32 kDown = hidKeysDown();
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
float slider = osGet3DSliderState();
+
float iod = slider/3;
+
+
// Render the scene
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
{
+
C3D_RenderTargetClear(targetLeft, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_FrameDrawOn(targetLeft);
+
sceneRender(-iod);
+
+
if (iod > 0.0f)
+
{
+
C3D_RenderTargetClear(targetRight, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_FrameDrawOn(targetRight);
+
sceneRender(iod);
+
}
+
}
+
C3D_FrameEnd(0);
+
}
+
+
// Deinitialize the scene
+
sceneExit();
+
+
// Deinitialize graphics
+
C3D_Fini();
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
@ GPU_ADD
Add.
Definition: enums.h:367
+
@ GPU_VERTEX_SHADER
Vertex shader.
Definition: enums.h:503
+
@ GPU_RB_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: enums.h:150
+
@ GPU_LUT_D0
D0 LUT.
Definition: enums.h:429
+
@ GPU_FLOAT
32-bit float.
Definition: enums.h:299
+
@ GPU_FRAGMENT_PRIMARY_COLOR
Primary fragment color.
Definition: enums.h:317
+
@ GPU_FRAGMENT_SECONDARY_COLOR
Secondary fragment color.
Definition: enums.h:318
+
@ GPU_TRIANGLES
Triangles.
Definition: enums.h:494
+
@ GPU_RB_DEPTH24_STENCIL8
24-bit Depth + 8-bit Stencil
Definition: enums.h:162
+
@ GPU_LUTINPUT_LN
LightVector*Normal.
Definition: enums.h:445
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxSet3D(bool enable)
Enables or disables the 3D stereoscopic effect on the top screen.
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
@ GFX_RIGHT
Right eye framebuffer.
Definition: gfx.h:38
+
@ KEY_START
Start.
Definition: hid.h:15
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
void * linearAlloc(size_t size)
Allocates a 0x80-byte aligned buffer.
+
void linearFree(void *mem)
Frees a buffer.
+
static float osGet3DSliderState(void)
Gets the state of the 3D slider.
Definition: os.h:313
+
Result shaderProgramSetVsh(shaderProgram_s *sp, DVLE_s *dvle)
Sets the vertex shader of a shader program.
+
Result shaderProgramInit(shaderProgram_s *sp)
Initializes a shader program.
+
Result shaderProgramFree(shaderProgram_s *sp)
Frees a shader program.
+
s8 shaderInstanceGetUniformLocation(shaderInstance_s *si, const char *name)
Gets the location of a shader's uniform.
+
void DVLB_Free(DVLB_s *dvlb)
Frees shader binary data.
+
DVLB_s * DVLB_ParseFile(u32 *shbinData, u32 shbinSize)
Parses a shader binary.
+
DVLB data.
Definition: shbin.h:98
+
DVLE_s * DVLE
Contained DVLE.
Definition: shbin.h:101
+
Describes an instance of a full shader program.
Definition: shaderProgram.h:31
+
shaderInstance_s * vertexShader
Vertex shader.
Definition: shaderProgram.h:32
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2gpu_2geoshader_2source_2main_8c-example.html b/graphics_2gpu_2geoshader_2source_2main_8c-example.html new file mode 100644 index 000000000..9367a1d38 --- /dev/null +++ b/graphics_2gpu_2geoshader_2source_2main_8c-example.html @@ -0,0 +1,232 @@ + + + + + + + +libctru: graphics/gpu/geoshader/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/gpu/geoshader/source/main.c
+
+
+
#include <3ds.h>
+
#include <citro3d.h>
+
#include <string.h>
+
#include "program_shbin.h"
+
+
#define CLEAR_COLOR 0x68B0D8FF
+
+
#define DISPLAY_TRANSFER_FLAGS \
+
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
+
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
+
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
+
+
typedef struct { float position[3]; float color[4]; } vertex;
+
+
static const vertex vertex_list[] =
+
{
+
{ {200.0f, 200.0f, 0.5f}, {1.0f, 0.0f, 0.0f, 1.0f} },
+
{ {100.0f, 40.0f, 0.5f}, {0.0f, 1.0f, 0.0f, 1.0f} },
+
{ {300.0f, 40.0f, 0.5f}, {0.0f, 0.0f, 1.0f, 1.0f} },
+
};
+
+
#define vertex_list_count (sizeof(vertex_list)/sizeof(vertex_list[0]))
+
+
static DVLB_s* program_dvlb;
+
static shaderProgram_s program;
+
static int uLoc_projection;
+
static C3D_Mtx projection;
+
+
static void* vbo_data;
+
+
static void sceneInit(void)
+
{
+
// Load the shaders and create a shader program
+
// The geoshader stride is set to 6 so that it processes a triangle at a time
+
program_dvlb = DVLB_ParseFile((u32*)program_shbin, program_shbin_size);
+
shaderProgramInit(&program);
+
shaderProgramSetVsh(&program, &program_dvlb->DVLE[0]);
+
shaderProgramSetGsh(&program, &program_dvlb->DVLE[1], 6);
+
C3D_BindProgram(&program);
+
+
// Get the location of the projection matrix uniform
+
uLoc_projection = shaderInstanceGetUniformLocation(program.geometryShader, "projection");
+
+
// Configure attributes for use with the vertex shader
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0, GPU_FLOAT, 3); // v0=position
+
AttrInfo_AddLoader(attrInfo, 1, GPU_FLOAT, 4); // v1=color
+
+
// Compute the projection matrix
+
Mtx_OrthoTilt(&projection, 0.0, 400.0, 0.0, 240.0, 0.0, 1.0, true);
+
+
// Create the VBO (vertex buffer object)
+
vbo_data = linearAlloc(sizeof(vertex_list));
+
memcpy(vbo_data, vertex_list, sizeof(vertex_list));
+
+
// Configure buffers
+
C3D_BufInfo* bufInfo = C3D_GetBufInfo();
+
BufInfo_Init(bufInfo);
+
BufInfo_Add(bufInfo, vbo_data, sizeof(vertex), 2, 0x10);
+
+
// Configure the first fragment shading substage to just pass through the vertex color
+
// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
C3D_TexEnvInit(env);
+
C3D_TexEnvSrc(env, C3D_Both, GPU_PRIMARY_COLOR, 0, 0);
+
C3D_TexEnvFunc(env, C3D_Both, GPU_REPLACE);
+
}
+
+
static void sceneRender(void)
+
{
+
// Update the uniforms
+
C3D_FVUnifMtx4x4(GPU_GEOMETRY_SHADER, uLoc_projection, &projection);
+
+
// Draw the VBO - GPU_GEOMETRY_PRIM allows the geoshader to control primitive emission
+
C3D_DrawArrays(GPU_GEOMETRY_PRIM, 0, vertex_list_count);
+
}
+
+
static void sceneExit(void)
+
{
+
// Free the VBO
+
linearFree(vbo_data);
+
+
// Free the shader program
+
shaderProgramFree(&program);
+
DVLB_Free(program_dvlb);
+
}
+
+
int main()
+
{
+
// Initialize graphics
+ +
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
// Initialize the render target
+
C3D_RenderTarget* target = C3D_RenderTargetCreate(240, 400, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8);
+
C3D_RenderTargetSetOutput(target, GFX_TOP, GFX_LEFT, DISPLAY_TRANSFER_FLAGS);
+
+
// Initialize the scene
+
sceneInit();
+
+
// Main loop
+
while (aptMainLoop())
+
{
+ +
+
// Respond to user input
+
u32 kDown = hidKeysDown();
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
// Render the scene
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
C3D_RenderTargetClear(target, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_FrameDrawOn(target);
+
sceneRender();
+
C3D_FrameEnd(0);
+
}
+
+
// Deinitialize the scene
+
sceneExit();
+
+
// Deinitialize graphics
+
C3D_Fini();
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
@ GPU_REPLACE
Replace.
Definition: enums.h:365
+
@ GPU_GEOMETRY_SHADER
Geometry shader.
Definition: enums.h:504
+
@ GPU_RB_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: enums.h:150
+
@ GPU_FLOAT
32-bit float.
Definition: enums.h:299
+
@ GPU_PRIMARY_COLOR
Primary color.
Definition: enums.h:316
+
@ GPU_GEOMETRY_PRIM
Geometry shader primitive.
Definition: enums.h:497
+
@ GPU_RB_DEPTH24_STENCIL8
24-bit Depth + 8-bit Stencil
Definition: enums.h:162
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
@ KEY_START
Start.
Definition: hid.h:15
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
void * linearAlloc(size_t size)
Allocates a 0x80-byte aligned buffer.
+
void linearFree(void *mem)
Frees a buffer.
+
Result shaderProgramSetVsh(shaderProgram_s *sp, DVLE_s *dvle)
Sets the vertex shader of a shader program.
+
Result shaderProgramInit(shaderProgram_s *sp)
Initializes a shader program.
+
Result shaderProgramFree(shaderProgram_s *sp)
Frees a shader program.
+
Result shaderProgramSetGsh(shaderProgram_s *sp, DVLE_s *dvle, u8 stride)
Sets the geometry shader of a shader program.
+
s8 shaderInstanceGetUniformLocation(shaderInstance_s *si, const char *name)
Gets the location of a shader's uniform.
+
void DVLB_Free(DVLB_s *dvlb)
Frees shader binary data.
+
DVLB_s * DVLB_ParseFile(u32 *shbinData, u32 shbinSize)
Parses a shader binary.
+
DVLB data.
Definition: shbin.h:98
+
DVLE_s * DVLE
Contained DVLE.
Definition: shbin.h:101
+
Describes an instance of a full shader program.
Definition: shaderProgram.h:31
+
shaderInstance_s * geometryShader
Geometry shader.
Definition: shaderProgram.h:33
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2gpu_2gpusprites_2source_2main_8c-example.html b/graphics_2gpu_2gpusprites_2source_2main_8c-example.html new file mode 100644 index 000000000..4df0e303f --- /dev/null +++ b/graphics_2gpu_2gpusprites_2source_2main_8c-example.html @@ -0,0 +1,225 @@ + + + + + + + +libctru: graphics/gpu/gpusprites/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/gpu/gpusprites/source/main.c
+
+
+
// Simple citro2d sprite drawing example
+
// Images borrowed from:
+
// https://kenney.nl/assets/space-shooter-redux
+
#include <citro2d.h>
+
+
#include <assert.h>
+
#include <string.h>
+
#include <stdio.h>
+
#include <stdlib.h>
+
#include <time.h>
+
+
#define MAX_SPRITES 768
+
#define SCREEN_WIDTH 400
+
#define SCREEN_HEIGHT 240
+
+
// Simple sprite struct
+
typedef struct
+
{
+
C2D_Sprite spr;
+
float dx, dy; // velocity
+
} Sprite;
+
+
static C2D_SpriteSheet spriteSheet;
+
static Sprite sprites[MAX_SPRITES];
+
static size_t numSprites = MAX_SPRITES/2;
+
+
//---------------------------------------------------------------------------------
+
static void initSprites() {
+
//---------------------------------------------------------------------------------
+
size_t numImages = C2D_SpriteSheetCount(spriteSheet);
+
srand(time(NULL));
+
+
for (size_t i = 0; i < MAX_SPRITES; i++)
+
{
+
Sprite* sprite = &sprites[i];
+
+
// Random image, position, rotation and speed
+
C2D_SpriteFromSheet(&sprite->spr, spriteSheet, rand() % numImages);
+
C2D_SpriteSetCenter(&sprite->spr, 0.5f, 0.5f);
+
C2D_SpriteSetPos(&sprite->spr, rand() % SCREEN_WIDTH, rand() % SCREEN_HEIGHT);
+
C2D_SpriteSetRotation(&sprite->spr, C3D_Angle(rand()/(float)RAND_MAX));
+
sprite->dx = rand()*4.0f/RAND_MAX - 2.0f;
+
sprite->dy = rand()*4.0f/RAND_MAX - 2.0f;
+
}
+
}
+
+
//---------------------------------------------------------------------------------
+
static void moveSprites() {
+
//---------------------------------------------------------------------------------
+
for (size_t i = 0; i < numSprites; i++)
+
{
+
Sprite* sprite = &sprites[i];
+
C2D_SpriteMove(&sprite->spr, sprite->dx, sprite->dy);
+
C2D_SpriteRotateDegrees(&sprite->spr, 1.0f);
+
+
// Check for collision with the screen boundaries
+
if ((sprite->spr.params.pos.x < sprite->spr.params.pos.w / 2.0f && sprite->dx < 0.0f) ||
+
(sprite->spr.params.pos.x > (SCREEN_WIDTH-(sprite->spr.params.pos.w / 2.0f)) && sprite->dx > 0.0f))
+
sprite->dx = -sprite->dx;
+
+
if ((sprite->spr.params.pos.y < sprite->spr.params.pos.h / 2.0f && sprite->dy < 0.0f) ||
+
(sprite->spr.params.pos.y > (SCREEN_HEIGHT-(sprite->spr.params.pos.h / 2.0f)) && sprite->dy > 0.0f))
+
sprite->dy = -sprite->dy;
+
}
+
}
+
+
//---------------------------------------------------------------------------------
+
int main(int argc, char* argv[]) {
+
//---------------------------------------------------------------------------------
+
// Init libs
+ + +
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
C2D_Init(C2D_DEFAULT_MAX_OBJECTS);
+
C2D_Prepare();
+ +
+
// Create screens
+
C3D_RenderTarget* top = C2D_CreateScreenTarget(GFX_TOP, GFX_LEFT);
+
+
// Load graphics
+
spriteSheet = C2D_SpriteSheetLoad("romfs:/gfx/sprites.t3x");
+
if (!spriteSheet) svcBreak(USERBREAK_PANIC);
+
+
// Initialize sprites
+
initSprites();
+
+
printf("\x1b[8;1HPress Up to increment sprites");
+
printf("\x1b[9;1HPress Down to decrement sprites");
+
+
// Main loop
+
while (aptMainLoop())
+
{
+ +
+
// Respond to user input
+
u32 kDown = hidKeysDown();
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
u32 kHeld = hidKeysHeld();
+
if ((kHeld & KEY_UP) && numSprites < MAX_SPRITES)
+
numSprites++;
+
if ((kHeld & KEY_DOWN) && numSprites > 1)
+
numSprites--;
+
+
moveSprites();
+
+
printf("\x1b[1;1HSprites: %zu/%u\x1b[K", numSprites, MAX_SPRITES);
+
printf("\x1b[2;1HCPU: %6.2f%%\x1b[K", C3D_GetProcessingTime()*6.0f);
+
printf("\x1b[3;1HGPU: %6.2f%%\x1b[K", C3D_GetDrawingTime()*6.0f);
+
printf("\x1b[4;1HCmdBuf: %6.2f%%\x1b[K", C3D_GetCmdBufUsage()*100.0f);
+
+
// Render the scene
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
C2D_TargetClear(top, C2D_Color32f(0.0f, 0.0f, 0.0f, 1.0f));
+
C2D_SceneBegin(top);
+
for (size_t i = 0; i < numSprites; i ++)
+
C2D_DrawSprite(&sprites[i].spr);
+
C3D_FrameEnd(0);
+
}
+
+
// Delete graphics
+
C2D_SpriteSheetFree(spriteSheet);
+
+
// Deinit libs
+
C2D_Fini();
+
C3D_Fini();
+ + +
return 0;
+
}
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_BOTTOM
Bottom screen.
Definition: gfx.h:27
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
@ KEY_UP
D-Pad Up or Circle Pad Up.
Definition: hid.h:37
+
@ KEY_START
Start.
Definition: hid.h:15
+
@ KEY_DOWN
D-Pad Down or Circle Pad Down.
Definition: hid.h:38
+
u32 hidKeysHeld(void)
Returns a bitmask of held buttons.
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
static Result romfsInit(void)
Wrapper for romfsMountSelf with the default "romfs" device name.
Definition: romfs.h:84
+
static Result romfsExit(void)
Wrapper for romfsUnmount with the default "romfs" device name.
Definition: romfs.h:90
+
@ USERBREAK_PANIC
Panic.
Definition: svc.h:333
+
void svcBreak(UserBreakType breakReason)
Breaks execution.
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2gpu_2immediate_2source_2main_8c-example.html b/graphics_2gpu_2immediate_2source_2main_8c-example.html new file mode 100644 index 000000000..7f03d2e03 --- /dev/null +++ b/graphics_2gpu_2immediate_2source_2main_8c-example.html @@ -0,0 +1,212 @@ + + + + + + + +libctru: graphics/gpu/immediate/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/gpu/immediate/source/main.c
+
+
+
#include <3ds.h>
+
#include <citro3d.h>
+
#include <string.h>
+
#include "vshader_shbin.h"
+
+
#define CLEAR_COLOR 0x68B0D8FF
+
+
#define DISPLAY_TRANSFER_FLAGS \
+
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
+
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
+
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
+
+
static DVLB_s* vshader_dvlb;
+
static shaderProgram_s program;
+
static int uLoc_projection;
+
static C3D_Mtx projection;
+
+
static void sceneInit(void)
+
{
+
// Load the vertex shader, create a shader program and bind it
+
vshader_dvlb = DVLB_ParseFile((u32*)vshader_shbin, vshader_shbin_size);
+
shaderProgramInit(&program);
+
shaderProgramSetVsh(&program, &vshader_dvlb->DVLE[0]);
+
C3D_BindProgram(&program);
+
+
// Get the location of the uniforms
+
uLoc_projection = shaderInstanceGetUniformLocation(program.vertexShader, "projection");
+
+
// Configure attributes for use with the vertex shader
+
// Attribute format and element count are ignored in immediate mode
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0, GPU_FLOAT, 3); // v0=position
+
AttrInfo_AddLoader(attrInfo, 1, GPU_FLOAT, 3); // v1=color
+
+
// Compute the projection matrix
+
Mtx_OrthoTilt(&projection, 0.0, 400.0, 0.0, 240.0, 0.0, 1.0, true);
+
+
// Configure the first fragment shading substage to just pass through the vertex color
+
// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
C3D_TexEnvInit(env);
+
C3D_TexEnvSrc(env, C3D_Both, GPU_PRIMARY_COLOR, 0, 0);
+
C3D_TexEnvFunc(env, C3D_Both, GPU_REPLACE);
+
}
+
+
static void sceneRender(void)
+
{
+
// Update the uniforms
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_projection, &projection);
+
+
// Draw the triangle directly
+
C3D_ImmDrawBegin(GPU_TRIANGLES);
+
C3D_ImmSendAttrib(200.0f, 200.0f, 0.5f, 0.0f); // v0=position
+
C3D_ImmSendAttrib(1.0f, 0.0f, 0.0f, 1.0f); // v1=color
+
+
C3D_ImmSendAttrib(100.0f, 40.0f, 0.5f, 0.0f);
+
C3D_ImmSendAttrib(0.0f, 1.0f, 0.0f, 1.0f);
+
+
C3D_ImmSendAttrib(300.0f, 40.0f, 0.5f, 0.0f);
+
C3D_ImmSendAttrib(0.0f, 0.0f, 1.0f, 1.0f);
+
C3D_ImmDrawEnd();
+
}
+
+
static void sceneExit(void)
+
{
+
// Free the shader program
+
shaderProgramFree(&program);
+
DVLB_Free(vshader_dvlb);
+
}
+
+
int main()
+
{
+
// Initialize graphics
+ +
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
// Initialize the render target
+
C3D_RenderTarget* target = C3D_RenderTargetCreate(240, 400, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8);
+
C3D_RenderTargetSetOutput(target, GFX_TOP, GFX_LEFT, DISPLAY_TRANSFER_FLAGS);
+
+
// Initialize the scene
+
sceneInit();
+
+
// Main loop
+
while (aptMainLoop())
+
{
+ +
+
// Respond to user input
+
u32 kDown = hidKeysDown();
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
// Render the scene
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
C3D_RenderTargetClear(target, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_FrameDrawOn(target);
+
sceneRender();
+
C3D_FrameEnd(0);
+
}
+
+
// Deinitialize the scene
+
sceneExit();
+
+
// Deinitialize graphics
+
C3D_Fini();
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
@ GPU_REPLACE
Replace.
Definition: enums.h:365
+
@ GPU_VERTEX_SHADER
Vertex shader.
Definition: enums.h:503
+
@ GPU_RB_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: enums.h:150
+
@ GPU_FLOAT
32-bit float.
Definition: enums.h:299
+
@ GPU_PRIMARY_COLOR
Primary color.
Definition: enums.h:316
+
@ GPU_TRIANGLES
Triangles.
Definition: enums.h:494
+
@ GPU_RB_DEPTH24_STENCIL8
24-bit Depth + 8-bit Stencil
Definition: enums.h:162
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
@ KEY_START
Start.
Definition: hid.h:15
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
Result shaderProgramSetVsh(shaderProgram_s *sp, DVLE_s *dvle)
Sets the vertex shader of a shader program.
+
Result shaderProgramInit(shaderProgram_s *sp)
Initializes a shader program.
+
Result shaderProgramFree(shaderProgram_s *sp)
Frees a shader program.
+
s8 shaderInstanceGetUniformLocation(shaderInstance_s *si, const char *name)
Gets the location of a shader's uniform.
+
void DVLB_Free(DVLB_s *dvlb)
Frees shader binary data.
+
DVLB_s * DVLB_ParseFile(u32 *shbinData, u32 shbinSize)
Parses a shader binary.
+
DVLB data.
Definition: shbin.h:98
+
DVLE_s * DVLE
Contained DVLE.
Definition: shbin.h:101
+
Describes an instance of a full shader program.
Definition: shaderProgram.h:31
+
shaderInstance_s * vertexShader
Vertex shader.
Definition: shaderProgram.h:32
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2gpu_2lenny_2source_2main_8c-example.html b/graphics_2gpu_2lenny_2source_2main_8c-example.html new file mode 100644 index 000000000..3223b71ec --- /dev/null +++ b/graphics_2gpu_2lenny_2source_2main_8c-example.html @@ -0,0 +1,291 @@ + + + + + + + +libctru: graphics/gpu/lenny/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/gpu/lenny/source/main.c
+
+
+
#include <3ds.h>
+
#include <citro3d.h>
+
#include <string.h>
+
#include "vshader_shbin.h"
+
#include "lenny.h"
+
+
#define CLEAR_COLOR 0x68B0D8FF
+
+
#define DISPLAY_TRANSFER_FLAGS \
+
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
+
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
+
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
+
+
static DVLB_s* vshader_dvlb;
+
static shaderProgram_s program;
+
static int uLoc_projection, uLoc_modelView;
+
static C3D_Mtx projection;
+
+
static C3D_LightEnv lightEnv;
+
static C3D_Light light;
+
static C3D_LightLut lut_Spec;
+
+
static void* vbo_data;
+
static float angleX = 0.0, angleY = 0.0;
+
+
static void sceneInit(void)
+
{
+
// Load the vertex shader, create a shader program and bind it
+
vshader_dvlb = DVLB_ParseFile((u32*)vshader_shbin, vshader_shbin_size);
+
shaderProgramInit(&program);
+
shaderProgramSetVsh(&program, &vshader_dvlb->DVLE[0]);
+
C3D_BindProgram(&program);
+
+
// Get the location of the uniforms
+
uLoc_projection = shaderInstanceGetUniformLocation(program.vertexShader, "projection");
+
uLoc_modelView = shaderInstanceGetUniformLocation(program.vertexShader, "modelView");
+
+
// Configure attributes for use with the vertex shader
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0, GPU_FLOAT, 3); // v0=position
+
AttrInfo_AddLoader(attrInfo, 1, GPU_FLOAT, 3); // v1=normal
+
+
// Create the VBO (vertex buffer object)
+
vbo_data = linearAlloc(sizeof(vertex_list));
+
memcpy(vbo_data, vertex_list, sizeof(vertex_list));
+
+
// Configure buffers
+
C3D_BufInfo* bufInfo = C3D_GetBufInfo();
+
BufInfo_Init(bufInfo);
+
BufInfo_Add(bufInfo, vbo_data, sizeof(vertex), 2, 0x10);
+
+
// Configure the first fragment shading substage to blend the fragment primary color
+
// with the fragment secondary color.
+
// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
C3D_TexEnvInit(env);
+
C3D_TexEnvSrc(env, C3D_Both, GPU_FRAGMENT_PRIMARY_COLOR, GPU_FRAGMENT_SECONDARY_COLOR, 0);
+
C3D_TexEnvFunc(env, C3D_Both, GPU_ADD);
+
+
static const C3D_Material material =
+
{
+
{ 0.1f, 0.1f, 0.1f }, //ambient
+
{ 0.4f, 0.4f, 0.4f }, //diffuse
+
{ 0.5f, 0.5f, 0.5f }, //specular0
+
{ 0.0f, 0.0f, 0.0f }, //specular1
+
{ 0.0f, 0.0f, 0.0f }, //emission
+
};
+
+
C3D_LightEnvInit(&lightEnv);
+
C3D_LightEnvBind(&lightEnv);
+
C3D_LightEnvMaterial(&lightEnv, &material);
+
+
LightLut_Phong(&lut_Spec, 20.0f);
+
C3D_LightEnvLut(&lightEnv, GPU_LUT_D0, GPU_LUTINPUT_NH, false, &lut_Spec);
+
+
C3D_LightInit(&light, &lightEnv);
+
}
+
+
static void sceneRender(float iod)
+
{
+
// Compute the projection matrix
+
Mtx_PerspStereoTilt(&projection, C3D_AngleFromDegrees(40.0f), C3D_AspectRatioTop, 0.01f, 1000.0f, iod, 2.0f, false);
+
+
C3D_FVec objPos = FVec4_New(0.0f, 0.0f, -3.0f, 1.0f);
+
C3D_FVec lightPos = FVec4_New(0.0f, 0.0f, -0.5f, 1.0f);
+
+
// Calculate the modelView matrix
+
C3D_Mtx modelView;
+
Mtx_Identity(&modelView);
+
Mtx_Translate(&modelView, objPos.x, objPos.y, objPos.z, true);
+
Mtx_RotateY(&modelView, C3D_Angle(angleY), true);
+
Mtx_Scale(&modelView, 2.0f, 2.0f, 2.0f);
+
+
C3D_LightPosition(&light, &lightPos);
+
+
// Update the uniforms
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_projection, &projection);
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_modelView, &modelView);
+
+
// Draw the VBO
+
C3D_DrawArrays(GPU_TRIANGLES, 0, vertex_list_count);
+
}
+
+
static void sceneExit(void)
+
{
+
// Free the VBO
+
linearFree(vbo_data);
+
+
// Free the shader program
+
shaderProgramFree(&program);
+
DVLB_Free(vshader_dvlb);
+
}
+
+
int main()
+
{
+
// Initialize graphics
+ +
gfxSet3D(true); // Enable stereoscopic 3D
+ +
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
// Initialize the render targets
+
C3D_RenderTarget* targetLeft = C3D_RenderTargetCreate(240, 400, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8);
+
C3D_RenderTarget* targetRight = C3D_RenderTargetCreate(240, 400, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8);
+
C3D_RenderTargetSetOutput(targetLeft, GFX_TOP, GFX_LEFT, DISPLAY_TRANSFER_FLAGS);
+
C3D_RenderTargetSetOutput(targetRight, GFX_TOP, GFX_RIGHT, DISPLAY_TRANSFER_FLAGS);
+
+
// Initialize the scene
+
sceneInit();
+
+
// Main loop
+
while (aptMainLoop())
+
{
+ +
+
// Respond to user input
+
u32 kDown = hidKeysDown();
+
u32 kHeld = hidKeysHeld();
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
float slider = osGet3DSliderState();
+
float iod = slider/3;
+
+
// Rotate the model
+
if (!(kHeld & KEY_A))
+
{
+
angleX += 1.0f/64;
+
angleY += 1.0f/256;
+
}
+
+
// Render the scene
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
{
+
C3D_RenderTargetClear(targetLeft, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_FrameDrawOn(targetLeft);
+
sceneRender(-iod);
+
+
if (iod > 0.0f)
+
{
+
C3D_RenderTargetClear(targetRight, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_FrameDrawOn(targetRight);
+
sceneRender(iod);
+
}
+
}
+
C3D_FrameEnd(0);
+
}
+
+
// Deinitialize the scene
+
sceneExit();
+
+
// Deinitialize graphics
+
C3D_Fini();
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
@ GPU_ADD
Add.
Definition: enums.h:367
+
@ GPU_VERTEX_SHADER
Vertex shader.
Definition: enums.h:503
+
@ GPU_RB_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: enums.h:150
+
@ GPU_LUT_D0
D0 LUT.
Definition: enums.h:429
+
@ GPU_FLOAT
32-bit float.
Definition: enums.h:299
+
@ GPU_FRAGMENT_PRIMARY_COLOR
Primary fragment color.
Definition: enums.h:317
+
@ GPU_FRAGMENT_SECONDARY_COLOR
Secondary fragment color.
Definition: enums.h:318
+
@ GPU_TRIANGLES
Triangles.
Definition: enums.h:494
+
@ GPU_RB_DEPTH24_STENCIL8
24-bit Depth + 8-bit Stencil
Definition: enums.h:162
+
@ GPU_LUTINPUT_NH
Normal*HalfVector.
Definition: enums.h:442
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_BOTTOM
Bottom screen.
Definition: gfx.h:27
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxSet3D(bool enable)
Enables or disables the 3D stereoscopic effect on the top screen.
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
@ GFX_RIGHT
Right eye framebuffer.
Definition: gfx.h:38
+
@ KEY_START
Start.
Definition: hid.h:15
+
@ KEY_A
A.
Definition: hid.h:12
+
u32 hidKeysHeld(void)
Returns a bitmask of held buttons.
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
void * linearAlloc(size_t size)
Allocates a 0x80-byte aligned buffer.
+
void linearFree(void *mem)
Frees a buffer.
+
static float osGet3DSliderState(void)
Gets the state of the 3D slider.
Definition: os.h:313
+
Result shaderProgramSetVsh(shaderProgram_s *sp, DVLE_s *dvle)
Sets the vertex shader of a shader program.
+
Result shaderProgramInit(shaderProgram_s *sp)
Initializes a shader program.
+
Result shaderProgramFree(shaderProgram_s *sp)
Frees a shader program.
+
s8 shaderInstanceGetUniformLocation(shaderInstance_s *si, const char *name)
Gets the location of a shader's uniform.
+
void DVLB_Free(DVLB_s *dvlb)
Frees shader binary data.
+
DVLB_s * DVLB_ParseFile(u32 *shbinData, u32 shbinSize)
Parses a shader binary.
+
DVLB data.
Definition: shbin.h:98
+
DVLE_s * DVLE
Contained DVLE.
Definition: shbin.h:101
+
Describes an instance of a full shader program.
Definition: shaderProgram.h:31
+
shaderInstance_s * vertexShader
Vertex shader.
Definition: shaderProgram.h:32
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2gpu_2loop_subdivision_2source_2main_8c-example.html b/graphics_2gpu_2loop_subdivision_2source_2main_8c-example.html new file mode 100644 index 000000000..cc7253f1e --- /dev/null +++ b/graphics_2gpu_2loop_subdivision_2source_2main_8c-example.html @@ -0,0 +1,283 @@ + + + + + + + +libctru: graphics/gpu/loop_subdivision/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/gpu/loop_subdivision/source/main.c
+
+
+
#include <3ds.h>
+
#include <citro3d.h>
+
#include <string.h>
+
#include "program_shbin.h"
+
#include "texture_bin.h"
+
+
#define CLEAR_COLOR 0x68B0D8FF
+
+
#define DISPLAY_TRANSFER_FLAGS \
+
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
+
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
+
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
+
+
typedef struct { float position[3]; float texcoord[2]; u8 valence[4]; } vertex;
+
#define FACE(x,y,z,u,v,_val) \
+
{ {(x), (y), (z)}, {(u), (v)}, {(_val),0,0,0} }
+
+
#include "model.obj.h"
+
#define vertex_list_count (sizeof(vertex_list)/sizeof(vertex_list[0]))
+
#define index_list_count (sizeof(index_list) /sizeof(index_list[0]))
+
+
static DVLB_s* program_dvlb;
+
static shaderProgram_s program;
+
static int uLoc_projection, uLoc_modelView;
+
static int uLoc_passes;
+
static C3D_Mtx projection;
+
static C3D_Tex texture;
+
+
static void* vbo_data;
+
static void* index_data;
+
static float angleX = 0.0, angleY = 0.0;
+
static int sub_level = 1;
+
+
static void sceneInit(void)
+
{
+
// Load the shaders and create a shader program
+
program_dvlb = DVLB_ParseFile((u32*)program_shbin, program_shbin_size);
+
shaderProgramInit(&program);
+
shaderProgramSetVsh(&program, &program_dvlb->DVLE[0]);
+
shaderProgramSetGsh(&program, &program_dvlb->DVLE[1], 0);
+
C3D_BindProgram(&program);
+
+
// Get the location of the uniforms
+
uLoc_projection = shaderInstanceGetUniformLocation(program.vertexShader, "projection");
+
uLoc_modelView = shaderInstanceGetUniformLocation(program.vertexShader, "modelView");
+
uLoc_passes = shaderInstanceGetUniformLocation(program.geometryShader, "passes");
+
+
// Configure attributes for use with the vertex shader
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0, GPU_FLOAT, 3); // v0=position
+
AttrInfo_AddLoader(attrInfo, 1, GPU_FLOAT, 2); // v1=texcoord
+
AttrInfo_AddLoader(attrInfo, 2, GPU_UNSIGNED_BYTE, 4); // v2=valence
+
+
// Compute the projection matrix
+
Mtx_PerspTilt(&projection, 80.0f*M_PI/180.0f, 400.0f/240.0f, 0.01f, 1000.0f, false);
+
+
// Create the VBO (vertex buffer object)
+
vbo_data = linearAlloc(sizeof(vertex_list));
+
memcpy(vbo_data, vertex_list, sizeof(vertex_list));
+
index_data = linearAlloc(sizeof(index_list));
+
memcpy(index_data, index_list, sizeof(index_list));
+
+
// Configure buffers
+
C3D_BufInfo* bufInfo = C3D_GetBufInfo();
+
BufInfo_Init(bufInfo);
+
BufInfo_Add(bufInfo, vbo_data, sizeof(vertex), 3, 0x210);
+
+
// Configure texture
+
// Load the texture and bind it to the first texture unit
+
C3D_TexInit(&texture, 32, 32, GPU_RGBA8);
+
C3D_TexUpload(&texture, texture_bin);
+
C3D_TexSetFilter(&texture, GPU_LINEAR, GPU_NEAREST);
+
C3D_TexSetWrap(&texture, GPU_REPEAT, GPU_REPEAT);
+
C3D_TexBind(0, &texture);
+
+
// Configure the first fragment shading substage to just pass through the vertex color
+
// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
C3D_TexEnvInit(env);
+
C3D_TexEnvSrc(env, C3D_Both, GPU_TEXTURE0, 0, 0);
+
C3D_TexEnvFunc(env, C3D_Both, GPU_REPLACE);
+
}
+
+
static void sceneRender(void)
+
{
+
// Calculate the modelView matrix
+
C3D_Mtx modelView;
+
Mtx_Identity(&modelView);
+
Mtx_Translate(&modelView, 0.0, -1.25, -2.5 - angleX, true);
+
Mtx_RotateX(&modelView, angleX, true);
+
Mtx_RotateY(&modelView, angleY, true);
+
+
// Rotate the object each frame
+
angleY += M_TAU / 360;
+
angleX = (M_TAU / 8) * sinf(angleY);
+
+
// Update the uniforms
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_projection, &projection);
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_modelView, &modelView);
+
C3D_FVUnifSet (GPU_GEOMETRY_SHADER, uLoc_passes, sub_level, 0, 0, 0);
+
+
// Draw the VBO
+
C3D_DrawElements(GPU_GEOMETRY_PRIM, index_list_count, C3D_UNSIGNED_SHORT, index_data);
+
}
+
+
static void sceneExit(void)
+
{
+
// Free the texture
+
C3D_TexDelete(&texture);
+
+
// Free the VBO
+
linearFree(vbo_data);
+
linearFree(index_data);
+
+
// Free the shader program
+
shaderProgramFree(&program);
+
DVLB_Free(program_dvlb);
+
}
+
+
int main()
+
{
+
// Initialize graphics
+ +
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
// Initialize the render target
+
C3D_RenderTarget* target = C3D_RenderTargetCreate(240, 400, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8);
+
C3D_RenderTargetSetOutput(target, GFX_TOP, GFX_LEFT, DISPLAY_TRANSFER_FLAGS);
+
+
// Initialize the scene
+
sceneInit();
+
+
// Main loop
+
while (aptMainLoop())
+
{
+ +
+
// Respond to user input
+
u32 kDown = hidKeysDown();
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
if (kDown & KEY_UP)
+
sub_level++;
+
else if (kDown & KEY_DOWN)
+
sub_level--;
+
if (sub_level < 0)
+
sub_level = 0;
+
else if (sub_level > 2)
+
sub_level = 2;
+
+
// Render the scene
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
C3D_RenderTargetClear(target, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_FrameDrawOn(target);
+
sceneRender();
+
C3D_FrameEnd(0);
+
}
+
+
// Deinitialize the scene
+
sceneExit();
+
+
// Deinitialize graphics
+
C3D_Fini();
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
@ GPU_REPLACE
Replace.
Definition: enums.h:365
+
@ GPU_GEOMETRY_SHADER
Geometry shader.
Definition: enums.h:504
+
@ GPU_VERTEX_SHADER
Vertex shader.
Definition: enums.h:503
+
@ GPU_RB_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: enums.h:150
+
@ GPU_LINEAR
Linear interpolation.
Definition: enums.h:31
+
@ GPU_NEAREST
Nearest-neighbor interpolation.
Definition: enums.h:30
+
@ GPU_UNSIGNED_BYTE
8-bit unsigned byte.
Definition: enums.h:297
+
@ GPU_FLOAT
32-bit float.
Definition: enums.h:299
+
@ GPU_TEXTURE0
Texture unit 0.
Definition: enums.h:319
+
@ GPU_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: enums.h:65
+
@ GPU_GEOMETRY_PRIM
Geometry shader primitive.
Definition: enums.h:497
+
@ GPU_RB_DEPTH24_STENCIL8
24-bit Depth + 8-bit Stencil
Definition: enums.h:162
+
@ GPU_REPEAT
Repeats texture.
Definition: enums.h:39
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
@ KEY_UP
D-Pad Up or Circle Pad Up.
Definition: hid.h:37
+
@ KEY_START
Start.
Definition: hid.h:15
+
@ KEY_DOWN
D-Pad Down or Circle Pad Down.
Definition: hid.h:38
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
void * linearAlloc(size_t size)
Allocates a 0x80-byte aligned buffer.
+
void linearFree(void *mem)
Frees a buffer.
+
Result shaderProgramSetVsh(shaderProgram_s *sp, DVLE_s *dvle)
Sets the vertex shader of a shader program.
+
Result shaderProgramInit(shaderProgram_s *sp)
Initializes a shader program.
+
Result shaderProgramFree(shaderProgram_s *sp)
Frees a shader program.
+
Result shaderProgramSetGsh(shaderProgram_s *sp, DVLE_s *dvle, u8 stride)
Sets the geometry shader of a shader program.
+
s8 shaderInstanceGetUniformLocation(shaderInstance_s *si, const char *name)
Gets the location of a shader's uniform.
+
void DVLB_Free(DVLB_s *dvlb)
Frees shader binary data.
+
DVLB_s * DVLB_ParseFile(u32 *shbinData, u32 shbinSize)
Parses a shader binary.
+
DVLB data.
Definition: shbin.h:98
+
DVLE_s * DVLE
Contained DVLE.
Definition: shbin.h:101
+
Describes an instance of a full shader program.
Definition: shaderProgram.h:31
+
shaderInstance_s * vertexShader
Vertex shader.
Definition: shaderProgram.h:32
+
shaderInstance_s * geometryShader
Geometry shader.
Definition: shaderProgram.h:33
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2gpu_2mipmap_fog_2source_2main_8c-example.html b/graphics_2gpu_2mipmap_fog_2source_2main_8c-example.html new file mode 100644 index 000000000..6d27df9fe --- /dev/null +++ b/graphics_2gpu_2mipmap_fog_2source_2main_8c-example.html @@ -0,0 +1,345 @@ + + + + + + + +libctru: graphics/gpu/mipmap_fog/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/gpu/mipmap_fog/source/main.c
+
+
+
#include <3ds.h>
+
#include <citro3d.h>
+
#include <tex3ds.h>
+
#include <string.h>
+
#include "vshader_shbin.h"
+
#include "kitten_t3x.h"
+
+
#define CLEAR_COLOR 0x68B0D8FF
+
+
#define DISPLAY_TRANSFER_FLAGS \
+
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
+
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
+
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
+
+
typedef struct { float position[3]; float texcoord[2]; float normal[3]; } vertex;
+
+
static const vertex vertex_list[] =
+
{
+
// First face (PZ)
+
// First triangle
+
{ {-0.5f, -0.5f, +0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, +1.0f} },
+
{ {+0.5f, -0.5f, +0.5f}, {1.0f, 0.0f}, {0.0f, 0.0f, +1.0f} },
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, +1.0f} },
+
// Second triangle
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, +1.0f} },
+
{ {-0.5f, +0.5f, +0.5f}, {0.0f, 1.0f}, {0.0f, 0.0f, +1.0f} },
+
{ {-0.5f, -0.5f, +0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, +1.0f} },
+
+
// Second face (MZ)
+
// First triangle
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, -1.0f} },
+
{ {-0.5f, +0.5f, -0.5f}, {1.0f, 0.0f}, {0.0f, 0.0f, -1.0f} },
+
{ {+0.5f, +0.5f, -0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, -1.0f} },
+
// Second triangle
+
{ {+0.5f, +0.5f, -0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, -1.0f} },
+
{ {+0.5f, -0.5f, -0.5f}, {0.0f, 1.0f}, {0.0f, 0.0f, -1.0f} },
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, -1.0f} },
+
+
// Third face (PX)
+
// First triangle
+
{ {+0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {+1.0f, 0.0f, 0.0f} },
+
{ {+0.5f, +0.5f, -0.5f}, {1.0f, 0.0f}, {+1.0f, 0.0f, 0.0f} },
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {+1.0f, 0.0f, 0.0f} },
+
// Second triangle
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {+1.0f, 0.0f, 0.0f} },
+
{ {+0.5f, -0.5f, +0.5f}, {0.0f, 1.0f}, {+1.0f, 0.0f, 0.0f} },
+
{ {+0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {+1.0f, 0.0f, 0.0f} },
+
+
// Fourth face (MX)
+
// First triangle
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {-1.0f, 0.0f, 0.0f} },
+
{ {-0.5f, -0.5f, +0.5f}, {1.0f, 0.0f}, {-1.0f, 0.0f, 0.0f} },
+
{ {-0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {-1.0f, 0.0f, 0.0f} },
+
// Second triangle
+
{ {-0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {-1.0f, 0.0f, 0.0f} },
+
{ {-0.5f, +0.5f, -0.5f}, {0.0f, 1.0f}, {-1.0f, 0.0f, 0.0f} },
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {-1.0f, 0.0f, 0.0f} },
+
+
// Fifth face (PY)
+
// First triangle
+
{ {-0.5f, +0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, +1.0f, 0.0f} },
+
{ {-0.5f, +0.5f, +0.5f}, {1.0f, 0.0f}, {0.0f, +1.0f, 0.0f} },
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, +1.0f, 0.0f} },
+
// Second triangle
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, +1.0f, 0.0f} },
+
{ {+0.5f, +0.5f, -0.5f}, {0.0f, 1.0f}, {0.0f, +1.0f, 0.0f} },
+
{ {-0.5f, +0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, +1.0f, 0.0f} },
+
+
// Sixth face (MY)
+
// First triangle
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, -1.0f, 0.0f} },
+
{ {+0.5f, -0.5f, -0.5f}, {1.0f, 0.0f}, {0.0f, -1.0f, 0.0f} },
+
{ {+0.5f, -0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, -1.0f, 0.0f} },
+
// Second triangle
+
{ {+0.5f, -0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, -1.0f, 0.0f} },
+
{ {-0.5f, -0.5f, +0.5f}, {0.0f, 1.0f}, {0.0f, -1.0f, 0.0f} },
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, -1.0f, 0.0f} },
+
};
+
+
#define vertex_list_count (sizeof(vertex_list)/sizeof(vertex_list[0]))
+
+
static DVLB_s* vshader_dvlb;
+
static shaderProgram_s program;
+
static int uLoc_projection, uLoc_modelView;
+
static int uLoc_lightVec, uLoc_lightHalfVec, uLoc_lightClr, uLoc_material;
+
static C3D_Mtx projection;
+
static C3D_Mtx material =
+
{
+
{
+
{ { 0.0f, 0.2f, 0.2f, 0.2f } }, // Ambient
+
{ { 0.0f, 0.4f, 0.4f, 0.4f } }, // Diffuse
+
{ { 0.0f, 0.8f, 0.8f, 0.8f } }, // Specular
+
{ { 1.0f, 0.0f, 0.0f, 0.0f } }, // Emission
+
}
+
};
+
+
static void* vbo_data;
+
static C3D_Tex logo_tex;
+
static C3D_FogLut fog_Lut;
+
static float angleX = 0.0, angleY = 0.0;
+
+
static void sceneInit(void)
+
{
+
// Load the vertex shader, create a shader program and bind it
+
vshader_dvlb = DVLB_ParseFile((u32*)vshader_shbin, vshader_shbin_size);
+
shaderProgramInit(&program);
+
shaderProgramSetVsh(&program, &vshader_dvlb->DVLE[0]);
+
C3D_BindProgram(&program);
+
+
// Get the location of the uniforms
+
uLoc_projection = shaderInstanceGetUniformLocation(program.vertexShader, "projection");
+
uLoc_modelView = shaderInstanceGetUniformLocation(program.vertexShader, "modelView");
+
uLoc_lightVec = shaderInstanceGetUniformLocation(program.vertexShader, "lightVec");
+
uLoc_lightHalfVec = shaderInstanceGetUniformLocation(program.vertexShader, "lightHalfVec");
+
uLoc_lightClr = shaderInstanceGetUniformLocation(program.vertexShader, "lightClr");
+
uLoc_material = shaderInstanceGetUniformLocation(program.vertexShader, "material");
+
+
// Configure attributes for use with the vertex shader
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0, GPU_FLOAT, 3); // v0=position
+
AttrInfo_AddLoader(attrInfo, 1, GPU_FLOAT, 2); // v1=texcoord
+
AttrInfo_AddLoader(attrInfo, 2, GPU_FLOAT, 3); // v2=normal
+
+
// Compute the projection matrix
+
Mtx_PerspTilt(&projection, C3D_AngleFromDegrees(80.0f), C3D_AspectRatioTop, 0.01f, 20.0f, false);
+
+
// Create the VBO (vertex buffer object)
+
vbo_data = linearAlloc(sizeof(vertex_list));
+
memcpy(vbo_data, vertex_list, sizeof(vertex_list));
+
+
// Configure buffers
+
C3D_BufInfo* bufInfo = C3D_GetBufInfo();
+
BufInfo_Init(bufInfo);
+
BufInfo_Add(bufInfo, vbo_data, sizeof(vertex), 3, 0x210);
+
+
// Load the texture and bind it to the first texture unit
+
Tex3DS_TextureImport(kitten_t3x, kitten_t3x_size, &logo_tex, NULL, false);
+
C3D_TexSetFilter(&logo_tex, GPU_LINEAR, GPU_NEAREST);
+
C3D_TexSetFilterMipmap(&logo_tex, GPU_LINEAR);
+
C3D_TexBind(0, &logo_tex);
+
+
// Configure the first fragment shading substage to blend the texture color with
+
// the vertex color (calculated by the vertex shader using a lighting algorithm)
+
// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
C3D_TexEnvInit(env);
+
C3D_TexEnvSrc(env, C3D_Both, GPU_TEXTURE0, GPU_PRIMARY_COLOR, 0);
+
C3D_TexEnvFunc(env, C3D_Both, GPU_MODULATE);
+
+
FogLut_Exp(&fog_Lut, 0.05f, 1.5f, 0.01f, 20.0f);
+
C3D_FogGasMode(GPU_FOG, GPU_PLAIN_DENSITY, false);
+
C3D_FogColor(0xD8B068);
+
C3D_FogLutBind(&fog_Lut);
+
}
+
+
static void sceneRender(void)
+
{
+
// Calculate the modelView matrix
+
C3D_Mtx modelView;
+
Mtx_Identity(&modelView);
+
Mtx_Translate(&modelView, 0.0, 0.0, -5.0 + 4.0*sinf(angleX), true);
+
Mtx_RotateX(&modelView, angleX, true);
+
Mtx_RotateY(&modelView, angleY, true);
+
+
// Rotate the cube each frame
+
angleX += M_PI / 180;
+
angleY += M_PI / 360;
+
+
// Update the uniforms
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_projection, &projection);
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_modelView, &modelView);
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_material, &material);
+
C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightVec, 0.0f, 0.0f, -1.0f, 0.0f);
+
C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightHalfVec, 0.0f, 0.0f, -1.0f, 0.0f);
+
C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightClr, 1.0f, 1.0f, 1.0f, 1.0f);
+
+
// Draw the VBO
+
C3D_DrawArrays(GPU_TRIANGLES, 0, vertex_list_count);
+
}
+
+
static void sceneExit(void)
+
{
+
// Free the texture
+
C3D_TexDelete(&logo_tex);
+
+
// Free the VBO
+
linearFree(vbo_data);
+
+
// Free the shader program
+
shaderProgramFree(&program);
+
DVLB_Free(vshader_dvlb);
+
}
+
+
int main()
+
{
+
// Initialize graphics
+ + +
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
// Initialize the render target
+
C3D_RenderTarget* target = C3D_RenderTargetCreate(240, 400, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8);
+
C3D_RenderTargetSetOutput(target, GFX_TOP, GFX_LEFT, DISPLAY_TRANSFER_FLAGS);
+
+
// Initialize the scene
+
sceneInit();
+
+
// Main loop
+
while (aptMainLoop())
+
{
+ +
+
// Respond to user input
+
u32 kDown = hidKeysDown();
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
// Render the scene
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
C3D_RenderTargetClear(target, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_FrameDrawOn(target);
+
sceneRender();
+
C3D_FrameEnd(0);
+
}
+
+
// Deinitialize the scene
+
sceneExit();
+
+
// Deinitialize graphics
+
C3D_Fini();
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
@ GPU_MODULATE
Modulate.
Definition: enums.h:366
+
@ GPU_VERTEX_SHADER
Vertex shader.
Definition: enums.h:503
+
@ GPU_RB_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: enums.h:150
+
@ GPU_FOG
Fog/Gas unit configured in Fog mode.
Definition: enums.h:473
+
@ GPU_LINEAR
Linear interpolation.
Definition: enums.h:31
+
@ GPU_NEAREST
Nearest-neighbor interpolation.
Definition: enums.h:30
+
@ GPU_FLOAT
32-bit float.
Definition: enums.h:299
+
@ GPU_PRIMARY_COLOR
Primary color.
Definition: enums.h:316
+
@ GPU_TEXTURE0
Texture unit 0.
Definition: enums.h:319
+
@ GPU_TRIANGLES
Triangles.
Definition: enums.h:494
+
@ GPU_RB_DEPTH24_STENCIL8
24-bit Depth + 8-bit Stencil
Definition: enums.h:162
+
@ GPU_PLAIN_DENSITY
Plain density.
Definition: enums.h:480
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_BOTTOM
Bottom screen.
Definition: gfx.h:27
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
@ KEY_START
Start.
Definition: hid.h:15
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
void * linearAlloc(size_t size)
Allocates a 0x80-byte aligned buffer.
+
void linearFree(void *mem)
Frees a buffer.
+
Result shaderProgramSetVsh(shaderProgram_s *sp, DVLE_s *dvle)
Sets the vertex shader of a shader program.
+
Result shaderProgramInit(shaderProgram_s *sp)
Initializes a shader program.
+
Result shaderProgramFree(shaderProgram_s *sp)
Frees a shader program.
+
s8 shaderInstanceGetUniformLocation(shaderInstance_s *si, const char *name)
Gets the location of a shader's uniform.
+
void DVLB_Free(DVLB_s *dvlb)
Frees shader binary data.
+
DVLB_s * DVLB_ParseFile(u32 *shbinData, u32 shbinSize)
Parses a shader binary.
+
DVLB data.
Definition: shbin.h:98
+
DVLE_s * DVLE
Contained DVLE.
Definition: shbin.h:101
+
Describes an instance of a full shader program.
Definition: shaderProgram.h:31
+
shaderInstance_s * vertexShader
Vertex shader.
Definition: shaderProgram.h:32
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2gpu_2particles_2source_2main_8c-example.html b/graphics_2gpu_2particles_2source_2main_8c-example.html new file mode 100644 index 000000000..74b2e66b9 --- /dev/null +++ b/graphics_2gpu_2particles_2source_2main_8c-example.html @@ -0,0 +1,380 @@ + + + + + + + +libctru: graphics/gpu/particles/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/gpu/particles/source/main.c
+
+
+
#include <3ds.h>
+
#include <citro3d.h>
+
#include <stdio.h>
+
#include <string.h>
+
#include "particle_shbin.h"
+
+
#define CLEAR_COLOR 0
+
+
#define DISPLAY_TRANSFER_FLAGS \
+
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
+
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
+
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
+
+
typedef struct { float center[3]; float radius[3]; float attrib[4]; } controlPoint;
+
+
static const controlPoint point_list[] =
+
{
+
{ { -1.0f, 0.0f, -2.0f }, { 0.0f, 0.0f, 0.0f }, { 3*8/240.0f, 3*8/400.0f, 0.0f, 1.0f } },
+
{ { -0.3f, +1.5f, -4.0f }, { 0.0f, 0.1f, 0.1f }, { 3*12/240.0f, 3*12/400.0f, 0.0f, 1.0f } },
+
{ { +0.3f, -1.5f, -4.0f }, { 0.1f, 0.3f, 0.3f }, { 3*16/240.0f, 3*16/400.0f, 0.0f, 0.8f } },
+
{ { +1.0f, 0.0f, -2.0f }, { 0.2f, 0.5f, 0.5f }, { 3*32/240.0f, 3*32/400.0f, 0.0f, 0.0f } },
+
};
+
+
static const u8 point_index_list[] = { 0, 1, 2, 3 };
+
+
#define point_index_count (sizeof(point_index_list)/sizeof(point_index_list[0]))
+
+
static DVLB_s* particle_dvlb;
+
static shaderProgram_s program;
+
static int uLoc_projection, uLoc_modelView;
+
static int uLoc_gsh_param, uLoc_gsh_randParam, uLoc_gsh_randSeed, uLoc_gsh_uvCoords;
+
static int uLoc_gsh_multiplyW, uLoc_gsh_randSphere, uLoc_gsh_noRespawn;
+
static C3D_Mtx projection, modelView;
+
static float curTime = 0.0f;
+
static bool multiplyW = true, randSphere = true, noRespawn = false, additiveBlend = true;
+
+
static void* vbo_data;
+
static void* ibo_data;
+
+
static C3D_ProcTex pt;
+
static C3D_ProcTexLut pt_map;
+
static C3D_ProcTexLut pt_noise;
+
static C3D_ProcTexColorLut pt_clr;
+
+
static void setupProcTex(void)
+
{
+
#define NUMCOLORS 2
+
C3D_ProcTexInit(&pt, 0, NUMCOLORS);
+ +
C3D_ProcTexNoiseCoefs(&pt, C3D_ProcTex_UV, 0.1f, 0.5f, 0.1f);
+
C3D_ProcTexCombiner(&pt, false, GPU_PT_SQRT2, GPU_PT_SQRT2);
+
C3D_ProcTexFilter(&pt, GPU_PT_LINEAR);
+
C3D_ProcTexBind(0, &pt);
+
+
float data[129];
+
int i;
+
for (i = 0; i <= 128; i ++)
+
{
+
float x = i/128.0f;
+
data[i] = x;
+
}
+
ProcTexLut_FromArray(&pt_map, data);
+
C3D_ProcTexLutBind(GPU_LUT_RGBMAP, &pt_map);
+
+
// Noise smooth step equation
+
for (i = 0; i <= 128; i ++)
+
{
+
float x = i/128.0f;
+
data[i] = x*x*(3-2*x);
+
}
+
ProcTexLut_FromArray(&pt_noise, data);
+
C3D_ProcTexLutBind(GPU_LUT_NOISE, &pt_noise);
+
+
u32 colors[NUMCOLORS];
+
colors[0] = 0xFFBABABA;
+
colors[1] = 0x00888888;
+
+
ProcTexColorLut_Write(&pt_clr, colors, 0, NUMCOLORS);
+
C3D_ProcTexColorLutBind(&pt_clr);
+
}
+
+
static void sceneInit(void)
+
{
+
// Load the vertex shader, create a shader program and bind it
+
particle_dvlb = DVLB_ParseFile((u32*)particle_shbin, particle_shbin_size);
+
shaderProgramInit(&program);
+
shaderProgramSetVsh(&program, &particle_dvlb->DVLE[0]);
+
shaderProgramSetGsh(&program, &particle_dvlb->DVLE[1], 0);
+
C3D_BindProgram(&program);
+
+
// Get the location of the uniforms
+
uLoc_projection = shaderInstanceGetUniformLocation(program.vertexShader, "projection");
+
uLoc_modelView = shaderInstanceGetUniformLocation(program.vertexShader, "modelView");
+
uLoc_gsh_param = shaderInstanceGetUniformLocation(program.geometryShader, "param");
+
uLoc_gsh_randParam = shaderInstanceGetUniformLocation(program.geometryShader, "randParam");
+
uLoc_gsh_randSeed = shaderInstanceGetUniformLocation(program.geometryShader, "randSeed");
+
uLoc_gsh_uvCoords = shaderInstanceGetUniformLocation(program.geometryShader, "uvCoords");
+
uLoc_gsh_multiplyW = shaderInstanceGetUniformLocation(program.geometryShader, "multiplyW");
+
uLoc_gsh_randSphere = shaderInstanceGetUniformLocation(program.geometryShader, "randSphere");
+
uLoc_gsh_noRespawn = shaderInstanceGetUniformLocation(program.geometryShader, "noRespawn");
+
+
// Configure attributes for use with the vertex shader
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0, GPU_FLOAT, 3); // v0=center
+
AttrInfo_AddLoader(attrInfo, 1, GPU_FLOAT, 3); // v1=radius
+
AttrInfo_AddLoader(attrInfo, 2, GPU_FLOAT, 4); // v2=attrib
+
+
// Create the VBO (vertex buffer object)
+
vbo_data = linearAlloc(sizeof(point_list));
+
memcpy(vbo_data, point_list, sizeof(point_list));
+
ibo_data = linearAlloc(sizeof(point_index_list));
+
memcpy(ibo_data, point_index_list, sizeof(point_index_list));
+
+
// Configure buffers
+
C3D_BufInfo* bufInfo = C3D_GetBufInfo();
+
BufInfo_Init(bufInfo);
+
BufInfo_Add(bufInfo, vbo_data, sizeof(controlPoint), 3, 0x210);
+
+
// Configure the first fragment shading substage to just pass through the proctex color
+
// and blend the alpha coming from proctex and the vertex color
+
// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
C3D_TexEnvInit(env);
+
C3D_TexEnvSrc(env, C3D_RGB, GPU_TEXTURE3, 0, 0);
+
C3D_TexEnvSrc(env, C3D_Alpha, GPU_TEXTURE3, GPU_PRIMARY_COLOR, 0);
+
C3D_TexEnvFunc(env, C3D_RGB, GPU_REPLACE);
+
C3D_TexEnvFunc(env, C3D_Alpha, GPU_MODULATE);
+
setupProcTex();
+
}
+
+
static void sceneRender(float iod)
+
{
+
// Compute the matrices
+
Mtx_PerspStereoTilt(&projection, C3D_AngleFromDegrees(40.0f), C3D_AspectRatioTop, 0.01f, 20.0f, iod, 3.0f, false);
+
Mtx_Identity(&modelView);
+
+
// Update the uniforms
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_projection, &projection);
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_modelView, &modelView);
+
C3D_FVUnifSet (GPU_GEOMETRY_SHADER, uLoc_gsh_param, 100.0f, curTime, 1.0f, 1.0f);
+
C3D_FVUnifSet (GPU_GEOMETRY_SHADER, uLoc_gsh_randParam, 17, 37, 65535, 1.0f/65535);
+
C3D_FVUnifSet (GPU_GEOMETRY_SHADER, uLoc_gsh_randSeed, 45, 47.564, 46.15, 45.9875);
+
C3D_FVUnifSet (GPU_GEOMETRY_SHADER, uLoc_gsh_uvCoords+0, 3.0, 1.0, 3.0, 3.0);
+
C3D_FVUnifSet (GPU_GEOMETRY_SHADER, uLoc_gsh_uvCoords+1, 1.0, 1.0, 1.0, 3.0);
+
C3D_BoolUnifSet (GPU_GEOMETRY_SHADER, uLoc_gsh_multiplyW, multiplyW);
+
C3D_BoolUnifSet (GPU_GEOMETRY_SHADER, uLoc_gsh_randSphere, randSphere);
+
C3D_BoolUnifSet (GPU_GEOMETRY_SHADER, uLoc_gsh_noRespawn, noRespawn);
+
+
if (additiveBlend)
+ +
else
+ +
+
// Draw the particles
+
C3D_DepthTest(true, GPU_GREATER, GPU_WRITE_COLOR);
+
C3D_DrawElements(GPU_GEOMETRY_PRIM, point_index_count, C3D_UNSIGNED_BYTE, ibo_data);
+
}
+
+
static void sceneExit(void)
+
{
+
// Free the data
+
linearFree(vbo_data);
+
linearFree(ibo_data);
+
+
// Free the shader program
+
shaderProgramFree(&program);
+
DVLB_Free(particle_dvlb);
+
}
+
+
int main()
+
{
+
// Initialize graphics
+ +
gfxSet3D(true); // Enable stereoscopic 3D
+ +
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
// Initialize the render targets
+
C3D_RenderTarget* targetLeft = C3D_RenderTargetCreate(240, 400, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8);
+
C3D_RenderTarget* targetRight = C3D_RenderTargetCreate(240, 400, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8);
+
C3D_RenderTargetSetOutput(targetLeft, GFX_TOP, GFX_LEFT, DISPLAY_TRANSFER_FLAGS);
+
C3D_RenderTargetSetOutput(targetRight, GFX_TOP, GFX_RIGHT, DISPLAY_TRANSFER_FLAGS);
+
+
// Initialize the scene
+
sceneInit();
+
+
// Main loop
+
while (aptMainLoop())
+
{
+ +
+
// Respond to user input
+
u32 kDown = hidKeysDown();
+
u32 kHeld = hidKeysHeld();
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
float slider = osGet3DSliderState();
+
float iod = slider/4;
+
+
if (!(kHeld & KEY_L))
+
curTime += 1/128.0f;
+
if (kDown & KEY_A)
+
curTime = 0.0f;
+
+
if (kDown & KEY_X)
+
noRespawn = !noRespawn;
+
if (kDown & KEY_Y)
+
randSphere = !randSphere;
+
if (kDown & KEY_B)
+
multiplyW = !multiplyW;
+
if (kDown & KEY_R)
+
additiveBlend = !additiveBlend;
+
+
printf("\x1b[3;1Htime: %f \n", curTime);
+
printf("\x1b[4;1HnoRespawn: %s \n", noRespawn ? "Yes" : "No");
+
printf("\x1b[5;1HrandSphere: %s \n", randSphere ? "Yes" : "No");
+
printf("\x1b[6;1HmultiplyW: %s \n", multiplyW ? "Yes" : "No");
+
printf("\x1b[7;1HadditiveBlend: %s \n", additiveBlend ? "Yes" : "No");
+
printf("\x1b[29;1Hgpu: %5.2f%% cpu: %5.2f%% buf:%5.2f%%\n", C3D_GetDrawingTime()*6, C3D_GetProcessingTime()*6, C3D_GetCmdBufUsage()*100);
+
+
// Render the scene
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
{
+
C3D_RenderTargetClear(targetLeft, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_FrameDrawOn(targetLeft);
+
sceneRender(-iod);
+
+
if (iod > 0.0f)
+
{
+
C3D_RenderTargetClear(targetRight, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_FrameDrawOn(targetRight);
+
sceneRender(iod);
+
}
+
}
+
C3D_FrameEnd(0);
+
}
+
+
// Deinitialize the scene
+
sceneExit();
+
+
// Deinitialize graphics
+
C3D_Fini();
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
@ GPU_REPLACE
Replace.
Definition: enums.h:365
+
@ GPU_MODULATE
Modulate.
Definition: enums.h:366
+
@ GPU_GEOMETRY_SHADER
Geometry shader.
Definition: enums.h:504
+
@ GPU_VERTEX_SHADER
Vertex shader.
Definition: enums.h:503
+
@ GPU_RB_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: enums.h:150
+
@ GPU_ONE_MINUS_SRC_ALPHA
Source alpha - 1.
Definition: enums.h:254
+
@ GPU_ONE
One.
Definition: enums.h:248
+
@ GPU_SRC_ALPHA
Source alpha.
Definition: enums.h:253
+
@ GPU_FLOAT
32-bit float.
Definition: enums.h:299
+
@ GPU_PT_LINEAR
Linear interpolation.
Definition: enums.h:130
+
@ GPU_PRIMARY_COLOR
Primary color.
Definition: enums.h:316
+
@ GPU_TEXTURE3
Texture unit 3.
Definition: enums.h:322
+
@ GPU_WRITE_COLOR
Write all color components.
Definition: enums.h:230
+
@ GPU_GEOMETRY_PRIM
Geometry shader primitive.
Definition: enums.h:497
+
@ GPU_RB_DEPTH24_STENCIL8
24-bit Depth + 8-bit Stencil
Definition: enums.h:162
+
@ GPU_LUT_NOISE
Noise table.
Definition: enums.h:140
+
@ GPU_LUT_RGBMAP
RGB mapping function table.
Definition: enums.h:141
+
@ GPU_PT_MIRRORED_REPEAT
Mirrored repeat.
Definition: enums.h:99
+
@ GPU_GREATER
Pass if greater than.
Definition: enums.h:174
+
@ GPU_BLEND_ADD
Add colors.
Definition: enums.h:237
+
@ GPU_PT_SQRT2
sqrt(U2+V2)
Definition: enums.h:112
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_BOTTOM
Bottom screen.
Definition: gfx.h:27
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxSet3D(bool enable)
Enables or disables the 3D stereoscopic effect on the top screen.
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
@ GFX_RIGHT
Right eye framebuffer.
Definition: gfx.h:38
+
@ KEY_B
B.
Definition: hid.h:13
+
@ KEY_X
X.
Definition: hid.h:22
+
@ KEY_Y
Y.
Definition: hid.h:23
+
@ KEY_START
Start.
Definition: hid.h:15
+
@ KEY_R
R.
Definition: hid.h:20
+
@ KEY_A
A.
Definition: hid.h:12
+
@ KEY_L
L.
Definition: hid.h:21
+
u32 hidKeysHeld(void)
Returns a bitmask of held buttons.
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
void * linearAlloc(size_t size)
Allocates a 0x80-byte aligned buffer.
+
void linearFree(void *mem)
Frees a buffer.
+
static float osGet3DSliderState(void)
Gets the state of the 3D slider.
Definition: os.h:313
+
Result shaderProgramSetVsh(shaderProgram_s *sp, DVLE_s *dvle)
Sets the vertex shader of a shader program.
+
Result shaderProgramInit(shaderProgram_s *sp)
Initializes a shader program.
+
Result shaderProgramFree(shaderProgram_s *sp)
Frees a shader program.
+
Result shaderProgramSetGsh(shaderProgram_s *sp, DVLE_s *dvle, u8 stride)
Sets the geometry shader of a shader program.
+
s8 shaderInstanceGetUniformLocation(shaderInstance_s *si, const char *name)
Gets the location of a shader's uniform.
+
void DVLB_Free(DVLB_s *dvlb)
Frees shader binary data.
+
DVLB_s * DVLB_ParseFile(u32 *shbinData, u32 shbinSize)
Parses a shader binary.
+
DVLB data.
Definition: shbin.h:98
+
DVLE_s * DVLE
Contained DVLE.
Definition: shbin.h:101
+
Describes an instance of a full shader program.
Definition: shaderProgram.h:31
+
shaderInstance_s * vertexShader
Vertex shader.
Definition: shaderProgram.h:32
+
shaderInstance_s * geometryShader
Geometry shader.
Definition: shaderProgram.h:33
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2gpu_2proctex_2source_2main_8c-example.html b/graphics_2gpu_2proctex_2source_2main_8c-example.html new file mode 100644 index 000000000..fcb91f514 --- /dev/null +++ b/graphics_2gpu_2proctex_2source_2main_8c-example.html @@ -0,0 +1,273 @@ + + + + + + + +libctru: graphics/gpu/proctex/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/gpu/proctex/source/main.c
+
+
+
#include <3ds.h>
+
#include <citro3d.h>
+
#include <string.h>
+
#include <stdio.h>
+
#include "vshader_shbin.h"
+
+
#define CLEAR_COLOR 0x68B0D8FF
+
+
#define DISPLAY_TRANSFER_FLAGS \
+
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
+
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
+
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
+
+
static DVLB_s* vshader_dvlb;
+
static shaderProgram_s program;
+
static int uLoc_projection;
+
static C3D_Mtx projection;
+
+
static C3D_ProcTex pt;
+
static C3D_ProcTexLut pt_map;
+
static C3D_ProcTexLut pt_noise;
+
static C3D_ProcTexColorLut pt_clr;
+
+
static void sceneInit(void)
+
{
+
// Load the vertex shader, create a shader program and bind it
+
vshader_dvlb = DVLB_ParseFile((u32*)vshader_shbin, vshader_shbin_size);
+
shaderProgramInit(&program);
+
shaderProgramSetVsh(&program, &vshader_dvlb->DVLE[0]);
+
C3D_BindProgram(&program);
+
+
// Get the location of the uniforms
+
uLoc_projection = shaderInstanceGetUniformLocation(program.vertexShader, "projection");
+
+
// Configure attributes for use with the vertex shader
+
// Attribute format and element count are ignored in immediate mode
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0, GPU_FLOAT, 3); // v0=position
+
AttrInfo_AddLoader(attrInfo, 1, GPU_FLOAT, 3); // v1=texcoord0
+
+
// Compute the projection matrix
+
Mtx_OrthoTilt(&projection, 0.0, 400.0, 240.0, 0.0, 0.0, 1.0, true);
+
+
#define NUMCOLORS 2
+
C3D_ProcTexInit(&pt, 0, NUMCOLORS);
+ +
C3D_ProcTexNoiseCoefs(&pt, C3D_ProcTex_UV, 0.1f, 0.3f, 0.1f);
+
C3D_ProcTexCombiner(&pt, false, GPU_PT_SQRT2, GPU_PT_SQRT2); // <- for wood rings
+
//C3D_ProcTexCombiner(&pt, false, GPU_PT_V, GPU_PT_V); // <- for wood stripes (or also _U)
+
C3D_ProcTexFilter(&pt, GPU_PT_LINEAR);
+
C3D_ProcTexBind(0, &pt);
+
+
float data[129];
+
int i;
+
for (i = 0; i <= 128; i ++)
+
{
+
float x = i/128.0f;
+
data[i] = fabsf(sinf(C3D_Angle(6*(x+0.125f)))); // 6*2 = 12 stripes
+
}
+
ProcTexLut_FromArray(&pt_map, data);
+
C3D_ProcTexLutBind(GPU_LUT_RGBMAP, &pt_map);
+
+
// Noise smooth step equation
+
for (i = 0; i <= 128; i ++)
+
{
+
float x = i/128.0f;
+
data[i] = x*x*(3-2*x);
+
}
+
ProcTexLut_FromArray(&pt_noise, data);
+
C3D_ProcTexLutBind(GPU_LUT_NOISE, &pt_noise);
+
+
u32 colors[NUMCOLORS];
+
colors[0] = 0xFF1F1F4F; // dark brown
+
colors[1] = 0xFF1F9ED1; // light brown
+
+
ProcTexColorLut_Write(&pt_clr, colors, 0, NUMCOLORS);
+
C3D_ProcTexColorLutBind(&pt_clr);
+
+
// Configure the first fragment shading substage to just pass through the procedural texture color
+
// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
C3D_TexEnvInit(env);
+
C3D_TexEnvSrc(env, C3D_Both, GPU_TEXTURE3, 0, 0);
+
C3D_TexEnvFunc(env, C3D_Both, GPU_REPLACE);
+
}
+
+
static void sceneRender(void)
+
{
+
// Update the uniforms
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_projection, &projection);
+
+
// Draw the triangle directly
+
//float min = -1.0f; //<-- for (symmetrical) wood rings
+
//float max = +1.0f;
+
float min = 1.0f; //<-- for asymmetrical wood rings
+
float max = 3.0f;
+
//float min = 0.0f; //<-- for wood stripes
+
//float max = +3.0f; // triplicate stripes
+
float size = 200.0f/2;
+
C3D_ImmDrawBegin(GPU_TRIANGLE_STRIP);
+
C3D_ImmSendAttrib(200.0f-size, 120.0f+size, 0.5f, 0.0f); // v0=position
+
C3D_ImmSendAttrib(min, min, 0.0f, 0.0f); // v1=texcoord0
+
+
C3D_ImmSendAttrib(200.0f+size, 120.0f+size, 0.5f, 0.0f);
+
C3D_ImmSendAttrib(max, min, 0.0f, 0.0f);
+
+
C3D_ImmSendAttrib(200.0f-size, 120.0f-size, 0.5f, 0.0f);
+
C3D_ImmSendAttrib(min, max, 0.0f, 0.0f);
+
+
C3D_ImmSendAttrib(200.0f+size, 120.0f-size, 0.5f, 0.0f);
+
C3D_ImmSendAttrib(max, max, 0.0f, 0.0f);
+
C3D_ImmDrawEnd();
+
}
+
+
static void sceneExit(void)
+
{
+
// Free the shader program
+
shaderProgramFree(&program);
+
DVLB_Free(vshader_dvlb);
+
}
+
+
int main()
+
{
+
// Initialize graphics
+ + +
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
// Initialize the render target
+
C3D_RenderTarget* target = C3D_RenderTargetCreate(240, 400, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8);
+
C3D_RenderTargetSetOutput(target, GFX_TOP, GFX_LEFT, DISPLAY_TRANSFER_FLAGS);
+
+
// Initialize the scene
+
sceneInit();
+
+
// Main loop
+
while (aptMainLoop())
+
{
+ +
+
// Respond to user input
+
u32 kDown = hidKeysDown();
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
printf("\x1b[29;1Hgpu: %5.2f%% cpu: %5.2f%% buf:%5.2f%%\n", C3D_GetDrawingTime()*3, C3D_GetProcessingTime()*3, C3D_GetCmdBufUsage()*100);
+
+
// Render the scene
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
C3D_RenderTargetClear(target, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_FrameDrawOn(target);
+
sceneRender();
+
C3D_FrameEnd(0);
+
}
+
+
// Deinitialize the scene
+
sceneExit();
+
+
// Deinitialize graphics
+
C3D_Fini();
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
@ GPU_REPLACE
Replace.
Definition: enums.h:365
+
@ GPU_VERTEX_SHADER
Vertex shader.
Definition: enums.h:503
+
@ GPU_RB_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: enums.h:150
+
@ GPU_FLOAT
32-bit float.
Definition: enums.h:299
+
@ GPU_PT_LINEAR
Linear interpolation.
Definition: enums.h:130
+
@ GPU_TEXTURE3
Texture unit 3.
Definition: enums.h:322
+
@ GPU_TRIANGLE_STRIP
Triangle strip.
Definition: enums.h:495
+
@ GPU_RB_DEPTH24_STENCIL8
24-bit Depth + 8-bit Stencil
Definition: enums.h:162
+
@ GPU_LUT_NOISE
Noise table.
Definition: enums.h:140
+
@ GPU_LUT_RGBMAP
RGB mapping function table.
Definition: enums.h:141
+
@ GPU_PT_MIRRORED_REPEAT
Mirrored repeat.
Definition: enums.h:99
+
@ GPU_PT_SQRT2
sqrt(U2+V2)
Definition: enums.h:112
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_BOTTOM
Bottom screen.
Definition: gfx.h:27
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
@ KEY_START
Start.
Definition: hid.h:15
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
Result shaderProgramSetVsh(shaderProgram_s *sp, DVLE_s *dvle)
Sets the vertex shader of a shader program.
+
Result shaderProgramInit(shaderProgram_s *sp)
Initializes a shader program.
+
Result shaderProgramFree(shaderProgram_s *sp)
Frees a shader program.
+
s8 shaderInstanceGetUniformLocation(shaderInstance_s *si, const char *name)
Gets the location of a shader's uniform.
+
void DVLB_Free(DVLB_s *dvlb)
Frees shader binary data.
+
DVLB_s * DVLB_ParseFile(u32 *shbinData, u32 shbinSize)
Parses a shader binary.
+
DVLB data.
Definition: shbin.h:98
+
DVLE_s * DVLE
Contained DVLE.
Definition: shbin.h:101
+
Describes an instance of a full shader program.
Definition: shaderProgram.h:31
+
shaderInstance_s * vertexShader
Vertex shader.
Definition: shaderProgram.h:32
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2gpu_2simple_tri_2source_2main_8c-example.html b/graphics_2gpu_2simple_tri_2source_2main_8c-example.html new file mode 100644 index 000000000..139a1b629 --- /dev/null +++ b/graphics_2gpu_2simple_tri_2source_2main_8c-example.html @@ -0,0 +1,232 @@ + + + + + + + +libctru: graphics/gpu/simple_tri/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/gpu/simple_tri/source/main.c
+
+
+
#include <3ds.h>
+
#include <citro3d.h>
+
#include <string.h>
+
#include "vshader_shbin.h"
+
+
#define CLEAR_COLOR 0x68B0D8FF
+
+
#define DISPLAY_TRANSFER_FLAGS \
+
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
+
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
+
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
+
+
typedef struct { float x, y, z; } vertex;
+
+
static const vertex vertex_list[] =
+
{
+
{ 200.0f, 200.0f, 0.5f },
+
{ 100.0f, 40.0f, 0.5f },
+
{ 300.0f, 40.0f, 0.5f },
+
};
+
+
#define vertex_list_count (sizeof(vertex_list)/sizeof(vertex_list[0]))
+
+
static DVLB_s* vshader_dvlb;
+
static shaderProgram_s program;
+
static int uLoc_projection;
+
static C3D_Mtx projection;
+
+
static void* vbo_data;
+
+
static void sceneInit(void)
+
{
+
// Load the vertex shader, create a shader program and bind it
+
vshader_dvlb = DVLB_ParseFile((u32*)vshader_shbin, vshader_shbin_size);
+
shaderProgramInit(&program);
+
shaderProgramSetVsh(&program, &vshader_dvlb->DVLE[0]);
+
C3D_BindProgram(&program);
+
+
// Get the location of the uniforms
+
uLoc_projection = shaderInstanceGetUniformLocation(program.vertexShader, "projection");
+
+
// Configure attributes for use with the vertex shader
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0, GPU_FLOAT, 3); // v0=position
+
AttrInfo_AddFixed(attrInfo, 1); // v1=color
+
+
// Set the fixed attribute (color) to solid white
+
C3D_FixedAttribSet(1, 1.0, 1.0, 1.0, 1.0);
+
+
// Compute the projection matrix
+
Mtx_OrthoTilt(&projection, 0.0, 400.0, 0.0, 240.0, 0.0, 1.0, true);
+
+
// Create the VBO (vertex buffer object)
+
vbo_data = linearAlloc(sizeof(vertex_list));
+
memcpy(vbo_data, vertex_list, sizeof(vertex_list));
+
+
// Configure buffers
+
C3D_BufInfo* bufInfo = C3D_GetBufInfo();
+
BufInfo_Init(bufInfo);
+
BufInfo_Add(bufInfo, vbo_data, sizeof(vertex), 1, 0x0);
+
+
// Configure the first fragment shading substage to just pass through the vertex color
+
// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
C3D_TexEnvInit(env);
+
C3D_TexEnvSrc(env, C3D_Both, GPU_PRIMARY_COLOR, 0, 0);
+
C3D_TexEnvFunc(env, C3D_Both, GPU_REPLACE);
+
}
+
+
static void sceneRender(void)
+
{
+
// Update the uniforms
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_projection, &projection);
+
+
// Draw the VBO
+
C3D_DrawArrays(GPU_TRIANGLES, 0, vertex_list_count);
+
}
+
+
static void sceneExit(void)
+
{
+
// Free the VBO
+
linearFree(vbo_data);
+
+
// Free the shader program
+
shaderProgramFree(&program);
+
DVLB_Free(vshader_dvlb);
+
}
+
+
int main()
+
{
+
// Initialize graphics
+ +
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
// Initialize the render target
+
C3D_RenderTarget* target = C3D_RenderTargetCreate(240, 400, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8);
+
C3D_RenderTargetSetOutput(target, GFX_TOP, GFX_LEFT, DISPLAY_TRANSFER_FLAGS);
+
+
// Initialize the scene
+
sceneInit();
+
+
// Main loop
+
while (aptMainLoop())
+
{
+ +
+
// Respond to user input
+
u32 kDown = hidKeysDown();
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
// Render the scene
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
C3D_RenderTargetClear(target, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_FrameDrawOn(target);
+
sceneRender();
+
C3D_FrameEnd(0);
+
}
+
+
// Deinitialize the scene
+
sceneExit();
+
+
// Deinitialize graphics
+
C3D_Fini();
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
@ GPU_REPLACE
Replace.
Definition: enums.h:365
+
@ GPU_VERTEX_SHADER
Vertex shader.
Definition: enums.h:503
+
@ GPU_RB_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: enums.h:150
+
@ GPU_FLOAT
32-bit float.
Definition: enums.h:299
+
@ GPU_PRIMARY_COLOR
Primary color.
Definition: enums.h:316
+
@ GPU_TRIANGLES
Triangles.
Definition: enums.h:494
+
@ GPU_RB_DEPTH24_STENCIL8
24-bit Depth + 8-bit Stencil
Definition: enums.h:162
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
@ KEY_START
Start.
Definition: hid.h:15
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
void * linearAlloc(size_t size)
Allocates a 0x80-byte aligned buffer.
+
void linearFree(void *mem)
Frees a buffer.
+
Result shaderProgramSetVsh(shaderProgram_s *sp, DVLE_s *dvle)
Sets the vertex shader of a shader program.
+
Result shaderProgramInit(shaderProgram_s *sp)
Initializes a shader program.
+
Result shaderProgramFree(shaderProgram_s *sp)
Frees a shader program.
+
s8 shaderInstanceGetUniformLocation(shaderInstance_s *si, const char *name)
Gets the location of a shader's uniform.
+
void DVLB_Free(DVLB_s *dvlb)
Frees shader binary data.
+
DVLB_s * DVLB_ParseFile(u32 *shbinData, u32 shbinSize)
Parses a shader binary.
+
DVLB data.
Definition: shbin.h:98
+
DVLE_s * DVLE
Contained DVLE.
Definition: shbin.h:101
+
Describes an instance of a full shader program.
Definition: shaderProgram.h:31
+
shaderInstance_s * vertexShader
Vertex shader.
Definition: shaderProgram.h:32
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2gpu_2textured_cube_2source_2main_8c-example.html b/graphics_2gpu_2textured_cube_2source_2main_8c-example.html new file mode 100644 index 000000000..413f73592 --- /dev/null +++ b/graphics_2gpu_2textured_cube_2source_2main_8c-example.html @@ -0,0 +1,348 @@ + + + + + + + +libctru: graphics/gpu/textured_cube/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/gpu/textured_cube/source/main.c
+
+
+
#include <3ds.h>
+
#include <citro3d.h>
+
#include <tex3ds.h>
+
#include <string.h>
+
#include "vshader_shbin.h"
+
#include "kitten_t3x.h"
+
+
#define CLEAR_COLOR 0x68B0D8FF
+
+
#define DISPLAY_TRANSFER_FLAGS \
+
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
+
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
+
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
+
+
typedef struct { float position[3]; float texcoord[2]; float normal[3]; } vertex;
+
+
static const vertex vertex_list[] =
+
{
+
// First face (PZ)
+
// First triangle
+
{ {-0.5f, -0.5f, +0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, +1.0f} },
+
{ {+0.5f, -0.5f, +0.5f}, {1.0f, 0.0f}, {0.0f, 0.0f, +1.0f} },
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, +1.0f} },
+
// Second triangle
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, +1.0f} },
+
{ {-0.5f, +0.5f, +0.5f}, {0.0f, 1.0f}, {0.0f, 0.0f, +1.0f} },
+
{ {-0.5f, -0.5f, +0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, +1.0f} },
+
+
// Second face (MZ)
+
// First triangle
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, -1.0f} },
+
{ {-0.5f, +0.5f, -0.5f}, {1.0f, 0.0f}, {0.0f, 0.0f, -1.0f} },
+
{ {+0.5f, +0.5f, -0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, -1.0f} },
+
// Second triangle
+
{ {+0.5f, +0.5f, -0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, -1.0f} },
+
{ {+0.5f, -0.5f, -0.5f}, {0.0f, 1.0f}, {0.0f, 0.0f, -1.0f} },
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, -1.0f} },
+
+
// Third face (PX)
+
// First triangle
+
{ {+0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {+1.0f, 0.0f, 0.0f} },
+
{ {+0.5f, +0.5f, -0.5f}, {1.0f, 0.0f}, {+1.0f, 0.0f, 0.0f} },
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {+1.0f, 0.0f, 0.0f} },
+
// Second triangle
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {+1.0f, 0.0f, 0.0f} },
+
{ {+0.5f, -0.5f, +0.5f}, {0.0f, 1.0f}, {+1.0f, 0.0f, 0.0f} },
+
{ {+0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {+1.0f, 0.0f, 0.0f} },
+
+
// Fourth face (MX)
+
// First triangle
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {-1.0f, 0.0f, 0.0f} },
+
{ {-0.5f, -0.5f, +0.5f}, {1.0f, 0.0f}, {-1.0f, 0.0f, 0.0f} },
+
{ {-0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {-1.0f, 0.0f, 0.0f} },
+
// Second triangle
+
{ {-0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {-1.0f, 0.0f, 0.0f} },
+
{ {-0.5f, +0.5f, -0.5f}, {0.0f, 1.0f}, {-1.0f, 0.0f, 0.0f} },
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {-1.0f, 0.0f, 0.0f} },
+
+
// Fifth face (PY)
+
// First triangle
+
{ {-0.5f, +0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, +1.0f, 0.0f} },
+
{ {-0.5f, +0.5f, +0.5f}, {1.0f, 0.0f}, {0.0f, +1.0f, 0.0f} },
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, +1.0f, 0.0f} },
+
// Second triangle
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, +1.0f, 0.0f} },
+
{ {+0.5f, +0.5f, -0.5f}, {0.0f, 1.0f}, {0.0f, +1.0f, 0.0f} },
+
{ {-0.5f, +0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, +1.0f, 0.0f} },
+
+
// Sixth face (MY)
+
// First triangle
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, -1.0f, 0.0f} },
+
{ {+0.5f, -0.5f, -0.5f}, {1.0f, 0.0f}, {0.0f, -1.0f, 0.0f} },
+
{ {+0.5f, -0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, -1.0f, 0.0f} },
+
// Second triangle
+
{ {+0.5f, -0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, -1.0f, 0.0f} },
+
{ {-0.5f, -0.5f, +0.5f}, {0.0f, 1.0f}, {0.0f, -1.0f, 0.0f} },
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, -1.0f, 0.0f} },
+
};
+
+
#define vertex_list_count (sizeof(vertex_list)/sizeof(vertex_list[0]))
+
+
static DVLB_s* vshader_dvlb;
+
static shaderProgram_s program;
+
static int uLoc_projection, uLoc_modelView;
+
static int uLoc_lightVec, uLoc_lightHalfVec, uLoc_lightClr, uLoc_material;
+
static C3D_Mtx projection;
+
static C3D_Mtx material =
+
{
+
{
+
{ { 0.0f, 0.2f, 0.2f, 0.2f } }, // Ambient
+
{ { 0.0f, 0.4f, 0.4f, 0.4f } }, // Diffuse
+
{ { 0.0f, 0.8f, 0.8f, 0.8f } }, // Specular
+
{ { 1.0f, 0.0f, 0.0f, 0.0f } }, // Emission
+
}
+
};
+
+
static void* vbo_data;
+
static C3D_Tex kitten_tex;
+
static float angleX = 0.0, angleY = 0.0;
+
+
// Helper function for loading a texture from memory
+
static bool loadTextureFromMem(C3D_Tex* tex, C3D_TexCube* cube, const void* data, size_t size)
+
{
+
Tex3DS_Texture t3x = Tex3DS_TextureImport(data, size, tex, cube, false);
+
if (!t3x)
+
return false;
+
+
// Delete the t3x object since we don't need it
+
Tex3DS_TextureFree(t3x);
+
return true;
+
}
+
+
static void sceneInit(void)
+
{
+
// Load the vertex shader, create a shader program and bind it
+
vshader_dvlb = DVLB_ParseFile((u32*)vshader_shbin, vshader_shbin_size);
+
shaderProgramInit(&program);
+
shaderProgramSetVsh(&program, &vshader_dvlb->DVLE[0]);
+
C3D_BindProgram(&program);
+
+
// Get the location of the uniforms
+
uLoc_projection = shaderInstanceGetUniformLocation(program.vertexShader, "projection");
+
uLoc_modelView = shaderInstanceGetUniformLocation(program.vertexShader, "modelView");
+
uLoc_lightVec = shaderInstanceGetUniformLocation(program.vertexShader, "lightVec");
+
uLoc_lightHalfVec = shaderInstanceGetUniformLocation(program.vertexShader, "lightHalfVec");
+
uLoc_lightClr = shaderInstanceGetUniformLocation(program.vertexShader, "lightClr");
+
uLoc_material = shaderInstanceGetUniformLocation(program.vertexShader, "material");
+
+
// Configure attributes for use with the vertex shader
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0, GPU_FLOAT, 3); // v0=position
+
AttrInfo_AddLoader(attrInfo, 1, GPU_FLOAT, 2); // v1=texcoord
+
AttrInfo_AddLoader(attrInfo, 2, GPU_FLOAT, 3); // v2=normal
+
+
// Compute the projection matrix
+
Mtx_PerspTilt(&projection, C3D_AngleFromDegrees(80.0f), C3D_AspectRatioTop, 0.01f, 1000.0f, false);
+
+
// Create the VBO (vertex buffer object)
+
vbo_data = linearAlloc(sizeof(vertex_list));
+
memcpy(vbo_data, vertex_list, sizeof(vertex_list));
+
+
// Configure buffers
+
C3D_BufInfo* bufInfo = C3D_GetBufInfo();
+
BufInfo_Init(bufInfo);
+
BufInfo_Add(bufInfo, vbo_data, sizeof(vertex), 3, 0x210);
+
+
// Load the texture and bind it to the first texture unit
+
if (!loadTextureFromMem(&kitten_tex, NULL, kitten_t3x, kitten_t3x_size))
+ +
C3D_TexSetFilter(&kitten_tex, GPU_LINEAR, GPU_NEAREST);
+
C3D_TexBind(0, &kitten_tex);
+
+
// Configure the first fragment shading substage to blend the texture color with
+
// the vertex color (calculated by the vertex shader using a lighting algorithm)
+
// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
C3D_TexEnvInit(env);
+
C3D_TexEnvSrc(env, C3D_Both, GPU_TEXTURE0, GPU_PRIMARY_COLOR, 0);
+
C3D_TexEnvFunc(env, C3D_Both, GPU_MODULATE);
+
}
+
+
static void sceneRender(void)
+
{
+
// Calculate the modelView matrix
+
C3D_Mtx modelView;
+
Mtx_Identity(&modelView);
+
Mtx_Translate(&modelView, 0.0, 0.0, -2.0 + 0.5*sinf(angleX), true);
+
Mtx_RotateX(&modelView, angleX, true);
+
Mtx_RotateY(&modelView, angleY, true);
+
+
// Rotate the cube each frame
+
angleX += M_PI / 180;
+
angleY += M_PI / 360;
+
+
// Update the uniforms
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_projection, &projection);
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_modelView, &modelView);
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_material, &material);
+
C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightVec, 0.0f, 0.0f, -1.0f, 0.0f);
+
C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightHalfVec, 0.0f, 0.0f, -1.0f, 0.0f);
+
C3D_FVUnifSet(GPU_VERTEX_SHADER, uLoc_lightClr, 1.0f, 1.0f, 1.0f, 1.0f);
+
+
// Draw the VBO
+
C3D_DrawArrays(GPU_TRIANGLES, 0, vertex_list_count);
+
}
+
+
static void sceneExit(void)
+
{
+
// Free the texture
+
C3D_TexDelete(&kitten_tex);
+
+
// Free the VBO
+
linearFree(vbo_data);
+
+
// Free the shader program
+
shaderProgramFree(&program);
+
DVLB_Free(vshader_dvlb);
+
}
+
+
int main()
+
{
+
// Initialize graphics
+ +
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
// Initialize the render target
+
C3D_RenderTarget* target = C3D_RenderTargetCreate(240, 400, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8);
+
C3D_RenderTargetSetOutput(target, GFX_TOP, GFX_LEFT, DISPLAY_TRANSFER_FLAGS);
+
+
// Initialize the scene
+
sceneInit();
+
+
// Main loop
+
while (aptMainLoop())
+
{
+ +
+
// Respond to user input
+
u32 kDown = hidKeysDown();
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
// Render the scene
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
C3D_RenderTargetClear(target, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_FrameDrawOn(target);
+
sceneRender();
+
C3D_FrameEnd(0);
+
}
+
+
// Deinitialize the scene
+
sceneExit();
+
+
// Deinitialize graphics
+
C3D_Fini();
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
@ GPU_MODULATE
Modulate.
Definition: enums.h:366
+
@ GPU_VERTEX_SHADER
Vertex shader.
Definition: enums.h:503
+
@ GPU_RB_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: enums.h:150
+
@ GPU_LINEAR
Linear interpolation.
Definition: enums.h:31
+
@ GPU_NEAREST
Nearest-neighbor interpolation.
Definition: enums.h:30
+
@ GPU_FLOAT
32-bit float.
Definition: enums.h:299
+
@ GPU_PRIMARY_COLOR
Primary color.
Definition: enums.h:316
+
@ GPU_TEXTURE0
Texture unit 0.
Definition: enums.h:319
+
@ GPU_TRIANGLES
Triangles.
Definition: enums.h:494
+
@ GPU_RB_DEPTH24_STENCIL8
24-bit Depth + 8-bit Stencil
Definition: enums.h:162
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
@ KEY_START
Start.
Definition: hid.h:15
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
void * linearAlloc(size_t size)
Allocates a 0x80-byte aligned buffer.
+
void linearFree(void *mem)
Frees a buffer.
+
Result shaderProgramSetVsh(shaderProgram_s *sp, DVLE_s *dvle)
Sets the vertex shader of a shader program.
+
Result shaderProgramInit(shaderProgram_s *sp)
Initializes a shader program.
+
Result shaderProgramFree(shaderProgram_s *sp)
Frees a shader program.
+
s8 shaderInstanceGetUniformLocation(shaderInstance_s *si, const char *name)
Gets the location of a shader's uniform.
+
void DVLB_Free(DVLB_s *dvlb)
Frees shader binary data.
+
DVLB_s * DVLB_ParseFile(u32 *shbinData, u32 shbinSize)
Parses a shader binary.
+
DVLB data.
Definition: shbin.h:98
+
DVLE_s * DVLE
Contained DVLE.
Definition: shbin.h:101
+
Describes an instance of a full shader program.
Definition: shaderProgram.h:31
+
shaderInstance_s * vertexShader
Vertex shader.
Definition: shaderProgram.h:32
+
@ USERBREAK_PANIC
Panic.
Definition: svc.h:333
+
void svcBreak(UserBreakType breakReason)
Breaks execution.
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2gpu_2toon_shading_2source_2main_8c-example.html b/graphics_2gpu_2toon_shading_2source_2main_8c-example.html new file mode 100644 index 000000000..c8eb25e41 --- /dev/null +++ b/graphics_2gpu_2toon_shading_2source_2main_8c-example.html @@ -0,0 +1,328 @@ + + + + + + + +libctru: graphics/gpu/toon_shading/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/gpu/toon_shading/source/main.c
+
+
+
#include <3ds.h>
+
#include <citro3d.h>
+
#include <string.h>
+
#include "vshader_shbin.h"
+
#include "teapot.h"
+
+
#define CLEAR_COLOR 0x68B0D8FF
+
+
#define DISPLAY_TRANSFER_FLAGS \
+
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
+
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
+
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
+
+
static DVLB_s* vshader_dvlb;
+
static shaderProgram_s program;
+
static int uLoc_projection, uLoc_modelView;
+
static C3D_Mtx projection;
+
+
static C3D_LightEnv lightEnv;
+
static C3D_Light light;
+
static C3D_LightLut lut_Spec, lut_Toon;
+
+
static void* vbo_data;
+
#ifdef vertex_element_count
+
static void* ibo_data;
+
#endif
+
static float angleX = 0.0, angleY = 0.0;
+
+
#define NUM_DIFFUSE_TONES 3
+
static float toon_diffuse(float x, float arg)
+
{
+
const float factor = NUM_DIFFUSE_TONES-1;
+
return floorf(0.5f+x*factor)/factor;
+
}
+
+
#define NUM_SPECULAR_TONES 2
+
static float toon_specular(float x, float shininess)
+
{
+
const float factor = NUM_SPECULAR_TONES-1;
+
return floorf(0.5f+powf(x, shininess)*factor)/factor;
+
}
+
+
static void sceneInit(void)
+
{
+
// Load the vertex shader, create a shader program and bind it
+
vshader_dvlb = DVLB_ParseFile((u32*)vshader_shbin, vshader_shbin_size);
+
shaderProgramInit(&program);
+
shaderProgramSetVsh(&program, &vshader_dvlb->DVLE[0]);
+
C3D_BindProgram(&program);
+
+
// Get the location of the uniforms
+
uLoc_projection = shaderInstanceGetUniformLocation(program.vertexShader, "projection");
+
uLoc_modelView = shaderInstanceGetUniformLocation(program.vertexShader, "modelView");
+
+
// Configure attributes for use with the vertex shader
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0, GPU_FLOAT, 3); // v0=position
+
AttrInfo_AddLoader(attrInfo, 1, GPU_FLOAT, 3); // v1=normal
+
+
// Create the VBO (vertex buffer object)
+
vbo_data = linearAlloc(sizeof(vertex_array));
+
memcpy(vbo_data, vertex_array, sizeof(vertex_array));
+
#ifdef vertex_element_count
+
ibo_data = linearAlloc(sizeof(vertex_elements));
+
memcpy(ibo_data, vertex_elements, sizeof(vertex_elements));
+
#endif
+
+
// Configure buffers
+
C3D_BufInfo* bufInfo = C3D_GetBufInfo();
+
BufInfo_Init(bufInfo);
+
BufInfo_Add(bufInfo, vbo_data, sizeof(float[6]), 2, 0x10);
+
+
// Configure the first fragment shading substage to blend the fragment primary color
+
// with the fragment secondary color.
+
// See https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml for more insight
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
C3D_TexEnvInit(env);
+
C3D_TexEnvSrc(env, C3D_RGB, GPU_FRAGMENT_PRIMARY_COLOR, GPU_FRAGMENT_SECONDARY_COLOR, 0);
+
C3D_TexEnvSrc(env, C3D_Alpha, GPU_PRIMARY_COLOR, 0, 0);
+
C3D_TexEnvFunc(env, C3D_RGB, GPU_ADD);
+
C3D_TexEnvFunc(env, C3D_Alpha, GPU_REPLACE);
+
+
static const C3D_Material material =
+
{
+
{ 0.2f, 0.2f, 0.2f }, //ambient
+
{ 0.0f, 0.0f, 0.0f }, //diffuse
+
{ 0.4f, 0.4f, 0.4f }, //specular0
+
{ 0.4f, 0.4f, 0.4f }, //specular1
+
{ 0.0f, 0.0f, 0.0f }, //emission
+
};
+
+
C3D_LightEnvInit(&lightEnv);
+
C3D_LightEnvBind(&lightEnv);
+
C3D_LightEnvMaterial(&lightEnv, &material);
+
+
LightLut_FromFunc(&lut_Toon, toon_diffuse, 0.0f, false);
+
LightLut_FromFunc(&lut_Spec, toon_specular, 30.0f, false);
+
C3D_LightEnvLut(&lightEnv, GPU_LUT_D0, GPU_LUTINPUT_NH, false, &lut_Spec);
+
C3D_LightEnvLut(&lightEnv, GPU_LUT_D1, GPU_LUTINPUT_LN, false, &lut_Toon);
+
+
C3D_LightInit(&light, &lightEnv);
+
}
+
+
static void sceneRender(float iod)
+
{
+
// Compute the projection matrix
+
Mtx_PerspStereoTilt(&projection, C3D_AngleFromDegrees(40.0f), C3D_AspectRatioTop, 0.01f, 1000.0f, iod, 3.0f, false);
+
+
C3D_FVec objPos = FVec4_New(0.0f, 0.0f, -3.0f, 1.0f);
+
C3D_FVec lightPos = FVec4_New(0.0f, 0.0f, -0.5f, 1.0f);
+
+
// Calculate the modelView matrix
+
C3D_Mtx modelView;
+
Mtx_Identity(&modelView);
+
Mtx_Translate(&modelView, objPos.x, objPos.y, objPos.z, true);
+
Mtx_RotateX(&modelView, C3D_Angle(sinf(angleX)/4), true);
+
Mtx_RotateY(&modelView, C3D_Angle(angleY), true);
+
Mtx_Translate(&modelView, 0.0f, -0.5f, 0.f, true);
+
+
C3D_LightPosition(&light, &lightPos);
+
+
// Update the uniforms
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_projection, &projection);
+
C3D_FVUnifMtx4x4(GPU_VERTEX_SHADER, uLoc_modelView, &modelView);
+
+
// Draw the VBO
+
#ifdef vertex_element_count
+
C3D_DrawElements(GPU_TRIANGLES, vertex_element_count, C3D_UNSIGNED_SHORT, ibo_data);
+
#else
+
C3D_DrawArrays(GPU_TRIANGLES, 0, vertex_array_count);
+
#endif
+
}
+
+
static void sceneExit(void)
+
{
+
// Free the VBO
+
linearFree(vbo_data);
+
#ifdef vertex_element_count
+
linearFree(ibo_data);
+
#endif
+
+
// Free the shader program
+
shaderProgramFree(&program);
+
DVLB_Free(vshader_dvlb);
+
}
+
+
int main()
+
{
+
// Initialize graphics
+ +
gfxSet3D(true); // Enable stereoscopic 3D
+ +
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
// Initialize the render targets
+
C3D_RenderTarget* targetLeft = C3D_RenderTargetCreate(240, 400, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8);
+
C3D_RenderTarget* targetRight = C3D_RenderTargetCreate(240, 400, GPU_RB_RGBA8, GPU_RB_DEPTH24_STENCIL8);
+
C3D_RenderTargetSetOutput(targetLeft, GFX_TOP, GFX_LEFT, DISPLAY_TRANSFER_FLAGS);
+
C3D_RenderTargetSetOutput(targetRight, GFX_TOP, GFX_RIGHT, DISPLAY_TRANSFER_FLAGS);
+
+
// Initialize the scene
+
sceneInit();
+
+
// Main loop
+
while (aptMainLoop())
+
{
+ +
+
// Respond to user input
+
u32 kDown = hidKeysDown();
+
u32 kHeld = hidKeysHeld();
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
float slider = osGet3DSliderState();
+
float iod = slider/2;
+
+
// Rotate the model
+
if (!(kHeld & KEY_A))
+
{
+
angleX += 1.0f/64;
+
angleY += 1.0f/256;
+
}
+
+
// Render the scene
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
{
+
C3D_RenderTargetClear(targetLeft, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_FrameDrawOn(targetLeft);
+
sceneRender(-iod);
+
+
if (iod > 0.0f)
+
{
+
C3D_RenderTargetClear(targetRight, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_FrameDrawOn(targetRight);
+
sceneRender(iod);
+
}
+
}
+
C3D_FrameEnd(0);
+
}
+
+
// Deinitialize the scene
+
sceneExit();
+
+
// Deinitialize graphics
+
C3D_Fini();
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
@ GPU_ADD
Add.
Definition: enums.h:367
+
@ GPU_REPLACE
Replace.
Definition: enums.h:365
+
@ GPU_VERTEX_SHADER
Vertex shader.
Definition: enums.h:503
+
@ GPU_RB_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: enums.h:150
+
@ GPU_LUT_D1
D1 LUT.
Definition: enums.h:430
+
@ GPU_LUT_D0
D0 LUT.
Definition: enums.h:429
+
@ GPU_FLOAT
32-bit float.
Definition: enums.h:299
+
@ GPU_FRAGMENT_PRIMARY_COLOR
Primary fragment color.
Definition: enums.h:317
+
@ GPU_PRIMARY_COLOR
Primary color.
Definition: enums.h:316
+
@ GPU_FRAGMENT_SECONDARY_COLOR
Secondary fragment color.
Definition: enums.h:318
+
@ GPU_TRIANGLES
Triangles.
Definition: enums.h:494
+
@ GPU_RB_DEPTH24_STENCIL8
24-bit Depth + 8-bit Stencil
Definition: enums.h:162
+
@ GPU_LUTINPUT_LN
LightVector*Normal.
Definition: enums.h:445
+
@ GPU_LUTINPUT_NH
Normal*HalfVector.
Definition: enums.h:442
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_BOTTOM
Bottom screen.
Definition: gfx.h:27
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxSet3D(bool enable)
Enables or disables the 3D stereoscopic effect on the top screen.
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
@ GFX_RIGHT
Right eye framebuffer.
Definition: gfx.h:38
+
@ KEY_START
Start.
Definition: hid.h:15
+
@ KEY_A
A.
Definition: hid.h:12
+
u32 hidKeysHeld(void)
Returns a bitmask of held buttons.
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
void * linearAlloc(size_t size)
Allocates a 0x80-byte aligned buffer.
+
void linearFree(void *mem)
Frees a buffer.
+
static float osGet3DSliderState(void)
Gets the state of the 3D slider.
Definition: os.h:313
+
Result shaderProgramSetVsh(shaderProgram_s *sp, DVLE_s *dvle)
Sets the vertex shader of a shader program.
+
Result shaderProgramInit(shaderProgram_s *sp)
Initializes a shader program.
+
Result shaderProgramFree(shaderProgram_s *sp)
Frees a shader program.
+
s8 shaderInstanceGetUniformLocation(shaderInstance_s *si, const char *name)
Gets the location of a shader's uniform.
+
void DVLB_Free(DVLB_s *dvlb)
Frees shader binary data.
+
DVLB_s * DVLB_ParseFile(u32 *shbinData, u32 shbinSize)
Parses a shader binary.
+
DVLB data.
Definition: shbin.h:98
+
DVLE_s * DVLE
Contained DVLE.
Definition: shbin.h:101
+
Describes an instance of a full shader program.
Definition: shaderProgram.h:31
+
shaderInstance_s * vertexShader
Vertex shader.
Definition: shaderProgram.h:32
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2printing_2both-screen-text_2source_2main_8c-example.html b/graphics_2printing_2both-screen-text_2source_2main_8c-example.html new file mode 100644 index 000000000..af36c7ccf --- /dev/null +++ b/graphics_2printing_2both-screen-text_2source_2main_8c-example.html @@ -0,0 +1,148 @@ + + + + + + + +libctru: graphics/printing/both-screen-text/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/printing/both-screen-text/source/main.c
+
+
+
/*
+
Both Screen Text example made by Aurelio Mannara for libctru
+
This code was modified for the last time on: 12/12/2014 23:20 UTC+1
+
+
*/
+
+
#include <3ds.h>
+
#include <stdio.h>
+
+
int main(int argc, char **argv)
+
{
+
// Initialize services
+ +
+
//In this example we need one PrintConsole for each screen
+
PrintConsole topScreen, bottomScreen;
+
+
//Initialize console for both screen using the two different PrintConsole we have defined
+
consoleInit(GFX_TOP, &topScreen);
+
consoleInit(GFX_BOTTOM, &bottomScreen);
+
+
//Before doing any text printing we should select the PrintConsole in which we are willing to write, otherwise the library will print on the last selected/initialized one
+
//Let's start by printing something on the top screen
+
consoleSelect(&topScreen);
+
printf("This is the top screen. We have lot of space here!\n");
+
+
//Now write something else on the bottom screen
+
consoleSelect(&bottomScreen);
+
printf("This is the bottom screen. We don't have much space...\nStill better than DS screens :D");
+
+
consoleSelect(&topScreen);
+
printf("\x1b[30;16HPress Start to exit.");
+
+
// Main loop
+
while (aptMainLoop())
+
{
+
//Scan all the inputs. This should be done once for each frame
+ +
+
//hidKeysDown returns information about which buttons have been just pressed (and they weren't in the previous frame)
+
u32 kDown = hidKeysDown();
+
+
if (kDown & KEY_START) break; // break in order to return to hbmenu
+
+
// Flush and swap framebuffers
+ + +
+
//Wait for VBlank
+ +
}
+
+
// Exit services
+ +
+
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
PrintConsole * consoleSelect(PrintConsole *console)
Make the specified console the render target.
+
void gfxSwapBuffers(void)
Updates the configuration of both screens.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_BOTTOM
Bottom screen.
Definition: gfx.h:27
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
void gfxFlushBuffers(void)
Flushes the data cache for the current framebuffers.
+
#define gspWaitForVBlank()
Waits for VBlank.
Definition: gspgpu.h:151
+
@ KEY_START
Start.
Definition: hid.h:15
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
Console structure used to store the state of a console render context.
Definition: console.h:77
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2printing_2colored-text_2source_2main_8c-example.html b/graphics_2printing_2colored-text_2source_2main_8c-example.html new file mode 100644 index 000000000..1be06da8b --- /dev/null +++ b/graphics_2printing_2colored-text_2source_2main_8c-example.html @@ -0,0 +1,157 @@ + + + + + + + +libctru: graphics/printing/colored-text/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/printing/colored-text/source/main.c
+
+
+
/*
+
Colored Text example made by Aurelio Mannara for libctru
+
This code was modified for the last time on: 12/12/2014 23:00 UTC+1
+
+
*/
+
+
#include <3ds.h>
+
#include <stdio.h>
+
+
int main(int argc, char **argv)
+
{
+
// Initialize services
+ +
+
//Initialize console on top screen. Using NULL as the second argument tells the console library to use the internal console structure as current one
+ +
+
//Move the cursor to row 15 and column 19 and then prints "Hello World!"
+
//To move the cursor you have to print "\x1b[r;cH", where r and c are respectively
+
//the row and column where you want your cursor to move
+
//The top screen has 30 rows and 50 columns
+
//The bottom screen has 30 rows and 40 columns
+
printf("\x1b[16;20HHello World!");
+
+
//Move the cursor to the top left corner of the screen
+
printf("\x1b[1;1H");
+
+
//Print a REALLY crappy poeam with colored text
+
//\x1b[cm set a SGR (Select Graphic Rendition) parameter, where c is the parameter that you want to set
+
//Please refer to http://en.wikipedia.org/wiki/ANSI_escape_code#CSI_codes to see all the possible SGR parameters
+
//As of now libctru support only these parameters:
+
//Reset (0), Half bright colors (2), Reverse (7), Text color (30-37) and Background color (40-47)
+
printf("Roses are \x1b[31mred\x1b[0m\n");
+
printf("Violets are \x1b[34mblue\x1b[0m\n");
+
printf("Lenny is our savior\n");
+
printf("Homebrew is his blessing\n\n");
+
+
//Black text on white background
+
//In this example we set two parameter in a single escape sequence by separating them by a semicolon
+
//\x1b[47;30m means that it will set a white background (47) and it will print white characters (30)
+
//In this we also could have used the
+
printf("\x1b[47;30mBlack text on white background\x1b[0m");
+
+
+
printf("\x1b[30;16HPress Start to exit.");
+
// Main loop
+
while (aptMainLoop())
+
{
+
//Scan all the inputs. This should be done once for each frame
+ +
+
//hidKeysDown returns information about which buttons have been just pressed (and they weren't in the previous frame)
+
u32 kDown = hidKeysDown();
+
+
if (kDown & KEY_START) break; // break in order to return to hbmenu
+
+
// Flush and swap framebuffers
+ + +
+
//Wait for VBlank
+ +
}
+
+
// Exit services
+ +
+
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
void gfxSwapBuffers(void)
Updates the configuration of both screens.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
void gfxFlushBuffers(void)
Flushes the data cache for the current framebuffers.
+
#define gspWaitForVBlank()
Waits for VBlank.
Definition: gspgpu.h:151
+
@ KEY_START
Start.
Definition: hid.h:15
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2printing_2hello-world_2source_2main_8c-example.html b/graphics_2printing_2hello-world_2source_2main_8c-example.html new file mode 100644 index 000000000..e8eb52e2c --- /dev/null +++ b/graphics_2printing_2hello-world_2source_2main_8c-example.html @@ -0,0 +1,134 @@ + + + + + + + +libctru: graphics/printing/hello-world/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/printing/hello-world/source/main.c
+
+
+
/*
+
Hello World example made by Aurelio Mannara for libctru
+
This code was modified for the last time on: 12/12/2014 21:00 UTC+1
+
*/
+
+
#include <3ds.h>
+
#include <stdio.h>
+
+
int main(int argc, char **argv)
+
{
+ +
+
//Initialize console on top screen. Using NULL as the second argument tells the console library to use the internal console structure as current one
+ +
+
//Move the cursor to row 15 and column 19 and then prints "Hello World!"
+
//To move the cursor you have to print "\x1b[r;cH", where r and c are respectively
+
//the row and column where you want your cursor to move
+
//The top screen has 30 rows and 50 columns
+
//The bottom screen has 30 rows and 40 columns
+
printf("\x1b[16;20HHello World!");
+
+
printf("\x1b[30;16HPress Start to exit.");
+
+
// Main loop
+
while (aptMainLoop())
+
{
+
//Scan all the inputs. This should be done once for each frame
+ +
+
//hidKeysDown returns information about which buttons have been just pressed (and they weren't in the previous frame)
+
u32 kDown = hidKeysDown();
+
+
if (kDown & KEY_START) break; // break in order to return to hbmenu
+
+
// Flush and swap framebuffers
+ + +
+
//Wait for VBlank
+ +
}
+
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
void gfxSwapBuffers(void)
Updates the configuration of both screens.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
void gfxFlushBuffers(void)
Flushes the data cache for the current framebuffers.
+
#define gspWaitForVBlank()
Waits for VBlank.
Definition: gspgpu.h:151
+
@ KEY_START
Start.
Definition: hid.h:15
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html b/graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html new file mode 100644 index 000000000..0ff166f9f --- /dev/null +++ b/graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html @@ -0,0 +1,157 @@ + + + + + + + +libctru: graphics/printing/multiple-windows-text/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/printing/multiple-windows-text/source/main.c
+
+
+
/*
+
Multiple Windows Text example made by Aurelio Mannara for libctru
+
This code was modified for the last time on: 12/12/2014 23:50 UTC+1
+
+
*/
+
+
#include <3ds.h>
+
#include <stdio.h>
+
+
int main(int argc, char **argv)
+
{
+
// Initialize services
+ +
+
//In this example we need three PrintConsole, one for each window and one for the whole top screen
+
PrintConsole leftWindow, rightWindow, topScreen;
+
+
//Initialize console for each window
+
consoleInit(GFX_TOP, &leftWindow);
+
consoleInit(GFX_TOP, &rightWindow);
+
consoleInit(GFX_TOP, &topScreen);
+
+
//Now we specify the window position and dimension for each console window using consoleSetWindow(PrintConsole* console, int x, int y, int width, int height);
+
//x, y, width and height are in terms of cells, not pixel, where each cell is composed by 8x8 pixels.
+
consoleSetWindow(&leftWindow, 1, 1, 23, 28);
+
consoleSetWindow(&rightWindow, 26, 1, 23, 28);
+
+
//Before doing any text printing we should select the PrintConsole in which we are willing to write, otherwise the library will print on the last selected/initialized one
+
//Let's start by printing something on the top screen
+
consoleSelect(&leftWindow);
+
printf("This text is in the left window!\n");
+
printf("3DS rocks!!!\n");
+
+
//Now write something else on the bottom screen
+
consoleSelect(&rightWindow);
+
printf("This text is in the right window!\n");
+
printf("This thing works pretty well!\n");
+
+
+
consoleSelect(&topScreen);
+
printf("\x1b[30;16HPress Start to exit.");
+
+
// Main loop
+
while (aptMainLoop())
+
{
+
//Scan all the inputs. This should be done once for each frame
+ +
+
//hidKeysDown returns information about which buttons have been just pressed (and they weren't in the previous frame)
+
u32 kDown = hidKeysDown();
+
+
if (kDown & KEY_START) break; // break in order to return to hbmenu
+
+
// Flush and swap framebuffers
+ + +
+
//Wait for VBlank
+ +
}
+
+
// Exit services
+ +
+
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
void consoleSetWindow(PrintConsole *console, int x, int y, int width, int height)
Sets the print window.
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
PrintConsole * consoleSelect(PrintConsole *console)
Make the specified console the render target.
+
void gfxSwapBuffers(void)
Updates the configuration of both screens.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
void gfxFlushBuffers(void)
Flushes the data cache for the current framebuffers.
+
#define gspWaitForVBlank()
Waits for VBlank.
Definition: gspgpu.h:151
+
@ KEY_START
Start.
Definition: hid.h:15
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
Console structure used to store the state of a console render context.
Definition: console.h:77
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/graphics_2printing_2system-font_2source_2main_8c-example.html b/graphics_2printing_2system-font_2source_2main_8c-example.html new file mode 100644 index 000000000..ec4ee7ff4 --- /dev/null +++ b/graphics_2printing_2system-font_2source_2main_8c-example.html @@ -0,0 +1,214 @@ + + + + + + + +libctru: graphics/printing/system-font/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
graphics/printing/system-font/source/main.c
+
+
+
#include <string.h>
+
#include <stdio.h>
+
#include <stdlib.h>
+
#include <3ds.h>
+
#include <citro2d.h>
+
+
static const char teststring[] =
+
"Hello World - now with citro2d!\n"
+
"The quick brown fox jumps over the lazy dog.\n"
+
"\n"
+
"En français: Vous ne devez pas éteindre votre console.\n"
+
"日本語文章を見せるのも出来ますよ。\n"
+
"Un poco de texto en español nunca queda mal.\n"
+
"Πού είναι η τουαλέτα;\n"
+
"Я очень рад, ведь я, наконец, возвращаюсь домой\n";
+
+
C2D_TextBuf g_staticBuf, g_dynamicBuf;
+
C2D_Text g_staticText[4];
+
+
static void sceneInit(void)
+
{
+
// Create two text buffers: one for static text, and another one for
+
// dynamic text - the latter will be cleared at each frame.
+
g_staticBuf = C2D_TextBufNew(4096); // support up to 4096 glyphs in the buffer
+
g_dynamicBuf = C2D_TextBufNew(4096);
+
+
// Parse the static text strings
+
C2D_TextParse(&g_staticText[0], g_staticBuf, teststring);
+
C2D_TextParse(&g_staticText[1], g_staticBuf, "I am red skinny text!");
+
C2D_TextParse(&g_staticText[2], g_staticBuf, "I am blue fat text!");
+
C2D_TextParse(&g_staticText[3], g_staticBuf, "I am justified text!");
+
+
// Optimize the static text strings
+
C2D_TextOptimize(&g_staticText[0]);
+
C2D_TextOptimize(&g_staticText[1]);
+
C2D_TextOptimize(&g_staticText[2]);
+
C2D_TextOptimize(&g_staticText[3]);
+
}
+
+
static void sceneRender(float size)
+
{
+
// Clear the dynamic text buffer
+
C2D_TextBufClear(g_dynamicBuf);
+
+
// Draw static text strings
+
C2D_DrawText(&g_staticText[0], 0, 8.0f, 8.0f, 0.5f, size, size);
+
C2D_DrawText(&g_staticText[1], C2D_AtBaseline | C2D_WithColor, 16.0f, 210.0f, 0.5f, 0.5f, 0.75f, C2D_Color32f(1.0f,0.0f,0.0f,1.0f));
+
C2D_DrawText(&g_staticText[2], C2D_AtBaseline | C2D_WithColor | C2D_AlignRight, 384.0f, 210.0f, 0.5f, 0.75f, 0.5f, C2D_Color32f(0.0f,0.0f,1.0f,0.625f));
+
C2D_DrawText(&g_staticText[3], C2D_AtBaseline | C2D_AlignJustified | C2D_WordWrap, 100.0f, 170.0f, 0.5f, 0.75f, 0.75f, 200.0f);
+
+
// Generate and draw dynamic text
+
char buf[160];
+
C2D_Text dynText;
+
snprintf(buf, sizeof(buf), "Current text size: %f (Use  to change)", size);
+
C2D_TextParse(&dynText, g_dynamicBuf, buf);
+
C2D_TextOptimize(&dynText);
+
C2D_DrawText(&dynText, C2D_AlignCenter, 200.0f, 220.0f, 0.5f, 0.5f, 0.5f);
+
}
+
+
static void sceneExit(void)
+
{
+
// Delete the text buffers
+
C2D_TextBufDelete(g_dynamicBuf);
+
C2D_TextBufDelete(g_staticBuf);
+
}
+
+
int main()
+
{
+
// Initialize the libs
+ +
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
C2D_Init(C2D_DEFAULT_MAX_OBJECTS);
+
C2D_Prepare();
+
+
// Create screen
+
C3D_RenderTarget* top = C2D_CreateScreenTarget(GFX_TOP, GFX_LEFT);
+
+
// Initialize the scene
+
sceneInit();
+
+
float size = 0.5f;
+
+
// Main loop
+
while (aptMainLoop())
+
{
+ +
+
// Respond to user input
+
u32 kDown = hidKeysDown();
+
u32 kHeld = hidKeysHeld();
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+
if (kHeld & KEY_L)
+
size -= 1.0f/128;
+
else if (kHeld & KEY_R)
+
size += 1.0f/128;
+
else if (kHeld & KEY_X)
+
size = 0.5f;
+
else if (kHeld & KEY_Y)
+
size = 1.0f;
+
+
if (size < 0.25f)
+
size = 0.25f;
+
else if (size > 2.0f)
+
size = 2.0f;
+
+
// Render the scene
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
C2D_TargetClear(top, C2D_Color32(0x68, 0xB0, 0xD8, 0xFF));
+
C2D_SceneBegin(top);
+
sceneRender(size);
+
C3D_FrameEnd(0);
+
}
+
+
// Deinitialize the scene
+
sceneExit();
+
+
// Deinitialize the libs
+
C2D_Fini();
+
C3D_Fini();
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
@ GFX_LEFT
Left eye framebuffer.
Definition: gfx.h:37
+
@ KEY_X
X.
Definition: hid.h:22
+
@ KEY_Y
Y.
Definition: hid.h:23
+
@ KEY_START
Start.
Definition: hid.h:15
+
@ KEY_R
R.
Definition: hid.h:20
+
@ KEY_L
L.
Definition: hid.h:21
+
u32 hidKeysHeld(void)
Returns a bitmask of held buttons.
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/gspgpu_8h.html b/gspgpu_8h.html new file mode 100644 index 000000000..17f415b14 --- /dev/null +++ b/gspgpu_8h.html @@ -0,0 +1,1061 @@ + + + + + + + +libctru: include/3ds/services/gspgpu.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
gspgpu.h File Reference
+
+
+ +

GSPGPU service. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + +

+Data Structures

struct  GSPGPU_FramebufferInfo
 Framebuffer information. More...
 
struct  GSPGPU_CaptureInfoEntry
 Capture info entry. More...
 
struct  GSPGPU_CaptureInfo
 Capture info. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

+#define GSP_SCREEN_TOP   0
 ID of the top screen.
 
+#define GSP_SCREEN_BOTTOM   1
 ID of the bottom screen.
 
+#define GSP_SCREEN_WIDTH   240
 Width of the top/bottom screens.
 
+#define GSP_SCREEN_HEIGHT_TOP   400
 Height of the top screen.
 
+#define GSP_SCREEN_HEIGHT_TOP_2X   800
 Height of the top screen (2x).
 
+#define GSP_SCREEN_HEIGHT_BOTTOM   320
 Height of the bottom screen.
 
+#define gspWaitForPSC0()   gspWaitForEvent(GSPGPU_EVENT_PSC0, false)
 Waits for PSC0.
 
+#define gspWaitForPSC1()   gspWaitForEvent(GSPGPU_EVENT_PSC1, false)
 Waits for PSC1.
 
+#define gspWaitForVBlank()   gspWaitForVBlank0()
 Waits for VBlank.
 
+#define gspWaitForVBlank0()   gspWaitForEvent(GSPGPU_EVENT_VBlank0, true)
 Waits for VBlank0.
 
+#define gspWaitForVBlank1()   gspWaitForEvent(GSPGPU_EVENT_VBlank1, true)
 Waits for VBlank1.
 
+#define gspWaitForPPF()   gspWaitForEvent(GSPGPU_EVENT_PPF, false)
 Waits for PPF.
 
+#define gspWaitForP3D()   gspWaitForEvent(GSPGPU_EVENT_P3D, false)
 Waits for P3D.
 
+#define gspWaitForDMA()   gspWaitForEvent(GSPGPU_EVENT_DMA, false)
 Waits for DMA.
 
+ + + + + + + +

+Enumerations

enum  GSPGPU_FramebufferFormat {
+  GSP_RGBA8_OES =0 +,
+  GSP_BGR8_OES =1 +,
+  GSP_RGB565_OES =2 +,
+  GSP_RGB5_A1_OES =3 +,
+  GSP_RGBA4_OES =4 +
+ }
 Framebuffer format. More...
 
enum  GSPGPU_Event {
+  GSPGPU_EVENT_PSC0 = 0 +,
+  GSPGPU_EVENT_PSC1 +,
+  GSPGPU_EVENT_VBlank0 +,
+  GSPGPU_EVENT_VBlank1 +,
+  GSPGPU_EVENT_PPF +,
+  GSPGPU_EVENT_P3D +,
+  GSPGPU_EVENT_DMA +,
+  GSPGPU_EVENT_MAX +
+ }
 GSPGPU events. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

static unsigned gspGetBytesPerPixel (GSPGPU_FramebufferFormat format)
 Gets the number of bytes per pixel for the specified format. More...
 
+Result gspInit (void)
 Initializes GSPGPU.
 
+void gspExit (void)
 Exits GSPGPU.
 
HandlegspGetSessionHandle (void)
 Gets a pointer to the current gsp::Gpu session handle. More...
 
+bool gspHasGpuRight (void)
 Returns true if the application currently has GPU rights.
 
bool gspPresentBuffer (unsigned screen, unsigned swap, const void *fb_a, const void *fb_b, u32 stride, u32 mode)
 Presents a buffer to the specified screen. More...
 
bool gspIsPresentPending (unsigned screen)
 Returns true if a prior gspPresentBuffer command is still pending to be processed by GSP. More...
 
void gspSetEventCallback (GSPGPU_Event id, ThreadFunc cb, void *data, bool oneShot)
 Configures a callback to run when a GSPGPU event occurs. More...
 
void gspWaitForEvent (GSPGPU_Event id, bool nextEvent)
 Waits for a GSPGPU event to occur. More...
 
GSPGPU_Event gspWaitForAnyEvent (void)
 Waits for any GSPGPU event to occur. More...
 
Result gspSubmitGxCommand (const u32 gxCommand[0x8])
 Submits a GX command. More...
 
Result GSPGPU_AcquireRight (u8 flags)
 Acquires GPU rights. More...
 
+Result GSPGPU_ReleaseRight (void)
 Releases GPU rights.
 
Result GSPGPU_ImportDisplayCaptureInfo (GSPGPU_CaptureInfo *captureinfo)
 Retrieves display capture info. More...
 
+Result GSPGPU_SaveVramSysArea (void)
 Saves the VRAM sys area.
 
+Result GSPGPU_ResetGpuCore (void)
 Resets the GPU.
 
+Result GSPGPU_RestoreVramSysArea (void)
 Restores the VRAM sys area.
 
Result GSPGPU_SetLcdForceBlack (u8 flags)
 Sets whether to force the LCD to black. More...
 
Result GSPGPU_SetBufferSwap (u32 screenid, const GSPGPU_FramebufferInfo *framebufinfo)
 Updates a screen's framebuffer state. More...
 
Result GSPGPU_FlushDataCache (const void *adr, u32 size)
 Flushes memory from the data cache. More...
 
Result GSPGPU_InvalidateDataCache (const void *adr, u32 size)
 Invalidates memory in the data cache. More...
 
Result GSPGPU_WriteHWRegs (u32 regAddr, const u32 *data, u8 size)
 Writes to GPU hardware registers. More...
 
Result GSPGPU_WriteHWRegsWithMask (u32 regAddr, const u32 *data, u8 datasize, const u32 *maskdata, u8 masksize)
 Writes to GPU hardware registers with a mask. More...
 
Result GSPGPU_ReadHWRegs (u32 regAddr, u32 *data, u8 size)
 Reads from GPU hardware registers. More...
 
Result GSPGPU_RegisterInterruptRelayQueue (Handle eventHandle, u32 flags, Handle *outMemHandle, u8 *threadID)
 Registers the interrupt relay queue. More...
 
+Result GSPGPU_UnregisterInterruptRelayQueue (void)
 Unregisters the interrupt relay queue.
 
+Result GSPGPU_TriggerCmdReqQueue (void)
 Triggers a handling of commands written to shared memory.
 
Result GSPGPU_SetLedForceOff (bool disable)
 Sets 3D_LEDSTATE to the input state value. More...
 
+

Detailed Description

+

GSPGPU service.

+

Enumeration Type Documentation

+ +

◆ GSPGPU_Event

+ +
+
+ + + + +
enum GSPGPU_Event
+
+ +

GSPGPU events.

+ + + + + + + + + +
Enumerator
GSPGPU_EVENT_PSC0 

Memory fill completed.

+
GSPGPU_EVENT_PSC1 

TODO.

+
GSPGPU_EVENT_VBlank0 

TODO.

+
GSPGPU_EVENT_VBlank1 

TODO.

+
GSPGPU_EVENT_PPF 

Display transfer finished.

+
GSPGPU_EVENT_P3D 

Command list processing finished.

+
GSPGPU_EVENT_DMA 

TODO.

+
GSPGPU_EVENT_MAX 

Used to know how many events there are.

+
+ +
+
+ +

◆ GSPGPU_FramebufferFormat

+ +
+
+ + + + +
enum GSPGPU_FramebufferFormat
+
+ +

Framebuffer format.

+ + + + + + +
Enumerator
GSP_RGBA8_OES 

RGBA8. (4 bytes)

+
GSP_BGR8_OES 

BGR8. (3 bytes)

+
GSP_RGB565_OES 

RGB565. (2 bytes)

+
GSP_RGB5_A1_OES 

RGB5A1. (2 bytes)

+
GSP_RGBA4_OES 

RGBA4. (2 bytes)

+
+ +
+
+

Function Documentation

+ +

◆ gspGetBytesPerPixel()

+ +
+
+ + + + + +
+ + + + + + + + +
static unsigned gspGetBytesPerPixel (GSPGPU_FramebufferFormat format)
+
+inlinestatic
+
+ +

Gets the number of bytes per pixel for the specified format.

+
Parameters
+ + +
formatSee GSPGPU_FramebufferFormat.
+
+
+
Returns
Bytes per pixel.
+ +
+
+ +

◆ gspGetSessionHandle()

+ +
+
+ + + + + + + + +
Handle* gspGetSessionHandle (void )
+
+ +

Gets a pointer to the current gsp::Gpu session handle.

+
Returns
A pointer to the current gsp::Gpu session handle.
+ +
+
+ +

◆ GSPGPU_AcquireRight()

+ +
+
+ + + + + + + + +
Result GSPGPU_AcquireRight (u8 flags)
+
+ +

Acquires GPU rights.

+
Parameters
+ + +
flagsFlags to acquire with.
+
+
+ +
+
+ +

◆ GSPGPU_FlushDataCache()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result GSPGPU_FlushDataCache (const void * adr,
u32 size 
)
+
+ +

Flushes memory from the data cache.

+
Parameters
+ + + +
adrAddress to flush.
sizeSize of the memory to flush.
+
+
+
Examples
audio/mic/source/main.c, and mvd/source/main.c.
+
+ +
+
+ +

◆ GSPGPU_ImportDisplayCaptureInfo()

+ +
+
+ + + + + + + + +
Result GSPGPU_ImportDisplayCaptureInfo (GSPGPU_CaptureInfocaptureinfo)
+
+ +

Retrieves display capture info.

+
Parameters
+ + +
captureinfoPointer to output capture info to.
+
+
+ +
+
+ +

◆ GSPGPU_InvalidateDataCache()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result GSPGPU_InvalidateDataCache (const void * adr,
u32 size 
)
+
+ +

Invalidates memory in the data cache.

+
Parameters
+ + + +
adrAddress to invalidate.
sizeSize of the memory to invalidate.
+
+
+ +
+
+ +

◆ GSPGPU_ReadHWRegs()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result GSPGPU_ReadHWRegs (u32 regAddr,
u32data,
u8 size 
)
+
+ +

Reads from GPU hardware registers.

+
Parameters
+ + + + +
regAddrRegister address to read from.
dataBuffer to read data to.
sizeSize of the buffer.
+
+
+ +
+
+ +

◆ GSPGPU_RegisterInterruptRelayQueue()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result GSPGPU_RegisterInterruptRelayQueue (Handle eventHandle,
u32 flags,
HandleoutMemHandle,
u8threadID 
)
+
+ +

Registers the interrupt relay queue.

+
Parameters
+ + + + + +
eventHandleHandle of the GX command event.
flagsFlags to register with.
outMemHandlePointer to output the shared memory handle to.
threadIDPointer to output the GSP thread ID to.
+
+
+ +
+
+ +

◆ GSPGPU_SetBufferSwap()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result GSPGPU_SetBufferSwap (u32 screenid,
const GSPGPU_FramebufferInfoframebufinfo 
)
+
+ +

Updates a screen's framebuffer state.

+
Parameters
+ + + +
screenidID of the screen to update.
framebufinfoFramebuffer information to update with.
+
+
+ +
+
+ +

◆ GSPGPU_SetLcdForceBlack()

+ +
+
+ + + + + + + + +
Result GSPGPU_SetLcdForceBlack (u8 flags)
+
+ +

Sets whether to force the LCD to black.

+
Parameters
+ + +
flagsWhether to force the LCD to black. (0 = no, non-zero = yes)
+
+
+ +
+
+ +

◆ GSPGPU_SetLedForceOff()

+ +
+
+ + + + + + + + +
Result GSPGPU_SetLedForceOff (bool disable)
+
+ +

Sets 3D_LEDSTATE to the input state value.

+
Parameters
+ + +
disableFalse = 3D LED enable, true = 3D LED disable.
+
+
+ +
+
+ +

◆ GSPGPU_WriteHWRegs()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result GSPGPU_WriteHWRegs (u32 regAddr,
const u32data,
u8 size 
)
+
+ +

Writes to GPU hardware registers.

+
Parameters
+ + + + +
regAddrRegister address to write to.
dataData to write.
sizeSize of the data to write.
+
+
+ +
+
+ +

◆ GSPGPU_WriteHWRegsWithMask()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result GSPGPU_WriteHWRegsWithMask (u32 regAddr,
const u32data,
u8 datasize,
const u32maskdata,
u8 masksize 
)
+
+ +

Writes to GPU hardware registers with a mask.

+
Parameters
+ + + + + + +
regAddrRegister address to write to.
dataData to write.
datasizeSize of the data to write.
maskdataData of the mask.
masksizeSize of the mask.
+
+
+ +
+
+ +

◆ gspIsPresentPending()

+ +
+
+ + + + + + + + +
bool gspIsPresentPending (unsigned screen)
+
+ +

Returns true if a prior gspPresentBuffer command is still pending to be processed by GSP.

+
Parameters
+ + +
screenScreen ID (see GSP_SCREEN_TOP and GSP_SCREEN_BOTTOM)
+
+
+ +
+
+ +

◆ gspPresentBuffer()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
bool gspPresentBuffer (unsigned screen,
unsigned swap,
const void * fb_a,
const void * fb_b,
u32 stride,
u32 mode 
)
+
+ +

Presents a buffer to the specified screen.

+
Parameters
+ + + + + + + +
screenScreen ID (see GSP_SCREEN_TOP and GSP_SCREEN_BOTTOM)
swapSpecifies which set of framebuffer registers to configure and activate (0 or 1)
fb_aPointer to the framebuffer (in stereo mode: left eye)
fb_bPointer to the secondary framebuffer (only used in stereo mode for the right eye, otherwise pass the same as fb_a)
strideStride in bytes between scanlines
modeMode configuration to be written to LCD register
+
+
+
Returns
true if a buffer had already been presented to the screen but not processed yet by GSP, false otherwise.
+
Note
The most recently presented buffer is processed and configured during the specified screen's next VBlank event.
+ +
+
+ +

◆ gspSetEventCallback()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gspSetEventCallback (GSPGPU_Event id,
ThreadFunc cb,
void * data,
bool oneShot 
)
+
+ +

Configures a callback to run when a GSPGPU event occurs.

+
Parameters
+ + + + + +
idID of the event.
cbCallback to run.
dataData to be passed to the callback.
oneShotWhen true, the callback is only executed once. When false, the callback is executed every time the event occurs.
+
+
+ +
+
+ +

◆ gspSubmitGxCommand()

+ +
+
+ + + + + + + + +
Result gspSubmitGxCommand (const u32 gxCommand[0x8])
+
+ +

Submits a GX command.

+
Parameters
+ + +
gxCommandGX command to execute.
+
+
+ +
+
+ +

◆ gspWaitForAnyEvent()

+ +
+
+ + + + + + + + +
GSPGPU_Event gspWaitForAnyEvent (void )
+
+ +

Waits for any GSPGPU event to occur.

+
Returns
The ID of the event that occurred.
+

The function returns immediately if there are unprocessed events at the time of call.

+ +
+
+ +

◆ gspWaitForEvent()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void gspWaitForEvent (GSPGPU_Event id,
bool nextEvent 
)
+
+ +

Waits for a GSPGPU event to occur.

+
Parameters
+ + + +
idID of the event.
nextEventWhether to discard the current event and wait for the next event.
+
+
+
Examples
sdmc/source/main.c.
+
+ +
+
+
+ + + + diff --git a/gspgpu_8h_source.html b/gspgpu_8h_source.html new file mode 100644 index 000000000..5d78a2021 --- /dev/null +++ b/gspgpu_8h_source.html @@ -0,0 +1,411 @@ + + + + + + + +libctru: include/3ds/services/gspgpu.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
gspgpu.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file gspgpu.h
+
3  * @brief GSPGPU service.
+
4  */
+
5 #pragma once
+
6 
+
7 #define GSP_SCREEN_TOP 0 ///< ID of the top screen.
+
8 #define GSP_SCREEN_BOTTOM 1 ///< ID of the bottom screen.
+
9 #define GSP_SCREEN_WIDTH 240 ///< Width of the top/bottom screens.
+
10 #define GSP_SCREEN_HEIGHT_TOP 400 ///< Height of the top screen.
+
11 #define GSP_SCREEN_HEIGHT_TOP_2X 800 ///< Height of the top screen (2x).
+
12 #define GSP_SCREEN_HEIGHT_BOTTOM 320 ///< Height of the bottom screen.
+
13 
+
14 /// Framebuffer information.
+
15 typedef struct
+
16 {
+
17  u32 active_framebuf; ///< Active framebuffer. (0 = first, 1 = second)
+
18  u32 *framebuf0_vaddr; ///< Framebuffer virtual address, for the main screen this is the 3D left framebuffer.
+
19  u32 *framebuf1_vaddr; ///< For the main screen: 3D right framebuffer address.
+
20  u32 framebuf_widthbytesize; ///< Value for 0x1EF00X90, controls framebuffer width.
+
21  u32 format; ///< Framebuffer format, this u16 is written to the low u16 for LCD register 0x1EF00X70.
+
22  u32 framebuf_dispselect; ///< Value for 0x1EF00X78, controls which framebuffer is displayed.
+
23  u32 unk; ///< Unknown.
+ +
25 
+
26 /// Framebuffer format.
+
27 typedef enum
+
28 {
+
29  GSP_RGBA8_OES=0, ///< RGBA8. (4 bytes)
+
30  GSP_BGR8_OES=1, ///< BGR8. (3 bytes)
+
31  GSP_RGB565_OES=2, ///< RGB565. (2 bytes)
+
32  GSP_RGB5_A1_OES=3, ///< RGB5A1. (2 bytes)
+
33  GSP_RGBA4_OES=4 ///< RGBA4. (2 bytes)
+ +
35 
+
36 /// Capture info entry.
+
37 typedef struct
+
38 {
+
39  u32 *framebuf0_vaddr; ///< Left framebuffer.
+
40  u32 *framebuf1_vaddr; ///< Right framebuffer.
+
41  u32 format; ///< Framebuffer format.
+
42  u32 framebuf_widthbytesize; ///< Framebuffer pitch.
+ +
44 
+
45 /// Capture info.
+
46 typedef struct
+
47 {
+
48  GSPGPU_CaptureInfoEntry screencapture[2]; ///< Capture info entries, one for each screen.
+ +
50 
+
51 /// GSPGPU events.
+
52 typedef enum
+
53 {
+
54  GSPGPU_EVENT_PSC0 = 0, ///< Memory fill completed.
+
55  GSPGPU_EVENT_PSC1, ///< TODO
+ + +
58  GSPGPU_EVENT_PPF, ///< Display transfer finished.
+
59  GSPGPU_EVENT_P3D, ///< Command list processing finished.
+
60  GSPGPU_EVENT_DMA, ///< TODO
+
61 
+
62  GSPGPU_EVENT_MAX, ///< Used to know how many events there are.
+
63 } GSPGPU_Event;
+
64 
+
65 /**
+
66  * @brief Gets the number of bytes per pixel for the specified format.
+
67  * @param format See \ref GSPGPU_FramebufferFormat.
+
68  * @return Bytes per pixel.
+
69  */
+
70 static inline unsigned gspGetBytesPerPixel(GSPGPU_FramebufferFormat format)
+
71 {
+
72  switch (format)
+
73  {
+
74  case GSP_RGBA8_OES:
+
75  return 4;
+
76  default:
+
77  case GSP_BGR8_OES:
+
78  return 3;
+
79  case GSP_RGB565_OES:
+
80  case GSP_RGB5_A1_OES:
+
81  case GSP_RGBA4_OES:
+
82  return 2;
+
83  }
+
84 }
+
85 
+
86 /// Initializes GSPGPU.
+ +
88 
+
89 /// Exits GSPGPU.
+
90 void gspExit(void);
+
91 
+
92 /**
+
93  * @brief Gets a pointer to the current gsp::Gpu session handle.
+
94  * @return A pointer to the current gsp::Gpu session handle.
+
95  */
+ +
97 
+
98 /// Returns true if the application currently has GPU rights.
+
99 bool gspHasGpuRight(void);
+
100 
+
101 /**
+
102  * @brief Presents a buffer to the specified screen.
+
103  * @param screen Screen ID (see \ref GSP_SCREEN_TOP and \ref GSP_SCREEN_BOTTOM)
+
104  * @param swap Specifies which set of framebuffer registers to configure and activate (0 or 1)
+
105  * @param fb_a Pointer to the framebuffer (in stereo mode: left eye)
+
106  * @param fb_b Pointer to the secondary framebuffer (only used in stereo mode for the right eye, otherwise pass the same as fb_a)
+
107  * @param stride Stride in bytes between scanlines
+
108  * @param mode Mode configuration to be written to LCD register
+
109  * @return true if a buffer had already been presented to the screen but not processed yet by GSP, false otherwise.
+
110  * @note The most recently presented buffer is processed and configured during the specified screen's next VBlank event.
+
111  */
+
112 bool gspPresentBuffer(unsigned screen, unsigned swap, const void* fb_a, const void* fb_b, u32 stride, u32 mode);
+
113 
+
114 /**
+
115  * @brief Returns true if a prior \ref gspPresentBuffer command is still pending to be processed by GSP.
+
116  * @param screen Screen ID (see \ref GSP_SCREEN_TOP and \ref GSP_SCREEN_BOTTOM)
+
117  */
+
118 bool gspIsPresentPending(unsigned screen);
+
119 
+
120 /**
+
121  * @brief Configures a callback to run when a GSPGPU event occurs.
+
122  * @param id ID of the event.
+
123  * @param cb Callback to run.
+
124  * @param data Data to be passed to the callback.
+
125  * @param oneShot When true, the callback is only executed once. When false, the callback is executed every time the event occurs.
+
126  */
+
127 void gspSetEventCallback(GSPGPU_Event id, ThreadFunc cb, void* data, bool oneShot);
+
128 
+
129 /**
+
130  * @brief Waits for a GSPGPU event to occur.
+
131  * @param id ID of the event.
+
132  * @param nextEvent Whether to discard the current event and wait for the next event.
+
133  */
+
134 void gspWaitForEvent(GSPGPU_Event id, bool nextEvent);
+
135 
+
136 /**
+
137  * @brief Waits for any GSPGPU event to occur.
+
138  * @return The ID of the event that occurred.
+
139  *
+
140  * The function returns immediately if there are unprocessed events at the time of call.
+
141  */
+ +
143 
+
144 /// Waits for PSC0
+
145 #define gspWaitForPSC0() gspWaitForEvent(GSPGPU_EVENT_PSC0, false)
+
146 
+
147 /// Waits for PSC1
+
148 #define gspWaitForPSC1() gspWaitForEvent(GSPGPU_EVENT_PSC1, false)
+
149 
+
150 /// Waits for VBlank.
+
151 #define gspWaitForVBlank() gspWaitForVBlank0()
+
152 
+
153 /// Waits for VBlank0.
+
154 #define gspWaitForVBlank0() gspWaitForEvent(GSPGPU_EVENT_VBlank0, true)
+
155 
+
156 /// Waits for VBlank1.
+
157 #define gspWaitForVBlank1() gspWaitForEvent(GSPGPU_EVENT_VBlank1, true)
+
158 
+
159 /// Waits for PPF.
+
160 #define gspWaitForPPF() gspWaitForEvent(GSPGPU_EVENT_PPF, false)
+
161 
+
162 /// Waits for P3D.
+
163 #define gspWaitForP3D() gspWaitForEvent(GSPGPU_EVENT_P3D, false)
+
164 
+
165 /// Waits for DMA.
+
166 #define gspWaitForDMA() gspWaitForEvent(GSPGPU_EVENT_DMA, false)
+
167 
+
168 /**
+
169  * @brief Submits a GX command.
+
170  * @param gxCommand GX command to execute.
+
171  */
+
172 Result gspSubmitGxCommand(const u32 gxCommand[0x8]);
+
173 
+
174 /**
+
175  * @brief Acquires GPU rights.
+
176  * @param flags Flags to acquire with.
+
177  */
+ +
179 
+
180 /// Releases GPU rights.
+ +
182 
+
183 /**
+
184  * @brief Retrieves display capture info.
+
185  * @param captureinfo Pointer to output capture info to.
+
186  */
+ +
188 
+
189 /// Saves the VRAM sys area.
+ +
191 
+
192 /// Resets the GPU
+ +
194 
+
195 /// Restores the VRAM sys area.
+ +
197 
+
198 /**
+
199  * @brief Sets whether to force the LCD to black.
+
200  * @param flags Whether to force the LCD to black. (0 = no, non-zero = yes)
+
201  */
+ +
203 
+
204 /**
+
205  * @brief Updates a screen's framebuffer state.
+
206  * @param screenid ID of the screen to update.
+
207  * @param framebufinfo Framebuffer information to update with.
+
208  */
+
209 Result GSPGPU_SetBufferSwap(u32 screenid, const GSPGPU_FramebufferInfo* framebufinfo);
+
210 
+
211 /**
+
212  * @brief Flushes memory from the data cache.
+
213  * @param adr Address to flush.
+
214  * @param size Size of the memory to flush.
+
215  */
+
216 Result GSPGPU_FlushDataCache(const void* adr, u32 size);
+
217 
+
218 /**
+
219  * @brief Invalidates memory in the data cache.
+
220  * @param adr Address to invalidate.
+
221  * @param size Size of the memory to invalidate.
+
222  */
+
223 Result GSPGPU_InvalidateDataCache(const void* adr, u32 size);
+
224 
+
225 /**
+
226  * @brief Writes to GPU hardware registers.
+
227  * @param regAddr Register address to write to.
+
228  * @param data Data to write.
+
229  * @param size Size of the data to write.
+
230  */
+
231 Result GSPGPU_WriteHWRegs(u32 regAddr, const u32* data, u8 size);
+
232 
+
233 /**
+
234  * @brief Writes to GPU hardware registers with a mask.
+
235  * @param regAddr Register address to write to.
+
236  * @param data Data to write.
+
237  * @param datasize Size of the data to write.
+
238  * @param maskdata Data of the mask.
+
239  * @param masksize Size of the mask.
+
240  */
+
241 Result GSPGPU_WriteHWRegsWithMask(u32 regAddr, const u32* data, u8 datasize, const u32* maskdata, u8 masksize);
+
242 
+
243 /**
+
244  * @brief Reads from GPU hardware registers.
+
245  * @param regAddr Register address to read from.
+
246  * @param data Buffer to read data to.
+
247  * @param size Size of the buffer.
+
248  */
+
249 Result GSPGPU_ReadHWRegs(u32 regAddr, u32* data, u8 size);
+
250 
+
251 /**
+
252  * @brief Registers the interrupt relay queue.
+
253  * @param eventHandle Handle of the GX command event.
+
254  * @param flags Flags to register with.
+
255  * @param outMemHandle Pointer to output the shared memory handle to.
+
256  * @param threadID Pointer to output the GSP thread ID to.
+
257  */
+
258 Result GSPGPU_RegisterInterruptRelayQueue(Handle eventHandle, u32 flags, Handle* outMemHandle, u8* threadID);
+
259 
+
260 /// Unregisters the interrupt relay queue.
+ +
262 
+
263 /// Triggers a handling of commands written to shared memory.
+ +
265 
+
266 /**
+
267  * @brief Sets 3D_LEDSTATE to the input state value.
+
268  * @param disable False = 3D LED enable, true = 3D LED disable.
+
269  */
+ +
bool gspIsPresentPending(unsigned screen)
Returns true if a prior gspPresentBuffer command is still pending to be processed by GSP.
+
Result gspInit(void)
Initializes GSPGPU.
+
GSPGPU_Event
GSPGPU events.
Definition: gspgpu.h:53
+
@ GSPGPU_EVENT_MAX
Used to know how many events there are.
Definition: gspgpu.h:62
+
@ GSPGPU_EVENT_PPF
Display transfer finished.
Definition: gspgpu.h:58
+
@ GSPGPU_EVENT_VBlank0
TODO.
Definition: gspgpu.h:56
+
@ GSPGPU_EVENT_DMA
TODO.
Definition: gspgpu.h:60
+
@ GSPGPU_EVENT_PSC0
Memory fill completed.
Definition: gspgpu.h:54
+
@ GSPGPU_EVENT_PSC1
TODO.
Definition: gspgpu.h:55
+
@ GSPGPU_EVENT_VBlank1
TODO.
Definition: gspgpu.h:57
+
@ GSPGPU_EVENT_P3D
Command list processing finished.
Definition: gspgpu.h:59
+
Result GSPGPU_SetLcdForceBlack(u8 flags)
Sets whether to force the LCD to black.
+
void gspExit(void)
Exits GSPGPU.
+
Result GSPGPU_FlushDataCache(const void *adr, u32 size)
Flushes memory from the data cache.
+
Result GSPGPU_AcquireRight(u8 flags)
Acquires GPU rights.
+
void gspSetEventCallback(GSPGPU_Event id, ThreadFunc cb, void *data, bool oneShot)
Configures a callback to run when a GSPGPU event occurs.
+
Result gspSubmitGxCommand(const u32 gxCommand[0x8])
Submits a GX command.
+
Handle * gspGetSessionHandle(void)
Gets a pointer to the current gsp::Gpu session handle.
+
Result GSPGPU_SetLedForceOff(bool disable)
Sets 3D_LEDSTATE to the input state value.
+
Result GSPGPU_RegisterInterruptRelayQueue(Handle eventHandle, u32 flags, Handle *outMemHandle, u8 *threadID)
Registers the interrupt relay queue.
+
Result GSPGPU_SaveVramSysArea(void)
Saves the VRAM sys area.
+
Result GSPGPU_RestoreVramSysArea(void)
Restores the VRAM sys area.
+
Result GSPGPU_ImportDisplayCaptureInfo(GSPGPU_CaptureInfo *captureinfo)
Retrieves display capture info.
+
Result GSPGPU_WriteHWRegs(u32 regAddr, const u32 *data, u8 size)
Writes to GPU hardware registers.
+
Result GSPGPU_UnregisterInterruptRelayQueue(void)
Unregisters the interrupt relay queue.
+
GSPGPU_Event gspWaitForAnyEvent(void)
Waits for any GSPGPU event to occur.
+
static unsigned gspGetBytesPerPixel(GSPGPU_FramebufferFormat format)
Gets the number of bytes per pixel for the specified format.
Definition: gspgpu.h:70
+
void gspWaitForEvent(GSPGPU_Event id, bool nextEvent)
Waits for a GSPGPU event to occur.
+
Result GSPGPU_ReleaseRight(void)
Releases GPU rights.
+
Result GSPGPU_TriggerCmdReqQueue(void)
Triggers a handling of commands written to shared memory.
+
bool gspHasGpuRight(void)
Returns true if the application currently has GPU rights.
+
Result GSPGPU_InvalidateDataCache(const void *adr, u32 size)
Invalidates memory in the data cache.
+
bool gspPresentBuffer(unsigned screen, unsigned swap, const void *fb_a, const void *fb_b, u32 stride, u32 mode)
Presents a buffer to the specified screen.
+
Result GSPGPU_WriteHWRegsWithMask(u32 regAddr, const u32 *data, u8 datasize, const u32 *maskdata, u8 masksize)
Writes to GPU hardware registers with a mask.
+
GSPGPU_FramebufferFormat
Framebuffer format.
Definition: gspgpu.h:28
+
@ GSP_RGB5_A1_OES
RGB5A1. (2 bytes)
Definition: gspgpu.h:32
+
@ GSP_RGBA4_OES
RGBA4. (2 bytes)
Definition: gspgpu.h:33
+
@ GSP_BGR8_OES
BGR8. (3 bytes)
Definition: gspgpu.h:30
+
@ GSP_RGBA8_OES
RGBA8. (4 bytes)
Definition: gspgpu.h:29
+
@ GSP_RGB565_OES
RGB565. (2 bytes)
Definition: gspgpu.h:31
+
Result GSPGPU_ResetGpuCore(void)
Resets the GPU.
+
Result GSPGPU_ReadHWRegs(u32 regAddr, u32 *data, u8 size)
Reads from GPU hardware registers.
+
Result GSPGPU_SetBufferSwap(u32 screenid, const GSPGPU_FramebufferInfo *framebufinfo)
Updates a screen's framebuffer state.
+
Capture info entry.
Definition: gspgpu.h:38
+
u32 format
Framebuffer format.
Definition: gspgpu.h:41
+
u32 * framebuf1_vaddr
Right framebuffer.
Definition: gspgpu.h:40
+
u32 * framebuf0_vaddr
Left framebuffer.
Definition: gspgpu.h:39
+
u32 framebuf_widthbytesize
Framebuffer pitch.
Definition: gspgpu.h:42
+
Capture info.
Definition: gspgpu.h:47
+
Framebuffer information.
Definition: gspgpu.h:16
+
u32 unk
Unknown.
Definition: gspgpu.h:23
+
u32 framebuf_widthbytesize
Value for 0x1EF00X90, controls framebuffer width.
Definition: gspgpu.h:20
+
u32 format
Framebuffer format, this u16 is written to the low u16 for LCD register 0x1EF00X70.
Definition: gspgpu.h:21
+
u32 * framebuf0_vaddr
Framebuffer virtual address, for the main screen this is the 3D left framebuffer.
Definition: gspgpu.h:18
+
u32 active_framebuf
Active framebuffer. (0 = first, 1 = second)
Definition: gspgpu.h:17
+
u32 * framebuf1_vaddr
For the main screen: 3D right framebuffer address.
Definition: gspgpu.h:19
+
u32 framebuf_dispselect
Value for 0x1EF00X78, controls which framebuffer is displayed.
Definition: gspgpu.h:22
+
void(* ThreadFunc)(void *)
Thread entrypoint function.
Definition: types.h:43
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/gsplcd_8h.html b/gsplcd_8h.html new file mode 100644 index 000000000..65339b587 --- /dev/null +++ b/gsplcd_8h.html @@ -0,0 +1,410 @@ + + + + + + + +libctru: include/3ds/services/gsplcd.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
gsplcd.h File Reference
+
+
+ +

GSPLCD service. +More...

+
#include <3ds/types.h>
+#include <3ds/services/gspgpu.h>
+
+

Go to the source code of this file.

+ + + + + +

+Enumerations

enum  {
+  GSPLCD_SCREEN_TOP = BIT(GSP_SCREEN_TOP) +,
+  GSPLCD_SCREEN_BOTTOM = BIT(GSP_SCREEN_BOTTOM) +,
+  GSPLCD_SCREEN_BOTH = GSPLCD_SCREEN_TOP | GSPLCD_SCREEN_BOTTOM +
+ }
 LCD screens. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+Result gspLcdInit (void)
 Initializes GSPLCD.
 
+void gspLcdExit (void)
 Exits GSPLCD.
 
HandlegspLcdGetSessionHandle (void)
 Gets a pointer to the current gsp::Lcd session handle. More...
 
+Result GSPLCD_PowerOnAllBacklights (void)
 Powers on both backlights.
 
+Result GSPLCD_PowerOffAllBacklights (void)
 Powers off both backlights.
 
Result GSPLCD_PowerOnBacklight (u32 screen)
 Powers on the backlight. More...
 
Result GSPLCD_PowerOffBacklight (u32 screen)
 Powers off the backlight. More...
 
Result GSPLCD_SetLedForceOff (bool disable)
 Sets 3D_LEDSTATE to the input state value. More...
 
Result GSPLCD_GetVendors (u8 *vendors)
 Gets the LCD screens' vendors. More...
 
Result GSPLCD_GetBrightness (u32 screen, u32 *brightness)
 Gets the LCD screens' brightness. More...
 
Result GSPLCD_SetBrightness (u32 screen, u32 brightness)
 Sets the LCD screens' brightness. More...
 
Result GSPLCD_SetBrightnessRaw (u32 screen, u32 brightness)
 Sets the LCD screens' raw brightness. More...
 
+

Detailed Description

+

GSPLCD service.

+

Enumeration Type Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

LCD screens.

+ + + + +
Enumerator
GSPLCD_SCREEN_TOP 

Top screen.

+
GSPLCD_SCREEN_BOTTOM 

Bottom screen.

+
GSPLCD_SCREEN_BOTH 

Both screens.

+
+ +
+
+

Function Documentation

+ +

◆ GSPLCD_GetBrightness()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result GSPLCD_GetBrightness (u32 screen,
u32brightness 
)
+
+ +

Gets the LCD screens' brightness.

+

Stubbed on old 3ds.

Parameters
+ + + +
screenScreen to get the brightness value of.
brightnessBrightness value returned.
+
+
+ +
+
+ +

◆ GSPLCD_GetVendors()

+ +
+
+ + + + + + + + +
Result GSPLCD_GetVendors (u8vendors)
+
+ +

Gets the LCD screens' vendors.

+

Stubbed on old 3ds.

Parameters
+ + +
vendorPointer to output the screen vendors to.
+
+
+ +
+
+ +

◆ GSPLCD_PowerOffBacklight()

+ +
+
+ + + + + + + + +
Result GSPLCD_PowerOffBacklight (u32 screen)
+
+ +

Powers off the backlight.

+
Parameters
+ + +
screenScreen to power off.
+
+
+ +
+
+ +

◆ GSPLCD_PowerOnBacklight()

+ +
+
+ + + + + + + + +
Result GSPLCD_PowerOnBacklight (u32 screen)
+
+ +

Powers on the backlight.

+
Parameters
+ + +
screenScreen to power on.
+
+
+ +
+
+ +

◆ GSPLCD_SetBrightness()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result GSPLCD_SetBrightness (u32 screen,
u32 brightness 
)
+
+ +

Sets the LCD screens' brightness.

+
Parameters
+ + + +
screenScreen to set the brightness value of.
brightnessBrightness value set.
+
+
+ +
+
+ +

◆ GSPLCD_SetBrightnessRaw()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result GSPLCD_SetBrightnessRaw (u32 screen,
u32 brightness 
)
+
+ +

Sets the LCD screens' raw brightness.

+
Parameters
+ + + +
screenScreen to set the brightness value of.
brightnessBrightness value set.
+
+
+ +
+
+ +

◆ GSPLCD_SetLedForceOff()

+ +
+
+ + + + + + + + +
Result GSPLCD_SetLedForceOff (bool disable)
+
+ +

Sets 3D_LEDSTATE to the input state value.

+
Parameters
+ + +
disableFalse = 3D LED enable, true = 3D LED disable.
+
+
+ +
+
+ +

◆ gspLcdGetSessionHandle()

+ +
+
+ + + + + + + + +
Handle* gspLcdGetSessionHandle (void )
+
+ +

Gets a pointer to the current gsp::Lcd session handle.

+
Returns
A pointer to the current gsp::Lcd session handle.
+ +
+
+
+ + + + diff --git a/gsplcd_8h_source.html b/gsplcd_8h_source.html new file mode 100644 index 000000000..5c486ec51 --- /dev/null +++ b/gsplcd_8h_source.html @@ -0,0 +1,181 @@ + + + + + + + +libctru: include/3ds/services/gsplcd.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
gsplcd.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file gsplcd.h
+
3  * @brief GSPLCD service.
+
4  */
+
5 #pragma once
+
6 #include <3ds/types.h>
+
7 #include <3ds/services/gspgpu.h>
+
8 
+
9 /// LCD screens.
+
10 enum
+
11 {
+
12  GSPLCD_SCREEN_TOP = BIT(GSP_SCREEN_TOP), ///< Top screen.
+
13  GSPLCD_SCREEN_BOTTOM = BIT(GSP_SCREEN_BOTTOM), ///< Bottom screen.
+ +
15 };
+
16 
+
17 /// Initializes GSPLCD.
+ +
19 
+
20 /// Exits GSPLCD.
+
21 void gspLcdExit(void);
+
22 
+
23 /**
+
24  * @brief Gets a pointer to the current gsp::Lcd session handle.
+
25  * @return A pointer to the current gsp::Lcd session handle.
+
26  */
+ +
28 
+
29 /// Powers on both backlights.
+ +
31 
+
32 /// Powers off both backlights.
+ +
34 
+
35 /**
+
36  * @brief Powers on the backlight.
+
37  * @param screen Screen to power on.
+
38  */
+ +
40 
+
41 /**
+
42  * @brief Powers off the backlight.
+
43  * @param screen Screen to power off.
+
44  */
+ +
46 
+
47 /**
+
48  * @brief Sets 3D_LEDSTATE to the input state value.
+
49  * @param disable False = 3D LED enable, true = 3D LED disable.
+
50  */
+ +
52 
+
53 /**
+
54  * @brief Gets the LCD screens' vendors. Stubbed on old 3ds.
+
55  * @param vendor Pointer to output the screen vendors to.
+
56  */
+ +
58 
+
59 /**
+
60  * @brief Gets the LCD screens' brightness. Stubbed on old 3ds.
+
61  * @param screen Screen to get the brightness value of.
+
62  * @param brightness Brightness value returned.
+
63  */
+
64 Result GSPLCD_GetBrightness(u32 screen, u32 *brightness);
+
65 
+
66 /**
+
67  * @brief Sets the LCD screens' brightness.
+
68  * @param screen Screen to set the brightness value of.
+
69  * @param brightness Brightness value set.
+
70  */
+
71 Result GSPLCD_SetBrightness(u32 screen, u32 brightness);
+
72 
+
73 /**
+
74  * @brief Sets the LCD screens' raw brightness.
+
75  * @param screen Screen to set the brightness value of.
+
76  * @param brightness Brightness value set.
+
77  */
+
78 Result GSPLCD_SetBrightnessRaw(u32 screen, u32 brightness);
+
GSPGPU service.
+
#define GSP_SCREEN_BOTTOM
ID of the bottom screen.
Definition: gspgpu.h:8
+
#define GSP_SCREEN_TOP
ID of the top screen.
Definition: gspgpu.h:7
+
Handle * gspLcdGetSessionHandle(void)
Gets a pointer to the current gsp::Lcd session handle.
+
Result gspLcdInit(void)
Initializes GSPLCD.
+
void gspLcdExit(void)
Exits GSPLCD.
+
Result GSPLCD_PowerOffAllBacklights(void)
Powers off both backlights.
+
Result GSPLCD_PowerOnBacklight(u32 screen)
Powers on the backlight.
+
Result GSPLCD_SetBrightnessRaw(u32 screen, u32 brightness)
Sets the LCD screens' raw brightness.
+
Result GSPLCD_SetLedForceOff(bool disable)
Sets 3D_LEDSTATE to the input state value.
+
Result GSPLCD_GetVendors(u8 *vendors)
Gets the LCD screens' vendors.
+
Result GSPLCD_GetBrightness(u32 screen, u32 *brightness)
Gets the LCD screens' brightness.
+
Result GSPLCD_PowerOffBacklight(u32 screen)
Powers off the backlight.
+
Result GSPLCD_PowerOnAllBacklights(void)
Powers on both backlights.
+
Result GSPLCD_SetBrightness(u32 screen, u32 brightness)
Sets the LCD screens' brightness.
+
@ GSPLCD_SCREEN_BOTH
Both screens.
Definition: gsplcd.h:14
+
@ GSPLCD_SCREEN_TOP
Top screen.
Definition: gsplcd.h:12
+
@ GSPLCD_SCREEN_BOTTOM
Bottom screen.
Definition: gsplcd.h:13
+
Various system types.
+
#define BIT(n)
Creates a bitmask from a bit number.
Definition: types.h:47
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/gx_8h.html b/gx_8h.html new file mode 100644 index 000000000..be731b5da --- /dev/null +++ b/gx_8h.html @@ -0,0 +1,932 @@ + + + + + + + +libctru: include/3ds/gpu/gx.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
gx.h File Reference
+
+
+ +

GX commands. +More...

+ +

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

union  gxCmdEntry_s
 GX command entry. More...
 
struct  gxCmdQueue_s
 GX command queue structure. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define GX_BUFFER_DIM(w, h)   (((h)<<16)|((w)&0xFFFF))
 Creates a buffer dimension parameter from width and height values. More...
 
+#define GX_TRANSFER_FLIP_VERT(x)   ((x)<<0)
 Creates a transfer vertical flip flag.
 
+#define GX_TRANSFER_OUT_TILED(x)   ((x)<<1)
 Creates a transfer tiled output flag.
 
+#define GX_TRANSFER_RAW_COPY(x)   ((x)<<3)
 Creates a transfer raw copy flag.
 
+#define GX_TRANSFER_IN_FORMAT(x)   ((x)<<8)
 Creates a transfer input format flag.
 
+#define GX_TRANSFER_OUT_FORMAT(x)   ((x)<<12)
 Creates a transfer output format flag.
 
+#define GX_TRANSFER_SCALING(x)   ((x)<<24)
 Creates a transfer scaling flag.
 
+#define GX_CMDLIST_UPDATE_GAS_ACC   BIT(0)
 Updates gas additive blend results.
 
+#define GX_CMDLIST_FLUSH   BIT(1)
 Flushes the command list.
 
+ + + + + + + + + + +

+Enumerations

enum  GX_TRANSFER_FORMAT {
+  GX_TRANSFER_FMT_RGBA8 = 0 +,
+  GX_TRANSFER_FMT_RGB8 = 1 +,
+  GX_TRANSFER_FMT_RGB565 = 2 +,
+  GX_TRANSFER_FMT_RGB5A1 = 3 +,
+  GX_TRANSFER_FMT_RGBA4 = 4 +
+ }
 Supported transfer pixel formats. More...
 
enum  GX_TRANSFER_SCALE {
+  GX_TRANSFER_SCALE_NO = 0 +,
+  GX_TRANSFER_SCALE_X = 1 +,
+  GX_TRANSFER_SCALE_XY = 2 +
+ }
 Anti-aliasing modes. More...
 
enum  GX_FILL_CONTROL {
+  GX_FILL_TRIGGER = 0x001 +,
+  GX_FILL_FINISHED = 0x002 +,
+  GX_FILL_16BIT_DEPTH = 0x000 +,
+  GX_FILL_24BIT_DEPTH = 0x100 +,
+  GX_FILL_32BIT_DEPTH = 0x200 +
+ }
 GX transfer control flags. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void gxCmdQueueClear (gxCmdQueue_s *queue)
 Clears a GX command queue. More...
 
void gxCmdQueueAdd (gxCmdQueue_s *queue, const gxCmdEntry_s *entry)
 Adds a command to a GX command queue. More...
 
void gxCmdQueueRun (gxCmdQueue_s *queue)
 Runs a GX command queue, causing it to begin processing incoming commands as they arrive. More...
 
void gxCmdQueueStop (gxCmdQueue_s *queue)
 Stops a GX command queue from processing incoming commands. More...
 
bool gxCmdQueueWait (gxCmdQueue_s *queue, s64 timeout)
 Waits for a GX command queue to finish executing pending commands. More...
 
static void gxCmdQueueSetCallback (gxCmdQueue_s *queue, void(*callback)(gxCmdQueue_s *), void *user)
 Sets the completion callback for a GX command queue. More...
 
void GX_BindQueue (gxCmdQueue_s *queue)
 Selects a command queue to which GX_* functions will add commands instead of immediately submitting them to GX. More...
 
Result GX_RequestDma (u32 *src, u32 *dst, u32 length)
 Requests a DMA. More...
 
Result GX_ProcessCommandList (u32 *buf0a, u32 buf0s, u8 flags)
 Processes a GPU command list. More...
 
Result GX_MemoryFill (u32 *buf0a, u32 buf0v, u32 *buf0e, u16 control0, u32 *buf1a, u32 buf1v, u32 *buf1e, u16 control1)
 Fills the memory of two buffers with the given values. More...
 
Result GX_DisplayTransfer (u32 *inadr, u32 indim, u32 *outadr, u32 outdim, u32 flags)
 Initiates a display transfer. More...
 
Result GX_TextureCopy (u32 *inadr, u32 indim, u32 *outadr, u32 outdim, u32 size, u32 flags)
 Initiates a texture copy. More...
 
Result GX_FlushCacheRegions (u32 *buf0a, u32 buf0s, u32 *buf1a, u32 buf1s, u32 *buf2a, u32 buf2s)
 Flushes the cache regions of three buffers. More...
 
+

Detailed Description

+

GX commands.

+

Macro Definition Documentation

+ +

◆ GX_BUFFER_DIM

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GX_BUFFER_DIM( w,
 
)   (((h)<<16)|((w)&0xFFFF))
+
+ +

Creates a buffer dimension parameter from width and height values.

+
Parameters
+ + + +
wbuffer width for GX_DisplayTransfer, linesize for GX_TextureCopy
hbuffer height for GX_DisplayTransfer, gap for GX_TextureCopy
+
+
+ +
+
+

Enumeration Type Documentation

+ +

◆ GX_FILL_CONTROL

+ +
+
+ + + + +
enum GX_FILL_CONTROL
+
+ +

GX transfer control flags.

+ + + + + + +
Enumerator
GX_FILL_TRIGGER 

Trigger the PPF event.

+
GX_FILL_FINISHED 

Indicates if the memory fill is complete. You should not use it when requesting a transfer.

+
GX_FILL_16BIT_DEPTH 

The buffer has a 16 bit per pixel depth.

+
GX_FILL_24BIT_DEPTH 

The buffer has a 24 bit per pixel depth.

+
GX_FILL_32BIT_DEPTH 

The buffer has a 32 bit per pixel depth.

+
+ +
+
+ +

◆ GX_TRANSFER_FORMAT

+ +
+
+ + + + +
enum GX_TRANSFER_FORMAT
+
+ +

Supported transfer pixel formats.

+
See also
GSPGPU_FramebufferFormat
+ + + + + + +
Enumerator
GX_TRANSFER_FMT_RGBA8 

8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha

+
GX_TRANSFER_FMT_RGB8 

8-bit Red + 8-bit Green + 8-bit Blue

+
GX_TRANSFER_FMT_RGB565 

5-bit Red + 6-bit Green + 5-bit Blue

+
GX_TRANSFER_FMT_RGB5A1 

5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha

+
GX_TRANSFER_FMT_RGBA4 

4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha

+
+ +
+
+ +

◆ GX_TRANSFER_SCALE

+ +
+
+ + + + +
enum GX_TRANSFER_SCALE
+
+ +

Anti-aliasing modes.

+

Please remember that the framebuffer is sideways. Hence if you activate 2x1 anti-aliasing the destination dimensions are w = 240*2 and h = 400

+ + + + +
Enumerator
GX_TRANSFER_SCALE_NO 

No anti-aliasing.

+
GX_TRANSFER_SCALE_X 

2x1 anti-aliasing

+
GX_TRANSFER_SCALE_XY 

2x2 anti-aliasing

+
+ +
+
+

Function Documentation

+ +

◆ GX_BindQueue()

+ +
+
+ + + + + + + + +
void GX_BindQueue (gxCmdQueue_squeue)
+
+ +

Selects a command queue to which GX_* functions will add commands instead of immediately submitting them to GX.

+
Parameters
+ + +
queueThe GX command queue. (Pass NULL to remove the bound command queue)
+
+
+ +
+
+ +

◆ GX_DisplayTransfer()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result GX_DisplayTransfer (u32inadr,
u32 indim,
u32outadr,
u32 outdim,
u32 flags 
)
+
+ +

Initiates a display transfer.

+
Note
The PPF event will be signaled on completion.
+
Parameters
+ + + + + + +
inadrAddress of the input.
indimDimensions of the input.
outadrAddress of the output.
outdimDimensions of the output.
flagsFlags to transfer with.
+
+
+ +
+
+ +

◆ GX_FlushCacheRegions()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result GX_FlushCacheRegions (u32buf0a,
u32 buf0s,
u32buf1a,
u32 buf1s,
u32buf2a,
u32 buf2s 
)
+
+ +

Flushes the cache regions of three buffers.

+

(This command cannot be queued in a GX command queue)

Parameters
+ + + + + + + +
buf0aAddress of the first buffer.
buf0sSize of the first buffer.
buf1aAddress of the second buffer.
buf1sSize of the second buffer.
buf2aAddress of the third buffer.
buf2sSize of the third buffer.
+
+
+ +
+
+ +

◆ GX_MemoryFill()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result GX_MemoryFill (u32buf0a,
u32 buf0v,
u32buf0e,
u16 control0,
u32buf1a,
u32 buf1v,
u32buf1e,
u16 control1 
)
+
+ +

Fills the memory of two buffers with the given values.

+
Parameters
+ + + + + + + + + +
buf0aStart address of the first buffer.
buf0vDimensions of the first buffer.
buf0eEnd address of the first buffer.
control0Value to fill the first buffer with.
buf1aStart address of the second buffer.
buf1vDimensions of the second buffer.
buf1eEnd address of the second buffer.
control1Value to fill the second buffer with.
+
+
+ +
+
+ +

◆ GX_ProcessCommandList()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result GX_ProcessCommandList (u32buf0a,
u32 buf0s,
u8 flags 
)
+
+ +

Processes a GPU command list.

+
Parameters
+ + + + +
buf0aCommand list address.
buf0sCommand list size.
flagsFlags to process with.
+
+
+ +
+
+ +

◆ GX_RequestDma()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result GX_RequestDma (u32src,
u32dst,
u32 length 
)
+
+ +

Requests a DMA.

+
Parameters
+ + + + +
srcSource to DMA from.
dstDestination to DMA to.
lengthLength of data to transfer.
+
+
+ +
+
+ +

◆ GX_TextureCopy()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result GX_TextureCopy (u32inadr,
u32 indim,
u32outadr,
u32 outdim,
u32 size,
u32 flags 
)
+
+ +

Initiates a texture copy.

+
Note
The PPF event will be signaled on completion.
+
Parameters
+ + + + + + + +
inadrAddress of the input.
indimDimensions of the input.
outadrAddress of the output.
outdimDimensions of the output.
sizeSize of the data to transfer.
flagsFlags to transfer with.
+
+
+ +
+
+ +

◆ gxCmdQueueAdd()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void gxCmdQueueAdd (gxCmdQueue_squeue,
const gxCmdEntry_sentry 
)
+
+ +

Adds a command to a GX command queue.

+
Parameters
+ + + +
queueThe GX command queue.
entryThe GX command to add.
+
+
+ +
+
+ +

◆ gxCmdQueueClear()

+ +
+
+ + + + + + + + +
void gxCmdQueueClear (gxCmdQueue_squeue)
+
+ +

Clears a GX command queue.

+
Parameters
+ + +
queueThe GX command queue.
+
+
+ +
+
+ +

◆ gxCmdQueueRun()

+ +
+
+ + + + + + + + +
void gxCmdQueueRun (gxCmdQueue_squeue)
+
+ +

Runs a GX command queue, causing it to begin processing incoming commands as they arrive.

+
Parameters
+ + +
queueThe GX command queue.
+
+
+ +
+
+ +

◆ gxCmdQueueSetCallback()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static void gxCmdQueueSetCallback (gxCmdQueue_squeue,
void(*)(gxCmdQueue_s *) callback,
void * user 
)
+
+inlinestatic
+
+ +

Sets the completion callback for a GX command queue.

+
Parameters
+ + + + +
queueThe GX command queue.
callbackThe completion callback.
userUser data.
+
+
+ +
+
+ +

◆ gxCmdQueueStop()

+ +
+
+ + + + + + + + +
void gxCmdQueueStop (gxCmdQueue_squeue)
+
+ +

Stops a GX command queue from processing incoming commands.

+
Parameters
+ + +
queueThe GX command queue.
+
+
+ +
+
+ +

◆ gxCmdQueueWait()

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool gxCmdQueueWait (gxCmdQueue_squeue,
s64 timeout 
)
+
+ +

Waits for a GX command queue to finish executing pending commands.

+
Parameters
+ + + +
queueThe GX command queue.
timeoutOptional timeout (in nanoseconds) to wait (specify -1 for no timeout).
+
+
+
Returns
false if timeout expired, true otherwise.
+ +
+
+
+ + + + diff --git a/gx_8h_source.html b/gx_8h_source.html new file mode 100644 index 000000000..05686c729 --- /dev/null +++ b/gx_8h_source.html @@ -0,0 +1,329 @@ + + + + + + + +libctru: include/3ds/gpu/gx.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
gx.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file gx.h
+
3  * @brief GX commands.
+
4  */
+
5 #pragma once
+
6 
+
7 /**
+
8  * @brief Creates a buffer dimension parameter from width and height values.
+
9  * @param w buffer width for GX_DisplayTransfer, linesize for GX_TextureCopy
+
10  * @param h buffer height for GX_DisplayTransfer, gap for GX_TextureCopy
+
11  */
+
12 #define GX_BUFFER_DIM(w, h) (((h)<<16)|((w)&0xFFFF))
+
13 
+
14 /**
+
15  * @brief Supported transfer pixel formats.
+
16  * @sa GSPGPU_FramebufferFormat
+
17  */
+
18 typedef enum
+
19 {
+
20  GX_TRANSFER_FMT_RGBA8 = 0, ///< 8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
+
21  GX_TRANSFER_FMT_RGB8 = 1, ///< 8-bit Red + 8-bit Green + 8-bit Blue
+
22  GX_TRANSFER_FMT_RGB565 = 2, ///< 5-bit Red + 6-bit Green + 5-bit Blue
+
23  GX_TRANSFER_FMT_RGB5A1 = 3, ///< 5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha
+
24  GX_TRANSFER_FMT_RGBA4 = 4 ///< 4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha
+ +
26 
+
27 /**
+
28  * @brief Anti-aliasing modes
+
29  *
+
30  * Please remember that the framebuffer is sideways.
+
31  * Hence if you activate 2x1 anti-aliasing the destination dimensions are w = 240*2 and h = 400
+
32  */
+
33 typedef enum
+
34 {
+
35  GX_TRANSFER_SCALE_NO = 0, ///< No anti-aliasing
+
36  GX_TRANSFER_SCALE_X = 1, ///< 2x1 anti-aliasing
+
37  GX_TRANSFER_SCALE_XY = 2, ///< 2x2 anti-aliasing
+ +
39 
+
40 /// GX transfer control flags
+
41 typedef enum
+
42 {
+
43  GX_FILL_TRIGGER = 0x001, ///< Trigger the PPF event
+
44  GX_FILL_FINISHED = 0x002, ///< Indicates if the memory fill is complete. You should not use it when requesting a transfer.
+
45  GX_FILL_16BIT_DEPTH = 0x000, ///< The buffer has a 16 bit per pixel depth
+
46  GX_FILL_24BIT_DEPTH = 0x100, ///< The buffer has a 24 bit per pixel depth
+
47  GX_FILL_32BIT_DEPTH = 0x200, ///< The buffer has a 32 bit per pixel depth
+ +
49 
+
50 /// Creates a transfer vertical flip flag.
+
51 #define GX_TRANSFER_FLIP_VERT(x) ((x)<<0)
+
52 /// Creates a transfer tiled output flag.
+
53 #define GX_TRANSFER_OUT_TILED(x) ((x)<<1)
+
54 /// Creates a transfer raw copy flag.
+
55 #define GX_TRANSFER_RAW_COPY(x) ((x)<<3)
+
56 /// Creates a transfer input format flag.
+
57 #define GX_TRANSFER_IN_FORMAT(x) ((x)<<8)
+
58 /// Creates a transfer output format flag.
+
59 #define GX_TRANSFER_OUT_FORMAT(x) ((x)<<12)
+
60 /// Creates a transfer scaling flag.
+
61 #define GX_TRANSFER_SCALING(x) ((x)<<24)
+
62 
+
63 /// Updates gas additive blend results.
+
64 #define GX_CMDLIST_UPDATE_GAS_ACC BIT(0)
+
65 /// Flushes the command list.
+
66 #define GX_CMDLIST_FLUSH BIT(1)
+
67 
+
68 /// GX command entry
+
69 typedef union
+
70 {
+
71  u32 data[8]; ///< Raw command data
+
72  struct
+
73  {
+
74  u8 type; ///< Command type
+
75  u8 unk1;
+
76  u8 unk2;
+
77  u8 unk3;
+
78  u32 args[7]; ///< Command arguments
+
79  };
+
80 } gxCmdEntry_s;
+
81 
+
82 /// GX command queue structure
+
83 typedef struct tag_gxCmdQueue_s
+
84 {
+
85  gxCmdEntry_s* entries; ///< Pointer to array of GX command entries
+
86  u16 maxEntries; ///< Capacity of the command array
+
87  u16 numEntries; ///< Number of commands in the queue
+
88  u16 curEntry; ///< Index of the first pending command to be submitted to GX
+
89  u16 lastEntry; ///< Number of commands completed by GX
+
90  void (* callback)(struct tag_gxCmdQueue_s*); ///< User callback
+
91  void* user; ///< Data for user callback
+
92 } gxCmdQueue_s;
+
93 
+
94 /**
+
95  * @brief Clears a GX command queue.
+
96  * @param queue The GX command queue.
+
97  */
+ +
99 
+
100 /**
+
101  * @brief Adds a command to a GX command queue.
+
102  * @param queue The GX command queue.
+
103  * @param entry The GX command to add.
+
104  */
+
105 void gxCmdQueueAdd(gxCmdQueue_s* queue, const gxCmdEntry_s* entry);
+
106 
+
107 /**
+
108  * @brief Runs a GX command queue, causing it to begin processing incoming commands as they arrive.
+
109  * @param queue The GX command queue.
+
110  */
+ +
112 
+
113 /**
+
114  * @brief Stops a GX command queue from processing incoming commands.
+
115  * @param queue The GX command queue.
+
116  */
+ +
118 
+
119 /**
+
120  * @brief Waits for a GX command queue to finish executing pending commands.
+
121  * @param queue The GX command queue.
+
122  * @param timeout Optional timeout (in nanoseconds) to wait (specify -1 for no timeout).
+
123  * @return false if timeout expired, true otherwise.
+
124  */
+
125 bool gxCmdQueueWait(gxCmdQueue_s* queue, s64 timeout);
+
126 
+
127 /**
+
128  * @brief Sets the completion callback for a GX command queue.
+
129  * @param queue The GX command queue.
+
130  * @param callback The completion callback.
+
131  * @param user User data.
+
132  */
+
133 static inline void gxCmdQueueSetCallback(gxCmdQueue_s* queue, void (* callback)(gxCmdQueue_s*), void* user)
+
134 {
+
135  queue->callback = callback;
+
136  queue->user = user;
+
137 }
+
138 
+
139 /**
+
140  * @brief Selects a command queue to which GX_* functions will add commands instead of immediately submitting them to GX.
+
141  * @param queue The GX command queue. (Pass NULL to remove the bound command queue)
+
142  */
+ +
144 
+
145 /**
+
146  * @brief Requests a DMA.
+
147  * @param src Source to DMA from.
+
148  * @param dst Destination to DMA to.
+
149  * @param length Length of data to transfer.
+
150  */
+
151 Result GX_RequestDma(u32* src, u32* dst, u32 length);
+
152 
+
153 /**
+
154  * @brief Processes a GPU command list.
+
155  * @param buf0a Command list address.
+
156  * @param buf0s Command list size.
+
157  * @param flags Flags to process with.
+
158  */
+
159 Result GX_ProcessCommandList(u32* buf0a, u32 buf0s, u8 flags);
+
160 
+
161 /**
+
162  * @brief Fills the memory of two buffers with the given values.
+
163  * @param buf0a Start address of the first buffer.
+
164  * @param buf0v Dimensions of the first buffer.
+
165  * @param buf0e End address of the first buffer.
+
166  * @param control0 Value to fill the first buffer with.
+
167  * @param buf1a Start address of the second buffer.
+
168  * @param buf1v Dimensions of the second buffer.
+
169  * @param buf1e End address of the second buffer.
+
170  * @param control1 Value to fill the second buffer with.
+
171  */
+
172 Result GX_MemoryFill(u32* buf0a, u32 buf0v, u32* buf0e, u16 control0, u32* buf1a, u32 buf1v, u32* buf1e, u16 control1);
+
173 
+
174 /**
+
175  * @brief Initiates a display transfer.
+
176  * @note The PPF event will be signaled on completion.
+
177  * @param inadr Address of the input.
+
178  * @param indim Dimensions of the input.
+
179  * @param outadr Address of the output.
+
180  * @param outdim Dimensions of the output.
+
181  * @param flags Flags to transfer with.
+
182  */
+
183 Result GX_DisplayTransfer(u32* inadr, u32 indim, u32* outadr, u32 outdim, u32 flags);
+
184 
+
185 /**
+
186  * @brief Initiates a texture copy.
+
187  * @note The PPF event will be signaled on completion.
+
188  * @param inadr Address of the input.
+
189  * @param indim Dimensions of the input.
+
190  * @param outadr Address of the output.
+
191  * @param outdim Dimensions of the output.
+
192  * @param size Size of the data to transfer.
+
193  * @param flags Flags to transfer with.
+
194  */
+
195 Result GX_TextureCopy(u32* inadr, u32 indim, u32* outadr, u32 outdim, u32 size, u32 flags);
+
196 
+
197 /**
+
198  * @brief Flushes the cache regions of three buffers. (This command cannot be queued in a GX command queue)
+
199  * @param buf0a Address of the first buffer.
+
200  * @param buf0s Size of the first buffer.
+
201  * @param buf1a Address of the second buffer.
+
202  * @param buf1s Size of the second buffer.
+
203  * @param buf2a Address of the third buffer.
+
204  * @param buf2s Size of the third buffer.
+
205  */
+
206 Result GX_FlushCacheRegions(u32* buf0a, u32 buf0s, u32* buf1a, u32 buf1s, u32* buf2a, u32 buf2s);
+
void GX_BindQueue(gxCmdQueue_s *queue)
Selects a command queue to which GX_* functions will add commands instead of immediately submitting t...
+
Result GX_ProcessCommandList(u32 *buf0a, u32 buf0s, u8 flags)
Processes a GPU command list.
+
GX_TRANSFER_SCALE
Anti-aliasing modes.
Definition: gx.h:34
+
@ GX_TRANSFER_SCALE_XY
2x2 anti-aliasing
Definition: gx.h:37
+
@ GX_TRANSFER_SCALE_NO
No anti-aliasing.
Definition: gx.h:35
+
@ GX_TRANSFER_SCALE_X
2x1 anti-aliasing
Definition: gx.h:36
+
Result GX_TextureCopy(u32 *inadr, u32 indim, u32 *outadr, u32 outdim, u32 size, u32 flags)
Initiates a texture copy.
+
void gxCmdQueueAdd(gxCmdQueue_s *queue, const gxCmdEntry_s *entry)
Adds a command to a GX command queue.
+
Result GX_DisplayTransfer(u32 *inadr, u32 indim, u32 *outadr, u32 outdim, u32 flags)
Initiates a display transfer.
+
Result GX_RequestDma(u32 *src, u32 *dst, u32 length)
Requests a DMA.
+
static void gxCmdQueueSetCallback(gxCmdQueue_s *queue, void(*callback)(gxCmdQueue_s *), void *user)
Sets the completion callback for a GX command queue.
Definition: gx.h:133
+
void gxCmdQueueClear(gxCmdQueue_s *queue)
Clears a GX command queue.
+
Result GX_MemoryFill(u32 *buf0a, u32 buf0v, u32 *buf0e, u16 control0, u32 *buf1a, u32 buf1v, u32 *buf1e, u16 control1)
Fills the memory of two buffers with the given values.
+
void gxCmdQueueRun(gxCmdQueue_s *queue)
Runs a GX command queue, causing it to begin processing incoming commands as they arrive.
+
bool gxCmdQueueWait(gxCmdQueue_s *queue, s64 timeout)
Waits for a GX command queue to finish executing pending commands.
+
GX_TRANSFER_FORMAT
Supported transfer pixel formats.
Definition: gx.h:19
+
@ GX_TRANSFER_FMT_RGB565
5-bit Red + 6-bit Green + 5-bit Blue
Definition: gx.h:22
+
@ GX_TRANSFER_FMT_RGB5A1
5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha
Definition: gx.h:23
+
@ GX_TRANSFER_FMT_RGB8
8-bit Red + 8-bit Green + 8-bit Blue
Definition: gx.h:21
+
@ GX_TRANSFER_FMT_RGBA4
4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha
Definition: gx.h:24
+
@ GX_TRANSFER_FMT_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: gx.h:20
+
Result GX_FlushCacheRegions(u32 *buf0a, u32 buf0s, u32 *buf1a, u32 buf1s, u32 *buf2a, u32 buf2s)
Flushes the cache regions of three buffers.
+
void gxCmdQueueStop(gxCmdQueue_s *queue)
Stops a GX command queue from processing incoming commands.
+
GX_FILL_CONTROL
GX transfer control flags.
Definition: gx.h:42
+
@ GX_FILL_32BIT_DEPTH
The buffer has a 32 bit per pixel depth.
Definition: gx.h:47
+
@ GX_FILL_TRIGGER
Trigger the PPF event.
Definition: gx.h:43
+
@ GX_FILL_16BIT_DEPTH
The buffer has a 16 bit per pixel depth.
Definition: gx.h:45
+
@ GX_FILL_FINISHED
Indicates if the memory fill is complete. You should not use it when requesting a transfer.
Definition: gx.h:44
+
@ GX_FILL_24BIT_DEPTH
The buffer has a 24 bit per pixel depth.
Definition: gx.h:46
+
GX command queue structure.
Definition: gx.h:84
+
void(* callback)(struct tag_gxCmdQueue_s *)
User callback.
Definition: gx.h:90
+
u16 numEntries
Number of commands in the queue.
Definition: gx.h:87
+
void * user
Data for user callback.
Definition: gx.h:91
+
u16 curEntry
Index of the first pending command to be submitted to GX.
Definition: gx.h:88
+
u16 lastEntry
Number of commands completed by GX.
Definition: gx.h:89
+
u16 maxEntries
Capacity of the command array.
Definition: gx.h:86
+
gxCmdEntry_s * entries
Pointer to array of GX command entries.
Definition: gx.h:85
+
int64_t s64
64-bit signed integer
Definition: types.h:29
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
s32 Result
Function result.
Definition: types.h:42
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
GX command entry.
Definition: gx.h:70
+
u8 type
Command type.
Definition: gx.h:74
+
+ + + + diff --git a/hid_8h.html b/hid_8h.html new file mode 100644 index 000000000..b98c1d666 --- /dev/null +++ b/hid_8h.html @@ -0,0 +1,833 @@ + + + + + + + +libctru: include/3ds/services/hid.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
hid.h File Reference
+
+
+ +

HID service. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + +

+Data Structures

struct  touchPosition
 Touch position. More...
 
struct  circlePosition
 Circle Pad position. More...
 
struct  accelVector
 Accelerometer vector. More...
 
struct  angularRate
 Gyroscope angular rate. More...
 
+ + + + + + + + + + + + + + + + + + + +

+Macros

+#define scanKeys   hidScanInput
 Compatibility macro for hidScanInput.
 
+#define keysHeld   hidKeysHeld
 Compatibility macro for hidKeysHeld.
 
+#define keysDown   hidKeysDown
 Compatibility macro for hidKeysDown.
 
+#define keysUp   hidKeysUp
 Compatibility macro for hidKeysUp.
 
+#define touchRead   hidTouchRead
 Compatibility macro for hidTouchRead.
 
+#define circleRead   hidCircleRead
 Compatibility macro for hidCircleRead.
 
+ + + + + + + +

+Enumerations

enum  {
+  KEY_A = BIT(0) +,
+  KEY_B = BIT(1) +,
+  KEY_SELECT = BIT(2) +,
+  KEY_START = BIT(3) +,
+  KEY_DRIGHT = BIT(4) +,
+  KEY_DLEFT = BIT(5) +,
+  KEY_DUP = BIT(6) +,
+  KEY_DDOWN = BIT(7) +,
+  KEY_R = BIT(8) +,
+  KEY_L = BIT(9) +,
+  KEY_X = BIT(10) +,
+  KEY_Y = BIT(11) +,
+  KEY_ZL = BIT(14) +,
+  KEY_ZR = BIT(15) +,
+  KEY_TOUCH = BIT(20) +,
+  KEY_CSTICK_RIGHT = BIT(24) +,
+  KEY_CSTICK_LEFT = BIT(25) +,
+  KEY_CSTICK_UP = BIT(26) +,
+  KEY_CSTICK_DOWN = BIT(27) +,
+  KEY_CPAD_RIGHT = BIT(28) +,
+  KEY_CPAD_LEFT = BIT(29) +,
+  KEY_CPAD_UP = BIT(30) +,
+  KEY_CPAD_DOWN = BIT(31) +,
+  KEY_UP = KEY_DUP | KEY_CPAD_UP +,
+  KEY_DOWN = KEY_DDOWN | KEY_CPAD_DOWN +,
+  KEY_LEFT = KEY_DLEFT | KEY_CPAD_LEFT +,
+  KEY_RIGHT = KEY_DRIGHT | KEY_CPAD_RIGHT +
+ }
 Key values. More...
 
enum  HID_Event {
+  HIDEVENT_PAD0 = 0 +,
+  HIDEVENT_PAD1 +,
+  HIDEVENT_Accel +,
+  HIDEVENT_Gyro +,
+  HIDEVENT_DebugPad +,
+  HIDEVENT_MAX +
+ }
 HID events. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+Result hidInit (void)
 Initializes HID.
 
+void hidExit (void)
 Exits HID.
 
void hidSetRepeatParameters (u32 delay, u32 interval)
 Sets the key repeat parameters for hidKeysRepeat. More...
 
+void hidScanInput (void)
 Scans HID for input data.
 
u32 hidKeysHeld (void)
 Returns a bitmask of held buttons. More...
 
u32 hidKeysDown (void)
 Returns a bitmask of newly pressed buttons, this frame. More...
 
u32 hidKeysDownRepeat (void)
 Returns a bitmask of newly pressed or repeated buttons, this frame. More...
 
u32 hidKeysUp (void)
 Returns a bitmask of newly released buttons, this frame. More...
 
void hidTouchRead (touchPosition *pos)
 Reads the current touch position. More...
 
void hidCircleRead (circlePosition *pos)
 Reads the current circle pad position. More...
 
void hidAccelRead (accelVector *vector)
 Reads the current accelerometer data. More...
 
void hidGyroRead (angularRate *rate)
 Reads the current gyroscope data. More...
 
void hidWaitForEvent (HID_Event id, bool nextEvent)
 Waits for an HID event. More...
 
Result hidWaitForAnyEvent (bool nextEvents, Handle cancelEvent, s64 timeout)
 Waits for any HID or IRRST event. More...
 
Result HIDUSER_GetHandles (Handle *outMemHandle, Handle *eventpad0, Handle *eventpad1, Handle *eventaccel, Handle *eventgyro, Handle *eventdebugpad)
 Gets the handles for HID operation. More...
 
+Result HIDUSER_EnableAccelerometer (void)
 Enables the accelerometer.
 
+Result HIDUSER_DisableAccelerometer (void)
 Disables the accelerometer.
 
+Result HIDUSER_EnableGyroscope (void)
 Enables the gyroscope.
 
+Result HIDUSER_DisableGyroscope (void)
 Disables the gyroscope.
 
Result HIDUSER_GetGyroscopeRawToDpsCoefficient (float *coeff)
 Gets the gyroscope raw to dps coefficient. More...
 
Result HIDUSER_GetSoundVolume (u8 *volume)
 Gets the current volume slider value. More...
 
+ + + + + + + +

+Variables

+Handle hidMemHandle
 HID shared memory handle.
 
+vu32hidSharedMem
 HID shared memory.
 
+

Detailed Description

+

HID service.

+

Enumeration Type Documentation

+ +

◆ anonymous enum

+ +
+
+ + + + +
anonymous enum
+
+ +

Key values.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
KEY_A 

A.

+
KEY_B 

B.

+
KEY_SELECT 

Select.

+
KEY_START 

Start.

+
KEY_DRIGHT 

D-Pad Right.

+
KEY_DLEFT 

D-Pad Left.

+
KEY_DUP 

D-Pad Up.

+
KEY_DDOWN 

D-Pad Down.

+
KEY_R 

R.

+
KEY_L 

L.

+
KEY_X 

X.

+
KEY_Y 

Y.

+
KEY_ZL 

ZL (New 3DS only)

+
KEY_ZR 

ZR (New 3DS only)

+
KEY_TOUCH 

Touch (Not actually provided by HID)

+
KEY_CSTICK_RIGHT 

C-Stick Right (New 3DS only)

+
KEY_CSTICK_LEFT 

C-Stick Left (New 3DS only)

+
KEY_CSTICK_UP 

C-Stick Up (New 3DS only)

+
KEY_CSTICK_DOWN 

C-Stick Down (New 3DS only)

+
KEY_CPAD_RIGHT 

Circle Pad Right.

+
KEY_CPAD_LEFT 

Circle Pad Left.

+
KEY_CPAD_UP 

Circle Pad Up.

+
KEY_CPAD_DOWN 

Circle Pad Down.

+
KEY_UP 

D-Pad Up or Circle Pad Up.

+
KEY_DOWN 

D-Pad Down or Circle Pad Down.

+
KEY_LEFT 

D-Pad Left or Circle Pad Left.

+
KEY_RIGHT 

D-Pad Right or Circle Pad Right.

+
+ +
+
+ +

◆ HID_Event

+ +
+
+ + + + +
enum HID_Event
+
+ +

HID events.

+ + + + + + + +
Enumerator
HIDEVENT_PAD0 

Event signaled by HID-module, when the sharedmem+0(PAD/circle-pad)/+0xA8(touch-screen) region was updated.

+
HIDEVENT_PAD1 

Event signaled by HID-module, when the sharedmem+0(PAD/circle-pad)/+0xA8(touch-screen) region was updated.

+
HIDEVENT_Accel 

Event signaled by HID-module, when the sharedmem accelerometer state was updated.

+
HIDEVENT_Gyro 

Event signaled by HID-module, when the sharedmem gyroscope state was updated.

+
HIDEVENT_DebugPad 

Event signaled by HID-module, when the sharedmem DebugPad state was updated.

+
HIDEVENT_MAX 

Used to know how many events there are.

+
+ +
+
+

Function Documentation

+ +

◆ hidAccelRead()

+ +
+
+ + + + + + + + +
void hidAccelRead (accelVectorvector)
+
+ +

Reads the current accelerometer data.

+
Parameters
+ + +
vectorPointer to output the accelerometer data to.
+
+
+ +
+
+ +

◆ hidCircleRead()

+ +
+
+ + + + + + + + +
void hidCircleRead (circlePositionpos)
+
+ +

Reads the current circle pad position.

+
Parameters
+ + +
posPointer to output the circle pad position to.
+
+
+
Examples
input/read-controls/source/main.c.
+
+ +
+
+ +

◆ hidGyroRead()

+ +
+
+ + + + + + + + +
void hidGyroRead (angularRaterate)
+
+ +

Reads the current gyroscope data.

+
Parameters
+ + +
ratePointer to output the gyroscope data to.
+
+
+ +
+
+ +

◆ hidKeysDown()

+ +
+
+ + + + + + + + +
u32 hidKeysDown (void )
+
+ +

Returns a bitmask of newly pressed buttons, this frame.

+

Individual buttons can be extracted using binary AND.

Returns
32-bit bitmask of newly pressed buttons.
+
Examples
app_launch/source/main.c, audio/filters/source/main.c, audio/mic/source/main.c, audio/streaming/source/main.c, camera/image/source/main.c, camera/video/source/main.c, get_system_language/source/main.c, graphics/bitmap/24bit-color/source/main.c, graphics/gpu/both_screens/source/main.c, graphics/gpu/fragment_light/source/main.c, graphics/gpu/geoshader/source/main.c, graphics/gpu/gpusprites/source/main.c, graphics/gpu/immediate/source/main.c, graphics/gpu/lenny/source/main.c, graphics/gpu/loop_subdivision/source/main.c, graphics/gpu/mipmap_fog/source/main.c, graphics/gpu/particles/source/main.c, graphics/gpu/proctex/source/main.c, graphics/gpu/simple_tri/source/main.c, graphics/gpu/textured_cube/source/main.c, graphics/gpu/toon_shading/source/main.c, graphics/printing/both-screen-text/source/main.c, graphics/printing/colored-text/source/main.c, graphics/printing/hello-world/source/main.c, graphics/printing/multiple-windows-text/source/main.c, graphics/printing/system-font/source/main.c, input/read-controls/source/main.c, input/software-keyboard/source/main.c, input/touch-screen/source/main.c, libapplet_launch/source/main.c, mvd/source/main.c, network/boss/source/main.c, network/http/source/main.c, network/http_post/source/main.c, network/sockets/source/sockets.c, network/sslc/source/ssl.c, network/uds/source/uds.c, nfc/source/main.c, qtm/source/main.c, romfs/source/main.c, threads/event/source/main.c, threads/thread-basic/source/main.c, and time/rtc/source/main.c.
+
+ +
+
+ +

◆ hidKeysDownRepeat()

+ +
+
+ + + + + + + + +
u32 hidKeysDownRepeat (void )
+
+ +

Returns a bitmask of newly pressed or repeated buttons, this frame.

+

Individual buttons can be extracted using binary AND.

Returns
32-bit bitmask of newly pressed or repeated buttons.
+ +
+
+ +

◆ hidKeysHeld()

+ +
+
+ + + + + + + + +
u32 hidKeysHeld (void )
+
+
+ +

◆ hidKeysUp()

+ +
+
+ + + + + + + + +
u32 hidKeysUp (void )
+
+ +

Returns a bitmask of newly released buttons, this frame.

+

Individual buttons can be extracted using binary AND.

Returns
32-bit bitmask of newly released buttons.
+
Examples
audio/mic/source/main.c, and input/read-controls/source/main.c.
+
+ +
+
+ +

◆ hidSetRepeatParameters()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void hidSetRepeatParameters (u32 delay,
u32 interval 
)
+
+ +

Sets the key repeat parameters for hidKeysRepeat.

+
Parameters
+ + + +
delayInitial delay.
intervalRepeat interval.
+
+
+ +
+
+ +

◆ hidTouchRead()

+ +
+
+ + + + + + + + +
void hidTouchRead (touchPositionpos)
+
+ +

Reads the current touch position.

+
Parameters
+ + +
posPointer to output the touch position to.
+
+
+
Examples
input/touch-screen/source/main.c.
+
+ +
+
+ +

◆ HIDUSER_GetGyroscopeRawToDpsCoefficient()

+ +
+
+ + + + + + + + +
Result HIDUSER_GetGyroscopeRawToDpsCoefficient (float * coeff)
+
+ +

Gets the gyroscope raw to dps coefficient.

+
Parameters
+ + +
coeffPointer to output the coefficient to.
+
+
+ +
+
+ +

◆ HIDUSER_GetHandles()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result HIDUSER_GetHandles (HandleoutMemHandle,
Handleeventpad0,
Handleeventpad1,
Handleeventaccel,
Handleeventgyro,
Handleeventdebugpad 
)
+
+ +

Gets the handles for HID operation.

+
Parameters
+ + + + + + + +
outMemHandlePointer to output the shared memory handle to.
eventpad0Pointer to output the pad 0 event handle to.
eventpad1Pointer to output the pad 1 event handle to.
eventaccelPointer to output the accelerometer event handle to.
eventgyroPointer to output the gyroscope event handle to.
eventdebugpadPointer to output the debug pad event handle to.
+
+
+ +
+
+ +

◆ HIDUSER_GetSoundVolume()

+ +
+
+ + + + + + + + +
Result HIDUSER_GetSoundVolume (u8volume)
+
+ +

Gets the current volume slider value.

+

(0-63)

Parameters
+ + +
volumePointer to write the volume slider value to.
+
+
+ +
+
+ +

◆ hidWaitForAnyEvent()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result hidWaitForAnyEvent (bool nextEvents,
Handle cancelEvent,
s64 timeout 
)
+
+ +

Waits for any HID or IRRST event.

+
Parameters
+ + + + +
nextEventsWhether to discard the current events and wait for the next events.
cancelEventOptional additional handle to wait on, otherwise 0.
timeoutTimeout.
+
+
+ +
+
+ +

◆ hidWaitForEvent()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void hidWaitForEvent (HID_Event id,
bool nextEvent 
)
+
+ +

Waits for an HID event.

+
Parameters
+ + + +
idID of the event.
nextEventWhether to discard the current event and wait for the next event.
+
+
+ +
+
+
+ + + + diff --git a/hid_8h_source.html b/hid_8h_source.html new file mode 100644 index 000000000..53f9c3b70 --- /dev/null +++ b/hid_8h_source.html @@ -0,0 +1,376 @@ + + + + + + + +libctru: include/3ds/services/hid.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hid.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file hid.h
+
3  * @brief HID service.
+
4  */
+
5 #pragma once
+
6 
+
7 //See also: http://3dbrew.org/wiki/HID_Services http://3dbrew.org/wiki/HID_Shared_Memory
+
8 
+
9 /// Key values.
+
10 enum
+
11 {
+
12  KEY_A = BIT(0), ///< A
+
13  KEY_B = BIT(1), ///< B
+
14  KEY_SELECT = BIT(2), ///< Select
+
15  KEY_START = BIT(3), ///< Start
+
16  KEY_DRIGHT = BIT(4), ///< D-Pad Right
+
17  KEY_DLEFT = BIT(5), ///< D-Pad Left
+
18  KEY_DUP = BIT(6), ///< D-Pad Up
+
19  KEY_DDOWN = BIT(7), ///< D-Pad Down
+
20  KEY_R = BIT(8), ///< R
+
21  KEY_L = BIT(9), ///< L
+
22  KEY_X = BIT(10), ///< X
+
23  KEY_Y = BIT(11), ///< Y
+
24  KEY_ZL = BIT(14), ///< ZL (New 3DS only)
+
25  KEY_ZR = BIT(15), ///< ZR (New 3DS only)
+
26  KEY_TOUCH = BIT(20), ///< Touch (Not actually provided by HID)
+
27  KEY_CSTICK_RIGHT = BIT(24), ///< C-Stick Right (New 3DS only)
+
28  KEY_CSTICK_LEFT = BIT(25), ///< C-Stick Left (New 3DS only)
+
29  KEY_CSTICK_UP = BIT(26), ///< C-Stick Up (New 3DS only)
+
30  KEY_CSTICK_DOWN = BIT(27), ///< C-Stick Down (New 3DS only)
+
31  KEY_CPAD_RIGHT = BIT(28), ///< Circle Pad Right
+
32  KEY_CPAD_LEFT = BIT(29), ///< Circle Pad Left
+
33  KEY_CPAD_UP = BIT(30), ///< Circle Pad Up
+
34  KEY_CPAD_DOWN = BIT(31), ///< Circle Pad Down
+
35 
+
36  // Generic catch-all directions
+
37  KEY_UP = KEY_DUP | KEY_CPAD_UP, ///< D-Pad Up or Circle Pad Up
+
38  KEY_DOWN = KEY_DDOWN | KEY_CPAD_DOWN, ///< D-Pad Down or Circle Pad Down
+
39  KEY_LEFT = KEY_DLEFT | KEY_CPAD_LEFT, ///< D-Pad Left or Circle Pad Left
+
40  KEY_RIGHT = KEY_DRIGHT | KEY_CPAD_RIGHT, ///< D-Pad Right or Circle Pad Right
+
41 };
+
42 
+
43 /// Touch position.
+
44 typedef struct
+
45 {
+
46  u16 px; ///< Touch X
+
47  u16 py; ///< Touch Y
+ +
49 
+
50 /// Circle Pad position.
+
51 typedef struct
+
52 {
+
53  s16 dx; ///< Pad X
+
54  s16 dy; ///< Pad Y
+ +
56 
+
57 /// Accelerometer vector.
+
58 typedef struct
+
59 {
+
60  s16 x; ///< Accelerometer X
+
61  s16 y; ///< Accelerometer Y
+
62  s16 z; ///< Accelerometer Z
+
63 } accelVector;
+
64 
+
65 /// Gyroscope angular rate.
+
66 typedef struct
+
67 {
+
68  s16 x; ///< Roll
+
69  s16 z; ///< Yaw
+
70  s16 y; ///< Pitch
+
71 } angularRate;
+
72 
+
73 /// HID events.
+
74 typedef enum
+
75 {
+
76  HIDEVENT_PAD0 = 0, ///< Event signaled by HID-module, when the sharedmem+0(PAD/circle-pad)/+0xA8(touch-screen) region was updated.
+
77  HIDEVENT_PAD1, ///< Event signaled by HID-module, when the sharedmem+0(PAD/circle-pad)/+0xA8(touch-screen) region was updated.
+
78  HIDEVENT_Accel, ///< Event signaled by HID-module, when the sharedmem accelerometer state was updated.
+
79  HIDEVENT_Gyro, ///< Event signaled by HID-module, when the sharedmem gyroscope state was updated.
+
80  HIDEVENT_DebugPad, ///< Event signaled by HID-module, when the sharedmem DebugPad state was updated.
+
81 
+
82  HIDEVENT_MAX, ///< Used to know how many events there are.
+
83 } HID_Event;
+
84 
+
85 extern Handle hidMemHandle; ///< HID shared memory handle.
+
86 extern vu32* hidSharedMem; ///< HID shared memory.
+
87 
+
88 /// Initializes HID.
+ +
90 
+
91 /// Exits HID.
+
92 void hidExit(void);
+
93 
+
94 /**
+
95  * @brief Sets the key repeat parameters for @ref hidKeysRepeat.
+
96  * @param delay Initial delay.
+
97  * @param interval Repeat interval.
+
98  */
+
99 void hidSetRepeatParameters(u32 delay, u32 interval);
+
100 
+
101 /// Scans HID for input data.
+
102 void hidScanInput(void);
+
103 
+
104 /**
+
105  * @brief Returns a bitmask of held buttons.
+
106  * Individual buttons can be extracted using binary AND.
+
107  * @return 32-bit bitmask of held buttons (1+ frames).
+
108  */
+ +
110 
+
111 /**
+
112  * @brief Returns a bitmask of newly pressed buttons, this frame.
+
113  * Individual buttons can be extracted using binary AND.
+
114  * @return 32-bit bitmask of newly pressed buttons.
+
115  */
+ +
117 
+
118 /**
+
119  * @brief Returns a bitmask of newly pressed or repeated buttons, this frame.
+
120  * Individual buttons can be extracted using binary AND.
+
121  * @return 32-bit bitmask of newly pressed or repeated buttons.
+
122  */
+ +
124 
+
125 /**
+
126  * @brief Returns a bitmask of newly released buttons, this frame.
+
127  * Individual buttons can be extracted using binary AND.
+
128  * @return 32-bit bitmask of newly released buttons.
+
129  */
+ +
131 
+
132 /**
+
133  * @brief Reads the current touch position.
+
134  * @param pos Pointer to output the touch position to.
+
135  */
+ +
137 
+
138 /**
+
139  * @brief Reads the current circle pad position.
+
140  * @param pos Pointer to output the circle pad position to.
+
141  */
+ +
143 
+
144 /**
+
145  * @brief Reads the current accelerometer data.
+
146  * @param vector Pointer to output the accelerometer data to.
+
147  */
+
148 void hidAccelRead(accelVector* vector);
+
149 
+
150 /**
+
151  * @brief Reads the current gyroscope data.
+
152  * @param rate Pointer to output the gyroscope data to.
+
153  */
+ +
155 
+
156 /**
+
157  * @brief Waits for an HID event.
+
158  * @param id ID of the event.
+
159  * @param nextEvent Whether to discard the current event and wait for the next event.
+
160  */
+
161 void hidWaitForEvent(HID_Event id, bool nextEvent);
+
162 
+
163 /**
+
164  * @brief Waits for any HID or IRRST event.
+
165  * @param nextEvents Whether to discard the current events and wait for the next events.
+
166  * @param cancelEvent Optional additional handle to wait on, otherwise 0.
+
167  * @param timeout Timeout.
+
168  */
+
169 Result hidWaitForAnyEvent(bool nextEvents, Handle cancelEvent, s64 timeout);
+
170 
+
171 /// Compatibility macro for hidScanInput.
+
172 #define scanKeys hidScanInput
+
173 /// Compatibility macro for hidKeysHeld.
+
174 #define keysHeld hidKeysHeld
+
175 /// Compatibility macro for hidKeysDown.
+
176 #define keysDown hidKeysDown
+
177 /// Compatibility macro for hidKeysUp.
+
178 #define keysUp hidKeysUp
+
179 /// Compatibility macro for hidTouchRead.
+
180 #define touchRead hidTouchRead
+
181 /// Compatibility macro for hidCircleRead.
+
182 #define circleRead hidCircleRead
+
183 
+
184 /**
+
185  * @brief Gets the handles for HID operation.
+
186  * @param outMemHandle Pointer to output the shared memory handle to.
+
187  * @param eventpad0 Pointer to output the pad 0 event handle to.
+
188  * @param eventpad1 Pointer to output the pad 1 event handle to.
+
189  * @param eventaccel Pointer to output the accelerometer event handle to.
+
190  * @param eventgyro Pointer to output the gyroscope event handle to.
+
191  * @param eventdebugpad Pointer to output the debug pad event handle to.
+
192  */
+
193 Result HIDUSER_GetHandles(Handle* outMemHandle, Handle *eventpad0, Handle *eventpad1, Handle *eventaccel, Handle *eventgyro, Handle *eventdebugpad);
+
194 
+
195 /// Enables the accelerometer.
+ +
197 
+
198 /// Disables the accelerometer.
+ +
200 
+
201 /// Enables the gyroscope.
+ +
203 
+
204 /// Disables the gyroscope.
+ +
206 
+
207 /**
+
208  * @brief Gets the gyroscope raw to dps coefficient.
+
209  * @param coeff Pointer to output the coefficient to.
+
210  */
+ +
212 
+
213 /**
+
214  * @brief Gets the current volume slider value. (0-63)
+
215  * @param volume Pointer to write the volume slider value to.
+
216  */
+ +
Result HIDUSER_GetGyroscopeRawToDpsCoefficient(float *coeff)
Gets the gyroscope raw to dps coefficient.
+
Result HIDUSER_DisableAccelerometer(void)
Disables the accelerometer.
+
@ KEY_TOUCH
Touch (Not actually provided by HID)
Definition: hid.h:26
+
@ KEY_UP
D-Pad Up or Circle Pad Up.
Definition: hid.h:37
+
@ KEY_DDOWN
D-Pad Down.
Definition: hid.h:19
+
@ KEY_B
B.
Definition: hid.h:13
+
@ KEY_CSTICK_UP
C-Stick Up (New 3DS only)
Definition: hid.h:29
+
@ KEY_CPAD_RIGHT
Circle Pad Right.
Definition: hid.h:31
+
@ KEY_SELECT
Select.
Definition: hid.h:14
+
@ KEY_DRIGHT
D-Pad Right.
Definition: hid.h:16
+
@ KEY_X
X.
Definition: hid.h:22
+
@ KEY_ZR
ZR (New 3DS only)
Definition: hid.h:25
+
@ KEY_CSTICK_RIGHT
C-Stick Right (New 3DS only)
Definition: hid.h:27
+
@ KEY_Y
Y.
Definition: hid.h:23
+
@ KEY_LEFT
D-Pad Left or Circle Pad Left.
Definition: hid.h:39
+
@ KEY_START
Start.
Definition: hid.h:15
+
@ KEY_RIGHT
D-Pad Right or Circle Pad Right.
Definition: hid.h:40
+
@ KEY_DUP
D-Pad Up.
Definition: hid.h:18
+
@ KEY_ZL
ZL (New 3DS only)
Definition: hid.h:24
+
@ KEY_R
R.
Definition: hid.h:20
+
@ KEY_A
A.
Definition: hid.h:12
+
@ KEY_DOWN
D-Pad Down or Circle Pad Down.
Definition: hid.h:38
+
@ KEY_CPAD_UP
Circle Pad Up.
Definition: hid.h:33
+
@ KEY_CSTICK_LEFT
C-Stick Left (New 3DS only)
Definition: hid.h:28
+
@ KEY_L
L.
Definition: hid.h:21
+
@ KEY_CPAD_DOWN
Circle Pad Down.
Definition: hid.h:34
+
@ KEY_DLEFT
D-Pad Left.
Definition: hid.h:17
+
@ KEY_CSTICK_DOWN
C-Stick Down (New 3DS only)
Definition: hid.h:30
+
@ KEY_CPAD_LEFT
Circle Pad Left.
Definition: hid.h:32
+
Handle hidMemHandle
HID shared memory handle.
+
Result HIDUSER_EnableAccelerometer(void)
Enables the accelerometer.
+
Result hidInit(void)
Initializes HID.
+
void hidGyroRead(angularRate *rate)
Reads the current gyroscope data.
+
void hidCircleRead(circlePosition *pos)
Reads the current circle pad position.
+
Result HIDUSER_DisableGyroscope(void)
Disables the gyroscope.
+
Result HIDUSER_GetSoundVolume(u8 *volume)
Gets the current volume slider value.
+
u32 hidKeysHeld(void)
Returns a bitmask of held buttons.
+
Result HIDUSER_GetHandles(Handle *outMemHandle, Handle *eventpad0, Handle *eventpad1, Handle *eventaccel, Handle *eventgyro, Handle *eventdebugpad)
Gets the handles for HID operation.
+
Result hidWaitForAnyEvent(bool nextEvents, Handle cancelEvent, s64 timeout)
Waits for any HID or IRRST event.
+
u32 hidKeysDownRepeat(void)
Returns a bitmask of newly pressed or repeated buttons, this frame.
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
HID_Event
HID events.
Definition: hid.h:75
+
@ HIDEVENT_Gyro
Event signaled by HID-module, when the sharedmem gyroscope state was updated.
Definition: hid.h:79
+
@ HIDEVENT_DebugPad
Event signaled by HID-module, when the sharedmem DebugPad state was updated.
Definition: hid.h:80
+
@ HIDEVENT_Accel
Event signaled by HID-module, when the sharedmem accelerometer state was updated.
Definition: hid.h:78
+
@ HIDEVENT_MAX
Used to know how many events there are.
Definition: hid.h:82
+
@ HIDEVENT_PAD1
Event signaled by HID-module, when the sharedmem+0(PAD/circle-pad)/+0xA8(touch-screen) region was upd...
Definition: hid.h:77
+
@ HIDEVENT_PAD0
Event signaled by HID-module, when the sharedmem+0(PAD/circle-pad)/+0xA8(touch-screen) region was upd...
Definition: hid.h:76
+
void hidScanInput(void)
Scans HID for input data.
+
void hidTouchRead(touchPosition *pos)
Reads the current touch position.
+
vu32 * hidSharedMem
HID shared memory.
+
u32 hidKeysUp(void)
Returns a bitmask of newly released buttons, this frame.
+
void hidExit(void)
Exits HID.
+
void hidAccelRead(accelVector *vector)
Reads the current accelerometer data.
+
Result HIDUSER_EnableGyroscope(void)
Enables the gyroscope.
+
void hidWaitForEvent(HID_Event id, bool nextEvent)
Waits for an HID event.
+
void hidSetRepeatParameters(u32 delay, u32 interval)
Sets the key repeat parameters for hidKeysRepeat.
+
Accelerometer vector.
Definition: hid.h:59
+
s16 x
Accelerometer X.
Definition: hid.h:60
+
s16 y
Accelerometer Y.
Definition: hid.h:61
+
s16 z
Accelerometer Z.
Definition: hid.h:62
+
Gyroscope angular rate.
Definition: hid.h:67
+
s16 y
Pitch.
Definition: hid.h:70
+
s16 z
Yaw.
Definition: hid.h:69
+
s16 x
Roll.
Definition: hid.h:68
+
Circle Pad position.
Definition: hid.h:52
+
s16 dx
Pad X.
Definition: hid.h:53
+
s16 dy
Pad Y.
Definition: hid.h:54
+
Touch position.
Definition: hid.h:45
+
u16 px
Touch X.
Definition: hid.h:46
+
u16 py
Touch Y.
Definition: hid.h:47
+
int64_t s64
64-bit signed integer
Definition: types.h:29
+
#define BIT(n)
Creates a bitmask from a bit number.
Definition: types.h:47
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
int16_t s16
16-bit signed integer
Definition: types.h:27
+
u32 Handle
Resource handle.
Definition: types.h:41
+
volatile u32 vu32
32-bit volatile unsigned integer.
Definition: types.h:33
+
s32 Result
Function result.
Definition: types.h:42
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/httpc_8h.html b/httpc_8h.html new file mode 100644 index 000000000..f8f51ecf4 --- /dev/null +++ b/httpc_8h.html @@ -0,0 +1,1636 @@ + + + + + + + +libctru: include/3ds/services/httpc.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
httpc.h File Reference
+
+
+ +

HTTP service. +More...

+ +

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  httpcContext
 HTTP context. More...
 
+ + + + + + + + +

+Macros

+#define HTTPC_RESULTCODE_DOWNLOADPENDING   0xd840a02b
 Result code returned when a download is pending.
 
+#define HTTPC_RESULTCODE_NOTFOUND   0xd840a028
 
+#define HTTPC_RESULTCODE_TIMEDOUT   0xd820a069
 
+ + + + + + + + + + +

+Enumerations

enum  HTTPC_RequestMethod {
+  HTTPC_METHOD_GET = 0x1 +,
+  HTTPC_METHOD_POST = 0x2 +,
+  HTTPC_METHOD_HEAD = 0x3 +,
+  HTTPC_METHOD_PUT = 0x4 +,
+  HTTPC_METHOD_DELETE = 0x5 +
+ }
 HTTP request method.
 
enum  HTTPC_RequestStatus {
+  HTTPC_STATUS_REQUEST_IN_PROGRESS = 0x5 +,
+  HTTPC_STATUS_DOWNLOAD_READY = 0x7 +
+ }
 HTTP request status. More...
 
enum  HTTPC_KeepAlive {
+  HTTPC_KEEPALIVE_DISABLED = 0x0 +,
+  HTTPC_KEEPALIVE_ENABLED = 0x1 +
+ }
 HTTP KeepAlive option.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+Result httpcInit (u32 sharedmem_size)
 Initializes HTTPC. For HTTP GET the sharedmem_size can be zero. The sharedmem contains data which will be later uploaded for HTTP POST. sharedmem_size should be aligned to 0x1000-bytes.
 
+void httpcExit (void)
 Exits HTTPC.
 
Result httpcOpenContext (httpcContext *context, HTTPC_RequestMethod method, const char *url, u32 use_defaultproxy)
 Opens a HTTP context. More...
 
Result httpcCloseContext (httpcContext *context)
 Closes a HTTP context. More...
 
Result httpcCancelConnection (httpcContext *context)
 Cancels a HTTP connection. More...
 
Result httpcAddRequestHeaderField (httpcContext *context, const char *name, const char *value)
 Adds a request header field to a HTTP context. More...
 
Result httpcAddPostDataAscii (httpcContext *context, const char *name, const char *value)
 Adds a POST form field to a HTTP context. More...
 
Result httpcAddPostDataBinary (httpcContext *context, const char *name, const u8 *value, u32 len)
 Adds a POST form field with binary data to a HTTP context. More...
 
Result httpcAddPostDataRaw (httpcContext *context, const u32 *data, u32 len)
 Adds a POST body to a HTTP context. More...
 
Result httpcBeginRequest (httpcContext *context)
 Begins a HTTP request. More...
 
Result httpcReceiveData (httpcContext *context, u8 *buffer, u32 size)
 Receives data from a HTTP context. More...
 
Result httpcReceiveDataTimeout (httpcContext *context, u8 *buffer, u32 size, u64 timeout)
 Receives data from a HTTP context with a timeout value. More...
 
Result httpcGetRequestState (httpcContext *context, HTTPC_RequestStatus *out)
 Gets the request state of a HTTP context. More...
 
Result httpcGetDownloadSizeState (httpcContext *context, u32 *downloadedsize, u32 *contentsize)
 Gets the download size state of a HTTP context. More...
 
Result httpcGetResponseStatusCode (httpcContext *context, u32 *out)
 Gets the response code of the HTTP context. More...
 
Result httpcGetResponseStatusCodeTimeout (httpcContext *context, u32 *out, u64 timeout)
 Gets the response code of the HTTP context with a timeout value. More...
 
Result httpcGetResponseHeader (httpcContext *context, const char *name, char *value, u32 valuebuf_maxsize)
 Gets a response header field from a HTTP context. More...
 
Result httpcAddTrustedRootCA (httpcContext *context, const u8 *cert, u32 certsize)
 Adds a trusted RootCA cert to a HTTP context. More...
 
Result httpcAddDefaultCert (httpcContext *context, SSLC_DefaultRootCert certID)
 Adds a default RootCA cert to a HTTP context. More...
 
Result httpcSelectRootCertChain (httpcContext *context, u32 RootCertChain_contexthandle)
 Sets the RootCertChain for a HTTP context. More...
 
Result httpcSetClientCert (httpcContext *context, const u8 *cert, u32 certsize, const u8 *privk, u32 privk_size)
 Sets the ClientCert for a HTTP context. More...
 
Result httpcSetClientCertDefault (httpcContext *context, SSLC_DefaultClientCert certID)
 Sets the default clientcert for a HTTP context. More...
 
Result httpcSetClientCertContext (httpcContext *context, u32 ClientCert_contexthandle)
 Sets the ClientCert contexthandle for a HTTP context. More...
 
Result httpcSetSSLOpt (httpcContext *context, u32 options)
 Sets SSL options for the context. More...
 
Result httpcSetSSLClearOpt (httpcContext *context, u32 options)
 Sets the SSL options which will be cleared for the context. More...
 
Result httpcCreateRootCertChain (u32 *RootCertChain_contexthandle)
 Creates a RootCertChain. More...
 
Result httpcDestroyRootCertChain (u32 RootCertChain_contexthandle)
 Destroy a RootCertChain. More...
 
Result httpcRootCertChainAddCert (u32 RootCertChain_contexthandle, const u8 *cert, u32 certsize, u32 *cert_contexthandle)
 Adds a RootCA cert to a RootCertChain. More...
 
Result httpcRootCertChainAddDefaultCert (u32 RootCertChain_contexthandle, SSLC_DefaultRootCert certID, u32 *cert_contexthandle)
 Adds a default RootCA cert to a RootCertChain. More...
 
Result httpcRootCertChainRemoveCert (u32 RootCertChain_contexthandle, u32 cert_contexthandle)
 Removes a cert from a RootCertChain. More...
 
Result httpcOpenClientCertContext (const u8 *cert, u32 certsize, const u8 *privk, u32 privk_size, u32 *ClientCert_contexthandle)
 Opens a ClientCert-context. More...
 
Result httpcOpenDefaultClientCertContext (SSLC_DefaultClientCert certID, u32 *ClientCert_contexthandle)
 Opens a ClientCert-context with a default clientclient. More...
 
Result httpcCloseClientCertContext (u32 ClientCert_contexthandle)
 Closes a ClientCert context. More...
 
Result httpcDownloadData (httpcContext *context, u8 *buffer, u32 size, u32 *downloadedsize)
 Downloads data from the HTTP context into a buffer. More...
 
Result httpcSetKeepAlive (httpcContext *context, HTTPC_KeepAlive option)
 Sets Keep-Alive for the context. More...
 
+

Detailed Description

+

HTTP service.

+

Enumeration Type Documentation

+ +

◆ HTTPC_RequestStatus

+ +
+
+ + + + +
enum HTTPC_RequestStatus
+
+ +

HTTP request status.

+ + + +
Enumerator
HTTPC_STATUS_REQUEST_IN_PROGRESS 

Request in progress.

+
HTTPC_STATUS_DOWNLOAD_READY 

Download ready.

+
+ +
+
+

Function Documentation

+ +

◆ httpcAddDefaultCert()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result httpcAddDefaultCert (httpcContextcontext,
SSLC_DefaultRootCert certID 
)
+
+ +

Adds a default RootCA cert to a HTTP context.

+
Parameters
+ + + +
contextContext to use.
certIDID of the cert to add, see sslc.h.
+
+
+ +
+
+ +

◆ httpcAddPostDataAscii()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result httpcAddPostDataAscii (httpcContextcontext,
const char * name,
const char * value 
)
+
+ +

Adds a POST form field to a HTTP context.

+
Parameters
+ + + + +
contextContext to use.
nameName of the field.
valueValue of the field.
+
+
+ +
+
+ +

◆ httpcAddPostDataBinary()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result httpcAddPostDataBinary (httpcContextcontext,
const char * name,
const u8value,
u32 len 
)
+
+ +

Adds a POST form field with binary data to a HTTP context.

+
Parameters
+ + + + + +
contextContext to use.
nameName of the field.
valueThe binary data to pass as a value.
lenLength of the binary data which has been passed.
+
+
+ +
+
+ +

◆ httpcAddPostDataRaw()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result httpcAddPostDataRaw (httpcContextcontext,
const u32data,
u32 len 
)
+
+ +

Adds a POST body to a HTTP context.

+
Parameters
+ + + + +
contextContext to use.
dataThe data to be passed as raw into the body of the post request.
lenLength of data passed by data param.
+
+
+
Examples
network/http_post/source/main.c.
+
+ +
+
+ +

◆ httpcAddRequestHeaderField()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result httpcAddRequestHeaderField (httpcContextcontext,
const char * name,
const char * value 
)
+
+ +

Adds a request header field to a HTTP context.

+
Parameters
+ + + + +
contextContext to use.
nameName of the field.
valueValue of the field.
+
+
+
Examples
network/http/source/main.c, and network/http_post/source/main.c.
+
+ +
+
+ +

◆ httpcAddTrustedRootCA()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result httpcAddTrustedRootCA (httpcContextcontext,
const u8cert,
u32 certsize 
)
+
+ +

Adds a trusted RootCA cert to a HTTP context.

+
Parameters
+ + + + +
contextContext to use.
certPointer to DER cert.
certsizeSize of the DER cert.
+
+
+ +
+
+ +

◆ httpcBeginRequest()

+ +
+
+ + + + + + + + +
Result httpcBeginRequest (httpcContextcontext)
+
+ +

Begins a HTTP request.

+
Parameters
+ + +
contextContext to use.
+
+
+
Examples
network/http/source/main.c, and network/http_post/source/main.c.
+
+ +
+
+ +

◆ httpcCancelConnection()

+ +
+
+ + + + + + + + +
Result httpcCancelConnection (httpcContextcontext)
+
+ +

Cancels a HTTP connection.

+
Parameters
+ + +
contextContext to close.
+
+
+ +
+
+ +

◆ httpcCloseClientCertContext()

+ +
+
+ + + + + + + + +
Result httpcCloseClientCertContext (u32 ClientCert_contexthandle)
+
+ +

Closes a ClientCert context.

+
Parameters
+ + +
ClientCert_contexthandleClientCert context to use.
+
+
+ +
+
+ +

◆ httpcCloseContext()

+ +
+
+ + + + + + + + +
Result httpcCloseContext (httpcContextcontext)
+
+ +

Closes a HTTP context.

+
Parameters
+ + +
contextContext to close.
+
+
+
Examples
network/http/source/main.c, and network/http_post/source/main.c.
+
+ +
+
+ +

◆ httpcCreateRootCertChain()

+ +
+
+ + + + + + + + +
Result httpcCreateRootCertChain (u32RootCertChain_contexthandle)
+
+ +

Creates a RootCertChain.

+

Up to 2 RootCertChains can be created under this user-process.

Parameters
+ + +
RootCertChain_contexthandleOutput RootCertChain contexthandle.
+
+
+ +
+
+ +

◆ httpcDestroyRootCertChain()

+ +
+
+ + + + + + + + +
Result httpcDestroyRootCertChain (u32 RootCertChain_contexthandle)
+
+ +

Destroy a RootCertChain.

+
Parameters
+ + +
RootCertChain_contexthandleRootCertChain to use.
+
+
+ +
+
+ +

◆ httpcDownloadData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result httpcDownloadData (httpcContextcontext,
u8buffer,
u32 size,
u32downloadedsize 
)
+
+ +

Downloads data from the HTTP context into a buffer.

+

The entire content must be downloaded before using httpcCloseContext(), otherwise httpcCloseContext() will hang.

Parameters
+ + + + + +
contextContext to download data from.
bufferBuffer to write data to.
sizeSize of the buffer.
downloadedsizePointer to write the size of the downloaded data to.
+
+
+
Examples
network/http/source/main.c, and network/http_post/source/main.c.
+
+ +
+
+ +

◆ httpcGetDownloadSizeState()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result httpcGetDownloadSizeState (httpcContextcontext,
u32downloadedsize,
u32contentsize 
)
+
+ +

Gets the download size state of a HTTP context.

+
Parameters
+ + + + +
contextContext to use.
downloadedsizePointer to output the downloaded size to.
contentsizePointer to output the total content size to.
+
+
+
Examples
network/http/source/main.c, and network/http_post/source/main.c.
+
+ +
+
+ +

◆ httpcGetRequestState()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result httpcGetRequestState (httpcContextcontext,
HTTPC_RequestStatusout 
)
+
+ +

Gets the request state of a HTTP context.

+
Parameters
+ + + +
contextContext to use.
outPointer to output the HTTP request state to.
+
+
+ +
+
+ +

◆ httpcGetResponseHeader()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result httpcGetResponseHeader (httpcContextcontext,
const char * name,
char * value,
u32 valuebuf_maxsize 
)
+
+ +

Gets a response header field from a HTTP context.

+
Parameters
+ + + + + +
contextContext to use.
nameName of the field.
valuePointer to output the value of the field to.
valuebuf_maxsizeMaximum size of the value buffer.
+
+
+
Examples
network/http/source/main.c, and network/http_post/source/main.c.
+
+ +
+
+ +

◆ httpcGetResponseStatusCode()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result httpcGetResponseStatusCode (httpcContextcontext,
u32out 
)
+
+ +

Gets the response code of the HTTP context.

+
Parameters
+ + + +
contextContext to get the response code of.
outPointer to write the response code to.
+
+
+
Examples
network/http/source/main.c, and network/http_post/source/main.c.
+
+ +
+
+ +

◆ httpcGetResponseStatusCodeTimeout()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result httpcGetResponseStatusCodeTimeout (httpcContextcontext,
u32out,
u64 timeout 
)
+
+ +

Gets the response code of the HTTP context with a timeout value.

+
Parameters
+ + + + +
contextContext to get the response code of.
outPointer to write the response code to.
timeoutMaximum time in nanoseconds to wait for a reply.
+
+
+ +
+
+ +

◆ httpcOpenClientCertContext()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result httpcOpenClientCertContext (const u8cert,
u32 certsize,
const u8privk,
u32 privk_size,
u32ClientCert_contexthandle 
)
+
+ +

Opens a ClientCert-context.

+

Up to 2 ClientCert-contexts can be open under this user-process.

Parameters
+ + + + + + +
certPointer to DER cert.
certsizeSize of the DER cert.
privkPointer to the DER private key.
privk_sizeSize of the privk.
ClientCert_contexthandleOutput ClientCert context handle.
+
+
+ +
+
+ +

◆ httpcOpenContext()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result httpcOpenContext (httpcContextcontext,
HTTPC_RequestMethod method,
const char * url,
u32 use_defaultproxy 
)
+
+ +

Opens a HTTP context.

+
Parameters
+ + + + +
contextContext to open.
urlURL to connect to.
use_defaultproxyWhether the default proxy should be used (0 for default)
+
+
+
Examples
network/http/source/main.c, and network/http_post/source/main.c.
+
+ +
+
+ +

◆ httpcOpenDefaultClientCertContext()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result httpcOpenDefaultClientCertContext (SSLC_DefaultClientCert certID,
u32ClientCert_contexthandle 
)
+
+ +

Opens a ClientCert-context with a default clientclient.

+

Up to 2 ClientCert-contexts can be open under this user-process.

Parameters
+ + + +
certIDID of the cert to add, see sslc.h.
ClientCert_contexthandleOutput ClientCert context handle.
+
+
+ +
+
+ +

◆ httpcReceiveData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result httpcReceiveData (httpcContextcontext,
u8buffer,
u32 size 
)
+
+ +

Receives data from a HTTP context.

+
Parameters
+ + + + +
contextContext to use.
bufferBuffer to receive data to.
sizeSize of the buffer.
+
+
+ +
+
+ +

◆ httpcReceiveDataTimeout()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result httpcReceiveDataTimeout (httpcContextcontext,
u8buffer,
u32 size,
u64 timeout 
)
+
+ +

Receives data from a HTTP context with a timeout value.

+
Parameters
+ + + + + +
contextContext to use.
bufferBuffer to receive data to.
sizeSize of the buffer.
timeoutMaximum time in nanoseconds to wait for a reply.
+
+
+ +
+
+ +

◆ httpcRootCertChainAddCert()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result httpcRootCertChainAddCert (u32 RootCertChain_contexthandle,
const u8cert,
u32 certsize,
u32cert_contexthandle 
)
+
+ +

Adds a RootCA cert to a RootCertChain.

+
Parameters
+ + + + + +
RootCertChain_contexthandleRootCertChain to use.
certPointer to DER cert.
certsizeSize of the DER cert.
cert_contexthandleOptional output ptr for the cert contexthandle(this can be NULL).
+
+
+ +
+
+ +

◆ httpcRootCertChainAddDefaultCert()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result httpcRootCertChainAddDefaultCert (u32 RootCertChain_contexthandle,
SSLC_DefaultRootCert certID,
u32cert_contexthandle 
)
+
+ +

Adds a default RootCA cert to a RootCertChain.

+
Parameters
+ + + + +
RootCertChain_contexthandleRootCertChain to use.
certIDID of the cert to add, see sslc.h.
cert_contexthandleOptional output ptr for the cert contexthandle(this can be NULL).
+
+
+ +
+
+ +

◆ httpcRootCertChainRemoveCert()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result httpcRootCertChainRemoveCert (u32 RootCertChain_contexthandle,
u32 cert_contexthandle 
)
+
+ +

Removes a cert from a RootCertChain.

+
Parameters
+ + + +
RootCertChain_contexthandleRootCertChain to use.
cert_contexthandleContexthandle of the cert to remove.
+
+
+ +
+
+ +

◆ httpcSelectRootCertChain()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result httpcSelectRootCertChain (httpcContextcontext,
u32 RootCertChain_contexthandle 
)
+
+ +

Sets the RootCertChain for a HTTP context.

+
Parameters
+ + + +
contextContext to use.
RootCertChain_contexthandleContexthandle for the RootCertChain.
+
+
+ +
+
+ +

◆ httpcSetClientCert()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result httpcSetClientCert (httpcContextcontext,
const u8cert,
u32 certsize,
const u8privk,
u32 privk_size 
)
+
+ +

Sets the ClientCert for a HTTP context.

+
Parameters
+ + + + + + +
contextContext to use.
certPointer to DER cert.
certsizeSize of the DER cert.
privkPointer to the DER private key.
privk_sizeSize of the privk.
+
+
+ +
+
+ +

◆ httpcSetClientCertContext()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result httpcSetClientCertContext (httpcContextcontext,
u32 ClientCert_contexthandle 
)
+
+ +

Sets the ClientCert contexthandle for a HTTP context.

+
Parameters
+ + + +
contextContext to use.
ClientCert_contexthandleContexthandle for the ClientCert.
+
+
+ +
+
+ +

◆ httpcSetClientCertDefault()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result httpcSetClientCertDefault (httpcContextcontext,
SSLC_DefaultClientCert certID 
)
+
+ +

Sets the default clientcert for a HTTP context.

+
Parameters
+ + + +
contextContext to use.
certIDID of the cert to add, see sslc.h.
+
+
+ +
+
+ +

◆ httpcSetKeepAlive()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result httpcSetKeepAlive (httpcContextcontext,
HTTPC_KeepAlive option 
)
+
+ +

Sets Keep-Alive for the context.

+
Parameters
+ + + +
contextContext to set the KeepAlive flag on.
optionHTTPC_KeepAlive option.
+
+
+
Examples
network/http/source/main.c, and network/http_post/source/main.c.
+
+ +
+
+ +

◆ httpcSetSSLClearOpt()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result httpcSetSSLClearOpt (httpcContextcontext,
u32 options 
)
+
+ +

Sets the SSL options which will be cleared for the context.

+

The HTTPC SSL option bits are the same as those defined in sslc.h

Parameters
+ + + +
contextContext to clear flags on.
optionsSSL option flags.
+
+
+ +
+
+ +

◆ httpcSetSSLOpt()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result httpcSetSSLOpt (httpcContextcontext,
u32 options 
)
+
+ +

Sets SSL options for the context.

+

The HTTPC SSL option bits are the same as those defined in sslc.h

Parameters
+ + + +
contextContext to set flags on.
optionsSSL option flags.
+
+
+
Examples
network/http/source/main.c, and network/http_post/source/main.c.
+
+ +
+
+
+ + + + diff --git a/httpc_8h_source.html b/httpc_8h_source.html new file mode 100644 index 000000000..fad4fbeac --- /dev/null +++ b/httpc_8h_source.html @@ -0,0 +1,428 @@ + + + + + + + +libctru: include/3ds/services/httpc.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
httpc.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file httpc.h
+
3  * @brief HTTP service.
+
4  */
+
5 #pragma once
+
6 
+
7 /// HTTP context.
+
8 typedef struct {
+
9  Handle servhandle; ///< Service handle.
+
10  u32 httphandle; ///< HTTP handle.
+
11 } httpcContext;
+
12 
+
13 /// HTTP request method.
+
14 typedef enum {
+
15  HTTPC_METHOD_GET = 0x1,
+
16  HTTPC_METHOD_POST = 0x2,
+
17  HTTPC_METHOD_HEAD = 0x3,
+
18  HTTPC_METHOD_PUT = 0x4,
+
19  HTTPC_METHOD_DELETE = 0x5
+ +
21 
+
22 /// HTTP request status.
+
23 typedef enum {
+
24  HTTPC_STATUS_REQUEST_IN_PROGRESS = 0x5, ///< Request in progress.
+
25  HTTPC_STATUS_DOWNLOAD_READY = 0x7 ///< Download ready.
+ +
27 
+
28 /// HTTP KeepAlive option.
+
29 typedef enum {
+
30  HTTPC_KEEPALIVE_DISABLED = 0x0,
+
31  HTTPC_KEEPALIVE_ENABLED = 0x1
+ +
33 
+
34 /// Result code returned when a download is pending.
+
35 #define HTTPC_RESULTCODE_DOWNLOADPENDING 0xd840a02b
+
36 
+
37 // Result code returned when asked about a non-existing header.
+
38 #define HTTPC_RESULTCODE_NOTFOUND 0xd840a028
+
39 
+
40 // Result code returned when any timeout function times out.
+
41 #define HTTPC_RESULTCODE_TIMEDOUT 0xd820a069
+
42 
+
43 /// Initializes HTTPC. For HTTP GET the sharedmem_size can be zero. The sharedmem contains data which will be later uploaded for HTTP POST. sharedmem_size should be aligned to 0x1000-bytes.
+
44 Result httpcInit(u32 sharedmem_size);
+
45 
+
46 /// Exits HTTPC.
+
47 void httpcExit(void);
+
48 
+
49 /**
+
50  * @brief Opens a HTTP context.
+
51  * @param context Context to open.
+
52  * @param url URL to connect to.
+
53  * @param use_defaultproxy Whether the default proxy should be used (0 for default)
+
54  */
+
55 Result httpcOpenContext(httpcContext *context, HTTPC_RequestMethod method, const char* url, u32 use_defaultproxy);
+
56 
+
57 /**
+
58  * @brief Closes a HTTP context.
+
59  * @param context Context to close.
+
60  */
+ +
62 
+
63 /**
+
64  * @brief Cancels a HTTP connection.
+
65  * @param context Context to close.
+
66  */
+ +
68 
+
69 /**
+
70  * @brief Adds a request header field to a HTTP context.
+
71  * @param context Context to use.
+
72  * @param name Name of the field.
+
73  * @param value Value of the field.
+
74  */
+
75 Result httpcAddRequestHeaderField(httpcContext *context, const char* name, const char* value);
+
76 
+
77 /**
+
78  * @brief Adds a POST form field to a HTTP context.
+
79  * @param context Context to use.
+
80  * @param name Name of the field.
+
81  * @param value Value of the field.
+
82  */
+
83 Result httpcAddPostDataAscii(httpcContext *context, const char* name, const char* value);
+
84 
+
85 /**
+
86  * @brief Adds a POST form field with binary data to a HTTP context.
+
87  * @param context Context to use.
+
88  * @param name Name of the field.
+
89  * @param value The binary data to pass as a value.
+
90  * @param len Length of the binary data which has been passed.
+
91  */
+
92 Result httpcAddPostDataBinary(httpcContext *context, const char* name, const u8* value, u32 len);
+
93 
+
94 /**
+
95  * @brief Adds a POST body to a HTTP context.
+
96  * @param context Context to use.
+
97  * @param data The data to be passed as raw into the body of the post request.
+
98  * @param len Length of data passed by data param.
+
99  */
+
100 Result httpcAddPostDataRaw(httpcContext *context, const u32* data, u32 len);
+
101 
+
102 /**
+
103  * @brief Begins a HTTP request.
+
104  * @param context Context to use.
+
105  */
+ +
107 
+
108 /**
+
109  * @brief Receives data from a HTTP context.
+
110  * @param context Context to use.
+
111  * @param buffer Buffer to receive data to.
+
112  * @param size Size of the buffer.
+
113  */
+
114 Result httpcReceiveData(httpcContext *context, u8* buffer, u32 size);
+
115 
+
116 /**
+
117  * @brief Receives data from a HTTP context with a timeout value.
+
118  * @param context Context to use.
+
119  * @param buffer Buffer to receive data to.
+
120  * @param size Size of the buffer.
+
121  * @param timeout Maximum time in nanoseconds to wait for a reply.
+
122  */
+
123 Result httpcReceiveDataTimeout(httpcContext *context, u8* buffer, u32 size, u64 timeout);
+
124 
+
125 /**
+
126  * @brief Gets the request state of a HTTP context.
+
127  * @param context Context to use.
+
128  * @param out Pointer to output the HTTP request state to.
+
129  */
+ +
131 
+
132 /**
+
133  * @brief Gets the download size state of a HTTP context.
+
134  * @param context Context to use.
+
135  * @param downloadedsize Pointer to output the downloaded size to.
+
136  * @param contentsize Pointer to output the total content size to.
+
137  */
+
138 Result httpcGetDownloadSizeState(httpcContext *context, u32* downloadedsize, u32* contentsize);
+
139 
+
140 /**
+
141  * @brief Gets the response code of the HTTP context.
+
142  * @param context Context to get the response code of.
+
143  * @param out Pointer to write the response code to.
+
144  */
+ +
146 
+
147 /**
+
148  * @brief Gets the response code of the HTTP context with a timeout value.
+
149  * @param context Context to get the response code of.
+
150  * @param out Pointer to write the response code to.
+
151  * @param timeout Maximum time in nanoseconds to wait for a reply.
+
152  */
+ +
154 
+
155 /**
+
156  * @brief Gets a response header field from a HTTP context.
+
157  * @param context Context to use.
+
158  * @param name Name of the field.
+
159  * @param value Pointer to output the value of the field to.
+
160  * @param valuebuf_maxsize Maximum size of the value buffer.
+
161  */
+
162 Result httpcGetResponseHeader(httpcContext *context, const char* name, char* value, u32 valuebuf_maxsize);
+
163 
+
164 /**
+
165  * @brief Adds a trusted RootCA cert to a HTTP context.
+
166  * @param context Context to use.
+
167  * @param cert Pointer to DER cert.
+
168  * @param certsize Size of the DER cert.
+
169  */
+
170 Result httpcAddTrustedRootCA(httpcContext *context, const u8 *cert, u32 certsize);
+
171 
+
172 /**
+
173  * @brief Adds a default RootCA cert to a HTTP context.
+
174  * @param context Context to use.
+
175  * @param certID ID of the cert to add, see sslc.h.
+
176  */
+
177 Result httpcAddDefaultCert(httpcContext *context, SSLC_DefaultRootCert certID);
+
178 
+
179 /**
+
180  * @brief Sets the RootCertChain for a HTTP context.
+
181  * @param context Context to use.
+
182  * @param RootCertChain_contexthandle Contexthandle for the RootCertChain.
+
183  */
+
184 Result httpcSelectRootCertChain(httpcContext *context, u32 RootCertChain_contexthandle);
+
185 
+
186 /**
+
187  * @brief Sets the ClientCert for a HTTP context.
+
188  * @param context Context to use.
+
189  * @param cert Pointer to DER cert.
+
190  * @param certsize Size of the DER cert.
+
191  * @param privk Pointer to the DER private key.
+
192  * @param privk_size Size of the privk.
+
193  */
+
194 Result httpcSetClientCert(httpcContext *context, const u8 *cert, u32 certsize, const u8 *privk, u32 privk_size);
+
195 
+
196 /**
+
197  * @brief Sets the default clientcert for a HTTP context.
+
198  * @param context Context to use.
+
199  * @param certID ID of the cert to add, see sslc.h.
+
200  */
+
201 Result httpcSetClientCertDefault(httpcContext *context, SSLC_DefaultClientCert certID);
+
202 
+
203 /**
+
204  * @brief Sets the ClientCert contexthandle for a HTTP context.
+
205  * @param context Context to use.
+
206  * @param ClientCert_contexthandle Contexthandle for the ClientCert.
+
207  */
+
208 Result httpcSetClientCertContext(httpcContext *context, u32 ClientCert_contexthandle);
+
209 
+
210 /**
+
211  * @brief Sets SSL options for the context.
+
212  * The HTTPC SSL option bits are the same as those defined in sslc.h
+
213  * @param context Context to set flags on.
+
214  * @param options SSL option flags.
+
215  */
+ +
217 
+
218 /**
+
219  * @brief Sets the SSL options which will be cleared for the context.
+
220  * The HTTPC SSL option bits are the same as those defined in sslc.h
+
221  * @param context Context to clear flags on.
+
222  * @param options SSL option flags.
+
223  */
+ +
225 
+
226 /**
+
227  * @brief Creates a RootCertChain. Up to 2 RootCertChains can be created under this user-process.
+
228  * @param RootCertChain_contexthandle Output RootCertChain contexthandle.
+
229  */
+
230 Result httpcCreateRootCertChain(u32 *RootCertChain_contexthandle);
+
231 
+
232 /**
+
233  * @brief Destroy a RootCertChain.
+
234  * @param RootCertChain_contexthandle RootCertChain to use.
+
235  */
+
236 Result httpcDestroyRootCertChain(u32 RootCertChain_contexthandle);
+
237 
+
238 /**
+
239  * @brief Adds a RootCA cert to a RootCertChain.
+
240  * @param RootCertChain_contexthandle RootCertChain to use.
+
241  * @param cert Pointer to DER cert.
+
242  * @param certsize Size of the DER cert.
+
243  * @param cert_contexthandle Optional output ptr for the cert contexthandle(this can be NULL).
+
244  */
+
245 Result httpcRootCertChainAddCert(u32 RootCertChain_contexthandle, const u8 *cert, u32 certsize, u32 *cert_contexthandle);
+
246 
+
247 /**
+
248  * @brief Adds a default RootCA cert to a RootCertChain.
+
249  * @param RootCertChain_contexthandle RootCertChain to use.
+
250  * @param certID ID of the cert to add, see sslc.h.
+
251  * @param cert_contexthandle Optional output ptr for the cert contexthandle(this can be NULL).
+
252  */
+
253 Result httpcRootCertChainAddDefaultCert(u32 RootCertChain_contexthandle, SSLC_DefaultRootCert certID, u32 *cert_contexthandle);
+
254 
+
255 /**
+
256  * @brief Removes a cert from a RootCertChain.
+
257  * @param RootCertChain_contexthandle RootCertChain to use.
+
258  * @param cert_contexthandle Contexthandle of the cert to remove.
+
259  */
+
260 Result httpcRootCertChainRemoveCert(u32 RootCertChain_contexthandle, u32 cert_contexthandle);
+
261 
+
262 /**
+
263  * @brief Opens a ClientCert-context. Up to 2 ClientCert-contexts can be open under this user-process.
+
264  * @param cert Pointer to DER cert.
+
265  * @param certsize Size of the DER cert.
+
266  * @param privk Pointer to the DER private key.
+
267  * @param privk_size Size of the privk.
+
268  * @param ClientCert_contexthandle Output ClientCert context handle.
+
269  */
+
270 Result httpcOpenClientCertContext(const u8 *cert, u32 certsize, const u8 *privk, u32 privk_size, u32 *ClientCert_contexthandle);
+
271 
+
272 /**
+
273  * @brief Opens a ClientCert-context with a default clientclient. Up to 2 ClientCert-contexts can be open under this user-process.
+
274  * @param certID ID of the cert to add, see sslc.h.
+
275  * @param ClientCert_contexthandle Output ClientCert context handle.
+
276  */
+
277 Result httpcOpenDefaultClientCertContext(SSLC_DefaultClientCert certID, u32 *ClientCert_contexthandle);
+
278 
+
279 /**
+
280  * @brief Closes a ClientCert context.
+
281  * @param ClientCert_contexthandle ClientCert context to use.
+
282  */
+
283 Result httpcCloseClientCertContext(u32 ClientCert_contexthandle);
+
284 
+
285 /**
+
286  * @brief Downloads data from the HTTP context into a buffer.
+
287  * The *entire* content must be downloaded before using httpcCloseContext(), otherwise httpcCloseContext() will hang.
+
288  * @param context Context to download data from.
+
289  * @param buffer Buffer to write data to.
+
290  * @param size Size of the buffer.
+
291  * @param downloadedsize Pointer to write the size of the downloaded data to.
+
292  */
+
293 Result httpcDownloadData(httpcContext *context, u8* buffer, u32 size, u32 *downloadedsize);
+
294 
+
295 /**
+
296  * @brief Sets Keep-Alive for the context.
+
297  * @param context Context to set the KeepAlive flag on.
+
298  * @param option HTTPC_KeepAlive option.
+
299  */
+ +
301 
+
Result httpcGetResponseStatusCode(httpcContext *context, u32 *out)
Gets the response code of the HTTP context.
+
Result httpcBeginRequest(httpcContext *context)
Begins a HTTP request.
+
Result httpcOpenClientCertContext(const u8 *cert, u32 certsize, const u8 *privk, u32 privk_size, u32 *ClientCert_contexthandle)
Opens a ClientCert-context.
+
Result httpcGetResponseHeader(httpcContext *context, const char *name, char *value, u32 valuebuf_maxsize)
Gets a response header field from a HTTP context.
+
Result httpcOpenDefaultClientCertContext(SSLC_DefaultClientCert certID, u32 *ClientCert_contexthandle)
Opens a ClientCert-context with a default clientclient.
+
Result httpcAddPostDataBinary(httpcContext *context, const char *name, const u8 *value, u32 len)
Adds a POST form field with binary data to a HTTP context.
+
Result httpcGetDownloadSizeState(httpcContext *context, u32 *downloadedsize, u32 *contentsize)
Gets the download size state of a HTTP context.
+
Result httpcSetKeepAlive(httpcContext *context, HTTPC_KeepAlive option)
Sets Keep-Alive for the context.
+
Result httpcAddTrustedRootCA(httpcContext *context, const u8 *cert, u32 certsize)
Adds a trusted RootCA cert to a HTTP context.
+
Result httpcAddPostDataAscii(httpcContext *context, const char *name, const char *value)
Adds a POST form field to a HTTP context.
+
Result httpcAddDefaultCert(httpcContext *context, SSLC_DefaultRootCert certID)
Adds a default RootCA cert to a HTTP context.
+
Result httpcDestroyRootCertChain(u32 RootCertChain_contexthandle)
Destroy a RootCertChain.
+
Result httpcCloseClientCertContext(u32 ClientCert_contexthandle)
Closes a ClientCert context.
+
Result httpcSelectRootCertChain(httpcContext *context, u32 RootCertChain_contexthandle)
Sets the RootCertChain for a HTTP context.
+
Result httpcReceiveDataTimeout(httpcContext *context, u8 *buffer, u32 size, u64 timeout)
Receives data from a HTTP context with a timeout value.
+
Result httpcAddRequestHeaderField(httpcContext *context, const char *name, const char *value)
Adds a request header field to a HTTP context.
+
Result httpcInit(u32 sharedmem_size)
Initializes HTTPC. For HTTP GET the sharedmem_size can be zero. The sharedmem contains data which wil...
+
Result httpcDownloadData(httpcContext *context, u8 *buffer, u32 size, u32 *downloadedsize)
Downloads data from the HTTP context into a buffer.
+
Result httpcSetClientCertDefault(httpcContext *context, SSLC_DefaultClientCert certID)
Sets the default clientcert for a HTTP context.
+
Result httpcReceiveData(httpcContext *context, u8 *buffer, u32 size)
Receives data from a HTTP context.
+
Result httpcOpenContext(httpcContext *context, HTTPC_RequestMethod method, const char *url, u32 use_defaultproxy)
Opens a HTTP context.
+
Result httpcGetRequestState(httpcContext *context, HTTPC_RequestStatus *out)
Gets the request state of a HTTP context.
+
HTTPC_KeepAlive
HTTP KeepAlive option.
Definition: httpc.h:29
+
void httpcExit(void)
Exits HTTPC.
+
Result httpcAddPostDataRaw(httpcContext *context, const u32 *data, u32 len)
Adds a POST body to a HTTP context.
+
HTTPC_RequestMethod
HTTP request method.
Definition: httpc.h:14
+
Result httpcCancelConnection(httpcContext *context)
Cancels a HTTP connection.
+
Result httpcRootCertChainAddDefaultCert(u32 RootCertChain_contexthandle, SSLC_DefaultRootCert certID, u32 *cert_contexthandle)
Adds a default RootCA cert to a RootCertChain.
+
Result httpcSetClientCert(httpcContext *context, const u8 *cert, u32 certsize, const u8 *privk, u32 privk_size)
Sets the ClientCert for a HTTP context.
+
Result httpcSetSSLOpt(httpcContext *context, u32 options)
Sets SSL options for the context.
+
Result httpcSetClientCertContext(httpcContext *context, u32 ClientCert_contexthandle)
Sets the ClientCert contexthandle for a HTTP context.
+
Result httpcSetSSLClearOpt(httpcContext *context, u32 options)
Sets the SSL options which will be cleared for the context.
+
Result httpcGetResponseStatusCodeTimeout(httpcContext *context, u32 *out, u64 timeout)
Gets the response code of the HTTP context with a timeout value.
+
HTTPC_RequestStatus
HTTP request status.
Definition: httpc.h:23
+
@ HTTPC_STATUS_DOWNLOAD_READY
Download ready.
Definition: httpc.h:25
+
@ HTTPC_STATUS_REQUEST_IN_PROGRESS
Request in progress.
Definition: httpc.h:24
+
Result httpcCloseContext(httpcContext *context)
Closes a HTTP context.
+
Result httpcCreateRootCertChain(u32 *RootCertChain_contexthandle)
Creates a RootCertChain.
+
Result httpcRootCertChainRemoveCert(u32 RootCertChain_contexthandle, u32 cert_contexthandle)
Removes a cert from a RootCertChain.
+
Result httpcRootCertChainAddCert(u32 RootCertChain_contexthandle, const u8 *cert, u32 certsize, u32 *cert_contexthandle)
Adds a RootCA cert to a RootCertChain.
+
HTTP context.
Definition: httpc.h:8
+
Handle servhandle
Service handle.
Definition: httpc.h:9
+
u32 httphandle
HTTP handle.
Definition: httpc.h:10
+
uint64_t u64
64-bit unsigned integer
Definition: types.h:24
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/in_8h_source.html b/in_8h_source.html new file mode 100644 index 000000000..29ff4a483 --- /dev/null +++ b/in_8h_source.html @@ -0,0 +1,127 @@ + + + + + + + +libctru: include/netinet/in.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
in.h
+
+
+
1 #pragma once
+
2 
+
3 #include <stdint.h>
+
4 #include <sys/socket.h>
+
5 
+
6 #define INADDR_LOOPBACK 0x7f000001
+
7 #define INADDR_ANY 0x00000000
+
8 #define INADDR_BROADCAST 0xFFFFFFFF
+
9 #define INADDR_NONE 0xFFFFFFFF
+
10 
+
11 #define INET_ADDRSTRLEN 16
+
12 
+
13 /*
+
14  * Protocols (See RFC 1700 and the IANA)
+
15  */
+
16 #define IPPROTO_IP 0 /* dummy for IP */
+
17 #define IPPROTO_UDP 17 /* user datagram protocol */
+
18 #define IPPROTO_TCP 6 /* tcp */
+
19 
+
20 #define IP_TOS 7
+
21 #define IP_TTL 8
+
22 #define IP_MULTICAST_LOOP 9
+
23 #define IP_MULTICAST_TTL 10
+
24 #define IP_ADD_MEMBERSHIP 11
+
25 #define IP_DROP_MEMBERSHIP 12
+
26 
+
27 typedef uint16_t in_port_t;
+
28 typedef uint32_t in_addr_t;
+
29 
+
30 struct in_addr {
+
31  in_addr_t s_addr;
+
32 };
+
33 
+
34 struct sockaddr_in {
+
35  sa_family_t sin_family;
+
36  in_port_t sin_port;
+
37  struct in_addr sin_addr;
+
38  unsigned char sin_zero[8];
+
39 };
+
40 
+
41 /* Request struct for multicast socket ops */
+
42 struct ip_mreq {
+
43  struct in_addr imr_multiaddr; /* IP multicast address of group */
+
44  struct in_addr imr_interface; /* local IP address of interface */
+
45 };
+
Definition: in.h:30
+
Definition: in.h:42
+
Definition: in.h:34
+
+ + + + diff --git a/index.html b/index.html new file mode 100644 index 000000000..dd594bdb9 --- /dev/null +++ b/index.html @@ -0,0 +1,97 @@ + + + + + + + +libctru: libctru - CTR User Library + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
libctru - CTR User Library
+
+
+

Build Status

+

Library for writing user mode ARM11 code for the 3DS (CTR)

+

This library aims to provide the foundations necessary to write 3DS Homebrew, and straightforwardly access the different functionalities provided by the 3DS operating system. It is not meant to provide higher level functions; to put things in perspective, the purpose of libctru would be to sit between the OS and a possible port of SDL rather than replace it.

+

*(Originally located at github.com/smealum/ctrulib)*

+

+Setup

+

libctru is just a library and needs a toolchain to function. devkitARM (created by devkitPro) is the officially supported ARM cross compiling toolchain, which provides the framework necessary to supply a usable POSIX-like environment, with working C and C++ standard libraries; as well as the tools required to compile homebrew in the 3DSX format, and assemble GPU shaders. The use of other ARM toolchains is severely discouraged.

+

The most recent version of devkitARM is always recommended. The installers/setup scripts supplied by devkitPro install a prebuilt copy of the latest stable version of libctru, which is recommended for general use. Please note that devkitPro has a policy of keeping legacy code to a minimum, so a library upgrade may result in older code failing to compile or behave properly. Developers are encouraged to keep their code working with the latest versions of the tools and libraries.

+

You may find instructions on how to install devkitARM on the devkitPro Wiki.

+

+Documentation

+

The documentation is automatically built upon release and can be found at the following url: https://devkitpro.github.io/libctru/

+

+License

+

This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

+

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

+
    +
  1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
  2. +
  3. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
  4. +
  5. This notice may not be removed or altered from any source distribution.
  6. +
+
+
+ + + + diff --git a/inet_8h_source.html b/inet_8h_source.html new file mode 100644 index 000000000..191643eab --- /dev/null +++ b/inet_8h_source.html @@ -0,0 +1,119 @@ + + + + + + + +libctru: include/arpa/inet.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
inet.h
+
+
+
1 #pragma once
+
2 
+
3 #include <netinet/in.h>
+
4 #include <stdint.h>
+
5 
+
6 static inline uint32_t htonl(uint32_t hostlong)
+
7 {
+
8  return __builtin_bswap32(hostlong);
+
9 }
+
10 
+
11 static inline uint16_t htons(uint16_t hostshort)
+
12 {
+
13  return __builtin_bswap16(hostshort);
+
14 }
+
15 
+
16 static inline uint32_t ntohl(uint32_t netlong)
+
17 {
+
18  return __builtin_bswap32(netlong);
+
19 }
+
20 
+
21 static inline uint16_t ntohs(uint16_t netshort)
+
22 {
+
23  return __builtin_bswap16(netshort);
+
24 }
+
25 
+
26 #ifdef __cplusplus
+
27 extern "C" {
+
28 #endif
+
29 
+
30  in_addr_t inet_addr(const char *cp);
+
31  int inet_aton(const char *cp, struct in_addr *inp);
+
32  char* inet_ntoa(struct in_addr in);
+
33 
+
34  const char *inet_ntop(int af, const void * src, char * dst, socklen_t size);
+
35  int inet_pton(int af, const char * src, void * dst);
+
36 
+
37 #ifdef __cplusplus
+
38 }
+
39 #endif
+
Definition: in.h:30
+
+ + + + diff --git a/input_2read-controls_2source_2main_8c-example.html b/input_2read-controls_2source_2main_8c-example.html new file mode 100644 index 000000000..712969b0c --- /dev/null +++ b/input_2read-controls_2source_2main_8c-example.html @@ -0,0 +1,201 @@ + + + + + + + +libctru: input/read-controls/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
input/read-controls/source/main.c
+
+
+
/*
+
Circle Pad example made by Aurelio Mannara for libctru
+
Please refer to https://github.com/devkitPro/libctru/blob/master/libctru/include/3ds/services/hid.h for more information
+
This code was modified for the last time on: 12/13/2014 2:20 UTC+1
+
+
This wouldn't be possible without the amazing work done by:
+
-Smealum
+
-fincs
+
-WinterMute
+
-yellows8
+
-plutoo
+
-mtheall
+
-Many others who worked on 3DS and I'm surely forgetting about
+
*/
+
+
#include <3ds.h>
+
#include <stdio.h>
+
+
int main(int argc, char **argv)
+
{
+
//Matrix containing the name of each key. Useful for printing when a key is pressed
+
char keysNames[32][32] = {
+
"KEY_A", "KEY_B", "KEY_SELECT", "KEY_START",
+
"KEY_DRIGHT", "KEY_DLEFT", "KEY_DUP", "KEY_DDOWN",
+
"KEY_R", "KEY_L", "KEY_X", "KEY_Y",
+
"", "", "KEY_ZL", "KEY_ZR",
+
"", "", "", "",
+
"KEY_TOUCH", "", "", "",
+
"KEY_CSTICK_RIGHT", "KEY_CSTICK_LEFT", "KEY_CSTICK_UP", "KEY_CSTICK_DOWN",
+
"KEY_CPAD_RIGHT", "KEY_CPAD_LEFT", "KEY_CPAD_UP", "KEY_CPAD_DOWN"
+
};
+
+
// Initialize services
+ +
+
//Initialize console on top screen. Using NULL as the second argument tells the console library to use the internal console structure as current one
+ +
+
u32 kDownOld = 0, kHeldOld = 0, kUpOld = 0; //In these variables there will be information about keys detected in the previous frame
+
+
printf("\x1b[1;1HPress Start to exit.");
+
printf("\x1b[2;1HCirclePad position:");
+
+
// Main loop
+
while (aptMainLoop())
+
{
+
//Scan all the inputs. This should be done once for each frame
+ +
+
//hidKeysDown returns information about which buttons have been just pressed (and they weren't in the previous frame)
+
u32 kDown = hidKeysDown();
+
//hidKeysHeld returns information about which buttons have are held down in this frame
+
u32 kHeld = hidKeysHeld();
+
//hidKeysUp returns information about which buttons have been just released
+
u32 kUp = hidKeysUp();
+
+
if (kDown & KEY_START) break; // break in order to return to hbmenu
+
+
//Do the keys printing only if keys have changed
+
if (kDown != kDownOld || kHeld != kHeldOld || kUp != kUpOld)
+
{
+
//Clear console
+ +
+
//These two lines must be rewritten because we cleared the whole console
+
printf("\x1b[1;1HPress Start to exit.");
+
printf("\x1b[2;1HCirclePad position:");
+
+
printf("\x1b[4;1H"); //Move the cursor to the fourth row because on the third one we'll write the circle pad position
+
+
//Check if some of the keys are down, held or up
+
int i;
+
for (i = 0; i < 32; i++)
+
{
+
if (kDown & BIT(i)) printf("%s down\n", keysNames[i]);
+
if (kHeld & BIT(i)) printf("%s held\n", keysNames[i]);
+
if (kUp & BIT(i)) printf("%s up\n", keysNames[i]);
+
}
+
}
+
+
//Set keys old values for the next frame
+
kDownOld = kDown;
+
kHeldOld = kHeld;
+
kUpOld = kUp;
+
+ +
+
//Read the CirclePad position
+ +
+
//Print the CirclePad position
+
printf("\x1b[3;1H%04d; %04d", pos.dx, pos.dy);
+
+
// Flush and swap framebuffers
+ + +
+
//Wait for VBlank
+ +
}
+
+
// Exit services
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
void consoleClear(void)
Clears the screen by using iprintf("\x1b[2J");.
+
void gfxSwapBuffers(void)
Updates the configuration of both screens.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
void gfxFlushBuffers(void)
Flushes the data cache for the current framebuffers.
+
#define gspWaitForVBlank()
Waits for VBlank.
Definition: gspgpu.h:151
+
@ KEY_START
Start.
Definition: hid.h:15
+
void hidCircleRead(circlePosition *pos)
Reads the current circle pad position.
+
u32 hidKeysHeld(void)
Returns a bitmask of held buttons.
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
u32 hidKeysUp(void)
Returns a bitmask of newly released buttons, this frame.
+
Circle Pad position.
Definition: hid.h:52
+
s16 dx
Pad X.
Definition: hid.h:53
+
s16 dy
Pad Y.
Definition: hid.h:54
+
#define BIT(n)
Creates a bitmask from a bit number.
Definition: types.h:47
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/input_2software-keyboard_2source_2main_8c-example.html b/input_2software-keyboard_2source_2main_8c-example.html new file mode 100644 index 000000000..bd14308d9 --- /dev/null +++ b/input_2software-keyboard_2source_2main_8c-example.html @@ -0,0 +1,288 @@ + + + + + + + +libctru: input/software-keyboard/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
input/software-keyboard/source/main.c
+
+
+
#include <3ds.h>
+
#include <stdio.h>
+
#include <string.h>
+
+
static SwkbdCallbackResult MyCallback(void* user, const char** ppMessage, const char* text, size_t textlen)
+
{
+
if (strstr(text, "lenny"))
+
{
+
*ppMessage = "Nice try but I'm not letting you use that meme right now";
+ +
}
+
+
if (strstr(text, "brick"))
+
{
+
*ppMessage = "~Time to visit Brick City~";
+ +
}
+
+ +
}
+
+
int main(int argc, char **argv)
+
{
+ + +
+
printf("Software keyboard demo - by fincs\n");
+
printf("A: text input\n");
+
printf("B: numpad input\n");
+
printf("X: western input\n");
+
printf("Y: filtered input + HOME/POWER/reset handling\n");
+
printf("START: exit\n");
+
+
while (aptMainLoop())
+
{
+ +
+
u32 kDown = hidKeysDown();
+
+
if (kDown & KEY_START)
+
break;
+
+
static SwkbdState swkbd;
+
static char mybuf[60];
+
static SwkbdStatusData swkbdStatus;
+
static SwkbdLearningData swkbdLearning;
+ +
bool didit = false;
+
+
if (kDown & KEY_A)
+
{
+
didit = true;
+
swkbdInit(&swkbd, SWKBD_TYPE_NORMAL, 3, -1);
+
swkbdSetInitialText(&swkbd, mybuf);
+
swkbdSetHintText(&swkbd, "Please enter dank memes");
+
swkbdSetButton(&swkbd, SWKBD_BUTTON_LEFT, "Maybe Not", false);
+
swkbdSetButton(&swkbd, SWKBD_BUTTON_MIDDLE, "~Middle~", true);
+
swkbdSetButton(&swkbd, SWKBD_BUTTON_RIGHT, "Do It", true);
+ +
SwkbdDictWord words[2];
+
swkbdSetDictWord(&words[0], "lenny", "( ͡° ͜ʖ ͡°)");
+
swkbdSetDictWord(&words[1], "shrug", "¯\\_(ツ)_/¯");
+
swkbdSetDictionary(&swkbd, words, sizeof(words)/sizeof(SwkbdDictWord));
+
static bool reload = false;
+
swkbdSetStatusData(&swkbd, &swkbdStatus, reload, true);
+
swkbdSetLearningData(&swkbd, &swkbdLearning, reload, true);
+
reload = true;
+
button = swkbdInputText(&swkbd, mybuf, sizeof(mybuf));
+
}
+
+
if (kDown & KEY_B)
+
{
+
didit = true;
+
swkbdInit(&swkbd, SWKBD_TYPE_NUMPAD, 1, 8);
+ + + +
swkbdSetNumpadKeys(&swkbd, L'ツ', L'益');
+
button = swkbdInputText(&swkbd, mybuf, sizeof(mybuf));
+
}
+
+
if (kDown & KEY_X)
+
{
+
didit = true;
+
swkbdInit(&swkbd, SWKBD_TYPE_WESTERN, 1, -1);
+ + +
swkbdSetHintText(&swkbd, "No Japanese text allowed ¯\\_(ツ)_/¯");
+
button = swkbdInputText(&swkbd, mybuf, sizeof(mybuf));
+
}
+
+
if (kDown & KEY_Y)
+
{
+
didit = true;
+
swkbdInit(&swkbd, SWKBD_TYPE_WESTERN, 2, -1);
+ + +
swkbdSetFilterCallback(&swkbd, MyCallback, NULL);
+
+
bool shouldQuit = false;
+
mybuf[0] = 0;
+
do
+
{
+
swkbdSetInitialText(&swkbd, mybuf);
+
button = swkbdInputText(&swkbd, mybuf, sizeof(mybuf));
+
if (button != SWKBD_BUTTON_NONE)
+
break;
+
+
SwkbdResult res = swkbdGetResult(&swkbd);
+
if (res == SWKBD_RESETPRESSED)
+
{
+
shouldQuit = true;
+ +
break;
+
}
+
else if (res != SWKBD_HOMEPRESSED && res != SWKBD_POWERPRESSED)
+
break; // An actual error happened, display it
+
+
shouldQuit = !aptMainLoop();
+
} while (!shouldQuit);
+
+
if (shouldQuit)
+
break;
+
}
+
+
if (didit)
+
{
+
if (button != SWKBD_BUTTON_NONE)
+
{
+
printf("You pressed button %d\n", button);
+
printf("Text: %s\n", mybuf);
+
} else
+
printf("swkbd event: %d\n", swkbdGetResult(&swkbd));
+
}
+
+
// Flush and swap framebuffers
+ + +
+ +
}
+
+ +
return 0;
+
}
+
Central 3DS header.
+
void aptSetChainloaderToSelf(void)
Configures the chainloader to relaunch the current application (i.e. soft-reset)
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
void gfxSwapBuffers(void)
Updates the configuration of both screens.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
void gfxFlushBuffers(void)
Flushes the data cache for the current framebuffers.
+
#define gspWaitForVBlank()
Waits for VBlank.
Definition: gspgpu.h:151
+
@ KEY_B
B.
Definition: hid.h:13
+
@ KEY_X
X.
Definition: hid.h:22
+
@ KEY_Y
Y.
Definition: hid.h:23
+
@ KEY_START
Start.
Definition: hid.h:15
+
@ KEY_A
A.
Definition: hid.h:12
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
Keyboard dictionary word for predictive input.
Definition: swkbd.h:114
+
Keyboard predictive input learning data.
Definition: swkbd.h:126
+
Software keyboard parameter structure, it shouldn't be modified directly.
Definition: swkbd.h:141
+
Keyboard status data.
Definition: swkbd.h:124
+
void swkbdSetButton(SwkbdState *swkbd, SwkbdButton button, const char *text, bool submit)
Configures a dialog button in a software keyboard.
+
SwkbdCallbackResult
Keyboard filter callback return values.
Definition: swkbd.h:73
+
@ SWKBD_CALLBACK_CLOSE
Displays an error message, then closes the keyboard.
Definition: swkbd.h:75
+
@ SWKBD_CALLBACK_OK
Specifies that the input is valid.
Definition: swkbd.h:74
+
@ SWKBD_CALLBACK_CONTINUE
Displays an error message and continues displaying the keyboard.
Definition: swkbd.h:76
+
void swkbdSetInitialText(SwkbdState *swkbd, const char *text)
Sets the initial text that a software keyboard will display on launch.
+
SwkbdButton swkbdInputText(SwkbdState *swkbd, char *buf, size_t bufsize)
Launches a software keyboard in order to input text.
+
void swkbdSetFilterCallback(SwkbdState *swkbd, SwkbdCallbackFn callback, void *user)
Configures a custom function to be used to check the validity of input when it is submitted in a soft...
+
void swkbdSetLearningData(SwkbdState *swkbd, SwkbdLearningData *data, bool in, bool out)
Configures software keyboard predictive input learning data management.
+
void swkbdSetFeatures(SwkbdState *swkbd, u32 features)
Specifies which special features are enabled in a software keyboard.
+
void swkbdSetDictWord(SwkbdDictWord *word, const char *reading, const char *text)
Configures a word in a predictive dictionary for use with a software keyboard.
+
@ SWKBD_PASSWORD_HIDE_DELAY
Characters are concealed a second after they've been typed.
Definition: swkbd.h:43
+
static void swkbdSetPasswordMode(SwkbdState *swkbd, SwkbdPasswordMode mode)
Configures password mode in a software keyboard.
Definition: swkbd.h:201
+
SwkbdButton
Keyboard dialog buttons.
Definition: swkbd.h:30
+
@ SWKBD_BUTTON_LEFT
Left button (usually Cancel)
Definition: swkbd.h:31
+
@ SWKBD_BUTTON_RIGHT
Right button (usually OK)
Definition: swkbd.h:33
+
@ SWKBD_BUTTON_MIDDLE
Middle button (usually I Forgot)
Definition: swkbd.h:32
+
@ SWKBD_BUTTON_NONE
No button (returned by swkbdInputText in special cases)
Definition: swkbd.h:35
+
void swkbdSetStatusData(SwkbdState *swkbd, SwkbdStatusData *data, bool in, bool out)
Configures software keyboard internal status management.
+
static void swkbdSetValidation(SwkbdState *swkbd, SwkbdValidInput validInput, u32 filterFlags, int maxDigits)
Configures input validation in a software keyboard.
Definition: swkbd.h:213
+
@ SWKBD_FILTER_PROFANITY
Disallow profanity using Nintendo's profanity filter.
Definition: swkbd.h:53
+
@ SWKBD_FILTER_AT
Disallow the use of the @ sign.
Definition: swkbd.h:50
+
@ SWKBD_FILTER_BACKSLASH
Disallow the use of the \ sign.
Definition: swkbd.h:52
+
@ SWKBD_FILTER_DIGITS
Disallow the use of more than a certain number of digits (0 or more)
Definition: swkbd.h:49
+
@ SWKBD_FILTER_PERCENT
Disallow the use of the % sign.
Definition: swkbd.h:51
+
@ SWKBD_NOTEMPTY_NOTBLANK
Empty or blank inputs (consisting solely of whitespace) are not accepted.
Definition: swkbd.h:22
+
@ SWKBD_ANYTHING
All inputs are accepted.
Definition: swkbd.h:20
+
static SwkbdResult swkbdGetResult(SwkbdState *swkbd)
Retrieves the result condition of a software keyboard after it has been used.
Definition: swkbd.h:318
+
SwkbdResult
Keyboard return values.
Definition: swkbd.h:81
+
@ SWKBD_RESETPRESSED
The soft-reset key combination was pressed.
Definition: swkbd.h:94
+
@ SWKBD_POWERPRESSED
The POWER button was pressed.
Definition: swkbd.h:95
+
@ SWKBD_HOMEPRESSED
The HOME button was pressed.
Definition: swkbd.h:93
+
void swkbdSetHintText(SwkbdState *swkbd, const char *text)
Sets the hint text of a software keyboard (that is, the help text that is displayed when the textbox ...
+
@ SWKBD_ALLOW_POWER
Allow the usage of the POWER button.
Definition: swkbd.h:67
+
@ SWKBD_ALLOW_RESET
Allow the usage of a software-reset combination.
Definition: swkbd.h:66
+
@ SWKBD_ALLOW_HOME
Allow the usage of the HOME button.
Definition: swkbd.h:65
+
@ SWKBD_FIXED_WIDTH
Enable fixed-width mode.
Definition: swkbd.h:64
+
@ SWKBD_MULTILINE
Enable multiline input.
Definition: swkbd.h:63
+
@ SWKBD_DARKEN_TOP_SCREEN
Darken the top screen when the keyboard is shown.
Definition: swkbd.h:61
+
@ SWKBD_PREDICTIVE_INPUT
Enable predictive input (necessary for Kanji input in JPN systems).
Definition: swkbd.h:62
+
void swkbdInit(SwkbdState *swkbd, SwkbdType type, int numButtons, int maxTextLength)
Initializes software keyboard status.
+
static void swkbdSetNumpadKeys(SwkbdState *swkbd, int left, int right)
Configures what characters will the two bottom keys in a numpad produce.
Definition: swkbd.h:226
+
@ SWKBD_TYPE_NORMAL
Normal keyboard with several pages (QWERTY/accents/symbol/mobile)
Definition: swkbd.h:11
+
@ SWKBD_TYPE_WESTERN
On JPN systems, a text keyboard without Japanese input capabilities, otherwise same as SWKBD_TYPE_NOR...
Definition: swkbd.h:14
+
@ SWKBD_TYPE_NUMPAD
Number pad.
Definition: swkbd.h:13
+
void swkbdSetDictionary(SwkbdState *swkbd, const SwkbdDictWord *dict, int wordCount)
Sets the custom word dictionary to be used with the predictive input system of a software keyboard.
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/input_2touch-screen_2source_2main_8c-example.html b/input_2touch-screen_2source_2main_8c-example.html new file mode 100644 index 000000000..95056d35c --- /dev/null +++ b/input_2touch-screen_2source_2main_8c-example.html @@ -0,0 +1,152 @@ + + + + + + + +libctru: input/touch-screen/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
input/touch-screen/source/main.c
+
+
+
/*
+
Touch Screen example made by Aurelio Mannara for libctru
+
Please refer to https://github.com/devkitPro/libctru/blob/master/libctru/include/3ds/services/hid.h for more information
+
This code was modified for the last time on: 12/13/2014 2:30 UTC+1
+
+
This wouldn't be possible without the amazing work done by:
+
-Smealum
+
-fincs
+
-WinterMute
+
-yellows8
+
-plutoo
+
-mtheall
+
-Many others who worked on 3DS and I'm surely forgetting about
+
*/
+
+
#include <3ds.h>
+
#include <stdio.h>
+
+
int main(int argc, char **argv)
+
{
+ +
+
//Initialize console on top screen. Using NULL as the second argument tells the console library to use the internal console structure as current one
+ +
+
printf("\x1b[0;0HPress Start to exit.");
+
printf("\x1b[1;0HTouch Screen position:");
+
+
// Main loop
+
while (aptMainLoop())
+
{
+
//Scan all the inputs. This should be done once for each frame
+ +
+
//hidKeysDown returns information about which buttons have been just pressed (and they weren't in the previous frame)
+
u32 kDown = hidKeysDown();
+
+
if (kDown & KEY_START) break; // break in order to return to hbmenu
+
+ +
+
//Read the touch screen coordinates
+
hidTouchRead(&touch);
+
+
//Print the touch screen coordinates
+
printf("\x1b[2;0H%03d; %03d", touch.px, touch.py);
+
+
+
// Flush and swap framebuffers
+ + +
+
//Wait for VBlank
+ +
}
+
+
// Exit services
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
void gfxSwapBuffers(void)
Updates the configuration of both screens.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
void gfxFlushBuffers(void)
Flushes the data cache for the current framebuffers.
+
#define gspWaitForVBlank()
Waits for VBlank.
Definition: gspgpu.h:151
+
@ KEY_START
Start.
Definition: hid.h:15
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
void hidTouchRead(touchPosition *pos)
Reads the current touch position.
+
Touch position.
Definition: hid.h:45
+
u16 px
Touch X.
Definition: hid.h:46
+
u16 py
Touch Y.
Definition: hid.h:47
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/ioctl_8h_source.html b/ioctl_8h_source.html new file mode 100644 index 000000000..2618ed214 --- /dev/null +++ b/ioctl_8h_source.html @@ -0,0 +1,92 @@ + + + + + + + +libctru: include/sys/ioctl.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ioctl.h
+
+
+
1 #pragma once
+
2 
+
3 #define FIONBIO 1
+
4 
+
5 #ifdef __cplusplus
+
6 extern "C" {
+
7 #endif
+
8 
+
9  int ioctl(int fd, int request, ...);
+
10 
+
11 #ifdef __cplusplus
+
12 }
+
13 #endif
+
+ + + + diff --git a/ipc_8h.html b/ipc_8h.html new file mode 100644 index 000000000..7e677a427 --- /dev/null +++ b/ipc_8h.html @@ -0,0 +1,464 @@ + + + + + + + +libctru: include/3ds/ipc.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
ipc.h File Reference
+
+
+ +

Inter Process Communication helpers. +More...

+
#include <3ds/types.h>
+
+

Go to the source code of this file.

+ + + + + +

+Enumerations

enum  IPC_BufferRights {
+  IPC_BUFFER_R = BIT(1) +,
+  IPC_BUFFER_W = BIT(2) +,
+  IPC_BUFFER_RW = IPC_BUFFER_R | IPC_BUFFER_W +
+ }
 IPC buffer access rights. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

static u32 IPC_MakeHeader (u16 command_id, unsigned normal_params, unsigned translate_params)
 Creates a command header to be used for IPC. More...
 
static u32 IPC_Desc_SharedHandles (unsigned number)
 Creates a header to share handles. More...
 
static u32 IPC_Desc_MoveHandles (unsigned number)
 Creates the header to transfer handle ownership. More...
 
static u32 IPC_Desc_CurProcessId (void)
 Returns the code to ask the kernel to fill the handle with the current process ID. More...
 
+static CTR_DEPRECATED u32 IPC_Desc_CurProcessHandle (void)
 
static u32 IPC_Desc_StaticBuffer (size_t size, unsigned buffer_id)
 Creates a header describing a static buffer. More...
 
static u32 IPC_Desc_PXIBuffer (size_t size, unsigned buffer_id, bool is_read_only)
 Creates a header describing a buffer to be sent over PXI. More...
 
static u32 IPC_Desc_Buffer (size_t size, IPC_BufferRights rights)
 Creates a header describing a buffer from the main memory. More...
 
+

Detailed Description

+

Inter Process Communication helpers.

+

Enumeration Type Documentation

+ +

◆ IPC_BufferRights

+ +
+
+ + + + +
enum IPC_BufferRights
+
+ +

IPC buffer access rights.

+ + + + +
Enumerator
IPC_BUFFER_R 

Readable.

+
IPC_BUFFER_W 

Writable.

+
IPC_BUFFER_RW 

Readable and Writable.

+
+ +
+
+

Function Documentation

+ +

◆ IPC_Desc_Buffer()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static u32 IPC_Desc_Buffer (size_t size,
IPC_BufferRights rights 
)
+
+inlinestatic
+
+ +

Creates a header describing a buffer from the main memory.

+
Parameters
+ + + +
sizeSize of the buffer. Max 0x0FFFFFFF.
rightsThe rights of the buffer for the destination process.
+
+
+
Returns
The created buffer header.
+

The next value is a pointer to the buffer.

+ +
+
+ +

◆ IPC_Desc_CurProcessId()

+ +
+
+ + + + + +
+ + + + + + + + +
static u32 IPC_Desc_CurProcessId (void )
+
+inlinestatic
+
+ +

Returns the code to ask the kernel to fill the handle with the current process ID.

+
Returns
The code to request the current process ID.
+

The next value is a placeholder that will be replaced by the current process ID by the kernel.

+ +
+
+ +

◆ IPC_Desc_MoveHandles()

+ +
+
+ + + + + +
+ + + + + + + + +
static u32 IPC_Desc_MoveHandles (unsigned number)
+
+inlinestatic
+
+ +

Creates the header to transfer handle ownership.

+
Parameters
+ + +
numberThe number of handles following this header. Max 64.
+
+
+
Returns
The created handle transfer header.
+

The #number next values are handles that will be duplicated and closed by the other process.

+
Note
Zero values will have no effect.
+ +
+
+ +

◆ IPC_Desc_PXIBuffer()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static u32 IPC_Desc_PXIBuffer (size_t size,
unsigned buffer_id,
bool is_read_only 
)
+
+inlinestatic
+
+ +

Creates a header describing a buffer to be sent over PXI.

+
Parameters
+ + + + +
sizeSize of the buffer. Max 0x00FFFFFF.
buffer_idThe Id of the buffer. Max 0xF.
is_read_onlytrue if the buffer is read-only. If false, the buffer is considered to have read-write access.
+
+
+
Returns
The created PXI buffer header.
+

The next value is a phys-address of a table located in the BASE memregion.

+ +
+
+ +

◆ IPC_Desc_SharedHandles()

+ +
+
+ + + + + +
+ + + + + + + + +
static u32 IPC_Desc_SharedHandles (unsigned number)
+
+inlinestatic
+
+ +

Creates a header to share handles.

+
Parameters
+ + +
numberThe number of handles following this header. Max 64.
+
+
+
Returns
The created shared handles header.
+

The #number next values are handles that will be shared between the two processes.

+
Note
Zero values will have no effect.
+ +
+
+ +

◆ IPC_Desc_StaticBuffer()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static u32 IPC_Desc_StaticBuffer (size_t size,
unsigned buffer_id 
)
+
+inlinestatic
+
+ +

Creates a header describing a static buffer.

+
Parameters
+ + + +
sizeSize of the buffer. Max ?0x03FFFF?.
buffer_idThe Id of the buffer. Max 0xF.
+
+
+
Returns
The created static buffer header.
+

The next value is a pointer to the buffer. It will be copied to TLS offset 0x180 + static_buffer_id*8.

+ +
+
+ +

◆ IPC_MakeHeader()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static u32 IPC_MakeHeader (u16 command_id,
unsigned normal_params,
unsigned translate_params 
)
+
+inlinestatic
+
+ +

Creates a command header to be used for IPC.

+
Parameters
+ + + + +
command_idID of the command to create a header for.
normal_paramsSize of the normal parameters in words. Up to 63.
translate_paramsSize of the translate parameters in words. Up to 63.
+
+
+
Returns
The created IPC header.
+

Normal parameters are sent directly to the process while the translate parameters might go through modifications and checks by the kernel. The translate parameters are described by headers generated with the IPC_Desc_* functions.

+
Note
While #normal_params is equivalent to the number of normal parameters, #translate_params includes the size occupied by the translate parameters headers.
+ +
+
+
+ + + + diff --git a/ipc_8h_source.html b/ipc_8h_source.html new file mode 100644 index 000000000..fc65be474 --- /dev/null +++ b/ipc_8h_source.html @@ -0,0 +1,214 @@ + + + + + + + +libctru: include/3ds/ipc.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ipc.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file ipc.h
+
3  * @brief Inter Process Communication helpers
+
4  */
+
5 #pragma once
+
6 
+
7 #include <3ds/types.h>
+
8 
+
9 /// IPC buffer access rights.
+
10 typedef enum
+
11 {
+
12  IPC_BUFFER_R = BIT(1), ///< Readable
+
13  IPC_BUFFER_W = BIT(2), ///< Writable
+
14  IPC_BUFFER_RW = IPC_BUFFER_R | IPC_BUFFER_W ///< Readable and Writable
+ +
16 
+
17 /**
+
18  * @brief Creates a command header to be used for IPC
+
19  * @param command_id ID of the command to create a header for.
+
20  * @param normal_params Size of the normal parameters in words. Up to 63.
+
21  * @param translate_params Size of the translate parameters in words. Up to 63.
+
22  * @return The created IPC header.
+
23  *
+
24  * Normal parameters are sent directly to the process while the translate parameters might go through modifications and checks by the kernel.
+
25  * The translate parameters are described by headers generated with the IPC_Desc_* functions.
+
26  *
+
27  * @note While #normal_params is equivalent to the number of normal parameters, #translate_params includes the size occupied by the translate parameters headers.
+
28  */
+
29 static inline u32 IPC_MakeHeader(u16 command_id, unsigned normal_params, unsigned translate_params)
+
30 {
+
31  return ((u32) command_id << 16) | (((u32) normal_params & 0x3F) << 6) | (((u32) translate_params & 0x3F) << 0);
+
32 }
+
33 
+
34 /**
+
35  * @brief Creates a header to share handles
+
36  * @param number The number of handles following this header. Max 64.
+
37  * @return The created shared handles header.
+
38  *
+
39  * The #number next values are handles that will be shared between the two processes.
+
40  *
+
41  * @note Zero values will have no effect.
+
42  */
+
43 static inline u32 IPC_Desc_SharedHandles(unsigned number)
+
44 {
+
45  return ((u32)(number - 1) << 26);
+
46 }
+
47 
+
48 /**
+
49  * @brief Creates the header to transfer handle ownership
+
50  * @param number The number of handles following this header. Max 64.
+
51  * @return The created handle transfer header.
+
52  *
+
53  * The #number next values are handles that will be duplicated and closed by the other process.
+
54  *
+
55  * @note Zero values will have no effect.
+
56  */
+
57 static inline u32 IPC_Desc_MoveHandles(unsigned number)
+
58 {
+
59  return ((u32)(number - 1) << 26) | 0x10;
+
60 }
+
61 
+
62 /**
+
63  * @brief Returns the code to ask the kernel to fill the handle with the current process ID.
+
64  * @return The code to request the current process ID.
+
65  *
+
66  * The next value is a placeholder that will be replaced by the current process ID by the kernel.
+
67  */
+
68 static inline u32 IPC_Desc_CurProcessId(void)
+
69 {
+
70  return 0x20;
+
71 }
+
72 
+
73 static inline CTR_DEPRECATED u32 IPC_Desc_CurProcessHandle(void)
+
74 {
+
75  return IPC_Desc_CurProcessId();
+
76 }
+
77 
+
78 /**
+
79  * @brief Creates a header describing a static buffer.
+
80  * @param size Size of the buffer. Max ?0x03FFFF?.
+
81  * @param buffer_id The Id of the buffer. Max 0xF.
+
82  * @return The created static buffer header.
+
83  *
+
84  * The next value is a pointer to the buffer. It will be copied to TLS offset 0x180 + static_buffer_id*8.
+
85  */
+
86 static inline u32 IPC_Desc_StaticBuffer(size_t size, unsigned buffer_id)
+
87 {
+
88  return (size << 14) | ((buffer_id & 0xF) << 10) | 0x2;
+
89 }
+
90 
+
91 /**
+
92  * @brief Creates a header describing a buffer to be sent over PXI.
+
93  * @param size Size of the buffer. Max 0x00FFFFFF.
+
94  * @param buffer_id The Id of the buffer. Max 0xF.
+
95  * @param is_read_only true if the buffer is read-only. If false, the buffer is considered to have read-write access.
+
96  * @return The created PXI buffer header.
+
97  *
+
98  * The next value is a phys-address of a table located in the BASE memregion.
+
99  */
+
100 static inline u32 IPC_Desc_PXIBuffer(size_t size, unsigned buffer_id, bool is_read_only)
+
101 {
+
102  u8 type = 0x4;
+
103  if(is_read_only)type = 0x6;
+
104  return (size << 8) | ((buffer_id & 0xF) << 4) | type;
+
105 }
+
106 
+
107 /**
+
108  * @brief Creates a header describing a buffer from the main memory.
+
109  * @param size Size of the buffer. Max 0x0FFFFFFF.
+
110  * @param rights The rights of the buffer for the destination process.
+
111  * @return The created buffer header.
+
112  *
+
113  * The next value is a pointer to the buffer.
+
114  */
+
115 static inline u32 IPC_Desc_Buffer(size_t size, IPC_BufferRights rights)
+
116 {
+
117  return (size << 4) | 0x8 | rights;
+
118 }
+
static u32 IPC_Desc_SharedHandles(unsigned number)
Creates a header to share handles.
Definition: ipc.h:43
+
static u32 IPC_Desc_StaticBuffer(size_t size, unsigned buffer_id)
Creates a header describing a static buffer.
Definition: ipc.h:86
+
static u32 IPC_Desc_MoveHandles(unsigned number)
Creates the header to transfer handle ownership.
Definition: ipc.h:57
+
static u32 IPC_Desc_CurProcessId(void)
Returns the code to ask the kernel to fill the handle with the current process ID.
Definition: ipc.h:68
+
static u32 IPC_MakeHeader(u16 command_id, unsigned normal_params, unsigned translate_params)
Creates a command header to be used for IPC.
Definition: ipc.h:29
+
static u32 IPC_Desc_Buffer(size_t size, IPC_BufferRights rights)
Creates a header describing a buffer from the main memory.
Definition: ipc.h:115
+
IPC_BufferRights
IPC buffer access rights.
Definition: ipc.h:11
+
@ IPC_BUFFER_W
Writable.
Definition: ipc.h:13
+
@ IPC_BUFFER_RW
Readable and Writable.
Definition: ipc.h:14
+
@ IPC_BUFFER_R
Readable.
Definition: ipc.h:12
+
static u32 IPC_Desc_PXIBuffer(size_t size, unsigned buffer_id, bool is_read_only)
Creates a header describing a buffer to be sent over PXI.
Definition: ipc.h:100
+
Various system types.
+
#define CTR_DEPRECATED
Flags a function as deprecated.
Definition: types.h:56
+
#define BIT(n)
Creates a bitmask from a bit number.
Definition: types.h:47
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/ir_8h.html b/ir_8h.html new file mode 100644 index 000000000..3d5893a3d --- /dev/null +++ b/ir_8h.html @@ -0,0 +1,564 @@ + + + + + + + +libctru: include/3ds/services/ir.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
ir.h File Reference
+
+
+ +

IR service. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

Result iruInit (u32 *sharedmem_addr, u32 sharedmem_size)
 Initializes IRU. More...
 
+void iruExit (void)
 Shuts down IRU.
 
Handle iruGetServHandle (void)
 Gets the IRU service handle. More...
 
Result iruSendData (u8 *buf, u32 size, bool wait)
 Sends IR data. More...
 
Result iruRecvData (u8 *buf, u32 size, u8 flag, u32 *transfercount, bool wait)
 Receives IR data. More...
 
+Result IRU_Initialize (void)
 Initializes the IR session.
 
+Result IRU_Shutdown (void)
 Shuts down the IR session.
 
Result IRU_StartSendTransfer (u8 *buf, u32 size)
 Begins sending data. More...
 
+Result IRU_WaitSendTransfer (void)
 Waits for a send operation to complete.
 
Result IRU_StartRecvTransfer (u32 size, u8 flag)
 Begins receiving data. More...
 
Result IRU_WaitRecvTransfer (u32 *transfercount)
 Waits for a receive operation to complete. More...
 
Result IRU_SetBitRate (u8 value)
 Sets the IR bit rate. More...
 
Result IRU_GetBitRate (u8 *out)
 Gets the IR bit rate. More...
 
Result IRU_SetIRLEDState (u32 value)
 Sets the IR LED state. More...
 
Result IRU_GetIRLEDRecvState (u32 *out)
 Gets the IR LED state. More...
 
Result IRU_GetSendFinishedEvent (Handle *out)
 Gets an event which is signaled once a send finishes. More...
 
Result IRU_GetRecvFinishedEvent (Handle *out)
 Gets an event which is signaled once a receive finishes. More...
 
+

Detailed Description

+

IR service.

+

Function Documentation

+ +

◆ IRU_GetBitRate()

+ +
+
+ + + + + + + + +
Result IRU_GetBitRate (u8out)
+
+ +

Gets the IR bit rate.

+
Parameters
+ + +
outPointer to write the bit rate to.
+
+
+ +
+
+ +

◆ IRU_GetIRLEDRecvState()

+ +
+
+ + + + + + + + +
Result IRU_GetIRLEDRecvState (u32out)
+
+ +

Gets the IR LED state.

+
Parameters
+ + +
outPointer to write the IR LED state to.
+
+
+ +
+
+ +

◆ IRU_GetRecvFinishedEvent()

+ +
+
+ + + + + + + + +
Result IRU_GetRecvFinishedEvent (Handleout)
+
+ +

Gets an event which is signaled once a receive finishes.

+
Parameters
+ + +
outPointer to write the event handle to.
+
+
+ +
+
+ +

◆ IRU_GetSendFinishedEvent()

+ +
+
+ + + + + + + + +
Result IRU_GetSendFinishedEvent (Handleout)
+
+ +

Gets an event which is signaled once a send finishes.

+
Parameters
+ + +
outPointer to write the event handle to.
+
+
+ +
+
+ +

◆ IRU_SetBitRate()

+ +
+
+ + + + + + + + +
Result IRU_SetBitRate (u8 value)
+
+ +

Sets the IR bit rate.

+
Parameters
+ + +
valueBit rate to set.
+
+
+ +
+
+ +

◆ IRU_SetIRLEDState()

+ +
+
+ + + + + + + + +
Result IRU_SetIRLEDState (u32 value)
+
+ +

Sets the IR LED state.

+
Parameters
+ + +
valueIR LED state to set.
+
+
+ +
+
+ +

◆ IRU_StartRecvTransfer()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result IRU_StartRecvTransfer (u32 size,
u8 flag 
)
+
+ +

Begins receiving data.

+
Parameters
+ + + +
sizeSize of the data to receive.
flagFlags to use when receiving.
+
+
+ +
+
+ +

◆ IRU_StartSendTransfer()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result IRU_StartSendTransfer (u8buf,
u32 size 
)
+
+ +

Begins sending data.

+
Parameters
+ + + +
bufBuffer to send.
sizeSize of the buffer.
+
+
+ +
+
+ +

◆ IRU_WaitRecvTransfer()

+ +
+
+ + + + + + + + +
Result IRU_WaitRecvTransfer (u32transfercount)
+
+ +

Waits for a receive operation to complete.

+
Parameters
+ + +
transfercountPointer to output the number of bytes read to.
+
+
+ +
+
+ +

◆ iruGetServHandle()

+ +
+
+ + + + + + + + +
Handle iruGetServHandle (void )
+
+ +

Gets the IRU service handle.

+
Returns
The IRU service handle.
+ +
+
+ +

◆ iruInit()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result iruInit (u32sharedmem_addr,
u32 sharedmem_size 
)
+
+ +

Initializes IRU.

+

The permissions for the specified memory is set to RO. This memory must be already mapped.

Parameters
+ + + +
sharedmem_addrAddress of the shared memory block to use.
sharedmem_sizeSize of the shared memory block.
+
+
+ +
+
+ +

◆ iruRecvData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result iruRecvData (u8buf,
u32 size,
u8 flag,
u32transfercount,
bool wait 
)
+
+ +

Receives IR data.

+
Parameters
+ + + + + + +
bufBuffer to receive data to.
sizeSize of the buffer.
flagFlags to receive data with.
transfercountPointer to output the number of bytes read to.
waitWhether to wait for the data to be received.
+
+
+ +
+
+ +

◆ iruSendData()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result iruSendData (u8buf,
u32 size,
bool wait 
)
+
+ +

Sends IR data.

+
Parameters
+ + + + +
bufBuffer to send data from.
sizeSize of the buffer.
waitWhether to wait for the data to be sent.
+
+
+ +
+
+
+ + + + diff --git a/ir_8h_source.html b/ir_8h_source.html new file mode 100644 index 000000000..cb0b03294 --- /dev/null +++ b/ir_8h_source.html @@ -0,0 +1,205 @@ + + + + + + + +libctru: include/3ds/services/ir.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ir.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file ir.h
+
3  * @brief IR service.
+
4  */
+
5 #pragma once
+
6 
+
7 /**
+
8  * @brief Initializes IRU.
+
9  * The permissions for the specified memory is set to RO. This memory must be already mapped.
+
10  * @param sharedmem_addr Address of the shared memory block to use.
+
11  * @param sharedmem_size Size of the shared memory block.
+
12  */
+
13 Result iruInit(u32 *sharedmem_addr, u32 sharedmem_size);
+
14 
+
15 /// Shuts down IRU.
+
16 void iruExit(void);
+
17 
+
18 /**
+
19  * @brief Gets the IRU service handle.
+
20  * @return The IRU service handle.
+
21  */
+ +
23 
+
24 /**
+
25  * @brief Sends IR data.
+
26  * @param buf Buffer to send data from.
+
27  * @param size Size of the buffer.
+
28  * @param wait Whether to wait for the data to be sent.
+
29  */
+
30 Result iruSendData(u8 *buf, u32 size, bool wait);
+
31 
+
32 /**
+
33  * @brief Receives IR data.
+
34  * @param buf Buffer to receive data to.
+
35  * @param size Size of the buffer.
+
36  * @param flag Flags to receive data with.
+
37  * @param transfercount Pointer to output the number of bytes read to.
+
38  * @param wait Whether to wait for the data to be received.
+
39  */
+
40 Result iruRecvData(u8 *buf, u32 size, u8 flag, u32 *transfercount, bool wait);
+
41 
+
42 /// Initializes the IR session.
+ +
44 
+
45 /// Shuts down the IR session.
+ +
47 
+
48 /**
+
49  * @brief Begins sending data.
+
50  * @param buf Buffer to send.
+
51  * @param size Size of the buffer.
+
52  */
+ +
54 
+
55 /// Waits for a send operation to complete.
+ +
57 
+
58 /**
+
59  * @brief Begins receiving data.
+
60  * @param size Size of the data to receive.
+
61  * @param flag Flags to use when receiving.
+
62  */
+ +
64 
+
65 /**
+
66  * @brief Waits for a receive operation to complete.
+
67  * @param transfercount Pointer to output the number of bytes read to.
+
68  */
+ +
70 
+
71 /**
+
72  * @brief Sets the IR bit rate.
+
73  * @param value Bit rate to set.
+
74  */
+ +
76 
+
77 /**
+
78  * @brief Gets the IR bit rate.
+
79  * @param out Pointer to write the bit rate to.
+
80  */
+ +
82 
+
83 /**
+
84  * @brief Sets the IR LED state.
+
85  * @param value IR LED state to set.
+
86  */
+ +
88 
+
89 /**
+
90  * @brief Gets the IR LED state.
+
91  * @param out Pointer to write the IR LED state to.
+
92  */
+ +
94 
+
95 /**
+
96  * @brief Gets an event which is signaled once a send finishes.
+
97  * @param out Pointer to write the event handle to.
+
98  */
+ +
100 
+
101 /**
+
102  * @brief Gets an event which is signaled once a receive finishes.
+
103  * @param out Pointer to write the event handle to.
+
104  */
+ +
Result iruInit(u32 *sharedmem_addr, u32 sharedmem_size)
Initializes IRU.
+
Result IRU_WaitSendTransfer(void)
Waits for a send operation to complete.
+
Result IRU_GetIRLEDRecvState(u32 *out)
Gets the IR LED state.
+
void iruExit(void)
Shuts down IRU.
+
Result IRU_SetIRLEDState(u32 value)
Sets the IR LED state.
+
Result IRU_GetSendFinishedEvent(Handle *out)
Gets an event which is signaled once a send finishes.
+
Result IRU_Shutdown(void)
Shuts down the IR session.
+
Result iruRecvData(u8 *buf, u32 size, u8 flag, u32 *transfercount, bool wait)
Receives IR data.
+
Handle iruGetServHandle(void)
Gets the IRU service handle.
+
Result IRU_Initialize(void)
Initializes the IR session.
+
Result IRU_WaitRecvTransfer(u32 *transfercount)
Waits for a receive operation to complete.
+
Result IRU_SetBitRate(u8 value)
Sets the IR bit rate.
+
Result iruSendData(u8 *buf, u32 size, bool wait)
Sends IR data.
+
Result IRU_GetRecvFinishedEvent(Handle *out)
Gets an event which is signaled once a receive finishes.
+
Result IRU_StartSendTransfer(u8 *buf, u32 size)
Begins sending data.
+
Result IRU_StartRecvTransfer(u32 size, u8 flag)
Begins receiving data.
+
Result IRU_GetBitRate(u8 *out)
Gets the IR bit rate.
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/irrst_8h.html b/irrst_8h.html new file mode 100644 index 000000000..e5a02e5fe --- /dev/null +++ b/irrst_8h.html @@ -0,0 +1,296 @@ + + + + + + + +libctru: include/3ds/services/irrst.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
irrst.h File Reference
+
+
+ +

IRRST service. +More...

+
#include "3ds/services/hid.h"
+
+

Go to the source code of this file.

+ + + + + +

+Macros

+#define hidCstickRead   irrstCstickRead
 Macro for irrstCstickRead.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+Result irrstInit (void)
 Initializes IRRST.
 
+void irrstExit (void)
 Exits IRRST.
 
+void irrstScanInput (void)
 Scans IRRST for input.
 
u32 irrstKeysHeld (void)
 Gets IRRST's held keys. More...
 
void irrstCstickRead (circlePosition *pos)
 Reads the current c-stick position. More...
 
void irrstWaitForEvent (bool nextEvent)
 Waits for the IRRST input event to trigger. More...
 
Result IRRST_GetHandles (Handle *outMemHandle, Handle *outEventHandle)
 Gets the shared memory and event handles for IRRST. More...
 
Result IRRST_Initialize (u32 unk1, u8 unk2)
 Initializes IRRST. More...
 
+Result IRRST_Shutdown (void)
 Shuts down IRRST.
 
+ + + + + + + + + + +

+Variables

+Handle irrstMemHandle
 IRRST's shared memory handle.
 
+vu32irrstSharedMem
 IRRST's shared memory.
 
+Handle irrstEvent
 IRRST's state update event.
 
+

Detailed Description

+

IRRST service.

+

Function Documentation

+ +

◆ IRRST_GetHandles()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result IRRST_GetHandles (HandleoutMemHandle,
HandleoutEventHandle 
)
+
+ +

Gets the shared memory and event handles for IRRST.

+
Parameters
+ + + +
outMemHandlePointer to write the shared memory handle to.
outEventHandlePointer to write the event handle to.
+
+
+ +
+
+ +

◆ IRRST_Initialize()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result IRRST_Initialize (u32 unk1,
u8 unk2 
)
+
+ +

Initializes IRRST.

+
Parameters
+ + + +
unk1Unknown.
unk2Unknown.
+
+
+ +
+
+ +

◆ irrstCstickRead()

+ +
+
+ + + + + + + + +
void irrstCstickRead (circlePositionpos)
+
+ +

Reads the current c-stick position.

+
Parameters
+ + +
posPointer to output the current c-stick position to.
+
+
+ +
+
+ +

◆ irrstKeysHeld()

+ +
+
+ + + + + + + + +
u32 irrstKeysHeld (void )
+
+ +

Gets IRRST's held keys.

+
Returns
IRRST's held keys.
+ +
+
+ +

◆ irrstWaitForEvent()

+ +
+
+ + + + + + + + +
void irrstWaitForEvent (bool nextEvent)
+
+ +

Waits for the IRRST input event to trigger.

+
Parameters
+ + +
nextEventWhether to discard the current event and wait until the next event.
+
+
+ +
+
+
+ + + + diff --git a/irrst_8h_source.html b/irrst_8h_source.html new file mode 100644 index 000000000..8c036f155 --- /dev/null +++ b/irrst_8h_source.html @@ -0,0 +1,163 @@ + + + + + + + +libctru: include/3ds/services/irrst.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
irrst.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file irrst.h
+
3  * @brief IRRST service.
+
4  */
+
5 #pragma once
+
6 
+
7 //See also: http://3dbrew.org/wiki/IR_Services http://3dbrew.org/wiki/IRRST_Shared_Memory
+
8 
+
9 #include "3ds/services/hid.h" // for circlePosition definition
+
10 
+
11 /// IRRST's shared memory handle.
+
12 extern Handle irrstMemHandle;
+
13 
+
14 /// IRRST's shared memory.
+
15 extern vu32* irrstSharedMem;
+
16 
+
17 /// IRRST's state update event
+
18 extern Handle irrstEvent;
+
19 
+
20 /// Initializes IRRST.
+ +
22 
+
23 /// Exits IRRST.
+
24 void irrstExit(void);
+
25 
+
26 /// Scans IRRST for input.
+
27 void irrstScanInput(void);
+
28 
+
29 /**
+
30  * @brief Gets IRRST's held keys.
+
31  * @return IRRST's held keys.
+
32  */
+ +
34 
+
35 /**
+
36  * @brief Reads the current c-stick position.
+
37  * @param pos Pointer to output the current c-stick position to.
+
38  */
+ +
40 
+
41 /**
+
42  * @brief Waits for the IRRST input event to trigger.
+
43  * @param nextEvent Whether to discard the current event and wait until the next event.
+
44  */
+
45 void irrstWaitForEvent(bool nextEvent);
+
46 
+
47 /// Macro for irrstCstickRead.
+
48 #define hidCstickRead irrstCstickRead
+
49 
+
50 /**
+
51  * @brief Gets the shared memory and event handles for IRRST.
+
52  * @param outMemHandle Pointer to write the shared memory handle to.
+
53  * @param outEventHandle Pointer to write the event handle to.
+
54  */
+
55 Result IRRST_GetHandles(Handle* outMemHandle, Handle* outEventHandle);
+
56 
+
57 /**
+
58  * @brief Initializes IRRST.
+
59  * @param unk1 Unknown.
+
60  * @param unk2 Unknown.
+
61  */
+ +
63 
+
64 /// Shuts down IRRST.
+ +
HID service.
+
void irrstWaitForEvent(bool nextEvent)
Waits for the IRRST input event to trigger.
+
Handle irrstEvent
IRRST's state update event.
+
void irrstScanInput(void)
Scans IRRST for input.
+
void irrstCstickRead(circlePosition *pos)
Reads the current c-stick position.
+
u32 irrstKeysHeld(void)
Gets IRRST's held keys.
+
Handle irrstMemHandle
IRRST's shared memory handle.
+
Result irrstInit(void)
Initializes IRRST.
+
vu32 * irrstSharedMem
IRRST's shared memory.
+
Result IRRST_Shutdown(void)
Shuts down IRRST.
+
Result IRRST_Initialize(u32 unk1, u8 unk2)
Initializes IRRST.
+
Result IRRST_GetHandles(Handle *outMemHandle, Handle *outEventHandle)
Gets the shared memory and event handles for IRRST.
+
void irrstExit(void)
Exits IRRST.
+
Circle Pad position.
Definition: hid.h:52
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
u32 Handle
Resource handle.
Definition: types.h:41
+
volatile u32 vu32
32-bit volatile unsigned integer.
Definition: types.h:33
+
s32 Result
Function result.
Definition: types.h:42
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/jquery.js b/jquery.js new file mode 100644 index 000000000..103c32d79 --- /dev/null +++ b/jquery.js @@ -0,0 +1,35 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element +},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** + * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler + * Licensed under MIT + * @author Ariel Flesler + * @version 2.1.2 + */ +;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + * http://www.smartmenus.org/ + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/libapplet_launch_2source_2main_8c-example.html b/libapplet_launch_2source_2main_8c-example.html new file mode 100644 index 000000000..714a52d09 --- /dev/null +++ b/libapplet_launch_2source_2main_8c-example.html @@ -0,0 +1,174 @@ + + + + + + + +libctru: libapplet_launch/source/main.c + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
libapplet_launch/source/main.c
+
+
+
#include <3ds.h>
+
#include <stdio.h>
+
#include <string.h>
+
+
static bool allowed = false;
+
+
// If you define this function, you can monitor/debug APT events
+
void _aptDebug(int a, int b)
+
{
+
if (allowed)
+
printf("_aptDebug(%d,%x)\n", a, b);
+
}
+
+
int main()
+
{
+ + +
allowed = true;
+
+
u32 aptbuf[0x400/4];
+
+
printf("Press A to launch extrapad\n");
+
printf("Press B to launch error\n");
+
printf("Press X to launch appleted (Mii Editor)\n");
+
printf("Press Y to launch memolib\n");
+
printf("Press L to launch Photo Selector\n");
+
printf("Press R to launch Sound Selector\n");
+
printf("Press ^ to launch mint (eShop)\n");
+
printf("Press < to launch software keyboard\n");
+
+
// Main loop
+
while (aptMainLoop())
+
{
+ + + +
+
u32 kDown = hidKeysDown();
+
if (kDown & KEY_START)
+
break; // break in order to return to hbmenu
+
+ +
+
if (kDown)
+
{
+
NS_APPID appId;
+
+
if (kDown & KEY_A) appId = APPID_EXTRAPAD;
+
else if (kDown & KEY_B) appId = APPID_ERROR;
+
else if (kDown & KEY_X) appId = APPID_APPLETED;
+
else if (kDown & KEY_Y) appId = APPID_MEMOLIB;
+
else if (kDown & KEY_L) appId = APPID_PNOTE_AP;
+
else if (kDown & KEY_R) appId = APPID_SNOTE_AP;
+
else if (kDown & KEY_UP) appId = APPID_MINT;
+
else if (kDown & KEY_LEFT) appId = APPID_SOFTWARE_KEYBOARD;
+
else continue;
+
+
memset(aptbuf, 0, sizeof(aptbuf));
+
aptLaunchLibraryApplet(appId, aptbuf, sizeof(aptbuf), 0);
+
printf("Library applet exited\n");
+
}
+
}
+
+
// Exit services
+
allowed = false;
+ +
return 0;
+
}
+
Central 3DS header.
+
bool aptMainLoop(void)
Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
+
NS_APPID
NS Application IDs.
Definition: apt.h:12
+
@ APPID_PNOTE_AP
PNOTE_AP.
Definition: apt.h:28
+
@ APPID_EXTRAPAD
extrapad
Definition: apt.h:32
+
@ APPID_APPLETED
appletEd
Definition: apt.h:27
+
@ APPID_MEMOLIB
memolib
Definition: apt.h:33
+
@ APPID_SOFTWARE_KEYBOARD
Software Keyboard.
Definition: apt.h:26
+
@ APPID_MINT
mint
Definition: apt.h:31
+
@ APPID_SNOTE_AP
SNOTE_AP.
Definition: apt.h:29
+
@ APPID_ERROR
error
Definition: apt.h:30
+
void aptLaunchLibraryApplet(NS_APPID appId, void *buf, size_t bufsize, Handle handle)
Launches a library applet.
+
PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
Initialise the console.
+
void gfxSwapBuffers(void)
Updates the configuration of both screens.
+
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters This is equivalent to calling:
+
@ GFX_TOP
Top screen.
Definition: gfx.h:26
+
void gfxExit(void)
Deinitializes and frees the LCD framebuffers.
+
void gfxFlushBuffers(void)
Flushes the data cache for the current framebuffers.
+
#define gspWaitForVBlank()
Waits for VBlank.
Definition: gspgpu.h:151
+
@ KEY_UP
D-Pad Up or Circle Pad Up.
Definition: hid.h:37
+
@ KEY_B
B.
Definition: hid.h:13
+
@ KEY_X
X.
Definition: hid.h:22
+
@ KEY_Y
Y.
Definition: hid.h:23
+
@ KEY_LEFT
D-Pad Left or Circle Pad Left.
Definition: hid.h:39
+
@ KEY_START
Start.
Definition: hid.h:15
+
@ KEY_R
R.
Definition: hid.h:20
+
@ KEY_A
A.
Definition: hid.h:12
+
@ KEY_L
L.
Definition: hid.h:21
+
u32 hidKeysDown(void)
Returns a bitmask of newly pressed buttons, this frame.
+
void hidScanInput(void)
Scans HID for input data.
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/linear_8h.html b/linear_8h.html new file mode 100644 index 000000000..cfed8ff3e --- /dev/null +++ b/linear_8h.html @@ -0,0 +1,289 @@ + + + + + + + +libctru: include/3ds/allocator/linear.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
linear.h File Reference
+
+
+ +

Linear memory allocator. +More...

+
#include <stddef.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + +

+Functions

void * linearAlloc (size_t size)
 Allocates a 0x80-byte aligned buffer. More...
 
void * linearMemAlign (size_t size, size_t alignment)
 Allocates a buffer aligned to the given size. More...
 
void * linearRealloc (void *mem, size_t size)
 Reallocates a buffer. More...
 
size_t linearGetSize (void *mem)
 Retrieves the allocated size of a buffer. More...
 
void linearFree (void *mem)
 Frees a buffer. More...
 
u32 linearSpaceFree (void)
 Gets the current linear free space. More...
 
+

Detailed Description

+

Linear memory allocator.

+

Function Documentation

+ +

◆ linearAlloc()

+ + + +

◆ linearFree()

+ + + +

◆ linearGetSize()

+ +
+
+ + + + + + + + +
size_t linearGetSize (void * mem)
+
+ +

Retrieves the allocated size of a buffer.

+
Returns
The size of the buffer.
+ +
+
+ +

◆ linearMemAlign()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void* linearMemAlign (size_t size,
size_t alignment 
)
+
+ +

Allocates a buffer aligned to the given size.

+
Parameters
+ + + +
sizeSize of the buffer to allocate.
alignmentAlignment to use.
+
+
+
Returns
The allocated buffer.
+
Examples
mvd/source/main.c.
+
+ +
+
+ +

◆ linearRealloc()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void* linearRealloc (void * mem,
size_t size 
)
+
+ +

Reallocates a buffer.

+

Note: Not implemented yet.

Parameters
+ + + +
memBuffer to reallocate.
sizeSize of the buffer to allocate.
+
+
+
Returns
The reallocated buffer.
+ +
+
+ +

◆ linearSpaceFree()

+ +
+
+ + + + + + + + +
u32 linearSpaceFree (void )
+
+ +

Gets the current linear free space.

+
Returns
The current linear free space.
+ +
+
+
+ + + + diff --git a/linear_8h_source.html b/linear_8h_source.html new file mode 100644 index 000000000..49cd27859 --- /dev/null +++ b/linear_8h_source.html @@ -0,0 +1,135 @@ + + + + + + + +libctru: include/3ds/allocator/linear.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
linear.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file linear.h
+
3  * @brief Linear memory allocator.
+
4  */
+
5 #pragma once
+
6 
+
7 #include <stddef.h>
+
8 
+
9 /**
+
10  * @brief Allocates a 0x80-byte aligned buffer.
+
11  * @param size Size of the buffer to allocate.
+
12  * @return The allocated buffer.
+
13  */
+
14 void* linearAlloc(size_t size);
+
15 
+
16 /**
+
17  * @brief Allocates a buffer aligned to the given size.
+
18  * @param size Size of the buffer to allocate.
+
19  * @param alignment Alignment to use.
+
20  * @return The allocated buffer.
+
21  */
+
22 void* linearMemAlign(size_t size, size_t alignment);
+
23 
+
24 /**
+
25  * @brief Reallocates a buffer.
+
26  * Note: Not implemented yet.
+
27  * @param mem Buffer to reallocate.
+
28  * @param size Size of the buffer to allocate.
+
29  * @return The reallocated buffer.
+
30  */
+
31 void* linearRealloc(void* mem, size_t size);
+
32 
+
33 /**
+
34  * @brief Retrieves the allocated size of a buffer.
+
35  * @return The size of the buffer.
+
36  */
+
37 size_t linearGetSize(void* mem);
+
38 
+
39 /**
+
40  * @brief Frees a buffer.
+
41  * @param mem Buffer to free.
+
42  */
+
43 void linearFree(void* mem);
+
44 
+
45 /**
+
46  * @brief Gets the current linear free space.
+
47  * @return The current linear free space.
+
48  */
+ +
size_t linearGetSize(void *mem)
Retrieves the allocated size of a buffer.
+
void * linearRealloc(void *mem, size_t size)
Reallocates a buffer.
+
void * linearAlloc(size_t size)
Allocates a 0x80-byte aligned buffer.
+
void * linearMemAlign(size_t size, size_t alignment)
Allocates a buffer aligned to the given size.
+
u32 linearSpaceFree(void)
Gets the current linear free space.
+
void linearFree(void *mem)
Frees a buffer.
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/loader_8h.html b/loader_8h.html new file mode 100644 index 000000000..6c6f9d790 --- /dev/null +++ b/loader_8h.html @@ -0,0 +1,259 @@ + + + + + + + +libctru: include/3ds/services/loader.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
loader.h File Reference
+
+
+ +

LOADER Service. +More...

+
#include <3ds/exheader.h>
+#include <3ds/services/fs.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + +

+Functions

+Result loaderInit (void)
 Initializes LOADER.
 
+void loaderExit (void)
 Exits LOADER.
 
Result LOADER_LoadProcess (Handle *process, u64 programHandle)
 Loads a program and returns a process handle to the newly created process. More...
 
Result LOADER_RegisterProgram (u64 *programHandle, const FS_ProgramInfo *programInfo, const FS_ProgramInfo *programInfoUpdate)
 Registers a program (along with its update). More...
 
Result LOADER_UnregisterProgram (u64 programHandle)
 Unregisters a program (along with its update). More...
 
Result LOADER_GetProgramInfo (ExHeader_Info *exheaderInfo, u64 programHandle)
 Retrives a program's main NCCH extended header info (SCI + ACI, see ExHeader_Info). More...
 
+

Detailed Description

+

LOADER Service.

+

Function Documentation

+ +

◆ LOADER_GetProgramInfo()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result LOADER_GetProgramInfo (ExHeader_InfoexheaderInfo,
u64 programHandle 
)
+
+ +

Retrives a program's main NCCH extended header info (SCI + ACI, see ExHeader_Info).

+
Parameters
+ + + +
[out]exheaderInfoPointer to output the main NCCH extended header info.
programHandleThe handle of the program to unregister
+
+
+ +
+
+ +

◆ LOADER_LoadProcess()

+ +
+
+ + + + + + + + + + + + + + + + + + +
Result LOADER_LoadProcess (Handleprocess,
u64 programHandle 
)
+
+ +

Loads a program and returns a process handle to the newly created process.

+
Parameters
+ + + +
[out]processPointer to output the process handle to.
programHandleThe handle of the program to load.
+
+
+ +
+
+ +

◆ LOADER_RegisterProgram()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result LOADER_RegisterProgram (u64programHandle,
const FS_ProgramInfoprogramInfo,
const FS_ProgramInfoprogramInfoUpdate 
)
+
+ +

Registers a program (along with its update).

+
Parameters
+ + + + +
[out]programHandlePointer to output the program handle to.
programInfoThe program info.
programInfoThe program update info.
+
+
+ +
+
+ +

◆ LOADER_UnregisterProgram()

+ +
+
+ + + + + + + + +
Result LOADER_UnregisterProgram (u64 programHandle)
+
+ +

Unregisters a program (along with its update).

+
Parameters
+ + +
programHandleThe handle of the program to unregister.
+
+
+ +
+
+
+ + + + diff --git a/loader_8h_source.html b/loader_8h_source.html new file mode 100644 index 000000000..07945ffb4 --- /dev/null +++ b/loader_8h_source.html @@ -0,0 +1,135 @@ + + + + + + + +libctru: include/3ds/services/loader.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
loader.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file loader.h
+
3  * @brief LOADER Service
+
4  */
+
5 
+
6 #pragma once
+
7 
+
8 #include <3ds/exheader.h>
+
9 #include <3ds/services/fs.h>
+
10 
+
11 /// Initializes LOADER.
+ +
13 
+
14 /// Exits LOADER.
+
15 void loaderExit(void);
+
16 
+
17 /**
+
18  * @brief Loads a program and returns a process handle to the newly created process.
+
19  * @param[out] process Pointer to output the process handle to.
+
20  * @param programHandle The handle of the program to load.
+
21  */
+
22 Result LOADER_LoadProcess(Handle* process, u64 programHandle);
+
23 
+
24 /**
+
25  * @brief Registers a program (along with its update).
+
26  * @param[out] programHandle Pointer to output the program handle to.
+
27  * @param programInfo The program info.
+
28  * @param programInfo The program update info.
+
29  */
+
30 Result LOADER_RegisterProgram(u64* programHandle, const FS_ProgramInfo *programInfo, const FS_ProgramInfo *programInfoUpdate);
+
31 
+
32 /**
+
33  * @brief Unregisters a program (along with its update).
+
34  * @param programHandle The handle of the program to unregister.
+
35  */
+ +
37 
+
38 /**
+
39  * @brief Retrives a program's main NCCH extended header info (SCI + ACI, see @ref ExHeader_Info).
+
40  * @param[out] exheaderInfo Pointer to output the main NCCH extended header info.
+
41  * @param programHandle The handle of the program to unregister
+
42  */
+
43 Result LOADER_GetProgramInfo(ExHeader_Info* exheaderInfo, u64 programHandle);
+
NCCH extended header definitions.
+
Filesystem Services.
+
Result LOADER_LoadProcess(Handle *process, u64 programHandle)
Loads a program and returns a process handle to the newly created process.
+
Result LOADER_GetProgramInfo(ExHeader_Info *exheaderInfo, u64 programHandle)
Retrives a program's main NCCH extended header info (SCI + ACI, see ExHeader_Info).
+
void loaderExit(void)
Exits LOADER.
+
Result LOADER_RegisterProgram(u64 *programHandle, const FS_ProgramInfo *programInfo, const FS_ProgramInfo *programInfoUpdate)
Registers a program (along with its update).
+
Result loaderInit(void)
Initializes LOADER.
+
Result LOADER_UnregisterProgram(u64 programHandle)
Unregisters a program (along with its update).
+
Main extended header data, as returned by PXIPM, Loader and FSREG service commands.
Definition: exheader.h:181
+
Program information.
Definition: fs.h:183
+
uint64_t u64
64-bit unsigned integer
Definition: types.h:24
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
+ + + + diff --git a/mappable_8h.html b/mappable_8h.html new file mode 100644 index 000000000..2e4538756 --- /dev/null +++ b/mappable_8h.html @@ -0,0 +1,193 @@ + + + + + + + +libctru: include/3ds/allocator/mappable.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
mappable.h File Reference
+
+
+ +

Mappable memory allocator. +More...

+
#include <3ds/types.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + +

+Functions

void mappableInit (u32 addrMin, u32 addrMax)
 Initializes the mappable allocator. More...
 
void * mappableAlloc (size_t size)
 Finds a mappable memory area. More...
 
void mappableFree (void *mem)
 Frees a mappable area (stubbed). More...
 
+

Detailed Description

+

Mappable memory allocator.

+

Function Documentation

+ +

◆ mappableAlloc()

+ +
+
+ + + + + + + + +
void* mappableAlloc (size_t size)
+
+ +

Finds a mappable memory area.

+
Parameters
+ + +
sizeSize of the area to find.
+
+
+
Returns
The mappable area.
+ +
+
+ +

◆ mappableFree()

+ +
+
+ + + + + + + + +
void mappableFree (void * mem)
+
+ +

Frees a mappable area (stubbed).

+
Parameters
+ + +
memMappable area to free.
+
+
+ +
+
+ +

◆ mappableInit()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void mappableInit (u32 addrMin,
u32 addrMax 
)
+
+ +

Initializes the mappable allocator.

+
Parameters
+ + + +
addrMinMinimum address.
addrMaxMaxium address.
+
+
+ +
+
+
+ + + + diff --git a/mappable_8h_source.html b/mappable_8h_source.html new file mode 100644 index 000000000..84c15758a --- /dev/null +++ b/mappable_8h_source.html @@ -0,0 +1,111 @@ + + + + + + + +libctru: include/3ds/allocator/mappable.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
mappable.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file mappable.h
+
3  * @brief Mappable memory allocator.
+
4  */
+
5 #pragma once
+
6 
+
7 #include <3ds/types.h>
+
8 
+
9 /**
+
10  * @brief Initializes the mappable allocator.
+
11  * @param addrMin Minimum address.
+
12  * @param addrMax Maxium address.
+
13  */
+
14 void mappableInit(u32 addrMin, u32 addrMax);
+
15 
+
16 /**
+
17  * @brief Finds a mappable memory area.
+
18  * @param size Size of the area to find.
+
19  * @return The mappable area.
+
20  */
+
21 void* mappableAlloc(size_t size);
+
22 
+
23 /**
+
24  * @brief Frees a mappable area (stubbed).
+
25  * @param mem Mappable area to free.
+
26  */
+
27 void mappableFree(void* mem);
+
void mappableInit(u32 addrMin, u32 addrMax)
Initializes the mappable allocator.
+
void * mappableAlloc(size_t size)
Finds a mappable memory area.
+
void mappableFree(void *mem)
Frees a mappable area (stubbed).
+
Various system types.
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/mcuhwc_8h.html b/mcuhwc_8h.html new file mode 100644 index 000000000..3a8e9e583 --- /dev/null +++ b/mcuhwc_8h.html @@ -0,0 +1,499 @@ + + + + + + + +libctru: include/3ds/services/mcuhwc.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
mcuhwc.h File Reference
+
+
+ +

mcuHwc service. +More...

+ +

Go to the source code of this file.

+ + + + +

+Enumerations

enum  powerLedState {
+  LED_NORMAL = 1 +,
+  LED_SLEEP_MODE +,
+  LED_OFF +,
+  LED_RED +,
+  LED_BLUE +,
+  LED_BLINK_RED +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+Result mcuHwcInit (void)
 Initializes mcuHwc.
 
+void mcuHwcExit (void)
 Exits mcuHwc.
 
HandlemcuHwcGetSessionHandle (void)
 Gets the current mcuHwc session handle. More...
 
Result MCUHWC_ReadRegister (u8 reg, void *data, u32 size)
 Reads data from an i2c device3 register. More...
 
Result MCUHWC_WriteRegister (u8 reg, const void *data, u32 size)
 Writes data to a i2c device3 register. More...
 
Result MCUHWC_GetBatteryVoltage (u8 *voltage)
 Gets the battery voltage. More...
 
Result MCUHWC_GetBatteryLevel (u8 *level)
 Gets the battery level. More...
 
Result MCUHWC_GetSoundSliderLevel (u8 *level)
 Gets the sound slider level. More...
 
Result MCUHWC_SetWifiLedState (bool state)
 Sets Wifi LED state. More...
 
Result MCUHWC_SetPowerLedState (powerLedState state)
 Sets Power LED state. More...
 
Result MCUHWC_Get3dSliderLevel (u8 *level)
 Gets 3d slider level. More...
 
Result MCUHWC_GetFwVerHigh (u8 *out)
 Gets the major MCU firmware version. More...
 
Result MCUHWC_GetFwVerLow (u8 *out)
 Gets the minor MCU firmware version. More...
 
+

Detailed Description

+

mcuHwc service.

+

Enumeration Type Documentation

+ +

◆ powerLedState

+ +
+
+ + + + +
enum powerLedState
+
+ + + + + + + +
Enumerator
LED_NORMAL 

The normal mode of the led.

+
LED_SLEEP_MODE 

The led pulses slowly as it does in the sleep mode.

+
LED_OFF 

Switch off power led.

+
LED_RED 

Red state of the led.

+
LED_BLUE 

Blue state of the led.

+
LED_BLINK_RED 

Blinking red state of power led and notification led.

+
+ +
+
+

Function Documentation

+ +

◆ MCUHWC_Get3dSliderLevel()

+ +
+
+ + + + + + + + +
Result MCUHWC_Get3dSliderLevel (u8level)
+
+ +

Gets 3d slider level.

+
Parameters
+ + +
levelPointer to write 3D slider level to.
+
+
+ +
+
+ +

◆ MCUHWC_GetBatteryLevel()

+ +
+
+ + + + + + + + +
Result MCUHWC_GetBatteryLevel (u8level)
+
+ +

Gets the battery level.

+
Parameters
+ + +
levelPointer to write the current battery level to.
+
+
+ +
+
+ +

◆ MCUHWC_GetBatteryVoltage()

+ +
+
+ + + + + + + + +
Result MCUHWC_GetBatteryVoltage (u8voltage)
+
+ +

Gets the battery voltage.

+
Parameters
+ + +
voltagePointer to write the battery voltage to.
+
+
+ +
+
+ +

◆ MCUHWC_GetFwVerHigh()

+ +
+
+ + + + + + + + +
Result MCUHWC_GetFwVerHigh (u8out)
+
+ +

Gets the major MCU firmware version.

+
Parameters
+ + +
outPointer to write the major firmware version to.
+
+
+ +
+
+ +

◆ MCUHWC_GetFwVerLow()

+ +
+
+ + + + + + + + +
Result MCUHWC_GetFwVerLow (u8out)
+
+ +

Gets the minor MCU firmware version.

+
Parameters
+ + +
outPointer to write the minor firmware version to.
+
+
+ +
+
+ +

◆ MCUHWC_GetSoundSliderLevel()

+ +
+
+ + + + + + + + +
Result MCUHWC_GetSoundSliderLevel (u8level)
+
+ +

Gets the sound slider level.

+
Parameters
+ + +
levelPointer to write the slider level to.
+
+
+ +
+
+ +

◆ MCUHWC_ReadRegister()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result MCUHWC_ReadRegister (u8 reg,
void * data,
u32 size 
)
+
+ +

Reads data from an i2c device3 register.

+
Parameters
+ + + + +
regRegister number. See https://www.3dbrew.org/wiki/I2C_Registers#Device_3 for more info
dataPointer to write the data to.
sizeSize of data to be read
+
+
+ +
+
+ +

◆ MCUHWC_SetPowerLedState()

+ +
+
+ + + + + + + + +
Result MCUHWC_SetPowerLedState (powerLedState state)
+
+ +

Sets Power LED state.

+
Parameters
+ + +
statepowerLedState State of power LED.
+
+
+ +
+
+ +

◆ MCUHWC_SetWifiLedState()

+ +
+
+ + + + + + + + +
Result MCUHWC_SetWifiLedState (bool state)
+
+ +

Sets Wifi LED state.

+
Parameters
+ + +
stateState of Wifi LED. (True/False)
+
+
+ +
+
+ +

◆ MCUHWC_WriteRegister()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Result MCUHWC_WriteRegister (u8 reg,
const void * data,
u32 size 
)
+
+ +

Writes data to a i2c device3 register.

+
Parameters
+ + + + +
regRegister number. See https://www.3dbrew.org/wiki/I2C_Registers#Device_3 for more info
dataPointer to write the data to.
sizeSize of data to be written
+
+
+ +
+
+ +

◆ mcuHwcGetSessionHandle()

+ +
+
+ + + + + + + + +
Handle* mcuHwcGetSessionHandle (void )
+
+ +

Gets the current mcuHwc session handle.

+
Returns
A pointer to the current mcuHwc session handle.
+ +
+
+
+ + + + diff --git a/mcuhwc_8h_source.html b/mcuhwc_8h_source.html new file mode 100644 index 000000000..ca5e722ba --- /dev/null +++ b/mcuhwc_8h_source.html @@ -0,0 +1,194 @@ + + + + + + + +libctru: include/3ds/services/mcuhwc.h Source File + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
mcuhwc.h
+
+
+Go to the documentation of this file.
1 /**
+
2  * @file mcuhwc.h
+
3  * @brief mcuHwc service.
+
4  */
+
5 #pragma once
+
6 
+
7 typedef enum
+
8 {
+
9  LED_NORMAL = 1, ///< The normal mode of the led
+
10  LED_SLEEP_MODE, ///< The led pulses slowly as it does in the sleep mode
+
11  LED_OFF, ///< Switch off power led
+
12  LED_RED, ///< Red state of the led
+
13  LED_BLUE, ///< Blue state of the led
+
14  LED_BLINK_RED, ///< Blinking red state of power led and notification led
+ +
16 
+
17 /// Initializes mcuHwc.
+ +
19 
+
20 /// Exits mcuHwc.
+
21 void mcuHwcExit(void);
+
22 
+
23 /**
+
24  * @brief Gets the current mcuHwc session handle.
+
25  * @return A pointer to the current mcuHwc session handle.
+
26  */
+ +
28 
+
29 /**
+
30  * @brief Reads data from an i2c device3 register
+
31  * @param reg Register number. See https://www.3dbrew.org/wiki/I2C_Registers#Device_3 for more info
+
32  * @param data Pointer to write the data to.
+
33  * @param size Size of data to be read
+
34  */
+
35 Result MCUHWC_ReadRegister(u8 reg, void *data, u32 size);
+
36 
+
37 /**
+
38  * @brief Writes data to a i2c device3 register
+
39  * @param reg Register number. See https://www.3dbrew.org/wiki/I2C_Registers#Device_3 for more info
+
40  * @param data Pointer to write the data to.
+
41  * @param size Size of data to be written
+
42  */
+
43 Result MCUHWC_WriteRegister(u8 reg, const void *data, u32 size);
+
44 
+
45 /**
+
46  * @brief Gets the battery voltage
+
47  * @param voltage Pointer to write the battery voltage to.
+
48  */
+ +
50 
+
51 /**
+
52  * @brief Gets the battery level
+
53  * @param level Pointer to write the current battery level to.
+
54  */
+ +
56 
+
57 /**
+
58  * @brief Gets the sound slider level
+
59  * @param level Pointer to write the slider level to.
+
60  */
+ +
62 
+
63 /**
+
64  * @brief Sets Wifi LED state
+
65  * @param state State of Wifi LED. (True/False)
+
66  */
+ +
68 
+
69 /**
+
70  * @brief Sets Power LED state
+
71  * @param state powerLedState State of power LED.
+
72  */
+ +
74 
+
75 /**
+
76  * @brief Gets 3d slider level
+
77  * @param level Pointer to write 3D slider level to.
+
78  */
+ +
80 
+
81 /**
+
82  * @brief Gets the major MCU firmware version
+
83  * @param out Pointer to write the major firmware version to.
+
84  */
+ +
86 
+
87 /**
+
88  * @brief Gets the minor MCU firmware version
+
89  * @param out Pointer to write the minor firmware version to.
+
90  */
+ +
Result MCUHWC_ReadRegister(u8 reg, void *data, u32 size)
Reads data from an i2c device3 register.
+
Result MCUHWC_GetBatteryLevel(u8 *level)
Gets the battery level.
+
Result MCUHWC_GetFwVerLow(u8 *out)
Gets the minor MCU firmware version.
+
Result mcuHwcInit(void)
Initializes mcuHwc.
+
powerLedState
Definition: mcuhwc.h:8
+
@ LED_NORMAL
The normal mode of the led.
Definition: mcuhwc.h:9
+
@ LED_BLINK_RED
Blinking red state of power led and notification led.
Definition: mcuhwc.h:14
+
@ LED_BLUE
Blue state of the led.
Definition: mcuhwc.h:13
+
@ LED_RED
Red state of the led.
Definition: mcuhwc.h:12
+
@ LED_SLEEP_MODE
The led pulses slowly as it does in the sleep mode.
Definition: mcuhwc.h:10
+
@ LED_OFF
Switch off power led.
Definition: mcuhwc.h:11
+
Result MCUHWC_WriteRegister(u8 reg, const void *data, u32 size)
Writes data to a i2c device3 register.
+
Result MCUHWC_SetPowerLedState(powerLedState state)
Sets Power LED state.
+
Result MCUHWC_GetSoundSliderLevel(u8 *level)
Gets the sound slider level.
+
Result MCUHWC_GetBatteryVoltage(u8 *voltage)
Gets the battery voltage.
+
Result MCUHWC_GetFwVerHigh(u8 *out)
Gets the major MCU firmware version.
+
Result MCUHWC_Get3dSliderLevel(u8 *level)
Gets 3d slider level.
+
Handle * mcuHwcGetSessionHandle(void)
Gets the current mcuHwc session handle.
+
Result MCUHWC_SetWifiLedState(bool state)
Sets Wifi LED state.
+
void mcuHwcExit(void)
Exits mcuHwc.
+
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
+
u32 Handle
Resource handle.
Definition: types.h:41
+
s32 Result
Function result.
Definition: types.h:42
+
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
+
+ + + + diff --git a/md__home_runner_work_libctru_libctru_Changelog.html b/md__home_runner_work_libctru_libctru_Changelog.html new file mode 100644 index 000000000..54cb33f9a --- /dev/null +++ b/md__home_runner_work_libctru_libctru_Changelog.html @@ -0,0 +1,596 @@ + + + + + + + +libctru: Changelog + + + + + + + + + +
+
+ + + + + + +
+
libctru +  v2.3.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
Changelog
+
+
+

+Version 2.2.2

+
    +
  • archive_dev: Ensure path separator for local path
  • +
  • adjust struct hostent for compatibilty
  • +
+

+Version 2.2.1

+
    +
  • add _SOCKLEN_T_DECLARED
  • +
+

+Version 2.2.0

+
    +
  • apt: add deliver arg support to chainloader
  • +
+

+Version 2.1.2

+
    +
  • Added cdc:CHK service wrappers
  • +
  • Added support for clock_gettime (#495)
  • +
  • svc: Fixed svcGetDmaState writing out-of-bounds data
  • +
  • svc: Changed svcCreateCodeSet address parameters to pointer-sized integers, improve documentation
  • +
  • fspxi: Fixed FSPXI_CreateFile and FSPXI_WriteFile (#496)
  • +
  • ndsp: Added various ndspGet* and ndspChnGet* methods (#505, #506, #507)
  • +
  • ir: Added IRU_GetSend/RecvFinishedEvent (#513)
  • +
  • errf: Added ERRF_SetUserString and clarify documentation
  • +
  • mcuhwc: Added mcuHwcGetSessionHandle
  • +
  • apt: Fixed dirty homebrew chainload bug (used when Home Menu hasn't been started)
  • +
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
  • +
+

+Version 2.1.1

+
    +
  • FPSCR is now initialized with a predictable value in all threads (including the main thread).
  • +
  • Added gspGetSessionHandle and gspLcdGetSessionHandle.
  • +
  • Fixed bugs related to uninitialized data in srv/errf service wrappers.
  • +
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
  • +
+

+Version 2.1.0

+

The #define for the 3DS platform has been changed to __3DS__ (previously it was _3DS) - please update your Makefiles and your code

+

+graphics

+
    +
  • Refactored VRAM allocators:
      +
    • Added proper handling for VRAM banks (A and B, 3 MiB each)
    • +
    • Allocations no longer cross VRAM bank boundaries
    • +
    • Added vramAllocAt, vramMemAlignAt
    • +
    +
  • +
  • Add gspIsPresentPending.
  • +
  • Add return value to gspPresentBuffer.
  • +
  • libctru console now supports SGR 38 and 48 escape sequences (needed by fmtlib).
  • +
  • Fixed GPU_TEXFACE enum.
  • +
+

+filesystem

+
    +
  • Changed rename to replace existing files, for better compatibility with POSIX (#483)
  • +
  • Added SDMMC speed info types, and more clock rates (#480).
  • +
+

+miscellaneous

+
    +
  • Added support for 3dslink stdio redirection (#488).
  • +
  • Added ptm:gets, ptm:sets and more ptm service commands.
  • +
  • Added AM_ContentInfo, AM_ContentInfoFlags structs.
  • +
  • Added AMAPP_GetDLCContentInfoCount, AMAPP_ListDLCContentInfos.
  • +
  • Fixed bug in Huffman decoder.
  • +
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
  • +
+

+Version 2.0.1

+
    +
  • Added CFG_SystemModel enum.
  • +
  • Fixed bug in condvar code.
  • +
  • Fixed bug in srvpm code.
  • +
  • Fixed const correctness issues in gspgpu code.
  • +
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
  • +
+

+Version 2.0.0

+

This is a major release. Many essential components have been overhauled, although breaking changes are minimal and only affect rarely used functionality.

+

+system

+
    +
  • Added support for userAppInit/userAppExit (backported from libnx).
  • +
  • Changed default heap allocation logic to be more robust:
      +
    • Resource limit SVCs are now used to detect available memory.
    • +
    • The heap size calculation algorithm was tweaked so that 32MB of linear heap are available for normal apps running under the default appmemtype layout on Old 3DS, as it was the case prior to libctru 1.8.0.
    • +
    +
  • +
  • SVC enhancements:
      +
    • Added svcControlPerformanceCounter with corresponding enums.
    • +
    • Overhauled support for DMA related SVCs:
        +
      • Added svcRestartDma.
      • +
      • Added enums and structures needed for DMA SVCs.
      • +
      • Added dmaDeviceConfigInitDefault, dmaConfigInitDefault.
      • +
      +
    • +
    • Added svcArbitrateAddressNoTimeout (minor ABI optimization for the svcArbitrateAddress syscall when the timeout parameter is not used).
    • +
    • Changed process memory SVCs to use u32 parameters instead of void* for foreign-process addresses.
    • +
    +
  • +
  • Major refactor of OS related functions:
      +
    • Added defines for Arm11 userland memory region addresses/sizes.
    • +
    • Added struct definitions for the kernel/system shared config pages: osKernelConfig_s, osSharedConfig_s.
    • +
    • Added macros to access the kernel/system shared config pages: OS_KernelConfig, OS_SharedConfig.
    • +
    • Fixed return type of osGetMemRegionUsed, osGetMemRegionFree (s64 -> u32).
    • +
    • Refactored osConvertVirtToPhys and added support for the missing linearly mapped memory regions.
    • +
    • Rewritten RTC time reading support to improve accuracy and match official logic more closely.
        +
      • Time drift correction is now implemented.
      • +
      • Added osGetTimeRef function for reading the current reference timepoint published by the PTM sysmodule.
      • +
      +
    • +
    • Fixed osStrError to actually work properly.
    • +
    • Cleaned up osGetSystemVersionData implementation.
    • +
    • Other miscellaneous internal cleanup.
    • +
    +
  • +
+

+synchronization

+
    +
  • Improved safety of usermode synchronization primitives when used in intercore contexts.
  • +
  • Added CondVar synchronization primitive implementation.
  • +
  • Added syncArbitrateAddress, syncArbitrateAddressWithTimeout.
      +
    • These functions replace __sync_get_arbiter (which has been removed).
    • +
    +
  • +
  • Added __dmb (Data Memory Barrier) intrinsic.
  • +
  • Added LightEvent_WaitTimeout.
  • +
  • Added LightSemaphore_TryAcquire.
  • +
  • Changed LightLock to support 0 as a valid initial (unlocked) state.
      +
    • This effectively adds support for trivially initialized/zerofilled locks.
    • +
    +
  • +
  • Fixed bug in LightSemaphore_Acquire.
  • +
+

+graphics

+
    +
  • Major refactor of the GSP service wrapper. It should now be possible to use GSP directly without the gfx API, if the user so desires.
  • +
  • Major internal refactor of the gfx wrapper API that increases maintainability.
  • +
  • Added support for 800px wide mode with non-square pixels on the top screen - usable on every 3DS model except for Old 2DS (but including New 2DS XL).
  • +
  • Added support for 800px wide mode to the libctru console.
  • +
  • Transferred most of the GSP initialization duties to gspInit/gspExit (previously done by the gfx wrapper).
  • +
  • Added defines for screen IDs and screen dimensions.
  • +
  • Added gspPresentBuffer for pushing a framebuffer to the internal GSP swap queue (previously this was an internal function in the gfx wrapper).
  • +
  • Added gspGetBytesPerPixel, gspHasGpuRight.
  • +
  • Added gfxScreenSwapBuffers, with support for duplicating left->right eye content during stereoscopic 3D mode.
  • +
  • Fixed LCD configuration mode when using framebuffers on VRAM with the gfx wrapper.
  • +
  • Changed gfxExit to set LCD force-black status to true.
  • +
  • Changed the gfx wrapper to always use gspPresentBuffer during swap. This means the immediate parameter of gfxConfigScreen no longer has any effect, and gfxSwapBuffers/gfxSwapBuffersGpu now do the same thing - that is, present the rendered content during the next VBlank.
  • +
  • Renamed GSPGPU_FramebufferFormats enum to GSPGPU_FramebufferFormat.
  • +
  • Deprecated gfxConfigScreen (use gfxScreenSwapBuffers instead).
  • +
  • Removed gspInitEventHandler, gspExitEventHandler (now handled automatically inside gspInit/gspExit).
  • +
  • Removed sharedGspCmdBuf param from gspSubmitGxCommand (now uses the proper GSP shared memory address automatically).
  • +
  • Removed GSPGPU_REBASE_REG define (leftover from early 3DS homebrew).
  • +
  • Removed numerous internal fields that were previously publicly accessible.
  • +
+

+audio

+
    +
  • DSP access rights are now managed using a hook mechanism, similar to the APT hook.
      +
    • This fixes audio playback during libapplet invocations, as they no longer relinquish DSP rights.
    • +
    +
  • +
  • Changed NDSP to use the DSP hook instead of the APT hook.
  • +
  • Added dspIsComponentLoaded, dspHook, dspUnhook.
  • +
  • Fixed and improved robustness of wavebuf handling in NDSP code.
  • +
  • Fixed and refactored NDSP sleep/wakeup code to improve accuracy compared to official logic.
  • +
+

+filesystem

+
    +
  • Reduced TLS footprint of the archive/romfs devices by sharing buffers.
  • +
  • Reduced the maximum number of concurrently registered archive devices from 32 to 8 in order to save memory.
  • +
  • Backported multi-mount romfs system from libnx, with additional optimizations (breaking API change).
  • +
  • Added romfsMountFromTitle.
  • +
  • Fixed stat for romfs device to return -1 for non-existent files/directories.
  • +
+

+applet

+
    +
  • Major internal refactor of the APT service wrapper that should improve accuracy compared to official logic.
  • +
  • Fixed sleep handling when the app is inactive (i.e. app is suspended).
  • +
  • Added support for screen capture during libapplet transitions.
  • +
  • Added support for proper DSP access right management.
  • +
  • aptLaunchLibraryApplet no longer calls aptMainLoop internally. Library applet calls no longer return a bool value, users are advised to check APT state manually afterwards.
  • +
  • Added functions for checking APT state: aptIsActive, aptShouldClose, aptShouldJumpToHome, aptCheckHomePressRejected (replaces aptIsHomePressed).
  • +
  • Added functions for handling incoming requests: aptHandleSleep, aptHandleJumpToHome.
  • +
  • Added aptJumpToHomeMenu.
  • +
  • Changed aptMainLoop to use the new wrapper functions (this means aptMainLoop can now be replaced by custom logic if desired).
  • +
  • Changed APTHOOK_ONEXIT to be invoked during aptExit instead of during aptMainLoop.
  • +
  • Added aptClearChainloader, aptSetChainloaderToSelf.
  • +
+

+miscellaneous

+
    +
  • Fix decompress out-of-bounds access.
  • +
  • Added NDM_ prefix to NDM enum members in order to avoid name collisions.
  • +
  • Corrected parameter type in several CFGU functions.
  • +
  • Corrected return value of GSPLCD_GetBrightness.
  • +
  • Removed obsolete support for ninjhax 1.x's fake hb:HB service.
  • +
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
  • +
+

+Version 1.9.0

+
    +
  • hid: Added hidKeysDownRepeat, hidWaitForAnyEvent. Allow user override of irsst usage.
  • +
  • Add ptm rtc time commands
  • +
  • Add sleep state FSM handling service commands
  • +
  • Revamp mappableAlloc
  • +
  • Fixed stat on romfs for directories, implemented lstat via stat (FAT32 has no symlinks)
  • +
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
  • +
+

+Version 1.8.0

+
    +
  • Added support for environments where the home menu is not launched (such as running under SAFE_FIRM)
  • +
  • Added FSPXI service wrappers
  • +
  • Changed heap allocation logic to be more flexible; this fixes support for certain system memory layouts
  • +
  • Cleaned up and optimized light lock locking code
  • +
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
  • +
+

+Version 1.7.0

+
    +
  • fix FIONBIO ioctl
  • +
  • Fix CAMU_GetLatestVsyncTiming
  • +
  • Add archive STDIO device driver
  • +
  • Add AC commands that allow forcing a wifi connection
  • +
  • Fix dspInit() error handling in ndspInit()
  • +
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
  • +
+

+Version 1.6.0

+
    +
  • Major overhaul to font loading code in order to support loading external fonts.
  • +
  • Major overhaul to PM service wrappers, now with separate support for pm:app and pm:dbg.
  • +
  • Added Rosalina GDB host IO (gdbhio) support.
  • +
  • Added support for the fs:REG service.
  • +
  • Added support for the PxiPM service.
  • +
  • Added PM launch flag definitions.
  • +
  • Added SO_BROADCAST.
  • +
  • Added new APT helper functions: aptIsHomeAllowed, aptSetHomeAllowed, aptIsHomePressed.
  • +
  • Added support for the Mii selector libapplet, and other improvements to Mii support.
  • +
  • Renamed IPC_Desc_CurProcessHandle to IPC_Desc_CurProcessId.
  • +
  • Changed signature of LOADER_RegisterProgram to use FS_ProgramInfo structs.
  • +
  • Fixed IPC bugs in the Loader service.
  • +
  • Fixed svcCreateResourceLimit.
  • +
  • Fixed corner case bug in GPUCMD_Add.
  • +
  • Fixed bugs in select and herror.
  • +
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
  • +
+

+Version 1.5.1

+
    +
  • Added support for the FRD service.
  • +
  • Added gas-related GPU definitions.
  • +
  • Implemented nanosleep.
  • +
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
  • +
+

+Version 1.5.0

+
    +
  • Added new decompression API which supports LZSS/LZ10, LZ11, RLE & Huffman formats, and which can read compressed data from memory or from a file.
  • +
  • Added srvSetBlockingPolicy, which controls whether srvGetServiceHandle blocks when the service isn't yet registered (or returns an error otherwise).
  • +
  • Added ACU commands: ACU_GetStatus, ACU_GetSecurityMode, ACU_GetSSIDLength, ACU_GetSecurityMode, ACU_GetProxyEnable, ACU_GetProxyPort, ACU_GetProxyUserName, ACU_GetProxyPassword, ACU_GetLastErrorCode, ACU_GetLastDetailErrorCode.
  • +
  • Added CFGI commands: CFGI_SecureInfoGetSerialNumber, CFGU_IsNFCSupported, CFGI_GetLocalFriendCodeSeed, CFGI_GetLocalFriendCodeSeedData, CFGI_GetSecureInfoData, CFGI_GetSecureInfoSignature.
  • +
  • Added MCUHWC commands: MCUHWC_SetWifiLedState, MCUHWC_SetPowerLedState, MCUHWC_Get3dSliderLevel, MCUHWC_GetFwVerHigh, MCUHWC_GetFwVerLow.
  • +
  • Added NS commands: NS_TerminateTitle, NS_TerminateProcessTID (with timeout), NS_RebootSystem.
  • +
  • Added PM commands: PM_TerminateCurrentApplication, PM_TerminateProcess, PM_UnregisterProcess.
  • +
  • Overhauled NDMU service support and added many commands that were previously missing.
  • +
  • Fixed bugs in srv:pm implementation.
  • +
  • Fixed calculation of vertical texture coordinates in fontCalcGlyphPos.
  • +
  • Fixed shaderProgramSetGshInputPermutation.
  • +
  • Fixed and added clock speed constants (affects system clock and NDSP).
  • +
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
  • +
+

+Version 1.4.0

+
    +
  • Added LightSemaphore synchronization primitive.
  • +
  • Added exheader definitions.
  • +
  • Added support for the Loader service.
  • +
  • Added support for the mcu::HWC service.
  • +
  • Added support for the Mii selector applet.
  • +
  • Added ResourceLimitType.
  • +
  • Added AM commands: AM_DeleteAllTemporaryTitles, AM_DeleteAllExpiredTitles, AM_DeleteAllTwlTitles.
  • +
  • Added CFGI commands: CFGI_RestoreLocalFriendCodeSeed, CFGI_RestoreSecureInfo, CFGI_DeleteConfigSavefile, CFGI_FormatConfig, CFGI_ClearParentalControls, CFGI_VerifySigLocalFriendCodeSeed, CFGI_VerifySigSecureInfo.
  • +
  • Added GSPGPU commands: GSPGPU_SetLedForceOff.
  • +
  • Added GSPLCD commands: GSPLCD_SetBrightness, GSPLCD_SetBrightnessRaw, GSPLCD_PowerOnAllBacklights, GSPLCD_PowerOffAllBacklights, GSPLCD_SetLedForceOff.
  • +
  • Fixed srv:pm handling in pre-7.x system versions.
  • +
  • Fixed GPU_LIGHTPERM macro definition.
  • +
  • Removed the remaining deprecated GPUCMD commands.
  • +
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.
  • +
+

+Version 1.3.0

+
    +
  • Implement more svc calls
      +
    • svcCreateResourceLimit
    • +
    • svcSetResourceLimitValues
    • +
    • svcSetProcessResourceLimits
    • +
    • svcCreateSession
    • +
    • svcCreateSessionToPort
    • +
    • svcSetGpuProt
    • +
    • svcSetWifiEnabled
    • +
    +
  • +
  • Additional functions
      +
    • implement httpcAddPostDataBinary
    • +
    • implement PTMU_GetAdapterState
    • +
    • implement GSPLCD_GetBrightness
    • +
    • add threadDetach
    • +
    +
  • +
  • srv fixes
      +
    • Fix srvPublishToSubscriber documentation
    • +
    • Fix handling of service/named port names of length 8
    • +
    • Fix srvRegisterPort
    • +
    +
  • +
  • debugging support
      +
    • Add support for user-specified exception handlers
    • +
    • Rename debugDevice_3DMOO to debugDevice_SVC
    • +
    • created debug version of library
    • +
    +
  • +
  • Implement error applet
  • +
  • GPU updates
      +
    • Add GX command queue system for batching GX commands
    • +
    • Correct GPU_PROCTEX_LUTID definition
    • +
    • Add GPU_FOGMODE, GPU_GASMODE and GPU_GASLUTINPUT
    • +
    +
  • +
  • Other improvements and minor adjustments for overall system stability to enhance the user experience
  • +
+

+Version 1.2.1

+
    +
  • Added NFC support
  • +
  • Update and renamed NFC_AmiiboConfig members
  • +
  • Added TickCounter for measuring performance
  • +
  • Added (linear/vram/mappable)GetSize for retrieving allocated buffer size
  • +
  • Added nim:s client implementation.
  • +
  • Correct bus clock used for time calulations
  • +
  • Default to file write without internal copy buffer
  • +
  • GPUCMD_Add: allow NULL for adding zerofilled parameter data
  • +
  • Clarify threadFree usage in documentation
  • +
  • Add GPU_TEXFACE enumeration
  • +
+

+Version 1.2.0

+
    +
  • New features:
      +
    • Added support for the nfc:m/nfc:u service.
    • +
    • Added support for the ssl:C service.
    • +
    • Added support for the nwm::UDS service (Local wireless).
    • +
    • Added support for the boss:P/boss:U service (SpotPass).
    • +
    • Added support for using the err:f global port.
    • +
    • Added support for using and parsing the shared system font.
    • +
    • Added support for using the 3DS' built-in software keyboard applet.
    • +
    • Added support for using Light Events, a lightweight alternative to normal events that doesn't consume handles.
    • +
    • Added NDSP commands for setting up per-channel monopole & biquad filters.
    • +
    +
  • +
  • Major breaking changes:
      +
    • Major revamp of the APT code; some old deprecated functions were completely removed, homebrew code abiding by recent standards shouldn't be affected though.
    • +
    • Major revamp of the HTTPC code, including both additions and bugfixes.
    • +
    • Major revamp of the AM code, with some enhancements.
    • +
    • Major revamp of FSUSER code, archive handle handling has been refactored. fs(End)UseSession replaced with fsExemptFromSession.
    • +
    • Major revamp of MVD code to support video processing.
    • +
    • Major revamp of the GPU shader code to fully support geometry shaders.
    • +
    • The old deprecated GPU wrapper commands have been removed. Use direct GPU register writes or a separate GPU wrapper library (such as citro3d) instead.
    • +
    • Major revamp and update of the SVC debugger API.
    • +
    • Heap size management has been simplified and made more flexible. All applications now default to 32MB of linear heap and all remaining APPLICATION memory is allocated as the application heap, regardless of entrypoint or application format.
    • +
    +
  • +
  • Miscellaneous additions:
      +
    • Several enhancements to SOC:u support:
        +
      • Added getaddrinfo, getnameinfo, gethostname, gai_strerror.
      • +
      • Added SOCU_ShutdownSockets, SOCU_CloseSockets, SOCU_GetIPInfo, SOCU_GetNetworkOpt, SOCU_AddGlobalSocket.
      • +
      • Added several missing flags.
      • +
      +
    • +
    • Minor am:net corrections and additions.
    • +
    • Added sdmcWriteSafe to disable copying data to temporary RW buffers before calling FSFILE_Write.
    • +
    • Added sdmc_getmtime to retrieve the modification time for a file.
    • +
    • Added opendir/readdir/rewinddir/closedir/stat support to romfs.
    • +
    • Added support for multiple RomFS mounts.
    • +
    • Added macros for console color codes (ANSI escape sequences).
    • +
    • Added support for specifying a fallback RomFS path for when argv isn't available.
    • +
    • Added aptIsSleepAllowed/aptSetSleepAllowed.
    • +
    • Added ResetType enum for use with svcCreateEvent and svcCreateTimer.
    • +
    • Added psInitHandle and psGetSessionHandle.
    • +
    • Added AM commands: AM_ExportTwlBackup, AM_ImportTwlBackup, AM_ReadTwlBackupInfo, AM_DeleteAllDemoLaunchInfos, AM_FinishCiaInstallWithoutCommit, AM_CommitImportPrograms.
    • +
    • Added AMPXI commands: AMPXI_WriteTWLSavedata, AMPXI_InstallTitlesFinish.
    • +
    • Added APT commands: APT_ReceiveDeliverArg.
    • +
    • Added CFG commands: CFG_GetConfigInfoBlk4, CFG_GetConfigInfoBlk8, CFG_SetConfigInfoBlk4, CFG_SetConfigInfoBlk8, CFG_UpdateConfigNANDSavegame.
    • +
    • Added GSPLCD commands: GSPLCD_GetVendors
    • +
    • Added FSUSER commands: FSUSER_UpdateSha256Context.
    • +
    • Added NEWS commands: NEWS_GetTotalNotifications, NEWS_SetNotificationHeader, NEWS_GetNotificationHeader, NEWS_GetNotificationMessage, NEWS_GetNotificationImage, NEWS_SetNotificationMessage, NEWS_SetNotificationImage.
    • +
    • Added NS commands: NS_TerminateProcessTID, NS_LaunchFIRM, NS_LaunchApplicationFIRM.
    • +
    • Added PS commands: PS_SignRsaSha256, PS_VerifyRsaSha256.
    • +
    • Added PTMSYSM commands: PTMSYSM_CheckNew3DS, PTMSYSM_ShutdownAsync, PTMSYSM_RebootAsync.
    • +
    • Added PXIDEV commands: PXIDEV_SPIMultiWriteRead, PXIDEV_SPIWriteRead.
    • +
    • Added system calls: svcCreateCodeSet, svcCreateProcess, svcGetResourceLimit, svcGetResourceLimitValues, svcGetResourceLimitCurrentValues, svcSetProcessAffinityMask, svcSetProcessIdealProcessor, svcRun, svcBindInterrupt, svcUnbindInterrupt, svcGetHandleInfo, svcBreakRO, svcGetThreadList.
    • +
    • Added result module codes.
    • +
    • Added GPU A4 texture format enum.
    • +
    +
  • +
  • Miscellaneous changes and bug fixes:
      +
    • Optimized sdmc's readdir to batch directory entries.
    • +
    • APT, GSPGPU and NDSP code was tuned to take advantage of Light Events.
    • +
    • Moved am:app init to a separate function.
    • +
    • Several issues concerning IPC static buffer saving/restoring were fixed.
    • +
    • Several issues concerning sdmc/RomFS devoptabs were fixed.
    • +
    • Several issues concerning SOC:u were fixed.
    • +
    • An issue concerning cam:u was fixed.
    • +
    • An issue concerning HID was fixed.
    • +
    • An issue concerning news:u was fixed.
    • +
    • The GPU ETC1 texture format enums were fixed.
    • +
    • usleep was fixed.
    • +
    • Fixed incorrect bool return values from services.
    • +
    • Fixed buffer overflow after gfxSetScreenFormat.
    • +
    • Fixed home menu display of suspended 2D applications.
    • +
    • Fixed buffer overrun in console code.
    • +
    • Fixed PS_EncryptDecryptAes and PS_EncryptSignDecryptVerifyAesCcm.
    • +
    • Fixed the implementation of svcGetProcessList.
    • +
    • Corrected svcKernelSetState function signature.
    • +
    +
  • +
+

+Version 1.1.0

+
    +
  • Additions:
      +
    • GSPGPU/GX code was revised and enhanced:
        +
      • Screens can be buffer-swapped independently using the new gfxConfigScreen function.
      • +
      • Added gspSetEventCallback for running event code directly on the GSP thread.
      • +
      • Added gspWaitForAnyEvent for waiting for any GSP event.
      • +
      • Added gfxIs3D for retrieving 3D-enable status.
      • +
      +
    • +
    • Added AM_InstallFirm.
    • +
    • Added __sync_get_arbiter.
    • +
    • Added support for usleep.
    • +
    +
  • +
  • Changes:
      +
    • NDSP thread priority has been increased, therefore mitigating potential sound issues due to high CPU usage on the main thread.
    • +
    • RomFS initialization no longer makes romfs:/ the default device.
    • +
    +
  • +
  • Bug fixes:
      +
    • Fixed the timeout parameter in svcArbitrateAddress.
    • +
    • Fixed svcSetTimer.
    • +
    +
  • +
+

+Version 1.0.0

+
    +
  • New features:
      +
    • libctru documentation is now available at http://smealum.github.io/ctrulib/
    • +
    • Added the NDSP API, which allows the use of the DSP (audio).
    • +
    • Added Inter Process Communication helpers.
    • +
    • Added Result code helpers.
    • +
    • Added support for lightweight synchronization primitives.
    • +
    • Added support for making the C/C++ standard libraries thread safe.
    • +
    • Added support for thread-local objects, with the use of standard C and C++ constructs (or GCC extensions).
    • +
    • Added a new threading API that properly manages internal state. Direct usage of svcCreateThread is deprecated.
    • +
    • Added a mappable address space allocator. Services which need to map shared memory blocks now use this allocator.
    • +
    • Added support for embedded RomFS, embedded SMDH and GPU shader building in the template Makefiles.
    • +
    +
  • +
  • Changes and additions to the GPU code:
      +
    • Stateless wrapper functions (GPU_*) that merely masked GPU register usage were deprecated, in favour of external GPU wrapper libraries such as citro3d. A future release of libctru may remove them.
    • +
    • The API set has therefore been simplified down to command list management.
    • +
    • Synchronized register names with the 3dbrew Wiki.
    • +
    • Added fragment lighting registers and enums.
    • +
    • Added procedural texture registers and enums.
    • +
    • Added shaderProgramSetGshInputPermutation, for configuring the wiring between the vertex shader and the geometry shader.
    • +
    • Added shaderProgramSetGshMode, for configuring the geometry shader operation mode.
    • +
    • Added shaderProgramConfigure, intended to be used by GPU wrapper libraries.
    • +
    • SHBIN/shaderProgram code now correctly computes and sets the values of the GPUREG_SH_OUTATTR_MODE/CLOCK registers.
    • +
    • GX function naming has been improved, and the initial GX command buffer parameter has been removed.
    • +
    +
  • +
  • Major changes and miscellaneous additions:
      +
    • Sweeping changes to make function/structure/enum naming more consistent across the whole library. This affects a lot of code.
    • +
    • Compiler/linker flags have been tweaked to increase performance and reduce code size, through the garbage collection of unused functions.
    • +
    • Service initialization is now reference counted in order to properly manage dependencies.
    • +
    • Initial service handle parameters have been removed, since they were nearly always set to NULL.
    • +
    • Completed coverage of srv and FSUSER service calls.
    • +
    • Added fsUseSession and fsEndUseSession for overriding the FSUSER session used in commands in the current thread.
    • +
    • Added osGet3DSliderState, osSetSpeedupEnable, osGetSystemVersionData and osGetSystemVersionDataString.
    • +
    • Refactored the MICU service.
    • +
    • NCCH versions of applications now detect the maximum amount of available memory on startup.
    • +
    +
  • +
  • Miscellaneous changes and bug fixes:
      +
    • Commits and pull requests are now built on travis to check that the library compiles, and to generate the documentation.
    • +
    • General changes and improvements to overall code quality.
    • +
    • Added the missing struct and functions for Y2R.
    • +
    • Added srvGetServiceHandleDirect for bypassing the handle override mechanism.
    • +
    • Usage of the CSND service in new applications is not recommended, however it is not deprecated. The usage of NDSP instead is advised.
    • +
    • Usage of the HB service in new applications is not recommended due to its necessary removal in hax 2.x, however it is not deprecated.
    • +
    • Several bugs affecting APT were fixed.
    • +
    • Several bugs affecting C++ were fixed.
    • +
    +
  • +
+

+Version 0 through 0.6.0

+

No changelog available.

+
+
+ + + + diff --git a/menu.js b/menu.js new file mode 100644 index 000000000..2fe2214f2 --- /dev/null +++ b/menu.js @@ -0,0 +1,51 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+=''; + } + return result; + } + + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchEnabled) { + if (serverSide) { + $('#main-menu').append('
  • '); + } else { + $('#main-menu').append('
  • '); + } + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/menudata.js b/menudata.js new file mode 100644 index 000000000..62a664eb1 --- /dev/null +++ b/menudata.js @@ -0,0 +1,209 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file +*/ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Related Pages",url:"pages.html"}, +{text:"Data Structures",url:"annotated.html",children:[ +{text:"Data Structures",url:"annotated.html"}, +{text:"Data Structure Index",url:"classes.html"}, +{text:"Data Fields",url:"functions.html",children:[ +{text:"All",url:"functions.html",children:[ +{text:"_",url:"functions.html#index__5F"}, +{text:"a",url:"functions_a.html#index_a"}, +{text:"b",url:"functions_b.html#index_b"}, +{text:"c",url:"functions_c.html#index_c"}, +{text:"d",url:"functions_d.html#index_d"}, +{text:"e",url:"functions_e.html#index_e"}, +{text:"f",url:"functions_f.html#index_f"}, +{text:"g",url:"functions_g.html#index_g"}, +{text:"h",url:"functions_h.html#index_h"}, +{text:"i",url:"functions_i.html#index_i"}, +{text:"j",url:"functions_j.html#index_j"}, +{text:"k",url:"functions_k.html#index_k"}, +{text:"l",url:"functions_l.html#index_l"}, +{text:"m",url:"functions_m.html#index_m"}, +{text:"n",url:"functions_n.html#index_n"}, +{text:"o",url:"functions_o.html#index_o"}, +{text:"p",url:"functions_p.html#index_p"}, +{text:"r",url:"functions_r.html#index_r"}, +{text:"s",url:"functions_s.html#index_s"}, +{text:"t",url:"functions_t.html#index_t"}, +{text:"u",url:"functions_u.html#index_u"}, +{text:"v",url:"functions_v.html#index_v"}, +{text:"w",url:"functions_w.html#index_w"}, +{text:"x",url:"functions_x.html#index_x"}, +{text:"y",url:"functions_y.html#index_y"}, +{text:"z",url:"functions_z.html#index_z"}]}, +{text:"Variables",url:"functions_vars.html",children:[ +{text:"_",url:"functions_vars.html#index__5F"}, +{text:"a",url:"functions_vars_a.html#index_a"}, +{text:"b",url:"functions_vars_b.html#index_b"}, +{text:"c",url:"functions_vars_c.html#index_c"}, +{text:"d",url:"functions_vars_d.html#index_d"}, +{text:"e",url:"functions_vars_e.html#index_e"}, +{text:"f",url:"functions_vars_f.html#index_f"}, +{text:"g",url:"functions_vars_g.html#index_g"}, +{text:"h",url:"functions_vars_h.html#index_h"}, +{text:"i",url:"functions_vars_i.html#index_i"}, +{text:"j",url:"functions_vars_j.html#index_j"}, +{text:"k",url:"functions_vars_k.html#index_k"}, +{text:"l",url:"functions_vars_l.html#index_l"}, +{text:"m",url:"functions_vars_m.html#index_m"}, +{text:"n",url:"functions_vars_n.html#index_n"}, +{text:"o",url:"functions_vars_o.html#index_o"}, +{text:"p",url:"functions_vars_p.html#index_p"}, +{text:"r",url:"functions_vars_r.html#index_r"}, +{text:"s",url:"functions_vars_s.html#index_s"}, +{text:"t",url:"functions_vars_t.html#index_t"}, +{text:"u",url:"functions_vars_u.html#index_u"}, +{text:"v",url:"functions_vars_v.html#index_v"}, +{text:"w",url:"functions_vars_w.html#index_w"}, +{text:"x",url:"functions_vars_x.html#index_x"}, +{text:"y",url:"functions_vars_y.html#index_y"}, +{text:"z",url:"functions_vars_z.html#index_z"}]}]}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}, +{text:"Globals",url:"globals.html",children:[ +{text:"All",url:"globals.html",children:[ +{text:"_",url:"globals.html#index__5F"}, +{text:"a",url:"globals_a.html#index_a"}, +{text:"b",url:"globals_b.html#index_b"}, +{text:"c",url:"globals_c.html#index_c"}, +{text:"d",url:"globals_d.html#index_d"}, +{text:"e",url:"globals_e.html#index_e"}, +{text:"f",url:"globals_f.html#index_f"}, +{text:"g",url:"globals_g.html#index_g"}, +{text:"h",url:"globals_h.html#index_h"}, +{text:"i",url:"globals_i.html#index_i"}, +{text:"k",url:"globals_k.html#index_k"}, +{text:"l",url:"globals_l.html#index_l"}, +{text:"m",url:"globals_m.html#index_m"}, +{text:"n",url:"globals_n.html#index_n"}, +{text:"o",url:"globals_o.html#index_o"}, +{text:"p",url:"globals_p.html#index_p"}, +{text:"q",url:"globals_q.html#index_q"}, +{text:"r",url:"globals_r.html#index_r"}, +{text:"s",url:"globals_s.html#index_s"}, +{text:"t",url:"globals_t.html#index_t"}, +{text:"u",url:"globals_u.html#index_u"}, +{text:"v",url:"globals_v.html#index_v"}, +{text:"w",url:"globals_w.html#index_w"}, +{text:"y",url:"globals_y.html#index_y"}]}, +{text:"Functions",url:"globals_func.html",children:[ +{text:"_",url:"globals_func.html#index__5F"}, +{text:"a",url:"globals_func_a.html#index_a"}, +{text:"b",url:"globals_func_b.html#index_b"}, +{text:"c",url:"globals_func_c.html#index_c"}, +{text:"d",url:"globals_func_d.html#index_d"}, +{text:"e",url:"globals_func_e.html#index_e"}, +{text:"f",url:"globals_func_f.html#index_f"}, +{text:"g",url:"globals_func_g.html#index_g"}, +{text:"h",url:"globals_func_h.html#index_h"}, +{text:"i",url:"globals_func_i.html#index_i"}, +{text:"l",url:"globals_func_l.html#index_l"}, +{text:"m",url:"globals_func_m.html#index_m"}, +{text:"n",url:"globals_func_n.html#index_n"}, +{text:"o",url:"globals_func_o.html#index_o"}, +{text:"p",url:"globals_func_p.html#index_p"}, +{text:"q",url:"globals_func_q.html#index_q"}, +{text:"r",url:"globals_func_r.html#index_r"}, +{text:"s",url:"globals_func_s.html#index_s"}, +{text:"t",url:"globals_func_t.html#index_t"}, +{text:"u",url:"globals_func_u.html#index_u"}, +{text:"v",url:"globals_func_v.html#index_v"}, +{text:"y",url:"globals_func_y.html#index_y"}]}, +{text:"Variables",url:"globals_vars.html"}, +{text:"Typedefs",url:"globals_type.html",children:[ +{text:"a",url:"globals_type.html#index_a"}, +{text:"c",url:"globals_type.html#index_c"}, +{text:"d",url:"globals_type.html#index_d"}, +{text:"e",url:"globals_type.html#index_e"}, +{text:"f",url:"globals_type.html#index_f"}, +{text:"h",url:"globals_type.html#index_h"}, +{text:"l",url:"globals_type.html#index_l"}, +{text:"n",url:"globals_type.html#index_n"}, +{text:"r",url:"globals_type.html#index_r"}, +{text:"s",url:"globals_type.html#index_s"}, +{text:"t",url:"globals_type.html#index_t"}, +{text:"u",url:"globals_type.html#index_u"}, +{text:"v",url:"globals_type.html#index_v"}]}, +{text:"Enumerations",url:"globals_enum.html",children:[ +{text:"a",url:"globals_enum.html#index_a"}, +{text:"b",url:"globals_enum.html#index_b"}, +{text:"c",url:"globals_enum.html#index_c"}, +{text:"d",url:"globals_enum.html#index_d"}, +{text:"e",url:"globals_enum.html#index_e"}, +{text:"f",url:"globals_enum.html#index_f"}, +{text:"g",url:"globals_enum.html#index_g"}, +{text:"h",url:"globals_enum.html#index_h"}, +{text:"i",url:"globals_enum.html#index_i"}, +{text:"m",url:"globals_enum.html#index_m"}, +{text:"n",url:"globals_enum.html#index_n"}, +{text:"p",url:"globals_enum.html#index_p"}, +{text:"r",url:"globals_enum.html#index_r"}, +{text:"s",url:"globals_enum.html#index_s"}, +{text:"t",url:"globals_enum.html#index_t"}, +{text:"u",url:"globals_enum.html#index_u"}, +{text:"y",url:"globals_enum.html#index_y"}]}, +{text:"Enumerator",url:"globals_eval.html",children:[ +{text:"a",url:"globals_eval.html#index_a"}, +{text:"b",url:"globals_eval_b.html#index_b"}, +{text:"c",url:"globals_eval_c.html#index_c"}, +{text:"d",url:"globals_eval_d.html#index_d"}, +{text:"e",url:"globals_eval_e.html#index_e"}, +{text:"f",url:"globals_eval_f.html#index_f"}, +{text:"g",url:"globals_eval_g.html#index_g"}, +{text:"h",url:"globals_eval_h.html#index_h"}, +{text:"i",url:"globals_eval_i.html#index_i"}, +{text:"k",url:"globals_eval_k.html#index_k"}, +{text:"l",url:"globals_eval_l.html#index_l"}, +{text:"m",url:"globals_eval_m.html#index_m"}, +{text:"n",url:"globals_eval_n.html#index_n"}, +{text:"o",url:"globals_eval_o.html#index_o"}, +{text:"p",url:"globals_eval_p.html#index_p"}, +{text:"r",url:"globals_eval_r.html#index_r"}, +{text:"s",url:"globals_eval_s.html#index_s"}, +{text:"t",url:"globals_eval_t.html#index_t"}, +{text:"u",url:"globals_eval_u.html#index_u"}, +{text:"v",url:"globals_eval_v.html#index_v"}, +{text:"w",url:"globals_eval_w.html#index_w"}]}, +{text:"Macros",url:"globals_defs.html",children:[ +{text:"a",url:"globals_defs.html#index_a"}, +{text:"b",url:"globals_defs_b.html#index_b"}, +{text:"c",url:"globals_defs_c.html#index_c"}, +{text:"f",url:"globals_defs_f.html#index_f"}, +{text:"g",url:"globals_defs_g.html#index_g"}, +{text:"h",url:"globals_defs_h.html#index_h"}, +{text:"k",url:"globals_defs_k.html#index_k"}, +{text:"l",url:"globals_defs_l.html#index_l"}, +{text:"m",url:"globals_defs_m.html#index_m"}, +{text:"n",url:"globals_defs_n.html#index_n"}, +{text:"o",url:"globals_defs_o.html#index_o"}, +{text:"r",url:"globals_defs_r.html#index_r"}, +{text:"s",url:"globals_defs_s.html#index_s"}, +{text:"t",url:"globals_defs_t.html#index_t"}, +{text:"u",url:"globals_defs_u.html#index_u"}, +{text:"w",url:"globals_defs_w.html#index_w"}]}]}]}, +{text:"Examples",url:"examples.html"}]} diff --git a/mic_8h.html b/mic_8h.html new file mode 100644 index 000000000..2f98e411e --- /dev/null +++ b/mic_8h.html @@ -0,0 +1,673 @@ + + + + + + + +libctru: include/3ds/services/mic.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    mic.h File Reference
    +
    +
    + +

    MIC (Microphone) service. +More...

    + +

    Go to the source code of this file.

    + + + + + + + + +

    +Enumerations

    enum  MICU_Encoding {
    +  MICU_ENCODING_PCM8 = 0 +,
    +  MICU_ENCODING_PCM16 = 1 +,
    +  MICU_ENCODING_PCM8_SIGNED = 2 +,
    +  MICU_ENCODING_PCM16_SIGNED = 3 +
    + }
     Microphone audio encodings. More...
     
    enum  MICU_SampleRate {
    +  MICU_SAMPLE_RATE_32730 = 0 +,
    +  MICU_SAMPLE_RATE_16360 = 1 +,
    +  MICU_SAMPLE_RATE_10910 = 2 +,
    +  MICU_SAMPLE_RATE_8180 = 3 +
    + }
     Microphone audio sampling rates. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    Result micInit (u8 *buffer, u32 bufferSize)
     Initializes MIC. More...
     
    +void micExit (void)
     Exits MIC.
     
    u32 micGetSampleDataSize (void)
     Gets the size of the sample data area within the shared memory buffer. More...
     
    u32 micGetLastSampleOffset (void)
     Gets the offset within the shared memory buffer of the last sample written. More...
     
    Result MICU_MapSharedMem (u32 size, Handle handle)
     Maps MIC shared memory. More...
     
    +Result MICU_UnmapSharedMem (void)
     Unmaps MIC shared memory.
     
    Result MICU_StartSampling (MICU_Encoding encoding, MICU_SampleRate sampleRate, u32 offset, u32 size, bool loop)
     Begins sampling microphone input. More...
     
    Result MICU_AdjustSampling (MICU_SampleRate sampleRate)
     Adjusts the configuration of the current sampling session. More...
     
    +Result MICU_StopSampling (void)
     Stops sampling microphone input.
     
    Result MICU_IsSampling (bool *sampling)
     Gets whether microphone input is currently being sampled. More...
     
    Result MICU_GetEventHandle (Handle *handle)
     Gets an event handle triggered when the shared memory buffer is full. More...
     
    Result MICU_SetGain (u8 gain)
     Sets the microphone's gain. More...
     
    Result MICU_GetGain (u8 *gain)
     Gets the microphone's gain. More...
     
    Result MICU_SetPower (bool power)
     Sets whether the microphone is powered on. More...
     
    Result MICU_GetPower (bool *power)
     Gets whether the microphone is powered on. More...
     
    Result MICU_SetClamp (bool clamp)
     Sets whether to clamp microphone input. More...
     
    Result MICU_GetClamp (bool *clamp)
     Gets whether to clamp microphone input. More...
     
    Result MICU_SetAllowShellClosed (bool allowShellClosed)
     Sets whether to allow sampling when the shell is closed. More...
     
    +

    Detailed Description

    +

    MIC (Microphone) service.

    +

    Enumeration Type Documentation

    + +

    ◆ MICU_Encoding

    + +
    +
    + + + + +
    enum MICU_Encoding
    +
    + +

    Microphone audio encodings.

    + + + + + +
    Enumerator
    MICU_ENCODING_PCM8 

    Unsigned 8-bit PCM.

    +
    MICU_ENCODING_PCM16 

    Unsigned 16-bit PCM.

    +
    MICU_ENCODING_PCM8_SIGNED 

    Signed 8-bit PCM.

    +
    MICU_ENCODING_PCM16_SIGNED 

    Signed 16-bit PCM.

    +
    + +
    +
    + +

    ◆ MICU_SampleRate

    + +
    +
    + + + + +
    enum MICU_SampleRate
    +
    + +

    Microphone audio sampling rates.

    + + + + + +
    Enumerator
    MICU_SAMPLE_RATE_32730 

    32728.498 Hz

    +
    MICU_SAMPLE_RATE_16360 

    16364.479 Hz

    +
    MICU_SAMPLE_RATE_10910 

    10909.499 Hz

    +
    MICU_SAMPLE_RATE_8180 

    8182.1245 Hz

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ micGetLastSampleOffset()

    + +
    +
    + + + + + + + + +
    u32 micGetLastSampleOffset (void )
    +
    + +

    Gets the offset within the shared memory buffer of the last sample written.

    +
    Returns
    The last sample's offset.
    +
    Examples
    audio/mic/source/main.c.
    +
    + +
    +
    + +

    ◆ micGetSampleDataSize()

    + +
    +
    + + + + + + + + +
    u32 micGetSampleDataSize (void )
    +
    + +

    Gets the size of the sample data area within the shared memory buffer.

    +
    Returns
    The sample data's size.
    +
    Examples
    audio/mic/source/main.c.
    +
    + +
    +
    + +

    ◆ micInit()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result micInit (u8buffer,
    u32 bufferSize 
    )
    +
    + +

    Initializes MIC.

    +
    Parameters
    + + + +
    sizeShared memory buffer to write audio data to. Must be aligned to 0x1000 bytes.
    handleSize of the shared memory buffer.
    +
    +
    +
    Examples
    audio/mic/source/main.c.
    +
    + +
    +
    + +

    ◆ MICU_AdjustSampling()

    + +
    +
    + + + + + + + + +
    Result MICU_AdjustSampling (MICU_SampleRate sampleRate)
    +
    + +

    Adjusts the configuration of the current sampling session.

    +
    Parameters
    + + +
    sampleRateSample rate of outputted audio.
    +
    +
    + +
    +
    + +

    ◆ MICU_GetClamp()

    + +
    +
    + + + + + + + + +
    Result MICU_GetClamp (bool * clamp)
    +
    + +

    Gets whether to clamp microphone input.

    +
    Parameters
    + + +
    clampPointer to output the clamp state to.
    +
    +
    + +
    +
    + +

    ◆ MICU_GetEventHandle()

    + +
    +
    + + + + + + + + +
    Result MICU_GetEventHandle (Handlehandle)
    +
    + +

    Gets an event handle triggered when the shared memory buffer is full.

    +
    Parameters
    + + +
    handlePointer to output the event handle to.
    +
    +
    + +
    +
    + +

    ◆ MICU_GetGain()

    + +
    +
    + + + + + + + + +
    Result MICU_GetGain (u8gain)
    +
    + +

    Gets the microphone's gain.

    +
    Parameters
    + + +
    gainPointer to output the current gain to.
    +
    +
    + +
    +
    + +

    ◆ MICU_GetPower()

    + +
    +
    + + + + + + + + +
    Result MICU_GetPower (bool * power)
    +
    + +

    Gets whether the microphone is powered on.

    +
    Parameters
    + + +
    powerPointer to output the power state to.
    +
    +
    + +
    +
    + +

    ◆ MICU_IsSampling()

    + +
    +
    + + + + + + + + +
    Result MICU_IsSampling (bool * sampling)
    +
    + +

    Gets whether microphone input is currently being sampled.

    +
    Parameters
    + + +
    samplingPointer to output the sampling state to.
    +
    +
    + +
    +
    + +

    ◆ MICU_MapSharedMem()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result MICU_MapSharedMem (u32 size,
    Handle handle 
    )
    +
    + +

    Maps MIC shared memory.

    +
    Parameters
    + + + +
    sizeSize of the shared memory.
    handleHandle of the shared memory.
    +
    +
    + +
    +
    + +

    ◆ MICU_SetAllowShellClosed()

    + +
    +
    + + + + + + + + +
    Result MICU_SetAllowShellClosed (bool allowShellClosed)
    +
    + +

    Sets whether to allow sampling when the shell is closed.

    +
    Parameters
    + + +
    allowShellClosedWhether to allow sampling when the shell is closed.
    +
    +
    + +
    +
    + +

    ◆ MICU_SetClamp()

    + +
    +
    + + + + + + + + +
    Result MICU_SetClamp (bool clamp)
    +
    + +

    Sets whether to clamp microphone input.

    +
    Parameters
    + + +
    clampWhether to clamp microphone input.
    +
    +
    + +
    +
    + +

    ◆ MICU_SetGain()

    + +
    +
    + + + + + + + + +
    Result MICU_SetGain (u8 gain)
    +
    + +

    Sets the microphone's gain.

    +
    Parameters
    + + +
    gainGain to set.
    +
    +
    + +
    +
    + +

    ◆ MICU_SetPower()

    + +
    +
    + + + + + + + + +
    Result MICU_SetPower (bool power)
    +
    + +

    Sets whether the microphone is powered on.

    +
    Parameters
    + + +
    powerWhether the microphone is powered on.
    +
    +
    + +
    +
    + +

    ◆ MICU_StartSampling()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result MICU_StartSampling (MICU_Encoding encoding,
    MICU_SampleRate sampleRate,
    u32 offset,
    u32 size,
    bool loop 
    )
    +
    + +

    Begins sampling microphone input.

    +
    Parameters
    + + + + + + +
    encodingEncoding of outputted audio.
    sampleRateSample rate of outputted audio.
    sharedMemAudioOffsetOffset to write audio data to in the shared memory buffer.
    sharedMemAudioSizeSize of audio data to write to the shared memory buffer. This should be at most "bufferSize - 4".
    loopWhether to loop back to the beginning of the buffer when the end is reached.
    +
    +
    +
    Examples
    audio/mic/source/main.c.
    +
    + +
    +
    +
    + + + + diff --git a/mic_8h_source.html b/mic_8h_source.html new file mode 100644 index 000000000..729bf9e6a --- /dev/null +++ b/mic_8h_source.html @@ -0,0 +1,239 @@ + + + + + + + +libctru: include/3ds/services/mic.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    mic.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file mic.h
    +
    3  * @brief MIC (Microphone) service.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 /// Microphone audio encodings.
    +
    8 typedef enum
    +
    9 {
    +
    10  MICU_ENCODING_PCM8 = 0, ///< Unsigned 8-bit PCM.
    +
    11  MICU_ENCODING_PCM16 = 1, ///< Unsigned 16-bit PCM.
    +
    12  MICU_ENCODING_PCM8_SIGNED = 2, ///< Signed 8-bit PCM.
    +
    13  MICU_ENCODING_PCM16_SIGNED = 3, ///< Signed 16-bit PCM.
    + +
    15 
    +
    16 /// Microphone audio sampling rates.
    +
    17 typedef enum
    +
    18 {
    +
    19  MICU_SAMPLE_RATE_32730 = 0, ///< 32728.498 Hz
    +
    20  MICU_SAMPLE_RATE_16360 = 1, ///< 16364.479 Hz
    +
    21  MICU_SAMPLE_RATE_10910 = 2, ///< 10909.499 Hz
    +
    22  MICU_SAMPLE_RATE_8180 = 3, ///< 8182.1245 Hz
    + +
    24 
    +
    25 /**
    +
    26  * @brief Initializes MIC.
    +
    27  * @param size Shared memory buffer to write audio data to. Must be aligned to 0x1000 bytes.
    +
    28  * @param handle Size of the shared memory buffer.
    +
    29  */
    +
    30 Result micInit(u8* buffer, u32 bufferSize);
    +
    31 
    +
    32 /// Exits MIC.
    +
    33 void micExit(void);
    +
    34 
    +
    35 /**
    +
    36  * @brief Gets the size of the sample data area within the shared memory buffer.
    +
    37  * @return The sample data's size.
    +
    38  */
    + +
    40 
    +
    41 /**
    +
    42  * @brief Gets the offset within the shared memory buffer of the last sample written.
    +
    43  * @return The last sample's offset.
    +
    44  */
    + +
    46 
    +
    47 /**
    +
    48  * @brief Maps MIC shared memory.
    +
    49  * @param size Size of the shared memory.
    +
    50  * @param handle Handle of the shared memory.
    +
    51  */
    + +
    53 
    +
    54 /// Unmaps MIC shared memory.
    + +
    56 
    +
    57 /**
    +
    58  * @brief Begins sampling microphone input.
    +
    59  * @param encoding Encoding of outputted audio.
    +
    60  * @param sampleRate Sample rate of outputted audio.
    +
    61  * @param sharedMemAudioOffset Offset to write audio data to in the shared memory buffer.
    +
    62  * @param sharedMemAudioSize Size of audio data to write to the shared memory buffer. This should be at most "bufferSize - 4".
    +
    63  * @param loop Whether to loop back to the beginning of the buffer when the end is reached.
    +
    64  */
    +
    65 Result MICU_StartSampling(MICU_Encoding encoding, MICU_SampleRate sampleRate, u32 offset, u32 size, bool loop);
    +
    66 
    +
    67 /**
    +
    68  * @brief Adjusts the configuration of the current sampling session.
    +
    69  * @param sampleRate Sample rate of outputted audio.
    +
    70  */
    + +
    72 
    +
    73 /// Stops sampling microphone input.
    + +
    75 
    +
    76 /**
    +
    77  * @brief Gets whether microphone input is currently being sampled.
    +
    78  * @param sampling Pointer to output the sampling state to.
    +
    79  */
    +
    80 Result MICU_IsSampling(bool* sampling);
    +
    81 
    +
    82 /**
    +
    83  * @brief Gets an event handle triggered when the shared memory buffer is full.
    +
    84  * @param handle Pointer to output the event handle to.
    +
    85  */
    + +
    87 
    +
    88 /**
    +
    89  * @brief Sets the microphone's gain.
    +
    90  * @param gain Gain to set.
    +
    91  */
    + +
    93 
    +
    94 /**
    +
    95  * @brief Gets the microphone's gain.
    +
    96  * @param gain Pointer to output the current gain to.
    +
    97  */
    + +
    99 
    +
    100 /**
    +
    101  * @brief Sets whether the microphone is powered on.
    +
    102  * @param power Whether the microphone is powered on.
    +
    103  */
    +
    104 Result MICU_SetPower(bool power);
    +
    105 
    +
    106 /**
    +
    107  * @brief Gets whether the microphone is powered on.
    +
    108  * @param power Pointer to output the power state to.
    +
    109  */
    +
    110 Result MICU_GetPower(bool* power);
    +
    111 
    +
    112 /**
    +
    113  * @brief Sets whether to clamp microphone input.
    +
    114  * @param clamp Whether to clamp microphone input.
    +
    115  */
    +
    116 Result MICU_SetClamp(bool clamp);
    +
    117 
    +
    118 /**
    +
    119  * @brief Gets whether to clamp microphone input.
    +
    120  * @param clamp Pointer to output the clamp state to.
    +
    121  */
    +
    122 Result MICU_GetClamp(bool* clamp);
    +
    123 
    +
    124 /**
    +
    125  * @brief Sets whether to allow sampling when the shell is closed.
    +
    126  * @param allowShellClosed Whether to allow sampling when the shell is closed.
    +
    127  */
    +
    128 Result MICU_SetAllowShellClosed(bool allowShellClosed);
    +
    Result micInit(u8 *buffer, u32 bufferSize)
    Initializes MIC.
    +
    u32 micGetSampleDataSize(void)
    Gets the size of the sample data area within the shared memory buffer.
    +
    Result MICU_SetClamp(bool clamp)
    Sets whether to clamp microphone input.
    +
    Result MICU_SetGain(u8 gain)
    Sets the microphone's gain.
    +
    Result MICU_GetPower(bool *power)
    Gets whether the microphone is powered on.
    +
    Result MICU_SetPower(bool power)
    Sets whether the microphone is powered on.
    +
    Result MICU_MapSharedMem(u32 size, Handle handle)
    Maps MIC shared memory.
    +
    MICU_Encoding
    Microphone audio encodings.
    Definition: mic.h:9
    +
    @ MICU_ENCODING_PCM16
    Unsigned 16-bit PCM.
    Definition: mic.h:11
    +
    @ MICU_ENCODING_PCM8
    Unsigned 8-bit PCM.
    Definition: mic.h:10
    +
    @ MICU_ENCODING_PCM8_SIGNED
    Signed 8-bit PCM.
    Definition: mic.h:12
    +
    @ MICU_ENCODING_PCM16_SIGNED
    Signed 16-bit PCM.
    Definition: mic.h:13
    +
    Result MICU_IsSampling(bool *sampling)
    Gets whether microphone input is currently being sampled.
    +
    void micExit(void)
    Exits MIC.
    +
    Result MICU_StartSampling(MICU_Encoding encoding, MICU_SampleRate sampleRate, u32 offset, u32 size, bool loop)
    Begins sampling microphone input.
    +
    Result MICU_StopSampling(void)
    Stops sampling microphone input.
    +
    Result MICU_GetEventHandle(Handle *handle)
    Gets an event handle triggered when the shared memory buffer is full.
    +
    Result MICU_SetAllowShellClosed(bool allowShellClosed)
    Sets whether to allow sampling when the shell is closed.
    +
    u32 micGetLastSampleOffset(void)
    Gets the offset within the shared memory buffer of the last sample written.
    +
    Result MICU_UnmapSharedMem(void)
    Unmaps MIC shared memory.
    +
    Result MICU_GetGain(u8 *gain)
    Gets the microphone's gain.
    +
    MICU_SampleRate
    Microphone audio sampling rates.
    Definition: mic.h:18
    +
    @ MICU_SAMPLE_RATE_16360
    16364.479 Hz
    Definition: mic.h:20
    +
    @ MICU_SAMPLE_RATE_8180
    8182.1245 Hz
    Definition: mic.h:22
    +
    @ MICU_SAMPLE_RATE_32730
    32728.498 Hz
    Definition: mic.h:19
    +
    @ MICU_SAMPLE_RATE_10910
    10909.499 Hz
    Definition: mic.h:21
    +
    Result MICU_GetClamp(bool *clamp)
    Gets whether to clamp microphone input.
    +
    Result MICU_AdjustSampling(MICU_SampleRate sampleRate)
    Adjusts the configuration of the current sampling session.
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/mii_8h.html b/mii_8h.html new file mode 100644 index 000000000..d1784f08d --- /dev/null +++ b/mii_8h.html @@ -0,0 +1,97 @@ + + + + + + + +libctru: include/3ds/mii.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    mii.h File Reference
    +
    +
    + +

    Shared Mii struct. +More...

    +
    #include <3ds/types.h>
    +
    +

    Go to the source code of this file.

    + + + + + +

    +Data Structures

    struct  MiiData
     Shared Mii struct. More...
     
    +

    Detailed Description

    +

    Shared Mii struct.

    +
    See also
    https://www.3dbrew.org/wiki/Mii#Mii_format
    +
    + + + + diff --git a/mii_8h_source.html b/mii_8h_source.html new file mode 100644 index 000000000..a4675c991 --- /dev/null +++ b/mii_8h_source.html @@ -0,0 +1,266 @@ + + + + + + + +libctru: include/3ds/mii.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    mii.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file mii.h
    +
    3  * @brief Shared Mii struct.
    +
    4  *
    +
    5  * @see https://www.3dbrew.org/wiki/Mii#Mii_format
    +
    6  */
    +
    7 #pragma once
    +
    8 
    +
    9 #include <3ds/types.h>
    +
    10 
    +
    11 /// Shared Mii struct
    +
    12 typedef struct
    +
    13 {
    +
    14  u8 magic; ///< Always 3?
    +
    15 
    +
    16  /// Mii options
    +
    17  struct
    +
    18  {
    +
    19  bool allow_copying : 1; ///< True if copying is allowed
    +
    20  bool is_private_name : 1; ///< Private name?
    +
    21  u8 region_lock : 2; ///< Region lock (0=no lock, 1=JPN, 2=USA, 3=EUR)
    +
    22  u8 char_set : 2; ///< Character set (0=JPN+USA+EUR, 1=CHN, 2=KOR, 3=TWN)
    +
    23  } mii_options;
    +
    24 
    +
    25  /// Mii position in Mii selector or Mii maker
    +
    26  struct
    +
    27  {
    +
    28  u8 page_index : 4; ///< Page index of Mii
    +
    29  u8 slot_index : 4; ///< Slot offset of Mii on its Page
    +
    30  } mii_pos;
    +
    31 
    +
    32  /// Console Identity
    +
    33  struct
    +
    34  {
    +
    35  u8 unknown0 : 4; ///< Mabye padding (always seems to be 0)?
    +
    36  u8 origin_console : 3; ///< Console that the Mii was created on (1=WII, 2=DSI, 3=3DS)
    +
    37  } console_identity;
    +
    38 
    +
    39  u64 system_id; ///< Identifies the system that the Mii was created on (Determines pants)
    +
    40  u32 mii_id; ///< ID of Mii
    +
    41  u8 mac[6]; ///< Creator's system's full MAC address
    +
    42  u8 pad[2]; ///< Padding
    +
    43 
    +
    44  /// Mii details
    +
    45  struct {
    +
    46  bool sex : 1; ///< Sex of Mii (False=Male, True=Female)
    +
    47  u16 bday_month : 4; ///< Month of Mii's birthday
    +
    48  u16 bday_day : 5; ///< Day of Mii's birthday
    +
    49  u16 shirt_color : 4; ///< Color of Mii's shirt
    +
    50  bool favorite : 1; ///< Whether the Mii is one of your 10 favorite Mii's
    +
    51  } mii_details;
    +
    52 
    +
    53  u16 mii_name[10]; ///< Name of Mii (Encoded using UTF16)
    +
    54  u8 height; ///< How tall the Mii is
    +
    55  u8 width; ///< How wide the Mii is
    +
    56 
    +
    57  /// Face style
    +
    58  struct
    +
    59  {
    +
    60  bool disable_sharing : 1; ///< Whether or not Sharing of the Mii is allowed
    +
    61  u8 shape : 4; ///< Face shape
    +
    62  u8 skinColor : 3; ///< Color of skin
    +
    63  } face_style;
    +
    64 
    +
    65  /// Face details
    +
    66  struct
    +
    67  {
    +
    68  u8 wrinkles : 4;
    +
    69  u8 makeup : 4;
    +
    70  } face_details;
    +
    71 
    +
    72  u8 hair_style;
    +
    73 
    +
    74  /// Hair details
    +
    75  struct
    +
    76  {
    +
    77  u8 color : 3;
    +
    78  bool flip : 1;
    +
    79  } hair_details;
    +
    80 
    +
    81  /// Eye details
    +
    82  struct
    +
    83  {
    +
    84  u32 style : 6;
    +
    85  u32 color : 3;
    +
    86  u32 scale : 4;
    +
    87  u32 yscale : 3;
    +
    88  u32 rotation : 5;
    +
    89  u32 xspacing : 4;
    +
    90  u32 yposition : 5;
    +
    91  } eye_details;
    +
    92 
    +
    93  /// Eyebrow details
    +
    94  struct
    +
    95  {
    +
    96  u32 style : 5;
    +
    97  u32 color : 3;
    +
    98  u32 scale : 4;
    +
    99  u32 yscale : 3;
    +
    100  u32 pad : 1;
    +
    101  u32 rotation : 5;
    +
    102  u32 xspacing : 4;
    +
    103  u32 yposition : 5;
    +
    104  } eyebrow_details;
    +
    105 
    +
    106  /// Nose details
    +
    107  struct
    +
    108  {
    +
    109  u16 style : 5;
    +
    110  u16 scale : 4;
    +
    111  u16 yposition : 5;
    +
    112  } nose_details;
    +
    113 
    +
    114  /// Mouth details
    +
    115  struct
    +
    116  {
    +
    117  u16 style : 6;
    +
    118  u16 color : 3;
    +
    119  u16 scale : 4;
    +
    120  u16 yscale : 3;
    +
    121  } mouth_details;
    +
    122 
    +
    123  /// Mustache details
    +
    124  struct
    +
    125  {
    +
    126  u16 mouth_yposition : 5;
    +
    127  u16 mustach_style : 3;
    +
    128  u16 pad : 2;
    +
    129  } mustache_details;
    +
    130 
    +
    131  /// Beard details
    +
    132  struct
    +
    133  {
    +
    134  u16 style : 3;
    +
    135  u16 color : 3;
    +
    136  u16 scale : 4;
    +
    137  u16 ypos : 5;
    +
    138  } beard_details;
    +
    139 
    +
    140  /// Glasses details
    +
    141  struct
    +
    142  {
    +
    143  u16 style : 4;
    +
    144  u16 color : 3;
    +
    145  u16 scale : 4;
    +
    146  u16 ypos : 5;
    +
    147  } glasses_details;
    +
    148 
    +
    149  /// Mole details
    +
    150  struct
    +
    151  {
    +
    152  bool enable : 1;
    +
    153  u16 scale : 5;
    +
    154  u16 xpos : 5;
    +
    155  u16 ypos : 5;
    +
    156  } mole_details;
    +
    157 
    +
    158  u16 author_name[10]; ///< Name of Mii's author (Encoded using UTF16)
    + +
    Shared Mii struct.
    Definition: mii.h:13
    +
    bool favorite
    Whether the Mii is one of your 10 favorite Mii's.
    Definition: mii.h:50
    +
    bool is_private_name
    Private name?
    Definition: mii.h:20
    +
    u8 skinColor
    Color of skin.
    Definition: mii.h:62
    +
    u8 slot_index
    Slot offset of Mii on its Page.
    Definition: mii.h:29
    +
    u8 width
    How wide the Mii is.
    Definition: mii.h:55
    +
    u8 shape
    Face shape.
    Definition: mii.h:61
    +
    u8 magic
    Always 3?
    Definition: mii.h:14
    +
    u8 height
    How tall the Mii is.
    Definition: mii.h:54
    +
    u64 system_id
    Identifies the system that the Mii was created on (Determines pants)
    Definition: mii.h:39
    +
    u32 mii_id
    ID of Mii.
    Definition: mii.h:40
    +
    u8 page_index
    Page index of Mii.
    Definition: mii.h:28
    +
    u16 shirt_color
    Color of Mii's shirt.
    Definition: mii.h:49
    +
    bool disable_sharing
    Whether or not Sharing of the Mii is allowed.
    Definition: mii.h:60
    +
    u16 bday_month
    Month of Mii's birthday.
    Definition: mii.h:47
    +
    u16 bday_day
    Day of Mii's birthday.
    Definition: mii.h:48
    +
    u8 origin_console
    Console that the Mii was created on (1=WII, 2=DSI, 3=3DS)
    Definition: mii.h:36
    +
    u8 char_set
    Character set (0=JPN+USA+EUR, 1=CHN, 2=KOR, 3=TWN)
    Definition: mii.h:22
    +
    bool allow_copying
    True if copying is allowed.
    Definition: mii.h:19
    +
    u8 unknown0
    Mabye padding (always seems to be 0)?
    Definition: mii.h:35
    +
    u8 region_lock
    Region lock (0=no lock, 1=JPN, 2=USA, 3=EUR)
    Definition: mii.h:21
    +
    bool sex
    Sex of Mii (False=Male, True=Female)
    Definition: mii.h:46
    +
    Various system types.
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    #define CTR_PACKED
    Packs a struct (and other types?) so it won't include padding bytes.
    Definition: types.h:52
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    uint16_t u16
    16-bit unsigned integer
    Definition: types.h:22
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/miiselector_8h.html b/miiselector_8h.html new file mode 100644 index 000000000..4f1d5358a --- /dev/null +++ b/miiselector_8h.html @@ -0,0 +1,652 @@ + + + + + + + +libctru: include/3ds/applets/miiselector.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    miiselector.h File Reference
    +
    +
    + +

    Mii Selector Applet (appletEd). +More...

    +
    #include <3ds/types.h>
    +#include <3ds/mii.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + +

    +Data Structures

    struct  MiiSelectorConf
     Parameter structure passed to AppletEd. More...
     
    struct  MiiSelectorReturn
     Structure written by AppletEd. More...
     
    + + + + + + + + + + + + + + + + +

    +Macros

    +#define MIISELECTOR_MAGIC   0x13DE28CF
     Magic value needed to launch the applet.
     
    +#define MIISELECTOR_TITLE_LEN   64
     Maximum length of title to be displayed at the top of the Mii selector applet.
     
    +#define MIISELECTOR_GUESTMII_SLOTS   6
     Number of Guest Miis available for selection.
     
    +#define MIISELECTOR_USERMII_SLOTS   100
     Maximum number of user Miis available for selection.
     
    +#define MIISELECTOR_GUESTMII_NAME_LEN   12
     Maximum length of the localized name of a Guest Mii.
     
    + + + + +

    +Enumerations

    enum  {
    +  MIISELECTOR_CANCEL = BIT(0) +,
    +  MIISELECTOR_GUESTS = BIT(1) +,
    +  MIISELECTOR_TOP = BIT(2) +,
    +  MIISELECTOR_GUESTSTART = BIT(3) +
    + }
     AppletEd options. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    void miiSelectorInit (MiiSelectorConf *conf)
     Initialize Mii selector config. More...
     
    void miiSelectorLaunch (const MiiSelectorConf *conf, MiiSelectorReturn *returnbuf)
     Launch the Mii selector library applet. More...
     
    void miiSelectorSetTitle (MiiSelectorConf *conf, const char *text)
     Sets title of the Mii selector library applet. More...
     
    void miiSelectorSetOptions (MiiSelectorConf *conf, u32 options)
     Specifies which special options are enabled in the Mii selector. More...
     
    void miiSelectorWhitelistGuestMii (MiiSelectorConf *conf, u32 index)
     Specifies which guest Miis will be selectable. More...
     
    void miiSelectorBlacklistGuestMii (MiiSelectorConf *conf, u32 index)
     Specifies which guest Miis will be unselectable. More...
     
    void miiSelectorWhitelistUserMii (MiiSelectorConf *conf, u32 index)
     Specifies which user Miis will be selectable. More...
     
    void miiSelectorBlacklistUserMii (MiiSelectorConf *conf, u32 index)
     Specifies which user Miis will be selectable. More...
     
    static void miiSelectorSetInitialIndex (MiiSelectorConf *conf, u32 index)
     Specifies which Mii the cursor should start from. More...
     
    void miiSelectorReturnGetName (const MiiSelectorReturn *returnbuf, char *out, size_t max_size)
     Get Mii name. More...
     
    void miiSelectorReturnGetAuthor (const MiiSelectorReturn *returnbuf, char *out, size_t max_size)
     Get Mii Author. More...
     
    bool miiSelectorChecksumIsValid (const MiiSelectorReturn *returnbuf)
     Verifies that the Mii data returned from the applet matches its checksum. More...
     
    +

    Detailed Description

    +

    Mii Selector Applet (appletEd).

    +

    Enumeration Type Documentation

    + +

    ◆ anonymous enum

    + +
    +
    + + + + +
    anonymous enum
    +
    + +

    AppletEd options.

    + + + + + +
    Enumerator
    MIISELECTOR_CANCEL 

    Show the cancel button.

    +
    MIISELECTOR_GUESTS 

    Make Guets Miis selectable.

    +
    MIISELECTOR_TOP 

    Show AppletEd on top screen.

    +
    MIISELECTOR_GUESTSTART 

    Start on guest page.

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ miiSelectorBlacklistGuestMii()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void miiSelectorBlacklistGuestMii (MiiSelectorConfconf,
    u32 index 
    )
    +
    + +

    Specifies which guest Miis will be unselectable.

    +
    Parameters
    + + + +
    confPointer to miiSelector configuration
    indexIndex of the guest Miis that will be blacklisted. MIISELECTOR_GUESTMII_SLOTS can be used to blacklist all the guest Miis.
    +
    +
    + +
    +
    + +

    ◆ miiSelectorBlacklistUserMii()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void miiSelectorBlacklistUserMii (MiiSelectorConfconf,
    u32 index 
    )
    +
    + +

    Specifies which user Miis will be selectable.

    +
    Parameters
    + + + +
    confPointer to miiSelector configuration
    indexIndex of the user Miis that will be blacklisted. MIISELECTOR_USERMII_SLOTS can be used to blacklist all the user Miis
    +
    +
    + +
    +
    + +

    ◆ miiSelectorChecksumIsValid()

    + +
    +
    + + + + + + + + +
    bool miiSelectorChecksumIsValid (const MiiSelectorReturnreturnbuf)
    +
    + +

    Verifies that the Mii data returned from the applet matches its checksum.

    +
    Parameters
    + + +
    returnbufBuffer filled by Mii selector applet
    +
    +
    +
    Returns
    true if returnbuf->checksum is the same as the one computed from returnbuf
    + +
    +
    + +

    ◆ miiSelectorInit()

    + +
    +
    + + + + + + + + +
    void miiSelectorInit (MiiSelectorConfconf)
    +
    + +

    Initialize Mii selector config.

    +
    Parameters
    + + +
    confPointer to Miiselector config.
    +
    +
    + +
    +
    + +

    ◆ miiSelectorLaunch()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void miiSelectorLaunch (const MiiSelectorConfconf,
    MiiSelectorReturnreturnbuf 
    )
    +
    + +

    Launch the Mii selector library applet.

    +
    Parameters
    + + +
    confConfiguration determining how the applet should behave
    +
    +
    + +
    +
    + +

    ◆ miiSelectorReturnGetAuthor()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void miiSelectorReturnGetAuthor (const MiiSelectorReturnreturnbuf,
    char * out,
    size_t max_size 
    )
    +
    + +

    Get Mii Author.

    +
    Parameters
    + + + + +
    returnbufPointer to miiSelector return
    outString containing a Mii's author
    max_sizeSize of string. Since UTF8 characters range in size from 1-3 bytes (assuming that no non-BMP characters are used), this value should be 30.
    +
    +
    + +
    +
    + +

    ◆ miiSelectorReturnGetName()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void miiSelectorReturnGetName (const MiiSelectorReturnreturnbuf,
    char * out,
    size_t max_size 
    )
    +
    + +

    Get Mii name.

    +
    Parameters
    + + + + +
    returnbufPointer to miiSelector return
    outString containing a Mii's name
    max_sizeSize of string. Since UTF8 characters range in size from 1-3 bytes (assuming that no non-BMP characters are used), this value should be 36 (or 30 if you are not dealing with guest miis).
    +
    +
    + +
    +
    + +

    ◆ miiSelectorSetInitialIndex()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void miiSelectorSetInitialIndex (MiiSelectorConfconf,
    u32 index 
    )
    +
    +inlinestatic
    +
    + +

    Specifies which Mii the cursor should start from.

    +
    Parameters
    + + + +
    confPointer to miiSelector configuration
    indexIndexed number of the Mii that the cursor will start on. If there is no mii with that index, the the cursor will start at the Mii with the index 0 (the personal Mii).
    +
    +
    + +
    +
    + +

    ◆ miiSelectorSetOptions()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void miiSelectorSetOptions (MiiSelectorConfconf,
    u32 options 
    )
    +
    + +

    Specifies which special options are enabled in the Mii selector.

    +
    Parameters
    + + + +
    confPointer to miiSelector configuration
    optionsOptions bitmask
    +
    +
    + +
    +
    + +

    ◆ miiSelectorSetTitle()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void miiSelectorSetTitle (MiiSelectorConfconf,
    const char * text 
    )
    +
    + +

    Sets title of the Mii selector library applet.

    +
    Parameters
    + + + +
    confPointer to miiSelector configuration
    textTitle text of Mii selector
    +
    +
    + +
    +
    + +

    ◆ miiSelectorWhitelistGuestMii()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void miiSelectorWhitelistGuestMii (MiiSelectorConfconf,
    u32 index 
    )
    +
    + +

    Specifies which guest Miis will be selectable.

    +
    Parameters
    + + + +
    confPointer to miiSelector configuration
    indexIndex of the guest Miis that will be whitelisted. MIISELECTOR_GUESTMII_SLOTS can be used to whitelist all the guest Miis.
    +
    +
    + +
    +
    + +

    ◆ miiSelectorWhitelistUserMii()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void miiSelectorWhitelistUserMii (MiiSelectorConfconf,
    u32 index 
    )
    +
    + +

    Specifies which user Miis will be selectable.

    +
    Parameters
    + + + +
    confPointer to miiSelector configuration
    indexIndex of the user Miis that will be whitelisted. MIISELECTOR_USERMII_SLOTS can be used to whitlist all the user Miis
    +
    +
    + +
    +
    +
    + + + + diff --git a/miiselector_8h_source.html b/miiselector_8h_source.html new file mode 100644 index 000000000..d8544ac4a --- /dev/null +++ b/miiselector_8h_source.html @@ -0,0 +1,307 @@ + + + + + + + +libctru: include/3ds/applets/miiselector.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    miiselector.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file miiselector.h
    +
    3  * @brief Mii Selector Applet (appletEd).
    +
    4  */
    +
    5 
    +
    6 #pragma once
    +
    7 #include <3ds/types.h>
    +
    8 #include <3ds/mii.h>
    +
    9 
    +
    10 /// Magic value needed to launch the applet.
    +
    11 #define MIISELECTOR_MAGIC 0x13DE28CF
    +
    12 
    +
    13 /// Maximum length of title to be displayed at the top of the Mii selector applet
    +
    14 #define MIISELECTOR_TITLE_LEN 64
    +
    15 
    +
    16 /// Number of Guest Miis available for selection
    +
    17 #define MIISELECTOR_GUESTMII_SLOTS 6
    +
    18 
    +
    19 /// Maximum number of user Miis available for selection
    +
    20 #define MIISELECTOR_USERMII_SLOTS 100
    +
    21 
    +
    22 /// Parameter structure passed to AppletEd
    +
    23 typedef struct
    +
    24 {
    +
    25  u8 enable_cancel_button; ///< Enables canceling of selection if nonzero.
    +
    26  u8 enable_selecting_guests; ///< Makes Guets Miis selectable if nonzero.
    +
    27  u8 show_on_top_screen; ///< Shows applet on top screen if nonzero,
    +
    28  ///< otherwise show it on the bottom screen.
    +
    29  u8 _unk0x3[5]; ///< @private
    +
    30  u16 title[MIISELECTOR_TITLE_LEN]; ///< UTF16-LE string displayed at the top of the applet. If
    +
    31  ///< set to the empty string, a default title is displayed.
    +
    32  u8 _unk0x88[4]; ///< @private
    +
    33  u8 show_guest_page; ///< If nonzero, the applet shows a page with Guest
    +
    34  ///< Miis on launch.
    +
    35  u8 _unk0x8D[3]; ///< @private
    +
    36  u32 initial_index; ///< Index of the initially selected Mii. If
    +
    37  ///< @ref MiiSelectorConf.show_guest_page is
    +
    38  ///< set, this is the index of a Guest Mii,
    +
    39  ///< otherwise that of a user Mii.
    +
    40  u8 mii_guest_whitelist[MIISELECTOR_GUESTMII_SLOTS]; ///< Each byte set to a nonzero value
    +
    41  ///< enables its corresponding Guest
    +
    42  ///< Mii to be enabled for selection.
    +
    43  u8 mii_whitelist[MIISELECTOR_USERMII_SLOTS]; ///< Each byte set to a nonzero value enables
    +
    44  ///< its corresponding user Mii to be enabled
    +
    45  ///< for selection.
    +
    46  u16 _unk0xFE; ///< @private
    +
    47  u32 magic; ///< Will be set to @ref MIISELECTOR_MAGIC before launching the
    +
    48  ///< applet.
    + +
    50 
    +
    51 /// Maximum length of the localized name of a Guest Mii
    +
    52 #define MIISELECTOR_GUESTMII_NAME_LEN 12
    +
    53 
    +
    54 /// Structure written by AppletEd
    +
    55 typedef struct
    +
    56 {
    +
    57  u32 no_mii_selected; ///< 0 if a Mii was selected, 1 if the selection was
    +
    58  ///< canceled.
    +
    59  u32 guest_mii_was_selected; ///< 1 if a Guest Mii was selected, 0 otherwise.
    +
    60  u32 guest_mii_index; ///< Index of the selected Guest Mii,
    +
    61  ///< 0xFFFFFFFF if no guest was selected.
    +
    62  MiiData mii; ///< Data of selected Mii.
    +
    63  u16 _pad0x68; ///< @private
    +
    64  u16 checksum; ///< Checksum of the returned Mii data.
    +
    65  ///< Stored as a big-endian value; use
    +
    66  ///< @ref miiSelectorChecksumIsValid to
    +
    67  ///< verify.
    +
    68  u16 guest_mii_name[MIISELECTOR_GUESTMII_NAME_LEN]; ///< Localized name of a Guest Mii,
    +
    69  ///< if one was selected (UTF16-LE
    +
    70  ///< string). Zeroed otherwise.
    + +
    72 
    +
    73 /// AppletEd options
    +
    74 enum
    +
    75 {
    +
    76  MIISELECTOR_CANCEL = BIT(0), ///< Show the cancel button
    +
    77  MIISELECTOR_GUESTS = BIT(1), ///< Make Guets Miis selectable
    +
    78  MIISELECTOR_TOP = BIT(2), ///< Show AppletEd on top screen
    +
    79  MIISELECTOR_GUESTSTART = BIT(3), ///< Start on guest page
    +
    80 };
    +
    81 
    +
    82 /**
    +
    83  * @brief Initialize Mii selector config
    +
    84  * @param conf Pointer to Miiselector config.
    +
    85  */
    + +
    87 
    +
    88 /**
    +
    89  * @brief Launch the Mii selector library applet
    +
    90  *
    +
    91  * @param conf Configuration determining how the applet should behave
    +
    92  */
    +
    93 void miiSelectorLaunch(const MiiSelectorConf *conf, MiiSelectorReturn* returnbuf);
    +
    94 
    +
    95 /**
    +
    96  * @brief Sets title of the Mii selector library applet
    +
    97  *
    +
    98  * @param conf Pointer to miiSelector configuration
    +
    99  * @param text Title text of Mii selector
    +
    100  */
    +
    101 void miiSelectorSetTitle(MiiSelectorConf *conf, const char* text);
    +
    102 
    +
    103 /**
    +
    104  * @brief Specifies which special options are enabled in the Mii selector
    +
    105  *
    +
    106  * @param conf Pointer to miiSelector configuration
    +
    107  * @param options Options bitmask
    +
    108  */
    + +
    110 
    +
    111 /**
    +
    112  * @brief Specifies which guest Miis will be selectable
    +
    113  *
    +
    114  * @param conf Pointer to miiSelector configuration
    +
    115  * @param index Index of the guest Miis that will be whitelisted.
    +
    116  * @ref MIISELECTOR_GUESTMII_SLOTS can be used to whitelist all the guest Miis.
    +
    117  */
    + +
    119 
    +
    120 /**
    +
    121  * @brief Specifies which guest Miis will be unselectable
    +
    122  *
    +
    123  * @param conf Pointer to miiSelector configuration
    +
    124  * @param index Index of the guest Miis that will be blacklisted.
    +
    125  * @ref MIISELECTOR_GUESTMII_SLOTS can be used to blacklist all the guest Miis.
    +
    126  */
    + +
    128 
    +
    129 /**
    +
    130  * @brief Specifies which user Miis will be selectable
    +
    131  *
    +
    132  * @param conf Pointer to miiSelector configuration
    +
    133  * @param index Index of the user Miis that will be whitelisted.
    +
    134  * @ref MIISELECTOR_USERMII_SLOTS can be used to whitlist all the user Miis
    +
    135  */
    + +
    137 
    +
    138 /**
    +
    139  * @brief Specifies which user Miis will be selectable
    +
    140  *
    +
    141  * @param conf Pointer to miiSelector configuration
    +
    142  * @param index Index of the user Miis that will be blacklisted.
    +
    143  * @ref MIISELECTOR_USERMII_SLOTS can be used to blacklist all the user Miis
    +
    144  */
    + +
    146 
    +
    147 /**
    +
    148  * @brief Specifies which Mii the cursor should start from
    +
    149  *
    +
    150  * @param conf Pointer to miiSelector configuration
    +
    151  * @param index Indexed number of the Mii that the cursor will start on.
    +
    152  * If there is no mii with that index, the the cursor will start at the Mii
    +
    153  * with the index 0 (the personal Mii).
    +
    154  */
    +
    155 static inline void miiSelectorSetInitialIndex(MiiSelectorConf *conf, u32 index)
    +
    156 {
    +
    157  conf->initial_index = index;
    +
    158 }
    +
    159 
    +
    160 /**
    +
    161  * @brief Get Mii name
    +
    162  *
    +
    163  * @param returnbuf Pointer to miiSelector return
    +
    164  * @param out String containing a Mii's name
    +
    165  * @param max_size Size of string. Since UTF8 characters range in size from 1-3 bytes
    +
    166  * (assuming that no non-BMP characters are used), this value should be 36 (or 30 if you are not
    +
    167  * dealing with guest miis).
    +
    168  */
    +
    169 void miiSelectorReturnGetName(const MiiSelectorReturn *returnbuf, char* out, size_t max_size);
    +
    170 
    +
    171 /**
    +
    172  * @brief Get Mii Author
    +
    173  *
    +
    174  * @param returnbuf Pointer to miiSelector return
    +
    175  * @param out String containing a Mii's author
    +
    176  * @param max_size Size of string. Since UTF8 characters range in size from 1-3 bytes
    +
    177  * (assuming that no non-BMP characters are used), this value should be 30.
    +
    178  */
    +
    179 void miiSelectorReturnGetAuthor(const MiiSelectorReturn *returnbuf, char* out, size_t max_size);
    +
    180 
    +
    181 /**
    +
    182  * @brief Verifies that the Mii data returned from the applet matches its
    +
    183  * checksum
    +
    184  *
    +
    185  * @param returnbuf Buffer filled by Mii selector applet
    +
    186  * @return `true` if `returnbuf->checksum` is the same as the one computed from `returnbuf`
    +
    187  */
    + +
    Shared Mii struct.
    +
    void miiSelectorWhitelistUserMii(MiiSelectorConf *conf, u32 index)
    Specifies which user Miis will be selectable.
    +
    void miiSelectorBlacklistGuestMii(MiiSelectorConf *conf, u32 index)
    Specifies which guest Miis will be unselectable.
    +
    static void miiSelectorSetInitialIndex(MiiSelectorConf *conf, u32 index)
    Specifies which Mii the cursor should start from.
    Definition: miiselector.h:155
    +
    #define MIISELECTOR_TITLE_LEN
    Maximum length of title to be displayed at the top of the Mii selector applet.
    Definition: miiselector.h:14
    +
    void miiSelectorReturnGetName(const MiiSelectorReturn *returnbuf, char *out, size_t max_size)
    Get Mii name.
    +
    void miiSelectorLaunch(const MiiSelectorConf *conf, MiiSelectorReturn *returnbuf)
    Launch the Mii selector library applet.
    +
    #define MIISELECTOR_GUESTMII_SLOTS
    Number of Guest Miis available for selection.
    Definition: miiselector.h:17
    +
    void miiSelectorSetOptions(MiiSelectorConf *conf, u32 options)
    Specifies which special options are enabled in the Mii selector.
    +
    void miiSelectorSetTitle(MiiSelectorConf *conf, const char *text)
    Sets title of the Mii selector library applet.
    +
    #define MIISELECTOR_USERMII_SLOTS
    Maximum number of user Miis available for selection.
    Definition: miiselector.h:20
    +
    void miiSelectorBlacklistUserMii(MiiSelectorConf *conf, u32 index)
    Specifies which user Miis will be selectable.
    +
    @ MIISELECTOR_GUESTSTART
    Start on guest page.
    Definition: miiselector.h:79
    +
    @ MIISELECTOR_TOP
    Show AppletEd on top screen.
    Definition: miiselector.h:78
    +
    @ MIISELECTOR_CANCEL
    Show the cancel button.
    Definition: miiselector.h:76
    +
    @ MIISELECTOR_GUESTS
    Make Guets Miis selectable.
    Definition: miiselector.h:77
    +
    void miiSelectorWhitelistGuestMii(MiiSelectorConf *conf, u32 index)
    Specifies which guest Miis will be selectable.
    +
    void miiSelectorInit(MiiSelectorConf *conf)
    Initialize Mii selector config.
    +
    void miiSelectorReturnGetAuthor(const MiiSelectorReturn *returnbuf, char *out, size_t max_size)
    Get Mii Author.
    +
    bool miiSelectorChecksumIsValid(const MiiSelectorReturn *returnbuf)
    Verifies that the Mii data returned from the applet matches its checksum.
    +
    #define MIISELECTOR_GUESTMII_NAME_LEN
    Maximum length of the localized name of a Guest Mii.
    Definition: miiselector.h:52
    +
    Shared Mii struct.
    Definition: mii.h:13
    +
    Parameter structure passed to AppletEd.
    Definition: miiselector.h:24
    +
    u8 enable_selecting_guests
    Makes Guets Miis selectable if nonzero.
    Definition: miiselector.h:26
    +
    u8 show_guest_page
    If nonzero, the applet shows a page with Guest Miis on launch.
    Definition: miiselector.h:33
    +
    u32 magic
    Will be set to MIISELECTOR_MAGIC before launching the applet.
    Definition: miiselector.h:47
    +
    u8 enable_cancel_button
    Enables canceling of selection if nonzero.
    Definition: miiselector.h:25
    +
    u8 show_on_top_screen
    Shows applet on top screen if nonzero, otherwise show it on the bottom screen.
    Definition: miiselector.h:27
    +
    u32 initial_index
    Index of the initially selected Mii.
    Definition: miiselector.h:36
    +
    Structure written by AppletEd.
    Definition: miiselector.h:56
    +
    u32 no_mii_selected
    0 if a Mii was selected, 1 if the selection was canceled.
    Definition: miiselector.h:57
    +
    u32 guest_mii_was_selected
    1 if a Guest Mii was selected, 0 otherwise.
    Definition: miiselector.h:59
    +
    MiiData mii
    Data of selected Mii.
    Definition: miiselector.h:62
    +
    u16 checksum
    Checksum of the returned Mii data.
    Definition: miiselector.h:64
    +
    u32 guest_mii_index
    Index of the selected Guest Mii, 0xFFFFFFFF if no guest was selected.
    Definition: miiselector.h:60
    +
    Various system types.
    +
    #define BIT(n)
    Creates a bitmask from a bit number.
    Definition: types.h:47
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    uint16_t u16
    16-bit unsigned integer
    Definition: types.h:22
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/mvd_2source_2main_8c-example.html b/mvd_2source_2main_8c-example.html new file mode 100644 index 000000000..e117f6b36 --- /dev/null +++ b/mvd_2source_2main_8c-example.html @@ -0,0 +1,427 @@ + + + + + + + +libctru: mvd/source/main.c + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    mvd/source/main.c
    +
    +
    +
    #include <stdio.h>
    +
    #include <string.h>
    +
    +
    #include <3ds.h>
    +
    +
    u8* inaddr;
    +
    u8* outaddr;
    +
    +
    void mvd_colorconvert()
    +
    {
    +
    Result ret;
    +
    +
    FILE *f = NULL;
    +
    +
    u8* bufAdr = gfxGetFramebuffer(GFX_BOTTOM, GFX_LEFT, NULL, NULL);
    +
    u8* gfxtopadr = gfxGetFramebuffer(GFX_TOP, GFX_LEFT, NULL, NULL);
    +
    +
    MVDSTD_Config config;
    +
    +
    printf("mvd color-format-conversion example.\n");
    +
    +
    f = fopen("sdmc:/mvd_indata.bin", "r");
    +
    if(f)
    +
    {
    +
    fread(inaddr, 1, 0x46500, f);
    +
    fclose(f);
    +
    }
    +
    else
    +
    {
    +
    memcpy(inaddr, bufAdr, 320*240*3);
    +
    }
    +
    +
    memset(gfxtopadr, 0, 0x46500);
    +
    GSPGPU_FlushDataCache(inaddr, 0x46500);
    +
    GSPGPU_FlushDataCache(gfxtopadr, 0x46500);
    +
    + +
    printf("mvdstdInit(): 0x%08x\n", (unsigned int)ret);
    +
    +
    if(ret==0)
    +
    {
    +
    mvdstdGenerateDefaultConfig(&config, 320, 240, 320, 240, (u32*)inaddr, (u32*)outaddr, (u32*)&outaddr[0x12c00]);
    +
    +
    ret = mvdstdConvertImage(&config);
    +
    printf("mvdstdConvertImage(): 0x%08x\n", (unsigned int)ret);
    +
    }
    +
    +
    f = fopen("sdmc:/mvd_outdata.bin", "w");
    +
    if(f)
    +
    {
    +
    fwrite(outaddr, 1, 0x100000, f);
    +
    fclose(f);
    +
    }
    +
    +
    memcpy(gfxtopadr, outaddr, 0x46500);
    +
    + +
    + + + +
    }
    +
    +
    void mvd_video()
    +
    {
    +
    Result ret;
    +
    size_t video_size, nalunitsize;
    +
    u32 video_pos=0;
    +
    u32 cur_nalunit_pos=0, prev_nalunit_pos=0;
    +
    u32 nalcount=0;
    +
    u8 *video;
    +
    +
    u32 flagval=0;
    +
    +
    FILE *f = NULL;
    +
    +
    u8* gfxtopadr=NULL;
    +
    +
    MVDSTD_Config config;
    +
    +
    u32 prefix_offset;
    +
    u8 prefix[4] = {0x00, 0x00, 0x00, 0x01};
    +
    +
    printf("Loading video...\n");
    +
    +
    //This loads the entire video into memory, normally you'd use a library to stream it.
    +
    f = fopen("romfs:/video.h264", "r");
    +
    if(f==NULL)
    +
    {
    +
    printf("Faile to open the video in romfs.\n");
    +
    return;
    +
    }
    +
    +
    video = &inaddr[0x100000];
    +
    video_size = fread(video, 1, 0xF00000, f);
    +
    fclose(f);
    +
    +
    if(video_size==0 || video_size>=0xF00000)
    +
    {
    +
    printf("Failed to read video / video is too large.\n");
    +
    return;
    +
    }
    +
    + +
    printf("mvdstdInit(): 0x%08x\n", (unsigned int)ret);
    +
    if(ret!=0)return;
    +
    +
    printf("Processing 0x%08x-byte video...\n", (unsigned int)video_size);
    +
    +
    mvdstdGenerateDefaultConfig(&config, 240, 400, 240, 400, NULL, (u32*)outaddr, (u32*)outaddr);//Normally you'd set the input dimensions here to dimensions loaded from the actual video.
    +
    +
    //Normally you'd use a library to load each NAL-unit, this example just parses the data manually.
    +
    while(video_pos < video_size+1)
    +
    {
    +
    cur_nalunit_pos = video_pos;
    +
    video_pos++;
    +
    +
    prefix_offset = 1;
    +
    +
    if(cur_nalunit_pos<video_size)
    +
    {
    +
    /*
    +
    {
    +
    if(memcmp(&video[cur_nalunit_pos], &prefix[1], 3)==0 && cur_nalunit_pos==0x2dd)
    +
    {
    +
    prefix_offset = 0;
    +
    }
    +
    }
    +
    if(prefix_offset)*/
    +
    //else
    +
    {
    +
    if(memcmp(&video[cur_nalunit_pos], prefix, 4))
    +
    {
    +
    continue;
    +
    }
    +
    else
    +
    {
    +
    video_pos++;
    +
    }
    +
    }
    +
    }
    +
    +
    if(nalcount && prev_nalunit_pos!=cur_nalunit_pos)
    +
    {
    +
    nalunitsize = cur_nalunit_pos - prev_nalunit_pos - prefix_offset;
    +
    if(nalunitsize > 0x100000)
    +
    {
    +
    printf("The NAL-unit at offset 0x%08x is too large.\n", (unsigned int)nalunitsize);
    +
    break;
    +
    }
    +
    +
    memcpy(inaddr, &video[prev_nalunit_pos+prefix_offset], nalunitsize);
    +
    GSPGPU_FlushDataCache(inaddr, nalunitsize);
    +
    +
    MVDSTD_ProcessNALUnitOut tmpout;//Normally you don't really need to use this.
    +
    +
    //printf("Processing NAL-unit at offset 0x%08x size 0x%08x...\n", (unsigned int)prev_nalunit_pos, (unsigned int)nalunitsize);
    +
    ret = mvdstdProcessVideoFrame(inaddr, nalunitsize, flagval, &tmpout);
    + +
    {
    +
    printf("mvdstdProcessVideoFrame() at NAL-unit offset 0x%08x size 0x%08x returned: 0x%08x. remaining_size=0x%08x.\n", (unsigned int)prev_nalunit_pos, (unsigned int)nalunitsize, (unsigned int)ret, (unsigned int)tmpout.remaining_size);
    +
    break;
    +
    }
    +
    +
    if(ret!=MVD_STATUS_PARAMSET && ret!=MVD_STATUS_INCOMPLETEPROCESSING)
    +
    {
    +
    gfxtopadr = gfxGetFramebuffer(GFX_TOP, GFX_LEFT, NULL, NULL);
    + +
    +
    //This sets the MVD output to the framebuffer directly. This is to avoid doing the video->framebuffer image rotation on the ARM11.
    +
    //Normally you'd use a seperate MVD output buffer, then transfer that to the framebuffer(such as with GPU rendering).
    +
    +
    ret = mvdstdRenderVideoFrame(&config, true);
    +
    if(ret!=MVD_STATUS_OK)
    +
    {
    +
    printf("mvdstdRenderVideoFrame() at NAL-unit offset 0x%08x returned: 0x%08x\n", (unsigned int)prev_nalunit_pos, (unsigned int)ret);
    +
    break;
    +
    }
    +
    + +
    if(hidKeysDown() & KEY_B)break;
    +
    +
    //Enable/disable the flag passed to mvdstdProcessVideoFrame().
    + +
    {
    +
    flagval-= 0x1;
    +
    printf("0x%08x\n", (unsigned int)flagval);
    +
    }
    + +
    {
    +
    flagval+= 0x1;
    +
    printf("0x%08x\n", (unsigned int)flagval);
    +
    }
    +
    +
    //gspWaitForVBlank();//Can't use this under this example without a major slowdown. This is due to this example not doing any buffering for the frames.
    + +
    }
    +
    }
    +
    +
    nalcount++;
    +
    +
    prev_nalunit_pos = cur_nalunit_pos;
    +
    }
    +
    + +
    }
    +
    +
    int main()
    +
    {
    +
    Result ret=0;
    +
    +
    int draw=1;
    +
    int ready=0;
    +
    int type=0;
    +
    + + +
    +
    ret = romfsInit();
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("romfsInit() failed: 0x%08x\n", (unsigned int)ret);
    +
    ready = -1;
    +
    }
    +
    +
    if(ready==0)
    +
    {
    +
    inaddr = linearMemAlign(0x1000000, 0x40);
    +
    outaddr = linearMemAlign(0x100000, 0x40);
    +
    +
    if(!(inaddr && outaddr))
    +
    {
    +
    ready = -2;
    +
    printf("Failed to allocate memory.\n");
    +
    }
    +
    }
    +
    +
    // Main loop
    +
    while (aptMainLoop())
    +
    {
    + + +
    +
    if(draw && type==0)
    +
    {
    + +
    draw = 0;
    +
    +
    if(ready==0)printf("mvd example\n");
    +
    +
    printf("Press START to exit.\n");
    +
    if(ready==0)
    +
    {
    +
    printf("Press A for color-format-conversion.\n");
    +
    printf("Press B for video(no sound).\n");
    +
    }
    +
    }
    +
    +
    u32 kDown = hidKeysDown();
    +
    +
    if(type)
    +
    {
    +
    if(kDown & KEY_A)
    +
    {
    +
    type = 0;
    +
    continue;
    +
    }
    +
    }
    +
    +
    if(type)continue;
    +
    +
    if (kDown & KEY_START)
    +
    break; // break in order to return to hbmenu
    +
    +
    if(ready==0)
    +
    {
    +
    type = 0;
    +
    if (kDown & KEY_A)type = 1;
    +
    if (kDown & KEY_B)type = 2;
    +
    +
    if(type)
    +
    {
    +
    memset(inaddr, 0, 0x100000);
    +
    memset(outaddr, 0, 0x100000);
    +
    +
    if(type==1)mvd_colorconvert();
    +
    if(type==2)mvd_video();
    +
    +
    draw = 1;
    +
    printf("Press A to continue.\n");
    +
    }
    +
    }
    +
    }
    +
    +
    if(inaddr)linearFree(inaddr);
    +
    if(outaddr)linearFree(outaddr);
    +
    +
    if(ready!=-1)romfsExit();
    +
    + +
    return 0;
    +
    }
    +
    +
    Central 3DS header.
    +
    bool aptMainLoop(void)
    Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
    +
    PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
    Initialise the console.
    +
    void consoleClear(void)
    Clears the screen by using iprintf("\x1b[2J");.
    +
    void gfxInit(GSPGPU_FramebufferFormat topFormat, GSPGPU_FramebufferFormat bottomFormat, bool vrambuffers)
    Initializes the LCD framebuffers.
    +
    void gfxSwapBuffersGpu(void)
    Same as gfxSwapBuffers (formerly different).
    +
    u8 * gfxGetFramebuffer(gfxScreen_t screen, gfx3dSide_t side, u16 *width, u16 *height)
    Retrieves the framebuffer of the specified screen to which graphics should be rendered.
    +
    @ GFX_BOTTOM
    Bottom screen.
    Definition: gfx.h:27
    +
    @ GFX_TOP
    Top screen.
    Definition: gfx.h:26
    +
    void gfxExit(void)
    Deinitializes and frees the LCD framebuffers.
    +
    @ GFX_LEFT
    Left eye framebuffer.
    Definition: gfx.h:37
    +
    void gfxFlushBuffers(void)
    Flushes the data cache for the current framebuffers.
    +
    Result GSPGPU_FlushDataCache(const void *adr, u32 size)
    Flushes memory from the data cache.
    +
    #define gspWaitForVBlank()
    Waits for VBlank.
    Definition: gspgpu.h:151
    +
    @ GSP_BGR8_OES
    BGR8. (3 bytes)
    Definition: gspgpu.h:30
    +
    @ GSP_RGB565_OES
    RGB565. (2 bytes)
    Definition: gspgpu.h:31
    +
    @ KEY_UP
    D-Pad Up or Circle Pad Up.
    Definition: hid.h:37
    +
    @ KEY_B
    B.
    Definition: hid.h:13
    +
    @ KEY_START
    Start.
    Definition: hid.h:15
    +
    @ KEY_A
    A.
    Definition: hid.h:12
    +
    @ KEY_DOWN
    D-Pad Down or Circle Pad Down.
    Definition: hid.h:38
    +
    u32 hidKeysDown(void)
    Returns a bitmask of newly pressed buttons, this frame.
    +
    void hidScanInput(void)
    Scans HID for input data.
    +
    void * linearMemAlign(size_t size, size_t alignment)
    Allocates a buffer aligned to the given size.
    +
    void linearFree(void *mem)
    Frees a buffer.
    +
    void mvdstdExit(void)
    Shuts down MVDSTD.
    +
    @ MVDMODE_VIDEOPROCESSING
    Processing video.
    Definition: mvd.h:26
    +
    @ MVDMODE_COLORFORMATCONV
    Converting color formats.
    Definition: mvd.h:25
    +
    #define MVD_DEFAULT_WORKBUF_SIZE
    Default input size for mvdstdInit(). This is what the New3DS Internet Browser uses,...
    Definition: mvd.h:21
    +
    Result mvdstdRenderVideoFrame(MVDSTD_Config *config, bool wait)
    Renders the video frame.
    +
    #define MVD_STATUS_OK
    These values are the data returned as "result-codes" by MVDSTD.
    Definition: mvd.h:10
    +
    #define MVD_CHECKNALUPROC_SUCCESS(x)
    This can be used to check whether mvdstdProcessVideoFrame() was successful.
    Definition: mvd.h:18
    +
    void mvdstdGenerateDefaultConfig(MVDSTD_Config *config, u32 input_width, u32 input_height, u32 output_width, u32 output_height, u32 *vaddr_colorconv_indata, u32 *vaddr_outdata0, u32 *vaddr_outdata1)
    Generates a default MVDSTD configuration.
    +
    Result mvdstdInit(MVDSTD_Mode mode, MVDSTD_InputFormat input_type, MVDSTD_OutputFormat output_type, u32 size, MVDSTD_InitStruct *initstruct)
    Initializes MVDSTD.
    +
    @ MVD_INPUT_H264
    H264.
    Definition: mvd.h:32
    +
    @ MVD_INPUT_YUYV422
    YUYV422.
    Definition: mvd.h:31
    +
    @ MVD_OUTPUT_BGR565
    BGR565.
    Definition: mvd.h:38
    +
    Result mvdstdConvertImage(MVDSTD_Config *config)
    Run color-format-conversion.
    +
    Result mvdstdProcessVideoFrame(void *inbuf_vaddr, size_t size, u32 flag, MVDSTD_ProcessNALUnitOut *out)
    Processes a video frame(specifically a NAL-unit).
    +
    u32 osConvertVirtToPhys(const void *vaddr)
    Converts an address from virtual (process) memory to physical memory.
    +
    #define R_FAILED(res)
    Checks whether a result code indicates failure.
    Definition: result.h:11
    +
    static Result romfsInit(void)
    Wrapper for romfsMountSelf with the default "romfs" device name.
    Definition: romfs.h:84
    +
    static Result romfsExit(void)
    Wrapper for romfsUnmount with the default "romfs" device name.
    Definition: romfs.h:90
    +
    Processing configuration.
    Definition: mvd.h:43
    +
    u32 physaddr_outdata0
    Physical address of output data.
    Definition: mvd.h:64
    +
    Definition: mvd.h:75
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/mvd_8h.html b/mvd_8h.html new file mode 100644 index 000000000..541b18a41 --- /dev/null +++ b/mvd_8h.html @@ -0,0 +1,642 @@ + + + + + + + +libctru: include/3ds/services/mvd.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    mvd.h File Reference
    +
    +
    + +

    MVD service. +More...

    + +

    Go to the source code of this file.

    + + + + + + + + + + + + + + +

    +Data Structures

    struct  MVDSTD_Config
     Processing configuration. More...
     
    struct  MVDSTD_ProcessNALUnitOut
     
    struct  MVDSTD_OutputBuffersEntry
     
    struct  MVDSTD_OutputBuffersEntryList
     
    struct  MVDSTD_InitStruct
     This can be used to override the default input values for MVDSTD commands during initialization with video-processing. The default for these fields are all-zero, except for cmd1b_inval which is 1. See also here: https://www.3dbrew.org/wiki/MVD_Services. More...
     
    + + + + + + + + + + + + + + + + + + + + +

    +Macros

    +#define MVD_STATUS_OK   0x17000
     These values are the data returned as "result-codes" by MVDSTD.
     
    +#define MVD_STATUS_PARAMSET   0x17001
     
    +#define MVD_STATUS_BUSY   0x17002
     
    +#define MVD_STATUS_FRAMEREADY   0x17003
     
    +#define MVD_STATUS_INCOMPLETEPROCESSING   0x17004
     
    +#define MVD_STATUS_NALUPROCFLAG   0x17007
     
    +#define MVD_CHECKNALUPROC_SUCCESS(x)   (x==MVD_STATUS_OK || x==MVD_STATUS_PARAMSET || x==MVD_STATUS_FRAMEREADY || x==MVD_STATUS_INCOMPLETEPROCESSING || x==MVD_STATUS_NALUPROCFLAG)
     This can be used to check whether mvdstdProcessVideoFrame() was successful.
     
    +#define MVD_DEFAULT_WORKBUF_SIZE   0x9006C8
     Default input size for mvdstdInit(). This is what the New3DS Internet Browser uses, from the MVDSTD:CalculateWorkBufSize output.
     
    + + + + + + + + + + +

    +Enumerations

    enum  MVDSTD_Mode {
    +  MVDMODE_COLORFORMATCONV +,
    +  MVDMODE_VIDEOPROCESSING +
    + }
     Processing mode. More...
     
    enum  MVDSTD_InputFormat {
    +  MVD_INPUT_YUYV422 = 0x00010001 +,
    +  MVD_INPUT_H264 = 0x00020001 +
    + }
     Input format. More...
     
    enum  MVDSTD_OutputFormat {
    +  MVD_OUTPUT_YUYV422 = 0x00010001 +,
    +  MVD_OUTPUT_BGR565 = 0x00040002 +,
    +  MVD_OUTPUT_RGB565 = 0x00040004 +
    + }
     Output format. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    Result mvdstdInit (MVDSTD_Mode mode, MVDSTD_InputFormat input_type, MVDSTD_OutputFormat output_type, u32 size, MVDSTD_InitStruct *initstruct)
     Initializes MVDSTD. More...
     
    +void mvdstdExit (void)
     Shuts down MVDSTD.
     
    void mvdstdGenerateDefaultConfig (MVDSTD_Config *config, u32 input_width, u32 input_height, u32 output_width, u32 output_height, u32 *vaddr_colorconv_indata, u32 *vaddr_outdata0, u32 *vaddr_outdata1)
     Generates a default MVDSTD configuration. More...
     
    Result mvdstdConvertImage (MVDSTD_Config *config)
     Run color-format-conversion. More...
     
    Result mvdstdProcessVideoFrame (void *inbuf_vaddr, size_t size, u32 flag, MVDSTD_ProcessNALUnitOut *out)
     Processes a video frame(specifically a NAL-unit). More...
     
    Result mvdstdRenderVideoFrame (MVDSTD_Config *config, bool wait)
     Renders the video frame. More...
     
    Result MVDSTD_SetConfig (MVDSTD_Config *config)
     Sets the current configuration of MVDSTD. More...
     
    Result mvdstdSetupOutputBuffers (MVDSTD_OutputBuffersEntryList *entrylist, u32 bufsize)
     New3DS Internet Browser doesn't use this. More...
     
    Result mvdstdOverrideOutputBuffers (void *cur_outdata0, void *cur_outdata1, void *new_outdata0, void *new_outdata1)
     New3DS Internet Browser doesn't use this. More...
     
    +

    Detailed Description

    +

    MVD service.

    +

    Enumeration Type Documentation

    + +

    ◆ MVDSTD_InputFormat

    + +
    +
    + + + + +
    enum MVDSTD_InputFormat
    +
    + +

    Input format.

    + + + +
    Enumerator
    MVD_INPUT_YUYV422 

    YUYV422.

    +
    MVD_INPUT_H264 

    H264.

    +
    + +
    +
    + +

    ◆ MVDSTD_Mode

    + +
    +
    + + + + +
    enum MVDSTD_Mode
    +
    + +

    Processing mode.

    + + + +
    Enumerator
    MVDMODE_COLORFORMATCONV 

    Converting color formats.

    +
    MVDMODE_VIDEOPROCESSING 

    Processing video.

    +
    + +
    +
    + +

    ◆ MVDSTD_OutputFormat

    + +
    +
    + + + + +
    enum MVDSTD_OutputFormat
    +
    + +

    Output format.

    + + + + +
    Enumerator
    MVD_OUTPUT_YUYV422 

    YUYV422.

    +
    MVD_OUTPUT_BGR565 

    BGR565.

    +
    MVD_OUTPUT_RGB565 

    RGB565.

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ MVDSTD_SetConfig()

    + +
    +
    + + + + + + + + +
    Result MVDSTD_SetConfig (MVDSTD_Configconfig)
    +
    + +

    Sets the current configuration of MVDSTD.

    +
    Parameters
    + + +
    configPointer to the configuration to set.
    +
    +
    + +
    +
    + +

    ◆ mvdstdConvertImage()

    + +
    +
    + + + + + + + + +
    Result mvdstdConvertImage (MVDSTD_Configconfig)
    +
    + +

    Run color-format-conversion.

    +
    Parameters
    + + +
    configPointer to the configuration to use.
    +
    +
    +
    Examples
    mvd/source/main.c.
    +
    + +
    +
    + +

    ◆ mvdstdGenerateDefaultConfig()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void mvdstdGenerateDefaultConfig (MVDSTD_Configconfig,
    u32 input_width,
    u32 input_height,
    u32 output_width,
    u32 output_height,
    u32vaddr_colorconv_indata,
    u32vaddr_outdata0,
    u32vaddr_outdata1 
    )
    +
    + +

    Generates a default MVDSTD configuration.

    +
    Parameters
    + + + + + + + + + +
    configPointer to output the generated config to.
    input_widthInput width.
    input_heightInput height.
    output_widthOutput width.
    output_heightOutput height.
    vaddr_colorconv_indataVirtual address of the color conversion input data.
    vaddr_outdata0Virtual address of the output data.
    vaddr_outdata1Additional virtual address for output data, only used when the output format type is value 0x00020001.
    +
    +
    +
    Examples
    mvd/source/main.c.
    +
    + +
    +
    + +

    ◆ mvdstdInit()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result mvdstdInit (MVDSTD_Mode mode,
    MVDSTD_InputFormat input_type,
    MVDSTD_OutputFormat output_type,
    u32 size,
    MVDSTD_InitStructinitstruct 
    )
    +
    + +

    Initializes MVDSTD.

    +
    Parameters
    + + + + + + +
    modeMode to initialize MVDSTD to.
    input_typeType of input to process.
    output_typeType of output to produce.
    sizeSize of the work buffer, MVD_DEFAULT_WORKBUF_SIZE can be used for this. Only used when type == MVDMODE_VIDEOPROCESSING.
    initstructOptional MVDSTD_InitStruct, this should be NULL normally.
    +
    +
    +
    Examples
    mvd/source/main.c.
    +
    + +
    +
    + +

    ◆ mvdstdOverrideOutputBuffers()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result mvdstdOverrideOutputBuffers (void * cur_outdata0,
    void * cur_outdata1,
    void * new_outdata0,
    void * new_outdata1 
    )
    +
    + +

    New3DS Internet Browser doesn't use this.

    +

    This overrides the entry0 output buffers originally setup by mvdstdSetupOutputBuffers(). See also here: https://www.3dbrew.org/wiki/MVDSTD:OverrideOutputBuffers

    Parameters
    + + + + + +
    cur_outdata0Linearmem vaddr. The current outdata0 for this entry must match this value.
    cur_outdata1Linearmem vaddr. The current outdata1 for this entry must match this value.
    new_outdata0Linearmem vaddr. This is the new address to use for outaddr0.
    new_outdata1Linearmem vaddr. This is the new address to use for outaddr1.
    +
    +
    + +
    +
    + +

    ◆ mvdstdProcessVideoFrame()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result mvdstdProcessVideoFrame (void * inbuf_vaddr,
    size_t size,
    u32 flag,
    MVDSTD_ProcessNALUnitOutout 
    )
    +
    + +

    Processes a video frame(specifically a NAL-unit).

    +
    Parameters
    + + + + + +
    inbuf_vaddrInput NAL-unit starting with the 3-byte "00 00 01" prefix. Must be located in linearmem.
    sizeSize of the input buffer.
    flagSee here regarding this input flag: https://www.3dbrew.org/wiki/MVDSTD:ProcessNALUnit
    outOptional output MVDSTD_ProcessNALUnitOut structure.
    +
    +
    +
    Examples
    mvd/source/main.c.
    +
    + +
    +
    + +

    ◆ mvdstdRenderVideoFrame()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result mvdstdRenderVideoFrame (MVDSTD_Configconfig,
    bool wait 
    )
    +
    + +

    Renders the video frame.

    +
    Parameters
    + + + +
    configOptional pointer to the configuration to use. When NULL, MVDSTD_SetConfig() should have been used previously for this video.
    waitWhen true, wait for rendering to finish. When false, you can manually call this function repeatedly until it stops returning MVD_STATUS_BUSY.
    +
    +
    +
    Examples
    mvd/source/main.c.
    +
    + +
    +
    + +

    ◆ mvdstdSetupOutputBuffers()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result mvdstdSetupOutputBuffers (MVDSTD_OutputBuffersEntryListentrylist,
    u32 bufsize 
    )
    +
    + +

    New3DS Internet Browser doesn't use this.

    +

    Once done, rendered frames will be written to the output buffers specified by the entrylist instead of the output specified by configuration. See here: https://www.3dbrew.org/wiki/MVDSTD:SetupOutputBuffers

    Parameters
    + + + +
    entrylistInput entrylist.
    bufsizeSize of each buffer from the entrylist.
    +
    +
    + +
    +
    +
    + + + + diff --git a/mvd_8h_source.html b/mvd_8h_source.html new file mode 100644 index 000000000..7214c571f --- /dev/null +++ b/mvd_8h_source.html @@ -0,0 +1,297 @@ + + + + + + + +libctru: include/3ds/services/mvd.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    mvd.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file mvd.h
    +
    3  * @brief MVD service.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 //New3DS-only, see also: http://3dbrew.org/wiki/MVD_Services
    +
    8 
    +
    9 ///These values are the data returned as "result-codes" by MVDSTD.
    +
    10 #define MVD_STATUS_OK 0x17000
    +
    11 #define MVD_STATUS_PARAMSET 0x17001 ///"Returned after processing NAL-unit parameter-sets."
    +
    12 #define MVD_STATUS_BUSY 0x17002
    +
    13 #define MVD_STATUS_FRAMEREADY 0x17003
    +
    14 #define MVD_STATUS_INCOMPLETEPROCESSING 0x17004 ///"Returned when not all of the input NAL-unit buffer was processed."
    +
    15 #define MVD_STATUS_NALUPROCFLAG 0x17007 ///See here: https://www.3dbrew.org/wiki/MVDSTD:ProcessNALUnit
    +
    16 
    +
    17 ///This can be used to check whether mvdstdProcessVideoFrame() was successful.
    +
    18 #define MVD_CHECKNALUPROC_SUCCESS(x) (x==MVD_STATUS_OK || x==MVD_STATUS_PARAMSET || x==MVD_STATUS_FRAMEREADY || x==MVD_STATUS_INCOMPLETEPROCESSING || x==MVD_STATUS_NALUPROCFLAG)
    +
    19 
    +
    20 /// Default input size for mvdstdInit(). This is what the New3DS Internet Browser uses, from the MVDSTD:CalculateWorkBufSize output.
    +
    21 #define MVD_DEFAULT_WORKBUF_SIZE 0x9006C8
    +
    22 
    +
    23 /// Processing mode.
    +
    24 typedef enum {
    +
    25  MVDMODE_COLORFORMATCONV, ///< Converting color formats.
    +
    26  MVDMODE_VIDEOPROCESSING ///< Processing video.
    + +
    28 
    +
    29 /// Input format.
    +
    30 typedef enum {
    +
    31  MVD_INPUT_YUYV422 = 0x00010001, ///< YUYV422
    +
    32  MVD_INPUT_H264 = 0x00020001 ///< H264
    + +
    34 
    +
    35 /// Output format.
    +
    36 typedef enum {
    +
    37  MVD_OUTPUT_YUYV422 = 0x00010001, ///< YUYV422
    +
    38  MVD_OUTPUT_BGR565 = 0x00040002, ///< BGR565
    +
    39  MVD_OUTPUT_RGB565 = 0x00040004 ///< RGB565
    + +
    41 
    +
    42 /// Processing configuration.
    +
    43 typedef struct {
    +
    44  MVDSTD_InputFormat input_type; ///< Input type.
    +
    45  u32 unk_x04; ///< Unknown.
    +
    46  u32 unk_x08; ///< Unknown. Referred to as "H264 range" in SKATER.
    +
    47  u32 inwidth; ///< Input width.
    +
    48  u32 inheight; ///< Input height.
    +
    49  u32 physaddr_colorconv_indata; ///< Physical address of color conversion input data.
    +
    50  u32 physaddr_colorconv_unk0; ///< Physical address used with color conversion.
    +
    51  u32 physaddr_colorconv_unk1; ///< Physical address used with color conversion.
    +
    52  u32 physaddr_colorconv_unk2; ///< Physical address used with color conversion.
    +
    53  u32 physaddr_colorconv_unk3; ///< Physical address used with color conversion.
    +
    54  u32 unk_x28[0x18>>2]; ///< Unknown.
    +
    55  u32 enable_cropping; ///< Enables cropping with the input image when non-zero via the following 4 words.
    +
    56  u32 input_crop_x_pos;
    +
    57  u32 input_crop_y_pos;
    +
    58  u32 input_crop_height;
    +
    59  u32 input_crop_width;
    +
    60  u32 unk_x54; ///< Unknown.
    +
    61  MVDSTD_OutputFormat output_type; ///< Output type.
    +
    62  u32 outwidth; ///< Output width.
    +
    63  u32 outheight; ///< Output height.
    +
    64  u32 physaddr_outdata0; ///< Physical address of output data.
    +
    65  u32 physaddr_outdata1; ///< Additional physical address for output data, only used when the output format type is value 0x00020001.
    +
    66  u32 unk_x6c[0x98>>2]; ///< Unknown.
    +
    67  u32 flag_x104; ///< This enables using the following 4 words when non-zero.
    +
    68  u32 output_x_pos; ///< Output X position in the output buffer.
    +
    69  u32 output_y_pos; ///< Same as above except for the Y pos.
    +
    70  u32 output_width_override; ///< Used for aligning the output width when larger than the output width. Overrides the output width when smaller than the output width.
    +
    71  u32 output_height_override; ///< Same as output_width_override except for the output height.
    +
    72  u32 unk_x118;
    + +
    74 
    +
    75 typedef struct {
    +
    76  u32 end_vaddr;//"End-address of the processed NAL-unit(internal MVD heap vaddr)."
    +
    77  u32 end_physaddr;//"End-address of the processed NAL-unit(physaddr following the input physaddr)."
    +
    78  u32 remaining_size;//"Total remaining unprocessed input data. Buffer_end_pos=bufsize-<this value>."
    + +
    80 
    +
    81 typedef struct {
    +
    82  void* outdata0;//Linearmem vaddr equivalent to config *_outdata0.
    +
    83  void* outdata1;//Linearmem vaddr equivalent to config *_outdata1.
    + +
    85 
    +
    86 typedef struct {
    +
    87  u32 total_entries;//Total actual used entries below.
    +
    88  MVDSTD_OutputBuffersEntry entries[17];
    + +
    90 
    +
    91 /// This can be used to override the default input values for MVDSTD commands during initialization with video-processing. The default for these fields are all-zero, except for cmd1b_inval which is 1. See also here: https://www.3dbrew.org/wiki/MVD_Services
    +
    92 typedef struct {
    +
    93  s8 cmd5_inval0, cmd5_inval1, cmd5_inval2;
    +
    94  u32 cmd5_inval3;
    +
    95 
    +
    96  u8 cmd1b_inval;
    + +
    98 
    +
    99 /**
    +
    100  * @brief Initializes MVDSTD.
    +
    101  * @param mode Mode to initialize MVDSTD to.
    +
    102  * @param input_type Type of input to process.
    +
    103  * @param output_type Type of output to produce.
    +
    104  * @param size Size of the work buffer, MVD_DEFAULT_WORKBUF_SIZE can be used for this. Only used when type == MVDMODE_VIDEOPROCESSING.
    +
    105  * @param initstruct Optional MVDSTD_InitStruct, this should be NULL normally.
    +
    106  */
    +
    107 Result mvdstdInit(MVDSTD_Mode mode, MVDSTD_InputFormat input_type, MVDSTD_OutputFormat output_type, u32 size, MVDSTD_InitStruct *initstruct);
    +
    108 
    +
    109 /// Shuts down MVDSTD.
    +
    110 void mvdstdExit(void);
    +
    111 
    +
    112 /**
    +
    113  * @brief Generates a default MVDSTD configuration.
    +
    114  * @param config Pointer to output the generated config to.
    +
    115  * @param input_width Input width.
    +
    116  * @param input_height Input height.
    +
    117  * @param output_width Output width.
    +
    118  * @param output_height Output height.
    +
    119  * @param vaddr_colorconv_indata Virtual address of the color conversion input data.
    +
    120  * @param vaddr_outdata0 Virtual address of the output data.
    +
    121  * @param vaddr_outdata1 Additional virtual address for output data, only used when the output format type is value 0x00020001.
    +
    122  */
    +
    123 void mvdstdGenerateDefaultConfig(MVDSTD_Config*config, u32 input_width, u32 input_height, u32 output_width, u32 output_height, u32 *vaddr_colorconv_indata, u32 *vaddr_outdata0, u32 *vaddr_outdata1);
    +
    124 
    +
    125 /**
    +
    126  * @brief Run color-format-conversion.
    +
    127  * @param config Pointer to the configuration to use.
    +
    128  */
    + +
    130 
    +
    131 /**
    +
    132  * @brief Processes a video frame(specifically a NAL-unit).
    +
    133  * @param inbuf_vaddr Input NAL-unit starting with the 3-byte "00 00 01" prefix. Must be located in linearmem.
    +
    134  * @param size Size of the input buffer.
    +
    135  * @param flag See here regarding this input flag: https://www.3dbrew.org/wiki/MVDSTD:ProcessNALUnit
    +
    136  * @param out Optional output MVDSTD_ProcessNALUnitOut structure.
    +
    137  */
    +
    138 Result mvdstdProcessVideoFrame(void* inbuf_vaddr, size_t size, u32 flag, MVDSTD_ProcessNALUnitOut *out);
    +
    139 
    +
    140 /**
    +
    141  * @brief Renders the video frame.
    +
    142  * @param config Optional pointer to the configuration to use. When NULL, MVDSTD_SetConfig() should have been used previously for this video.
    +
    143  * @param wait When true, wait for rendering to finish. When false, you can manually call this function repeatedly until it stops returning MVD_STATUS_BUSY.
    +
    144  */
    + +
    146 
    +
    147 /**
    +
    148  * @brief Sets the current configuration of MVDSTD.
    +
    149  * @param config Pointer to the configuration to set.
    +
    150  */
    + +
    152 
    +
    153 /**
    +
    154  * @brief New3DS Internet Browser doesn't use this. Once done, rendered frames will be written to the output buffers specified by the entrylist instead of the output specified by configuration. See here: https://www.3dbrew.org/wiki/MVDSTD:SetupOutputBuffers
    +
    155  * @param entrylist Input entrylist.
    +
    156  * @param bufsize Size of each buffer from the entrylist.
    +
    157  */
    + +
    159 
    +
    160 /**
    +
    161  * @brief New3DS Internet Browser doesn't use this. This overrides the entry0 output buffers originally setup by mvdstdSetupOutputBuffers(). See also here: https://www.3dbrew.org/wiki/MVDSTD:OverrideOutputBuffers
    +
    162  * @param cur_outdata0 Linearmem vaddr. The current outdata0 for this entry must match this value.
    +
    163  * @param cur_outdata1 Linearmem vaddr. The current outdata1 for this entry must match this value.
    +
    164  * @param new_outdata0 Linearmem vaddr. This is the new address to use for outaddr0.
    +
    165  * @param new_outdata1 Linearmem vaddr. This is the new address to use for outaddr1.
    +
    166  */
    +
    167 Result mvdstdOverrideOutputBuffers(void* cur_outdata0, void* cur_outdata1, void* new_outdata0, void* new_outdata1);
    +
    168 
    +
    void mvdstdExit(void)
    Shuts down MVDSTD.
    +
    Result MVDSTD_SetConfig(MVDSTD_Config *config)
    Sets the current configuration of MVDSTD.
    +
    Result mvdstdSetupOutputBuffers(MVDSTD_OutputBuffersEntryList *entrylist, u32 bufsize)
    New3DS Internet Browser doesn't use this.
    +
    MVDSTD_Mode
    Processing mode.
    Definition: mvd.h:24
    +
    @ MVDMODE_VIDEOPROCESSING
    Processing video.
    Definition: mvd.h:26
    +
    @ MVDMODE_COLORFORMATCONV
    Converting color formats.
    Definition: mvd.h:25
    +
    Result mvdstdRenderVideoFrame(MVDSTD_Config *config, bool wait)
    Renders the video frame.
    +
    void mvdstdGenerateDefaultConfig(MVDSTD_Config *config, u32 input_width, u32 input_height, u32 output_width, u32 output_height, u32 *vaddr_colorconv_indata, u32 *vaddr_outdata0, u32 *vaddr_outdata1)
    Generates a default MVDSTD configuration.
    +
    Result mvdstdInit(MVDSTD_Mode mode, MVDSTD_InputFormat input_type, MVDSTD_OutputFormat output_type, u32 size, MVDSTD_InitStruct *initstruct)
    Initializes MVDSTD.
    +
    MVDSTD_InputFormat
    Input format.
    Definition: mvd.h:30
    +
    @ MVD_INPUT_H264
    H264.
    Definition: mvd.h:32
    +
    @ MVD_INPUT_YUYV422
    YUYV422.
    Definition: mvd.h:31
    +
    MVDSTD_OutputFormat
    Output format.
    Definition: mvd.h:36
    +
    @ MVD_OUTPUT_RGB565
    RGB565.
    Definition: mvd.h:39
    +
    @ MVD_OUTPUT_BGR565
    BGR565.
    Definition: mvd.h:38
    +
    @ MVD_OUTPUT_YUYV422
    YUYV422.
    Definition: mvd.h:37
    +
    Result mvdstdOverrideOutputBuffers(void *cur_outdata0, void *cur_outdata1, void *new_outdata0, void *new_outdata1)
    New3DS Internet Browser doesn't use this.
    +
    Result mvdstdConvertImage(MVDSTD_Config *config)
    Run color-format-conversion.
    +
    Result mvdstdProcessVideoFrame(void *inbuf_vaddr, size_t size, u32 flag, MVDSTD_ProcessNALUnitOut *out)
    Processes a video frame(specifically a NAL-unit).
    +
    Processing configuration.
    Definition: mvd.h:43
    +
    u32 output_y_pos
    Same as above except for the Y pos.
    Definition: mvd.h:69
    +
    u32 unk_x04
    Unknown.
    Definition: mvd.h:45
    +
    u32 physaddr_colorconv_unk2
    Physical address used with color conversion.
    Definition: mvd.h:52
    +
    u32 output_height_override
    Same as output_width_override except for the output height.
    Definition: mvd.h:71
    +
    MVDSTD_InputFormat input_type
    Input type.
    Definition: mvd.h:44
    +
    u32 flag_x104
    This enables using the following 4 words when non-zero.
    Definition: mvd.h:67
    +
    u32 outwidth
    Output width.
    Definition: mvd.h:62
    +
    MVDSTD_OutputFormat output_type
    Output type.
    Definition: mvd.h:61
    +
    u32 physaddr_outdata0
    Physical address of output data.
    Definition: mvd.h:64
    +
    u32 inheight
    Input height.
    Definition: mvd.h:48
    +
    u32 unk_x08
    Unknown. Referred to as "H264 range" in SKATER.
    Definition: mvd.h:46
    +
    u32 outheight
    Output height.
    Definition: mvd.h:63
    +
    u32 enable_cropping
    Enables cropping with the input image when non-zero via the following 4 words.
    Definition: mvd.h:55
    +
    u32 physaddr_colorconv_unk0
    Physical address used with color conversion.
    Definition: mvd.h:50
    +
    u32 output_x_pos
    Output X position in the output buffer.
    Definition: mvd.h:68
    +
    u32 unk_x54
    Unknown.
    Definition: mvd.h:60
    +
    u32 physaddr_colorconv_indata
    Physical address of color conversion input data.
    Definition: mvd.h:49
    +
    u32 physaddr_colorconv_unk1
    Physical address used with color conversion.
    Definition: mvd.h:51
    +
    u32 inwidth
    Input width.
    Definition: mvd.h:47
    +
    u32 output_width_override
    Used for aligning the output width when larger than the output width. Overrides the output width when...
    Definition: mvd.h:70
    +
    u32 physaddr_colorconv_unk3
    Physical address used with color conversion.
    Definition: mvd.h:53
    +
    u32 physaddr_outdata1
    Additional physical address for output data, only used when the output format type is value 0x0002000...
    Definition: mvd.h:65
    +
    This can be used to override the default input values for MVDSTD commands during initialization with ...
    Definition: mvd.h:92
    +
    Definition: mvd.h:86
    +
    Definition: mvd.h:81
    +
    Definition: mvd.h:75
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    int8_t s8
    8-bit signed integer
    Definition: types.h:26
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/nav_f.png b/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_z8U literal 0 HcmV?d00001 diff --git a/nav_g.png b/nav_g.png new file mode 100644 index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KF$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&vFVdQ&MBb@0HFXL + + + + + + +libctru: include/3ds/services/ndm.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    ndm.h File Reference
    +
    +
    + +

    NDMU service. +More...

    + +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + +

    +Enumerations

    enum  ndmExclusiveState {
    +  NDM_EXCLUSIVE_STATE_NONE = 0 +,
    +  NDM_EXCLUSIVE_STATE_INFRASTRUCTURE = 1 +,
    +  NDM_EXCLUSIVE_STATE_LOCAL_COMMUNICATIONS = 2 +,
    +  NDM_EXCLUSIVE_STATE_STREETPASS = 3 +,
    +  NDM_EXCLUSIVE_STATE_STREETPASS_DATA = 4 +
    + }
     Exclusive states.
     
    enum  ndmState {
    +  NDM_STATE_INITIAL = 0 +,
    +  NDM_STATE_SUSPENDED = 1 +,
    +  NDM_STATE_INFRASTRUCTURE_CONNECTING = 2 +,
    +  NDM_STATE_INFRASTRUCTURE_CONNECTED = 3 +,
    +  NDM_STATE_INFRASTRUCTURE_WORKING = 4 +,
    +  NDM_STATE_INFRASTRUCTURE_SUSPENDING = 5 +,
    +  NDM_STATE_INFRASTRUCTURE_FORCE_SUSPENDING = 6 +,
    +  NDM_STATE_INFRASTRUCTURE_DISCONNECTING = 7 +,
    +  NDM_STATE_INFRASTRUCTURE_FORCE_DISCONNECTING = 8 +,
    +  NDM_STATE_CEC_WORKING = 9 +,
    +  NDM_STATE_CEC_FORCE_SUSPENDING = 10 +,
    +  NDM_STATE_CEC_SUSPENDING = 11 +
    + }
     Current states.
     
    enum  ndmDaemon {
    +  NDM_DAEMON_CEC = 0 +,
    +  NDM_DAEMON_BOSS = 1 +,
    +  NDM_DAEMON_NIM = 2 +,
    +  NDM_DAEMON_FRIENDS = 3 +
    + }
     
    enum  ndmDaemonMask {
    +  NDM_DAEMON_MASK_CEC = BIT(NDM_DAEMON_CEC) +,
    +  NDM_DAEMON_MASK_BOSS = BIT(NDM_DAEMON_BOSS) +,
    +  NDM_DAEMON_MASK_NIM = BIT(NDM_DAEMON_NIM) +,
    +  NDM_DAEMON_MASK_FRIENDS = BIT(NDM_DAEMON_FRIENDS) +,
    +  NDM_DAEMON_MASK_BACKGROUOND = NDM_DAEMON_MASK_CEC | NDM_DAEMON_MASK_BOSS | NDM_DAEMON_MASK_NIM +,
    +  NDM_DAEMON_MASK_ALL = NDM_DAEMON_MASK_CEC | NDM_DAEMON_MASK_BOSS | NDM_DAEMON_MASK_NIM | NDM_DAEMON_MASK_FRIENDS +,
    +  NDM_DAEMON_MASK_DEFAULT = NDM_DAEMON_MASK_CEC | NDM_DAEMON_MASK_FRIENDS +
    + }
     Used to specify multiple daemons.
     
    enum  ndmDaemonStatus {
    +  NDM_DAEMON_STATUS_BUSY = 0 +,
    +  NDM_DAEMON_STATUS_IDLE = 1 +,
    +  NDM_DAEMON_STATUS_SUSPENDING = 2 +,
    +  NDM_DAEMON_STATUS_SUSPENDED = 3 +
    + }
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    +Result ndmuInit (void)
     Initializes ndmu.
     
    +void ndmuExit (void)
     Exits ndmu.
     
    Result NDMU_EnterExclusiveState (ndmExclusiveState state)
     Sets the network daemon to an exclusive state. More...
     
    +Result NDMU_LeaveExclusiveState (void)
     Cancels an exclusive state for the network daemon.
     
    Result NDMU_GetExclusiveState (ndmExclusiveState *state)
     Returns the exclusive state for the network daemon. More...
     
    +Result NDMU_LockState (void)
     Locks the exclusive state.
     
    +Result NDMU_UnlockState (void)
     Unlocks the exclusive state.
     
    Result NDMU_SuspendDaemons (ndmDaemonMask mask)
     Suspends network daemon. More...
     
    Result NDMU_ResumeDaemons (ndmDaemonMask mask)
     Resumes network daemon. More...
     
    Result NDMU_SuspendScheduler (u32 flag)
     Suspends scheduling for all network daemons. More...
     
    +Result NDMU_ResumeScheduler (void)
     Resumes daemon scheduling.
     
    Result NDMU_GetCurrentState (ndmState *state)
     Returns the current state for the network daemon. More...
     
    Result NDMU_QueryStatus (ndmDaemonStatus *status)
     Returns the daemon state. More...
     
    Result NDMU_SetScanInterval (u32 interval)
     Sets the scan interval. More...
     
    Result NDMU_GetScanInterval (u32 *interval)
     Returns the scan interval. More...
     
    Result NDMU_GetRetryInterval (u32 *interval)
     Returns the retry interval. More...
     
    +Result NDMU_ResetDaemons (void)
     Reverts network daemon to defaults.
     
    Result NDMU_GetDefaultDaemons (ndmDaemonMask *mask)
     Gets the current default daemon bit mask. More...
     
    +Result NDMU_ClearMacFilter (void)
     Clears half awake mac filter.
     
    +

    Detailed Description

    +

    Function Documentation

    + +

    ◆ NDMU_EnterExclusiveState()

    + +
    +
    + + + + + + + + +
    Result NDMU_EnterExclusiveState (ndmExclusiveState state)
    +
    + +

    Sets the network daemon to an exclusive state.

    +
    Parameters
    + + +
    stateState specified in the ndmExclusiveState enumerator.
    +
    +
    + +
    +
    + +

    ◆ NDMU_GetCurrentState()

    + +
    +
    + + + + + + + + +
    Result NDMU_GetCurrentState (ndmStatestate)
    +
    + +

    Returns the current state for the network daemon.

    +
    Parameters
    + + +
    statePointer to write the current state to.
    +
    +
    + +
    +
    + +

    ◆ NDMU_GetDefaultDaemons()

    + +
    +
    + + + + + + + + +
    Result NDMU_GetDefaultDaemons (ndmDaemonMaskmask)
    +
    + +

    Gets the current default daemon bit mask.

    +
    Parameters
    + + +
    intervalPointer to write the default daemon mask value to. The default value is (DAEMONMASK_CEC | DAEMONMASK_FRIENDS)
    +
    +
    + +
    +
    + +

    ◆ NDMU_GetExclusiveState()

    + +
    +
    + + + + + + + + +
    Result NDMU_GetExclusiveState (ndmExclusiveStatestate)
    +
    + +

    Returns the exclusive state for the network daemon.

    +
    Parameters
    + + +
    statePointer to write the exclsuive state to.
    +
    +
    + +
    +
    + +

    ◆ NDMU_GetRetryInterval()

    + +
    +
    + + + + + + + + +
    Result NDMU_GetRetryInterval (u32interval)
    +
    + +

    Returns the retry interval.

    +
    Parameters
    + + +
    intervalPointer to write the interval value to.
    +
    +
    + +
    +
    + +

    ◆ NDMU_GetScanInterval()

    + +
    +
    + + + + + + + + +
    Result NDMU_GetScanInterval (u32interval)
    +
    + +

    Returns the scan interval.

    +
    Parameters
    + + +
    intervalPointer to write the interval value to.
    +
    +
    + +
    +
    + +

    ◆ NDMU_QueryStatus()

    + +
    +
    + + + + + + + + +
    Result NDMU_QueryStatus (ndmDaemonStatus * status)
    +
    + +

    Returns the daemon state.

    +
    Parameters
    + + +
    statePointer to write the daemons state to.
    +
    +
    + +
    +
    + +

    ◆ NDMU_ResumeDaemons()

    + +
    +
    + + + + + + + + +
    Result NDMU_ResumeDaemons (ndmDaemonMask mask)
    +
    + +

    Resumes network daemon.

    +
    Parameters
    + + +
    maskThe specified daemon.
    +
    +
    + +
    +
    + +

    ◆ NDMU_SetScanInterval()

    + +
    +
    + + + + + + + + +
    Result NDMU_SetScanInterval (u32 interval)
    +
    + +

    Sets the scan interval.

    +
    Parameters
    + + +
    intervalValue to set the scan interval to.
    +
    +
    + +
    +
    + +

    ◆ NDMU_SuspendDaemons()

    + +
    +
    + + + + + + + + +
    Result NDMU_SuspendDaemons (ndmDaemonMask mask)
    +
    + +

    Suspends network daemon.

    +
    Parameters
    + + +
    maskThe specified daemon.
    +
    +
    + +
    +
    + +

    ◆ NDMU_SuspendScheduler()

    + +
    +
    + + + + + + + + +
    Result NDMU_SuspendScheduler (u32 flag)
    +
    + +

    Suspends scheduling for all network daemons.

    +
    Parameters
    + + +
    flag0 = Wait for completion, 1 = Perform in background.
    +
    +
    + +
    +
    +
    + + + + diff --git a/ndm_8h_source.html b/ndm_8h_source.html new file mode 100644 index 000000000..6c1b0f716 --- /dev/null +++ b/ndm_8h_source.html @@ -0,0 +1,252 @@ + + + + + + + +libctru: include/3ds/services/ndm.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    ndm.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file ndm.h
    +
    3  * @brief NDMU service. https://3dbrew.org/wiki/NDM_Services
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 /// Exclusive states.
    +
    8 typedef enum {
    +
    9  NDM_EXCLUSIVE_STATE_NONE = 0,
    +
    10  NDM_EXCLUSIVE_STATE_INFRASTRUCTURE = 1,
    +
    11  NDM_EXCLUSIVE_STATE_LOCAL_COMMUNICATIONS = 2,
    +
    12  NDM_EXCLUSIVE_STATE_STREETPASS = 3,
    +
    13  NDM_EXCLUSIVE_STATE_STREETPASS_DATA = 4,
    + +
    15 
    +
    16 /// Current states.
    +
    17 typedef enum {
    +
    18  NDM_STATE_INITIAL = 0,
    +
    19  NDM_STATE_SUSPENDED = 1,
    +
    20  NDM_STATE_INFRASTRUCTURE_CONNECTING = 2,
    +
    21  NDM_STATE_INFRASTRUCTURE_CONNECTED = 3,
    +
    22  NDM_STATE_INFRASTRUCTURE_WORKING = 4,
    +
    23  NDM_STATE_INFRASTRUCTURE_SUSPENDING = 5,
    +
    24  NDM_STATE_INFRASTRUCTURE_FORCE_SUSPENDING = 6,
    +
    25  NDM_STATE_INFRASTRUCTURE_DISCONNECTING = 7,
    +
    26  NDM_STATE_INFRASTRUCTURE_FORCE_DISCONNECTING = 8,
    +
    27  NDM_STATE_CEC_WORKING = 9,
    +
    28  NDM_STATE_CEC_FORCE_SUSPENDING = 10,
    +
    29  NDM_STATE_CEC_SUSPENDING = 11,
    +
    30 } ndmState;
    +
    31 
    +
    32 // Daemons.
    +
    33 typedef enum {
    +
    34  NDM_DAEMON_CEC = 0,
    +
    35  NDM_DAEMON_BOSS = 1,
    +
    36  NDM_DAEMON_NIM = 2,
    +
    37  NDM_DAEMON_FRIENDS = 3,
    +
    38 } ndmDaemon;
    +
    39 
    +
    40 /// Used to specify multiple daemons.
    +
    41 typedef enum {
    +
    42  NDM_DAEMON_MASK_CEC = BIT(NDM_DAEMON_CEC),
    +
    43  NDM_DAEMON_MASK_BOSS = BIT(NDM_DAEMON_BOSS),
    +
    44  NDM_DAEMON_MASK_NIM = BIT(NDM_DAEMON_NIM),
    +
    45  NDM_DAEMON_MASK_FRIENDS = BIT(NDM_DAEMON_FRIENDS),
    +
    46  NDM_DAEMON_MASK_BACKGROUOND = NDM_DAEMON_MASK_CEC | NDM_DAEMON_MASK_BOSS | NDM_DAEMON_MASK_NIM,
    +
    47  NDM_DAEMON_MASK_ALL = NDM_DAEMON_MASK_CEC | NDM_DAEMON_MASK_BOSS | NDM_DAEMON_MASK_NIM | NDM_DAEMON_MASK_FRIENDS,
    +
    48  NDM_DAEMON_MASK_DEFAULT = NDM_DAEMON_MASK_CEC | NDM_DAEMON_MASK_FRIENDS,
    + +
    50 
    +
    51 // Daemon status.
    +
    52 typedef enum {
    +
    53  NDM_DAEMON_STATUS_BUSY = 0,
    +
    54  NDM_DAEMON_STATUS_IDLE = 1,
    +
    55  NDM_DAEMON_STATUS_SUSPENDING = 2,
    +
    56  NDM_DAEMON_STATUS_SUSPENDED = 3,
    +
    57 } ndmDaemonStatus;
    +
    58 
    +
    59 /// Initializes ndmu.
    + +
    61 
    +
    62 /// Exits ndmu.
    +
    63 void ndmuExit(void);
    +
    64 
    +
    65 /**
    +
    66  * @brief Sets the network daemon to an exclusive state.
    +
    67  * @param state State specified in the ndmExclusiveState enumerator.
    +
    68  */
    + +
    70 
    +
    71 /// Cancels an exclusive state for the network daemon.
    + +
    73 
    +
    74 /**
    +
    75  * @brief Returns the exclusive state for the network daemon.
    +
    76  * @param state Pointer to write the exclsuive state to.
    +
    77  */
    + +
    79 
    +
    80 /// Locks the exclusive state.
    + +
    82 
    +
    83 /// Unlocks the exclusive state.
    + +
    85 
    +
    86 /**
    +
    87  * @brief Suspends network daemon.
    +
    88  * @param mask The specified daemon.
    +
    89  */
    + +
    91 
    +
    92 /**
    +
    93  * @brief Resumes network daemon.
    +
    94  * @param mask The specified daemon.
    +
    95  */
    + +
    97 
    +
    98 /**
    +
    99  * @brief Suspends scheduling for all network daemons.
    +
    100  * @param flag 0 = Wait for completion, 1 = Perform in background.
    +
    101  */
    + +
    103 
    +
    104 /// Resumes daemon scheduling.
    + +
    106 
    +
    107 /**
    +
    108  * @brief Returns the current state for the network daemon.
    +
    109  * @param state Pointer to write the current state to.
    +
    110  */
    + +
    112 
    +
    113 /**
    +
    114  * @brief Returns the daemon state.
    +
    115  * @param state Pointer to write the daemons state to.
    +
    116  */
    +
    117 Result NDMU_QueryStatus(ndmDaemonStatus *status);
    +
    118 
    +
    119 /**
    +
    120  * @brief Sets the scan interval.
    +
    121  * @param interval Value to set the scan interval to.
    +
    122  */
    + +
    124 
    +
    125 /**
    +
    126  * @brief Returns the scan interval.
    +
    127  * @param interval Pointer to write the interval value to.
    +
    128  */
    + +
    130 
    +
    131 /**
    +
    132  * @brief Returns the retry interval.
    +
    133  * @param interval Pointer to write the interval value to.
    +
    134  */
    + +
    136 
    +
    137 /// Reverts network daemon to defaults.
    + +
    139 
    +
    140 /**
    +
    141  * @brief Gets the current default daemon bit mask.
    +
    142  * @param interval Pointer to write the default daemon mask value to. The default value is (DAEMONMASK_CEC | DAEMONMASK_FRIENDS)
    +
    143  */
    + +
    145 
    +
    146 /// Clears half awake mac filter.
    + +
    148 
    +
    Result NDMU_GetRetryInterval(u32 *interval)
    Returns the retry interval.
    +
    ndmDaemonMask
    Used to specify multiple daemons.
    Definition: ndm.h:41
    +
    Result NDMU_LeaveExclusiveState(void)
    Cancels an exclusive state for the network daemon.
    +
    Result NDMU_GetExclusiveState(ndmExclusiveState *state)
    Returns the exclusive state for the network daemon.
    +
    Result NDMU_SuspendDaemons(ndmDaemonMask mask)
    Suspends network daemon.
    +
    ndmState
    Current states.
    Definition: ndm.h:17
    +
    Result NDMU_GetDefaultDaemons(ndmDaemonMask *mask)
    Gets the current default daemon bit mask.
    +
    Result NDMU_LockState(void)
    Locks the exclusive state.
    +
    Result NDMU_EnterExclusiveState(ndmExclusiveState state)
    Sets the network daemon to an exclusive state.
    +
    Result NDMU_GetScanInterval(u32 *interval)
    Returns the scan interval.
    +
    Result NDMU_UnlockState(void)
    Unlocks the exclusive state.
    +
    Result NDMU_ResumeScheduler(void)
    Resumes daemon scheduling.
    +
    Result NDMU_QueryStatus(ndmDaemonStatus *status)
    Returns the daemon state.
    +
    Result NDMU_SuspendScheduler(u32 flag)
    Suspends scheduling for all network daemons.
    +
    Result NDMU_GetCurrentState(ndmState *state)
    Returns the current state for the network daemon.
    +
    Result NDMU_ResetDaemons(void)
    Reverts network daemon to defaults.
    +
    Result NDMU_SetScanInterval(u32 interval)
    Sets the scan interval.
    +
    void ndmuExit(void)
    Exits ndmu.
    +
    Result ndmuInit(void)
    Initializes ndmu.
    +
    ndmExclusiveState
    Exclusive states.
    Definition: ndm.h:8
    +
    Result NDMU_ClearMacFilter(void)
    Clears half awake mac filter.
    +
    Result NDMU_ResumeDaemons(ndmDaemonMask mask)
    Resumes network daemon.
    +
    #define BIT(n)
    Creates a bitmask from a bit number.
    Definition: types.h:47
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/ndsp_8h.html b/ndsp_8h.html new file mode 100644 index 000000000..bfaeb6431 --- /dev/null +++ b/ndsp_8h.html @@ -0,0 +1,1063 @@ + + + + + + + +libctru: include/3ds/ndsp/ndsp.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    ndsp.h File Reference
    +
    +
    + +

    Interface for Nintendo's default DSP component. +More...

    +
    #include <3ds/os.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + +

    +Data Structures

    struct  ndspAdpcmData
     ADPCM data. More...
     
    struct  ndspWaveBuf
     Wave buffer struct. More...
     
    + + + +

    +Macros

    +#define NDSP_SAMPLE_RATE   (SYSCLOCK_SOC / 512.0)
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    Initialization and basic operations
    void ndspUseComponent (const void *binary, u32 size, u16 progMask, u16 dataMask)
     Sets up the DSP component. More...
     
    +Result ndspInit (void)
     Initializes NDSP.
     
    +void ndspExit (void)
     Exits NDSP.
     
    u32 ndspGetDroppedFrames (void)
     Gets the number of dropped sound frames. More...
     
    u32 ndspGetFrameCount (void)
     Gets the total sound frame count. More...
     
    General parameters
    void ndspSetMasterVol (float volume)
     Sets the master volume. More...
     
    float ndspGetMasterVol (void)
     Gets the master volume. More...
     
    void ndspSetOutputMode (ndspOutputMode mode)
     Sets the output mode. More...
     
    ndspOutputMode ndspGetOutputMode (void)
     Gets the output mode. More...
     
    void ndspSetClippingMode (ndspClippingMode mode)
     Sets the clipping mode. More...
     
    ndspClippingMode ndspGetClippingMode (void)
     Gets the clipping mode. More...
     
    void ndspSetOutputCount (int count)
     Sets the output count. More...
     
    int ndspGetOutputCount (void)
     Gets the output count. More...
     
    void ndspSetCapture (ndspWaveBuf *capture)
     Sets the wave buffer to capture audio to. More...
     
    void ndspSetCallback (ndspCallback callback, void *data)
     Sets the sound frame callback. More...
     
    Surround
    void ndspSurroundSetDepth (u16 depth)
     Sets the surround sound depth. More...
     
    u16 ndspSurroundGetDepth (void)
     Gets the surround sound depth. More...
     
    void ndspSurroundSetPos (ndspSpeakerPos pos)
     Sets the surround sound position. More...
     
    ndspSpeakerPos ndspSurroundGetPos (void)
     Gets the surround sound position. More...
     
    void ndspSurroundSetRearRatio (u16 ratio)
     Sets the surround sound rear ratio. More...
     
    u16 ndspSurroundGetRearRatio (void)
     Gets the surround sound rear ratio. More...
     
    Auxiliary output
    void ndspAuxSetEnable (int id, bool enable)
     Configures whether an auxiliary output is enabled. More...
     
    bool ndspAuxIsEnabled (int id)
     Gets whether auxiliary output is enabled. More...
     
    void ndspAuxSetFrontBypass (int id, bool bypass)
     Configures whether an auxiliary output should use front bypass. More...
     
    bool ndspAuxGetFrontBypass (int id)
     Gets whether auxiliary output front bypass is enabled. More...
     
    void ndspAuxSetVolume (int id, float volume)
     Sets the volume of an auxiliary output. More...
     
    float ndspAuxGetVolume (int id)
     Gets the volume of an auxiliary output. More...
     
    void ndspAuxSetCallback (int id, ndspAuxCallback callback, void *data)
     Sets the callback of an auxiliary output. More...
     
    + + + + + + + + + + + + + + + + + +

    Data types

    Sound output modes.

    +
    enum  ndspOutputMode {
    +  NDSP_OUTPUT_MONO = 0 +,
    +  NDSP_OUTPUT_STEREO = 1 +,
    +  NDSP_OUTPUT_SURROUND = 2 +
    + }
     
    enum  ndspClippingMode {
    +  NDSP_CLIP_NORMAL = 0 +,
    +  NDSP_CLIP_SOFT = 1 +
    + }
     
    enum  ndspSpeakerPos {
    +  NDSP_SPKPOS_SQUARE = 0 +,
    +  NDSP_SPKPOS_WIDE = 1 +,
    +  NDSP_SPKPOS_NUM = 2 +
    + }
     
    enum  {
    +  NDSP_WBUF_FREE = 0 +,
    +  NDSP_WBUF_QUEUED = 1 +,
    +  NDSP_WBUF_PLAYING = 2 +,
    +  NDSP_WBUF_DONE = 3 +
    + }
     Wave buffer status. More...
     
    +typedef void(* ndspCallback) (void *data)
     Sound frame callback function. (data = User provided data)
     
    +typedef void(* ndspAuxCallback) (void *data, int nsamples, void *samples[4])
     Auxiliary output callback function. (data = User provided data, nsamples = Number of samples, samples = Sample data)
     
    +

    Detailed Description

    +

    Interface for Nintendo's default DSP component.

    +

    Enumeration Type Documentation

    + +

    ◆ anonymous enum

    + +
    +
    + + + + +
    anonymous enum
    +
    + +

    Wave buffer status.

    + + + + + +
    Enumerator
    NDSP_WBUF_FREE 

    The wave buffer is not queued.

    +
    NDSP_WBUF_QUEUED 

    The wave buffer is queued and has not been played yet.

    +
    NDSP_WBUF_PLAYING 

    The wave buffer is playing right now.

    +
    NDSP_WBUF_DONE 

    The wave buffer has finished being played.

    +
    + +
    +
    + +

    ◆ ndspClippingMode

    + +
    +
    + + + + +
    enum ndspClippingMode
    +
    + + + +
    Enumerator
    NDSP_CLIP_NORMAL 

    "Normal" clipping mode (?)

    +
    NDSP_CLIP_SOFT 

    "Soft" clipping mode (?)

    +
    + +
    +
    + +

    ◆ ndspOutputMode

    + +
    +
    + + + + +
    enum ndspOutputMode
    +
    + + + + +
    Enumerator
    NDSP_OUTPUT_MONO 

    Mono sound.

    +
    NDSP_OUTPUT_STEREO 

    Stereo sound.

    +
    NDSP_OUTPUT_SURROUND 

    3D Surround sound

    +
    + +
    +
    + +

    ◆ ndspSpeakerPos

    + +
    +
    + + + + +
    enum ndspSpeakerPos
    +
    + + + + +
    Enumerator
    NDSP_SPKPOS_SQUARE 

    ?

    +
    NDSP_SPKPOS_WIDE 

    ?

    +
    NDSP_SPKPOS_NUM 

    ?

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ ndspAuxGetFrontBypass()

    + +
    +
    + + + + + + + + +
    bool ndspAuxGetFrontBypass (int id)
    +
    + +

    Gets whether auxiliary output front bypass is enabled.

    +
    Parameters
    + + +
    idID of the auxiliary output.
    +
    +
    +
    Returns
    Whether auxiliary output front bypass is enabled.
    + +
    +
    + +

    ◆ ndspAuxGetVolume()

    + +
    +
    + + + + + + + + +
    float ndspAuxGetVolume (int id)
    +
    + +

    Gets the volume of an auxiliary output.

    +
    Parameters
    + + +
    idID of the auxiliary output.
    +
    +
    +
    Returns
    Volume of the auxiliary output.
    + +
    +
    + +

    ◆ ndspAuxIsEnabled()

    + +
    +
    + + + + + + + + +
    bool ndspAuxIsEnabled (int id)
    +
    + +

    Gets whether auxiliary output is enabled.

    +
    Parameters
    + + +
    idID of the auxiliary output.
    +
    +
    +
    Returns
    Whether auxiliary output is enabled.
    + +
    +
    + +

    ◆ ndspAuxSetCallback()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void ndspAuxSetCallback (int id,
    ndspAuxCallback callback,
    void * data 
    )
    +
    + +

    Sets the callback of an auxiliary output.

    +
    Parameters
    + + + + +
    idID of the auxiliary output.
    callbackCallback to set.
    dataUser-defined data to pass to the callback.
    +
    +
    + +
    +
    + +

    ◆ ndspAuxSetEnable()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void ndspAuxSetEnable (int id,
    bool enable 
    )
    +
    + +

    Configures whether an auxiliary output is enabled.

    +
    Parameters
    + + + +
    idID of the auxiliary output.
    enableWhether to enable the auxiliary output.
    +
    +
    + +
    +
    + +

    ◆ ndspAuxSetFrontBypass()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void ndspAuxSetFrontBypass (int id,
    bool bypass 
    )
    +
    + +

    Configures whether an auxiliary output should use front bypass.

    +
    Parameters
    + + + +
    idID of the auxiliary output.
    bypassWhether to use front bypass.
    +
    +
    + +
    +
    + +

    ◆ ndspAuxSetVolume()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void ndspAuxSetVolume (int id,
    float volume 
    )
    +
    + +

    Sets the volume of an auxiliary output.

    +
    Parameters
    + + + +
    idID of the auxiliary output.
    volumeVolume to set.
    +
    +
    + +
    +
    + +

    ◆ ndspGetClippingMode()

    + +
    +
    + + + + + + + + +
    ndspClippingMode ndspGetClippingMode (void )
    +
    + +

    Gets the clipping mode.

    +
    Returns
    The clipping mode.
    + +
    +
    + +

    ◆ ndspGetDroppedFrames()

    + +
    +
    + + + + + + + + +
    u32 ndspGetDroppedFrames (void )
    +
    + +

    Gets the number of dropped sound frames.

    +
    Returns
    The number of dropped sound frames.
    + +
    +
    + +

    ◆ ndspGetFrameCount()

    + +
    +
    + + + + + + + + +
    u32 ndspGetFrameCount (void )
    +
    + +

    Gets the total sound frame count.

    +
    Returns
    The total sound frame count.
    + +
    +
    + +

    ◆ ndspGetMasterVol()

    + +
    +
    + + + + + + + + +
    float ndspGetMasterVol (void )
    +
    + +

    Gets the master volume.

    +
    Returns
    The master volume.
    + +
    +
    + +

    ◆ ndspGetOutputCount()

    + +
    +
    + + + + + + + + +
    int ndspGetOutputCount (void )
    +
    + +

    Gets the output count.

    +
    Returns
    The output count.
    + +
    +
    + +

    ◆ ndspGetOutputMode()

    + +
    +
    + + + + + + + + +
    ndspOutputMode ndspGetOutputMode (void )
    +
    + +

    Gets the output mode.

    +
    Returns
    The output mode.
    + +
    +
    + +

    ◆ ndspSetCallback()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void ndspSetCallback (ndspCallback callback,
    void * data 
    )
    +
    + +

    Sets the sound frame callback.

    +
    Parameters
    + + + +
    callbackCallback to set.
    dataUser-defined data to pass to the callback.
    +
    +
    + +
    +
    + +

    ◆ ndspSetCapture()

    + +
    +
    + + + + + + + + +
    void ndspSetCapture (ndspWaveBuf * capture)
    +
    + +

    Sets the wave buffer to capture audio to.

    +
    Parameters
    + + +
    captureWave buffer to capture to.
    +
    +
    + +
    +
    + +

    ◆ ndspSetClippingMode()

    + +
    +
    + + + + + + + + +
    void ndspSetClippingMode (ndspClippingMode mode)
    +
    + +

    Sets the clipping mode.

    +
    Parameters
    + + +
    modeClipping mode to set. Defaults to NDSP_CLIP_SOFT.
    +
    +
    + +
    +
    + +

    ◆ ndspSetMasterVol()

    + +
    +
    + + + + + + + + +
    void ndspSetMasterVol (float volume)
    +
    + +

    Sets the master volume.

    +
    Parameters
    + + +
    volumeVolume to set. Defaults to 1.0f.
    +
    +
    + +
    +
    + +

    ◆ ndspSetOutputCount()

    + +
    +
    + + + + + + + + +
    void ndspSetOutputCount (int count)
    +
    + +

    Sets the output count.

    +
    Parameters
    + + +
    countOutput count to set. Defaults to 2.
    +
    +
    + +
    +
    + +

    ◆ ndspSetOutputMode()

    + +
    +
    + + + + + + + + +
    void ndspSetOutputMode (ndspOutputMode mode)
    +
    + +

    Sets the output mode.

    +
    Parameters
    + + +
    modeOutput mode to set. Defaults to NDSP_OUTPUT_STEREO.
    +
    +
    +
    Examples
    audio/filters/source/main.c, and audio/streaming/source/main.c.
    +
    + +
    +
    + +

    ◆ ndspSurroundGetDepth()

    + +
    +
    + + + + + + + + +
    u16 ndspSurroundGetDepth (void )
    +
    + +

    Gets the surround sound depth.

    +
    Returns
    The surround sound depth.
    + +
    +
    + +

    ◆ ndspSurroundGetPos()

    + +
    +
    + + + + + + + + +
    ndspSpeakerPos ndspSurroundGetPos (void )
    +
    + +

    Gets the surround sound position.

    +
    Returns
    The surround sound speaker position.
    + +
    +
    + +

    ◆ ndspSurroundGetRearRatio()

    + +
    +
    + + + + + + + + +
    u16 ndspSurroundGetRearRatio (void )
    +
    + +

    Gets the surround sound rear ratio.

    +
    Returns
    The rear ratio.
    + +
    +
    + +

    ◆ ndspSurroundSetDepth()

    + +
    +
    + + + + + + + + +
    void ndspSurroundSetDepth (u16 depth)
    +
    + +

    Sets the surround sound depth.

    +
    Parameters
    + + +
    depthDepth to set. Defaults to 0x7FFF.
    +
    +
    + +
    +
    + +

    ◆ ndspSurroundSetPos()

    + +
    +
    + + + + + + + + +
    void ndspSurroundSetPos (ndspSpeakerPos pos)
    +
    + +

    Sets the surround sound position.

    +
    Parameters
    + + +
    posPosition to set. Defaults to NDSP_SPKPOS_SQUARE.
    +
    +
    + +
    +
    + +

    ◆ ndspSurroundSetRearRatio()

    + +
    +
    + + + + + + + + +
    void ndspSurroundSetRearRatio (u16 ratio)
    +
    + +

    Sets the surround sound rear ratio.

    +
    Parameters
    + + +
    ratioRear ratio to set. Defaults to 0x8000.
    +
    +
    + +
    +
    + +

    ◆ ndspUseComponent()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void ndspUseComponent (const void * binary,
    u32 size,
    u16 progMask,
    u16 dataMask 
    )
    +
    + +

    Sets up the DSP component.

    +
    Parameters
    + + + + + +
    binaryDSP binary to load.
    sizeSize of the DSP binary.
    progMaskProgram RAM block mask to load the binary to.
    dataMaskData RAM block mask to load the binary to.
    +
    +
    + +
    +
    +
    + + + + diff --git a/ndsp_8h_source.html b/ndsp_8h_source.html new file mode 100644 index 000000000..dcac56d95 --- /dev/null +++ b/ndsp_8h_source.html @@ -0,0 +1,414 @@ + + + + + + + +libctru: include/3ds/ndsp/ndsp.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    ndsp.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file ndsp.h
    +
    3  * @brief Interface for Nintendo's default DSP component.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 #include <3ds/os.h>
    +
    8 
    +
    9 #define NDSP_SAMPLE_RATE (SYSCLOCK_SOC / 512.0)
    +
    10 
    +
    11 ///@name Data types
    +
    12 ///@{
    +
    13 /// Sound output modes.
    +
    14 typedef enum
    +
    15 {
    +
    16  NDSP_OUTPUT_MONO = 0, ///< Mono sound
    +
    17  NDSP_OUTPUT_STEREO = 1, ///< Stereo sound
    +
    18  NDSP_OUTPUT_SURROUND = 2, ///< 3D Surround sound
    + +
    20 
    +
    21 // Clipping modes.
    +
    22 typedef enum
    +
    23 {
    +
    24  NDSP_CLIP_NORMAL = 0, ///< "Normal" clipping mode (?)
    +
    25  NDSP_CLIP_SOFT = 1, ///< "Soft" clipping mode (?)
    + +
    27 
    +
    28 // Surround speaker positions.
    +
    29 typedef enum
    +
    30 {
    +
    31  NDSP_SPKPOS_SQUARE = 0, ///<?
    +
    32  NDSP_SPKPOS_WIDE = 1, ///<?
    +
    33  NDSP_SPKPOS_NUM = 2, ///<?
    + +
    35 
    +
    36 /// ADPCM data.
    +
    37 typedef struct
    +
    38 {
    +
    39  u16 index; ///< Current predictor index
    +
    40  s16 history0; ///< Last outputted PCM16 sample.
    +
    41  s16 history1; ///< Second to last outputted PCM16 sample.
    + +
    43 
    +
    44 /// Wave buffer type.
    +
    45 typedef struct tag_ndspWaveBuf ndspWaveBuf;
    +
    46 
    +
    47 /// Wave buffer status.
    +
    48 enum
    +
    49 {
    +
    50  NDSP_WBUF_FREE = 0, ///< The wave buffer is not queued.
    +
    51  NDSP_WBUF_QUEUED = 1, ///< The wave buffer is queued and has not been played yet.
    +
    52  NDSP_WBUF_PLAYING = 2, ///< The wave buffer is playing right now.
    +
    53  NDSP_WBUF_DONE = 3, ///< The wave buffer has finished being played.
    +
    54 };
    +
    55 
    +
    56 /// Wave buffer struct.
    + +
    58 {
    +
    59  union
    +
    60  {
    +
    61  s8* data_pcm8; ///< Pointer to PCM8 sample data.
    +
    62  s16* data_pcm16; ///< Pointer to PCM16 sample data.
    +
    63  u8* data_adpcm; ///< Pointer to DSPADPCM sample data.
    +
    64  const void* data_vaddr; ///< Data virtual address.
    +
    65  };
    +
    66  u32 nsamples; ///< Total number of samples (PCM8=bytes, PCM16=halfwords, DSPADPCM=nibbles without frame headers)
    +
    67  ndspAdpcmData* adpcm_data; ///< ADPCM data.
    +
    68 
    +
    69  u32 offset; ///< Buffer offset. Only used for capture.
    +
    70  bool looping; ///< Whether to loop the buffer.
    +
    71  u8 status; ///< Queuing/playback status.
    +
    72 
    +
    73  u16 sequence_id; ///< Sequence ID. Assigned automatically by ndspChnWaveBufAdd.
    +
    74  ndspWaveBuf* next; ///< Next buffer to play. Used internally, do not modify.
    +
    75 };
    +
    76 
    +
    77 /// Sound frame callback function. (data = User provided data)
    +
    78 typedef void (*ndspCallback)(void* data);
    +
    79 /// Auxiliary output callback function. (data = User provided data, nsamples = Number of samples, samples = Sample data)
    +
    80 typedef void (*ndspAuxCallback)(void* data, int nsamples, void* samples[4]);
    +
    81 ///@}
    +
    82 
    +
    83 ///@name Initialization and basic operations
    +
    84 ///@{
    +
    85 /**
    +
    86  * @brief Sets up the DSP component.
    +
    87  * @param binary DSP binary to load.
    +
    88  * @param size Size of the DSP binary.
    +
    89  * @param progMask Program RAM block mask to load the binary to.
    +
    90  * @param dataMask Data RAM block mask to load the binary to.
    +
    91  */
    +
    92 void ndspUseComponent(const void* binary, u32 size, u16 progMask, u16 dataMask);
    +
    93 
    +
    94 /// Initializes NDSP.
    + +
    96 
    +
    97 /// Exits NDSP.
    +
    98 void ndspExit(void);
    +
    99 
    +
    100 /**
    +
    101  * @brief Gets the number of dropped sound frames.
    +
    102  * @return The number of dropped sound frames.
    +
    103  */
    + +
    105 
    +
    106 /**
    +
    107  * @brief Gets the total sound frame count.
    +
    108  * @return The total sound frame count.
    +
    109  */
    + +
    111 ///@}
    +
    112 
    +
    113 ///@name General parameters
    +
    114 ///@{
    +
    115 /**
    +
    116  * @brief Sets the master volume.
    +
    117  * @param volume Volume to set. Defaults to 1.0f.
    +
    118  */
    +
    119 void ndspSetMasterVol(float volume);
    +
    120 
    +
    121 /**
    +
    122  * @brief Gets the master volume.
    +
    123  * @return The master volume.
    +
    124  */
    +
    125 float ndspGetMasterVol(void);
    +
    126 
    +
    127 /**
    +
    128  * @brief Sets the output mode.
    +
    129  * @param mode Output mode to set. Defaults to NDSP_OUTPUT_STEREO.
    +
    130  */
    + +
    132 
    +
    133 /**
    +
    134  * @brief Gets the output mode.
    +
    135  * @return The output mode.
    +
    136  */
    + +
    138 
    +
    139 /**
    +
    140  * @brief Sets the clipping mode.
    +
    141  * @param mode Clipping mode to set. Defaults to NDSP_CLIP_SOFT.
    +
    142  */
    + +
    144 
    +
    145 /**
    +
    146  * @brief Gets the clipping mode.
    +
    147  * @return The clipping mode.
    +
    148  */
    + +
    150 
    +
    151 /**
    +
    152  * @brief Sets the output count.
    +
    153  * @param count Output count to set. Defaults to 2.
    +
    154  */
    +
    155 void ndspSetOutputCount(int count);
    +
    156 
    +
    157 /**
    +
    158  * @brief Gets the output count.
    +
    159  * @return The output count.
    +
    160  */
    + +
    162 
    +
    163 /**
    +
    164  * @brief Sets the wave buffer to capture audio to.
    +
    165  * @param capture Wave buffer to capture to.
    +
    166  */
    +
    167 void ndspSetCapture(ndspWaveBuf* capture);
    +
    168 
    +
    169 /**
    +
    170  * @brief Sets the sound frame callback.
    +
    171  * @param callback Callback to set.
    +
    172  * @param data User-defined data to pass to the callback.
    +
    173  */
    +
    174 void ndspSetCallback(ndspCallback callback, void* data);
    +
    175 ///@}
    +
    176 
    +
    177 ///@name Surround
    +
    178 ///@{
    +
    179 /**
    +
    180  * @brief Sets the surround sound depth.
    +
    181  * @param depth Depth to set. Defaults to 0x7FFF.
    +
    182  */
    + +
    184 
    +
    185 /**
    +
    186  * @brief Gets the surround sound depth.
    +
    187  * @return The surround sound depth.
    +
    188  */
    + +
    190 
    +
    191 /**
    +
    192  * @brief Sets the surround sound position.
    +
    193  * @param pos Position to set. Defaults to NDSP_SPKPOS_SQUARE.
    +
    194  */
    + +
    196 
    +
    197 /**
    +
    198  * @brief Gets the surround sound position.
    +
    199  * @return The surround sound speaker position.
    +
    200  */
    + +
    202 
    +
    203 /**
    +
    204  * @brief Sets the surround sound rear ratio.
    +
    205  * @param ratio Rear ratio to set. Defaults to 0x8000.
    +
    206  */
    + +
    208 
    +
    209 /**
    +
    210  * @brief Gets the surround sound rear ratio.
    +
    211  * @return The rear ratio.
    +
    212  */
    + +
    214 ///@}
    +
    215 
    +
    216 ///@name Auxiliary output
    +
    217 ///@{
    +
    218 /**
    +
    219  * @brief Configures whether an auxiliary output is enabled.
    +
    220  * @param id ID of the auxiliary output.
    +
    221  * @param enable Whether to enable the auxiliary output.
    +
    222  */
    +
    223 void ndspAuxSetEnable(int id, bool enable);
    +
    224 
    +
    225 /**
    +
    226  * @brief Gets whether auxiliary output is enabled.
    +
    227  * @param id ID of the auxiliary output.
    +
    228  * @return Whether auxiliary output is enabled.
    +
    229  */
    +
    230 bool ndspAuxIsEnabled(int id);
    +
    231 
    +
    232 /**
    +
    233  * @brief Configures whether an auxiliary output should use front bypass.
    +
    234  * @param id ID of the auxiliary output.
    +
    235  * @param bypass Whether to use front bypass.
    +
    236  */
    +
    237 void ndspAuxSetFrontBypass(int id, bool bypass);
    +
    238 
    +
    239 /**
    +
    240  * @brief Gets whether auxiliary output front bypass is enabled.
    +
    241  * @param id ID of the auxiliary output.
    +
    242  * @return Whether auxiliary output front bypass is enabled.
    +
    243  */
    + +
    245 
    +
    246 /**
    +
    247  * @brief Sets the volume of an auxiliary output.
    +
    248  * @param id ID of the auxiliary output.
    +
    249  * @param volume Volume to set.
    +
    250  */
    +
    251 void ndspAuxSetVolume(int id, float volume);
    +
    252 
    +
    253 /**
    +
    254  * @brief Gets the volume of an auxiliary output.
    +
    255  * @param id ID of the auxiliary output.
    +
    256  * @return Volume of the auxiliary output.
    +
    257  */
    +
    258 float ndspAuxGetVolume(int id);
    +
    259 
    +
    260 /**
    +
    261  * @brief Sets the callback of an auxiliary output.
    +
    262  * @param id ID of the auxiliary output.
    +
    263  * @param callback Callback to set.
    +
    264  * @param data User-defined data to pass to the callback.
    +
    265  */
    +
    266 void ndspAuxSetCallback(int id, ndspAuxCallback callback, void* data);
    +
    267 ///@}
    +
    bool ndspAuxGetFrontBypass(int id)
    Gets whether auxiliary output front bypass is enabled.
    +
    float ndspAuxGetVolume(int id)
    Gets the volume of an auxiliary output.
    +
    u32 ndspGetDroppedFrames(void)
    Gets the number of dropped sound frames.
    +
    void ndspSetOutputCount(int count)
    Sets the output count.
    +
    ndspClippingMode
    Definition: ndsp.h:23
    +
    @ NDSP_CLIP_NORMAL
    "Normal" clipping mode (?)
    Definition: ndsp.h:24
    +
    @ NDSP_CLIP_SOFT
    "Soft" clipping mode (?)
    Definition: ndsp.h:25
    +
    ndspSpeakerPos ndspSurroundGetPos(void)
    Gets the surround sound position.
    +
    bool ndspAuxIsEnabled(int id)
    Gets whether auxiliary output is enabled.
    +
    u16 ndspSurroundGetRearRatio(void)
    Gets the surround sound rear ratio.
    +
    void ndspAuxSetCallback(int id, ndspAuxCallback callback, void *data)
    Sets the callback of an auxiliary output.
    +
    float ndspGetMasterVol(void)
    Gets the master volume.
    +
    void ndspSetOutputMode(ndspOutputMode mode)
    Sets the output mode.
    +
    void ndspSurroundSetPos(ndspSpeakerPos pos)
    Sets the surround sound position.
    +
    void ndspUseComponent(const void *binary, u32 size, u16 progMask, u16 dataMask)
    Sets up the DSP component.
    +
    void ndspAuxSetFrontBypass(int id, bool bypass)
    Configures whether an auxiliary output should use front bypass.
    +
    void ndspSetCallback(ndspCallback callback, void *data)
    Sets the sound frame callback.
    +
    ndspClippingMode ndspGetClippingMode(void)
    Gets the clipping mode.
    +
    u16 ndspSurroundGetDepth(void)
    Gets the surround sound depth.
    +
    @ NDSP_WBUF_QUEUED
    The wave buffer is queued and has not been played yet.
    Definition: ndsp.h:51
    +
    @ NDSP_WBUF_FREE
    The wave buffer is not queued.
    Definition: ndsp.h:50
    +
    @ NDSP_WBUF_PLAYING
    The wave buffer is playing right now.
    Definition: ndsp.h:52
    +
    @ NDSP_WBUF_DONE
    The wave buffer has finished being played.
    Definition: ndsp.h:53
    +
    void(* ndspCallback)(void *data)
    Sound frame callback function. (data = User provided data)
    Definition: ndsp.h:78
    +
    u32 ndspGetFrameCount(void)
    Gets the total sound frame count.
    +
    ndspOutputMode ndspGetOutputMode(void)
    Gets the output mode.
    +
    void ndspAuxSetEnable(int id, bool enable)
    Configures whether an auxiliary output is enabled.
    +
    void ndspExit(void)
    Exits NDSP.
    +
    void ndspSetMasterVol(float volume)
    Sets the master volume.
    +
    ndspOutputMode
    Definition: ndsp.h:15
    +
    @ NDSP_OUTPUT_MONO
    Mono sound.
    Definition: ndsp.h:16
    +
    @ NDSP_OUTPUT_STEREO
    Stereo sound.
    Definition: ndsp.h:17
    +
    @ NDSP_OUTPUT_SURROUND
    3D Surround sound
    Definition: ndsp.h:18
    +
    ndspSpeakerPos
    Definition: ndsp.h:30
    +
    @ NDSP_SPKPOS_WIDE
    ?
    Definition: ndsp.h:32
    +
    @ NDSP_SPKPOS_NUM
    ?
    Definition: ndsp.h:33
    +
    @ NDSP_SPKPOS_SQUARE
    ?
    Definition: ndsp.h:31
    +
    void ndspSurroundSetDepth(u16 depth)
    Sets the surround sound depth.
    +
    void ndspSetCapture(ndspWaveBuf *capture)
    Sets the wave buffer to capture audio to.
    +
    void(* ndspAuxCallback)(void *data, int nsamples, void *samples[4])
    Auxiliary output callback function. (data = User provided data, nsamples = Number of samples,...
    Definition: ndsp.h:80
    +
    void ndspAuxSetVolume(int id, float volume)
    Sets the volume of an auxiliary output.
    +
    int ndspGetOutputCount(void)
    Gets the output count.
    +
    void ndspSetClippingMode(ndspClippingMode mode)
    Sets the clipping mode.
    +
    Result ndspInit(void)
    Initializes NDSP.
    +
    void ndspSurroundSetRearRatio(u16 ratio)
    Sets the surround sound rear ratio.
    +
    OS related stuff.
    +
    ADPCM data.
    Definition: ndsp.h:38
    +
    s16 history0
    Last outputted PCM16 sample.
    Definition: ndsp.h:40
    +
    s16 history1
    Second to last outputted PCM16 sample.
    Definition: ndsp.h:41
    +
    u16 index
    Current predictor index.
    Definition: ndsp.h:39
    +
    Wave buffer struct.
    Definition: ndsp.h:58
    +
    const void * data_vaddr
    Data virtual address.
    Definition: ndsp.h:64
    +
    s8 * data_pcm8
    Pointer to PCM8 sample data.
    Definition: ndsp.h:61
    +
    ndspWaveBuf * next
    Next buffer to play. Used internally, do not modify.
    Definition: ndsp.h:74
    +
    bool looping
    Whether to loop the buffer.
    Definition: ndsp.h:70
    +
    u8 * data_adpcm
    Pointer to DSPADPCM sample data.
    Definition: ndsp.h:63
    +
    u16 sequence_id
    Sequence ID. Assigned automatically by ndspChnWaveBufAdd.
    Definition: ndsp.h:73
    +
    ndspAdpcmData * adpcm_data
    ADPCM data.
    Definition: ndsp.h:67
    +
    u32 nsamples
    Total number of samples (PCM8=bytes, PCM16=halfwords, DSPADPCM=nibbles without frame headers)
    Definition: ndsp.h:66
    +
    u8 status
    Queuing/playback status.
    Definition: ndsp.h:71
    +
    s16 * data_pcm16
    Pointer to PCM16 sample data.
    Definition: ndsp.h:62
    +
    u32 offset
    Buffer offset. Only used for capture.
    Definition: ndsp.h:69
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    int8_t s8
    8-bit signed integer
    Definition: types.h:26
    +
    int16_t s16
    16-bit signed integer
    Definition: types.h:27
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint16_t u16
    16-bit unsigned integer
    Definition: types.h:22
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/netdb_8h_source.html b/netdb_8h_source.html new file mode 100644 index 000000000..bd46377fd --- /dev/null +++ b/netdb_8h_source.html @@ -0,0 +1,159 @@ + + + + + + + +libctru: include/netdb.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    netdb.h
    +
    +
    +
    1 #pragma once
    +
    2 
    +
    3 #include <netinet/in.h>
    +
    4 
    +
    5 #define HOST_NOT_FOUND 1
    +
    6 #define NO_DATA 2
    +
    7 #define NO_ADDRESS NO_DATA
    +
    8 #define NO_RECOVERY 3
    +
    9 #define TRY_AGAIN 4
    +
    10 
    +
    11 struct hostent {
    +
    12  char *h_name; /* official name of host */
    +
    13  char **h_aliases; /* alias list */
    +
    14  uint16_t h_addrtype; /* host address type */
    +
    15  uint16_t h_length; /* length of address */
    +
    16  char **h_addr_list; /* list of addresses from name server */
    +
    17 };
    +
    18 #define h_addr h_addr_list[0] /* for backward compatibility */
    +
    19 
    +
    20 #define AI_PASSIVE 0x01
    +
    21 #define AI_CANONNAME 0x02
    +
    22 #define AI_NUMERICHOST 0x04
    +
    23 #define AI_NUMERICSERV 0x00 /* probably 0x08 but services names are never resolved */
    +
    24 
    +
    25 // doesn't apply to 3ds
    +
    26 #define AI_ADDRCONFIG 0x00
    +
    27 
    +
    28 
    +
    29 #define NI_MAXHOST 1025
    +
    30 #define NI_MAXSERV 32
    +
    31 
    +
    32 #define NI_NOFQDN 0x01
    +
    33 #define NI_NUMERICHOST 0x02
    +
    34 #define NI_NAMEREQD 0x04
    +
    35 #define NI_NUMERICSERV 0x00 /* probably 0x08 but services names are never resolved */
    +
    36 #define NI_DGRAM 0x00 /* probably 0x10 but services names are never resolved */
    +
    37 
    +
    38 #define EAI_FAMILY (-303)
    +
    39 #define EAI_MEMORY (-304)
    +
    40 #define EAI_NONAME (-305)
    +
    41 #define EAI_SOCKTYPE (-307)
    +
    42 
    +
    43 struct addrinfo {
    +
    44  int ai_flags;
    +
    45  int ai_family;
    +
    46  int ai_socktype;
    +
    47  int ai_protocol;
    +
    48  socklen_t ai_addrlen;
    +
    49  char *ai_canonname;
    +
    50  struct sockaddr *ai_addr;
    +
    51  struct addrinfo *ai_next;
    +
    52 };
    +
    53 
    +
    54 #ifdef __cplusplus
    +
    55 extern "C" {
    +
    56 #endif
    +
    57 
    +
    58  extern int h_errno;
    +
    59  struct hostent* gethostbyname(const char *name);
    +
    60  struct hostent* gethostbyaddr(const void *addr, socklen_t len, int type);
    +
    61  void herror(const char *s);
    +
    62  const char* hstrerror(int err);
    +
    63 
    +
    64  int getnameinfo(const struct sockaddr *sa, socklen_t salen,
    +
    65  char *host, socklen_t hostlen,
    +
    66  char *serv, socklen_t servlen, int flags);
    +
    67 
    +
    68  int getaddrinfo(const char *node, const char *service,
    +
    69  const struct addrinfo *hints,
    +
    70  struct addrinfo **res);
    +
    71 
    +
    72  void freeaddrinfo(struct addrinfo *ai);
    +
    73 
    +
    74  const char *gai_strerror(int ecode);
    +
    75 #ifdef __cplusplus
    +
    76 }
    +
    77 #endif
    +
    Definition: netdb.h:43
    +
    Definition: netdb.h:11
    +
    Definition: socket.h:52
    +
    + + + + diff --git a/network_2boss_2source_2main_8c-example.html b/network_2boss_2source_2main_8c-example.html new file mode 100644 index 000000000..f935393ec --- /dev/null +++ b/network_2boss_2source_2main_8c-example.html @@ -0,0 +1,295 @@ + + + + + + + +libctru: network/boss/source/main.c + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    network/boss/source/main.c
    +
    +
    +
    #include <string.h>
    +
    #include <stdio.h>
    +
    +
    #include <3ds.h>
    +
    +
    char regionids_table[7][4] = {//https://3dbrew.org/wiki/Nandrw/sys/SecureInfo_A
    +
    "JPN",
    +
    "USA",
    +
    "EUR",
    +
    "JPN", //"AUS"
    +
    "CHN",
    +
    "KOR",
    +
    "TWN"
    +
    };
    +
    +
    Result setup_boss()
    +
    {
    +
    Result ret=0;
    +
    u32 test_NsDataId = 0x57524248;//This can be anything.
    +
    +
    u8 region=0;
    +
    + +
    u8 status=0;
    +
    u32 tmp=0;
    +
    u32 contentsize=0;
    +
    +
    char *taskID = "tmptask";//Should be unique per task(and unique per homebrew when running under *hax payload >=v2.8), unless the task is deleted afterwards.
    +
    +
    char tmpstr[256];
    +
    +
    printf("Running BOSS setup...\n");
    +
    +
    ret = cfguInit();
    +
    if(ret!=0)
    +
    {
    +
    printf("Failed to init cfg: 0x%08x.\n", (unsigned int)ret);
    +
    return ret;
    +
    }
    +
    ret = CFGU_SecureInfoGetRegion(&region);
    +
    if(ret!=0)
    +
    {
    +
    printf("Failed to get region from cfg: 0x%08x.\n", (unsigned int)ret);
    +
    return ret;
    +
    }
    +
    if(region>=7)
    +
    {
    +
    printf("Region value from cfg is invalid: 0x%02x.\n", (unsigned int)region);
    +
    ret = -9;
    +
    return ret;
    +
    }
    + +
    +
    ret = bossInit(0, false);
    +
    if(R_FAILED(ret))return ret;
    +
    +
    //If you're using background tasks you should check whether the task exists first, and skip task setup if so.
    +
    +
    bossDeleteTask(taskID, 0);
    +
    bossDeleteNsData(test_NsDataId);
    +
    +
    //HTTP is used here since it's currently unknown how to setup a non-default rootCA cert for BOSS.
    +
    //This uses a 60-second interval, with background tasks you will probably want to change that.
    +
    //You can change the below URL to your own, the URL should include region info(see README).
    +
    +
    memset(tmpstr, 0, sizeof(tmpstr));
    +
    snprintf(tmpstr, sizeof(tmpstr)-1, "http://yls8.mtheall.com/boss/libctru_example/%s_bossdata0.bin", regionids_table[region]);
    +
    +
    bossSetupContextDefault(&ctx, 60, tmpstr);
    +
    +
    ret = bossSendContextConfig(&ctx);
    +
    if(R_FAILED(ret))printf("bossSendContextConfig returned 0x%08x.\n", (unsigned int)ret);
    +
    +
    if(R_SUCCEEDED(ret))
    +
    {
    +
    ret = bossRegisterTask(taskID, 0, 0);
    +
    if(R_FAILED(ret))printf("bossRegisterTask returned 0x%08x.\n", (unsigned int)ret);
    +
    +
    if(R_SUCCEEDED(ret))
    +
    {
    +
    ret = bossStartTaskImmediate(taskID);
    +
    if(R_FAILED(ret))printf("bossStartTaskImmediate returned 0x%08x.\n", (unsigned int)ret);
    +
    +
    //The below is only needed if you want to process the content immediately.
    +
    +
    if(R_SUCCEEDED(ret))
    +
    {
    +
    printf("Waiting for the task to finish running...\n");
    +
    +
    while(1)
    +
    {
    +
    ret = bossGetTaskState(taskID, 0, &status, NULL, NULL);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("bossGetTaskState returned 0x%08x.\n", (unsigned int)ret);
    +
    break;
    +
    }
    +
    if(R_SUCCEEDED(ret))
    +
    {
    +
    printf("...\n");
    +
    }
    +
    +
    if(status!=BOSSTASKSTATUS_STARTED)break;
    +
    +
    svcSleepThread(1000000000LL);//Delay 1s.
    +
    }
    +
    }
    +
    +
    if(R_SUCCEEDED(ret) && status==BOSSTASKSTATUS_ERROR)
    +
    {
    +
    printf("BOSS task failed. This usually indicates a network failure.\n");
    +
    ret = -9;
    +
    }
    +
    +
    if(R_SUCCEEDED(ret))
    +
    {
    +
    printf("Reading BOSS content...\n");
    +
    +
    ret = bossGetNsDataHeaderInfo(test_NsDataId, bossNsDataHeaderInfoType_ContentSize, &contentsize, bossNsDataHeaderInfoTypeSize_ContentSize);
    +
    if(R_FAILED(ret))printf("bossGetNsDataHeaderInfo returned 0x%08x.\n", (unsigned int)ret);
    +
    +
    if(R_SUCCEEDED(ret))
    +
    {
    +
    printf("Content size: 0x%x.\n", (unsigned int)contentsize);
    +
    if(contentsize > sizeof(tmpstr)-1)contentsize = sizeof(tmpstr)-1;
    +
    +
    tmp = 0;
    +
    memset(tmpstr, 0, sizeof(tmpstr));
    +
    ret = bossReadNsData(test_NsDataId, 0, tmpstr, contentsize, &tmp, NULL);
    +
    if(R_FAILED(ret))printf("bossReadNsData returned 0x%08x, transfer_total=0x%x.\n", (unsigned int)ret, (unsigned int)tmp);
    +
    }
    +
    +
    if(R_SUCCEEDED(ret) && tmp!=contentsize)ret = -10;
    +
    +
    //This verifies that the first 4-bytes matches the expected data, but you can do whatever with the loaded content here.
    +
    if(R_SUCCEEDED(ret) && strncmp(tmpstr, "Test", 4))ret = -11;
    +
    +
    if(R_SUCCEEDED(ret))printf("Content data at offset 0x4: %s\n", &tmpstr[4]);
    +
    +
    if(R_FAILED(ret))printf("BOSS data reading failed: 0x%08x.\n", (unsigned int)ret);
    +
    }
    +
    +
    bossDeleteTask(taskID, 0);//Don't run this if you want a background task.
    +
    bossDeleteNsData(test_NsDataId);//Don't run this if the SpotPass content will be used again later.
    +
    }
    +
    }
    +
    +
    if(R_SUCCEEDED(ret))printf("Done.\n");
    +
    + +
    +
    return ret;
    +
    }
    +
    +
    int main(int argc, char **argv) {
    +
    +
    Result ret = 0;
    +
    + + +
    +
    ret = setup_boss();
    +
    if(R_FAILED(ret))printf("setup_boss() failed: 0x%08x.\n", (unsigned int)ret);
    +
    +
    printf("Press START to exit.\n");
    +
    +
    // Main loop
    +
    while (aptMainLoop()) {
    +
    + + +
    +
    // Your code goes here
    +
    +
    u32 kDown = hidKeysDown();
    +
    if (kDown & KEY_START)
    +
    break; // break in order to return to hbmenu
    +
    +
    // Flush and swap framebuffers
    + + +
    }
    +
    + +
    return 0;
    +
    }
    +
    +
    Central 3DS header.
    +
    bool aptMainLoop(void)
    Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
    +
    Result bossGetTaskState(const char *taskID, s8 inval, u8 *status, u32 *out1, u8 *out2)
    Returns task state.
    +
    void bossSetupContextDefault(bossContext *ctx, u32 seconds_interval, const char *url)
    Setup a BOSS context with the default config.
    +
    Result bossSendContextConfig(bossContext *ctx)
    Sends the config stored in the context.
    +
    Result bossInit(u64 programID, bool force_user)
    Initializes BOSS.
    +
    Result bossReadNsData(u32 NsDataId, u64 offset, void *buffer, u32 size, u32 *transfer_total, u32 *unk_out)
    Reads data from the content for the specified NsDataId.
    +
    void bossExit(void)
    Exits BOSS.
    +
    Result bossStartTaskImmediate(const char *taskID)
    Starts a task soon after running this command.
    +
    Result bossDeleteTask(const char *taskID, u32 unk)
    Deletes a task by using CancelTask and UnregisterTask internally.
    +
    Result bossDeleteNsData(u32 NsDataId)
    Deletes the content file for the specified NsDataId.
    +
    Result bossGetNsDataHeaderInfo(u32 NsDataId, u8 type, void *buffer, u32 size)
    Gets header info for the specified NsDataId.
    +
    Result bossRegisterTask(const char *taskID, u8 unk0, u8 unk1)
    Register a task.
    +
    Result cfguInit(void)
    Initializes CFGU.
    +
    Result CFGU_SecureInfoGetRegion(u8 *region)
    Gets the system's region from secure info.
    +
    void cfguExit(void)
    Exits CFGU.
    +
    PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
    Initialise the console.
    +
    void gfxSwapBuffers(void)
    Updates the configuration of both screens.
    +
    void gfxInitDefault(void)
    Initializes the LCD framebuffers with default parameters This is equivalent to calling:
    +
    @ GFX_TOP
    Top screen.
    Definition: gfx.h:26
    +
    void gfxExit(void)
    Deinitializes and frees the LCD framebuffers.
    +
    void gfxFlushBuffers(void)
    Flushes the data cache for the current framebuffers.
    +
    #define gspWaitForVBlank()
    Waits for VBlank.
    Definition: gspgpu.h:151
    +
    @ KEY_START
    Start.
    Definition: hid.h:15
    +
    u32 hidKeysDown(void)
    Returns a bitmask of newly pressed buttons, this frame.
    +
    void hidScanInput(void)
    Scans HID for input data.
    +
    #define R_FAILED(res)
    Checks whether a result code indicates failure.
    Definition: result.h:11
    +
    #define R_SUCCEEDED(res)
    Checks whether a result code indicates success.
    Definition: result.h:9
    +
    BOSS context.
    Definition: boss.h:9
    +
    void svcSleepThread(s64 ns)
    Puts the current thread to sleep.
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/network_2http_2source_2main_8c-example.html b/network_2http_2source_2main_8c-example.html new file mode 100644 index 000000000..472a02fcc --- /dev/null +++ b/network_2http_2source_2main_8c-example.html @@ -0,0 +1,291 @@ + + + + + + + +libctru: network/http/source/main.c + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    network/http/source/main.c
    +
    +
    +
    #include <stdlib.h>
    +
    #include <string.h>
    +
    #include <stdio.h>
    +
    #include <inttypes.h>
    +
    +
    #include <3ds.h>
    +
    +
    Result http_download(const char *url)
    +
    {
    +
    Result ret=0;
    +
    httpcContext context;
    +
    char *newurl=NULL;
    +
    u8* framebuf_top;
    +
    u32 statuscode=0;
    +
    u32 contentsize=0, readsize=0, size=0;
    +
    u8 *buf, *lastbuf;
    +
    +
    printf("Downloading %s\n",url);
    +
    +
    do {
    +
    ret = httpcOpenContext(&context, HTTPC_METHOD_GET, url, 1);
    +
    printf("return from httpcOpenContext: %" PRId32 "\n",ret);
    +
    +
    // This disables SSL cert verification, so https:// will be usable
    +
    ret = httpcSetSSLOpt(&context, SSLCOPT_DisableVerify);
    +
    printf("return from httpcSetSSLOpt: %" PRId32 "\n",ret);
    +
    +
    // Enable Keep-Alive connections
    +
    ret = httpcSetKeepAlive(&context, HTTPC_KEEPALIVE_ENABLED);
    +
    printf("return from httpcSetKeepAlive: %" PRId32 "\n",ret);
    +
    +
    // Set a User-Agent header so websites can identify your application
    +
    ret = httpcAddRequestHeaderField(&context, "User-Agent", "httpc-example/1.0.0");
    +
    printf("return from httpcAddRequestHeaderField: %" PRId32 "\n",ret);
    +
    +
    // Tell the server we can support Keep-Alive connections.
    +
    // This will delay connection teardown momentarily (typically 5s)
    +
    // in case there is another request made to the same server.
    +
    ret = httpcAddRequestHeaderField(&context, "Connection", "Keep-Alive");
    +
    printf("return from httpcAddRequestHeaderField: %" PRId32 "\n",ret);
    +
    +
    ret = httpcBeginRequest(&context);
    +
    if(ret!=0){
    +
    httpcCloseContext(&context);
    +
    if(newurl!=NULL) free(newurl);
    +
    return ret;
    +
    }
    +
    +
    ret = httpcGetResponseStatusCode(&context, &statuscode);
    +
    if(ret!=0){
    +
    httpcCloseContext(&context);
    +
    if(newurl!=NULL) free(newurl);
    +
    return ret;
    +
    }
    +
    +
    if ((statuscode >= 301 && statuscode <= 303) || (statuscode >= 307 && statuscode <= 308)) {
    +
    if(newurl==NULL) newurl = (char*)malloc(0x1000); // One 4K page for new URL
    +
    if (newurl==NULL){
    +
    httpcCloseContext(&context);
    +
    return -1;
    +
    }
    +
    ret = httpcGetResponseHeader(&context, "Location", newurl, 0x1000);
    +
    url = newurl; // Change pointer to the url that we just learned
    +
    printf("redirecting to url: %s\n",url);
    +
    httpcCloseContext(&context); // Close this context before we try the next
    +
    }
    +
    } while ((statuscode >= 301 && statuscode <= 303) || (statuscode >= 307 && statuscode <= 308));
    +
    +
    if(statuscode!=200){
    +
    printf("URL returned status: %" PRId32 "\n", statuscode);
    +
    httpcCloseContext(&context);
    +
    if(newurl!=NULL) free(newurl);
    +
    return -2;
    +
    }
    +
    +
    // This relies on an optional Content-Length header and may be 0
    +
    ret=httpcGetDownloadSizeState(&context, NULL, &contentsize);
    +
    if(ret!=0){
    +
    httpcCloseContext(&context);
    +
    if(newurl!=NULL) free(newurl);
    +
    return ret;
    +
    }
    +
    +
    printf("reported size: %" PRId32 "\n",contentsize);
    +
    +
    // Start with a single page buffer
    +
    buf = (u8*)malloc(0x1000);
    +
    if(buf==NULL){
    +
    httpcCloseContext(&context);
    +
    if(newurl!=NULL) free(newurl);
    +
    return -1;
    +
    }
    +
    +
    do {
    +
    // This download loop resizes the buffer as data is read.
    +
    ret = httpcDownloadData(&context, buf+size, 0x1000, &readsize);
    +
    size += readsize;
    + +
    lastbuf = buf; // Save the old pointer, in case realloc() fails.
    +
    buf = (u8*)realloc(buf, size + 0x1000);
    +
    if(buf==NULL){
    +
    httpcCloseContext(&context);
    +
    free(lastbuf);
    +
    if(newurl!=NULL) free(newurl);
    +
    return -1;
    +
    }
    +
    }
    + +
    +
    if(ret!=0){
    +
    httpcCloseContext(&context);
    +
    if(newurl!=NULL) free(newurl);
    +
    free(buf);
    +
    return -1;
    +
    }
    +
    +
    // Resize the buffer back down to our actual final size
    +
    lastbuf = buf;
    +
    buf = (u8*)realloc(buf, size);
    +
    if(buf==NULL){ // realloc() failed.
    +
    httpcCloseContext(&context);
    +
    free(lastbuf);
    +
    if(newurl!=NULL) free(newurl);
    +
    return -1;
    +
    }
    +
    +
    printf("downloaded size: %" PRId32 "\n",size);
    +
    +
    if(size>(240*400*3*2))size = 240*400*3*2;
    +
    +
    framebuf_top = gfxGetFramebuffer(GFX_TOP, GFX_LEFT, NULL, NULL);
    +
    memcpy(framebuf_top, buf, size);
    +
    + + +
    +
    framebuf_top = gfxGetFramebuffer(GFX_TOP, GFX_LEFT, NULL, NULL);
    +
    memcpy(framebuf_top, buf, size);
    +
    + + + +
    +
    httpcCloseContext(&context);
    +
    free(buf);
    +
    if (newurl!=NULL) free(newurl);
    +
    +
    return 0;
    +
    }
    +
    +
    int main()
    +
    {
    +
    Result ret=0;
    + +
    httpcInit(0); // Buffer size when POST/PUT.
    +
    + +
    +
    ret=http_download("http://devkitpro.org/misc/httpexample_rawimg.rgb");
    +
    // Try the following for redirection to the above URL.
    +
    // ret=http_download("http://tinyurl.com/hd8jwqx");
    +
    printf("return from http_download: %" PRId32 "\n",ret);
    +
    +
    // Main loop
    +
    while (aptMainLoop())
    +
    {
    + + +
    +
    // Your code goes here
    +
    +
    u32 kDown = hidKeysDown();
    +
    if (kDown & KEY_START)
    +
    break; // break in order to return to hbmenu
    +
    +
    }
    +
    +
    // Exit services
    + + +
    return 0;
    +
    }
    +
    +
    Central 3DS header.
    +
    bool aptMainLoop(void)
    Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
    +
    PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
    Initialise the console.
    +
    void gfxSwapBuffers(void)
    Updates the configuration of both screens.
    +
    void gfxInitDefault(void)
    Initializes the LCD framebuffers with default parameters This is equivalent to calling:
    +
    u8 * gfxGetFramebuffer(gfxScreen_t screen, gfx3dSide_t side, u16 *width, u16 *height)
    Retrieves the framebuffer of the specified screen to which graphics should be rendered.
    +
    @ GFX_BOTTOM
    Bottom screen.
    Definition: gfx.h:27
    +
    @ GFX_TOP
    Top screen.
    Definition: gfx.h:26
    +
    void gfxExit(void)
    Deinitializes and frees the LCD framebuffers.
    +
    @ GFX_LEFT
    Left eye framebuffer.
    Definition: gfx.h:37
    +
    void gfxFlushBuffers(void)
    Flushes the data cache for the current framebuffers.
    +
    #define gspWaitForVBlank()
    Waits for VBlank.
    Definition: gspgpu.h:151
    +
    @ KEY_START
    Start.
    Definition: hid.h:15
    +
    u32 hidKeysDown(void)
    Returns a bitmask of newly pressed buttons, this frame.
    +
    void hidScanInput(void)
    Scans HID for input data.
    +
    Result httpcGetResponseStatusCode(httpcContext *context, u32 *out)
    Gets the response code of the HTTP context.
    +
    Result httpcBeginRequest(httpcContext *context)
    Begins a HTTP request.
    +
    Result httpcGetResponseHeader(httpcContext *context, const char *name, char *value, u32 valuebuf_maxsize)
    Gets a response header field from a HTTP context.
    +
    Result httpcGetDownloadSizeState(httpcContext *context, u32 *downloadedsize, u32 *contentsize)
    Gets the download size state of a HTTP context.
    +
    Result httpcSetKeepAlive(httpcContext *context, HTTPC_KeepAlive option)
    Sets Keep-Alive for the context.
    +
    Result httpcAddRequestHeaderField(httpcContext *context, const char *name, const char *value)
    Adds a request header field to a HTTP context.
    +
    Result httpcInit(u32 sharedmem_size)
    Initializes HTTPC. For HTTP GET the sharedmem_size can be zero. The sharedmem contains data which wil...
    +
    Result httpcDownloadData(httpcContext *context, u8 *buffer, u32 size, u32 *downloadedsize)
    Downloads data from the HTTP context into a buffer.
    +
    Result httpcOpenContext(httpcContext *context, HTTPC_RequestMethod method, const char *url, u32 use_defaultproxy)
    Opens a HTTP context.
    +
    void httpcExit(void)
    Exits HTTPC.
    +
    #define HTTPC_RESULTCODE_DOWNLOADPENDING
    Result code returned when a download is pending.
    Definition: httpc.h:35
    +
    Result httpcSetSSLOpt(httpcContext *context, u32 options)
    Sets SSL options for the context.
    +
    Result httpcCloseContext(httpcContext *context)
    Closes a HTTP context.
    +
    HTTP context.
    Definition: httpc.h:8
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    int32_t s32
    32-bit signed integer
    Definition: types.h:28
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/network_2http_post_2source_2main_8c-example.html b/network_2http_post_2source_2main_8c-example.html new file mode 100644 index 000000000..f1b2ee6af --- /dev/null +++ b/network_2http_post_2source_2main_8c-example.html @@ -0,0 +1,288 @@ + + + + + + + +libctru: network/http_post/source/main.c + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    network/http_post/source/main.c
    +
    +
    +
    #include <stdlib.h>
    +
    #include <string.h>
    +
    #include <stdio.h>
    +
    #include <inttypes.h>
    +
    +
    #include <3ds.h>
    +
    +
    Result http_post(const char* url, const char* data)
    +
    {
    +
    Result ret=0;
    +
    httpcContext context;
    +
    char *newurl=NULL;
    +
    u32 statuscode=0;
    +
    u32 contentsize=0, readsize=0, size=0;
    +
    u8 *buf, *lastbuf;
    +
    +
    printf("POSTing %s\n", url);
    +
    +
    do {
    +
    ret = httpcOpenContext(&context, HTTPC_METHOD_POST, url, 0);
    +
    printf("return from httpcOpenContext: %" PRIx32 "\n",ret);
    +
    +
    // This disables SSL cert verification, so https:// will be usable
    +
    ret = httpcSetSSLOpt(&context, SSLCOPT_DisableVerify);
    +
    printf("return from httpcSetSSLOpt: %" PRIx32 "\n",ret);
    +
    +
    // Enable Keep-Alive connections
    +
    ret = httpcSetKeepAlive(&context, HTTPC_KEEPALIVE_ENABLED);
    +
    printf("return from httpcSetKeepAlive: %" PRIx32 "\n",ret);
    +
    +
    // Set a User-Agent header so websites can identify your application
    +
    ret = httpcAddRequestHeaderField(&context, "User-Agent", "httpc-example/1.0.0");
    +
    printf("return from httpcAddRequestHeaderField: %" PRIx32 "\n",ret);
    +
    +
    // Set a Content-Type header so websites can identify the format of our raw body data.
    +
    // If you want to send form data in your request, use:
    +
    //ret = httpcAddRequestHeaderField(&context, "Content-Type", "multipart/form-data");
    +
    // If you want to send raw JSON data in your request, use:
    +
    ret = httpcAddRequestHeaderField(&context, "Content-Type", "application/json");
    +
    printf("return from httpcAddRequestHeaderField: %" PRIx32 "\n",ret);
    +
    +
    // Post specified data.
    +
    // If you want to add a form field to your request, use:
    +
    //ret = httpcAddPostDataAscii(&context, "data", value);
    +
    // If you want to add a form field containing binary data to your request, use:
    +
    //ret = httpcAddPostDataBinary(&context, "field name", yourBinaryData, length);
    +
    // If you want to add raw data to your request, use:
    +
    ret = httpcAddPostDataRaw(&context, (u32*)data, strlen(data));
    +
    printf("return from httpcAddPostDataRaw: %" PRIx32 "\n",ret);
    +
    +
    ret = httpcBeginRequest(&context);
    +
    if(ret!=0){
    +
    httpcCloseContext(&context);
    +
    if(newurl!=NULL) free(newurl);
    +
    return ret;
    +
    }
    +
    +
    ret = httpcGetResponseStatusCode(&context, &statuscode);
    +
    if(ret!=0){
    +
    httpcCloseContext(&context);
    +
    if(newurl!=NULL) free(newurl);
    +
    return ret;
    +
    }
    +
    +
    if ((statuscode >= 301 && statuscode <= 303) || (statuscode >= 307 && statuscode <= 308)) {
    +
    if(newurl==NULL) newurl = malloc(0x1000); // One 4K page for new URL
    +
    if (newurl==NULL){
    +
    httpcCloseContext(&context);
    +
    return -1;
    +
    }
    +
    ret = httpcGetResponseHeader(&context, "Location", newurl, 0x1000);
    +
    url = newurl; // Change pointer to the url that we just learned
    +
    printf("redirecting to url: %s\n",url);
    +
    httpcCloseContext(&context); // Close this context before we try the next
    +
    }
    +
    } while ((statuscode >= 301 && statuscode <= 303) || (statuscode >= 307 && statuscode <= 308));
    +
    +
    if(statuscode!=200){
    +
    printf("URL returned status: %" PRIx32 "\n", statuscode);
    +
    httpcCloseContext(&context);
    +
    if(newurl!=NULL) free(newurl);
    +
    return -2;
    +
    }
    +
    +
    // This relies on an optional Content-Length header and may be 0
    +
    ret=httpcGetDownloadSizeState(&context, NULL, &contentsize);
    +
    if(ret!=0){
    +
    httpcCloseContext(&context);
    +
    if(newurl!=NULL) free(newurl);
    +
    return ret;
    +
    }
    +
    +
    printf("reported size: %" PRIx32 "\n",contentsize);
    +
    +
    // Start with a single page buffer
    +
    buf = (u8*)malloc(0x1000);
    +
    if(buf==NULL){
    +
    httpcCloseContext(&context);
    +
    if(newurl!=NULL) free(newurl);
    +
    return -1;
    +
    }
    +
    +
    do {
    +
    // This download loop resizes the buffer as data is read.
    +
    ret = httpcDownloadData(&context, buf+size, 0x1000, &readsize);
    +
    size += readsize;
    + +
    lastbuf = buf; // Save the old pointer, in case realloc() fails.
    +
    buf = realloc(buf, size + 0x1000);
    +
    if(buf==NULL){
    +
    httpcCloseContext(&context);
    +
    free(lastbuf);
    +
    if(newurl!=NULL) free(newurl);
    +
    return -1;
    +
    }
    +
    }
    + +
    +
    if(ret!=0){
    +
    httpcCloseContext(&context);
    +
    if(newurl!=NULL) free(newurl);
    +
    free(buf);
    +
    return -1;
    +
    }
    +
    +
    // Resize the buffer back down to our actual final size
    +
    lastbuf = buf;
    +
    buf = realloc(buf, size);
    +
    if(buf==NULL){ // realloc() failed.
    +
    httpcCloseContext(&context);
    +
    free(lastbuf);
    +
    if(newurl!=NULL) free(newurl);
    +
    return -1;
    +
    }
    +
    +
    printf("response size: %" PRIx32 "\n",size);
    +
    +
    // Print result
    +
    printf((char*)buf);
    +
    printf("\n");
    +
    + + +
    +
    httpcCloseContext(&context);
    +
    free(buf);
    +
    if (newurl!=NULL) free(newurl);
    +
    +
    return 0;
    +
    }
    +
    +
    int main()
    +
    {
    +
    Result ret=0;
    + +
    httpcInit(4 * 1024 * 1024); // Buffer size when POST/PUT.
    +
    + +
    +
    ret=http_post("http://httpbin.org/post", "{\"foo\": \"bar\"}");
    +
    printf("return from http_post: %" PRIx32 "\n",ret);
    +
    +
    // Main loop
    +
    while (aptMainLoop())
    +
    {
    + + +
    +
    // Your code goes here
    +
    +
    u32 kDown = hidKeysDown();
    +
    if (kDown & KEY_START)
    +
    break; // break in order to return to hbmenu
    +
    +
    }
    +
    +
    // Exit services
    + + +
    return 0;
    +
    }
    +
    +
    Central 3DS header.
    +
    bool aptMainLoop(void)
    Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
    +
    PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
    Initialise the console.
    +
    void gfxSwapBuffers(void)
    Updates the configuration of both screens.
    +
    void gfxInitDefault(void)
    Initializes the LCD framebuffers with default parameters This is equivalent to calling:
    +
    @ GFX_BOTTOM
    Bottom screen.
    Definition: gfx.h:27
    +
    void gfxExit(void)
    Deinitializes and frees the LCD framebuffers.
    +
    void gfxFlushBuffers(void)
    Flushes the data cache for the current framebuffers.
    +
    #define gspWaitForVBlank()
    Waits for VBlank.
    Definition: gspgpu.h:151
    +
    @ KEY_START
    Start.
    Definition: hid.h:15
    +
    u32 hidKeysDown(void)
    Returns a bitmask of newly pressed buttons, this frame.
    +
    void hidScanInput(void)
    Scans HID for input data.
    +
    Result httpcGetResponseStatusCode(httpcContext *context, u32 *out)
    Gets the response code of the HTTP context.
    +
    Result httpcBeginRequest(httpcContext *context)
    Begins a HTTP request.
    +
    Result httpcGetResponseHeader(httpcContext *context, const char *name, char *value, u32 valuebuf_maxsize)
    Gets a response header field from a HTTP context.
    +
    Result httpcGetDownloadSizeState(httpcContext *context, u32 *downloadedsize, u32 *contentsize)
    Gets the download size state of a HTTP context.
    +
    Result httpcSetKeepAlive(httpcContext *context, HTTPC_KeepAlive option)
    Sets Keep-Alive for the context.
    +
    Result httpcAddRequestHeaderField(httpcContext *context, const char *name, const char *value)
    Adds a request header field to a HTTP context.
    +
    Result httpcInit(u32 sharedmem_size)
    Initializes HTTPC. For HTTP GET the sharedmem_size can be zero. The sharedmem contains data which wil...
    +
    Result httpcDownloadData(httpcContext *context, u8 *buffer, u32 size, u32 *downloadedsize)
    Downloads data from the HTTP context into a buffer.
    +
    Result httpcOpenContext(httpcContext *context, HTTPC_RequestMethod method, const char *url, u32 use_defaultproxy)
    Opens a HTTP context.
    +
    void httpcExit(void)
    Exits HTTPC.
    +
    Result httpcAddPostDataRaw(httpcContext *context, const u32 *data, u32 len)
    Adds a POST body to a HTTP context.
    +
    #define HTTPC_RESULTCODE_DOWNLOADPENDING
    Result code returned when a download is pending.
    Definition: httpc.h:35
    +
    Result httpcSetSSLOpt(httpcContext *context, u32 options)
    Sets SSL options for the context.
    +
    Result httpcCloseContext(httpcContext *context)
    Closes a HTTP context.
    +
    HTTP context.
    Definition: httpc.h:8
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    int32_t s32
    32-bit signed integer
    Definition: types.h:28
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/network_2sockets_2source_2sockets_8c-example.html b/network_2sockets_2source_2sockets_8c-example.html new file mode 100644 index 000000000..c3c342eea --- /dev/null +++ b/network_2sockets_2source_2sockets_8c-example.html @@ -0,0 +1,274 @@ + + + + + + + +libctru: network/sockets/source/sockets.c + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    network/sockets/source/sockets.c
    +
    +
    +
    #include <stdio.h>
    +
    #include <stdlib.h>
    +
    #include <string.h>
    +
    #include <malloc.h>
    +
    #include <errno.h>
    +
    #include <stdarg.h>
    +
    #include <unistd.h>
    +
    +
    #include <fcntl.h>
    +
    +
    #include <sys/types.h>
    +
    +
    #include <sys/socket.h>
    +
    #include <netinet/in.h>
    +
    #include <arpa/inet.h>
    +
    +
    #include <3ds.h>
    +
    +
    #define SOC_ALIGN 0x1000
    +
    #define SOC_BUFFERSIZE 0x100000
    +
    +
    static u32 *SOC_buffer = NULL;
    +
    s32 sock = -1, csock = -1;
    +
    +
    __attribute__((format(printf,1,2)))
    +
    void failExit(const char *fmt, ...);
    +
    +
    const static char http_200[] = "HTTP/1.1 200 OK\r\n";
    +
    +
    const static char indexdata[] = "<html> \
    +
    <head><title>A test page</title></head> \
    +
    <body> \
    +
    This small test page has had %d hits. \
    +
    </body> \
    +
    </html>";
    +
    +
    const static char http_html_hdr[] = "Content-type: text/html\r\n\r\n";
    +
    const static char http_get_index[] = "GET / HTTP/1.1\r\n";
    +
    +
    +
    //---------------------------------------------------------------------------------
    +
    void socShutdown() {
    +
    //---------------------------------------------------------------------------------
    +
    printf("waiting for socExit...\n");
    + +
    +
    }
    +
    +
    //---------------------------------------------------------------------------------
    +
    int main(int argc, char **argv) {
    +
    //---------------------------------------------------------------------------------
    +
    int ret;
    +
    +
    u32 clientlen;
    +
    struct sockaddr_in client;
    +
    struct sockaddr_in server;
    +
    char temp[1026];
    +
    static int hits=0;
    +
    + +
    +
    // register gfxExit to be run when app quits
    +
    // this can help simplify error handling
    +
    atexit(gfxExit);
    +
    + +
    +
    printf ("\nlibctru sockets demo\n");
    +
    +
    // allocate buffer for SOC service
    +
    SOC_buffer = (u32*)memalign(SOC_ALIGN, SOC_BUFFERSIZE);
    +
    +
    if(SOC_buffer == NULL) {
    +
    failExit("memalign: failed to allocate\n");
    +
    }
    +
    +
    // Now intialise soc:u service
    +
    if ((ret = socInit(SOC_buffer, SOC_BUFFERSIZE)) != 0) {
    +
    failExit("socInit: 0x%08X\n", (unsigned int)ret);
    +
    }
    +
    +
    // register socShutdown to run at exit
    +
    // atexit functions execute in reverse order so this runs before gfxExit
    +
    atexit(socShutdown);
    +
    +
    // libctru provides BSD sockets so most code from here is standard
    +
    clientlen = sizeof(client);
    +
    +
    sock = socket (AF_INET, SOCK_STREAM, IPPROTO_IP);
    +
    +
    if (sock < 0) {
    +
    failExit("socket: %d %s\n", errno, strerror(errno));
    +
    }
    +
    +
    memset (&server, 0, sizeof (server));
    +
    memset (&client, 0, sizeof (client));
    +
    +
    server.sin_family = AF_INET;
    +
    server.sin_port = htons (80);
    +
    server.sin_addr.s_addr = gethostid();
    +
    +
    printf("Point your browser to http://%s/\n",inet_ntoa(server.sin_addr));
    +
    +
    if ( (ret = bind (sock, (struct sockaddr *) &server, sizeof (server))) ) {
    +
    close(sock);
    +
    failExit("bind: %d %s\n", errno, strerror(errno));
    +
    }
    +
    +
    // Set socket non blocking so we can still read input to exit
    +
    fcntl(sock, F_SETFL, fcntl(sock, F_GETFL, 0) | O_NONBLOCK);
    +
    +
    if ( (ret = listen( sock, 5)) ) {
    +
    failExit("listen: %d %s\n", errno, strerror(errno));
    +
    }
    +
    +
    while (aptMainLoop()) {
    + + +
    +
    csock = accept (sock, (struct sockaddr *) &client, &clientlen);
    +
    +
    if (csock<0) {
    +
    if(errno != EAGAIN) {
    +
    failExit("accept: %d %s\n", errno, strerror(errno));
    +
    }
    +
    } else {
    +
    // set client socket to blocking to simplify sending data back
    +
    fcntl(csock, F_SETFL, fcntl(csock, F_GETFL, 0) & ~O_NONBLOCK);
    +
    printf("Connecting port %d from %s\n", client.sin_port, inet_ntoa(client.sin_addr));
    +
    memset (temp, 0, 1026);
    +
    +
    ret = recv (csock, temp, 1024, 0);
    +
    +
    if ( !strncmp( temp, http_get_index, strlen(http_get_index) ) ) {
    +
    hits++;
    +
    +
    send(csock, http_200, strlen(http_200),0);
    +
    send(csock, http_html_hdr, strlen(http_html_hdr),0);
    +
    sprintf(temp, indexdata, hits);
    +
    send(csock, temp, strlen(temp),0);
    +
    }
    +
    +
    close (csock);
    +
    csock = -1;
    +
    +
    }
    +
    +
    u32 kDown = hidKeysDown();
    +
    if (kDown & KEY_START) break;
    +
    }
    +
    +
    close(sock);
    +
    +
    return 0;
    +
    }
    +
    +
    //---------------------------------------------------------------------------------
    +
    void failExit(const char *fmt, ...) {
    +
    //---------------------------------------------------------------------------------
    +
    +
    if(sock>0) close(sock);
    +
    if(csock>0) close(csock);
    +
    +
    va_list ap;
    +
    +
    printf(CONSOLE_RED);
    +
    va_start(ap, fmt);
    +
    vprintf(fmt, ap);
    +
    va_end(ap);
    +
    printf(CONSOLE_RESET);
    +
    printf("\nPress B to exit\n");
    +
    +
    while (aptMainLoop()) {
    + + +
    +
    u32 kDown = hidKeysDown();
    +
    if (kDown & KEY_B) exit(0);
    +
    }
    +
    }
    +
    Central 3DS header.
    +
    bool aptMainLoop(void)
    Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
    +
    PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
    Initialise the console.
    +
    void gfxInitDefault(void)
    Initializes the LCD framebuffers with default parameters This is equivalent to calling:
    +
    @ GFX_TOP
    Top screen.
    Definition: gfx.h:26
    +
    void gfxExit(void)
    Deinitializes and frees the LCD framebuffers.
    +
    #define gspWaitForVBlank()
    Waits for VBlank.
    Definition: gspgpu.h:151
    +
    @ KEY_B
    B.
    Definition: hid.h:13
    +
    @ KEY_START
    Start.
    Definition: hid.h:15
    +
    u32 hidKeysDown(void)
    Returns a bitmask of newly pressed buttons, this frame.
    +
    void hidScanInput(void)
    Scans HID for input data.
    +
    __attribute__((warn_unused_result)) rbtree_node_t *rbtree_insert(rbtree_t *tree
    Inserts a node into an rbtree.
    +
    Result socInit(u32 *context_addr, u32 context_size)
    Initializes the SOC service.
    +
    Result socExit(void)
    Closes the soc service.
    +
    long gethostid(void)
    Gets the system's host ID.
    +
    Definition: in.h:34
    +
    Definition: socket.h:52
    +
    int32_t s32
    32-bit signed integer
    Definition: types.h:28
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/network_2sslc_2source_2ssl_8c-example.html b/network_2sslc_2source_2ssl_8c-example.html new file mode 100644 index 000000000..094f7f81e --- /dev/null +++ b/network_2sslc_2source_2ssl_8c-example.html @@ -0,0 +1,319 @@ + + + + + + + +libctru: network/sslc/source/ssl.c + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    network/sslc/source/ssl.c
    +
    +
    +
    #include <stdio.h>
    +
    #include <stdlib.h>
    +
    #include <string.h>
    +
    #include <malloc.h>
    +
    #include <errno.h>
    +
    #include <stdarg.h>
    +
    #include <unistd.h>
    +
    +
    #include <fcntl.h>
    +
    +
    #include <sys/types.h>
    +
    +
    #include <sys/socket.h>
    +
    #include <netinet/in.h>
    +
    #include <arpa/inet.h>
    +
    #include <netdb.h>
    +
    +
    #include <3ds.h>
    +
    +
    #include "builtin_rootca_der.h"
    +
    +
    static char http_netreq[] = "GET /testpage HTTP/1.1\r\nUser-Agent: 3ds-examples_sslc\r\nConnection: close\r\nHost: yls8.mtheall.com\r\n\r\n";
    +
    +
    char readbuf[0x400];
    +
    +
    void network_request(char *hostname)
    +
    {
    +
    Result ret=0;
    +
    +
    struct addrinfo hints;
    +
    struct addrinfo *resaddr = NULL, *resaddr_cur;
    +
    int sockfd;
    +
    +
    sslcContext sslc_context;
    +
    u32 RootCertChain_contexthandle=0;
    +
    +
    sockfd = socket(AF_INET, SOCK_STREAM, 0);
    +
    if(sockfd==-1)
    +
    {
    +
    printf("Failed to create the socket.\n");
    +
    return;
    +
    }
    +
    +
    memset(&hints, 0, sizeof(struct addrinfo));
    +
    hints.ai_family = AF_INET;
    +
    hints.ai_socktype = SOCK_STREAM;
    +
    +
    printf("Resolving hostname...\n");
    +
    +
    if(getaddrinfo(hostname, "443", &hints, &resaddr)!=0)
    +
    {
    +
    printf("getaddrinfo() failed.\n");
    +
    closesocket(sockfd);
    +
    return;
    +
    }
    +
    +
    printf("Connecting to the server...\n");
    +
    +
    for(resaddr_cur = resaddr; resaddr_cur!=NULL; resaddr_cur = resaddr_cur->ai_next)
    +
    {
    +
    if(connect(sockfd, resaddr_cur->ai_addr, resaddr_cur->ai_addrlen)==0)break;
    +
    }
    +
    +
    freeaddrinfo(resaddr);
    +
    +
    if(resaddr_cur==NULL)
    +
    {
    +
    printf("Failed to connect.\n");
    +
    closesocket(sockfd);
    +
    return;
    +
    }
    +
    +
    printf("Running sslc setup...\n");
    +
    +
    ret = sslcCreateRootCertChain(&RootCertChain_contexthandle);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("sslcCreateRootCertChain() failed: 0x%08x.\n", (unsigned int)ret);
    +
    closesocket(sockfd);
    +
    return;
    +
    }
    +
    +
    ret = sslcAddTrustedRootCA(RootCertChain_contexthandle, (u8*)builtin_rootca_der, builtin_rootca_der_size, NULL);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("sslcAddTrustedRootCA() failed: 0x%08x.\n", (unsigned int)ret);
    +
    closesocket(sockfd);
    +
    sslcDestroyRootCertChain(RootCertChain_contexthandle);
    +
    return;
    +
    }
    +
    +
    ret = sslcCreateContext(&sslc_context, sockfd, SSLCOPT_Default, hostname);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("sslcCreateContext() failed: 0x%08x.\n", (unsigned int)ret);
    +
    closesocket(sockfd);
    +
    sslcDestroyRootCertChain(RootCertChain_contexthandle);
    +
    return;
    +
    }
    +
    +
    ret = sslcContextSetRootCertChain(&sslc_context, RootCertChain_contexthandle);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("sslcContextSetRootCertChain() failed: 0x%08x.\n", (unsigned int)ret);
    +
    sslcDestroyContext(&sslc_context);
    +
    sslcDestroyRootCertChain(RootCertChain_contexthandle);
    +
    closesocket(sockfd);
    +
    return;
    +
    }
    +
    +
    printf("Starting the TLS connection...\n");
    +
    +
    ret = sslcStartConnection(&sslc_context, NULL, NULL);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("sslcStartConnection() failed: 0x%08x.\n", (unsigned int)ret);
    +
    sslcDestroyContext(&sslc_context);
    +
    sslcDestroyRootCertChain(RootCertChain_contexthandle);
    +
    closesocket(sockfd);
    +
    return;
    +
    }
    +
    +
    printf("Sending request...\n");
    +
    +
    ret = sslcWrite(&sslc_context, (u8*)http_netreq, strlen(http_netreq));
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("sslcWrite() failed: 0x%08x.\n", (unsigned int)ret);
    +
    sslcDestroyContext(&sslc_context);
    +
    sslcDestroyRootCertChain(RootCertChain_contexthandle);
    +
    closesocket(sockfd);
    +
    return;
    +
    }
    +
    +
    printf("Total sent size: 0x%x.\n", (unsigned int)ret);
    +
    +
    memset(readbuf, 0, sizeof(readbuf));
    +
    +
    ret = sslcRead(&sslc_context, readbuf, sizeof(readbuf)-1, false);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("sslcWrite() failed: 0x%08x.\n", (unsigned int)ret);
    +
    sslcDestroyContext(&sslc_context);
    +
    sslcDestroyRootCertChain(RootCertChain_contexthandle);
    +
    closesocket(sockfd);
    +
    return;
    +
    }
    +
    +
    printf("Total received size: 0x%x.\n", (unsigned int)ret);
    +
    +
    printf("Reply:\n%s\n", readbuf);
    +
    +
    sslcDestroyContext(&sslc_context);
    +
    sslcDestroyRootCertChain(RootCertChain_contexthandle);
    +
    +
    closesocket(sockfd);
    +
    }
    +
    +
    int main()
    +
    {
    +
    Result ret=0;
    +
    u32 *soc_sharedmem, soc_sharedmem_size = 0x100000;
    +
    + + +
    +
    printf("libctru sslc demo.\n");
    +
    +
    soc_sharedmem = memalign(0x1000, soc_sharedmem_size);
    +
    if(soc_sharedmem==NULL)
    +
    {
    +
    printf("Failed to allocate SOC sharedmem.\n");
    +
    }
    +
    else
    +
    {
    +
    ret = socInit(soc_sharedmem, soc_sharedmem_size);
    +
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("socInit failed: 0x%08x.\n", (unsigned int)ret);
    +
    }
    +
    else
    +
    {
    +
    ret = sslcInit(0);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("sslcInit failed: 0x%08x.\n", (unsigned int)ret);
    +
    }
    +
    else
    +
    {
    +
    network_request("yls8.mtheall.com");
    + +
    }
    +
    + +
    }
    +
    }
    +
    +
    printf("Press START to exit.\n");
    +
    +
    // Main loop
    +
    while (aptMainLoop())
    +
    {
    + + +
    +
    u32 kDown = hidKeysDown();
    +
    if (kDown & KEY_START)
    +
    break; // break in order to return to hbmenu
    +
    +
    // Flush and swap framebuffers
    + + +
    }
    +
    + +
    return 0;
    +
    }
    +
    Central 3DS header.
    +
    bool aptMainLoop(void)
    Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
    +
    PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
    Initialise the console.
    +
    void gfxSwapBuffers(void)
    Updates the configuration of both screens.
    +
    void gfxInitDefault(void)
    Initializes the LCD framebuffers with default parameters This is equivalent to calling:
    +
    @ GFX_TOP
    Top screen.
    Definition: gfx.h:26
    +
    void gfxExit(void)
    Deinitializes and frees the LCD framebuffers.
    +
    void gfxFlushBuffers(void)
    Flushes the data cache for the current framebuffers.
    +
    #define gspWaitForVBlank()
    Waits for VBlank.
    Definition: gspgpu.h:151
    +
    @ KEY_START
    Start.
    Definition: hid.h:15
    +
    u32 hidKeysDown(void)
    Returns a bitmask of newly pressed buttons, this frame.
    +
    void hidScanInput(void)
    Scans HID for input data.
    +
    #define R_FAILED(res)
    Checks whether a result code indicates failure.
    Definition: result.h:11
    +
    Result socInit(u32 *context_addr, u32 context_size)
    Initializes the SOC service.
    +
    Result socExit(void)
    Closes the soc service.
    +
    void sslcExit(void)
    Exits SSLC.
    +
    Result sslcCreateContext(sslcContext *context, int sockfd, u32 input_opt, const char *hostname)
    Creates a sslc context.
    +
    Result sslcInit(Handle session_handle)
    Initializes SSLC. Normally session_handle should be 0. When non-zero this will use the specified hand...
    +
    Result sslcCreateRootCertChain(u32 *RootCertChain_contexthandle)
    Creates a RootCertChain.
    +
    Result sslcAddTrustedRootCA(u32 RootCertChain_contexthandle, const u8 *cert, u32 certsize, u32 *cert_contexthandle)
    Adds a trusted RootCA cert to a RootCertChain.
    +
    Result sslcDestroyRootCertChain(u32 RootCertChain_contexthandle)
    Destroys a RootCertChain.
    +
    Definition: netdb.h:43
    +
    sslc context.
    Definition: sslc.h:8
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/network_2uds_2source_2uds_8c-example.html b/network_2uds_2source_2uds_8c-example.html new file mode 100644 index 000000000..4f37b6313 --- /dev/null +++ b/network_2uds_2source_2uds_8c-example.html @@ -0,0 +1,555 @@ + + + + + + + +libctru: network/uds/source/uds.c + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    network/uds/source/uds.c
    +
    +
    +
    #include <stdio.h>
    +
    #include <stdlib.h>
    +
    #include <string.h>
    +
    #include <malloc.h>
    +
    #include <errno.h>
    +
    #include <stdarg.h>
    +
    #include <unistd.h>
    +
    +
    #include <3ds.h>
    +
    +
    void print_constatus()
    +
    {
    +
    Result ret=0;
    +
    u32 pos;
    + +
    +
    //By checking the output of udsGetConnectionStatus you can check for nodes (including the current one) which just (dis)connected, etc.
    +
    ret = udsGetConnectionStatus(&constatus);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("udsGetConnectionStatus() returned 0x%08x.\n", (unsigned int)ret);
    +
    }
    +
    else
    +
    {
    +
    printf("constatus:\nstatus=0x%x\n", (unsigned int)constatus.status);
    +
    printf("1=0x%x\n", (unsigned int)constatus.unk_x4);
    +
    printf("cur_NetworkNodeID=0x%x\n", (unsigned int)constatus.cur_NetworkNodeID);
    +
    printf("unk_xa=0x%x\n", (unsigned int)constatus.unk_xa);
    +
    for(pos=0; pos<(0x20>>2); pos++)printf("%u=0x%x ", (unsigned int)pos+3, (unsigned int)constatus.unk_xc[pos]);
    +
    printf("\ntotal_nodes=0x%x\n", (unsigned int)constatus.total_nodes);
    +
    printf("max_nodes=0x%x\n", (unsigned int)constatus.max_nodes);
    +
    printf("node_bitmask=0x%x\n", (unsigned int)constatus.total_nodes);
    +
    }
    +
    }
    +
    +
    void uds_test()
    +
    {
    +
    Result ret=0;
    +
    u32 con_type=0;
    +
    +
    u32 *tmpbuf;
    +
    size_t tmpbuf_size;
    +
    +
    u8 data_channel = 1;
    +
    udsNetworkStruct networkstruct;
    +
    udsBindContext bindctx;
    +
    udsNetworkScanInfo *networks = NULL;
    +
    udsNetworkScanInfo *network = NULL;
    +
    size_t total_networks = 0;
    +
    +
    u32 recv_buffer_size = UDS_DEFAULT_RECVBUFSIZE;
    +
    u32 wlancommID = 0x48425710;//Unique ID, change this to your own.
    +
    char *passphrase = "udsdemo passphrase c186093cd2652741";//Change this passphrase to your own. The input you use for the passphrase doesn't matter since it's a raw buffer.
    +
    +
    udsConnectionType conntype = UDSCONTYPE_Client;
    +
    +
    u32 transfer_data, prev_transfer_data = 0;
    +
    size_t actual_size;
    +
    u16 src_NetworkNodeID;
    +
    u32 tmp=0;
    +
    u32 pos;
    +
    +
    udsNodeInfo tmpnode;
    +
    +
    u8 appdata[0x14] = {0x69, 0x8a, 0x05, 0x5c};
    +
    u8 out_appdata[0x14];
    +
    +
    char tmpstr[256];
    +
    +
    strncpy((char*)&appdata[4], "Test appdata.", sizeof(appdata)-4);
    +
    +
    printf("Successfully initialized.\n");
    +
    +
    tmpbuf_size = 0x4000;
    +
    tmpbuf = malloc(tmpbuf_size);
    +
    if(tmpbuf==NULL)
    +
    {
    +
    printf("Failed to allocate tmpbuf for beacon data.\n");
    +
    return;
    +
    }
    +
    +
    //With normal client-side handling you'd keep running network-scanning until the user chooses to stops scanning or selects a network to connect to. This example just scans a maximum of 10 times until at least one network is found.
    +
    for(pos=0; pos<10; pos++)
    +
    {
    +
    total_networks = 0;
    +
    memset(tmpbuf, 0, sizeof(tmpbuf_size));
    +
    ret = udsScanBeacons(tmpbuf, tmpbuf_size, &networks, &total_networks, wlancommID, 0, NULL, false);
    +
    printf("udsScanBeacons() returned 0x%08x.\ntotal_networks=%u.\n", (unsigned int)ret, (unsigned int)total_networks);
    +
    +
    if(total_networks)break;
    +
    }
    +
    +
    free(tmpbuf);
    +
    tmpbuf = NULL;
    +
    +
    if(total_networks)
    +
    {
    +
    //At this point you'd let the user select which network to connect to and optionally display the first node's username(the host), along with the parsed appdata if you want. For this example this just uses the first detected network and then displays the username of each node.
    +
    //If appdata isn't enough, you can do what DLP does loading the icon data etc: connect to the network as a spectator temporarily for receiving broadcasted data frames.
    +
    +
    network = &networks[0];
    +
    +
    printf("network: total nodes = %u.\n", (unsigned int)network->network.total_nodes);
    +
    +
    for(pos=0; pos<UDS_MAXNODES; pos++)
    +
    {
    +
    if(!udsCheckNodeInfoInitialized(&network->nodes[pos]))continue;
    +
    +
    memset(tmpstr, 0, sizeof(tmpstr));
    +
    +
    ret = udsGetNodeInfoUsername(&network->nodes[pos], tmpstr);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("udsGetNodeInfoUsername() returned 0x%08x.\n", (unsigned int)ret);
    +
    free(networks);
    +
    return;
    +
    }
    +
    +
    printf("node%u username: %s\n", (unsigned int)pos, tmpstr);
    +
    }
    +
    +
    //You can load appdata from the scanned beacon data here if you want.
    +
    actual_size = 0;
    +
    ret = udsGetNetworkStructApplicationData(&network->network, out_appdata, sizeof(out_appdata), &actual_size);
    +
    if(R_FAILED(ret) || actual_size!=sizeof(out_appdata))
    +
    {
    +
    printf("udsGetNetworkStructApplicationData() returned 0x%08x. actual_size = 0x%x.\n", (unsigned int)ret, actual_size);
    +
    free(networks);
    +
    return;
    +
    }
    +
    +
    memset(tmpstr, 0, sizeof(tmpstr));
    +
    if(memcmp(out_appdata, appdata, 4)!=0)
    +
    {
    +
    printf("The first 4-bytes of appdata is invalid.\n");
    +
    free(networks);
    +
    return;
    +
    }
    +
    +
    strncpy(tmpstr, (char*)&out_appdata[4], sizeof(out_appdata)-5);
    +
    tmpstr[sizeof(out_appdata)-6]='\0';
    +
    +
    printf("String from network appdata: %s\n", (char*)&out_appdata[4]);
    +
    +
    hidScanInput();//Normally you would only connect as a regular client.
    + +
    {
    +
    conntype = UDSCONTYPE_Spectator;
    +
    printf("Connecting to the network as a spectator...\n");
    +
    }
    +
    else
    +
    {
    +
    printf("Connecting to the network as a client...\n");
    +
    }
    +
    +
    for(pos=0; pos<10; pos++)
    +
    {
    +
    ret = udsConnectNetwork(&network->network, passphrase, strlen(passphrase)+1, &bindctx, UDS_BROADCAST_NETWORKNODEID, conntype, data_channel, recv_buffer_size);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("udsConnectNetwork() returned 0x%08x.\n", (unsigned int)ret);
    +
    }
    +
    else
    +
    {
    +
    break;
    +
    }
    +
    }
    +
    +
    free(networks);
    +
    +
    if(pos==10)return;
    +
    +
    printf("Connected.\n");
    +
    +
    tmp = 0;
    +
    ret = udsGetChannel((u8*)&tmp);//Normally you don't need to use this.
    +
    printf("udsGetChannel() returned 0x%08x. channel = %u.\n", (unsigned int)ret, (unsigned int)tmp);
    +
    if(R_FAILED(ret))
    +
    {
    +
    return;
    +
    }
    +
    +
    //You can load the appdata with this once connected to the network, if you want.
    +
    memset(out_appdata, 0, sizeof(out_appdata));
    +
    actual_size = 0;
    +
    ret = udsGetApplicationData(out_appdata, sizeof(out_appdata), &actual_size);
    +
    if(R_FAILED(ret) || actual_size!=sizeof(out_appdata))
    +
    {
    +
    printf("udsGetApplicationData() returned 0x%08x. actual_size = 0x%x.\n", (unsigned int)ret, actual_size);
    + +
    udsUnbind(&bindctx);
    +
    return;
    +
    }
    +
    +
    memset(tmpstr, 0, sizeof(tmpstr));
    +
    if(memcmp(out_appdata, appdata, 4)!=0)
    +
    {
    +
    printf("The first 4-bytes of appdata is invalid.\n");
    + +
    udsUnbind(&bindctx);
    +
    return;
    +
    }
    +
    +
    strncpy(tmpstr, (char*)&out_appdata[4], sizeof(out_appdata)-5);
    +
    tmpstr[sizeof(out_appdata)-6]='\0';
    +
    +
    printf("String from appdata: %s\n", (char*)&out_appdata[4]);
    +
    +
    con_type = 1;
    +
    }
    +
    else
    +
    {
    +
    udsGenerateDefaultNetworkStruct(&networkstruct, wlancommID, 0, UDS_MAXNODES);
    +
    +
    printf("Creating the network...\n");
    +
    ret = udsCreateNetwork(&networkstruct, passphrase, strlen(passphrase)+1, &bindctx, data_channel, recv_buffer_size);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("udsCreateNetwork() returned 0x%08x.\n", (unsigned int)ret);
    +
    return;
    +
    }
    +
    +
    ret = udsSetApplicationData(appdata, sizeof(appdata));//If you want to use appdata, you can set the appdata whenever you want after creating the network. If you need more space for appdata, you can set different chunks of appdata over time.
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("udsSetApplicationData() returned 0x%08x.\n", (unsigned int)ret);
    + +
    udsUnbind(&bindctx);
    +
    return;
    +
    }
    +
    +
    tmp = 0;
    +
    ret = udsGetChannel((u8*)&tmp);//Normally you don't need to use this.
    +
    printf("udsGetChannel() returned 0x%08x. channel = %u.\n", (unsigned int)ret, (unsigned int)tmp);
    +
    if(R_FAILED(ret))
    +
    {
    + +
    udsUnbind(&bindctx);
    +
    return;
    +
    }
    +
    +
    con_type = 0;
    +
    }
    +
    +
    if(udsWaitConnectionStatusEvent(false, false))
    +
    {
    +
    printf("Constatus event signaled.\n");
    +
    print_constatus();
    +
    }
    +
    +
    printf("Press A to stop data transfer.\n");
    +
    +
    tmpbuf_size = UDS_DATAFRAME_MAXSIZE;
    +
    tmpbuf = malloc(tmpbuf_size);
    +
    if(tmpbuf==NULL)
    +
    {
    +
    printf("Failed to allocate tmpbuf for receiving data.\n");
    +
    +
    if(con_type)
    +
    {
    + +
    }
    +
    else
    +
    {
    + +
    }
    +
    udsUnbind(&bindctx);
    +
    +
    return;
    +
    }
    +
    +
    while(1)
    +
    {
    + + +
    u32 kDown = hidKeysDown();
    +
    +
    if(kDown & KEY_A)break;
    +
    prev_transfer_data = transfer_data;
    +
    transfer_data = hidKeysHeld();
    +
    +
    //When the output from hidKeysHeld() changes, send it over the network.
    +
    if(transfer_data != prev_transfer_data && conntype!=UDSCONTYPE_Spectator)//Spectators aren't allowed to send data.
    +
    {
    +
    ret = udsSendTo(UDS_BROADCAST_NETWORKNODEID, data_channel, UDS_SENDFLAG_Default, &transfer_data, sizeof(transfer_data));
    + +
    {
    +
    printf("udsSendTo() returned 0x%08x.\n", (unsigned int)ret);
    +
    break;
    +
    }
    +
    }
    +
    +
    //if(udsWaitDataAvailable(&bindctx, false, false))//Check whether data is available via udsPullPacket().
    +
    {
    +
    memset(tmpbuf, 0, tmpbuf_size);
    +
    actual_size = 0;
    +
    src_NetworkNodeID = 0;
    +
    ret = udsPullPacket(&bindctx, tmpbuf, tmpbuf_size, &actual_size, &src_NetworkNodeID);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("udsPullPacket() returned 0x%08x.\n", (unsigned int)ret);
    +
    break;
    +
    }
    +
    +
    if(actual_size)//If no data frame is available, udsPullPacket() will return actual_size=0.
    +
    {
    +
    printf("Received 0x%08x size=0x%08x from node 0x%x.\n", (unsigned int)tmpbuf[0], actual_size, (unsigned int)src_NetworkNodeID);
    +
    }
    +
    }
    +
    +
    if(kDown & KEY_Y)
    +
    {
    +
    ret = udsGetNodeInformation(0x2, &tmpnode);//This can be used to get the NodeInfo for a node which just connected, for example.
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("udsGetNodeInformation() returned 0x%08x.\n", (unsigned int)ret);
    +
    }
    +
    else
    +
    {
    +
    memset(tmpstr, 0, sizeof(tmpstr));
    +
    +
    ret = udsGetNodeInfoUsername(&tmpnode, tmpstr);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("udsGetNodeInfoUsername() returned 0x%08x for udsGetNodeInfoUsername.\n", (unsigned int)ret);
    +
    }
    +
    else
    +
    {
    +
    printf("node username: %s\n", tmpstr);
    +
    printf("node unk_x1c=0x%x\n", (unsigned int)tmpnode.unk_x1c);
    +
    printf("node flag=0x%x\n", (unsigned int)tmpnode.flag);
    +
    printf("node pad_x1f=0x%x\n", (unsigned int)tmpnode.pad_x1f);
    +
    printf("node NetworkNodeID=0x%x\n", (unsigned int)tmpnode.NetworkNodeID);
    +
    printf("node word_x24=0x%x\n", (unsigned int)tmpnode.word_x24);
    +
    }
    +
    }
    +
    }
    +
    +
    if(kDown & KEY_X)//Block new regular clients from connecting.
    +
    {
    +
    ret = udsSetNewConnectionsBlocked(true, true, false);
    +
    printf("udsSetNewConnectionsBlocked() for enabling blocking returned 0x%08x.\n", (unsigned int)ret);
    +
    }
    +
    +
    if(kDown & KEY_B)//Unblock new regular clients from connecting.
    +
    {
    +
    ret = udsSetNewConnectionsBlocked(false, true, false);
    +
    printf("udsSetNewConnectionsBlocked() for disabling blocking returned 0x%08x.\n", (unsigned int)ret);
    +
    }
    +
    +
    if(kDown & KEY_R)
    +
    {
    + +
    printf("udsEjectSpectator() returned 0x%08x.\n", (unsigned int)ret);
    +
    }
    +
    +
    if(kDown & KEY_L)
    +
    {
    + +
    printf("udsAllowSpectators() returned 0x%08x.\n", (unsigned int)ret);
    +
    }
    +
    +
    if(udsWaitConnectionStatusEvent(false, false))
    +
    {
    +
    printf("Constatus event signaled.\n");
    +
    print_constatus();
    +
    }
    +
    }
    +
    +
    free(tmpbuf);
    +
    tmpbuf = NULL;
    +
    +
    if(con_type)
    +
    {
    + +
    }
    +
    else
    +
    {
    + +
    }
    +
    udsUnbind(&bindctx);
    +
    }
    +
    +
    int main()
    +
    {
    +
    Result ret=0;
    +
    + + +
    +
    printf("libctru UDS local-WLAN demo.\n");
    +
    +
    ret = udsInit(0x3000, NULL);//The sharedmem size only needs to be slightly larger than the total recv_buffer_size for all binds, with page-alignment.
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("udsInit failed: 0x%08x.\n", (unsigned int)ret);
    +
    }
    +
    else
    +
    {
    +
    uds_test();
    + +
    }
    +
    +
    printf("Press START to exit.\n");
    +
    +
    // Main loop
    +
    while (aptMainLoop())
    +
    {
    + + +
    +
    u32 kDown = hidKeysDown();
    +
    if (kDown & KEY_START)
    +
    break; // break in order to return to hbmenu
    +
    +
    // Flush and swap framebuffers
    + + +
    }
    +
    + +
    return 0;
    +
    }
    +
    Central 3DS header.
    +
    bool aptMainLoop(void)
    Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
    +
    PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
    Initialise the console.
    +
    void gfxSwapBuffers(void)
    Updates the configuration of both screens.
    +
    void gfxInitDefault(void)
    Initializes the LCD framebuffers with default parameters This is equivalent to calling:
    +
    @ GFX_TOP
    Top screen.
    Definition: gfx.h:26
    +
    void gfxExit(void)
    Deinitializes and frees the LCD framebuffers.
    +
    void gfxFlushBuffers(void)
    Flushes the data cache for the current framebuffers.
    +
    #define gspWaitForVBlank()
    Waits for VBlank.
    Definition: gspgpu.h:151
    +
    @ KEY_B
    B.
    Definition: hid.h:13
    +
    @ KEY_X
    X.
    Definition: hid.h:22
    +
    @ KEY_Y
    Y.
    Definition: hid.h:23
    +
    @ KEY_START
    Start.
    Definition: hid.h:15
    +
    @ KEY_R
    R.
    Definition: hid.h:20
    +
    @ KEY_A
    A.
    Definition: hid.h:12
    +
    @ KEY_L
    L.
    Definition: hid.h:21
    +
    u32 hidKeysHeld(void)
    Returns a bitmask of held buttons.
    +
    u32 hidKeysDown(void)
    Returns a bitmask of newly pressed buttons, this frame.
    +
    void hidScanInput(void)
    Scans HID for input data.
    +
    #define R_FAILED(res)
    Checks whether a result code indicates failure.
    Definition: result.h:11
    +
    Definition: uds.h:91
    +
    Connection status struct.
    Definition: uds.h:48
    +
    Output structure generated from host scanning output.
    Definition: uds.h:134
    +
    Network struct stored as big-endian.
    Definition: uds.h:61
    +
    Node info struct.
    Definition: uds.h:26
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint16_t u16
    16-bit unsigned integer
    Definition: types.h:22
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    Result udsUnbind(udsBindContext *bindcontext)
    Remove a bind.
    +
    #define UDS_BROADCAST_NETWORKNODEID
    Broadcast value for NetworkNodeID / alias for all NetworkNodeIDs.
    Definition: uds.h:11
    +
    void udsExit(void)
    Exits UDS.
    +
    Result udsPullPacket(const udsBindContext *bindcontext, void *buf, size_t size, size_t *actual_size, u16 *src_NetworkNodeID)
    Receives data over the network.
    +
    Result udsCreateNetwork(const udsNetworkStruct *network, const void *passphrase, size_t passphrase_size, udsBindContext *context, u8 data_channel, u32 recv_buffer_size)
    Starts hosting a new network.
    +
    Result udsSendTo(u16 dst_NetworkNodeID, u8 data_channel, u8 flags, const void *buf, size_t size)
    Sends data over the network.
    +
    Result udsScanBeacons(void *outbuf, size_t maxsize, udsNetworkScanInfo **networks, size_t *total_networks, u32 wlancommID, u8 id8, const u8 *host_macaddress, bool connected)
    Scans for networks via beacon-scanning.
    +
    Result udsDisconnectNetwork(void)
    Disconnect this client device from the network.
    +
    bool udsWaitConnectionStatusEvent(bool nextEvent, bool wait)
    Waits for the ConnectionStatus event to occur, or checks if the event was signaled.
    +
    Result udsDestroyNetwork(void)
    Stop hosting the network.
    +
    Result udsSetNewConnectionsBlocked(bool block, bool clients, bool flag)
    This uses udsUpdateNetworkAttribute() for (un)blocking new connections to this host.
    +
    Result udsEjectSpectator(void)
    This can be used by the host to force-disconnect the spectators.
    +
    Result udsConnectNetwork(const udsNetworkStruct *network, const void *passphrase, size_t passphrase_size, udsBindContext *context, u16 recv_NetworkNodeID, udsConnectionType connection_type, u8 data_channel, u32 recv_buffer_size)
    Connect to a network.
    +
    Result udsGetChannel(u8 *channel)
    Gets the wifi channel currently being used.
    +
    Result udsSetApplicationData(const void *buf, size_t size)
    This can be used by the host to set the appdata contained in the broadcasted beacons.
    +
    Result udsAllowSpectators(void)
    This uses udsUpdateNetworkAttribute() for unblocking new spectator connections to this host.
    +
    Result udsInit(size_t sharedmem_size, const char *username)
    Initializes UDS.
    +
    Result udsGetConnectionStatus(udsConnectionStatus *output)
    This loads the current ConnectionStatus struct.
    +
    bool udsCheckNodeInfoInitialized(const udsNodeInfo *nodeinfo)
    Checks whether a NodeInfo struct was initialized by NWM-module(not any output from udsGenerateNodeInf...
    +
    #define UDS_DATAFRAME_MAXSIZE
    Max size of user data-frames.
    Definition: uds.h:20
    +
    #define UDS_CHECK_SENDTO_FATALERROR(x)
    Check whether a fatal udsSendTo error occured(some error(s) from udsSendTo() can be ignored,...
    Definition: uds.h:23
    +
    Result udsGetNodeInformation(u16 NetworkNodeID, udsNodeInfo *output)
    This loads a NodeInfo struct for the specified NetworkNodeID.
    +
    Result udsGetApplicationData(void *buf, size_t size, size_t *actual_size)
    This can be used while on a network(host/client) to get the appdata from the current beacon.
    +
    Result udsGetNodeInfoUsername(const udsNodeInfo *nodeinfo, char *username)
    Loads the UTF-16 username stored in the input NodeInfo struct, converted to UTF-8.
    +
    #define UDS_DEFAULT_RECVBUFSIZE
    Default recv_buffer_size that can be used for udsBind() input / code which uses udsBind() internally.
    Definition: uds.h:17
    +
    Result udsGetNetworkStructApplicationData(const udsNetworkStruct *network, void *buf, size_t size, size_t *actual_size)
    This can be used with a NetworkStruct, from udsScanBeacons() mainly, for getting the appdata.
    +
    void udsGenerateDefaultNetworkStruct(udsNetworkStruct *network, u32 wlancommID, u8 id8, u8 max_nodes)
    Generates a default NetworkStruct for creating networks.
    +
    #define UDS_MAXNODES
    Maximum number of nodes(devices) that can be connected to the network.
    Definition: uds.h:8
    +
    + + + + diff --git a/news_8h.html b/news_8h.html new file mode 100644 index 000000000..fd0923eb5 --- /dev/null +++ b/news_8h.html @@ -0,0 +1,480 @@ + + + + + + + +libctru: include/3ds/services/news.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    news.h File Reference
    +
    +
    + +

    NEWS (Notification) service. +More...

    + +

    Go to the source code of this file.

    + + + + + +

    +Data Structures

    struct  NotificationHeader
     Notification header data. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    +Result newsInit (void)
     Initializes NEWS.
     
    +void newsExit (void)
     Exits NEWS.
     
    Result NEWS_AddNotification (const u16 *title, u32 titleLength, const u16 *message, u32 messageLength, const void *imageData, u32 imageSize, bool jpeg)
     Adds a notification to the home menu Notifications applet. More...
     
    Result NEWS_GetTotalNotifications (u32 *num)
     Gets current total notifications number. More...
     
    Result NEWS_SetNotificationHeader (u32 news_id, const NotificationHeader *header)
     Sets a custom header for a specific notification. More...
     
    Result NEWS_GetNotificationHeader (u32 news_id, NotificationHeader *header)
     Gets the header of a specific notification. More...
     
    Result NEWS_SetNotificationMessage (u32 news_id, const u16 *message, u32 size)
     Sets a custom message for a specific notification. More...
     
    Result NEWS_GetNotificationMessage (u32 news_id, u16 *message, u32 *size)
     Gets the message of a specific notification. More...
     
    Result NEWS_SetNotificationImage (u32 news_id, const void *buffer, u32 size)
     Sets a custom image for a specific notification. More...
     
    Result NEWS_GetNotificationImage (u32 news_id, void *buffer, u32 *size)
     Gets the image of a specific notification. More...
     
    +

    Detailed Description

    +

    NEWS (Notification) service.

    +

    Function Documentation

    + +

    ◆ NEWS_AddNotification()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result NEWS_AddNotification (const u16title,
    u32 titleLength,
    const u16message,
    u32 messageLength,
    const void * imageData,
    u32 imageSize,
    bool jpeg 
    )
    +
    + +

    Adds a notification to the home menu Notifications applet.

    +
    Parameters
    + + + + + + + + +
    titleUTF-16 title of the notification.
    titleLengthNumber of characters in the title, not including the null-terminator.
    messageUTF-16 message of the notification, or NULL for no message.
    messageLengthNumber of characters in the message, not including the null-terminator.
    imageData of the image to show in the notification, or NULL for no image.
    imageSizeSize of the image data in bytes.
    jpegWhether the image is a JPEG or not.
    +
    +
    + +
    +
    + +

    ◆ NEWS_GetNotificationHeader()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result NEWS_GetNotificationHeader (u32 news_id,
    NotificationHeaderheader 
    )
    +
    + +

    Gets the header of a specific notification.

    +
    Parameters
    + + + +
    news_idIdentification number of the notification.
    headerPointer where header of the notification will be saved.
    +
    +
    + +
    +
    + +

    ◆ NEWS_GetNotificationImage()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result NEWS_GetNotificationImage (u32 news_id,
    void * buffer,
    u32size 
    )
    +
    + +

    Gets the image of a specific notification.

    +
    Parameters
    + + + + +
    news_idIdentification number of the notification.
    bufferPointer where MPO image of the notification will be saved.
    sizePointer where size of the image data will be saved in bytes.
    +
    +
    + +
    +
    + +

    ◆ NEWS_GetNotificationMessage()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result NEWS_GetNotificationMessage (u32 news_id,
    u16message,
    u32size 
    )
    +
    + +

    Gets the message of a specific notification.

    +
    Parameters
    + + + + +
    news_idIdentification number of the notification.
    messagePointer where UTF-16 message of the notification will be saved.
    sizePointer where size of the message data will be saved in bytes.
    +
    +
    + +
    +
    + +

    ◆ NEWS_GetTotalNotifications()

    + +
    +
    + + + + + + + + +
    Result NEWS_GetTotalNotifications (u32num)
    +
    + +

    Gets current total notifications number.

    +
    Parameters
    + + +
    numPointer where total number will be saved.
    +
    +
    + +
    +
    + +

    ◆ NEWS_SetNotificationHeader()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result NEWS_SetNotificationHeader (u32 news_id,
    const NotificationHeaderheader 
    )
    +
    + +

    Sets a custom header for a specific notification.

    +
    Parameters
    + + + +
    news_idIdentification number of the notification.
    headerPointer to notification header to set.
    +
    +
    + +
    +
    + +

    ◆ NEWS_SetNotificationImage()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result NEWS_SetNotificationImage (u32 news_id,
    const void * buffer,
    u32 size 
    )
    +
    + +

    Sets a custom image for a specific notification.

    +
    Parameters
    + + + + +
    news_idIdentification number of the notification.
    bufferPointer to MPO image to set.
    sizeSize of the MPO image to set.
    +
    +
    + +
    +
    + +

    ◆ NEWS_SetNotificationMessage()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result NEWS_SetNotificationMessage (u32 news_id,
    const u16message,
    u32 size 
    )
    +
    + +

    Sets a custom message for a specific notification.

    +
    Parameters
    + + + + +
    news_idIdentification number of the notification.
    messagePointer to UTF-16 message to set.
    sizeSize of message to set.
    +
    +
    + +
    +
    +
    + + + + diff --git a/news_8h_source.html b/news_8h_source.html new file mode 100644 index 000000000..c6967596b --- /dev/null +++ b/news_8h_source.html @@ -0,0 +1,186 @@ + + + + + + + +libctru: include/3ds/services/news.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    news.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file news.h
    +
    3  * @brief NEWS (Notification) service.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 /// Notification header data.
    +
    8 typedef struct {
    +
    9  bool dataSet;
    +
    10  bool unread;
    +
    11  bool enableJPEG;
    +
    12  bool isSpotPass;
    +
    13  bool isOptedOut;
    +
    14  u8 unkData[3];
    +
    15  u64 processID;
    +
    16  u8 unkData2[8];
    +
    17  u64 jumpParam;
    +
    18  u8 unkData3[8];
    +
    19  u64 time;
    +
    20  u16 title[32];
    + +
    22 
    +
    23 /// Initializes NEWS.
    + +
    25 
    +
    26 /// Exits NEWS.
    +
    27 void newsExit(void);
    +
    28 
    +
    29 /**
    +
    30  * @brief Adds a notification to the home menu Notifications applet.
    +
    31  * @param title UTF-16 title of the notification.
    +
    32  * @param titleLength Number of characters in the title, not including the null-terminator.
    +
    33  * @param message UTF-16 message of the notification, or NULL for no message.
    +
    34  * @param messageLength Number of characters in the message, not including the null-terminator.
    +
    35  * @param image Data of the image to show in the notification, or NULL for no image.
    +
    36  * @param imageSize Size of the image data in bytes.
    +
    37  * @param jpeg Whether the image is a JPEG or not.
    +
    38  */
    +
    39 Result NEWS_AddNotification(const u16* title, u32 titleLength, const u16* message, u32 messageLength, const void* imageData, u32 imageSize, bool jpeg);
    +
    40 
    +
    41 /**
    +
    42  * @brief Gets current total notifications number.
    +
    43  * @param num Pointer where total number will be saved.
    +
    44  */
    + +
    46 
    +
    47 /**
    +
    48  * @brief Sets a custom header for a specific notification.
    +
    49  * @param news_id Identification number of the notification.
    +
    50  * @param header Pointer to notification header to set.
    +
    51  */
    + +
    53 
    +
    54 /**
    +
    55  * @brief Gets the header of a specific notification.
    +
    56  * @param news_id Identification number of the notification.
    +
    57  * @param header Pointer where header of the notification will be saved.
    +
    58  */
    + +
    60 
    +
    61 /**
    +
    62  * @brief Sets a custom message for a specific notification.
    +
    63  * @param news_id Identification number of the notification.
    +
    64  * @param message Pointer to UTF-16 message to set.
    +
    65  * @param size Size of message to set.
    +
    66  */
    +
    67 Result NEWS_SetNotificationMessage(u32 news_id, const u16* message, u32 size);
    +
    68 
    +
    69 /**
    +
    70  * @brief Gets the message of a specific notification.
    +
    71  * @param news_id Identification number of the notification.
    +
    72  * @param message Pointer where UTF-16 message of the notification will be saved.
    +
    73  * @param size Pointer where size of the message data will be saved in bytes.
    +
    74  */
    +
    75 Result NEWS_GetNotificationMessage(u32 news_id, u16* message, u32* size);
    +
    76 
    +
    77 /**
    +
    78  * @brief Sets a custom image for a specific notification.
    +
    79  * @param news_id Identification number of the notification.
    +
    80  * @param buffer Pointer to MPO image to set.
    +
    81  * @param size Size of the MPO image to set.
    +
    82  */
    +
    83 Result NEWS_SetNotificationImage(u32 news_id, const void* buffer, u32 size);
    +
    84 
    +
    85 /**
    +
    86  * @brief Gets the image of a specific notification.
    +
    87  * @param news_id Identification number of the notification.
    +
    88  * @param buffer Pointer where MPO image of the notification will be saved.
    +
    89  * @param size Pointer where size of the image data will be saved in bytes.
    +
    90  */
    +
    91 Result NEWS_GetNotificationImage(u32 news_id, void* buffer, u32* size);
    +
    Result NEWS_GetTotalNotifications(u32 *num)
    Gets current total notifications number.
    +
    Result NEWS_SetNotificationImage(u32 news_id, const void *buffer, u32 size)
    Sets a custom image for a specific notification.
    +
    Result NEWS_AddNotification(const u16 *title, u32 titleLength, const u16 *message, u32 messageLength, const void *imageData, u32 imageSize, bool jpeg)
    Adds a notification to the home menu Notifications applet.
    +
    Result NEWS_GetNotificationMessage(u32 news_id, u16 *message, u32 *size)
    Gets the message of a specific notification.
    +
    Result newsInit(void)
    Initializes NEWS.
    +
    Result NEWS_GetNotificationImage(u32 news_id, void *buffer, u32 *size)
    Gets the image of a specific notification.
    +
    Result NEWS_GetNotificationHeader(u32 news_id, NotificationHeader *header)
    Gets the header of a specific notification.
    +
    Result NEWS_SetNotificationMessage(u32 news_id, const u16 *message, u32 size)
    Sets a custom message for a specific notification.
    +
    Result NEWS_SetNotificationHeader(u32 news_id, const NotificationHeader *header)
    Sets a custom header for a specific notification.
    +
    void newsExit(void)
    Exits NEWS.
    +
    Notification header data.
    Definition: news.h:8
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint16_t u16
    16-bit unsigned integer
    Definition: types.h:22
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/nfc_2source_2main_8c-example.html b/nfc_2source_2main_8c-example.html new file mode 100644 index 000000000..e4460cb21 --- /dev/null +++ b/nfc_2source_2main_8c-example.html @@ -0,0 +1,449 @@ + + + + + + + +libctru: nfc/source/main.c + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nfc/source/main.c
    +
    +
    +
    #include <stdio.h>
    +
    #include <string.h>
    +
    +
    #include <3ds.h>
    +
    +
    Result nfc_test()
    +
    {
    +
    Result ret=0;
    +
    u32 pos;
    +
    FILE *f;
    +
    size_t tmpsize;
    +
    +
    NFC_TagState prevstate, curstate;
    +
    NFC_TagInfo taginfo;
    +
    NFC_AmiiboSettings amiibosettings;
    +
    NFC_AmiiboConfig amiiboconfig;
    +
    +
    u32 amiibo_appid = 0x10110E00;//Hard-coded for Super Smash Bros. See also: https://www.3dbrew.org/wiki/Amiibo
    +
    u32 appdata_initialized;
    +
    +
    u8 appdata[0xd8];
    +
    +
    char uidstr[16];
    +
    char tmpstr[64];
    +
    +
    printf("NFC initialized successfully, starting scanning...\n");
    +
    + +
    if(R_FAILED(ret))
    +
    {
    +
    printf("nfcStartScanning() failed.\n");
    +
    return ret;
    +
    }
    +
    +
    ret = nfcGetTagState(&curstate);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("nfcGetTagState() failed.\n");
    + +
    return ret;
    +
    }
    +
    +
    prevstate = curstate;
    +
    +
    printf("Press B to stop scanning or Y to restart scanning.\n");
    +
    printf("Press X after an amiibo was successfully\nprocessed while still in range, to reprocess it.\n");
    +
    printf("Hold down A while processing an amiibo to write\nappdata from SD to it. The amiibo appdata will be\ninitialized if it wasn't initialized already.\n");
    +
    printf("Scanning must be restarted after a NFC tag goes\nout-of-range, if you want to scan more tag(s).\n");
    +
    +
    while(1)
    +
    {
    + + +
    +
    u32 kDown = hidKeysDown();
    +
    +
    if(kDown & KEY_B)break;
    +
    +
    if(kDown & KEY_Y)//If you want this to be done automatically, you could run this when the TagState changes to NFC_TagState_OutOfRange.
    +
    {
    +
    printf("Restarting scanning...\n");
    +
    + + +
    if(R_FAILED(ret))
    +
    {
    +
    printf("nfcStartScanning() failed.\n");
    +
    return ret;
    +
    }
    +
    +
    printf("Scanning restarted.\n");
    +
    +
    continue;
    +
    }
    +
    +
    if(kDown & KEY_X)
    +
    {
    + +
    if(R_FAILED(ret))
    +
    {
    +
    printf("nfcResetTagScanState() failed.\n");
    +
    break;
    +
    }
    +
    +
    printf("nfcResetTagScanState() was successful.\n");
    +
    }
    +
    +
    ret = nfcGetTagState(&curstate);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("nfcGetTagState() failed.\n");
    +
    break;
    +
    }
    +
    +
    if(curstate!=prevstate)//See nfc.h for the TagState values.
    +
    {
    +
    printf("TagState changed from %d to %d.\n", prevstate, curstate);
    +
    prevstate = curstate;
    +
    +
    if(curstate==NFC_TagState_InRange)
    +
    {
    +
    memset(&taginfo, 0, sizeof(NFC_TagInfo));
    +
    memset(&amiibosettings, 0, sizeof(NFC_AmiiboSettings));
    +
    +
    ret = nfcGetTagInfo(&taginfo);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("nfcGetTagInfo() failed.\n");
    +
    break;
    +
    }
    +
    +
    printf("taginfo id_offset_size: 0x%x.\n", (unsigned int)taginfo.id_offset_size);
    +
    printf("NFC tag UID:\n");
    +
    +
    memset(uidstr, 0, sizeof(uidstr));
    +
    for(pos=0; pos<7; pos++)snprintf(&uidstr[pos*2], 3, "%02x", taginfo.id[pos]);
    +
    printf("%s\n", uidstr);
    +
    + +
    if(R_FAILED(ret))
    +
    {
    +
    printf("nfcLoadAmiiboData() failed.\n");
    +
    break;
    +
    }
    +
    +
    memset(&amiibosettings, 0, sizeof(NFC_AmiiboSettings));
    +
    memset(&amiiboconfig, 0, sizeof(NFC_AmiiboConfig));
    +
    +
    ret = nfcGetAmiiboSettings(&amiibosettings);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("nfcGetAmiiboSettings() failed.\n");
    +
    if(ret==NFC_ERR_AMIIBO_NOTSETUP)printf("This amiibo wasn't setup by the amiibo Settings applet.\n");
    +
    break;
    +
    }
    +
    +
    ret = nfcGetAmiiboConfig(&amiiboconfig);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("nfcGetAmiiboConfig() failed.\n");
    +
    break;
    +
    }
    +
    +
    printf("amiibo data successfully loaded.\n");
    +
    +
    printf("amiiboconfig: lastwritedate year=%u month=%u day=%u.\n", amiiboconfig.lastwritedate_year, amiiboconfig.lastwritedate_month, amiiboconfig.lastwritedate_day);
    +
    printf("amiiboconfig.write_counter=%u\n", amiiboconfig.write_counter);
    +
    +
    printf("Opening appdata...\n");
    +
    +
    appdata_initialized = 1;
    +
    +
    ret = nfcOpenAppData(amiibo_appid);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("nfcOpenAppData() failed.\n");
    + +
    {
    +
    printf("This appdata isn't initialized.\n");
    +
    appdata_initialized = 0;
    +
    }
    +
    if(ret==NFC_ERR_APPID_MISMATCH)printf("This appdata is for a different appid(non-Super-Smash-Bros).\n");
    +
    if(appdata_initialized)break;
    +
    }
    +
    +
    memset(appdata, 0, sizeof(appdata));
    +
    +
    if(!appdata_initialized)
    +
    {
    +
    printf("Skipping appdata reading since it's uninitialized.\n");
    +
    }
    +
    else
    +
    {
    +
    printf("Reading appdata...\n");
    +
    +
    ret = nfcReadAppData(appdata, sizeof(appdata));
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("nfcReadAppData() failed.\n");
    +
    break;
    +
    }
    +
    +
    printf("Appdata:\n");
    +
    for(pos=0; pos<sizeof(appdata); pos++)printf("%02x", appdata[pos]);
    +
    printf("\n");
    +
    +
    memset(tmpstr, 0, sizeof(tmpstr));
    +
    snprintf(tmpstr, sizeof(tmpstr)-1, "amiibo_appdata_out_%s.bin", uidstr);
    +
    +
    printf("Writing appdata to file '%s'...\n", tmpstr);
    +
    f = fopen(tmpstr, "w");
    +
    if(f)
    +
    {
    +
    tmpsize = fwrite(appdata, 1, sizeof(appdata), f);
    +
    fclose(f);
    +
    +
    if(tmpsize!=sizeof(appdata))
    +
    {
    +
    printf("Failed to write to the file, only 0x%x of 0x%x bytes were written.\n", tmpsize, sizeof(appdata));
    +
    }
    +
    else
    +
    {
    +
    printf("Writing finished.\n");
    +
    }
    +
    }
    +
    else
    +
    {
    +
    printf("Failed to open the file.\n");
    +
    }
    +
    }
    +
    + +
    {
    +
    memset(tmpstr, 0, sizeof(tmpstr));
    +
    snprintf(tmpstr, sizeof(tmpstr)-1, "amiibo_appdata_in_%s.bin", uidstr);
    +
    +
    printf("Loading appdata from file '%s', which will be written to the amiibo...\n", tmpstr);
    +
    +
    ret = 1;
    +
    +
    f = fopen(tmpstr, "r");
    +
    if(f)
    +
    {
    +
    memset(appdata, 0, sizeof(appdata));
    +
    tmpsize = fread(appdata, 1, sizeof(appdata), f);
    +
    fclose(f);
    +
    +
    if(tmpsize!=sizeof(appdata))
    +
    {
    +
    printf("Failed to read to the file, only 0x%x of 0x%x bytes were written.\n", tmpsize, sizeof(appdata));
    +
    }
    +
    else
    +
    {
    +
    printf("File reading finished.\n");
    +
    ret = 0;
    +
    }
    +
    }
    +
    else
    +
    {
    +
    printf("Failed to open the file.\n");
    +
    }
    +
    +
    if(ret==0)
    +
    {
    +
    if(appdata_initialized)
    +
    {
    +
    printf("Writing the appdata...\n");
    +
    +
    ret = nfcWriteAppData(appdata, sizeof(appdata), &taginfo);
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("nfcWriteAppData() failed.\n");
    +
    break;
    +
    }
    +
    +
    printf("Writing to the amiibo NFC tag...\n");
    +
    + +
    if(R_FAILED(ret))
    +
    {
    +
    printf("nfcUpdateStoredAmiiboData() failed.\n");
    +
    break;
    +
    }
    +
    }
    +
    else
    +
    {
    +
    printf("Initializing the appdata...\n");
    +
    +
    ret = nfcInitializeWriteAppData(amiibo_appid, appdata, sizeof(appdata));
    +
    if(R_FAILED(ret))
    +
    {
    +
    printf("nfcInitializeWriteAppData() failed.\n");
    +
    break;
    +
    }
    +
    }
    +
    +
    printf("Writing finished.\n");
    +
    }
    +
    }
    +
    +
    printf("amiibo NFC tag processing has finished, you can\nremove the tag from NFC-range now.\n");
    +
    }
    +
    }
    +
    }
    +
    + +
    +
    return ret;
    +
    }
    +
    +
    int main()
    +
    {
    +
    Result ret=0;
    +
    + + +
    +
    printf("libctru nfc example.\n");
    +
    + +
    if(R_FAILED(ret))
    +
    {
    +
    printf("nfcInit() failed: 0x%08x.\n", (unsigned int)ret);
    +
    }
    +
    else
    +
    {
    +
    ret = nfc_test();
    +
    printf("nfc_test() returned: 0x%08x.\n", (unsigned int)ret);
    +
    + +
    }
    +
    +
    printf("Press START to exit.\n");
    +
    +
    // Main loop
    +
    while (aptMainLoop())
    +
    {
    + + +
    +
    u32 kDown = hidKeysDown();
    +
    +
    if (kDown & KEY_START)
    +
    break; // break in order to return to hbmenu
    +
    }
    +
    + +
    return 0;
    +
    }
    +
    +
    Central 3DS header.
    +
    bool aptMainLoop(void)
    Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
    +
    PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
    Initialise the console.
    +
    void gfxInitDefault(void)
    Initializes the LCD framebuffers with default parameters This is equivalent to calling:
    +
    @ GFX_TOP
    Top screen.
    Definition: gfx.h:26
    +
    void gfxExit(void)
    Deinitializes and frees the LCD framebuffers.
    +
    #define gspWaitForVBlank()
    Waits for VBlank.
    Definition: gspgpu.h:151
    +
    @ KEY_B
    B.
    Definition: hid.h:13
    +
    @ KEY_X
    X.
    Definition: hid.h:22
    +
    @ KEY_Y
    Y.
    Definition: hid.h:23
    +
    @ KEY_START
    Start.
    Definition: hid.h:15
    +
    @ KEY_A
    A.
    Definition: hid.h:12
    +
    u32 hidKeysHeld(void)
    Returns a bitmask of held buttons.
    +
    u32 hidKeysDown(void)
    Returns a bitmask of newly pressed buttons, this frame.
    +
    void hidScanInput(void)
    Scans HID for input data.
    +
    Result nfcGetTagInfo(NFC_TagInfo *out)
    Returns the current TagInfo.
    +
    #define NFC_ERR_AMIIBO_NOTSETUP
    This is returned by nfcGetAmiiboSettings() when the amiibo wasn't setup by the amiibo Settings applet...
    Definition: nfc.h:14
    +
    Result nfcUpdateStoredAmiiboData(void)
    This writes the amiibo data stored in memory to the actual amiibo data storage(which is normally the ...
    +
    Result nfcGetAmiiboConfig(NFC_AmiiboConfig *out)
    Returns the current AmiiboConfig.
    +
    void nfcExit(void)
    Shuts down NFC.
    +
    Result nfcLoadAmiiboData(void)
    Read amiibo NFC data and load in memory.
    +
    NFC_TagState
    Definition: nfc.h:35
    +
    @ NFC_TagState_InRange
    Currently scanning for NFC tags. Set by nfcStartScanning() when successful.
    Definition: nfc.h:39
    +
    #define NFC_STARTSCAN_DEFAULTINPUT
    This can be used for nfcStartScanning().
    Definition: nfc.h:26
    +
    Result nfcInit(NFC_OpType type)
    Initializes NFC.
    +
    Result nfcGetTagState(NFC_TagState *state)
    Returns the current NFC tag state.
    +
    #define NFC_ERR_APPDATA_UNINITIALIZED
    This is returned by nfcOpenAppData() when the appdata is uninitialized since nfcInitializeWriteAppDat...
    Definition: nfc.h:11
    +
    Result nfcReadAppData(void *buf, size_t size)
    Reads the appdata.
    +
    Result nfcOpenAppData(u32 amiibo_appid)
    Opens the appdata, when the amiibo appdata was previously initialized.
    +
    Result nfcResetTagScanState(void)
    If the tagstate is valid(NFC_TagState_DataReady or 6), it then sets the current tagstate to NFC_TagSt...
    +
    @ NFC_OpType_NFCTag
    Unknown.
    Definition: nfc.h:31
    +
    Result nfcGetAmiiboSettings(NFC_AmiiboSettings *out)
    Returns the current AmiiboSettings.
    +
    Result nfcStartScanning(u16 inval)
    Starts scanning for NFC tags.
    +
    Result nfcInitializeWriteAppData(u32 amiibo_appid, const void *buf, size_t size)
    This initializes the appdata using the specified input, when the appdata previously wasn't initialize...
    +
    Result nfcWriteAppData(const void *buf, size_t size, NFC_TagInfo *taginfo)
    Writes the appdata, after nfcOpenAppData() was used successfully.
    +
    void nfcStopScanning(void)
    Stops scanning for NFC tags.
    +
    #define NFC_ERR_APPID_MISMATCH
    This is returned by nfcOpenAppData() when the input AppID doesn't match the actual amiibo AppID.
    Definition: nfc.h:17
    +
    #define R_FAILED(res)
    Checks whether a result code indicates failure.
    Definition: result.h:11
    +
    AmiiboConfig structure, see also here: https://3dbrew.org/wiki/NFC:GetAmiiboConfig.
    Definition: nfc.h:70
    +
    AmiiboSettings structure, see also here: https://3dbrew.org/wiki/NFC:GetAmiiboSettings.
    Definition: nfc.h:58
    +
    Definition: nfc.h:50
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/nfc_8h.html b/nfc_8h.html new file mode 100644 index 000000000..0ce7395c0 --- /dev/null +++ b/nfc_8h.html @@ -0,0 +1,829 @@ + + + + + + + +libctru: include/3ds/services/nfc.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    nfc.h File Reference
    +
    +
    + +

    NFC service. +More...

    + +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + +

    +Data Structures

    struct  NFC_TagInfo
     
    struct  NFC_AmiiboSettings
     AmiiboSettings structure, see also here: https://3dbrew.org/wiki/NFC:GetAmiiboSettings. More...
     
    struct  NFC_AmiiboConfig
     AmiiboConfig structure, see also here: https://3dbrew.org/wiki/NFC:GetAmiiboConfig. More...
     
    struct  NFC_AppDataInitStruct
     Used by nfcInitializeWriteAppData() internally, see also here: https://3dbrew.org/wiki/NFC:GetAppDataInitStruct. More...
     
    struct  NFC_AppDataWriteStruct
     Used by nfcWriteAppData() internally, see also: https://3dbrew.org/wiki/NFC:WriteAppData. More...
     
    + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    +#define NFC_ERR_INVALID_STATE   0xC8A17600
     This is returned when the current state is invalid for this command.
     
    +#define NFC_ERR_APPDATA_UNINITIALIZED   0xC8A17620
     This is returned by nfcOpenAppData() when the appdata is uninitialized since nfcInitializeWriteAppData() wasn't used previously.
     
    +#define NFC_ERR_AMIIBO_NOTSETUP   0xC8A17628
     This is returned by nfcGetAmiiboSettings() when the amiibo wasn't setup by the amiibo Settings applet.
     
    +#define NFC_ERR_APPID_MISMATCH   0xC8A17638
     This is returned by nfcOpenAppData() when the input AppID doesn't match the actual amiibo AppID.
     
    +#define NFC_ERR_DATACORRUPTION0   0xC8C1760C
     "Returned for HMAC-hash mismatch(data corruption), with HMAC-calculation input_buffer_size=0x34."
     
    +#define NFC_ERR_DATACORRUPTION1   0xC8A17618
     HMAC-hash mismatch with input_buffer_size=0x1DF, see here: https://www.3dbrew.org/wiki/Amiibo.
     
    +#define NFC_STARTSCAN_DEFAULTINPUT   0
     This can be used for nfcStartScanning().
     
    + + + + + + + + + +

    +Enumerations

    enum  NFC_OpType {
    +  NFC_OpType_1 = 1 +,
    +  NFC_OpType_NFCTag = 2 +,
    +  NFC_OpType_RawNFC = 3 +
    + }
     NFC operation type. More...
     
    enum  NFC_TagState {
    +  NFC_TagState_Uninitialized = 0 +,
    +  NFC_TagState_ScanningStopped = 1 +,
    +  NFC_TagState_Scanning = 2 +,
    +  NFC_TagState_InRange = 3 +,
    +  NFC_TagState_OutOfRange = 4 +,
    +  NFC_TagState_DataReady = 5 +
    + }
     
    enum  {
    +  NFC_amiiboFlag_Setup = BIT(4) +,
    +  NFC_amiiboFlag_AppDataSetup = BIT(5) +
    + }
     Bit4-7 are always clear with nfcGetAmiiboSettings() due to "& 0xF". More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    Result nfcInit (NFC_OpType type)
     Initializes NFC. More...
     
    +void nfcExit (void)
     Shuts down NFC.
     
    Handle nfcGetSessionHandle (void)
     Gets the NFC service handle. More...
     
    Result nfcStartScanning (u16 inval)
     Starts scanning for NFC tags. More...
     
    +void nfcStopScanning (void)
     Stops scanning for NFC tags.
     
    +Result nfcLoadAmiiboData (void)
     Read amiibo NFC data and load in memory.
     
    +Result nfcResetTagScanState (void)
     If the tagstate is valid(NFC_TagState_DataReady or 6), it then sets the current tagstate to NFC_TagState_InRange.
     
    Result nfcUpdateStoredAmiiboData (void)
     This writes the amiibo data stored in memory to the actual amiibo data storage(which is normally the NFC data pages). More...
     
    Result nfcGetTagState (NFC_TagState *state)
     Returns the current NFC tag state. More...
     
    Result nfcGetTagInfo (NFC_TagInfo *out)
     Returns the current TagInfo. More...
     
    Result nfcOpenAppData (u32 amiibo_appid)
     Opens the appdata, when the amiibo appdata was previously initialized. More...
     
    Result nfcInitializeWriteAppData (u32 amiibo_appid, const void *buf, size_t size)
     This initializes the appdata using the specified input, when the appdata previously wasn't initialized. More...
     
    Result nfcReadAppData (void *buf, size_t size)
     Reads the appdata. More...
     
    Result nfcWriteAppData (const void *buf, size_t size, NFC_TagInfo *taginfo)
     Writes the appdata, after nfcOpenAppData() was used successfully. More...
     
    Result nfcGetAmiiboSettings (NFC_AmiiboSettings *out)
     Returns the current AmiiboSettings. More...
     
    Result nfcGetAmiiboConfig (NFC_AmiiboConfig *out)
     Returns the current AmiiboConfig. More...
     
    Result nfcStartOtherTagScanning (u16 unk0, u32 unk1)
     Starts scanning for NFC tags when initialized with NFC_OpType_RawNFC. More...
     
    Result nfcSendTagCommand (const void *inbuf, size_t insize, void *outbuf, size_t outsize, size_t *actual_transfer_size, u64 microseconds)
     This sends a raw NFC command to the tag. More...
     
    Result nfcCmd21 (void)
     Unknown. More...
     
    Result nfcCmd22 (void)
     Unknown. More...
     
    +

    Detailed Description

    +

    NFC service.

    +

    This can only be used with system-version >=9.3.0-X.

    +

    Enumeration Type Documentation

    + +

    ◆ anonymous enum

    + +
    +
    + + + + +
    anonymous enum
    +
    + +

    Bit4-7 are always clear with nfcGetAmiiboSettings() due to "& 0xF".

    + + +
    Enumerator
    NFC_amiiboFlag_AppDataSetup 

    This indicates that the amiibo was setup with amiibo Settings. nfcGetAmiiboSettings() will return an all-zero struct when this is not set.

    +
    + +
    +
    + +

    ◆ NFC_OpType

    + +
    +
    + + + + +
    enum NFC_OpType
    +
    + +

    NFC operation type.

    + + + +
    Enumerator
    NFC_OpType_NFCTag 

    Unknown.

    +
    NFC_OpType_RawNFC 

    This is the default.

    +
    + +
    +
    + +

    ◆ NFC_TagState

    + +
    +
    + + + + +
    enum NFC_TagState
    +
    + + + + + + +
    Enumerator
    NFC_TagState_ScanningStopped 

    nfcInit() was not used yet.

    +
    NFC_TagState_Scanning 

    Not currently scanning for NFC tags. Set by nfcStopScanning() and nfcInit(), when successful.

    +
    NFC_TagState_InRange 

    Currently scanning for NFC tags. Set by nfcStartScanning() when successful.

    +
    NFC_TagState_OutOfRange 

    NFC tag is in range. The state automatically changes to this when the state was previously value 2, without using any NFC service commands.

    +
    NFC_TagState_DataReady 

    NFC tag is now out of range, where the NFC tag was previously in range. This occurs automatically without using any NFC service commands. Once this state is entered, it won't automatically change to anything else when the tag is moved in range again. Hence, if you want to keep doing tag scanning after this, you must stop+start scanning.

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ nfcCmd21()

    + +
    +
    + + + + + + + + +
    Result nfcCmd21 (void )
    +
    + +

    Unknown.

    +

    This can only be used when initialized with NFC_OpType_RawNFC, and when the TagState is NFC_TagState_InRange.

    + +
    +
    + +

    ◆ nfcCmd22()

    + +
    +
    + + + + + + + + +
    Result nfcCmd22 (void )
    +
    + +

    Unknown.

    +

    This can only be used when initialized with NFC_OpType_RawNFC, and when the TagState is NFC_TagState_InRange.

    + +
    +
    + +

    ◆ nfcGetAmiiboConfig()

    + +
    +
    + + + + + + + + +
    Result nfcGetAmiiboConfig (NFC_AmiiboConfigout)
    +
    + +

    Returns the current AmiiboConfig.

    +
    Parameters
    + + +
    outPointer to write the output AmiiboConfig.
    +
    +
    +
    Examples
    nfc/source/main.c.
    +
    + +
    +
    + +

    ◆ nfcGetAmiiboSettings()

    + +
    +
    + + + + + + + + +
    Result nfcGetAmiiboSettings (NFC_AmiiboSettingsout)
    +
    + +

    Returns the current AmiiboSettings.

    +
    Parameters
    + + +
    outPointer to write the output AmiiboSettings.
    +
    +
    +
    Examples
    nfc/source/main.c.
    +
    + +
    +
    + +

    ◆ nfcGetSessionHandle()

    + +
    +
    + + + + + + + + +
    Handle nfcGetSessionHandle (void )
    +
    + +

    Gets the NFC service handle.

    +
    Returns
    The NFC service handle.
    + +
    +
    + +

    ◆ nfcGetTagInfo()

    + +
    +
    + + + + + + + + +
    Result nfcGetTagInfo (NFC_TagInfoout)
    +
    + +

    Returns the current TagInfo.

    +
    Parameters
    + + +
    outPointer to write the output TagInfo.
    +
    +
    +
    Examples
    nfc/source/main.c.
    +
    + +
    +
    + +

    ◆ nfcGetTagState()

    + +
    +
    + + + + + + + + +
    Result nfcGetTagState (NFC_TagStatestate)
    +
    + +

    Returns the current NFC tag state.

    +
    Parameters
    + + +
    statePointer to write NFC tag state.
    +
    +
    +
    Examples
    nfc/source/main.c.
    +
    + +
    +
    + +

    ◆ nfcInit()

    + +
    +
    + + + + + + + + +
    Result nfcInit (NFC_OpType type)
    +
    + +

    Initializes NFC.

    +
    Parameters
    + + +
    typeSee the NFC_OpType enum.
    +
    +
    +
    Examples
    nfc/source/main.c.
    +
    + +
    +
    + +

    ◆ nfcInitializeWriteAppData()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result nfcInitializeWriteAppData (u32 amiibo_appid,
    const void * buf,
    size_t size 
    )
    +
    + +

    This initializes the appdata using the specified input, when the appdata previously wasn't initialized.

    +

    If the appdata is already initialized, you must first use the amiibo Settings applet menu option labeled "Delete amiibo Game Data". This automatically writes the amiibo data into the actual data storage(normally NFC data pages). See also nfcWriteAppData().

    Parameters
    + + + + +
    amiibo_appidamiibo AppID. See also nfcOpenAppData().
    bufInput buffer.
    sizeBuffer size.
    +
    +
    +
    Examples
    nfc/source/main.c.
    +
    + +
    +
    + +

    ◆ nfcOpenAppData()

    + +
    +
    + + + + + + + + +
    Result nfcOpenAppData (u32 amiibo_appid)
    +
    + +

    Opens the appdata, when the amiibo appdata was previously initialized.

    +

    This must be used before reading/writing the appdata. See also: https://3dbrew.org/wiki/NFC:OpenAppData

    Parameters
    + + +
    amiibo_appidAmiibo AppID. See here: https://www.3dbrew.org/wiki/Amiibo
    +
    +
    +
    Examples
    nfc/source/main.c.
    +
    + +
    +
    + +

    ◆ nfcReadAppData()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result nfcReadAppData (void * buf,
    size_t size 
    )
    +
    + +

    Reads the appdata.

    +

    The size must be >=0xD8-bytes, but the actual used size is hard-coded to 0xD8. Note that areas of appdata which were never written to by applications are uninitialized in this output buffer.

    Parameters
    + + + +
    bufOutput buffer.
    sizeBuffer size.
    +
    +
    +
    Examples
    nfc/source/main.c.
    +
    + +
    +
    + +

    ◆ nfcSendTagCommand()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result nfcSendTagCommand (const void * inbuf,
    size_t insize,
    void * outbuf,
    size_t outsize,
    size_t * actual_transfer_size,
    u64 microseconds 
    )
    +
    + +

    This sends a raw NFC command to the tag.

    +

    This can only be used when initialized with NFC_OpType_RawNFC, and when the TagState is NFC_TagState_InRange. See also: https://www.3dbrew.org/wiki/NFC:SendTagCommand

    Parameters
    + + + + + + + +
    inbufInput buffer.
    insizeSize of the input buffer.
    outbufOutput buffer.
    outsizeSize of the output buffer.
    actual_transfer_sizeOptional output ptr to write the actual output-size to, can be NULL.
    microsecondsTiming-related field in microseconds.
    +
    +
    + +
    +
    + +

    ◆ nfcStartOtherTagScanning()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result nfcStartOtherTagScanning (u16 unk0,
    u32 unk1 
    )
    +
    + +

    Starts scanning for NFC tags when initialized with NFC_OpType_RawNFC.

    +

    See also: https://www.3dbrew.org/wiki/NFC:StartOtherTagScanning

    Parameters
    + + + +
    unk0Same as nfcStartScanning() input.
    unk1Unknown.
    +
    +
    + +
    +
    + +

    ◆ nfcStartScanning()

    + +
    +
    + + + + + + + + +
    Result nfcStartScanning (u16 inval)
    +
    + +

    Starts scanning for NFC tags.

    +
    Parameters
    + + +
    invalUnknown. See NFC_STARTSCAN_DEFAULTINPUT.
    +
    +
    +
    Examples
    nfc/source/main.c.
    +
    + +
    +
    + +

    ◆ nfcUpdateStoredAmiiboData()

    + +
    +
    + + + + + + + + +
    Result nfcUpdateStoredAmiiboData (void )
    +
    + +

    This writes the amiibo data stored in memory to the actual amiibo data storage(which is normally the NFC data pages).

    +

    This can only be used if NFC_LoadAmiiboData() was used previously.

    +
    Examples
    nfc/source/main.c.
    +
    + +
    +
    + +

    ◆ nfcWriteAppData()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result nfcWriteAppData (const void * buf,
    size_t size,
    NFC_TagInfotaginfo 
    )
    +
    + +

    Writes the appdata, after nfcOpenAppData() was used successfully.

    +

    The size should be <=0xD8-bytes. See also: https://3dbrew.org/wiki/NFC:WriteAppData

    Parameters
    + + + + +
    bufInput buffer.
    sizeBuffer size.
    taginfoTagInfo from nfcGetTagInfo().
    +
    +
    +
    Examples
    nfc/source/main.c.
    +
    + +
    +
    +
    + + + + diff --git a/nfc_8h_source.html b/nfc_8h_source.html new file mode 100644 index 000000000..c14e0234d --- /dev/null +++ b/nfc_8h_source.html @@ -0,0 +1,349 @@ + + + + + + + +libctru: include/3ds/services/nfc.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    nfc.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file nfc.h
    +
    3  * @brief NFC service. This can only be used with system-version >=9.3.0-X.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 /// This is returned when the current state is invalid for this command.
    +
    8 #define NFC_ERR_INVALID_STATE 0xC8A17600
    +
    9 
    +
    10 /// This is returned by nfcOpenAppData() when the appdata is uninitialized since nfcInitializeWriteAppData() wasn't used previously.
    +
    11 #define NFC_ERR_APPDATA_UNINITIALIZED 0xC8A17620
    +
    12 
    +
    13 /// This is returned by nfcGetAmiiboSettings() when the amiibo wasn't setup by the amiibo Settings applet.
    +
    14 #define NFC_ERR_AMIIBO_NOTSETUP 0xC8A17628
    +
    15 
    +
    16 /// This is returned by nfcOpenAppData() when the input AppID doesn't match the actual amiibo AppID.
    +
    17 #define NFC_ERR_APPID_MISMATCH 0xC8A17638
    +
    18 
    +
    19 /// "Returned for HMAC-hash mismatch(data corruption), with HMAC-calculation input_buffer_size=0x34."
    +
    20 #define NFC_ERR_DATACORRUPTION0 0xC8C1760C
    +
    21 
    +
    22 /// HMAC-hash mismatch with input_buffer_size=0x1DF, see here: https://www.3dbrew.org/wiki/Amiibo
    +
    23 #define NFC_ERR_DATACORRUPTION1 0xC8A17618
    +
    24 
    +
    25 /// This can be used for nfcStartScanning().
    +
    26 #define NFC_STARTSCAN_DEFAULTINPUT 0
    +
    27 
    +
    28 /// NFC operation type.
    +
    29 typedef enum {
    +
    30  NFC_OpType_1 = 1, /// Unknown.
    +
    31  NFC_OpType_NFCTag = 2, /// This is the default.
    +
    32  NFC_OpType_RawNFC = 3 /// Use Raw NFC tag commands. Only available with >=10.0.0-X.
    + +
    34 
    +
    35 typedef enum {
    +
    36  NFC_TagState_Uninitialized = 0, /// nfcInit() was not used yet.
    +
    37  NFC_TagState_ScanningStopped = 1, /// Not currently scanning for NFC tags. Set by nfcStopScanning() and nfcInit(), when successful.
    +
    38  NFC_TagState_Scanning = 2, /// Currently scanning for NFC tags. Set by nfcStartScanning() when successful.
    +
    39  NFC_TagState_InRange = 3, /// NFC tag is in range. The state automatically changes to this when the state was previously value 2, without using any NFC service commands.
    +
    40  NFC_TagState_OutOfRange = 4, /// NFC tag is now out of range, where the NFC tag was previously in range. This occurs automatically without using any NFC service commands. Once this state is entered, it won't automatically change to anything else when the tag is moved in range again. Hence, if you want to keep doing tag scanning after this, you must stop+start scanning.
    +
    41  NFC_TagState_DataReady = 5 /// NFC tag data was successfully loaded. This is set by nfcLoadAmiiboData() when successful.
    + +
    43 
    +
    44 /// Bit4-7 are always clear with nfcGetAmiiboSettings() due to "& 0xF".
    +
    45 enum {
    +
    46  NFC_amiiboFlag_Setup = BIT(4), /// This indicates that the amiibo was setup with amiibo Settings. nfcGetAmiiboSettings() will return an all-zero struct when this is not set.
    +
    47  NFC_amiiboFlag_AppDataSetup = BIT(5) /// This indicates that the AppData was previously initialized via nfcInitializeWriteAppData(), that function can't be used again with this flag already set.
    +
    48 };
    +
    49 
    +
    50 typedef struct {
    +
    51  u16 id_offset_size;/// "u16 size/offset of the below ID data. Normally this is 0x7. When this is <=10, this field is the size of the below ID data. When this is >10, this is the offset of the 10-byte ID data, relative to structstart+4+<offsetfield-10>. It's unknown in what cases this 10-byte ID data is used."
    +
    52  u8 unk_x2;//"Unknown u8, normally 0x0."
    +
    53  u8 unk_x3;//"Unknown u8, normally 0x2."
    +
    54  u8 id[0x28];//"ID data. When the above size field is 0x7, this is the 7-byte NFC tag UID, followed by all-zeros."
    +
    55 } NFC_TagInfo;
    +
    56 
    +
    57 /// AmiiboSettings structure, see also here: https://3dbrew.org/wiki/NFC:GetAmiiboSettings
    +
    58 typedef struct {
    +
    59  u8 mii[0x60];/// "Owner Mii."
    +
    60  u16 nickname[11];/// "UTF-16BE Amiibo nickname."
    +
    61  u8 flags;/// "This is plaintext_amiibosettingsdata[0] & 0xF." See also the NFC_amiiboFlag enums.
    +
    62  u8 countrycodeid;/// "This is plaintext_amiibosettingsdata[1]." "Country Code ID, from the system which setup this amiibo."
    + +
    64  u8 setupdate_month;
    +
    65  u8 setupdate_day;
    +
    66  u8 unk_x7c[0x2c];//Normally all-zero?
    + +
    68 
    +
    69 /// AmiiboConfig structure, see also here: https://3dbrew.org/wiki/NFC:GetAmiiboConfig
    +
    70 typedef struct {
    +
    71  u16 lastwritedate_year;
    +
    72  u8 lastwritedate_month;
    +
    73  u8 lastwritedate_day;
    +
    74  u16 write_counter;
    +
    75  u8 characterID[3];/// the first element is the collection ID, the second the character in this collection, the third the variant
    +
    76  u8 series;/// ID of the series
    +
    77  u16 amiiboID;/// ID shared by all exact same amiibo. Some amiibo are only distinguished by this one like regular SMB Series Mario and the gold one
    +
    78  u8 type;/// Type of amiibo 0 = figure, 1 = card, 2 = plush
    + +
    80  u16 appdata_size;/// "NFC module writes hard-coded u8 value 0xD8 here. This is the size of the Amiibo AppData, apps can use this with the AppData R/W commands. ..."
    +
    81  u8 zeros[0x30];/// "Unused / reserved: this is cleared by NFC module but never written after that."
    + +
    83 
    +
    84 /// Used by nfcInitializeWriteAppData() internally, see also here: https://3dbrew.org/wiki/NFC:GetAppDataInitStruct
    +
    85 typedef struct {
    +
    86  u8 data_x0[0xC];
    +
    87  u8 data_xc[0x30];/// "The data starting at struct offset 0xC is the 0x30-byte struct used by NFC:InitializeWriteAppData, sent by the user-process."
    + +
    89 
    +
    90 /// Used by nfcWriteAppData() internally, see also: https://3dbrew.org/wiki/NFC:WriteAppData
    +
    91 typedef struct {
    +
    92  u8 id[10];//7-byte UID normally.
    +
    93  u8 id_size;
    +
    94  u8 unused_xb[0x15];
    + +
    96 
    +
    97 /**
    +
    98  * @brief Initializes NFC.
    +
    99  * @param type See the NFC_OpType enum.
    +
    100  */
    + +
    102 
    +
    103 /**
    +
    104  * @brief Shuts down NFC.
    +
    105  */
    +
    106 void nfcExit(void);
    +
    107 
    +
    108 /**
    +
    109  * @brief Gets the NFC service handle.
    +
    110  * @return The NFC service handle.
    +
    111  */
    + +
    113 
    +
    114 /**
    +
    115  * @brief Starts scanning for NFC tags.
    +
    116  * @param inval Unknown. See NFC_STARTSCAN_DEFAULTINPUT.
    +
    117  */
    + +
    119 
    +
    120 /**
    +
    121  * @brief Stops scanning for NFC tags.
    +
    122  */
    +
    123 void nfcStopScanning(void);
    +
    124 
    +
    125 /**
    +
    126  * @brief Read amiibo NFC data and load in memory.
    +
    127  */
    + +
    129 
    +
    130 /**
    +
    131  * @brief If the tagstate is valid(NFC_TagState_DataReady or 6), it then sets the current tagstate to NFC_TagState_InRange.
    +
    132  */
    + +
    134 
    +
    135 /**
    +
    136  * @brief This writes the amiibo data stored in memory to the actual amiibo data storage(which is normally the NFC data pages). This can only be used if NFC_LoadAmiiboData() was used previously.
    +
    137  */
    + +
    139 
    +
    140 /**
    +
    141  * @brief Returns the current NFC tag state.
    +
    142  * @param state Pointer to write NFC tag state.
    +
    143  */
    + +
    145 
    +
    146 /**
    +
    147  * @brief Returns the current TagInfo.
    +
    148  * @param out Pointer to write the output TagInfo.
    +
    149  */
    + +
    151 
    +
    152 /**
    +
    153  * @brief Opens the appdata, when the amiibo appdata was previously initialized. This must be used before reading/writing the appdata. See also: https://3dbrew.org/wiki/NFC:OpenAppData
    +
    154  * @param amiibo_appid Amiibo AppID. See here: https://www.3dbrew.org/wiki/Amiibo
    +
    155  */
    +
    156 Result nfcOpenAppData(u32 amiibo_appid);
    +
    157 
    +
    158 /**
    +
    159  * @brief This initializes the appdata using the specified input, when the appdata previously wasn't initialized. If the appdata is already initialized, you must first use the amiibo Settings applet menu option labeled "Delete amiibo Game Data". This automatically writes the amiibo data into the actual data storage(normally NFC data pages). See also nfcWriteAppData().
    +
    160  * @param amiibo_appid amiibo AppID. See also nfcOpenAppData().
    +
    161  * @param buf Input buffer.
    +
    162  * @param size Buffer size.
    +
    163  */
    +
    164 Result nfcInitializeWriteAppData(u32 amiibo_appid, const void *buf, size_t size);
    +
    165 
    +
    166 /**
    +
    167  * @brief Reads the appdata. The size must be >=0xD8-bytes, but the actual used size is hard-coded to 0xD8. Note that areas of appdata which were never written to by applications are uninitialized in this output buffer.
    +
    168  * @param buf Output buffer.
    +
    169  * @param size Buffer size.
    +
    170  */
    +
    171 Result nfcReadAppData(void *buf, size_t size);
    +
    172 
    +
    173 /**
    +
    174  * @brief Writes the appdata, after nfcOpenAppData() was used successfully. The size should be <=0xD8-bytes. See also: https://3dbrew.org/wiki/NFC:WriteAppData
    +
    175  * @param buf Input buffer.
    +
    176  * @param size Buffer size.
    +
    177  * @param taginfo TagInfo from nfcGetTagInfo().
    +
    178  */
    +
    179 Result nfcWriteAppData(const void *buf, size_t size, NFC_TagInfo *taginfo);
    +
    180 
    +
    181 /**
    +
    182  * @brief Returns the current AmiiboSettings.
    +
    183  * @param out Pointer to write the output AmiiboSettings.
    +
    184  */
    + +
    186 
    +
    187 /**
    +
    188  * @brief Returns the current AmiiboConfig.
    +
    189  * @param out Pointer to write the output AmiiboConfig.
    +
    190  */
    + +
    192 
    +
    193 /**
    +
    194  * @brief Starts scanning for NFC tags when initialized with NFC_OpType_RawNFC. See also: https://www.3dbrew.org/wiki/NFC:StartOtherTagScanning
    +
    195  * @param unk0 Same as nfcStartScanning() input.
    +
    196  * @param unk1 Unknown.
    +
    197  */
    + +
    199 
    +
    200 /**
    +
    201  * @brief This sends a raw NFC command to the tag. This can only be used when initialized with NFC_OpType_RawNFC, and when the TagState is NFC_TagState_InRange. See also: https://www.3dbrew.org/wiki/NFC:SendTagCommand
    +
    202  * @param inbuf Input buffer.
    +
    203  * @param insize Size of the input buffer.
    +
    204  * @param outbuf Output buffer.
    +
    205  * @param outsize Size of the output buffer.
    +
    206  * @param actual_transfer_size Optional output ptr to write the actual output-size to, can be NULL.
    +
    207  * @param microseconds Timing-related field in microseconds.
    +
    208  */
    +
    209 Result nfcSendTagCommand(const void *inbuf, size_t insize, void *outbuf, size_t outsize, size_t *actual_transfer_size, u64 microseconds);
    +
    210 
    +
    211 /**
    +
    212  * @brief Unknown. This can only be used when initialized with NFC_OpType_RawNFC, and when the TagState is NFC_TagState_InRange.
    +
    213  */
    + +
    215 
    +
    216 /**
    +
    217  * @brief Unknown. This can only be used when initialized with NFC_OpType_RawNFC, and when the TagState is NFC_TagState_InRange.
    +
    218  */
    + +
    220 
    +
    Result nfcCmd22(void)
    Unknown.
    +
    Result nfcGetTagInfo(NFC_TagInfo *out)
    Returns the current TagInfo.
    +
    Result nfcCmd21(void)
    Unknown.
    +
    Result nfcUpdateStoredAmiiboData(void)
    This writes the amiibo data stored in memory to the actual amiibo data storage(which is normally the ...
    +
    Result nfcGetAmiiboConfig(NFC_AmiiboConfig *out)
    Returns the current AmiiboConfig.
    +
    void nfcExit(void)
    Shuts down NFC.
    +
    @ NFC_amiiboFlag_AppDataSetup
    This indicates that the amiibo was setup with amiibo Settings. nfcGetAmiiboSettings() will return an ...
    Definition: nfc.h:47
    +
    Result nfcLoadAmiiboData(void)
    Read amiibo NFC data and load in memory.
    +
    NFC_TagState
    Definition: nfc.h:35
    +
    @ NFC_TagState_DataReady
    NFC tag is now out of range, where the NFC tag was previously in range. This occurs automatically wit...
    Definition: nfc.h:41
    +
    @ NFC_TagState_OutOfRange
    NFC tag is in range. The state automatically changes to this when the state was previously value 2,...
    Definition: nfc.h:40
    +
    @ NFC_TagState_Scanning
    Not currently scanning for NFC tags. Set by nfcStopScanning() and nfcInit(), when successful.
    Definition: nfc.h:38
    +
    @ NFC_TagState_ScanningStopped
    nfcInit() was not used yet.
    Definition: nfc.h:37
    +
    @ NFC_TagState_InRange
    Currently scanning for NFC tags. Set by nfcStartScanning() when successful.
    Definition: nfc.h:39
    +
    Result nfcInit(NFC_OpType type)
    Initializes NFC.
    +
    Result nfcGetTagState(NFC_TagState *state)
    Returns the current NFC tag state.
    +
    Result nfcSendTagCommand(const void *inbuf, size_t insize, void *outbuf, size_t outsize, size_t *actual_transfer_size, u64 microseconds)
    This sends a raw NFC command to the tag.
    +
    Result nfcReadAppData(void *buf, size_t size)
    Reads the appdata.
    +
    Result nfcOpenAppData(u32 amiibo_appid)
    Opens the appdata, when the amiibo appdata was previously initialized.
    +
    Result nfcResetTagScanState(void)
    If the tagstate is valid(NFC_TagState_DataReady or 6), it then sets the current tagstate to NFC_TagSt...
    +
    NFC_OpType
    NFC operation type.
    Definition: nfc.h:29
    +
    @ NFC_OpType_NFCTag
    Unknown.
    Definition: nfc.h:31
    +
    @ NFC_OpType_RawNFC
    This is the default.
    Definition: nfc.h:32
    +
    Result nfcGetAmiiboSettings(NFC_AmiiboSettings *out)
    Returns the current AmiiboSettings.
    +
    Result nfcStartOtherTagScanning(u16 unk0, u32 unk1)
    Starts scanning for NFC tags when initialized with NFC_OpType_RawNFC.
    +
    Result nfcStartScanning(u16 inval)
    Starts scanning for NFC tags.
    +
    Handle nfcGetSessionHandle(void)
    Gets the NFC service handle.
    +
    Result nfcInitializeWriteAppData(u32 amiibo_appid, const void *buf, size_t size)
    This initializes the appdata using the specified input, when the appdata previously wasn't initialize...
    +
    Result nfcWriteAppData(const void *buf, size_t size, NFC_TagInfo *taginfo)
    Writes the appdata, after nfcOpenAppData() was used successfully.
    +
    void nfcStopScanning(void)
    Stops scanning for NFC tags.
    +
    AmiiboConfig structure, see also here: https://3dbrew.org/wiki/NFC:GetAmiiboConfig.
    Definition: nfc.h:70
    +
    u8 type
    ID shared by all exact same amiibo. Some amiibo are only distinguished by this one like regular SMB S...
    Definition: nfc.h:78
    +
    u16 amiiboID
    ID of the series.
    Definition: nfc.h:77
    +
    u8 series
    the first element is the collection ID, the second the character in this collection,...
    Definition: nfc.h:76
    +
    u8 pagex4_byte3
    Type of amiibo 0 = figure, 1 = card, 2 = plush.
    Definition: nfc.h:79
    +
    AmiiboSettings structure, see also here: https://3dbrew.org/wiki/NFC:GetAmiiboSettings.
    Definition: nfc.h:58
    +
    u8 flags
    "UTF-16BE Amiibo nickname."
    Definition: nfc.h:61
    +
    u16 setupdate_year
    "This is plaintext_amiibosettingsdata[1]." "Country Code ID, from the system which setup this amiibo....
    Definition: nfc.h:63
    +
    u8 countrycodeid
    "This is plaintext_amiibosettingsdata[0] & 0xF." See also the NFC_amiiboFlag enums.
    Definition: nfc.h:62
    +
    Used by nfcInitializeWriteAppData() internally, see also here: https://3dbrew.org/wiki/NFC:GetAppData...
    Definition: nfc.h:85
    +
    Used by nfcWriteAppData() internally, see also: https://3dbrew.org/wiki/NFC:WriteAppData.
    Definition: nfc.h:91
    +
    Definition: nfc.h:50
    +
    u8 unk_x2
    "u16 size/offset of the below ID data. Normally this is 0x7. When this is <=10, this field is the siz...
    Definition: nfc.h:52
    +
    #define BIT(n)
    Creates a bitmask from a bit number.
    Definition: types.h:47
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint16_t u16
    16-bit unsigned integer
    Definition: types.h:22
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/nim_8h.html b/nim_8h.html new file mode 100644 index 000000000..f4bc9b432 --- /dev/null +++ b/nim_8h.html @@ -0,0 +1,666 @@ + + + + + + + +libctru: include/3ds/services/nim.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    nim.h File Reference
    +
    +
    + +

    NIM (network installation management) service. +More...

    +
    #include <3ds/services/fs.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + +

    +Data Structures

    struct  NIM_TitleConfig
     Input configuration for NIM download/installation tasks. More...
     
    struct  NIM_TitleProgress
     Output struct for NIM downloads/installations in progress. More...
     
    + + + + + + + +

    +Enumerations

    enum  NIM_InstallationMode {
    +  IM_DEFAULT = 0 +,
    +  IM_UNKNOWN1 +,
    +  IM_UNKNOWN2 +,
    +  IM_REINSTALL +
    + }
     Mode that NIM downloads/installs a title with. More...
     
    enum  NIM_DownloadState {
    +  DS_NOT_INITIALIZED = 0 +,
    +  DS_INITIALIZED +,
    +  DS_DOWNLOAD_TMD +,
    +  DS_PREPARE_SAVE_DATA +,
    +  DS_DOWNLOAD_CONTENTS +,
    +  DS_WAIT_COMMIT +,
    +  DS_COMMITTING +,
    +  DS_FINISHED +,
    +  DS_VERSION_ERROR +,
    +  DS_CREATE_CONTEXT +,
    +  DS_CANNOT_RECOVER +,
    +  DS_INVALID +
    + }
     Current state of a NIM download/installation. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    Result nimsInit (void *buffer, size_t buffer_len)
     Initializes nim:s. More...
     
    Result nimsInitWithTIN (void *buffer, size_t buffer_len, const char *TIN)
     Initializes nim:s with the given TIN. More...
     
    +void nimsExit (void)
     Exits nim:s.
     
    +HandlenimsGetSessionHandle (void)
     Gets the current nim:s session handle.
     
    Result NIMS_SetAttribute (const char *attr, const char *val)
     Sets an attribute. More...
     
    Result NIMS_WantUpdate (bool *want_update)
     Checks if nim wants a system update. More...
     
    void NIMS_MakeTitleConfig (NIM_TitleConfig *cfg, u64 titleId, u32 version, u8 ratingAge, FS_MediaType mediaType)
     Makes a TitleConfig struct for use with NIMS_RegisterTask, NIMS_StartDownload or NIMS_StartDownloadSimple. More...
     
    Result NIMS_RegisterTask (const NIM_TitleConfig *cfg, const char *name, const char *maker)
     Registers a background download task with NIM. More...
     
    Result NIMS_IsTaskRegistered (u64 titleId, bool *registered)
     Checks whether a background download task for the given title is registered with NIM. More...
     
    Result NIMS_UnregisterTask (u64 titleId)
     Unregisters a background download task. More...
     
    Result NIMS_StartDownload (const NIM_TitleConfig *cfg, NIM_InstallationMode mode)
     Starts an active download with NIM. More...
     
    Result NIMS_StartDownloadSimple (const NIM_TitleConfig *cfg)
     Starts an active download with NIM with default installation mode; cannot reinstall titles. More...
     
    Result NIMS_GetProgress (NIM_TitleProgress *tp)
     Checks the status of the current active download. More...
     
    +Result NIMS_CancelDownload (void)
     Cancels the current active download with NIM.
     
    +

    Detailed Description

    +

    NIM (network installation management) service.

    +

    This service is used to download and install titles from Nintendo's CDN.

    +

    We differentiate between two different kinds of downloads:

    + +

    Enumeration Type Documentation

    + +

    ◆ NIM_DownloadState

    + +
    +
    + + + + +
    enum NIM_DownloadState
    +
    + +

    Current state of a NIM download/installation.

    + + + + + + + + + + + + + +
    Enumerator
    DS_NOT_INITIALIZED 

    Download not yet initialized.

    +
    DS_INITIALIZED 

    Download initialized.

    +
    DS_DOWNLOAD_TMD 

    Downloading and installing TMD.

    +
    DS_PREPARE_SAVE_DATA 

    Initializing save data.

    +
    DS_DOWNLOAD_CONTENTS 

    Downloading and installing contents.

    +
    DS_WAIT_COMMIT 

    Waiting before calling AM_CommitImportTitles.

    +
    DS_COMMITTING 

    Running AM_CommitImportTitles.

    +
    DS_FINISHED 

    Title installation finished.

    +
    DS_VERSION_ERROR 

    (unknown error regarding title version)

    +
    DS_CREATE_CONTEXT 

    Creating the .ctx file?

    +
    DS_CANNOT_RECOVER 

    Irrecoverable error encountered (e.g. out of space)

    +
    DS_INVALID 

    Invalid state.

    +
    + +
    +
    + +

    ◆ NIM_InstallationMode

    + +
    +
    + + + + +
    enum NIM_InstallationMode
    +
    + +

    Mode that NIM downloads/installs a title with.

    + + + + + +
    Enumerator
    IM_DEFAULT 

    Initial installation.

    +
    IM_UNKNOWN1 

    Unknown.

    +
    IM_UNKNOWN2 

    Unknown.

    +
    IM_REINSTALL 

    Reinstall currently installed title; use this if the title is already installed (including updates)

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ NIMS_GetProgress()

    + +
    +
    + + + + + + + + +
    Result NIMS_GetProgress (NIM_TitleProgresstp)
    +
    + +

    Checks the status of the current active download.

    +
    Parameters
    + + +
    tpTitle progress struct to write to. See NIM_TitleProgress.
    +
    +
    + +
    +
    + +

    ◆ NIMS_IsTaskRegistered()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result NIMS_IsTaskRegistered (u64 titleId,
    bool * registered 
    )
    +
    + +

    Checks whether a background download task for the given title is registered with NIM.

    +
    Parameters
    + + + +
    titleIdTitle ID to check for.
    registeredWhether there is a background download task registered.
    +
    +
    + +
    +
    + +

    ◆ NIMS_MakeTitleConfig()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void NIMS_MakeTitleConfig (NIM_TitleConfigcfg,
    u64 titleId,
    u32 version,
    u8 ratingAge,
    FS_MediaType mediaType 
    )
    +
    + +

    Makes a TitleConfig struct for use with NIMS_RegisterTask, NIMS_StartDownload or NIMS_StartDownloadSimple.

    +
    Parameters
    + + + + + + +
    cfgStruct to initialize.
    titleIdTitle ID to download and install.
    versionVersion of the title to download and install.
    ratingAgeAge for which the title is aged; used by parental controls in HOME Menu.
    mediaTypeMedia type of the title to download and install.
    +
    +
    + +
    +
    + +

    ◆ NIMS_RegisterTask()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result NIMS_RegisterTask (const NIM_TitleConfigcfg,
    const char * name,
    const char * maker 
    )
    +
    + +

    Registers a background download task with NIM.

    +

    These are processed in sleep mode only.

    Parameters
    + + + + +
    cfgTitle config to use. See NIMS_MakeTitleConfig.
    nameName of the title in UTF-8. Will be displayed on the HOME Menu. Maximum 73 characters.
    makerName of the maker/publisher in UTF-8. Will be displayed on the HOME Menu. Maximum 37 characters.
    +
    +
    + +
    +
    + +

    ◆ NIMS_SetAttribute()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result NIMS_SetAttribute (const char * attr,
    const char * val 
    )
    +
    + +

    Sets an attribute.

    +
    Parameters
    + + + +
    attrName of the attribute.
    valValue of the attribute.
    +
    +
    + +
    +
    + +

    ◆ NIMS_StartDownload()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result NIMS_StartDownload (const NIM_TitleConfigcfg,
    NIM_InstallationMode mode 
    )
    +
    + +

    Starts an active download with NIM.

    +

    Progress can be checked with NIMS_GetProcess. Do not exit the process while a download is in progress without calling NIMS_CancelDownload.

    Parameters
    + + + +
    cfgTitle config to use. See NIMS_MakeTitleConfig.
    modeThe installation mode to use. See NIM_InstallationMode.
    +
    +
    + +
    +
    + +

    ◆ NIMS_StartDownloadSimple()

    + +
    +
    + + + + + + + + +
    Result NIMS_StartDownloadSimple (const NIM_TitleConfigcfg)
    +
    + +

    Starts an active download with NIM with default installation mode; cannot reinstall titles.

    +

    Progress can be checked with NIMS_GetProcess. Do not exit the process while a download is in progress without calling NIMS_CancelDownload.

    Parameters
    + + +
    cfgTitle config to use. See NIMS_MakeTitleConfig.
    +
    +
    + +
    +
    + +

    ◆ NIMS_UnregisterTask()

    + +
    +
    + + + + + + + + +
    Result NIMS_UnregisterTask (u64 titleId)
    +
    + +

    Unregisters a background download task.

    +
    Parameters
    + + +
    titleIdTitle ID whose background download task to cancel.
    +
    +
    + +
    +
    + +

    ◆ NIMS_WantUpdate()

    + +
    +
    + + + + + + + + +
    Result NIMS_WantUpdate (bool * want_update)
    +
    + +

    Checks if nim wants a system update.

    +
    Parameters
    + + +
    want_updateSet to true if a system update is required. Can be NULL.
    +
    +
    + +
    +
    + +

    ◆ nimsInit()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result nimsInit (void * buffer,
    size_t buffer_len 
    )
    +
    + +

    Initializes nim:s.

    +

    This uses networking and is blocking.

    Parameters
    + + + +
    bufferA buffer for internal use. It must be at least 0x20000 bytes long.
    buffer_lenLength of the passed buffer.
    +
    +
    + +
    +
    + +

    ◆ nimsInitWithTIN()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result nimsInitWithTIN (void * buffer,
    size_t buffer_len,
    const char * TIN 
    )
    +
    + +

    Initializes nim:s with the given TIN.

    +

    This uses networking and is blocking.

    Parameters
    + + + + +
    bufferA buffer for internal use. It must be at least 0x20000 bytes long.
    buffer_lenLength of the passed buffer.
    TINThe TIN to initialize nim:s with. If you do not know what a TIN is or why you would want to change it, use nimsInit instead.
    +
    +
    + +
    +
    +
    + + + + diff --git a/nim_8h_source.html b/nim_8h_source.html new file mode 100644 index 000000000..a37af160b --- /dev/null +++ b/nim_8h_source.html @@ -0,0 +1,281 @@ + + + + + + + +libctru: include/3ds/services/nim.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    nim.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file nim.h
    +
    3  * @brief NIM (network installation management) service.
    +
    4  *
    +
    5  * This service is used to download and install titles from Nintendo's CDN.
    +
    6  *
    +
    7  * We differentiate between two different kinds of downloads:
    +
    8  *
    +
    9  * - "active" downloads, which are downloads started with @ref NIMS_StartDownload or @ref NIMS_StartDownloadSimple. The process must keep polling the current status using @ref NIMS_GetProgress.
    +
    10  * - "tasks", which are downloads started with @ref NIMS_RegisterTask. These are only processed in sleep mode.
    +
    11  */
    +
    12 #pragma once
    +
    13 
    +
    14 // FS_MediaType
    +
    15 #include <3ds/services/fs.h>
    +
    16 
    +
    17 /// Mode that NIM downloads/installs a title with.
    +
    18 typedef enum
    +
    19 {
    +
    20  IM_DEFAULT = 0, ///< Initial installation
    +
    21  IM_UNKNOWN1, ///< Unknown
    +
    22  IM_UNKNOWN2, ///< Unknown
    +
    23  IM_REINSTALL, ///< Reinstall currently installed title; use this if the title is already installed (including updates)
    + +
    25 
    +
    26 /// Current state of a NIM download/installation.
    +
    27 typedef enum
    +
    28 {
    +
    29  DS_NOT_INITIALIZED = 0, ///< Download not yet initialized
    +
    30  DS_INITIALIZED, ///< Download initialized
    +
    31  DS_DOWNLOAD_TMD, ///< Downloading and installing TMD
    +
    32  DS_PREPARE_SAVE_DATA, ///< Initializing save data
    +
    33  DS_DOWNLOAD_CONTENTS, ///< Downloading and installing contents
    +
    34  DS_WAIT_COMMIT, ///< Waiting before calling AM_CommitImportTitles
    +
    35  DS_COMMITTING, ///< Running AM_CommitImportTitles
    +
    36  DS_FINISHED, ///< Title installation finished
    +
    37  DS_VERSION_ERROR, ///< (unknown error regarding title version)
    +
    38  DS_CREATE_CONTEXT, ///< Creating the .ctx file?
    +
    39  DS_CANNOT_RECOVER, ///< Irrecoverable error encountered (e.g. out of space)
    +
    40  DS_INVALID, ///< Invalid state
    + +
    42 
    +
    43 /// Input configuration for NIM download/installation tasks.
    +
    44 typedef struct
    +
    45 {
    +
    46  u64 titleId; ///< Title ID
    +
    47  u32 version; ///< Title version
    +
    48  u32 unknown_0; ///< Always 0
    +
    49  u8 ratingAge; ///< Age for the HOME Menu parental controls
    +
    50  u8 mediaType; ///< Media type, see @ref FS_MediaType enum
    +
    51  u8 padding[2]; ///< Padding
    +
    52  u32 unknown_1; ///< Unknown input, seems to be always 0
    + +
    54 
    +
    55 /// Output struct for NIM downloads/installations in progress.
    +
    56 typedef struct
    +
    57 {
    +
    58  u32 state; ///< State, see NIM_DownloadState enum
    +
    59  Result lastResult; ///< Last result code in NIM
    +
    60  u64 downloadedSize; ///< Amount of bytes that have been downloaded
    +
    61  u64 totalSize; ///< Amount of bytes that need to be downloaded in total
    + +
    63 
    +
    64 /**
    +
    65  * @brief Initializes nim:s. This uses networking and is blocking.
    +
    66  * @param buffer A buffer for internal use. It must be at least 0x20000 bytes long.
    +
    67  * @param buffer_len Length of the passed buffer.
    +
    68  */
    +
    69 Result nimsInit(void *buffer, size_t buffer_len);
    +
    70 
    +
    71 /**
    +
    72  * @brief Initializes nim:s with the given TIN. This uses networking and is blocking.
    +
    73  * @param buffer A buffer for internal use. It must be at least 0x20000 bytes long.
    +
    74  * @param buffer_len Length of the passed buffer.
    +
    75  * @param TIN The TIN to initialize nim:s with. If you do not know what a TIN is or why you would want to change it, use @ref nimsInit instead.
    +
    76  */
    +
    77 Result nimsInitWithTIN(void *buffer, size_t buffer_len, const char *TIN);
    +
    78 
    +
    79 /// Exits nim:s.
    +
    80 void nimsExit(void);
    +
    81 
    +
    82 /// Gets the current nim:s session handle.
    + +
    84 
    +
    85 /**
    +
    86  * @brief Sets an attribute.
    +
    87  * @param attr Name of the attribute.
    +
    88  * @param val Value of the attribute.
    +
    89  */
    +
    90 Result NIMS_SetAttribute(const char *attr, const char *val);
    +
    91 
    +
    92 /**
    +
    93  * @brief Checks if nim wants a system update.
    +
    94  * @param want_update Set to true if a system update is required. Can be NULL.
    +
    95  */
    +
    96 Result NIMS_WantUpdate(bool *want_update);
    +
    97 
    +
    98 /**
    +
    99  * @brief Makes a TitleConfig struct for use with @ref NIMS_RegisterTask, @ref NIMS_StartDownload or @ref NIMS_StartDownloadSimple.
    +
    100  * @param cfg Struct to initialize.
    +
    101  * @param titleId Title ID to download and install.
    +
    102  * @param version Version of the title to download and install.
    +
    103  * @param ratingAge Age for which the title is aged; used by parental controls in HOME Menu.
    +
    104  * @param mediaType Media type of the title to download and install.
    +
    105  */
    +
    106 void NIMS_MakeTitleConfig(NIM_TitleConfig *cfg, u64 titleId, u32 version, u8 ratingAge, FS_MediaType mediaType);
    +
    107 
    +
    108 /**
    +
    109  * @brief Registers a background download task with NIM. These are processed in sleep mode only.
    +
    110  * @param cfg Title config to use. See @ref NIMS_MakeTitleConfig.
    +
    111  * @param name Name of the title in UTF-8. Will be displayed on the HOME Menu. Maximum 73 characters.
    +
    112  * @param maker Name of the maker/publisher in UTF-8. Will be displayed on the HOME Menu. Maximum 37 characters.
    +
    113  */
    +
    114 Result NIMS_RegisterTask(const NIM_TitleConfig *cfg, const char *name, const char *maker);
    +
    115 
    +
    116 /**
    +
    117  * @brief Checks whether a background download task for the given title is registered with NIM.
    +
    118  * @param titleId Title ID to check for.
    +
    119  * @param registered Whether there is a background download task registered.
    +
    120  */
    +
    121 Result NIMS_IsTaskRegistered(u64 titleId, bool *registered);
    +
    122 
    +
    123 /**
    +
    124  * @brief Unregisters a background download task.
    +
    125  * @param titleId Title ID whose background download task to cancel.
    +
    126  */
    + +
    128 
    +
    129 /**
    +
    130  * @brief Starts an active download with NIM. Progress can be checked with @ref NIMS_GetProcess. Do not exit the process while a download is in progress without calling @ref NIMS_CancelDownload.
    +
    131  * @param cfg Title config to use. See @ref NIMS_MakeTitleConfig.
    +
    132  * @param mode The installation mode to use. See @ref NIM_InstallationMode.
    +
    133  */
    + +
    135 
    +
    136 /**
    +
    137  * @brief Starts an active download with NIM with default installation mode; cannot reinstall titles. Progress can be checked with @ref NIMS_GetProcess. Do not exit the process while a download is in progress without calling @ref NIMS_CancelDownload.
    +
    138  * @param cfg Title config to use. See @ref NIMS_MakeTitleConfig.
    +
    139  */
    + +
    141 
    +
    142 /**
    +
    143  * @brief Checks the status of the current active download.
    +
    144  * @param tp Title progress struct to write to. See @ref NIM_TitleProgress.
    +
    145  */
    + +
    147 
    +
    148 /**
    +
    149  * @brief Cancels the current active download with NIM.
    +
    150  */
    + +
    Filesystem Services.
    +
    FS_MediaType
    Media types.
    Definition: fs.h:35
    +
    Result NIMS_GetProgress(NIM_TitleProgress *tp)
    Checks the status of the current active download.
    +
    Result NIMS_UnregisterTask(u64 titleId)
    Unregisters a background download task.
    +
    Result nimsInitWithTIN(void *buffer, size_t buffer_len, const char *TIN)
    Initializes nim:s with the given TIN.
    +
    Result NIMS_SetAttribute(const char *attr, const char *val)
    Sets an attribute.
    +
    Result NIMS_StartDownloadSimple(const NIM_TitleConfig *cfg)
    Starts an active download with NIM with default installation mode; cannot reinstall titles.
    +
    Result NIMS_IsTaskRegistered(u64 titleId, bool *registered)
    Checks whether a background download task for the given title is registered with NIM.
    +
    Result NIMS_RegisterTask(const NIM_TitleConfig *cfg, const char *name, const char *maker)
    Registers a background download task with NIM.
    +
    Result NIMS_StartDownload(const NIM_TitleConfig *cfg, NIM_InstallationMode mode)
    Starts an active download with NIM.
    +
    void NIMS_MakeTitleConfig(NIM_TitleConfig *cfg, u64 titleId, u32 version, u8 ratingAge, FS_MediaType mediaType)
    Makes a TitleConfig struct for use with NIMS_RegisterTask, NIMS_StartDownload or NIMS_StartDownloadSi...
    +
    Result nimsInit(void *buffer, size_t buffer_len)
    Initializes nim:s.
    +
    void nimsExit(void)
    Exits nim:s.
    +
    Result NIMS_CancelDownload(void)
    Cancels the current active download with NIM.
    +
    Handle * nimsGetSessionHandle(void)
    Gets the current nim:s session handle.
    +
    Result NIMS_WantUpdate(bool *want_update)
    Checks if nim wants a system update.
    +
    NIM_InstallationMode
    Mode that NIM downloads/installs a title with.
    Definition: nim.h:19
    +
    @ IM_UNKNOWN1
    Unknown.
    Definition: nim.h:21
    +
    @ IM_REINSTALL
    Reinstall currently installed title; use this if the title is already installed (including updates)
    Definition: nim.h:23
    +
    @ IM_DEFAULT
    Initial installation.
    Definition: nim.h:20
    +
    @ IM_UNKNOWN2
    Unknown.
    Definition: nim.h:22
    +
    NIM_DownloadState
    Current state of a NIM download/installation.
    Definition: nim.h:28
    +
    @ DS_CANNOT_RECOVER
    Irrecoverable error encountered (e.g. out of space)
    Definition: nim.h:39
    +
    @ DS_CREATE_CONTEXT
    Creating the .ctx file?
    Definition: nim.h:38
    +
    @ DS_COMMITTING
    Running AM_CommitImportTitles.
    Definition: nim.h:35
    +
    @ DS_DOWNLOAD_CONTENTS
    Downloading and installing contents.
    Definition: nim.h:33
    +
    @ DS_INVALID
    Invalid state.
    Definition: nim.h:40
    +
    @ DS_DOWNLOAD_TMD
    Downloading and installing TMD.
    Definition: nim.h:31
    +
    @ DS_PREPARE_SAVE_DATA
    Initializing save data.
    Definition: nim.h:32
    +
    @ DS_VERSION_ERROR
    (unknown error regarding title version)
    Definition: nim.h:37
    +
    @ DS_NOT_INITIALIZED
    Download not yet initialized.
    Definition: nim.h:29
    +
    @ DS_FINISHED
    Title installation finished.
    Definition: nim.h:36
    +
    @ DS_WAIT_COMMIT
    Waiting before calling AM_CommitImportTitles.
    Definition: nim.h:34
    +
    @ DS_INITIALIZED
    Download initialized.
    Definition: nim.h:30
    +
    Input configuration for NIM download/installation tasks.
    Definition: nim.h:45
    +
    u32 unknown_1
    Unknown input, seems to be always 0.
    Definition: nim.h:52
    +
    u32 version
    Title version.
    Definition: nim.h:47
    +
    u8 mediaType
    Media type, see FS_MediaType enum.
    Definition: nim.h:50
    +
    u64 titleId
    Title ID.
    Definition: nim.h:46
    +
    u8 ratingAge
    Age for the HOME Menu parental controls.
    Definition: nim.h:49
    +
    u32 unknown_0
    Always 0.
    Definition: nim.h:48
    +
    Output struct for NIM downloads/installations in progress.
    Definition: nim.h:57
    +
    u32 state
    State, see NIM_DownloadState enum.
    Definition: nim.h:58
    +
    u64 downloadedSize
    Amount of bytes that have been downloaded.
    Definition: nim.h:60
    +
    u64 totalSize
    Amount of bytes that need to be downloaded in total.
    Definition: nim.h:61
    +
    Result lastResult
    Last result code in NIM.
    Definition: nim.h:59
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/ns_8h.html b/ns_8h.html new file mode 100644 index 000000000..0b21f5c2b --- /dev/null +++ b/ns_8h.html @@ -0,0 +1,305 @@ + + + + + + + +libctru: include/3ds/services/ns.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    ns.h File Reference
    +
    +
    + +

    NS (Nintendo Shell) service. +More...

    + +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    +Result nsInit (void)
     Initializes NS.
     
    +void nsExit (void)
     Exits NS.
     
    Result NS_LaunchFIRM (u64 titleid)
     Launches a title and the required firmware (only if necessary). More...
     
    Result NS_LaunchTitle (u64 titleid, u32 launch_flags, u32 *procid)
     Launches a title. More...
     
    +Result NS_TerminateTitle (void)
     Terminates the application from which this function is called.
     
    Result NS_LaunchApplicationFIRM (u64 titleid, u32 flags)
     Launches a title and the required firmware. More...
     
    Result NS_RebootToTitle (u8 mediatype, u64 titleid)
     Reboots to a title. More...
     
    Result NS_TerminateProcessTID (u64 titleid, u64 timeout)
     Terminates the process with the specified titleid. More...
     
    +Result NS_RebootSystem (void)
     Reboots the system.
     
    +

    Detailed Description

    +

    NS (Nintendo Shell) service.

    +

    Function Documentation

    + +

    ◆ NS_LaunchApplicationFIRM()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result NS_LaunchApplicationFIRM (u64 titleid,
    u32 flags 
    )
    +
    + +

    Launches a title and the required firmware.

    +
    Parameters
    + + + +
    titleidID of the title to launch, 0 for gamecard.
    flagsFlags for firm-launch. bit0: require an application title-info structure in FIRM paramters to be specified via FIRM parameters. bit1: if clear, NS will check certain Configuration Memory fields.
    +
    +
    + +
    +
    + +

    ◆ NS_LaunchFIRM()

    + +
    +
    + + + + + + + + +
    Result NS_LaunchFIRM (u64 titleid)
    +
    + +

    Launches a title and the required firmware (only if necessary).

    +
    Parameters
    + + +
    titleidID of the title to launch, 0 for gamecard, JPN System Settings' titleID for System Settings.
    +
    +
    + +
    +
    + +

    ◆ NS_LaunchTitle()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result NS_LaunchTitle (u64 titleid,
    u32 launch_flags,
    u32procid 
    )
    +
    + +

    Launches a title.

    +
    Parameters
    + + + + +
    titleidID of the title to launch, or 0 for gamecard.
    launch_flagsFlags used when launching the title.
    procidPointer to write the process ID of the launched title to.
    +
    +
    + +
    +
    + +

    ◆ NS_RebootToTitle()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result NS_RebootToTitle (u8 mediatype,
    u64 titleid 
    )
    +
    + +

    Reboots to a title.

    +
    Parameters
    + + + +
    mediatypeMediatype of the title.
    titleidID of the title to launch.
    +
    +
    + +
    +
    + +

    ◆ NS_TerminateProcessTID()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result NS_TerminateProcessTID (u64 titleid,
    u64 timeout 
    )
    +
    + +

    Terminates the process with the specified titleid.

    +
    Parameters
    + + + +
    titleidID of the title to terminate.
    timeoutTimeout in nanoseconds. Pass 0 if not required.
    +
    +
    + +
    +
    +
    + + + + diff --git a/ns_8h_source.html b/ns_8h_source.html new file mode 100644 index 000000000..788c09496 --- /dev/null +++ b/ns_8h_source.html @@ -0,0 +1,143 @@ + + + + + + + +libctru: include/3ds/services/ns.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    ns.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file ns.h
    +
    3  * @brief NS (Nintendo Shell) service.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 /// Initializes NS.
    +
    8 Result nsInit(void);
    +
    9 
    +
    10 /// Exits NS.
    +
    11 void nsExit(void);
    +
    12 
    +
    13 /**
    +
    14  * @brief Launches a title and the required firmware (only if necessary).
    +
    15  * @param titleid ID of the title to launch, 0 for gamecard, JPN System Settings' titleID for System Settings.
    +
    16  */
    + +
    18 
    +
    19 /**
    +
    20  * @brief Launches a title.
    +
    21  * @param titleid ID of the title to launch, or 0 for gamecard.
    +
    22  * @param launch_flags Flags used when launching the title.
    +
    23  * @param procid Pointer to write the process ID of the launched title to.
    +
    24  */
    +
    25 Result NS_LaunchTitle(u64 titleid, u32 launch_flags, u32 *procid);
    +
    26 
    +
    27 /// Terminates the application from which this function is called
    + +
    29 /**
    +
    30  * @brief Launches a title and the required firmware.
    +
    31  * @param titleid ID of the title to launch, 0 for gamecard.
    +
    32  * @param flags Flags for firm-launch. bit0: require an application title-info structure in FIRM paramters to be specified via FIRM parameters. bit1: if clear, NS will check certain Configuration Memory fields.
    +
    33  */
    + +
    35 
    +
    36 /**
    +
    37  * @brief Reboots to a title.
    +
    38  * @param mediatype Mediatype of the title.
    +
    39  * @param titleid ID of the title to launch.
    +
    40  */
    +
    41 Result NS_RebootToTitle(u8 mediatype, u64 titleid);
    +
    42 
    +
    43 /**
    +
    44  * @brief Terminates the process with the specified titleid.
    +
    45  * @param titleid ID of the title to terminate.
    +
    46  * @param timeout Timeout in nanoseconds. Pass 0 if not required.
    +
    47  */
    + +
    49 
    +
    50 /// Reboots the system
    + +
    Result NS_LaunchApplicationFIRM(u64 titleid, u32 flags)
    Launches a title and the required firmware.
    +
    Result NS_RebootToTitle(u8 mediatype, u64 titleid)
    Reboots to a title.
    +
    Result NS_RebootSystem(void)
    Reboots the system.
    +
    void nsExit(void)
    Exits NS.
    +
    Result NS_LaunchTitle(u64 titleid, u32 launch_flags, u32 *procid)
    Launches a title.
    +
    Result NS_TerminateTitle(void)
    Terminates the application from which this function is called.
    +
    Result NS_LaunchFIRM(u64 titleid)
    Launches a title and the required firmware (only if necessary).
    +
    Result nsInit(void)
    Initializes NS.
    +
    Result NS_TerminateProcessTID(u64 titleid, u64 timeout)
    Terminates the process with the specified titleid.
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/nwmext_8h_source.html b/nwmext_8h_source.html new file mode 100644 index 000000000..e4c690916 --- /dev/null +++ b/nwmext_8h_source.html @@ -0,0 +1,93 @@ + + + + + + + +libctru: include/3ds/services/nwmext.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    nwmext.h
    +
    +
    +
    1 #pragma once
    +
    2 
    +
    3 // Initializes NWMEXT.
    +
    4 Result nwmExtInit(void);
    +
    5 
    +
    6 // Exits NWMEXT.
    +
    7 void nwmExtExit(void);
    +
    8 
    +
    9 /**
    +
    10  * @brief Turns wireless on or off.
    +
    11  * @param enableWifi True enables it, false disables it.
    +
    12  */
    +
    13 Result NWMEXT_ControlWirelessEnabled(bool enableWifi);
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    + + + + diff --git a/open.png b/open.png new file mode 100644 index 0000000000000000000000000000000000000000..30f75c7efe2dd0c9e956e35b69777a02751f048b GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM + + + + + + +libctru: include/3ds/os.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    os.h File Reference
    +
    +
    + +

    OS related stuff. +More...

    +
    #include "svc.h"
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + +

    +Data Structures

    struct  osKernelConfig_s
     Kernel configuration page (read-only). More...
     
    struct  osTimeRef_s
     Time reference information struct (filled in by PTM). More...
     
    struct  osSharedConfig_s
     Shared system configuration page structure (read-only or read-write depending on exheader). More...
     
    struct  TickCounter
     Tick counter. More...
     
    struct  OS_VersionBin
     OS_VersionBin. Format of the system version: "<major>.<minor>.<build>-<nupver><region>". More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    #define SYSCLOCK_SOC   (16756991u)
     < The external clock rate for the SoC. More...
     
    +#define SYSCLOCK_SYS   (SYSCLOCK_SOC * 2)
     The base clock rate for the SDMMC controller (and some other peripherals).
     
    +#define SYSCLOCK_SDMMC   (SYSCLOCK_SYS * 2)
     The clock rate for the Arm9.
     
    +#define SYSCLOCK_ARM9   (SYSCLOCK_SYS * 4)
     The clock rate for the Arm11 in CTR mode and in svcGetSystemTick.
     
    +#define SYSCLOCK_ARM11   (SYSCLOCK_ARM9 * 2)
     The clock rate for the Arm11 in LGR1 mode.
     
    +#define SYSCLOCK_ARM11_LGR1   (SYSCLOCK_ARM11 * 2)
     The clock rate for the Arm11 in LGR2 mode.
     
    +#define SYSCLOCK_ARM11_LGR2   (SYSCLOCK_ARM11 * 3)
     The highest possible clock rate for the Arm11 on known New 3DS units.
     
    +#define SYSCLOCK_ARM11_NEW   SYSCLOCK_ARM11_LGR2
     
    +#define CPU_TICKS_PER_MSEC   (SYSCLOCK_ARM11 / 1000.0)
     
    +#define CPU_TICKS_PER_USEC   (SYSCLOCK_ARM11 / 1000000.0)
     
    +#define SYSTEM_VERSION(major, minor, revision)    (((major)<<24)|((minor)<<16)|((revision)<<8))
     Packs a system version from its components.
     
    +#define GET_VERSION_MAJOR(version)   ((version) >>24)
     Retrieves the major version from a packed system version.
     
    +#define GET_VERSION_MINOR(version)   (((version)>>16)&0xFF)
     Retrieves the minor version from a packed system version.
     
    +#define GET_VERSION_REVISION(version)   (((version)>> 8)&0xFF)
     Retrieves the revision version from a packed system version.
     
    +#define OS_HEAP_AREA_BEGIN   0x08000000
     Start of the heap area in the virtual address space.
     
    +#define OS_HEAP_AREA_END   0x0E000000
     End of the heap area in the virtual address space.
     
    +#define OS_MAP_AREA_BEGIN   0x10000000
     Start of the mappable area in the virtual address space.
     
    +#define OS_MAP_AREA_END   0x14000000
     End of the mappable area in the virtual address space.
     
    +#define OS_OLD_FCRAM_VADDR   0x14000000
     Old pre-8.x linear FCRAM mapping virtual address.
     
    +#define OS_OLD_FCRAM_PADDR   0x20000000
     Old pre-8.x linear FCRAM mapping physical address.
     
    +#define OS_OLD_FCRAM_SIZE   0x8000000
     Old pre-8.x linear FCRAM mapping size (128 MiB)
     
    +#define OS_QTMRAM_VADDR   0x1E800000
     New3DS QTM memory virtual address.
     
    +#define OS_QTMRAM_PADDR   0x1F000000
     New3DS QTM memory physical address.
     
    +#define OS_QTMRAM_SIZE   0x400000
     New3DS QTM memory size (4 MiB; last 128 KiB reserved by kernel)
     
    +#define OS_MMIO_VADDR   0x1EC00000
     Memory mapped IO range virtual address.
     
    +#define OS_MMIO_PADDR   0x10100000
     Memory mapped IO range physical address.
     
    +#define OS_MMIO_SIZE   0x400000
     Memory mapped IO range size (4 MiB)
     
    +#define OS_VRAM_VADDR   0x1F000000
     VRAM virtual address.
     
    +#define OS_VRAM_PADDR   0x18000000
     VRAM physical address.
     
    +#define OS_VRAM_SIZE   0x600000
     VRAM size (6 MiB)
     
    +#define OS_DSPRAM_VADDR   0x1FF00000
     DSP memory virtual address.
     
    +#define OS_DSPRAM_PADDR   0x1FF00000
     DSP memory physical address.
     
    +#define OS_DSPRAM_SIZE   0x80000
     DSP memory size (512 KiB)
     
    +#define OS_KERNELCFG_VADDR   0x1FF80000
     Kernel configuration page virtual address.
     
    +#define OS_SHAREDCFG_VADDR   0x1FF81000
     Shared system configuration page virtual address.
     
    +#define OS_FCRAM_VADDR   0x30000000
     Linear FCRAM mapping virtual address.
     
    +#define OS_FCRAM_PADDR   0x20000000
     Linear FCRAM mapping physical address.
     
    +#define OS_FCRAM_SIZE   0x10000000
     Linear FCRAM mapping size (256 MiB)
     
    +#define OS_KernelConfig   ((osKernelConfig_s const*)OS_KERNELCFG_VADDR)
     Pointer to the kernel configuration page (see osKernelConfig_s)
     
    +#define OS_SharedConfig   ((osSharedConfig_s*)OS_SHAREDCFG_VADDR)
     Pointer to the shared system configuration page (see osSharedConfig_s)
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    u32 osConvertVirtToPhys (const void *vaddr)
     Converts an address from virtual (process) memory to physical memory. More...
     
    void * osConvertOldLINEARMemToNew (const void *vaddr)
     Converts 0x14* vmem to 0x30*. More...
     
    const char * osStrError (Result error)
     Retrieves basic information about a service error. More...
     
    static u32 osGetFirmVersion (void)
     Gets the system's FIRM version. More...
     
    static u32 osGetKernelVersion (void)
     Gets the system's kernel version. More...
     
    +static u32 osGetSystemCoreVersion (void)
     Gets the system's "core version" (2 on NATIVE_FIRM, 3 on SAFE_FIRM, etc.)
     
    +static u32 osGetApplicationMemType (void)
     Gets the system's memory layout ID (0-5 on Old 3DS, 6-8 on New 3DS)
     
    static u32 osGetMemRegionSize (MemRegion region)
     Gets the size of the specified memory region. More...
     
    static u32 osGetMemRegionUsed (MemRegion region)
     Gets the number of used bytes within the specified memory region. More...
     
    static u32 osGetMemRegionFree (MemRegion region)
     Gets the number of free bytes within the specified memory region. More...
     
    osTimeRef_s osGetTimeRef (void)
     Reads the latest reference timepoint published by PTM. More...
     
    u64 osGetTime (void)
     Gets the current time. More...
     
    static void osTickCounterStart (TickCounter *cnt)
     Starts a tick counter. More...
     
    static void osTickCounterUpdate (TickCounter *cnt)
     Updates the elapsed time in a tick counter. More...
     
    double osTickCounterRead (const TickCounter *cnt)
     Reads the elapsed time in a tick counter. More...
     
    static u8 osGetWifiStrength (void)
     Gets the current Wifi signal strength. More...
     
    static float osGet3DSliderState (void)
     Gets the state of the 3D slider. More...
     
    static bool osIsHeadsetConnected (void)
     Checks whether a headset is connected. More...
     
    void osSetSpeedupEnable (bool enable)
     Configures the New 3DS speedup. More...
     
    Result osGetSystemVersionData (OS_VersionBin *nver_versionbin, OS_VersionBin *cver_versionbin)
     Gets the NAND system-version stored in NVer/CVer. More...
     
    Result osGetSystemVersionDataString (OS_VersionBin *nver_versionbin, OS_VersionBin *cver_versionbin, char *sysverstr, u32 sysverstr_maxsize)
     This is a wrapper for osGetSystemVersionData. More...
     
    +

    Detailed Description

    +

    OS related stuff.

    +

    Macro Definition Documentation

    + +

    ◆ SYSCLOCK_SOC

    + +
    +
    + + + + +
    #define SYSCLOCK_SOC   (16756991u)
    +
    + +

    < The external clock rate for the SoC.

    +

    The base system clock rate (for I2C, NDMA, etc.).

    + +
    +
    +

    Function Documentation

    + +

    ◆ osConvertOldLINEARMemToNew()

    + +
    +
    + + + + + + + + +
    void* osConvertOldLINEARMemToNew (const void * vaddr)
    +
    + +

    Converts 0x14* vmem to 0x30*.

    +
    Parameters
    + + +
    vaddrInput virtual address.
    +
    +
    +
    Returns
    The corresponding address in the 0x30* range, the input address if it's already within the new vmem, or 0 if it's outside of both ranges.
    + +
    +
    + +

    ◆ osConvertVirtToPhys()

    + +
    +
    + + + + + + + + +
    u32 osConvertVirtToPhys (const void * vaddr)
    +
    + +

    Converts an address from virtual (process) memory to physical memory.

    +
    Parameters
    + + +
    vaddrInput virtual address.
    +
    +
    +
    Returns
    The corresponding physical address. It is sometimes required by services or when using the GPU command buffer.
    +
    Examples
    mvd/source/main.c.
    +
    + +
    +
    + +

    ◆ osGet3DSliderState()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static float osGet3DSliderState (void )
    +
    +inlinestatic
    +
    + +

    Gets the state of the 3D slider.

    +
    Returns
    The state of the 3D slider (0.0~1.0)
    +
    Examples
    graphics/gpu/fragment_light/source/main.c, graphics/gpu/lenny/source/main.c, graphics/gpu/particles/source/main.c, and graphics/gpu/toon_shading/source/main.c.
    +
    + +
    +
    + +

    ◆ osGetFirmVersion()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static u32 osGetFirmVersion (void )
    +
    +inlinestatic
    +
    + +

    Gets the system's FIRM version.

    +
    Returns
    The system's FIRM version.
    +

    This can be used to compare system versions easily with SYSTEM_VERSION.

    + +
    +
    + +

    ◆ osGetKernelVersion()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static u32 osGetKernelVersion (void )
    +
    +inlinestatic
    +
    + +

    Gets the system's kernel version.

    +
    Returns
    The system's kernel version.
    +

    This can be used to compare system versions easily with SYSTEM_VERSION.

    +
    if(osGetKernelVersion() > SYSTEM_VERSION(2,46,0)) printf("You are running 9.0 or higher\n");
    +
    static u32 osGetKernelVersion(void)
    Gets the system's kernel version.
    Definition: os.h:197
    +
    #define SYSTEM_VERSION(major, minor, revision)
    Packs a system version from its components.
    Definition: os.h:29
    +
    +
    +
    + +

    ◆ osGetMemRegionFree()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static u32 osGetMemRegionFree (MemRegion region)
    +
    +inlinestatic
    +
    + +

    Gets the number of free bytes within the specified memory region.

    +
    Parameters
    + + +
    regionMemory region to check.
    +
    +
    +
    Returns
    The number of free bytes of memory.
    + +
    +
    + +

    ◆ osGetMemRegionSize()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static u32 osGetMemRegionSize (MemRegion region)
    +
    +inlinestatic
    +
    + +

    Gets the size of the specified memory region.

    +
    Parameters
    + + +
    regionMemory region to check.
    +
    +
    +
    Returns
    The size of the memory region, in bytes.
    + +
    +
    + +

    ◆ osGetMemRegionUsed()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static u32 osGetMemRegionUsed (MemRegion region)
    +
    +inlinestatic
    +
    + +

    Gets the number of used bytes within the specified memory region.

    +
    Parameters
    + + +
    regionMemory region to check.
    +
    +
    +
    Returns
    The number of used bytes of memory.
    + +
    +
    + +

    ◆ osGetSystemVersionData()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result osGetSystemVersionData (OS_VersionBinnver_versionbin,
    OS_VersionBincver_versionbin 
    )
    +
    + +

    Gets the NAND system-version stored in NVer/CVer.

    +
    Parameters
    + + + +
    nver_versionbinOutput OS_VersionBin structure for the data read from NVer.
    cver_versionbinOutput OS_VersionBin structure for the data read from CVer.
    +
    +
    +
    Returns
    The result-code. This value can be positive if opening "romfs:/version.bin" fails with stdio, since errno would be returned in that case. In some cases the error can be special negative values as well.
    + +
    +
    + +

    ◆ osGetSystemVersionDataString()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result osGetSystemVersionDataString (OS_VersionBinnver_versionbin,
    OS_VersionBincver_versionbin,
    char * sysverstr,
    u32 sysverstr_maxsize 
    )
    +
    + +

    This is a wrapper for osGetSystemVersionData.

    +
    Parameters
    + + + + + +
    nver_versionbinOptional output OS_VersionBin structure for the data read from NVer, can be NULL.
    cver_versionbinOptional output OS_VersionBin structure for the data read from CVer, can be NULL.
    sysverstrOutput string where the printed system-version will be written, in the same format displayed by the System Settings title.
    sysverstr_maxsizeMax size of the above string buffer, including NULL-terminator.
    +
    +
    +
    Returns
    See osGetSystemVersionData.
    + +
    +
    + +

    ◆ osGetTime()

    + +
    +
    + + + + + + + + +
    u64 osGetTime (void )
    +
    + +

    Gets the current time.

    +
    Returns
    The number of milliseconds since 1st Jan 1900 00:00.
    + +
    +
    + +

    ◆ osGetTimeRef()

    + +
    +
    + + + + + + + + +
    osTimeRef_s osGetTimeRef (void )
    +
    + +

    Reads the latest reference timepoint published by PTM.

    +
    Returns
    Structure (see osTimeRef_s).
    + +
    +
    + +

    ◆ osGetWifiStrength()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static u8 osGetWifiStrength (void )
    +
    +inlinestatic
    +
    + +

    Gets the current Wifi signal strength.

    +
    Returns
    The current Wifi signal strength.
    +

    Valid values are 0-3:

      +
    • 0 means the signal strength is terrible or the 3DS is disconnected from all networks.
    • +
    • 1 means the signal strength is bad.
    • +
    • 2 means the signal strength is decent.
    • +
    • 3 means the signal strength is good.
    • +
    +

    Values outside the range of 0-3 should never be returned.

    +

    These values correspond with the number of wifi bars displayed by Home Menu.

    + +
    +
    + +

    ◆ osIsHeadsetConnected()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static bool osIsHeadsetConnected (void )
    +
    +inlinestatic
    +
    + +

    Checks whether a headset is connected.

    +
    Returns
    true or false.
    + +
    +
    + +

    ◆ osSetSpeedupEnable()

    + +
    +
    + + + + + + + + +
    void osSetSpeedupEnable (bool enable)
    +
    + +

    Configures the New 3DS speedup.

    +
    Parameters
    + + +
    enableSpecifies whether to enable or disable the speedup.
    +
    +
    + +
    +
    + +

    ◆ osStrError()

    + +
    +
    + + + + + + + + +
    const char* osStrError (Result error)
    +
    + +

    Retrieves basic information about a service error.

    +
    Parameters
    + + +
    errorError to retrieve information about.
    +
    +
    +
    Returns
    A string containing a summary of an error.
    +

    This can be used to get some details about an error returned by a service call.

    + +
    +
    + +

    ◆ osTickCounterRead()

    + +
    +
    + + + + + + + + +
    double osTickCounterRead (const TickCountercnt)
    +
    + +

    Reads the elapsed time in a tick counter.

    +
    Parameters
    + + +
    cntThe tick counter.
    +
    +
    +
    Returns
    The number of milliseconds elapsed.
    + +
    +
    + +

    ◆ osTickCounterStart()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static void osTickCounterStart (TickCountercnt)
    +
    +inlinestatic
    +
    + +

    Starts a tick counter.

    +
    Parameters
    + + +
    cntThe tick counter.
    +
    +
    + +
    +
    + +

    ◆ osTickCounterUpdate()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static void osTickCounterUpdate (TickCountercnt)
    +
    +inlinestatic
    +
    + +

    Updates the elapsed time in a tick counter.

    +
    Parameters
    + + +
    cntThe tick counter.
    +
    +
    + +
    +
    +
    + + + + diff --git a/os_8h_source.html b/os_8h_source.html new file mode 100644 index 000000000..be401cd7d --- /dev/null +++ b/os_8h_source.html @@ -0,0 +1,478 @@ + + + + + + + +libctru: include/3ds/os.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    os.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file os.h
    +
    3  * @brief OS related stuff.
    +
    4  */
    +
    5 #pragma once
    +
    6 #include "svc.h"
    +
    7 
    +
    8 ///< The external clock rate for the SoC.
    +
    9 #define SYSCLOCK_SOC (16756991u)
    +
    10 ///< The base system clock rate (for I2C, NDMA, etc.).
    +
    11 #define SYSCLOCK_SYS (SYSCLOCK_SOC * 2)
    +
    12 ///< The base clock rate for the SDMMC controller (and some other peripherals).
    +
    13 #define SYSCLOCK_SDMMC (SYSCLOCK_SYS * 2)
    +
    14 ///< The clock rate for the Arm9.
    +
    15 #define SYSCLOCK_ARM9 (SYSCLOCK_SYS * 4)
    +
    16 ///< The clock rate for the Arm11 in CTR mode and in \ref svcGetSystemTick.
    +
    17 #define SYSCLOCK_ARM11 (SYSCLOCK_ARM9 * 2)
    +
    18 ///< The clock rate for the Arm11 in LGR1 mode.
    +
    19 #define SYSCLOCK_ARM11_LGR1 (SYSCLOCK_ARM11 * 2)
    +
    20 ///< The clock rate for the Arm11 in LGR2 mode.
    +
    21 #define SYSCLOCK_ARM11_LGR2 (SYSCLOCK_ARM11 * 3)
    +
    22 ///< The highest possible clock rate for the Arm11 on known New 3DS units.
    +
    23 #define SYSCLOCK_ARM11_NEW SYSCLOCK_ARM11_LGR2
    +
    24 
    +
    25 #define CPU_TICKS_PER_MSEC (SYSCLOCK_ARM11 / 1000.0)
    +
    26 #define CPU_TICKS_PER_USEC (SYSCLOCK_ARM11 / 1000000.0)
    +
    27 
    +
    28 /// Packs a system version from its components.
    +
    29 #define SYSTEM_VERSION(major, minor, revision) \
    +
    30  (((major)<<24)|((minor)<<16)|((revision)<<8))
    +
    31 
    +
    32 /// Retrieves the major version from a packed system version.
    +
    33 #define GET_VERSION_MAJOR(version) ((version) >>24)
    +
    34 
    +
    35 /// Retrieves the minor version from a packed system version.
    +
    36 #define GET_VERSION_MINOR(version) (((version)>>16)&0xFF)
    +
    37 
    +
    38 /// Retrieves the revision version from a packed system version.
    +
    39 #define GET_VERSION_REVISION(version) (((version)>> 8)&0xFF)
    +
    40 
    +
    41 #define OS_HEAP_AREA_BEGIN 0x08000000 ///< Start of the heap area in the virtual address space
    +
    42 #define OS_HEAP_AREA_END 0x0E000000 ///< End of the heap area in the virtual address space
    +
    43 
    +
    44 #define OS_MAP_AREA_BEGIN 0x10000000 ///< Start of the mappable area in the virtual address space
    +
    45 #define OS_MAP_AREA_END 0x14000000 ///< End of the mappable area in the virtual address space
    +
    46 
    +
    47 #define OS_OLD_FCRAM_VADDR 0x14000000 ///< Old pre-8.x linear FCRAM mapping virtual address
    +
    48 #define OS_OLD_FCRAM_PADDR 0x20000000 ///< Old pre-8.x linear FCRAM mapping physical address
    +
    49 #define OS_OLD_FCRAM_SIZE 0x8000000 ///< Old pre-8.x linear FCRAM mapping size (128 MiB)
    +
    50 
    +
    51 #define OS_QTMRAM_VADDR 0x1E800000 ///< New3DS QTM memory virtual address
    +
    52 #define OS_QTMRAM_PADDR 0x1F000000 ///< New3DS QTM memory physical address
    +
    53 #define OS_QTMRAM_SIZE 0x400000 ///< New3DS QTM memory size (4 MiB; last 128 KiB reserved by kernel)
    +
    54 
    +
    55 #define OS_MMIO_VADDR 0x1EC00000 ///< Memory mapped IO range virtual address
    +
    56 #define OS_MMIO_PADDR 0x10100000 ///< Memory mapped IO range physical address
    +
    57 #define OS_MMIO_SIZE 0x400000 ///< Memory mapped IO range size (4 MiB)
    +
    58 
    +
    59 #define OS_VRAM_VADDR 0x1F000000 ///< VRAM virtual address
    +
    60 #define OS_VRAM_PADDR 0x18000000 ///< VRAM physical address
    +
    61 #define OS_VRAM_SIZE 0x600000 ///< VRAM size (6 MiB)
    +
    62 
    +
    63 #define OS_DSPRAM_VADDR 0x1FF00000 ///< DSP memory virtual address
    +
    64 #define OS_DSPRAM_PADDR 0x1FF00000 ///< DSP memory physical address
    +
    65 #define OS_DSPRAM_SIZE 0x80000 ///< DSP memory size (512 KiB)
    +
    66 
    +
    67 #define OS_KERNELCFG_VADDR 0x1FF80000 ///< Kernel configuration page virtual address
    +
    68 #define OS_SHAREDCFG_VADDR 0x1FF81000 ///< Shared system configuration page virtual address
    +
    69 
    +
    70 #define OS_FCRAM_VADDR 0x30000000 ///< Linear FCRAM mapping virtual address
    +
    71 #define OS_FCRAM_PADDR 0x20000000 ///< Linear FCRAM mapping physical address
    +
    72 #define OS_FCRAM_SIZE 0x10000000 ///< Linear FCRAM mapping size (256 MiB)
    +
    73 
    +
    74 #define OS_KernelConfig ((osKernelConfig_s const*)OS_KERNELCFG_VADDR) ///< Pointer to the kernel configuration page (see \ref osKernelConfig_s)
    +
    75 #define OS_SharedConfig ((osSharedConfig_s*)OS_SHAREDCFG_VADDR) ///< Pointer to the shared system configuration page (see \ref osSharedConfig_s)
    +
    76 
    +
    77 /// Kernel configuration page (read-only).
    +
    78 typedef struct
    +
    79 {
    +
    80  u32 kernel_ver;
    +
    81  u32 update_flag;
    +
    82  u64 ns_tid;
    +
    83  u32 kernel_syscore_ver;
    +
    84  u8 env_info;
    +
    85  u8 unit_info;
    +
    86  u8 boot_env;
    +
    87  u8 unk_0x17;
    +
    88  u32 kernel_ctrsdk_ver;
    +
    89  u32 unk_0x1c;
    +
    90  u32 firmlaunch_flags;
    +
    91  u8 unk_0x24[0xc];
    +
    92  u32 app_memtype;
    +
    93  u8 unk_0x34[0xc];
    +
    94  u32 memregion_sz[3];
    +
    95  u8 unk_0x4c[0x14];
    +
    96  u32 firm_ver;
    +
    97  u32 firm_syscore_ver;
    +
    98  u32 firm_ctrsdk_ver;
    + +
    100 
    +
    101 /// Time reference information struct (filled in by PTM).
    +
    102 typedef struct
    +
    103 {
    +
    104  u64 value_ms; ///< Milliseconds elapsed since January 1900 when this structure was last updated
    +
    105  u64 value_tick; ///< System ticks elapsed since boot when this structure was last updated
    +
    106  s64 sysclock_hz;///< System clock frequency in Hz adjusted using RTC measurements (usually around \ref SYSCLOCK_ARM11)
    +
    107  s64 drift_ms; ///< Measured time drift of the system clock (according to the RTC) in milliseconds since the last update
    +
    108 } osTimeRef_s;
    +
    109 
    +
    110 /// Shared system configuration page structure (read-only or read-write depending on exheader).
    +
    111 typedef struct
    +
    112 {
    +
    113  vu32 timeref_cnt;
    +
    114  u8 running_hw;
    +
    115  u8 mcu_hwinfo;
    +
    116  u8 unk_0x06[0x1A];
    +
    117  volatile osTimeRef_s timeref[2];
    +
    118  u8 wifi_macaddr[6];
    +
    119  vu8 wifi_strength;
    +
    120  vu8 network_state;
    +
    121  u8 unk_0x68[0x18];
    +
    122  volatile float slider_3d;
    +
    123  vu8 led_3d;
    +
    124  vu8 led_battery;
    +
    125  vu8 unk_flag;
    +
    126  u8 unk_0x87;
    +
    127  u8 unk_0x88[0x18];
    +
    128  vu64 menu_tid;
    +
    129  vu64 cur_menu_tid;
    +
    130  u8 unk_0xB0[0x10];
    +
    131  vu8 headset_connected;
    + +
    133 
    +
    134 /// Tick counter.
    +
    135 typedef struct
    +
    136 {
    +
    137  u64 elapsed; ///< Elapsed CPU ticks between measurements.
    +
    138  u64 reference; ///< Point in time used as reference.
    +
    139 } TickCounter;
    +
    140 
    +
    141 /// OS_VersionBin. Format of the system version: "<major>.<minor>.<build>-<nupver><region>"
    +
    142 typedef struct
    +
    143 {
    +
    144  u8 build;
    +
    145  u8 minor;
    +
    146  u8 mainver;//"major" in CVER, NUP version in NVer.
    +
    147  u8 reserved_x3;
    +
    148  char region;//"ASCII character for the system version region"
    +
    149  u8 reserved_x5[0x3];
    +
    150 } OS_VersionBin;
    +
    151 
    +
    152 /**
    +
    153  * @brief Converts an address from virtual (process) memory to physical memory.
    +
    154  * @param vaddr Input virtual address.
    +
    155  * @return The corresponding physical address.
    +
    156  * It is sometimes required by services or when using the GPU command buffer.
    +
    157  */
    +
    158 u32 osConvertVirtToPhys(const void* vaddr);
    +
    159 
    +
    160 /**
    +
    161  * @brief Converts 0x14* vmem to 0x30*.
    +
    162  * @param vaddr Input virtual address.
    +
    163  * @return The corresponding address in the 0x30* range, the input address if it's already within the new vmem, or 0 if it's outside of both ranges.
    +
    164  */
    +
    165 void* osConvertOldLINEARMemToNew(const void* vaddr);
    +
    166 
    +
    167 /**
    +
    168  * @brief Retrieves basic information about a service error.
    +
    169  * @param error Error to retrieve information about.
    +
    170  * @return A string containing a summary of an error.
    +
    171  *
    +
    172  * This can be used to get some details about an error returned by a service call.
    +
    173  */
    +
    174 const char* osStrError(Result error);
    +
    175 
    +
    176 /**
    +
    177  * @brief Gets the system's FIRM version.
    +
    178  * @return The system's FIRM version.
    +
    179  *
    +
    180  * This can be used to compare system versions easily with @ref SYSTEM_VERSION.
    +
    181  */
    +
    182 static inline u32 osGetFirmVersion(void)
    +
    183 {
    +
    184  return OS_KernelConfig->firm_ver &~ 0xFF;
    +
    185 }
    +
    186 
    +
    187 /**
    +
    188  * @brief Gets the system's kernel version.
    +
    189  * @return The system's kernel version.
    +
    190  *
    +
    191  * This can be used to compare system versions easily with @ref SYSTEM_VERSION.
    +
    192  *
    +
    193  * @code
    +
    194  * if(osGetKernelVersion() > SYSTEM_VERSION(2,46,0)) printf("You are running 9.0 or higher\n");
    +
    195  * @endcode
    +
    196  */
    +
    197 static inline u32 osGetKernelVersion(void)
    +
    198 {
    +
    199  return OS_KernelConfig->kernel_ver &~ 0xFF;
    +
    200 }
    +
    201 
    +
    202 /// Gets the system's "core version" (2 on NATIVE_FIRM, 3 on SAFE_FIRM, etc.)
    +
    203 static inline u32 osGetSystemCoreVersion(void)
    +
    204 {
    +
    205  return OS_KernelConfig->kernel_syscore_ver;
    +
    206 }
    +
    207 
    +
    208 /// Gets the system's memory layout ID (0-5 on Old 3DS, 6-8 on New 3DS)
    +
    209 static inline u32 osGetApplicationMemType(void)
    +
    210 {
    +
    211  return OS_KernelConfig->app_memtype;
    +
    212 }
    +
    213 
    +
    214 /**
    +
    215  * @brief Gets the size of the specified memory region.
    +
    216  * @param region Memory region to check.
    +
    217  * @return The size of the memory region, in bytes.
    +
    218  */
    +
    219 static inline u32 osGetMemRegionSize(MemRegion region)
    +
    220 {
    +
    221  if(region == MEMREGION_ALL) {
    + +
    223  } else {
    +
    224  return OS_KernelConfig->memregion_sz[region-1];
    +
    225  }
    +
    226 }
    +
    227 
    +
    228 /**
    +
    229  * @brief Gets the number of used bytes within the specified memory region.
    +
    230  * @param region Memory region to check.
    +
    231  * @return The number of used bytes of memory.
    +
    232  */
    +
    233 static inline u32 osGetMemRegionUsed(MemRegion region)
    +
    234 {
    +
    235  s64 mem_used;
    +
    236  svcGetSystemInfo(&mem_used, 0, region);
    +
    237  return mem_used;
    +
    238 }
    +
    239 
    +
    240 /**
    +
    241  * @brief Gets the number of free bytes within the specified memory region.
    +
    242  * @param region Memory region to check.
    +
    243  * @return The number of free bytes of memory.
    +
    244  */
    +
    245 static inline u32 osGetMemRegionFree(MemRegion region)
    +
    246 {
    +
    247  return osGetMemRegionSize(region) - osGetMemRegionUsed(region);
    +
    248 }
    +
    249 
    +
    250 /**
    +
    251  * @brief Reads the latest reference timepoint published by PTM.
    +
    252  * @return Structure (see \ref osTimeRef_s).
    +
    253  */
    + +
    255 
    +
    256 /**
    +
    257  * @brief Gets the current time.
    +
    258  * @return The number of milliseconds since 1st Jan 1900 00:00.
    +
    259  */
    + +
    261 
    +
    262 /**
    +
    263  * @brief Starts a tick counter.
    +
    264  * @param cnt The tick counter.
    +
    265  */
    +
    266 static inline void osTickCounterStart(TickCounter* cnt)
    +
    267 {
    +
    268  cnt->reference = svcGetSystemTick();
    +
    269 }
    +
    270 
    +
    271 /**
    +
    272  * @brief Updates the elapsed time in a tick counter.
    +
    273  * @param cnt The tick counter.
    +
    274  */
    +
    275 static inline void osTickCounterUpdate(TickCounter* cnt)
    +
    276 {
    +
    277  u64 now = svcGetSystemTick();
    +
    278  cnt->elapsed = now - cnt->reference;
    +
    279  cnt->reference = now;
    +
    280 }
    +
    281 
    +
    282 /**
    +
    283  * @brief Reads the elapsed time in a tick counter.
    +
    284  * @param cnt The tick counter.
    +
    285  * @return The number of milliseconds elapsed.
    +
    286  */
    +
    287 double osTickCounterRead(const TickCounter* cnt);
    +
    288 
    +
    289 /**
    +
    290  * @brief Gets the current Wifi signal strength.
    +
    291  * @return The current Wifi signal strength.
    +
    292  *
    +
    293  * Valid values are 0-3:
    +
    294  * - 0 means the signal strength is terrible or the 3DS is disconnected from
    +
    295  * all networks.
    +
    296  * - 1 means the signal strength is bad.
    +
    297  * - 2 means the signal strength is decent.
    +
    298  * - 3 means the signal strength is good.
    +
    299  *
    +
    300  * Values outside the range of 0-3 should never be returned.
    +
    301  *
    +
    302  * These values correspond with the number of wifi bars displayed by Home Menu.
    +
    303  */
    +
    304 static inline u8 osGetWifiStrength(void)
    +
    305 {
    +
    306  return OS_SharedConfig->wifi_strength;
    +
    307 }
    +
    308 
    +
    309 /**
    +
    310  * @brief Gets the state of the 3D slider.
    +
    311  * @return The state of the 3D slider (0.0~1.0)
    +
    312  */
    +
    313 static inline float osGet3DSliderState(void)
    +
    314 {
    +
    315  return OS_SharedConfig->slider_3d;
    +
    316 }
    +
    317 
    +
    318 /**
    +
    319  * @brief Checks whether a headset is connected.
    +
    320  * @return true or false.
    +
    321  */
    +
    322 static inline bool osIsHeadsetConnected(void)
    +
    323 {
    +
    324  return OS_SharedConfig->headset_connected != 0;
    +
    325 }
    +
    326 
    +
    327 /**
    +
    328  * @brief Configures the New 3DS speedup.
    +
    329  * @param enable Specifies whether to enable or disable the speedup.
    +
    330  */
    +
    331 void osSetSpeedupEnable(bool enable);
    +
    332 
    +
    333 /**
    +
    334  * @brief Gets the NAND system-version stored in NVer/CVer.
    +
    335  * @param nver_versionbin Output OS_VersionBin structure for the data read from NVer.
    +
    336  * @param cver_versionbin Output OS_VersionBin structure for the data read from CVer.
    +
    337  * @return The result-code. This value can be positive if opening "romfs:/version.bin" fails with stdio, since errno would be returned in that case. In some cases the error can be special negative values as well.
    +
    338  */
    +
    339 Result osGetSystemVersionData(OS_VersionBin *nver_versionbin, OS_VersionBin *cver_versionbin);
    +
    340 
    +
    341 /**
    +
    342  * @brief This is a wrapper for osGetSystemVersionData.
    +
    343  * @param nver_versionbin Optional output OS_VersionBin structure for the data read from NVer, can be NULL.
    +
    344  * @param cver_versionbin Optional output OS_VersionBin structure for the data read from CVer, can be NULL.
    +
    345  * @param sysverstr Output string where the printed system-version will be written, in the same format displayed by the System Settings title.
    +
    346  * @param sysverstr_maxsize Max size of the above string buffer, *including* NULL-terminator.
    +
    347  * @return See osGetSystemVersionData.
    +
    348  */
    +
    349 Result osGetSystemVersionDataString(OS_VersionBin *nver_versionbin, OS_VersionBin *cver_versionbin, char *sysverstr, u32 sysverstr_maxsize);
    +
    u64 osGetTime(void)
    Gets the current time.
    +
    const char * osStrError(Result error)
    Retrieves basic information about a service error.
    +
    #define OS_KernelConfig
    Pointer to the kernel configuration page (see osKernelConfig_s)
    Definition: os.h:74
    +
    static u32 osGetKernelVersion(void)
    Gets the system's kernel version.
    Definition: os.h:197
    +
    static u32 osGetMemRegionFree(MemRegion region)
    Gets the number of free bytes within the specified memory region.
    Definition: os.h:245
    +
    static void osTickCounterUpdate(TickCounter *cnt)
    Updates the elapsed time in a tick counter.
    Definition: os.h:275
    +
    static u32 osGetApplicationMemType(void)
    Gets the system's memory layout ID (0-5 on Old 3DS, 6-8 on New 3DS)
    Definition: os.h:209
    +
    static u32 osGetFirmVersion(void)
    Gets the system's FIRM version.
    Definition: os.h:182
    +
    static float osGet3DSliderState(void)
    Gets the state of the 3D slider.
    Definition: os.h:313
    +
    void * osConvertOldLINEARMemToNew(const void *vaddr)
    Converts 0x14* vmem to 0x30*.
    +
    osTimeRef_s osGetTimeRef(void)
    Reads the latest reference timepoint published by PTM.
    +
    double osTickCounterRead(const TickCounter *cnt)
    Reads the elapsed time in a tick counter.
    +
    void osSetSpeedupEnable(bool enable)
    Configures the New 3DS speedup.
    +
    static u32 osGetMemRegionSize(MemRegion region)
    Gets the size of the specified memory region.
    Definition: os.h:219
    +
    static u32 osGetSystemCoreVersion(void)
    Gets the system's "core version" (2 on NATIVE_FIRM, 3 on SAFE_FIRM, etc.)
    Definition: os.h:203
    +
    static bool osIsHeadsetConnected(void)
    Checks whether a headset is connected.
    Definition: os.h:322
    +
    static u32 osGetMemRegionUsed(MemRegion region)
    Gets the number of used bytes within the specified memory region.
    Definition: os.h:233
    +
    static u8 osGetWifiStrength(void)
    Gets the current Wifi signal strength.
    Definition: os.h:304
    +
    Result osGetSystemVersionDataString(OS_VersionBin *nver_versionbin, OS_VersionBin *cver_versionbin, char *sysverstr, u32 sysverstr_maxsize)
    This is a wrapper for osGetSystemVersionData.
    +
    Result osGetSystemVersionData(OS_VersionBin *nver_versionbin, OS_VersionBin *cver_versionbin)
    Gets the NAND system-version stored in NVer/CVer.
    +
    #define OS_SharedConfig
    Pointer to the shared system configuration page (see osSharedConfig_s)
    Definition: os.h:75
    +
    u32 osConvertVirtToPhys(const void *vaddr)
    Converts an address from virtual (process) memory to physical memory.
    +
    static void osTickCounterStart(TickCounter *cnt)
    Starts a tick counter.
    Definition: os.h:266
    +
    OS_VersionBin. Format of the system version: "<major>.<minor>.<build>-<nupver><region>".
    Definition: os.h:143
    +
    Tick counter.
    Definition: os.h:136
    +
    u64 elapsed
    Elapsed CPU ticks between measurements.
    Definition: os.h:137
    +
    u64 reference
    Point in time used as reference.
    Definition: os.h:138
    +
    Kernel configuration page (read-only).
    Definition: os.h:79
    +
    Shared system configuration page structure (read-only or read-write depending on exheader).
    Definition: os.h:112
    +
    Time reference information struct (filled in by PTM).
    Definition: os.h:103
    +
    s64 sysclock_hz
    System clock frequency in Hz adjusted using RTC measurements (usually around SYSCLOCK_ARM11)
    Definition: os.h:106
    +
    s64 drift_ms
    Measured time drift of the system clock (according to the RTC) in milliseconds since the last update.
    Definition: os.h:107
    +
    u64 value_ms
    Milliseconds elapsed since January 1900 when this structure was last updated.
    Definition: os.h:104
    +
    u64 value_tick
    System ticks elapsed since boot when this structure was last updated.
    Definition: os.h:105
    +
    Syscall wrappers.
    +
    u64 svcGetSystemTick(void)
    Gets the current system tick.
    +
    Result svcGetSystemInfo(s64 *out, u32 type, s32 param)
    Gets the system info.
    +
    MemRegion
    Memory regions.
    Definition: svc.h:67
    +
    @ MEMREGION_SYSTEM
    SYSTEM memory.
    Definition: svc.h:70
    +
    @ MEMREGION_BASE
    BASE memory.
    Definition: svc.h:71
    +
    @ MEMREGION_ALL
    All regions.
    Definition: svc.h:68
    +
    @ MEMREGION_APPLICATION
    APPLICATION memory.
    Definition: svc.h:69
    +
    volatile u8 vu8
    8-bit volatile unsigned integer.
    Definition: types.h:31
    +
    int64_t s64
    64-bit signed integer
    Definition: types.h:29
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    volatile u32 vu32
    32-bit volatile unsigned integer.
    Definition: types.h:33
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    volatile u64 vu64
    64-bit volatile unsigned integer.
    Definition: types.h:34
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/pages.html b/pages.html new file mode 100644 index 000000000..d4282bc44 --- /dev/null +++ b/pages.html @@ -0,0 +1,81 @@ + + + + + + + +libctru: Related Pages + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Related Pages
    +
    +
    +
    Here is a list of all related documentation pages:
    +
    + + + + diff --git a/pmapp_8h.html b/pmapp_8h.html new file mode 100644 index 000000000..30705d6f6 --- /dev/null +++ b/pmapp_8h.html @@ -0,0 +1,661 @@ + + + + + + + +libctru: include/3ds/services/pmapp.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    pmapp.h File Reference
    +
    +
    + +

    PM (Process Manager) application service. +More...

    +
    #include <3ds/services/fs.h>
    +#include <3ds/exheader.h>
    +
    +

    Go to the source code of this file.

    + + + + + +

    +Enumerations

    enum  {
    +  PMLAUNCHFLAG_NORMAL_APPLICATION = BIT(0) +,
    +  PMLAUNCHFLAG_LOAD_DEPENDENCIES = BIT(1) +,
    +  PMLAUNCHFLAG_NOTIFY_TERMINATION = BIT(2) +,
    +  PMLAUNCHFLAG_QUEUE_DEBUG_APPLICATION = BIT(3) +,
    +  PMLAUNCHFLAG_TERMINATION_NOTIFICATION_MASK = 0xF0 +,
    +  PMLAUNCHFLAG_FORCE_USE_O3DS_APP_MEM = BIT(8) +,
    +  PMLAUNCHFLAG_FORCE_USE_O3DS_MAX_APP_MEM = BIT(9) +,
    +  PMLAUNCHFLAG_USE_UPDATE_TITLE = BIT(16) +
    + }
     Launch flags for PM launch commands. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    +Result pmAppInit (void)
     Initializes pm:app.
     
    +void pmAppExit (void)
     Exits pm:app.
     
    HandlepmAppGetSessionHandle (void)
     Gets the current pm:app session handle. More...
     
    Result PMAPP_LaunchTitle (const FS_ProgramInfo *programInfo, u32 launchFlags)
     Launches a title. More...
     
    Result PMAPP_LaunchTitleUpdate (const FS_ProgramInfo *programInfo, const FS_ProgramInfo *programInfoUpdate, u32 launchFlags)
     Launches a title, applying patches. More...
     
    Result PMAPP_GetTitleExheaderFlags (ExHeader_Arm11CoreInfo *outCoreInfo, ExHeader_SystemInfoFlags *outSiFlags, const FS_ProgramInfo *programInfo)
     Gets a title's ExHeader Arm11CoreInfo and SystemInfo flags. More...
     
    Result PMAPP_SetFIRMLaunchParams (u32 size, const void *in)
     Sets the current FIRM launch parameters. More...
     
    Result PMAPP_GetFIRMLaunchParams (void *out, u32 size)
     Gets the current FIRM launch parameters. More...
     
    Result PMAPP_LaunchFIRMSetParams (u32 firmTidLow, u32 size, const void *in)
     Sets the current FIRM launch parameters. More...
     
    Result PMAPP_PrepareForReboot (s64 timeout)
     Terminate most processes, to prepare for a reboot or a shutdown. More...
     
    Result PMAPP_TerminateCurrentApplication (s64 timeout)
     Terminates the current Application. More...
     
    Result PMAPP_TerminateTitle (u64 titleId, s64 timeout)
     Terminates the processes having the specified titleId. More...
     
    Result PMAPP_TerminateProcess (u32 pid, s64 timeout)
     Terminates the specified process. More...
     
    Result PMAPP_UnregisterProcess (u64 tid)
     Unregisters a process. More...
     
    Result PMAPP_SetAppResourceLimit (s64 cpuTime)
     Sets the APPLICATION cputime reslimit. More...
     
    Result PMAPP_GetAppResourceLimit (s64 *outCpuTime)
     Gets the APPLICATION cputime reslimit. More...
     
    +

    Detailed Description

    +

    PM (Process Manager) application service.

    +

    Enumeration Type Documentation

    + +

    ◆ anonymous enum

    + +
    +
    + + + + +
    anonymous enum
    +
    + +

    Launch flags for PM launch commands.

    + + + +
    Enumerator
    PMLAUNCHFLAG_FORCE_USE_O3DS_APP_MEM 

    Forces the usage of the O3DS system mode app memory setting even if N3DS system mode is not "Legacy". Dev4 and Dev5 not supported. N3DS only.

    +
    PMLAUNCHFLAG_FORCE_USE_O3DS_MAX_APP_MEM 

    In conjunction with the above, forces the 96MB app memory setting. N3DS only.

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ PMAPP_GetAppResourceLimit()

    + +
    +
    + + + + + + + + +
    Result PMAPP_GetAppResourceLimit (s64outCpuTime)
    +
    + +

    Gets the APPLICATION cputime reslimit.

    +
    Parameters
    + + +
    [out]cpuTimePointer to write the reslimit value to.
    +
    +
    + +
    +
    + +

    ◆ PMAPP_GetFIRMLaunchParams()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result PMAPP_GetFIRMLaunchParams (void * out,
    u32 size 
    )
    +
    + +

    Gets the current FIRM launch parameters.

    +
    Parameters
    + + + +
    sizeSize of the FIRM launch parameter buffer.
    [out]outBuffer to write the launch parameters to.
    +
    +
    + +
    +
    + +

    ◆ PMAPP_GetTitleExheaderFlags()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result PMAPP_GetTitleExheaderFlags (ExHeader_Arm11CoreInfooutCoreInfo,
    ExHeader_SystemInfoFlagsoutSiFlags,
    const FS_ProgramInfoprogramInfo 
    )
    +
    + +

    Gets a title's ExHeader Arm11CoreInfo and SystemInfo flags.

    +
    Parameters
    + + + + +
    [out]outCoreInfoPointer to write the ExHeader Arm11CoreInfo to.
    [out]outSiFlagsPointer to write the ExHeader SystemInfo flags to.
    programInfoProgram information of the title.
    +
    +
    + +
    +
    + +

    ◆ PMAPP_LaunchFIRMSetParams()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result PMAPP_LaunchFIRMSetParams (u32 firmTidLow,
    u32 size,
    const void * in 
    )
    +
    + +

    Sets the current FIRM launch parameters.

    +
    Parameters
    + + + + +
    firmTidLowLow Title ID of the FIRM title to launch.
    sizeSize of the FIRM launch parameter buffer.
    inBuffer to retrieve the launch parameters from.
    +
    +
    + +
    +
    + +

    ◆ PMAPP_LaunchTitle()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result PMAPP_LaunchTitle (const FS_ProgramInfoprogramInfo,
    u32 launchFlags 
    )
    +
    + +

    Launches a title.

    +
    Parameters
    + + + +
    programInfoProgram information of the title.
    launchFlagsFlags to launch the title with.
    +
    +
    + +
    +
    + +

    ◆ PMAPP_LaunchTitleUpdate()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result PMAPP_LaunchTitleUpdate (const FS_ProgramInfoprogramInfo,
    const FS_ProgramInfoprogramInfoUpdate,
    u32 launchFlags 
    )
    +
    + +

    Launches a title, applying patches.

    +
    Parameters
    + + + + +
    programInfoProgram information of the title.
    programInfoUpdateProgram information of the update title.
    launchFlagsFlags to launch the title with.
    +
    +
    + +
    +
    + +

    ◆ PMAPP_PrepareForReboot()

    + +
    +
    + + + + + + + + +
    Result PMAPP_PrepareForReboot (s64 timeout)
    +
    + +

    Terminate most processes, to prepare for a reboot or a shutdown.

    +
    Parameters
    + + +
    timeoutTime limit in ns for process termination, after which the remaining processes are killed.
    +
    +
    + +
    +
    + +

    ◆ PMAPP_SetAppResourceLimit()

    + +
    +
    + + + + + + + + +
    Result PMAPP_SetAppResourceLimit (s64 cpuTime)
    +
    + +

    Sets the APPLICATION cputime reslimit.

    +
    Parameters
    + + +
    cpuTimeReslimit value.
    +
    +
    +
    Note
    cpuTime can be no higher than reslimitdesc[0] & 0x7F in exheader (or 80 if the latter is 0).
    + +
    +
    + +

    ◆ PMAPP_SetFIRMLaunchParams()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result PMAPP_SetFIRMLaunchParams (u32 size,
    const void * in 
    )
    +
    + +

    Sets the current FIRM launch parameters.

    +
    Parameters
    + + + +
    sizeSize of the FIRM launch parameter buffer.
    inBuffer to retrieve the launch parameters from.
    +
    +
    + +
    +
    + +

    ◆ PMAPP_TerminateCurrentApplication()

    + +
    +
    + + + + + + + + +
    Result PMAPP_TerminateCurrentApplication (s64 timeout)
    +
    + +

    Terminates the current Application.

    +
    Parameters
    + + +
    timeoutTimeout in nanoseconds
    +
    +
    + +
    +
    + +

    ◆ PMAPP_TerminateProcess()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result PMAPP_TerminateProcess (u32 pid,
    s64 timeout 
    )
    +
    + +

    Terminates the specified process.

    +
    Parameters
    + + + +
    pidProcess-ID of the process to terminate
    timeoutTimeout in nanoseconds
    +
    +
    + +
    +
    + +

    ◆ PMAPP_TerminateTitle()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result PMAPP_TerminateTitle (u64 titleId,
    s64 timeout 
    )
    +
    + +

    Terminates the processes having the specified titleId.

    +
    Parameters
    + + + +
    titleIdTitle ID of the processes to terminate
    timeoutTimeout in nanoseconds
    +
    +
    + +
    +
    + +

    ◆ PMAPP_UnregisterProcess()

    + +
    +
    + + + + + + + + +
    Result PMAPP_UnregisterProcess (u64 tid)
    +
    + +

    Unregisters a process.

    +
    Parameters
    + + +
    tidTitleID of the process to unregister
    +
    +
    + +
    +
    + +

    ◆ pmAppGetSessionHandle()

    + +
    +
    + + + + + + + + +
    Handle* pmAppGetSessionHandle (void )
    +
    + +

    Gets the current pm:app session handle.

    +
    Returns
    The current pm:app session handle.
    + +
    +
    +
    + + + + diff --git a/pmapp_8h_source.html b/pmapp_8h_source.html new file mode 100644 index 000000000..6bcdf578f --- /dev/null +++ b/pmapp_8h_source.html @@ -0,0 +1,231 @@ + + + + + + + +libctru: include/3ds/services/pmapp.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    pmapp.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file pmapp.h
    +
    3  * @brief PM (Process Manager) application service.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 #include <3ds/services/fs.h>
    +
    8 #include <3ds/exheader.h>
    +
    9 
    +
    10 /// Launch flags for PM launch commands.
    +
    11 enum {
    +
    12  PMLAUNCHFLAG_NORMAL_APPLICATION = BIT(0),
    +
    13  PMLAUNCHFLAG_LOAD_DEPENDENCIES = BIT(1),
    +
    14  PMLAUNCHFLAG_NOTIFY_TERMINATION = BIT(2),
    +
    15  PMLAUNCHFLAG_QUEUE_DEBUG_APPLICATION = BIT(3),
    +
    16  PMLAUNCHFLAG_TERMINATION_NOTIFICATION_MASK = 0xF0,
    +
    17  PMLAUNCHFLAG_FORCE_USE_O3DS_APP_MEM = BIT(8), ///< Forces the usage of the O3DS system mode app memory setting even if N3DS system mode is not "Legacy". Dev4 and Dev5 not supported. N3DS only.
    +
    18  PMLAUNCHFLAG_FORCE_USE_O3DS_MAX_APP_MEM = BIT(9), ///< In conjunction with the above, forces the 96MB app memory setting. N3DS only.
    +
    19  PMLAUNCHFLAG_USE_UPDATE_TITLE = BIT(16),
    +
    20 };
    +
    21 
    +
    22 /// Initializes pm:app.
    + +
    24 
    +
    25 /// Exits pm:app.
    +
    26 void pmAppExit(void);
    +
    27 
    +
    28 /**
    +
    29  * @brief Gets the current pm:app session handle.
    +
    30  * @return The current pm:app session handle.
    +
    31  */
    + +
    33 
    +
    34 /**
    +
    35  * @brief Launches a title.
    +
    36  * @param programInfo Program information of the title.
    +
    37  * @param launchFlags Flags to launch the title with.
    +
    38  */
    +
    39 Result PMAPP_LaunchTitle(const FS_ProgramInfo *programInfo, u32 launchFlags);
    +
    40 
    +
    41 /**
    +
    42  * @brief Launches a title, applying patches.
    +
    43  * @param programInfo Program information of the title.
    +
    44  * @param programInfoUpdate Program information of the update title.
    +
    45  * @param launchFlags Flags to launch the title with.
    +
    46  */
    +
    47 Result PMAPP_LaunchTitleUpdate(const FS_ProgramInfo *programInfo, const FS_ProgramInfo *programInfoUpdate, u32 launchFlags);
    +
    48 
    +
    49 /**
    +
    50  * @brief Gets a title's ExHeader Arm11CoreInfo and SystemInfo flags.
    +
    51  * @param[out] outCoreInfo Pointer to write the ExHeader Arm11CoreInfo to.
    +
    52  * @param[out] outSiFlags Pointer to write the ExHeader SystemInfo flags to.
    +
    53  * @param programInfo Program information of the title.
    +
    54  */
    + +
    56 
    +
    57 /**
    +
    58  * @brief Sets the current FIRM launch parameters.
    +
    59  * @param size Size of the FIRM launch parameter buffer.
    +
    60  * @param in Buffer to retrieve the launch parameters from.
    +
    61  */
    +
    62 Result PMAPP_SetFIRMLaunchParams(u32 size, const void* in);
    +
    63 
    +
    64 /**
    +
    65  * @brief Gets the current FIRM launch parameters.
    +
    66  * @param size Size of the FIRM launch parameter buffer.
    +
    67  * @param[out] out Buffer to write the launch parameters to.
    +
    68  */
    + +
    70 
    +
    71 /**
    +
    72  * @brief Sets the current FIRM launch parameters.
    +
    73  * @param firmTidLow Low Title ID of the FIRM title to launch.
    +
    74  * @param size Size of the FIRM launch parameter buffer.
    +
    75  * @param in Buffer to retrieve the launch parameters from.
    +
    76  */
    +
    77 Result PMAPP_LaunchFIRMSetParams(u32 firmTidLow, u32 size, const void* in);
    +
    78 
    +
    79 /**
    +
    80  * @brief Terminate most processes, to prepare for a reboot or a shutdown.
    +
    81  * @param timeout Time limit in ns for process termination, after which the remaining processes are killed.
    +
    82  */
    + +
    84 
    +
    85 /**
    +
    86  * @brief Terminates the current Application
    +
    87  * @param timeout Timeout in nanoseconds
    +
    88  */
    + +
    90 
    +
    91 /**
    +
    92  * @brief Terminates the processes having the specified titleId.
    +
    93  * @param titleId Title ID of the processes to terminate
    +
    94  * @param timeout Timeout in nanoseconds
    +
    95  */
    +
    96 Result PMAPP_TerminateTitle(u64 titleId, s64 timeout);
    +
    97 
    +
    98 /**
    +
    99  * @brief Terminates the specified process
    +
    100  * @param pid Process-ID of the process to terminate
    +
    101  * @param timeout Timeout in nanoseconds
    +
    102  */
    + +
    104 
    +
    105 /**
    +
    106  * @brief Unregisters a process
    +
    107  * @param tid TitleID of the process to unregister
    +
    108  */
    + +
    110 
    +
    111 /**
    +
    112  * @brief Sets the APPLICATION cputime reslimit.
    +
    113  * @param cpuTime Reslimit value.
    +
    114  * @note cpuTime can be no higher than reslimitdesc[0] & 0x7F in exheader (or 80 if the latter is 0).
    +
    115  */
    + +
    117 
    +
    118 /**
    +
    119  * @brief Gets the APPLICATION cputime reslimit.
    +
    120  * @param[out] cpuTime Pointer to write the reslimit value to.
    +
    121  */
    + +
    123 
    +
    NCCH extended header definitions.
    +
    Filesystem Services.
    +
    Result PMAPP_TerminateCurrentApplication(s64 timeout)
    Terminates the current Application.
    +
    Result PMAPP_LaunchTitleUpdate(const FS_ProgramInfo *programInfo, const FS_ProgramInfo *programInfoUpdate, u32 launchFlags)
    Launches a title, applying patches.
    +
    Result PMAPP_GetTitleExheaderFlags(ExHeader_Arm11CoreInfo *outCoreInfo, ExHeader_SystemInfoFlags *outSiFlags, const FS_ProgramInfo *programInfo)
    Gets a title's ExHeader Arm11CoreInfo and SystemInfo flags.
    +
    Handle * pmAppGetSessionHandle(void)
    Gets the current pm:app session handle.
    +
    Result PMAPP_GetAppResourceLimit(s64 *outCpuTime)
    Gets the APPLICATION cputime reslimit.
    +
    Result PMAPP_UnregisterProcess(u64 tid)
    Unregisters a process.
    +
    Result pmAppInit(void)
    Initializes pm:app.
    +
    Result PMAPP_PrepareForReboot(s64 timeout)
    Terminate most processes, to prepare for a reboot or a shutdown.
    +
    Result PMAPP_SetFIRMLaunchParams(u32 size, const void *in)
    Sets the current FIRM launch parameters.
    +
    Result PMAPP_GetFIRMLaunchParams(void *out, u32 size)
    Gets the current FIRM launch parameters.
    +
    @ PMLAUNCHFLAG_FORCE_USE_O3DS_APP_MEM
    Forces the usage of the O3DS system mode app memory setting even if N3DS system mode is not "Legacy"....
    Definition: pmapp.h:17
    +
    @ PMLAUNCHFLAG_FORCE_USE_O3DS_MAX_APP_MEM
    In conjunction with the above, forces the 96MB app memory setting. N3DS only.
    Definition: pmapp.h:18
    +
    Result PMAPP_TerminateProcess(u32 pid, s64 timeout)
    Terminates the specified process.
    +
    Result PMAPP_TerminateTitle(u64 titleId, s64 timeout)
    Terminates the processes having the specified titleId.
    +
    void pmAppExit(void)
    Exits pm:app.
    +
    Result PMAPP_LaunchFIRMSetParams(u32 firmTidLow, u32 size, const void *in)
    Sets the current FIRM launch parameters.
    +
    Result PMAPP_SetAppResourceLimit(s64 cpuTime)
    Sets the APPLICATION cputime reslimit.
    +
    Result PMAPP_LaunchTitle(const FS_ProgramInfo *programInfo, u32 launchFlags)
    Launches a title.
    +
    The CPU-related and memory-layout-related info of a title.
    Definition: exheader.h:132
    +
    The system info flags and remaster version of a title.
    Definition: exheader.h:74
    +
    Program information.
    Definition: fs.h:183
    +
    int64_t s64
    64-bit signed integer
    Definition: types.h:29
    +
    #define BIT(n)
    Creates a bitmask from a bit number.
    Definition: types.h:47
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/pmdbg_8h.html b/pmdbg_8h.html new file mode 100644 index 000000000..68de12c78 --- /dev/null +++ b/pmdbg_8h.html @@ -0,0 +1,242 @@ + + + + + + + +libctru: include/3ds/services/pmdbg.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    pmdbg.h File Reference
    +
    +
    + +

    PM (Process Manager) debug service. +More...

    + +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + +

    +Functions

    +Result pmDbgInit (void)
     Initializes pm:dbg.
     
    +void pmDbgExit (void)
     Exits pm:dbg.
     
    HandlepmDbgGetSessionHandle (void)
     Gets the current pm:dbg session handle. More...
     
    Result PMDBG_LaunchAppDebug (Handle *outDebug, const FS_ProgramInfo *programInfo, u32 launchFlags)
     Enqueues an application for debug after setting cpuTime to 0, and returns a debug handle to it. More...
     
    Result PMDBG_LaunchApp (const FS_ProgramInfo *programInfo, u32 launchFlags)
     Launches an application for debug after setting cpuTime to 0. More...
     
    Result PMDBG_RunQueuedProcess (Handle *outDebug)
     Runs the queued process and returns a debug handle to it. More...
     
    +

    Detailed Description

    +

    PM (Process Manager) debug service.

    +

    Function Documentation

    + +

    ◆ PMDBG_LaunchApp()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result PMDBG_LaunchApp (const FS_ProgramInfoprogramInfo,
    u32 launchFlags 
    )
    +
    + +

    Launches an application for debug after setting cpuTime to 0.

    +
    Parameters
    + + + +
    programInfoProgram information of the title.
    launchFlagsFlags to launch the title with.
    +
    +
    + +
    +
    + +

    ◆ PMDBG_LaunchAppDebug()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result PMDBG_LaunchAppDebug (HandleoutDebug,
    const FS_ProgramInfoprogramInfo,
    u32 launchFlags 
    )
    +
    + +

    Enqueues an application for debug after setting cpuTime to 0, and returns a debug handle to it.

    +

    If another process was enqueued, this just calls RunQueuedProcess instead.

    Parameters
    + + + + +
    [out]Pointerto output the debug handle to.
    programInfoProgram information of the title.
    launchFlagsFlags to launch the title with.
    +
    +
    + +
    +
    + +

    ◆ PMDBG_RunQueuedProcess()

    + +
    +
    + + + + + + + + +
    Result PMDBG_RunQueuedProcess (HandleoutDebug)
    +
    + +

    Runs the queued process and returns a debug handle to it.

    +
    Parameters
    + + +
    [out]Pointerto output the debug handle to.
    +
    +
    + +
    +
    + +

    ◆ pmDbgGetSessionHandle()

    + +
    +
    + + + + + + + + +
    Handle* pmDbgGetSessionHandle (void )
    +
    + +

    Gets the current pm:dbg session handle.

    +
    Returns
    The current pm:dbg session handle.
    + +
    +
    +
    + + + + diff --git a/pmdbg_8h_source.html b/pmdbg_8h_source.html new file mode 100644 index 000000000..1bc388206 --- /dev/null +++ b/pmdbg_8h_source.html @@ -0,0 +1,131 @@ + + + + + + + +libctru: include/3ds/services/pmdbg.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    pmdbg.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file pmdbg.h
    +
    3  * @brief PM (Process Manager) debug service.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 #include <3ds/services/pmapp.h>
    +
    8 
    +
    9 /// Initializes pm:dbg.
    + +
    11 
    +
    12 /// Exits pm:dbg.
    +
    13 void pmDbgExit(void);
    +
    14 
    +
    15 /**
    +
    16  * @brief Gets the current pm:dbg session handle.
    +
    17  * @return The current pm:dbg session handle.
    +
    18  */
    + +
    20 
    +
    21 /**
    +
    22  * @brief Enqueues an application for debug after setting cpuTime to 0, and returns a debug handle to it.
    +
    23  * If another process was enqueued, this just calls @ref RunQueuedProcess instead.
    +
    24  * @param[out] Pointer to output the debug handle to.
    +
    25  * @param programInfo Program information of the title.
    +
    26  * @param launchFlags Flags to launch the title with.
    +
    27  */
    +
    28 Result PMDBG_LaunchAppDebug(Handle *outDebug, const FS_ProgramInfo *programInfo, u32 launchFlags);
    +
    29 
    +
    30 /**
    +
    31  * @brief Launches an application for debug after setting cpuTime to 0.
    +
    32  * @param programInfo Program information of the title.
    +
    33  * @param launchFlags Flags to launch the title with.
    +
    34  */
    +
    35 Result PMDBG_LaunchApp(const FS_ProgramInfo *programInfo, u32 launchFlags);
    +
    36 
    +
    37 /**
    +
    38  * @brief Runs the queued process and returns a debug handle to it.
    +
    39  * @param[out] Pointer to output the debug handle to.
    +
    40  */
    + +
    PM (Process Manager) application service.
    +
    Result PMDBG_LaunchApp(const FS_ProgramInfo *programInfo, u32 launchFlags)
    Launches an application for debug after setting cpuTime to 0.
    +
    Handle * pmDbgGetSessionHandle(void)
    Gets the current pm:dbg session handle.
    +
    Result PMDBG_RunQueuedProcess(Handle *outDebug)
    Runs the queued process and returns a debug handle to it.
    +
    Result pmDbgInit(void)
    Initializes pm:dbg.
    +
    Result PMDBG_LaunchAppDebug(Handle *outDebug, const FS_ProgramInfo *programInfo, u32 launchFlags)
    Enqueues an application for debug after setting cpuTime to 0, and returns a debug handle to it.
    +
    void pmDbgExit(void)
    Exits pm:dbg.
    +
    Program information.
    Definition: fs.h:183
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/poll_8h_source.html b/poll_8h_source.html new file mode 100644 index 000000000..08dfe4685 --- /dev/null +++ b/poll_8h_source.html @@ -0,0 +1,111 @@ + + + + + + + +libctru: include/poll.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    poll.h
    +
    +
    +
    1 #pragma once
    +
    2 
    +
    3 #include <3ds/types.h>
    +
    4 
    +
    5 #define POLLIN 0x01
    +
    6 #define POLLPRI 0x02
    +
    7 #define POLLHUP 0x04 // unknown ???
    +
    8 #define POLLERR 0x08 // probably
    +
    9 #define POLLOUT 0x10
    +
    10 #define POLLNVAL 0x20
    +
    11 
    +
    12 typedef u32 nfds_t;
    +
    13 
    +
    14 struct pollfd
    +
    15 {
    +
    16  int fd;
    +
    17  int events;
    +
    18  int revents;
    +
    19 };
    +
    20 
    +
    21 #ifdef __cplusplus
    +
    22 extern "C" {
    +
    23 #endif
    +
    24 
    +
    25  int poll(struct pollfd *fds, nfds_t nfsd, int timeout);
    +
    26 
    +
    27 #ifdef __cplusplus
    +
    28 }
    +
    29 #endif
    +
    Definition: poll.h:15
    +
    Various system types.
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/ps_8h.html b/ps_8h.html new file mode 100644 index 000000000..0583a4447 --- /dev/null +++ b/ps_8h.html @@ -0,0 +1,610 @@ + + + + + + + +libctru: include/3ds/services/ps.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    ps.h File Reference
    +
    +
    + +

    PS service. +More...

    + +

    Go to the source code of this file.

    + + + + + +

    +Data Structures

    struct  psRSAContext
     RSA context. More...
     
    + + + + + + + +

    +Enumerations

    enum  PS_AESAlgorithm {
    +  PS_ALGORITHM_CBC_ENC +,
    +  PS_ALGORITHM_CBC_DEC +,
    +  PS_ALGORITHM_CTR_ENC +,
    +  PS_ALGORITHM_CTR_DEC +,
    +  PS_ALGORITHM_CCM_ENC +,
    +  PS_ALGORITHM_CCM_DEC +
    + }
     PS AES algorithms. More...
     
    enum  PS_AESKeyType {
    +  PS_KEYSLOT_0D +,
    +  PS_KEYSLOT_2D +,
    +  PS_KEYSLOT_31 +,
    +  PS_KEYSLOT_38 +,
    +  PS_KEYSLOT_32 +,
    +  PS_KEYSLOT_39_DLP +,
    +  PS_KEYSLOT_2E +,
    +  PS_KEYSLOT_INVALID +,
    +  PS_KEYSLOT_36 +,
    +  PS_KEYSLOT_39_NFC +
    + }
     PS key slots. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    +Result psInit (void)
     Initializes PS.
     
    Result psInitHandle (Handle handle)
     Initializes PS with the specified session handle. More...
     
    +void psExit (void)
     Exits PS.
     
    +Handle psGetSessionHandle (void)
     Returns the PS session handle.
     
    Result PS_SignRsaSha256 (u8 *hash, psRSAContext *ctx, u8 *signature)
     Signs a RSA signature. More...
     
    Result PS_VerifyRsaSha256 (u8 *hash, psRSAContext *ctx, u8 *signature)
     Verifies a RSA signature. More...
     
    Result PS_EncryptDecryptAes (u32 size, u8 *in, u8 *out, PS_AESAlgorithm aes_algo, PS_AESKeyType key_type, u8 *iv)
     Encrypts/Decrypts AES data. More...
     
    Result PS_EncryptSignDecryptVerifyAesCcm (u8 *in, u32 in_size, u8 *out, u32 out_size, u32 data_len, u32 mac_data_len, u32 mac_len, PS_AESAlgorithm aes_algo, PS_AESKeyType key_type, u8 *nonce)
     Encrypts/Decrypts signed AES CCM data. More...
     
    Result PS_GetLocalFriendCodeSeed (u64 *seed)
     Gets the 64-bit console friend code seed. More...
     
    Result PS_GetDeviceId (u32 *device_id)
     Gets the 32-bit device ID. More...
     
    Result PS_GenerateRandomBytes (void *out, size_t len)
     Generates cryptographically secure random bytes. More...
     
    +

    Detailed Description

    +

    PS service.

    +

    Enumeration Type Documentation

    + +

    ◆ PS_AESAlgorithm

    + +
    +
    + + + + +
    enum PS_AESAlgorithm
    +
    + +

    PS AES algorithms.

    + + + + + + + +
    Enumerator
    PS_ALGORITHM_CBC_ENC 

    CBC encryption.

    +
    PS_ALGORITHM_CBC_DEC 

    CBC decryption.

    +
    PS_ALGORITHM_CTR_ENC 

    CTR encryption.

    +
    PS_ALGORITHM_CTR_DEC 

    CTR decryption(same as PS_ALGORITHM_CTR_ENC).

    +
    PS_ALGORITHM_CCM_ENC 

    CCM encryption.

    +
    PS_ALGORITHM_CCM_DEC 

    CCM decryption.

    +
    + +
    +
    + +

    ◆ PS_AESKeyType

    + +
    +
    + + + + +
    enum PS_AESKeyType
    +
    + +

    PS key slots.

    + + + + + + + + + + + +
    Enumerator
    PS_KEYSLOT_0D 

    Key slot 0x0D.

    +
    PS_KEYSLOT_2D 

    Key slot 0x2D.

    +
    PS_KEYSLOT_31 

    Key slot 0x31.

    +
    PS_KEYSLOT_38 

    Key slot 0x38.

    +
    PS_KEYSLOT_32 

    Key slot 0x32.

    +
    PS_KEYSLOT_39_DLP 

    Key slot 0x39. (DLP)

    +
    PS_KEYSLOT_2E 

    Key slot 0x2E.

    +
    PS_KEYSLOT_INVALID 

    Invalid key slot.

    +
    PS_KEYSLOT_36 

    Key slot 0x36.

    +
    PS_KEYSLOT_39_NFC 

    Key slot 0x39. (NFC)

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ PS_EncryptDecryptAes()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result PS_EncryptDecryptAes (u32 size,
    u8in,
    u8out,
    PS_AESAlgorithm aes_algo,
    PS_AESKeyType key_type,
    u8iv 
    )
    +
    + +

    Encrypts/Decrypts AES data.

    +

    Does not support AES CCM.

    Parameters
    + + + + + + + +
    sizeSize of the data.
    inInput buffer.
    outOutput buffer.
    aes_algoAES algorithm to use.
    key_typeKey type to use.
    ivPointer to the CTR/IV. The output CTR/IV is also written here.
    +
    +
    + +
    +
    + +

    ◆ PS_EncryptSignDecryptVerifyAesCcm()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result PS_EncryptSignDecryptVerifyAesCcm (u8in,
    u32 in_size,
    u8out,
    u32 out_size,
    u32 data_len,
    u32 mac_data_len,
    u32 mac_len,
    PS_AESAlgorithm aes_algo,
    PS_AESKeyType key_type,
    u8nonce 
    )
    +
    + +

    Encrypts/Decrypts signed AES CCM data.

    +

    When decrypting, if the MAC is invalid, 0xC9010401 is returned. After encrypting the MAC is located at inputbufptr.

    Parameters
    + + + + + + + + + + + +
    inInput buffer.
    in_sizeSize of the input buffer. Must include MAC size when decrypting.
    outOutput buffer.
    out_sizeSize of the output buffer. Must include MAC size when encrypting.
    data_lenLength of the data to be encrypted/decrypted.
    mac_data_lenLength of the MAC data.
    mac_lenLength of the MAC.
    aes_algoAES algorithm to use.
    key_typeKey type to use.
    noncePointer to the nonce.
    +
    +
    + +
    +
    + +

    ◆ PS_GenerateRandomBytes()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result PS_GenerateRandomBytes (void * out,
    size_t len 
    )
    +
    + +

    Generates cryptographically secure random bytes.

    +
    Parameters
    + + + +
    outPointer to the buffer to write the bytes to.
    lenNumber of bytes to write.
    +
    +
    + +
    +
    + +

    ◆ PS_GetDeviceId()

    + +
    +
    + + + + + + + + +
    Result PS_GetDeviceId (u32device_id)
    +
    + +

    Gets the 32-bit device ID.

    +
    Parameters
    + + +
    device_idPointer to write the device ID to.
    +
    +
    + +
    +
    + +

    ◆ PS_GetLocalFriendCodeSeed()

    + +
    +
    + + + + + + + + +
    Result PS_GetLocalFriendCodeSeed (u64seed)
    +
    + +

    Gets the 64-bit console friend code seed.

    +
    Parameters
    + + +
    seedPointer to write the friend code seed to.
    +
    +
    + +
    +
    + +

    ◆ PS_SignRsaSha256()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result PS_SignRsaSha256 (u8hash,
    psRSAContextctx,
    u8signature 
    )
    +
    + +

    Signs a RSA signature.

    +
    Parameters
    + + + + +
    hashSHA256 hash to sign.
    ctxRSA context.
    signatureRSA signature.
    +
    +
    + +
    +
    + +

    ◆ PS_VerifyRsaSha256()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result PS_VerifyRsaSha256 (u8hash,
    psRSAContextctx,
    u8signature 
    )
    +
    + +

    Verifies a RSA signature.

    +
    Parameters
    + + + + +
    hashSHA256 hash to compare with.
    ctxRSA context.
    signatureRSA signature.
    +
    +
    + +
    +
    + +

    ◆ psInitHandle()

    + +
    +
    + + + + + + + + +
    Result psInitHandle (Handle handle)
    +
    + +

    Initializes PS with the specified session handle.

    +
    Parameters
    + + +
    handleSession handle.
    +
    +
    + +
    +
    +
    + + + + diff --git a/ps_8h_source.html b/ps_8h_source.html new file mode 100644 index 000000000..64f4606e1 --- /dev/null +++ b/ps_8h_source.html @@ -0,0 +1,230 @@ + + + + + + + +libctru: include/3ds/services/ps.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    ps.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file ps.h
    +
    3  * @brief PS service.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 /// PS AES algorithms.
    +
    8 typedef enum
    +
    9 {
    +
    10  PS_ALGORITHM_CBC_ENC, ///< CBC encryption.
    +
    11  PS_ALGORITHM_CBC_DEC, ///< CBC decryption.
    +
    12  PS_ALGORITHM_CTR_ENC, ///< CTR encryption.
    +
    13  PS_ALGORITHM_CTR_DEC, ///< CTR decryption(same as PS_ALGORITHM_CTR_ENC).
    +
    14  PS_ALGORITHM_CCM_ENC, ///< CCM encryption.
    +
    15  PS_ALGORITHM_CCM_DEC, ///< CCM decryption.
    + +
    17 
    +
    18 /// PS key slots.
    +
    19 typedef enum
    +
    20 {
    +
    21  PS_KEYSLOT_0D, ///< Key slot 0x0D.
    +
    22  PS_KEYSLOT_2D, ///< Key slot 0x2D.
    +
    23  PS_KEYSLOT_31, ///< Key slot 0x31.
    +
    24  PS_KEYSLOT_38, ///< Key slot 0x38.
    +
    25  PS_KEYSLOT_32, ///< Key slot 0x32.
    +
    26  PS_KEYSLOT_39_DLP, ///< Key slot 0x39. (DLP)
    +
    27  PS_KEYSLOT_2E, ///< Key slot 0x2E.
    +
    28  PS_KEYSLOT_INVALID, ///< Invalid key slot.
    +
    29  PS_KEYSLOT_36, ///< Key slot 0x36.
    +
    30  PS_KEYSLOT_39_NFC ///< Key slot 0x39. (NFC)
    + +
    32 
    +
    33 /// RSA context.
    +
    34 typedef struct {
    +
    35  u8 modulo[0x100];
    +
    36  u8 exponent[0x100];
    +
    37  u32 rsa_bitsize;//The signature byte size is rsa_bitsize>>3.
    +
    38  u32 unk;//Normally zero?
    +
    39 } psRSAContext;
    +
    40 
    +
    41 /// Initializes PS.
    +
    42 Result psInit(void);
    +
    43 
    +
    44 /**
    +
    45  * @brief Initializes PS with the specified session handle.
    +
    46  * @param handle Session handle.
    +
    47  */
    + +
    49 
    +
    50 /// Exits PS.
    +
    51 void psExit(void);
    +
    52 
    +
    53 /// Returns the PS session handle.
    + +
    55 
    +
    56 /**
    +
    57  * @brief Signs a RSA signature.
    +
    58  * @param hash SHA256 hash to sign.
    +
    59  * @param ctx RSA context.
    +
    60  * @param signature RSA signature.
    +
    61  */
    +
    62 Result PS_SignRsaSha256(u8 *hash, psRSAContext *ctx, u8 *signature);
    +
    63 
    +
    64 /**
    +
    65  * @brief Verifies a RSA signature.
    +
    66  * @param hash SHA256 hash to compare with.
    +
    67  * @param ctx RSA context.
    +
    68  * @param signature RSA signature.
    +
    69  */
    +
    70 Result PS_VerifyRsaSha256(u8 *hash, psRSAContext *ctx, u8 *signature);
    +
    71 
    +
    72 /**
    +
    73  * @brief Encrypts/Decrypts AES data. Does not support AES CCM.
    +
    74  * @param size Size of the data.
    +
    75  * @param in Input buffer.
    +
    76  * @param out Output buffer.
    +
    77  * @param aes_algo AES algorithm to use.
    +
    78  * @param key_type Key type to use.
    +
    79  * @param iv Pointer to the CTR/IV. The output CTR/IV is also written here.
    +
    80  */
    +
    81 Result PS_EncryptDecryptAes(u32 size, u8* in, u8* out, PS_AESAlgorithm aes_algo, PS_AESKeyType key_type, u8* iv);
    +
    82 
    +
    83 /**
    +
    84  * @brief Encrypts/Decrypts signed AES CCM data.
    +
    85  * When decrypting, if the MAC is invalid, 0xC9010401 is returned. After encrypting the MAC is located at inputbufptr.
    +
    86  * @param in Input buffer.
    +
    87  * @param in_size Size of the input buffer. Must include MAC size when decrypting.
    +
    88  * @param out Output buffer.
    +
    89  * @param out_size Size of the output buffer. Must include MAC size when encrypting.
    +
    90  * @param data_len Length of the data to be encrypted/decrypted.
    +
    91  * @param mac_data_len Length of the MAC data.
    +
    92  * @param mac_len Length of the MAC.
    +
    93  * @param aes_algo AES algorithm to use.
    +
    94  * @param key_type Key type to use.
    +
    95  * @param nonce Pointer to the nonce.
    +
    96  */
    +
    97 Result PS_EncryptSignDecryptVerifyAesCcm(u8* in, u32 in_size, u8* out, u32 out_size, u32 data_len, u32 mac_data_len, u32 mac_len, PS_AESAlgorithm aes_algo, PS_AESKeyType key_type, u8* nonce);
    +
    98 
    +
    99 /**
    +
    100  * @brief Gets the 64-bit console friend code seed.
    +
    101  * @param seed Pointer to write the friend code seed to.
    +
    102  */
    + +
    104 
    +
    105 /**
    +
    106  * @brief Gets the 32-bit device ID.
    +
    107  * @param device_id Pointer to write the device ID to.
    +
    108  */
    + +
    110 
    +
    111 /**
    +
    112  * @brief Generates cryptographically secure random bytes.
    +
    113  * @param out Pointer to the buffer to write the bytes to.
    +
    114  * @param len Number of bytes to write.
    +
    115  */
    +
    116 Result PS_GenerateRandomBytes(void* out, size_t len);
    +
    Result PS_GetLocalFriendCodeSeed(u64 *seed)
    Gets the 64-bit console friend code seed.
    +
    Result PS_GenerateRandomBytes(void *out, size_t len)
    Generates cryptographically secure random bytes.
    +
    PS_AESKeyType
    PS key slots.
    Definition: ps.h:20
    +
    @ PS_KEYSLOT_2E
    Key slot 0x2E.
    Definition: ps.h:27
    +
    @ PS_KEYSLOT_31
    Key slot 0x31.
    Definition: ps.h:23
    +
    @ PS_KEYSLOT_38
    Key slot 0x38.
    Definition: ps.h:24
    +
    @ PS_KEYSLOT_0D
    Key slot 0x0D.
    Definition: ps.h:21
    +
    @ PS_KEYSLOT_36
    Key slot 0x36.
    Definition: ps.h:29
    +
    @ PS_KEYSLOT_39_NFC
    Key slot 0x39. (NFC)
    Definition: ps.h:30
    +
    @ PS_KEYSLOT_32
    Key slot 0x32.
    Definition: ps.h:25
    +
    @ PS_KEYSLOT_INVALID
    Invalid key slot.
    Definition: ps.h:28
    +
    @ PS_KEYSLOT_39_DLP
    Key slot 0x39. (DLP)
    Definition: ps.h:26
    +
    @ PS_KEYSLOT_2D
    Key slot 0x2D.
    Definition: ps.h:22
    +
    Result PS_EncryptSignDecryptVerifyAesCcm(u8 *in, u32 in_size, u8 *out, u32 out_size, u32 data_len, u32 mac_data_len, u32 mac_len, PS_AESAlgorithm aes_algo, PS_AESKeyType key_type, u8 *nonce)
    Encrypts/Decrypts signed AES CCM data.
    +
    void psExit(void)
    Exits PS.
    +
    Result psInitHandle(Handle handle)
    Initializes PS with the specified session handle.
    +
    PS_AESAlgorithm
    PS AES algorithms.
    Definition: ps.h:9
    +
    @ PS_ALGORITHM_CBC_ENC
    CBC encryption.
    Definition: ps.h:10
    +
    @ PS_ALGORITHM_CTR_DEC
    CTR decryption(same as PS_ALGORITHM_CTR_ENC).
    Definition: ps.h:13
    +
    @ PS_ALGORITHM_CTR_ENC
    CTR encryption.
    Definition: ps.h:12
    +
    @ PS_ALGORITHM_CBC_DEC
    CBC decryption.
    Definition: ps.h:11
    +
    @ PS_ALGORITHM_CCM_DEC
    CCM decryption.
    Definition: ps.h:15
    +
    @ PS_ALGORITHM_CCM_ENC
    CCM encryption.
    Definition: ps.h:14
    +
    Result psInit(void)
    Initializes PS.
    +
    Result PS_GetDeviceId(u32 *device_id)
    Gets the 32-bit device ID.
    +
    Handle psGetSessionHandle(void)
    Returns the PS session handle.
    +
    Result PS_VerifyRsaSha256(u8 *hash, psRSAContext *ctx, u8 *signature)
    Verifies a RSA signature.
    +
    Result PS_EncryptDecryptAes(u32 size, u8 *in, u8 *out, PS_AESAlgorithm aes_algo, PS_AESKeyType key_type, u8 *iv)
    Encrypts/Decrypts AES data.
    +
    Result PS_SignRsaSha256(u8 *hash, psRSAContext *ctx, u8 *signature)
    Signs a RSA signature.
    +
    RSA context.
    Definition: ps.h:34
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/ptmgets_8h.html b/ptmgets_8h.html new file mode 100644 index 000000000..0672d4d79 --- /dev/null +++ b/ptmgets_8h.html @@ -0,0 +1,155 @@ + + + + + + + +libctru: include/3ds/services/ptmgets.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    ptmgets.h File Reference
    +
    +
    + +

    PTMGETS service. +More...

    +
    #include <3ds/types.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + +

    +Functions

    +Result ptmGetsInit (void)
     Initializes PTMGETS.
     
    +void ptmGetsExit (void)
     Exits PTMGETS.
     
    HandleptmGetsGetSessionHandle (void)
     Gets a pointer to the current ptm:gets session handle. More...
     
    Result PTMGETS_GetSystemTime (s64 *outMsY2k)
     Gets the system time. More...
     
    +

    Detailed Description

    +

    PTMGETS service.

    +

    Function Documentation

    + +

    ◆ PTMGETS_GetSystemTime()

    + +
    +
    + + + + + + + + +
    Result PTMGETS_GetSystemTime (s64outMsY2k)
    +
    + +

    Gets the system time.

    +
    Parameters
    + + +
    [out]outMsY2kThe pointer to write the number of milliseconds since 01/01/2000 to.
    +
    +
    + +
    +
    + +

    ◆ ptmGetsGetSessionHandle()

    + +
    +
    + + + + + + + + +
    Handle* ptmGetsGetSessionHandle (void )
    +
    + +

    Gets a pointer to the current ptm:gets session handle.

    +
    Returns
    A pointer to the current ptm:gets session handle.
    + +
    +
    +
    + + + + diff --git a/ptmgets_8h_source.html b/ptmgets_8h_source.html new file mode 100644 index 000000000..a3ea06a26 --- /dev/null +++ b/ptmgets_8h_source.html @@ -0,0 +1,112 @@ + + + + + + + +libctru: include/3ds/services/ptmgets.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    ptmgets.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file ptmgets.h
    +
    3  * @brief PTMGETS service.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 #include <3ds/types.h>
    +
    8 
    +
    9 /// Initializes PTMGETS.
    + +
    11 
    +
    12 /// Exits PTMGETS.
    +
    13 void ptmGetsExit(void);
    +
    14 
    +
    15 /**
    +
    16  * @brief Gets a pointer to the current ptm:gets session handle.
    +
    17  * @return A pointer to the current ptm:gets session handle.
    +
    18  */
    + +
    20 
    +
    21 /**
    +
    22  * @brief Gets the system time.
    +
    23  * @param[out] outMsY2k The pointer to write the number of milliseconds since 01/01/2000 to.
    +
    24  */
    + +
    Handle * ptmGetsGetSessionHandle(void)
    Gets a pointer to the current ptm:gets session handle.
    +
    Result ptmGetsInit(void)
    Initializes PTMGETS.
    +
    Result PTMGETS_GetSystemTime(s64 *outMsY2k)
    Gets the system time.
    +
    void ptmGetsExit(void)
    Exits PTMGETS.
    +
    Various system types.
    +
    int64_t s64
    64-bit signed integer
    Definition: types.h:29
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    + + + + diff --git a/ptmsets_8h.html b/ptmsets_8h.html new file mode 100644 index 000000000..d124a92cb --- /dev/null +++ b/ptmsets_8h.html @@ -0,0 +1,155 @@ + + + + + + + +libctru: include/3ds/services/ptmsets.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    ptmsets.h File Reference
    +
    +
    + +

    PTMSETS service. +More...

    +
    #include <3ds/types.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + +

    +Functions

    +Result ptmSetsInit (void)
     Initializes PTMSETS.
     
    +void ptmSetsExit (void)
     Exits PTMSETS.
     
    HandleptmSetsGetSessionHandle (void)
     Gets a pointer to the current ptm:sets session handle. More...
     
    Result PTMSETS_SetSystemTime (s64 msY2k)
     Sets the system time. More...
     
    +

    Detailed Description

    +

    PTMSETS service.

    +

    Function Documentation

    + +

    ◆ PTMSETS_SetSystemTime()

    + +
    +
    + + + + + + + + +
    Result PTMSETS_SetSystemTime (s64 msY2k)
    +
    + +

    Sets the system time.

    +
    Parameters
    + + +
    msY2kThe number of milliseconds since 01/01/2000.
    +
    +
    + +
    +
    + +

    ◆ ptmSetsGetSessionHandle()

    + +
    +
    + + + + + + + + +
    Handle* ptmSetsGetSessionHandle (void )
    +
    + +

    Gets a pointer to the current ptm:sets session handle.

    +
    Returns
    A pointer to the current ptm:sets session handle.
    + +
    +
    +
    + + + + diff --git a/ptmsets_8h_source.html b/ptmsets_8h_source.html new file mode 100644 index 000000000..154b87893 --- /dev/null +++ b/ptmsets_8h_source.html @@ -0,0 +1,112 @@ + + + + + + + +libctru: include/3ds/services/ptmsets.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    ptmsets.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file ptmsets.h
    +
    3  * @brief PTMSETS service.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 #include <3ds/types.h>
    +
    8 
    +
    9 /// Initializes PTMSETS.
    + +
    11 
    +
    12 /// Exits PTMSETS.
    +
    13 void ptmSetsExit(void);
    +
    14 
    +
    15 /**
    +
    16  * @brief Gets a pointer to the current ptm:sets session handle.
    +
    17  * @return A pointer to the current ptm:sets session handle.
    +
    18  */
    + +
    20 
    +
    21 /**
    +
    22  * @brief Sets the system time.
    +
    23  * @param msY2k The number of milliseconds since 01/01/2000.
    +
    24  */
    + +
    Result ptmSetsInit(void)
    Initializes PTMSETS.
    +
    void ptmSetsExit(void)
    Exits PTMSETS.
    +
    Handle * ptmSetsGetSessionHandle(void)
    Gets a pointer to the current ptm:sets session handle.
    +
    Result PTMSETS_SetSystemTime(s64 msY2k)
    Sets the system time.
    +
    Various system types.
    +
    int64_t s64
    64-bit signed integer
    Definition: types.h:29
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    + + + + diff --git a/ptmsysm_8h.html b/ptmsysm_8h.html new file mode 100644 index 000000000..d90792097 --- /dev/null +++ b/ptmsysm_8h.html @@ -0,0 +1,512 @@ + + + + + + + +libctru: include/3ds/services/ptmsysm.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    ptmsysm.h File Reference
    +
    +
    + +

    PTMSYSM service. +More...

    +
    #include <3ds/types.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + +

    +Data Structures

    struct  PtmWakeEvents
     PDN wake events and MCU interrupts to select, combined with those of other processes. More...
     
    struct  PtmSleepConfig
     
    + + + +

    +Enumerations

    enum  {
    +  PTMNOTIFID_SLEEP_REQUESTED = 0x101 +,
    +  PTMNOTIFID_SLEEP_DENIED = 0x102 +,
    +  PTMNOTIFID_SLEEP_ALLOWED = 0x103 +,
    +  PTMNOTIFID_GOING_TO_SLEEP = 0x104 +,
    +  PTMNOTIFID_FULLY_WAKING_UP = 0x105 +,
    +  PTMNOTIFID_FULLY_AWAKE = 0x106 +,
    +  PTMNOTIFID_HALF_AWAKE = 0x107 +,
    +  PTMNOTIFID_SHUTDOWN = 0x108 +,
    +  PTMNOTIFID_BATTERY_VERY_LOW = 0x211 +,
    +  PTMNOTIFID_BATTERY_LOW = 0x212 +
    + }
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    +static s32 ptmSysmGetNotificationAckValue (u32 id)
     See PTMSYSM_NotifySleepPreparationComplete. Corresponds to the number of potentially remaning notifs. until sleep/wakeup.
     
    +Result ptmSysmInit (void)
     Initializes ptm:sysm.
     
    +void ptmSysmExit (void)
     Exits ptm:sysm.
     
    HandleptmSysmGetSessionHandle (void)
     Gets a pointer to the current ptm:sysm session handle. More...
     
    +Result PTMSYSM_RequestSleep (void)
     Requests to enter sleep mode.
     
    Result PTMSYSM_ReplyToSleepQuery (bool deny)
     Accepts or denies the incoming sleep mode request. More...
     
    Result PTMSYSM_NotifySleepPreparationComplete (s32 ackValue)
     Acknowledges the current sleep notification and advance the internal sleep mode FSM. More...
     
    Result PTMSYSM_SetWakeEvents (const PtmSleepConfig *sleepConfig)
     Sets the wake events (two sets: when to fully wake up and when to return to sleep). More...
     
    Result PTMSYSM_GetWakeReason (PtmSleepConfig *outSleepConfig)
     Gets the wake reason (only the first applicable wake event is taken into account). More...
     
    +Result PTMSYSM_Awaken (void)
     Cancels the "half-awake" state and fully wakes up the 3DS after some delay.
     
    Result PTMSYSM_SetUserTime (s64 msY2k)
     Sets the user time by updating the user time offset. More...
     
    +Result PTMSYSM_InvalidateSystemTime (void)
     Invalidates the "system time" (cfg block 0x30002)
     
    Result PTMSYSM_GetRtcTime (s64 *outMsY2k)
     Reads the time and date coming from the RTC and converts the result. More...
     
    Result PTMSYSM_SetRtcTime (s64 msY2k)
     Writes the time and date coming to the RTC, after conversion. More...
     
    +Result PTMSYSM_CheckNew3DS (void)
     Returns 1 if it's a New 3DS, otherwise 0.
     
    Result PTMSYSM_ConfigureNew3DSCPU (u8 value)
     Configures the New 3DS' CPU clock speed and L2 cache. More...
     
    Result PTMSYSM_ShutdownAsync (u64 timeout)
     Trigger a hardware system shutdown via the MCU. More...
     
    Result PTMSYSM_RebootAsync (u64 timeout)
     Trigger a hardware system reboot via the MCU. More...
     
    +

    Detailed Description

    +

    PTMSYSM service.

    +

    Enumeration Type Documentation

    + +

    ◆ anonymous enum

    + +
    +
    + + + + +
    anonymous enum
    +
    + + + + + + + + + + + +
    Enumerator
    PTMNOTIFID_SLEEP_REQUESTED 

    PTMSYSM_RequestSleep has been called (ack = 3)

    +
    PTMNOTIFID_SLEEP_DENIED 

    The sleep request has been denied by PTMSYSM_ReplyToSleepQuery(true) (no ack required).

    +
    PTMNOTIFID_SLEEP_ALLOWED 

    The sleep request has been allowed by PTMSYSM_ReplyToSleepQuery(false) (ack = 1).

    +
    PTMNOTIFID_GOING_TO_SLEEP 

    All processes not having "RunnableOnSleep" have been paused & the system is about to go to sleep (ack = 0).

    +
    PTMNOTIFID_FULLY_WAKING_UP 

    The system has been woken up, and the paused processes are about to be unpaused (ack = 1).

    +
    PTMNOTIFID_FULLY_AWAKE 

    The system is fully awake (no ack required).

    +
    PTMNOTIFID_HALF_AWAKE 

    The system has been woken up but is about to go to sleep again (ack = 2).

    +
    PTMNOTIFID_SHUTDOWN 

    The system is about to power off or reboot.

    +
    PTMNOTIFID_BATTERY_VERY_LOW 

    The battery level has reached 5% or below.

    +
    PTMNOTIFID_BATTERY_LOW 

    The battery level has reached 10% or below.

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ PTMSYSM_ConfigureNew3DSCPU()

    + +
    +
    + + + + + + + + +
    Result PTMSYSM_ConfigureNew3DSCPU (u8 value)
    +
    + +

    Configures the New 3DS' CPU clock speed and L2 cache.

    +
    Parameters
    + + +
    valueBit0: enable higher clock, Bit1: enable L2 cache.
    +
    +
    + +
    +
    + +

    ◆ PTMSYSM_GetRtcTime()

    + +
    +
    + + + + + + + + +
    Result PTMSYSM_GetRtcTime (s64outMsY2k)
    +
    + +

    Reads the time and date coming from the RTC and converts the result.

    +
    Parameters
    + + +
    [out]outMsY2kThe pointer to write the number of milliseconds since 01/01/2000 to.
    +
    +
    + +
    +
    + +

    ◆ PTMSYSM_GetWakeReason()

    + +
    +
    + + + + + + + + +
    Result PTMSYSM_GetWakeReason (PtmSleepConfigoutSleepConfig)
    +
    + +

    Gets the wake reason (only the first applicable wake event is taken into account).

    +
    Parameters
    + + +
    sleepConfigPointer to the two sets of wake events. Only the relevant set will be filled.
    +
    +
    + +
    +
    + +

    ◆ PTMSYSM_NotifySleepPreparationComplete()

    + +
    +
    + + + + + + + + +
    Result PTMSYSM_NotifySleepPreparationComplete (s32 ackValue)
    +
    + +

    Acknowledges the current sleep notification and advance the internal sleep mode FSM.

    +

    All subscribers must reply.

    Parameters
    + + +
    ackValueUse ptmSysmGetNotificationAckValue
    +
    +
    +
    Note
    PTMNOTIFID_SLEEP_DENIED and PTMNOTIFID_FULLY_AWAKE don't require this.
    + +
    +
    + +

    ◆ PTMSYSM_RebootAsync()

    + +
    +
    + + + + + + + + +
    Result PTMSYSM_RebootAsync (u64 timeout)
    +
    + +

    Trigger a hardware system reboot via the MCU.

    +
    Parameters
    + + +
    timeouttimeout passed to PMApp:ShutdownAsync (PrepareForReboot).
    +
    +
    + +
    +
    + +

    ◆ PTMSYSM_ReplyToSleepQuery()

    + +
    +
    + + + + + + + + +
    Result PTMSYSM_ReplyToSleepQuery (bool deny)
    +
    + +

    Accepts or denies the incoming sleep mode request.

    +
    Parameters
    + + +
    denyWhether or not to deny the sleep request.
    +
    +
    +
    Note
    If deny = false, this is equivalent to calling PTMSYSM_NotifySleepPreparationComplete(3)
    + +
    +
    + +

    ◆ PTMSYSM_SetRtcTime()

    + +
    +
    + + + + + + + + +
    Result PTMSYSM_SetRtcTime (s64 msY2k)
    +
    + +

    Writes the time and date coming to the RTC, after conversion.

    +
    Parameters
    + + +
    msY2kThe number of milliseconds since 01/01/2000.
    +
    +
    + +
    +
    + +

    ◆ PTMSYSM_SetUserTime()

    + +
    +
    + + + + + + + + +
    Result PTMSYSM_SetUserTime (s64 msY2k)
    +
    + +

    Sets the user time by updating the user time offset.

    +
    Parameters
    + + +
    msY2kThe number of milliseconds since 01/01/2000.
    +
    +
    + +
    +
    + +

    ◆ PTMSYSM_SetWakeEvents()

    + +
    +
    + + + + + + + + +
    Result PTMSYSM_SetWakeEvents (const PtmSleepConfigsleepConfig)
    +
    + +

    Sets the wake events (two sets: when to fully wake up and when to return to sleep).

    +
    Parameters
    + + +
    sleepConfigPointer to the two sets of wake events.
    +
    +
    +
    Note
    Can only be called just before acknowledging PTMNOTIFID_GOING_TO_SLEEP or PTMNOTIFID_HALF_AWAKE.
    + +
    +
    + +

    ◆ PTMSYSM_ShutdownAsync()

    + +
    +
    + + + + + + + + +
    Result PTMSYSM_ShutdownAsync (u64 timeout)
    +
    + +

    Trigger a hardware system shutdown via the MCU.

    +
    Parameters
    + + +
    timeouttimeout passed to PMApp:ShutdownAsync (PrepareForReboot).
    +
    +
    + +
    +
    + +

    ◆ ptmSysmGetSessionHandle()

    + +
    +
    + + + + + + + + +
    Handle* ptmSysmGetSessionHandle (void )
    +
    + +

    Gets a pointer to the current ptm:sysm session handle.

    +
    Returns
    A pointer to the current ptm:sysm session handle.
    + +
    +
    +
    + + + + diff --git a/ptmsysm_8h_source.html b/ptmsysm_8h_source.html new file mode 100644 index 000000000..d6bb150f2 --- /dev/null +++ b/ptmsysm_8h_source.html @@ -0,0 +1,253 @@ + + + + + + + +libctru: include/3ds/services/ptmsysm.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    ptmsysm.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file ptmsysm.h
    +
    3  * @brief PTMSYSM service.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 #include <3ds/types.h>
    +
    8 
    +
    9 /// PDN wake events and MCU interrupts to select, combined with those of other processes
    +
    10 typedef struct PtmWakeEvents {
    +
    11  u32 pdn_wake_events; ///< Written to PDN_WAKE_EVENTS. Don't select bit26 (MCU), PTM will do it automatically.
    +
    12  u32 mcu_interupt_mask; ///< MCU interrupts to check when a MCU wake event happens.
    + +
    14 
    +
    15 typedef struct {
    +
    16  PtmWakeEvents exit_sleep_events; ///< Wake events for which the system should fully wake up.
    +
    17  PtmWakeEvents continue_sleep_events; ///< Wake events for which the system should return to sleep.
    + +
    19 
    +
    20 enum {
    +
    21  // Sleep FSM notification IDs
    +
    22  PTMNOTIFID_SLEEP_REQUESTED = 0x101, ///< @ref PTMSYSM_RequestSleep has been called (ack = 3)
    +
    23  PTMNOTIFID_SLEEP_DENIED = 0x102, ///< The sleep request has been denied by @ref PTMSYSM_ReplyToSleepQuery(true) (no ack required).
    +
    24  PTMNOTIFID_SLEEP_ALLOWED = 0x103, ///< The sleep request has been allowed by @ref PTMSYSM_ReplyToSleepQuery(false) (ack = 1).
    +
    25  PTMNOTIFID_GOING_TO_SLEEP = 0x104, ///< All processes not having "RunnableOnSleep" have been paused & the system is about to go to sleep (ack = 0).
    +
    26  PTMNOTIFID_FULLY_WAKING_UP = 0x105, ///< The system has been woken up, and the paused processes are about to be unpaused (ack = 1).
    +
    27  PTMNOTIFID_FULLY_AWAKE = 0x106, ///< The system is fully awake (no ack required).
    +
    28  PTMNOTIFID_HALF_AWAKE = 0x107, ///< The system has been woken up but is about to go to sleep again (ack = 2).
    +
    29 
    +
    30  PTMNOTIFID_SHUTDOWN = 0x108, ///< The system is about to power off or reboot.
    +
    31 
    +
    32  PTMNOTIFID_BATTERY_VERY_LOW = 0x211, ///< The battery level has reached 5% or below.
    +
    33  PTMNOTIFID_BATTERY_LOW = 0x212, ///< The battery level has reached 10% or below.
    +
    34 };
    +
    35 
    +
    36 /// See @ref PTMSYSM_NotifySleepPreparationComplete. Corresponds to the number of potentially remaning notifs. until sleep/wakeup.
    + +
    38 {
    +
    39  static const s32 values[] = { 3, -1, 1, 0, 0, -1, 2 };
    +
    40  if (id < PTMNOTIFID_SLEEP_REQUESTED || id > PTMNOTIFID_HALF_AWAKE)
    +
    41  return -1;
    +
    42  return values[id - PTMNOTIFID_SLEEP_REQUESTED];
    +
    43 }
    +
    44 
    +
    45 /// Initializes ptm:sysm.
    + +
    47 
    +
    48 /// Exits ptm:sysm.
    +
    49 void ptmSysmExit(void);
    +
    50 
    +
    51 /**
    +
    52  * @brief Gets a pointer to the current ptm:sysm session handle.
    +
    53  * @return A pointer to the current ptm:sysm session handle.
    +
    54  */
    + +
    56 
    +
    57 /// Requests to enter sleep mode.
    + +
    59 
    +
    60 /**
    +
    61  * @brief Accepts or denies the incoming sleep mode request.
    +
    62  * @param deny Whether or not to deny the sleep request.
    +
    63  * @note If deny = false, this is equivalent to calling @ref PTMSYSM_NotifySleepPreparationComplete(3)
    +
    64  */
    + +
    66 
    +
    67 /**
    +
    68  * @brief Acknowledges the current sleep notification and advance the internal sleep mode FSM. All subscribers must reply.
    +
    69  * @param ackValue Use @ref ptmSysmGetNotificationAckValue
    +
    70  * @note @ref PTMNOTIFID_SLEEP_DENIED and @ref PTMNOTIFID_FULLY_AWAKE don't require this.
    +
    71  */
    + +
    73 
    +
    74 /**
    +
    75  * @brief Sets the wake events (two sets: when to fully wake up and when to return to sleep).
    +
    76  * @param sleepConfig Pointer to the two sets of wake events.
    +
    77  * @note Can only be called just before acknowledging @ref PTMNOTIFID_GOING_TO_SLEEP or @ref PTMNOTIFID_HALF_AWAKE.
    +
    78  */
    + +
    80 
    +
    81 /**
    +
    82  * @brief Gets the wake reason (only the first applicable wake event is taken into account).
    +
    83  * @param sleepConfig Pointer to the two sets of wake events. Only the relevant set will be filled.
    +
    84  */
    + +
    86 
    +
    87 /// Cancels the "half-awake" state and fully wakes up the 3DS after some delay.
    + +
    89 
    +
    90 /**
    +
    91  * @brief Sets the user time by updating the user time offset.
    +
    92  * @param msY2k The number of milliseconds since 01/01/2000.
    +
    93  */
    + +
    95 
    +
    96 /// Invalidates the "system time" (cfg block 0x30002)
    + +
    98 
    +
    99 /**
    +
    100  * @brief Reads the time and date coming from the RTC and converts the result.
    +
    101  * @param[out] outMsY2k The pointer to write the number of milliseconds since 01/01/2000 to.
    +
    102  */
    + +
    104 
    +
    105 /**
    +
    106  * @brief Writes the time and date coming to the RTC, after conversion.
    +
    107  * @param msY2k The number of milliseconds since 01/01/2000.
    +
    108  */
    + +
    110 
    +
    111 /**
    +
    112  * @brief Returns 1 if it's a New 3DS, otherwise 0.
    +
    113  */
    + +
    115 
    +
    116 /**
    +
    117  * @brief Configures the New 3DS' CPU clock speed and L2 cache.
    +
    118  * @param value Bit0: enable higher clock, Bit1: enable L2 cache.
    +
    119  */
    + +
    121 
    +
    122 /**
    +
    123  * @brief Trigger a hardware system shutdown via the MCU.
    +
    124  * @param timeout: timeout passed to PMApp:ShutdownAsync (PrepareForReboot).
    +
    125  */
    + +
    127 
    +
    128 /**
    +
    129  * @brief Trigger a hardware system reboot via the MCU.
    +
    130  * @param timeout: timeout passed to PMApp:ShutdownAsync (PrepareForReboot).
    +
    131  */
    + +
    Result PTMSYSM_RebootAsync(u64 timeout)
    Trigger a hardware system reboot via the MCU.
    +
    Result PTMSYSM_SetRtcTime(s64 msY2k)
    Writes the time and date coming to the RTC, after conversion.
    +
    Result ptmSysmInit(void)
    Initializes ptm:sysm.
    +
    Result PTMSYSM_Awaken(void)
    Cancels the "half-awake" state and fully wakes up the 3DS after some delay.
    +
    Result PTMSYSM_SetUserTime(s64 msY2k)
    Sets the user time by updating the user time offset.
    +
    Result PTMSYSM_GetWakeReason(PtmSleepConfig *outSleepConfig)
    Gets the wake reason (only the first applicable wake event is taken into account).
    +
    Result PTMSYSM_ShutdownAsync(u64 timeout)
    Trigger a hardware system shutdown via the MCU.
    +
    Result PTMSYSM_GetRtcTime(s64 *outMsY2k)
    Reads the time and date coming from the RTC and converts the result.
    +
    @ PTMNOTIFID_HALF_AWAKE
    The system has been woken up but is about to go to sleep again (ack = 2).
    Definition: ptmsysm.h:28
    +
    @ PTMNOTIFID_FULLY_AWAKE
    The system is fully awake (no ack required).
    Definition: ptmsysm.h:27
    +
    @ PTMNOTIFID_FULLY_WAKING_UP
    The system has been woken up, and the paused processes are about to be unpaused (ack = 1).
    Definition: ptmsysm.h:26
    +
    @ PTMNOTIFID_SLEEP_REQUESTED
    PTMSYSM_RequestSleep has been called (ack = 3)
    Definition: ptmsysm.h:22
    +
    @ PTMNOTIFID_GOING_TO_SLEEP
    All processes not having "RunnableOnSleep" have been paused & the system is about to go to sleep (ack...
    Definition: ptmsysm.h:25
    +
    @ PTMNOTIFID_SHUTDOWN
    The system is about to power off or reboot.
    Definition: ptmsysm.h:30
    +
    @ PTMNOTIFID_BATTERY_LOW
    The battery level has reached 10% or below.
    Definition: ptmsysm.h:33
    +
    @ PTMNOTIFID_BATTERY_VERY_LOW
    The battery level has reached 5% or below.
    Definition: ptmsysm.h:32
    +
    @ PTMNOTIFID_SLEEP_ALLOWED
    The sleep request has been allowed by PTMSYSM_ReplyToSleepQuery(false) (ack = 1).
    Definition: ptmsysm.h:24
    +
    @ PTMNOTIFID_SLEEP_DENIED
    The sleep request has been denied by PTMSYSM_ReplyToSleepQuery(true) (no ack required).
    Definition: ptmsysm.h:23
    +
    Result PTMSYSM_ReplyToSleepQuery(bool deny)
    Accepts or denies the incoming sleep mode request.
    +
    Result PTMSYSM_NotifySleepPreparationComplete(s32 ackValue)
    Acknowledges the current sleep notification and advance the internal sleep mode FSM.
    +
    Result PTMSYSM_CheckNew3DS(void)
    Returns 1 if it's a New 3DS, otherwise 0.
    +
    static s32 ptmSysmGetNotificationAckValue(u32 id)
    See PTMSYSM_NotifySleepPreparationComplete. Corresponds to the number of potentially remaning notifs....
    Definition: ptmsysm.h:37
    +
    Handle * ptmSysmGetSessionHandle(void)
    Gets a pointer to the current ptm:sysm session handle.
    +
    Result PTMSYSM_ConfigureNew3DSCPU(u8 value)
    Configures the New 3DS' CPU clock speed and L2 cache.
    +
    Result PTMSYSM_RequestSleep(void)
    Requests to enter sleep mode.
    +
    void ptmSysmExit(void)
    Exits ptm:sysm.
    +
    Result PTMSYSM_InvalidateSystemTime(void)
    Invalidates the "system time" (cfg block 0x30002)
    +
    Result PTMSYSM_SetWakeEvents(const PtmSleepConfig *sleepConfig)
    Sets the wake events (two sets: when to fully wake up and when to return to sleep).
    +
    Definition: ptmsysm.h:15
    +
    PtmWakeEvents continue_sleep_events
    Wake events for which the system should return to sleep.
    Definition: ptmsysm.h:17
    +
    PtmWakeEvents exit_sleep_events
    Wake events for which the system should fully wake up.
    Definition: ptmsysm.h:16
    +
    PDN wake events and MCU interrupts to select, combined with those of other processes.
    Definition: ptmsysm.h:10
    +
    u32 pdn_wake_events
    Written to PDN_WAKE_EVENTS. Don't select bit26 (MCU), PTM will do it automatically.
    Definition: ptmsysm.h:11
    +
    u32 mcu_interupt_mask
    MCU interrupts to check when a MCU wake event happens.
    Definition: ptmsysm.h:12
    +
    Various system types.
    +
    int64_t s64
    64-bit signed integer
    Definition: types.h:29
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    int32_t s32
    32-bit signed integer
    Definition: types.h:28
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/ptmu_8h.html b/ptmu_8h.html new file mode 100644 index 000000000..48d0038a0 --- /dev/null +++ b/ptmu_8h.html @@ -0,0 +1,299 @@ + + + + + + + +libctru: include/3ds/services/ptmu.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    ptmu.h File Reference
    +
    +
    + +

    PTMU service. +More...

    + +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    +Result ptmuInit (void)
     Initializes PTMU.
     
    +void ptmuExit (void)
     Exits PTMU.
     
    HandleptmuGetSessionHandle (void)
     Gets a pointer to the current ptm:u session handle. More...
     
    Result PTMU_GetShellState (u8 *out)
     Gets the system's current shell state. More...
     
    Result PTMU_GetBatteryLevel (u8 *out)
     Gets the system's current battery level. More...
     
    Result PTMU_GetBatteryChargeState (u8 *out)
     Gets the system's current battery charge state. More...
     
    Result PTMU_GetPedometerState (u8 *out)
     Gets the system's current pedometer state. More...
     
    Result PTMU_GetTotalStepCount (u32 *steps)
     Gets the pedometer's total step count. More...
     
    Result PTMU_GetAdapterState (bool *out)
     Gets whether the adapter is plugged in or not. More...
     
    +

    Detailed Description

    +

    PTMU service.

    +

    Function Documentation

    + +

    ◆ PTMU_GetAdapterState()

    + +
    +
    + + + + + + + + +
    Result PTMU_GetAdapterState (bool * out)
    +
    + +

    Gets whether the adapter is plugged in or not.

    +
    Parameters
    + + +
    outPointer to write the adapter state to.
    +
    +
    + +
    +
    + +

    ◆ PTMU_GetBatteryChargeState()

    + +
    +
    + + + + + + + + +
    Result PTMU_GetBatteryChargeState (u8out)
    +
    + +

    Gets the system's current battery charge state.

    +
    Parameters
    + + +
    outPointer to write the current battery charge state to. (0 = not charging, 1 = charging)
    +
    +
    + +
    +
    + +

    ◆ PTMU_GetBatteryLevel()

    + +
    +
    + + + + + + + + +
    Result PTMU_GetBatteryLevel (u8out)
    +
    + +

    Gets the system's current battery level.

    +
    Parameters
    + + +
    outPointer to write the current battery level to. (0-5)
    +
    +
    + +
    +
    + +

    ◆ PTMU_GetPedometerState()

    + +
    +
    + + + + + + + + +
    Result PTMU_GetPedometerState (u8out)
    +
    + +

    Gets the system's current pedometer state.

    +
    Parameters
    + + +
    outPointer to write the current pedometer state to. (0 = not counting, 1 = counting)
    +
    +
    + +
    +
    + +

    ◆ PTMU_GetShellState()

    + +
    +
    + + + + + + + + +
    Result PTMU_GetShellState (u8out)
    +
    + +

    Gets the system's current shell state.

    +
    Parameters
    + + +
    outPointer to write the current shell state to. (0 = closed, 1 = open)
    +
    +
    + +
    +
    + +

    ◆ PTMU_GetTotalStepCount()

    + +
    +
    + + + + + + + + +
    Result PTMU_GetTotalStepCount (u32steps)
    +
    + +

    Gets the pedometer's total step count.

    +
    Parameters
    + + +
    stepsPointer to write the total step count to.
    +
    +
    + +
    +
    + +

    ◆ ptmuGetSessionHandle()

    + +
    +
    + + + + + + + + +
    Handle* ptmuGetSessionHandle (void )
    +
    + +

    Gets a pointer to the current ptm:u session handle.

    +
    Returns
    A pointer to the current ptm:u session handle.
    + +
    +
    +
    + + + + diff --git a/ptmu_8h_source.html b/ptmu_8h_source.html new file mode 100644 index 000000000..73cdd85b2 --- /dev/null +++ b/ptmu_8h_source.html @@ -0,0 +1,145 @@ + + + + + + + +libctru: include/3ds/services/ptmu.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    ptmu.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file ptmu.h
    +
    3  * @brief PTMU service.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 /// Initializes PTMU.
    + +
    9 
    +
    10 /// Exits PTMU.
    +
    11 void ptmuExit(void);
    +
    12 
    +
    13 /**
    +
    14  * @brief Gets a pointer to the current ptm:u session handle.
    +
    15  * @return A pointer to the current ptm:u session handle.
    +
    16  */
    + +
    18 
    +
    19 /**
    +
    20  * @brief Gets the system's current shell state.
    +
    21  * @param out Pointer to write the current shell state to. (0 = closed, 1 = open)
    +
    22  */
    + +
    24 
    +
    25 /**
    +
    26  * @brief Gets the system's current battery level.
    +
    27  * @param out Pointer to write the current battery level to. (0-5)
    +
    28  */
    + +
    30 
    +
    31 /**
    +
    32  * @brief Gets the system's current battery charge state.
    +
    33  * @param out Pointer to write the current battery charge state to. (0 = not charging, 1 = charging)
    +
    34  */
    + +
    36 
    +
    37 /**
    +
    38  * @brief Gets the system's current pedometer state.
    +
    39  * @param out Pointer to write the current pedometer state to. (0 = not counting, 1 = counting)
    +
    40  */
    + +
    42 
    +
    43 /**
    +
    44  * @brief Gets the pedometer's total step count.
    +
    45  * @param steps Pointer to write the total step count to.
    +
    46  */
    + +
    48 
    +
    49 /**
    +
    50  * @brief Gets whether the adapter is plugged in or not
    +
    51  * @param out Pointer to write the adapter state to.
    +
    52  */
    + +
    Result PTMU_GetAdapterState(bool *out)
    Gets whether the adapter is plugged in or not.
    +
    Result PTMU_GetBatteryChargeState(u8 *out)
    Gets the system's current battery charge state.
    +
    void ptmuExit(void)
    Exits PTMU.
    +
    Result ptmuInit(void)
    Initializes PTMU.
    +
    Result PTMU_GetTotalStepCount(u32 *steps)
    Gets the pedometer's total step count.
    +
    Result PTMU_GetBatteryLevel(u8 *out)
    Gets the system's current battery level.
    +
    Handle * ptmuGetSessionHandle(void)
    Gets a pointer to the current ptm:u session handle.
    +
    Result PTMU_GetPedometerState(u8 *out)
    Gets the system's current pedometer state.
    +
    Result PTMU_GetShellState(u8 *out)
    Gets the system's current shell state.
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/pxidev_8h.html b/pxidev_8h.html new file mode 100644 index 000000000..058a901bc --- /dev/null +++ b/pxidev_8h.html @@ -0,0 +1,413 @@ + + + + + + + +libctru: include/3ds/services/pxidev.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    pxidev.h File Reference
    +
    +
    + +

    Gamecard PXI service. +More...

    +
    #include <3ds/services/fs.h>
    +
    +

    Go to the source code of this file.

    + + + + + +

    +Data Structures

    struct  PXIDEV_SPIBuffer
     Card SPI transfer buffer. More...
     
    + + + + + + + +

    +Enumerations

    enum  PXIDEV_WaitType {
    +  WAIT_NONE = 0 +,
    +  WAIT_SLEEP = 1 +,
    +  WAIT_IREQ_RETURN = 2 +,
    +  WAIT_IREQ_CONTINUE = 3 +
    + }
     Card SPI wait operation type. More...
     
    enum  PXIDEV_DeassertType {
    +  DEASSERT_NONE = 0 +,
    +  DEASSERT_BEFORE_WAIT = 1 +,
    +  DEASSERT_AFTER_WAIT = 2 +
    + }
     Card SPI register deassertion type. More...
     
    + + + + + + + + + + + + + + + + + + + +

    +Functions

    +Result pxiDevInit (void)
     Initializes pxi:dev.
     
    +void pxiDevExit (void)
     Shuts down pxi:dev.
     
    static u8 pxiDevMakeTransferOption (FS_CardSpiBaudRate baudRate, FS_CardSpiBusMode busMode)
     Creates a packed card SPI transfer option value. More...
     
    static u64 pxiDevMakeWaitOperation (PXIDEV_WaitType waitType, PXIDEV_DeassertType deassertType, u64 timeout)
     Creates a packed card SPI wait operation value. More...
     
    Result PXIDEV_SPIMultiWriteRead (PXIDEV_SPIBuffer *header, PXIDEV_SPIBuffer *writeBuffer1, PXIDEV_SPIBuffer *readBuffer1, PXIDEV_SPIBuffer *writeBuffer2, PXIDEV_SPIBuffer *readBuffer2, PXIDEV_SPIBuffer *footer)
     Performs multiple card SPI writes and reads. More...
     
    Result PXIDEV_SPIWriteRead (u32 *bytesRead, u64 initialWaitOperation, PXIDEV_SPIBuffer *writeBuffer, PXIDEV_SPIBuffer *readBuffer)
     Performs a single card SPI write and read. More...
     
    +

    Detailed Description

    +

    Gamecard PXI service.

    +

    Enumeration Type Documentation

    + +

    ◆ PXIDEV_DeassertType

    + +
    +
    + + + + +
    enum PXIDEV_DeassertType
    +
    + +

    Card SPI register deassertion type.

    + + + + +
    Enumerator
    DEASSERT_NONE 

    Do not deassert.

    +
    DEASSERT_BEFORE_WAIT 

    Deassert before waiting.

    +
    DEASSERT_AFTER_WAIT 

    Deassert after waiting.

    +
    + +
    +
    + +

    ◆ PXIDEV_WaitType

    + +
    +
    + + + + +
    enum PXIDEV_WaitType
    +
    + +

    Card SPI wait operation type.

    + + + + + +
    Enumerator
    WAIT_NONE 

    Do not wait.

    +
    WAIT_SLEEP 

    Sleep for the specified number of nanoseconds.

    +
    WAIT_IREQ_RETURN 

    Wait for IREQ, return if timeout.

    +
    WAIT_IREQ_CONTINUE 

    Wait for IREQ, continue if timeout.

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ PXIDEV_SPIMultiWriteRead()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result PXIDEV_SPIMultiWriteRead (PXIDEV_SPIBufferheader,
    PXIDEV_SPIBufferwriteBuffer1,
    PXIDEV_SPIBufferreadBuffer1,
    PXIDEV_SPIBufferwriteBuffer2,
    PXIDEV_SPIBufferreadBuffer2,
    PXIDEV_SPIBufferfooter 
    )
    +
    + +

    Performs multiple card SPI writes and reads.

    +
    Parameters
    + + + + + + + +
    headerHeader to lead the transfers with. Must be, at most, 8 bytes in size.
    writeBuffer1Buffer to make first transfer from.
    readBuffer1Buffer to receive first response to.
    writeBuffer2Buffer to make second transfer from.
    readBuffer2Buffer to receive second response to.
    footerFooter to follow the transfers with. Must be, at most, 8 bytes in size. Wait operation is unused.
    +
    +
    + +
    +
    + +

    ◆ PXIDEV_SPIWriteRead()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result PXIDEV_SPIWriteRead (u32bytesRead,
    u64 initialWaitOperation,
    PXIDEV_SPIBufferwriteBuffer,
    PXIDEV_SPIBufferreadBuffer 
    )
    +
    + +

    Performs a single card SPI write and read.

    +
    Parameters
    + + + + + +
    bytesReadPointer to output the number of bytes received to.
    initialWaitOperationWait operation to perform before transferring data.
    writeBufferBuffer to transfer data from.
    readBufferBuffer to receive data to.
    +
    +
    + +
    +
    + +

    ◆ pxiDevMakeTransferOption()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static u8 pxiDevMakeTransferOption (FS_CardSpiBaudRate baudRate,
    FS_CardSpiBusMode busMode 
    )
    +
    +inlinestatic
    +
    + +

    Creates a packed card SPI transfer option value.

    +
    Parameters
    + + + +
    baudRateBaud rate to use when transferring.
    busModeBus mode to use when transferring.
    +
    +
    +
    Returns
    A packed card SPI transfer option value.
    + +
    +
    + +

    ◆ pxiDevMakeWaitOperation()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static u64 pxiDevMakeWaitOperation (PXIDEV_WaitType waitType,
    PXIDEV_DeassertType deassertType,
    u64 timeout 
    )
    +
    +inlinestatic
    +
    + +

    Creates a packed card SPI wait operation value.

    +
    Parameters
    + + + + +
    waitTypeType of wait to perform.
    deassertTypeType of register deassertion to perform.
    timeoutTimeout, in nanoseconds, to wait, if applicable.
    +
    +
    +
    Returns
    A packed card SPI wait operation value.
    + +
    +
    +
    + + + + diff --git a/pxidev_8h_source.html b/pxidev_8h_source.html new file mode 100644 index 000000000..5f7d729bf --- /dev/null +++ b/pxidev_8h_source.html @@ -0,0 +1,185 @@ + + + + + + + +libctru: include/3ds/services/pxidev.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    pxidev.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file pxidev.h
    +
    3  * @brief Gamecard PXI service.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 #include <3ds/services/fs.h>
    +
    8 
    +
    9 /// Card SPI wait operation type.
    +
    10 typedef enum {
    +
    11  WAIT_NONE = 0, ///< Do not wait.
    +
    12  WAIT_SLEEP = 1, ///< Sleep for the specified number of nanoseconds.
    +
    13  WAIT_IREQ_RETURN = 2, ///< Wait for IREQ, return if timeout.
    +
    14  WAIT_IREQ_CONTINUE = 3 ///< Wait for IREQ, continue if timeout.
    + +
    16 
    +
    17 /// Card SPI register deassertion type.
    +
    18 typedef enum {
    +
    19  DEASSERT_NONE = 0, ///< Do not deassert.
    +
    20  DEASSERT_BEFORE_WAIT = 1, ///< Deassert before waiting.
    +
    21  DEASSERT_AFTER_WAIT = 2 ///< Deassert after waiting.
    + +
    23 
    +
    24 /// Card SPI transfer buffer.
    +
    25 typedef struct {
    +
    26  void* ptr; ///< Data pointer.
    +
    27  u32 size; ///< Data size.
    +
    28  u8 transferOption; ///< Transfer options. See @ref pxiDevMakeTransferOption
    +
    29  u64 waitOperation; ///< Wait operation. See @ref pxiDevMakeWaitOperation
    + +
    31 
    +
    32 /// Initializes pxi:dev.
    + +
    34 
    +
    35 /// Shuts down pxi:dev.
    +
    36 void pxiDevExit(void);
    +
    37 
    +
    38 /**
    +
    39  * @brief Creates a packed card SPI transfer option value.
    +
    40  * @param baudRate Baud rate to use when transferring.
    +
    41  * @param busMode Bus mode to use when transferring.
    +
    42  * @return A packed card SPI transfer option value.
    +
    43  */
    + +
    45 {
    +
    46  return (baudRate & 0x3F) | ((busMode & 0x3) << 6);
    +
    47 }
    +
    48 
    +
    49 /**
    +
    50  * @brief Creates a packed card SPI wait operation value.
    +
    51  * @param waitType Type of wait to perform.
    +
    52  * @param deassertType Type of register deassertion to perform.
    +
    53  * @param timeout Timeout, in nanoseconds, to wait, if applicable.
    +
    54  * @return A packed card SPI wait operation value.
    +
    55  */
    +
    56 static inline u64 pxiDevMakeWaitOperation(PXIDEV_WaitType waitType, PXIDEV_DeassertType deassertType, u64 timeout)
    +
    57 {
    +
    58  return (waitType & 0xF) | ((deassertType & 0xF) << 4) | ((timeout & 0xFFFFFFFFFFFFFF) << 8);
    +
    59 }
    +
    60 
    +
    61 /**
    +
    62  * @brief Performs multiple card SPI writes and reads.
    +
    63  * @param header Header to lead the transfers with. Must be, at most, 8 bytes in size.
    +
    64  * @param writeBuffer1 Buffer to make first transfer from.
    +
    65  * @param readBuffer1 Buffer to receive first response to.
    +
    66  * @param writeBuffer2 Buffer to make second transfer from.
    +
    67  * @param readBuffer2 Buffer to receive second response to.
    +
    68  * @param footer Footer to follow the transfers with. Must be, at most, 8 bytes in size. Wait operation is unused.
    +
    69  */
    +
    70 Result PXIDEV_SPIMultiWriteRead(PXIDEV_SPIBuffer* header, PXIDEV_SPIBuffer* writeBuffer1, PXIDEV_SPIBuffer* readBuffer1, PXIDEV_SPIBuffer* writeBuffer2, PXIDEV_SPIBuffer* readBuffer2, PXIDEV_SPIBuffer* footer);
    +
    71 
    +
    72 /**
    +
    73  * @brief Performs a single card SPI write and read.
    +
    74  * @param bytesRead Pointer to output the number of bytes received to.
    +
    75  * @param initialWaitOperation Wait operation to perform before transferring data.
    +
    76  * @param writeBuffer Buffer to transfer data from.
    +
    77  * @param readBuffer Buffer to receive data to.
    +
    78  */
    +
    79 Result PXIDEV_SPIWriteRead(u32* bytesRead, u64 initialWaitOperation, PXIDEV_SPIBuffer* writeBuffer, PXIDEV_SPIBuffer* readBuffer);
    +
    Filesystem Services.
    +
    FS_CardSpiBusMode
    Card SPI bus mode.
    Definition: fs.h:108
    +
    FS_CardSpiBaudRate
    Card SPI baud rate.
    Definition: fs.h:97
    +
    PXIDEV_DeassertType
    Card SPI register deassertion type.
    Definition: pxidev.h:18
    +
    @ DEASSERT_AFTER_WAIT
    Deassert after waiting.
    Definition: pxidev.h:21
    +
    @ DEASSERT_BEFORE_WAIT
    Deassert before waiting.
    Definition: pxidev.h:20
    +
    @ DEASSERT_NONE
    Do not deassert.
    Definition: pxidev.h:19
    +
    static u64 pxiDevMakeWaitOperation(PXIDEV_WaitType waitType, PXIDEV_DeassertType deassertType, u64 timeout)
    Creates a packed card SPI wait operation value.
    Definition: pxidev.h:56
    +
    Result pxiDevInit(void)
    Initializes pxi:dev.
    +
    void pxiDevExit(void)
    Shuts down pxi:dev.
    +
    PXIDEV_WaitType
    Card SPI wait operation type.
    Definition: pxidev.h:10
    +
    @ WAIT_NONE
    Do not wait.
    Definition: pxidev.h:11
    +
    @ WAIT_IREQ_RETURN
    Wait for IREQ, return if timeout.
    Definition: pxidev.h:13
    +
    @ WAIT_SLEEP
    Sleep for the specified number of nanoseconds.
    Definition: pxidev.h:12
    +
    @ WAIT_IREQ_CONTINUE
    Wait for IREQ, continue if timeout.
    Definition: pxidev.h:14
    +
    Result PXIDEV_SPIMultiWriteRead(PXIDEV_SPIBuffer *header, PXIDEV_SPIBuffer *writeBuffer1, PXIDEV_SPIBuffer *readBuffer1, PXIDEV_SPIBuffer *writeBuffer2, PXIDEV_SPIBuffer *readBuffer2, PXIDEV_SPIBuffer *footer)
    Performs multiple card SPI writes and reads.
    +
    static u8 pxiDevMakeTransferOption(FS_CardSpiBaudRate baudRate, FS_CardSpiBusMode busMode)
    Creates a packed card SPI transfer option value.
    Definition: pxidev.h:44
    +
    Result PXIDEV_SPIWriteRead(u32 *bytesRead, u64 initialWaitOperation, PXIDEV_SPIBuffer *writeBuffer, PXIDEV_SPIBuffer *readBuffer)
    Performs a single card SPI write and read.
    +
    Card SPI transfer buffer.
    Definition: pxidev.h:25
    +
    u64 waitOperation
    Wait operation. See pxiDevMakeWaitOperation.
    Definition: pxidev.h:29
    +
    void * ptr
    Data pointer.
    Definition: pxidev.h:26
    +
    u32 size
    Data size.
    Definition: pxidev.h:27
    +
    u8 transferOption
    Transfer options. See pxiDevMakeTransferOption.
    Definition: pxidev.h:28
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/pxipm_8h.html b/pxipm_8h.html new file mode 100644 index 000000000..278228dda --- /dev/null +++ b/pxipm_8h.html @@ -0,0 +1,243 @@ + + + + + + + +libctru: include/3ds/services/pxipm.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    pxipm.h File Reference
    +
    +
    + +

    Process Manager PXI service. +More...

    +
    #include <3ds/exheader.h>
    +#include <3ds/services/fs.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + +

    +Functions

    +Result pxiPmInit (void)
     Initializes PxiPM.
     
    +void pxiPmExit (void)
     Exits PxiPM.
     
    HandlepxiPmGetSessionHandle (void)
     Gets the current PxiPM session handle. More...
     
    Result PXIPM_GetProgramInfo (ExHeader_Info *exheaderInfo, u64 programHandle)
     Retrives the exheader information set(s) (SCI+ACI) about a program. More...
     
    Result PXIPM_RegisterProgram (u64 *programHandle, const FS_ProgramInfo *programInfo, const FS_ProgramInfo *updateInfo)
     Loads a program and registers it to Process9. More...
     
    Result PXIPM_UnregisterProgram (u64 programHandle)
     Unloads a program and unregisters it from Process9. More...
     
    +

    Detailed Description

    +

    Process Manager PXI service.

    +

    Function Documentation

    + +

    ◆ PXIPM_GetProgramInfo()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result PXIPM_GetProgramInfo (ExHeader_InfoexheaderInfo,
    u64 programHandle 
    )
    +
    + +

    Retrives the exheader information set(s) (SCI+ACI) about a program.

    +
    Parameters
    + + + +
    exheaderInfos[out]Pointer to the output exheader information set.
    programHandleThe program handle.
    +
    +
    + +
    +
    + +

    ◆ PXIPM_RegisterProgram()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result PXIPM_RegisterProgram (u64programHandle,
    const FS_ProgramInfoprogramInfo,
    const FS_ProgramInfoupdateInfo 
    )
    +
    + +

    Loads a program and registers it to Process9.

    +
    Parameters
    + + + + +
    programHandle[out]Pointer to the output the program handle to.
    programInfoInformation about the program to load.
    updateInfoInformation about the program update to load.
    +
    +
    + +
    +
    + +

    ◆ PXIPM_UnregisterProgram()

    + +
    +
    + + + + + + + + +
    Result PXIPM_UnregisterProgram (u64 programHandle)
    +
    + +

    Unloads a program and unregisters it from Process9.

    +
    Parameters
    + + +
    programHandleThe program handle.
    +
    +
    + +
    +
    + +

    ◆ pxiPmGetSessionHandle()

    + +
    +
    + + + + + + + + +
    Handle* pxiPmGetSessionHandle (void )
    +
    + +

    Gets the current PxiPM session handle.

    +
    Returns
    The current PxiPM session handle.
    + +
    +
    +
    + + + + diff --git a/pxipm_8h_source.html b/pxipm_8h_source.html new file mode 100644 index 000000000..818029e51 --- /dev/null +++ b/pxipm_8h_source.html @@ -0,0 +1,134 @@ + + + + + + + +libctru: include/3ds/services/pxipm.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    pxipm.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file pxipm.h
    +
    3  * @brief Process Manager PXI service
    +
    4  */
    +
    5 
    +
    6 #pragma once
    +
    7 
    +
    8 #include <3ds/exheader.h>
    +
    9 #include <3ds/services/fs.h>
    +
    10 
    +
    11 /// Initializes PxiPM.
    + +
    13 
    +
    14 /// Exits PxiPM.
    +
    15 void pxiPmExit(void);
    +
    16 
    +
    17 /**
    +
    18  * @brief Gets the current PxiPM session handle.
    +
    19  * @return The current PxiPM session handle.
    +
    20  */
    + +
    22 
    +
    23 /**
    +
    24  * @brief Retrives the exheader information set(s) (SCI+ACI) about a program.
    +
    25  * @param exheaderInfos[out] Pointer to the output exheader information set.
    +
    26  * @param programHandle The program handle.
    +
    27  */
    +
    28 Result PXIPM_GetProgramInfo(ExHeader_Info *exheaderInfo, u64 programHandle);
    +
    29 
    +
    30 /**
    +
    31  * @brief Loads a program and registers it to Process9.
    +
    32  * @param programHandle[out] Pointer to the output the program handle to.
    +
    33  * @param programInfo Information about the program to load.
    +
    34  * @param updateInfo Information about the program update to load.
    +
    35  */
    +
    36 Result PXIPM_RegisterProgram(u64 *programHandle, const FS_ProgramInfo *programInfo, const FS_ProgramInfo *updateInfo);
    +
    37 
    +
    38 /**
    +
    39  * @brief Unloads a program and unregisters it from Process9.
    +
    40  * @param programHandle The program handle.
    +
    41  */
    + +
    NCCH extended header definitions.
    +
    Filesystem Services.
    +
    Result PXIPM_GetProgramInfo(ExHeader_Info *exheaderInfo, u64 programHandle)
    Retrives the exheader information set(s) (SCI+ACI) about a program.
    +
    void pxiPmExit(void)
    Exits PxiPM.
    +
    Result PXIPM_UnregisterProgram(u64 programHandle)
    Unloads a program and unregisters it from Process9.
    +
    Result PXIPM_RegisterProgram(u64 *programHandle, const FS_ProgramInfo *programInfo, const FS_ProgramInfo *updateInfo)
    Loads a program and registers it to Process9.
    +
    Handle * pxiPmGetSessionHandle(void)
    Gets the current PxiPM session handle.
    +
    Result pxiPmInit(void)
    Initializes PxiPM.
    +
    Main extended header data, as returned by PXIPM, Loader and FSREG service commands.
    Definition: exheader.h:181
    +
    Program information.
    Definition: fs.h:183
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    + + + + diff --git a/qtm_2source_2main_8c-example.html b/qtm_2source_2main_8c-example.html new file mode 100644 index 000000000..1866922d6 --- /dev/null +++ b/qtm_2source_2main_8c-example.html @@ -0,0 +1,191 @@ + + + + + + + +libctru: qtm/source/main.c + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    qtm/source/main.c
    +
    +
    +
    #include <string.h>
    +
    #include <stdio.h>
    +
    #include <3ds.h>
    +
    +
    int main()
    +
    {
    +
    u32 pos;
    +
    u32 x, y;
    +
    Result ret;
    +
    bool qtm_usable;
    + +
    u32 colors[4] = {0x0000FF, 0x00FF00, 0xFF0000, 0xFFFFFF};
    +
    + +
    //gfxSet3D(true); // uncomment if using stereoscopic 3D
    +
    + +
    + +
    +
    printf("qtm example\n");
    +
    +
    qtm_usable = qtmCheckInitialized();
    +
    if(!qtm_usable)printf("QTM is not usable, therefore this example won't do anything with QTM.\n");
    +
    +
    // Main loop
    +
    while (aptMainLoop())
    +
    {
    + + +
    +
    u32 kDown = hidKeysDown();
    +
    if (kDown & KEY_START)
    +
    break; // break in order to return to hbmenu
    +
    +
    if(qtm_usable)
    +
    {
    +
    u8* fb = gfxGetFramebuffer(GFX_TOP, GFX_LEFT, NULL, NULL);
    +
    memset(fb, 0, 400*240*3);
    +
    +
    ret = QTM_GetHeadTrackingInfo(0, &qtminfo);
    +
    if(ret==0)
    +
    {
    + +
    +
    for(pos=0; pos<5; pos++)
    +
    {
    +
    printf("flags[%x]=0x%x", (unsigned int)pos, qtminfo.flags[pos]);
    +
    if(pos<4)printf(", ");
    +
    }
    +
    +
    printf("\nfloatdata_x08: %f\n", qtminfo.floatdata_x08);
    +
    +
    printf("coords0: ");
    +
    for(pos=0; pos<4; pos++)
    +
    {
    +
    printf("[%x].x=%f, y=%f", (unsigned int)pos, qtminfo.coords0[pos].x, qtminfo.coords0[pos].y);
    +
    if(pos<3)printf(", ");
    +
    }
    +
    +
    printf("\n");
    +
    + +
    {
    +
    for(pos=0; pos<4; pos++)
    +
    {
    +
    ret = qtmConvertCoordToScreen(&qtminfo.coords0[pos], NULL, NULL, &x, &y);
    +
    +
    if(ret==0)memcpy(&fb[(x*240 + y) * 3], &colors[pos], 3);
    +
    }
    +
    }
    +
    }
    +
    }
    +
    +
    // Flush and swap framebuffers
    + + +
    }
    +
    +
    // Exit services
    + + +
    return 0;
    +
    }
    +
    +
    Central 3DS header.
    +
    bool aptMainLoop(void)
    Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
    +
    PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
    Initialise the console.
    +
    void consoleClear(void)
    Clears the screen by using iprintf("\x1b[2J");.
    +
    void gfxSwapBuffers(void)
    Updates the configuration of both screens.
    +
    void gfxInitDefault(void)
    Initializes the LCD framebuffers with default parameters This is equivalent to calling:
    +
    u8 * gfxGetFramebuffer(gfxScreen_t screen, gfx3dSide_t side, u16 *width, u16 *height)
    Retrieves the framebuffer of the specified screen to which graphics should be rendered.
    +
    @ GFX_BOTTOM
    Bottom screen.
    Definition: gfx.h:27
    +
    @ GFX_TOP
    Top screen.
    Definition: gfx.h:26
    +
    void gfxExit(void)
    Deinitializes and frees the LCD framebuffers.
    +
    @ GFX_LEFT
    Left eye framebuffer.
    Definition: gfx.h:37
    +
    void gfxFlushBuffers(void)
    Flushes the data cache for the current framebuffers.
    +
    #define gspWaitForVBlank()
    Waits for VBlank.
    Definition: gspgpu.h:151
    +
    @ KEY_START
    Start.
    Definition: hid.h:15
    +
    u32 hidKeysDown(void)
    Returns a bitmask of newly pressed buttons, this frame.
    +
    void hidScanInput(void)
    Scans HID for input data.
    +
    void qtmExit(void)
    Exits QTM.
    +
    bool qtmCheckInitialized(void)
    Checks whether QTM is initialized.
    +
    Result qtmInit(void)
    Initializes QTM.
    +
    Result qtmConvertCoordToScreen(QTM_HeadTrackingInfoCoord *coord, float *screen_width, float *screen_height, u32 *x, u32 *y)
    Converts QTM coordinates to screen coordinates.
    +
    Result QTM_GetHeadTrackingInfo(u64 val, QTM_HeadTrackingInfo *out)
    Gets the current head tracking info.
    +
    bool qtmCheckHeadFullyDetected(QTM_HeadTrackingInfo *info)
    Checks whether a head is fully detected.
    +
    float x
    X coordinate.
    Definition: qtm.h:11
    +
    float y
    Y coordinate.
    Definition: qtm.h:12
    +
    Head tracking info.
    Definition: qtm.h:16
    +
    float floatdata_x08
    Unknown. Not used by System_Settings.
    Definition: qtm.h:19
    +
    u8 flags[5]
    Flags.
    Definition: qtm.h:17
    +
    QTM_HeadTrackingInfoCoord coords0[4]
    Head coordinates.
    Definition: qtm.h:20
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/qtm_8h.html b/qtm_8h.html new file mode 100644 index 000000000..51939693e --- /dev/null +++ b/qtm_8h.html @@ -0,0 +1,273 @@ + + + + + + + +libctru: include/3ds/services/qtm.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    qtm.h File Reference
    +
    +
    + +

    QTM service. +More...

    + +

    Go to the source code of this file.

    + + + + + + + + +

    +Data Structures

    struct  QTM_HeadTrackingInfoCoord
     Head tracking coordinate pair. More...
     
    struct  QTM_HeadTrackingInfo
     Head tracking info. More...
     
    + + + + + + + + + + + + + + + + + + + +

    +Functions

    +Result qtmInit (void)
     Initializes QTM.
     
    +void qtmExit (void)
     Exits QTM.
     
    bool qtmCheckInitialized (void)
     Checks whether QTM is initialized. More...
     
    bool qtmCheckHeadFullyDetected (QTM_HeadTrackingInfo *info)
     Checks whether a head is fully detected. More...
     
    Result qtmConvertCoordToScreen (QTM_HeadTrackingInfoCoord *coord, float *screen_width, float *screen_height, u32 *x, u32 *y)
     Converts QTM coordinates to screen coordinates. More...
     
    Result QTM_GetHeadTrackingInfo (u64 val, QTM_HeadTrackingInfo *out)
     Gets the current head tracking info. More...
     
    +

    Detailed Description

    +

    QTM service.

    +

    Function Documentation

    + +

    ◆ QTM_GetHeadTrackingInfo()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result QTM_GetHeadTrackingInfo (u64 val,
    QTM_HeadTrackingInfoout 
    )
    +
    + +

    Gets the current head tracking info.

    +
    Parameters
    + + + +
    valNormally 0.
    outPointer to write head tracking info to.
    +
    +
    +
    Examples
    qtm/source/main.c.
    +
    + +
    +
    + +

    ◆ qtmCheckHeadFullyDetected()

    + +
    +
    + + + + + + + + +
    bool qtmCheckHeadFullyDetected (QTM_HeadTrackingInfoinfo)
    +
    + +

    Checks whether a head is fully detected.

    +
    Parameters
    + + +
    infoTracking info to check.
    +
    +
    +
    Examples
    qtm/source/main.c.
    +
    + +
    +
    + +

    ◆ qtmCheckInitialized()

    + +
    +
    + + + + + + + + +
    bool qtmCheckInitialized (void )
    +
    + +

    Checks whether QTM is initialized.

    +
    Returns
    Whether QTM is initialized.
    +
    Examples
    qtm/source/main.c.
    +
    + +
    +
    + +

    ◆ qtmConvertCoordToScreen()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result qtmConvertCoordToScreen (QTM_HeadTrackingInfoCoordcoord,
    float * screen_width,
    float * screen_height,
    u32x,
    u32y 
    )
    +
    + +

    Converts QTM coordinates to screen coordinates.

    +
    Parameters
    + + + + + + +
    coordCoordinates to convert.
    screen_widthWidth of the screen. Can be NULL to use the default value for the top screen.
    screen_heightHeight of the screen. Can be NULL to use the default value for the top screen.
    xPointer to output the screen X coordinate to.
    yPointer to output the screen Y coordinate to.
    +
    +
    +
    Examples
    qtm/source/main.c.
    +
    + +
    +
    +
    + + + + diff --git a/qtm_8h_source.html b/qtm_8h_source.html new file mode 100644 index 000000000..af73ca26f --- /dev/null +++ b/qtm_8h_source.html @@ -0,0 +1,151 @@ + + + + + + + +libctru: include/3ds/services/qtm.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    qtm.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file qtm.h
    +
    3  * @brief QTM service.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 //See also: http://3dbrew.org/wiki/QTM_Services
    +
    8 
    +
    9 /// Head tracking coordinate pair.
    +
    10 typedef struct {
    +
    11  float x; ///< X coordinate.
    +
    12  float y; ///< Y coordinate.
    + +
    14 
    +
    15 /// Head tracking info.
    +
    16 typedef struct {
    +
    17  u8 flags[5]; ///< Flags.
    +
    18  u8 padding[3]; ///< Padding.
    +
    19  float floatdata_x08; ///< Unknown. Not used by System_Settings.
    +
    20  QTM_HeadTrackingInfoCoord coords0[4]; ///< Head coordinates.
    +
    21  u32 unk_x2c[5]; ///< Unknown. Not used by System_Settings.
    + +
    23 
    +
    24 /// Initializes QTM.
    + +
    26 
    +
    27 /// Exits QTM.
    +
    28 void qtmExit(void);
    +
    29 
    +
    30 /**
    +
    31  * @brief Checks whether QTM is initialized.
    +
    32  * @return Whether QTM is initialized.
    +
    33  */
    + +
    35 
    +
    36 /**
    +
    37  * @brief Checks whether a head is fully detected.
    +
    38  * @param info Tracking info to check.
    +
    39  */
    + +
    41 
    +
    42 /**
    +
    43  * @brief Converts QTM coordinates to screen coordinates.
    +
    44  * @param coord Coordinates to convert.
    +
    45  * @param screen_width Width of the screen. Can be NULL to use the default value for the top screen.
    +
    46  * @param screen_height Height of the screen. Can be NULL to use the default value for the top screen.
    +
    47  * @param x Pointer to output the screen X coordinate to.
    +
    48  * @param y Pointer to output the screen Y coordinate to.
    +
    49  */
    +
    50 Result qtmConvertCoordToScreen(QTM_HeadTrackingInfoCoord *coord, float *screen_width, float *screen_height, u32 *x, u32 *y);
    +
    51 
    +
    52 /**
    +
    53  * @brief Gets the current head tracking info.
    +
    54  * @param val Normally 0.
    +
    55  * @param out Pointer to write head tracking info to.
    +
    56  */
    + +
    void qtmExit(void)
    Exits QTM.
    +
    bool qtmCheckInitialized(void)
    Checks whether QTM is initialized.
    +
    Result qtmInit(void)
    Initializes QTM.
    +
    Result qtmConvertCoordToScreen(QTM_HeadTrackingInfoCoord *coord, float *screen_width, float *screen_height, u32 *x, u32 *y)
    Converts QTM coordinates to screen coordinates.
    +
    Result QTM_GetHeadTrackingInfo(u64 val, QTM_HeadTrackingInfo *out)
    Gets the current head tracking info.
    +
    bool qtmCheckHeadFullyDetected(QTM_HeadTrackingInfo *info)
    Checks whether a head is fully detected.
    +
    Head tracking coordinate pair.
    Definition: qtm.h:10
    +
    float x
    X coordinate.
    Definition: qtm.h:11
    +
    float y
    Y coordinate.
    Definition: qtm.h:12
    +
    Head tracking info.
    Definition: qtm.h:16
    +
    float floatdata_x08
    Unknown. Not used by System_Settings.
    Definition: qtm.h:19
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/rbtree_8h.html b/rbtree_8h.html new file mode 100644 index 000000000..81287524c --- /dev/null +++ b/rbtree_8h.html @@ -0,0 +1,553 @@ + + + + + + + +libctru: include/3ds/util/rbtree.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    rbtree.h File Reference
    +
    +
    + +

    Red-black trees. +More...

    +
    #include <stdint.h>
    +#include <stddef.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + +

    +Data Structures

    struct  rbtree_node_t
     An rbtree node. More...
     
    struct  rbtree_t
     An rbtree. More...
     
    + + + + +

    +Macros

    +#define rbtree_item(ptr, type, member)    ((type*)(((char*)ptr) - offsetof(type, member)))
     Retrieves an rbtree item.
     
    + + + + + + + +

    +Typedefs

    +typedef void(* rbtree_node_destructor_t) (rbtree_node_t *Node)
     rbtree node destructor.
     
    +typedef int(* rbtree_node_comparator_t) (const rbtree_node_t *lhs, const rbtree_node_t *rhs)
     rbtree node comparator.
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    void rbtree_init (rbtree_t *tree, rbtree_node_comparator_t comparator)
     Initializes an rbtree. More...
     
    int rbtree_empty (const rbtree_t *tree)
     Gets whether an rbtree is empty. More...
     
    size_t rbtree_size (const rbtree_t *tree)
     Gets the size of an rbtree. More...
     
     __attribute__ ((warn_unused_result)) rbtree_node_t *rbtree_insert(rbtree_t *tree
     Inserts a node into an rbtree. More...
     
    void rbtree_insert_multi (rbtree_t *tree, rbtree_node_t *node)
     Inserts multiple nodes into an rbtree. More...
     
    rbtree_node_t * rbtree_find (const rbtree_t *tree, const rbtree_node_t *node)
     Finds a node within an rbtree. More...
     
    rbtree_node_t * rbtree_min (const rbtree_t *tree)
     Gets the minimum node of an rbtree. More...
     
    rbtree_node_t * rbtree_max (const rbtree_t *tree)
     Gets the maximum node of an rbtree. More...
     
    rbtree_node_t * rbtree_node_next (const rbtree_node_t *node)
     Gets the next node from an rbtree node. More...
     
    rbtree_node_t * rbtree_node_prev (const rbtree_node_t *node)
     Gets the previous node from an rbtree node. More...
     
    rbtree_node_t * rbtree_remove (rbtree_t *tree, rbtree_node_t *node, rbtree_node_destructor_t destructor)
     Removes a node from an rbtree. More...
     
    void rbtree_clear (rbtree_t *tree, rbtree_node_destructor_t destructor)
     Clears an rbtree. More...
     
    + + + +

    +Variables

    +rbtree_node_t * node
     
    +

    Detailed Description

    +

    Red-black trees.

    +

    Function Documentation

    + +

    ◆ __attribute__()

    + +
    +
    + + + + + + + + +
    __attribute__ ((warn_unused_result) )
    +
    + +

    Inserts a node into an rbtree.

    +
    Parameters
    + + + +
    treePointer to the tree.
    nodePointer to the node.
    +
    +
    +
    Returns
    The inserted node.
    +
    Examples
    network/sockets/source/sockets.c.
    +
    + +
    +
    + +

    ◆ rbtree_clear()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void rbtree_clear (rbtree_t * tree,
    rbtree_node_destructor_t destructor 
    )
    +
    + +

    Clears an rbtree.

    +
    Parameters
    + + + +
    treePointer to the tree.
    destructorDestructor to use when clearing the tree's nodes.
    +
    +
    + +
    +
    + +

    ◆ rbtree_empty()

    + +
    +
    + + + + + + + + +
    int rbtree_empty (const rbtree_t * tree)
    +
    + +

    Gets whether an rbtree is empty.

    +
    Parameters
    + + +
    treePointer to the tree.
    +
    +
    +
    Returns
    A non-zero value if the tree is not empty.
    + +
    +
    + +

    ◆ rbtree_find()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    rbtree_node_t* rbtree_find (const rbtree_t * tree,
    const rbtree_node_t * node 
    )
    +
    + +

    Finds a node within an rbtree.

    +
    Parameters
    + + + +
    treePointer to the tree.
    nodePointer to the node.
    +
    +
    +
    Returns
    The located node.
    + +
    +
    + +

    ◆ rbtree_init()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void rbtree_init (rbtree_t * tree,
    rbtree_node_comparator_t comparator 
    )
    +
    + +

    Initializes an rbtree.

    +
    Parameters
    + + + +
    treePointer to the tree.
    comparatorComparator to use.
    +
    +
    + +
    +
    + +

    ◆ rbtree_insert_multi()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void rbtree_insert_multi (rbtree_t * tree,
    rbtree_node_t * node 
    )
    +
    + +

    Inserts multiple nodes into an rbtree.

    +
    Parameters
    + + + +
    treePointer to the tree.
    nodePointer to the nodes.
    +
    +
    + +
    +
    + +

    ◆ rbtree_max()

    + +
    +
    + + + + + + + + +
    rbtree_node_t* rbtree_max (const rbtree_t * tree)
    +
    + +

    Gets the maximum node of an rbtree.

    +
    Parameters
    + + +
    treePointer to the tree.
    +
    +
    +
    Returns
    The maximum node.
    + +
    +
    + +

    ◆ rbtree_min()

    + +
    +
    + + + + + + + + +
    rbtree_node_t* rbtree_min (const rbtree_t * tree)
    +
    + +

    Gets the minimum node of an rbtree.

    +
    Parameters
    + + +
    treePointer to the tree.
    +
    +
    +
    Returns
    The minimum node.
    + +
    +
    + +

    ◆ rbtree_node_next()

    + +
    +
    + + + + + + + + +
    rbtree_node_t* rbtree_node_next (const rbtree_node_t * node)
    +
    + +

    Gets the next node from an rbtree node.

    +
    Parameters
    + + +
    nodePointer to the node.
    +
    +
    +
    Returns
    The next node.
    + +
    +
    + +

    ◆ rbtree_node_prev()

    + +
    +
    + + + + + + + + +
    rbtree_node_t* rbtree_node_prev (const rbtree_node_t * node)
    +
    + +

    Gets the previous node from an rbtree node.

    +
    Parameters
    + + +
    nodePointer to the node.
    +
    +
    +
    Returns
    The previous node.
    + +
    +
    + +

    ◆ rbtree_remove()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    rbtree_node_t* rbtree_remove (rbtree_t * tree,
    rbtree_node_t * node,
    rbtree_node_destructor_t destructor 
    )
    +
    + +

    Removes a node from an rbtree.

    +
    Parameters
    + + + + +
    treePointer to the tree.
    nodePointer to the node.
    destructorDestructor to use when removing the node.
    +
    +
    +
    Returns
    The removed node.
    + +
    +
    + +

    ◆ rbtree_size()

    + +
    +
    + + + + + + + + +
    size_t rbtree_size (const rbtree_t * tree)
    +
    + +

    Gets the size of an rbtree.

    +
    Parameters
    + + +
    treePointer to the tree.
    +
    +
    + +
    +
    +
    + + + + diff --git a/rbtree_8h_source.html b/rbtree_8h_source.html new file mode 100644 index 000000000..80227b6c8 --- /dev/null +++ b/rbtree_8h_source.html @@ -0,0 +1,249 @@ + + + + + + + +libctru: include/3ds/util/rbtree.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    rbtree.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file rbtree.h
    +
    3  * @brief Red-black trees.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 #include <stdint.h>
    +
    8 #include <stddef.h>
    +
    9 
    +
    10 /// Retrieves an rbtree item.
    +
    11 #define rbtree_item(ptr, type, member) \
    +
    12  ((type*)(((char*)ptr) - offsetof(type, member)))
    +
    13 
    +
    14 typedef struct rbtree rbtree_t; ///< rbtree type.
    +
    15 typedef struct rbtree_node rbtree_node_t; ///< rbtree node type.
    +
    16 
    +
    17 typedef void (*rbtree_node_destructor_t)(rbtree_node_t *Node); ///< rbtree node destructor.
    +
    18 typedef int (*rbtree_node_comparator_t)(const rbtree_node_t *lhs,
    +
    19  const rbtree_node_t *rhs); ///< rbtree node comparator.
    +
    20 
    +
    21 /// An rbtree node.
    + +
    23 {
    +
    24  uintptr_t parent_color; ///< Parent color.
    +
    25  rbtree_node_t *child[2]; ///< Node children.
    +
    26 };
    +
    27 
    +
    28 /// An rbtree.
    +
    29 struct rbtree
    +
    30 {
    +
    31  rbtree_node_t *root; ///< Root node.
    +
    32  rbtree_node_comparator_t comparator; ///< Node comparator.
    +
    33  size_t size; ///< Size.
    +
    34 };
    +
    35 
    +
    36 #ifdef __cplusplus
    +
    37 extern "C" {
    +
    38 #endif
    +
    39 
    +
    40 /**
    +
    41  * @brief Initializes an rbtree.
    +
    42  * @param tree Pointer to the tree.
    +
    43  * @param comparator Comparator to use.
    +
    44  */
    +
    45 void
    +
    46 rbtree_init(rbtree_t *tree,
    +
    47  rbtree_node_comparator_t comparator);
    +
    48 
    +
    49 /**
    +
    50  * @brief Gets whether an rbtree is empty
    +
    51  * @param tree Pointer to the tree.
    +
    52  * @return A non-zero value if the tree is not empty.
    +
    53  */
    +
    54 int
    +
    55 rbtree_empty(const rbtree_t *tree);
    +
    56 
    +
    57 /**
    +
    58  * @brief Gets the size of an rbtree.
    +
    59  * @param tree Pointer to the tree.
    +
    60  */
    +
    61 size_t
    +
    62 rbtree_size(const rbtree_t *tree);
    +
    63 
    +
    64 /**
    +
    65  * @brief Inserts a node into an rbtree.
    +
    66  * @param tree Pointer to the tree.
    +
    67  * @param node Pointer to the node.
    +
    68  * @return The inserted node.
    +
    69  */
    +
    70 __attribute__((warn_unused_result))
    +
    71 rbtree_node_t*
    +
    72 rbtree_insert(rbtree_t *tree,
    +
    73  rbtree_node_t *node);
    +
    74 
    +
    75 /**
    +
    76  * @brief Inserts multiple nodes into an rbtree.
    +
    77  * @param tree Pointer to the tree.
    +
    78  * @param node Pointer to the nodes.
    +
    79  */
    +
    80 void
    +
    81 rbtree_insert_multi(rbtree_t *tree,
    +
    82  rbtree_node_t *node);
    +
    83 
    +
    84 /**
    +
    85  * @brief Finds a node within an rbtree.
    +
    86  * @param tree Pointer to the tree.
    +
    87  * @param node Pointer to the node.
    +
    88  * @return The located node.
    +
    89  */
    +
    90 rbtree_node_t*
    +
    91 rbtree_find(const rbtree_t *tree,
    +
    92  const rbtree_node_t *node);
    +
    93 
    +
    94 /**
    +
    95  * @brief Gets the minimum node of an rbtree.
    +
    96  * @param tree Pointer to the tree.
    +
    97  * @return The minimum node.
    +
    98  */
    +
    99 rbtree_node_t*
    +
    100 rbtree_min(const rbtree_t *tree);
    +
    101 
    +
    102 /**
    +
    103  * @brief Gets the maximum node of an rbtree.
    +
    104  * @param tree Pointer to the tree.
    +
    105  * @return The maximum node.
    +
    106  */
    +
    107 rbtree_node_t*
    +
    108 rbtree_max(const rbtree_t *tree);
    +
    109 
    +
    110 /**
    +
    111  * @brief Gets the next node from an rbtree node.
    +
    112  * @param node Pointer to the node.
    +
    113  * @return The next node.
    +
    114  */
    +
    115 rbtree_node_t*
    +
    116 rbtree_node_next(const rbtree_node_t *node);
    +
    117 
    +
    118 /**
    +
    119  * @brief Gets the previous node from an rbtree node.
    +
    120  * @param node Pointer to the node.
    +
    121  * @return The previous node.
    +
    122  */
    +
    123 rbtree_node_t*
    +
    124 rbtree_node_prev(const rbtree_node_t *node);
    +
    125 
    +
    126 /**
    +
    127  * @brief Removes a node from an rbtree.
    +
    128  * @param tree Pointer to the tree.
    +
    129  * @param node Pointer to the node.
    +
    130  * @param destructor Destructor to use when removing the node.
    +
    131  * @return The removed node.
    +
    132  */
    +
    133 rbtree_node_t*
    +
    134 rbtree_remove(rbtree_t *tree,
    +
    135  rbtree_node_t *node,
    +
    136  rbtree_node_destructor_t destructor);
    +
    137 
    +
    138 /**
    +
    139  * @brief Clears an rbtree.
    +
    140  * @param tree Pointer to the tree.
    +
    141  * @param destructor Destructor to use when clearing the tree's nodes.
    +
    142  */
    +
    143 void
    +
    144 rbtree_clear(rbtree_t *tree,
    +
    145  rbtree_node_destructor_t destructor);
    +
    146 
    +
    147 #ifdef __cplusplus
    +
    148 }
    +
    149 #endif
    +
    void(* rbtree_node_destructor_t)(rbtree_node_t *Node)
    rbtree node destructor.
    Definition: rbtree.h:17
    +
    void rbtree_init(rbtree_t *tree, rbtree_node_comparator_t comparator)
    Initializes an rbtree.
    +
    rbtree_node_t * rbtree_node_prev(const rbtree_node_t *node)
    Gets the previous node from an rbtree node.
    +
    void rbtree_insert_multi(rbtree_t *tree, rbtree_node_t *node)
    Inserts multiple nodes into an rbtree.
    +
    size_t rbtree_size(const rbtree_t *tree)
    Gets the size of an rbtree.
    +
    __attribute__((warn_unused_result)) rbtree_node_t *rbtree_insert(rbtree_t *tree
    Inserts a node into an rbtree.
    +
    rbtree_node_t * rbtree_min(const rbtree_t *tree)
    Gets the minimum node of an rbtree.
    +
    rbtree_node_t * rbtree_max(const rbtree_t *tree)
    Gets the maximum node of an rbtree.
    +
    rbtree_node_t * rbtree_find(const rbtree_t *tree, const rbtree_node_t *node)
    Finds a node within an rbtree.
    +
    rbtree_node_t * rbtree_remove(rbtree_t *tree, rbtree_node_t *node, rbtree_node_destructor_t destructor)
    Removes a node from an rbtree.
    +
    void rbtree_clear(rbtree_t *tree, rbtree_node_destructor_t destructor)
    Clears an rbtree.
    +
    int rbtree_empty(const rbtree_t *tree)
    Gets whether an rbtree is empty.
    +
    int(* rbtree_node_comparator_t)(const rbtree_node_t *lhs, const rbtree_node_t *rhs)
    rbtree node comparator.
    Definition: rbtree.h:18
    +
    rbtree_node_t * rbtree_node_next(const rbtree_node_t *node)
    Gets the next node from an rbtree node.
    +
    An rbtree node.
    Definition: rbtree.h:23
    +
    uintptr_t parent_color
    Parent color.
    Definition: rbtree.h:24
    +
    rbtree_node_t * child[2]
    Node children.
    Definition: rbtree.h:25
    +
    An rbtree.
    Definition: rbtree.h:30
    +
    size_t size
    Size.
    Definition: rbtree.h:33
    +
    rbtree_node_comparator_t comparator
    Node comparator.
    Definition: rbtree.h:32
    +
    rbtree_node_t * root
    Root node.
    Definition: rbtree.h:31
    +
    + + + + diff --git a/registers_8h.html b/registers_8h.html new file mode 100644 index 000000000..8e64c478e --- /dev/null +++ b/registers_8h.html @@ -0,0 +1,3003 @@ + + + + + + + +libctru: include/3ds/gpu/registers.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    registers.h File Reference
    +
    +
    + +

    @description GPU registers. +More...

    + +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    Miscellaneous registers (0x000-0x03F)
    +#define GPUREG_0000   0x0000
     Unknown.
     
    +#define GPUREG_0001   0x0001
     Unknown.
     
    +#define GPUREG_0002   0x0002
     Unknown.
     
    +#define GPUREG_0003   0x0003
     Unknown.
     
    +#define GPUREG_0004   0x0004
     Unknown.
     
    +#define GPUREG_0005   0x0005
     Unknown.
     
    +#define GPUREG_0006   0x0006
     Unknown.
     
    +#define GPUREG_0007   0x0007
     Unknown.
     
    +#define GPUREG_0008   0x0008
     Unknown.
     
    +#define GPUREG_0009   0x0009
     Unknown.
     
    +#define GPUREG_000A   0x000A
     Unknown.
     
    +#define GPUREG_000B   0x000B
     Unknown.
     
    +#define GPUREG_000C   0x000C
     Unknown.
     
    +#define GPUREG_000D   0x000D
     Unknown.
     
    +#define GPUREG_000E   0x000E
     Unknown.
     
    +#define GPUREG_000F   0x000F
     Unknown.
     
    +#define GPUREG_FINALIZE   0x0010
     Used to finalize GPU drawing.
     
    +#define GPUREG_0011   0x0011
     Unknown.
     
    +#define GPUREG_0012   0x0012
     Unknown.
     
    +#define GPUREG_0013   0x0013
     Unknown.
     
    +#define GPUREG_0014   0x0014
     Unknown.
     
    +#define GPUREG_0015   0x0015
     Unknown.
     
    +#define GPUREG_0016   0x0016
     Unknown.
     
    +#define GPUREG_0017   0x0017
     Unknown.
     
    +#define GPUREG_0018   0x0018
     Unknown.
     
    +#define GPUREG_0019   0x0019
     Unknown.
     
    +#define GPUREG_001A   0x001A
     Unknown.
     
    +#define GPUREG_001B   0x001B
     Unknown.
     
    +#define GPUREG_001C   0x001C
     Unknown.
     
    +#define GPUREG_001D   0x001D
     Unknown.
     
    +#define GPUREG_001E   0x001E
     Unknown.
     
    +#define GPUREG_001F   0x001F
     Unknown.
     
    +#define GPUREG_0020   0x0020
     Unknown.
     
    +#define GPUREG_0021   0x0021
     Unknown.
     
    +#define GPUREG_0022   0x0022
     Unknown.
     
    +#define GPUREG_0023   0x0023
     Unknown.
     
    +#define GPUREG_0024   0x0024
     Unknown.
     
    +#define GPUREG_0025   0x0025
     Unknown.
     
    +#define GPUREG_0026   0x0026
     Unknown.
     
    +#define GPUREG_0027   0x0027
     Unknown.
     
    +#define GPUREG_0028   0x0028
     Unknown.
     
    +#define GPUREG_0029   0x0029
     Unknown.
     
    +#define GPUREG_002A   0x002A
     Unknown.
     
    +#define GPUREG_002B   0x002B
     Unknown.
     
    +#define GPUREG_002C   0x002C
     Unknown.
     
    +#define GPUREG_002D   0x002D
     Unknown.
     
    +#define GPUREG_002E   0x002E
     Unknown.
     
    +#define GPUREG_002F   0x002F
     Unknown.
     
    +#define GPUREG_0030   0x0030
     Unknown.
     
    +#define GPUREG_0031   0x0031
     Unknown.
     
    +#define GPUREG_0032   0x0032
     Unknown.
     
    +#define GPUREG_0033   0x0033
     Unknown.
     
    +#define GPUREG_0034   0x0034
     Unknown.
     
    +#define GPUREG_0035   0x0035
     Unknown.
     
    +#define GPUREG_0036   0x0036
     Unknown.
     
    +#define GPUREG_0037   0x0037
     Unknown.
     
    +#define GPUREG_0038   0x0038
     Unknown.
     
    +#define GPUREG_0039   0x0039
     Unknown.
     
    +#define GPUREG_003A   0x003A
     Unknown.
     
    +#define GPUREG_003B   0x003B
     Unknown.
     
    +#define GPUREG_003C   0x003C
     Unknown.
     
    +#define GPUREG_003D   0x003D
     Unknown.
     
    +#define GPUREG_003E   0x003E
     Unknown.
     
    +#define GPUREG_003F   0x003F
     Unknown.
     
    Rasterizer registers (0x040-0x07F)
    +#define GPUREG_FACECULLING_CONFIG   0x0040
     Face culling configuration.
     
    +#define GPUREG_VIEWPORT_WIDTH   0x0041
     Viewport width.
     
    +#define GPUREG_VIEWPORT_INVW   0x0042
     Inverted viewport width.
     
    +#define GPUREG_VIEWPORT_HEIGHT   0x0043
     Viewport height.
     
    +#define GPUREG_VIEWPORT_INVH   0x0044
     Inverted viewport height.
     
    +#define GPUREG_0045   0x0045
     Unknown.
     
    +#define GPUREG_0046   0x0046
     Unknown.
     
    +#define GPUREG_FRAGOP_CLIP   0x0047
     Unknown.
     
    +#define GPUREG_FRAGOP_CLIP_DATA0   0x0048
     Unknown.
     
    +#define GPUREG_FRAGOP_CLIP_DATA1   0x0049
     Unknown.
     
    +#define GPUREG_FRAGOP_CLIP_DATA2   0x004A
     Unknown.
     
    +#define GPUREG_FRAGOP_CLIP_DATA3   0x004B
     Unknown.
     
    +#define GPUREG_004C   0x004C
     Unknown.
     
    +#define GPUREG_DEPTHMAP_SCALE   0x004D
     Depth map scale.
     
    +#define GPUREG_DEPTHMAP_OFFSET   0x004E
     Depth map offset.
     
    +#define GPUREG_SH_OUTMAP_TOTAL   0x004F
     Shader output map total.
     
    +#define GPUREG_SH_OUTMAP_O0   0x0050
     Shader output map 0.
     
    +#define GPUREG_SH_OUTMAP_O1   0x0051
     Shader output map 1.
     
    +#define GPUREG_SH_OUTMAP_O2   0x0052
     Shader output map 2.
     
    +#define GPUREG_SH_OUTMAP_O3   0x0053
     Shader output map 3.
     
    +#define GPUREG_SH_OUTMAP_O4   0x0054
     Shader output map 4.
     
    +#define GPUREG_SH_OUTMAP_O5   0x0055
     Shader output map 5.
     
    +#define GPUREG_SH_OUTMAP_O6   0x0056
     Shader output map 6.
     
    +#define GPUREG_0057   0x0057
     Unknown.
     
    +#define GPUREG_0058   0x0058
     Unknown.
     
    +#define GPUREG_0059   0x0059
     Unknown.
     
    +#define GPUREG_005A   0x005A
     Unknown.
     
    +#define GPUREG_005B   0x005B
     Unknown.
     
    +#define GPUREG_005C   0x005C
     Unknown.
     
    +#define GPUREG_005D   0x005D
     Unknown.
     
    +#define GPUREG_005E   0x005E
     Unknown.
     
    +#define GPUREG_005F   0x005F
     Unknown.
     
    +#define GPUREG_0060   0x0060
     Unknown.
     
    +#define GPUREG_EARLYDEPTH_FUNC   0x0061
     Unknown.
     
    +#define GPUREG_EARLYDEPTH_TEST1   0x0062
     Unknown.
     
    +#define GPUREG_EARLYDEPTH_CLEAR   0x0063
     Unknown.
     
    +#define GPUREG_SH_OUTATTR_MODE   0x0064
     Shader output attributes mode.
     
    +#define GPUREG_SCISSORTEST_MODE   0x0065
     Scissor test mode.
     
    +#define GPUREG_SCISSORTEST_POS   0x0066
     Scissor test position.
     
    +#define GPUREG_SCISSORTEST_DIM   0x0067
     Scissor text dimensions.
     
    +#define GPUREG_VIEWPORT_XY   0x0068
     Viewport X and Y.
     
    +#define GPUREG_0069   0x0069
     Unknown.
     
    +#define GPUREG_EARLYDEPTH_DATA   0x006A
     Unknown.
     
    +#define GPUREG_006B   0x006B
     Unknown.
     
    +#define GPUREG_006C   0x006C
     Unknown.
     
    +#define GPUREG_DEPTHMAP_ENABLE   0x006D
     Depth map enable.
     
    +#define GPUREG_RENDERBUF_DIM   0x006E
     Renderbuffer dimensions.
     
    +#define GPUREG_SH_OUTATTR_CLOCK   0x006F
     Shader output attributes clock enable.
     
    +#define GPUREG_0070   0x0070
     Unknown.
     
    +#define GPUREG_0071   0x0071
     Unknown.
     
    +#define GPUREG_0072   0x0072
     Unknown.
     
    +#define GPUREG_0073   0x0073
     Unknown.
     
    +#define GPUREG_0074   0x0074
     Unknown.
     
    +#define GPUREG_0075   0x0075
     Unknown.
     
    +#define GPUREG_0076   0x0076
     Unknown.
     
    +#define GPUREG_0077   0x0077
     Unknown.
     
    +#define GPUREG_0078   0x0078
     Unknown.
     
    +#define GPUREG_0079   0x0079
     Unknown.
     
    +#define GPUREG_007A   0x007A
     Unknown.
     
    +#define GPUREG_007B   0x007B
     Unknown.
     
    +#define GPUREG_007C   0x007C
     Unknown.
     
    +#define GPUREG_007D   0x007D
     Unknown.
     
    +#define GPUREG_007E   0x007E
     Unknown.
     
    +#define GPUREG_007F   0x007F
     Unknown.
     
    Texturing registers (0x080-0x0FF)
    +#define GPUREG_TEXUNIT_CONFIG   0x0080
     Texture unit configuration.
     
    +#define GPUREG_TEXUNIT0_BORDER_COLOR   0x0081
     Texture unit 0 border color.
     
    +#define GPUREG_TEXUNIT0_DIM   0x0082
     Texture unit 0 dimensions.
     
    +#define GPUREG_TEXUNIT0_PARAM   0x0083
     Texture unit 0 parameters.
     
    +#define GPUREG_TEXUNIT0_LOD   0x0084
     Texture unit 0 LOD.
     
    +#define GPUREG_TEXUNIT0_ADDR1   0x0085
     Texture unit 0 address.
     
    +#define GPUREG_TEXUNIT0_ADDR2   0x0086
     Unknown.
     
    +#define GPUREG_TEXUNIT0_ADDR3   0x0087
     Unknown.
     
    +#define GPUREG_TEXUNIT0_ADDR4   0x0088
     Unknown.
     
    +#define GPUREG_TEXUNIT0_ADDR5   0x0089
     Unknown.
     
    +#define GPUREG_TEXUNIT0_ADDR6   0x008A
     Unknown.
     
    +#define GPUREG_TEXUNIT0_SHADOW   0x008B
     Unknown.
     
    +#define GPUREG_008C   0x008C
     Unknown.
     
    +#define GPUREG_008D   0x008D
     Unknown.
     
    +#define GPUREG_TEXUNIT0_TYPE   0x008E
     Texture unit 0 type.
     
    +#define GPUREG_LIGHTING_ENABLE0   0x008F
     Lighting toggle.
     
    +#define GPUREG_0090   0x0090
     Unknown.
     
    +#define GPUREG_TEXUNIT1_BORDER_COLOR   0x0091
     Texture unit 1 border color.
     
    +#define GPUREG_TEXUNIT1_DIM   0x0092
     Texture unit 1 dimensions.
     
    +#define GPUREG_TEXUNIT1_PARAM   0x0093
     Texture unit 1 parameters.
     
    +#define GPUREG_TEXUNIT1_LOD   0x0094
     Texture unit 1 LOD.
     
    +#define GPUREG_TEXUNIT1_ADDR   0x0095
     Texture unit 1 address.
     
    +#define GPUREG_TEXUNIT1_TYPE   0x0096
     Texture unit 1 type.
     
    +#define GPUREG_0097   0x0097
     Unknown.
     
    +#define GPUREG_0098   0x0098
     Unknown.
     
    +#define GPUREG_TEXUNIT2_BORDER_COLOR   0x0099
     Texture unit 2 border color.
     
    +#define GPUREG_TEXUNIT2_DIM   0x009A
     Texture unit 2 dimensions.
     
    +#define GPUREG_TEXUNIT2_PARAM   0x009B
     Texture unit 2 parameters.
     
    +#define GPUREG_TEXUNIT2_LOD   0x009C
     Texture unit 2 LOD.
     
    +#define GPUREG_TEXUNIT2_ADDR   0x009D
     Texture unit 2 address.
     
    +#define GPUREG_TEXUNIT2_TYPE   0x009E
     Texture unit 2 type.
     
    +#define GPUREG_009F   0x009F
     Unknown.
     
    +#define GPUREG_00A0   0x00A0
     Unknown.
     
    +#define GPUREG_00A1   0x00A1
     Unknown.
     
    +#define GPUREG_00A2   0x00A2
     Unknown.
     
    +#define GPUREG_00A3   0x00A3
     Unknown.
     
    +#define GPUREG_00A4   0x00A4
     Unknown.
     
    +#define GPUREG_00A5   0x00A5
     Unknown.
     
    +#define GPUREG_00A6   0x00A6
     Unknown.
     
    +#define GPUREG_00A7   0x00A7
     Unknown.
     
    +#define GPUREG_TEXUNIT3_PROCTEX0   0x00A8
     Unknown.
     
    +#define GPUREG_TEXUNIT3_PROCTEX1   0x00A9
     Unknown.
     
    +#define GPUREG_TEXUNIT3_PROCTEX2   0x00AA
     Unknown.
     
    +#define GPUREG_TEXUNIT3_PROCTEX3   0x00AB
     Unknown.
     
    +#define GPUREG_TEXUNIT3_PROCTEX4   0x00A
     Unknown.
     
    +#define GPUREG_TEXUNIT3_PROCTEX5   0x00D
     Unknown.
     
    +#define GPUREG_00AE   0x00AE
     Unknown.
     
    +#define GPUREG_PROCTEX_LUT   0x00AF
     Unknown.
     
    +#define GPUREG_PROCTEX_LUT_DATA0   0x00B0
     Unknown.
     
    +#define GPUREG_PROCTEX_LUT_DATA1   0x00B1
     Unknown.
     
    +#define GPUREG_PROCTEX_LUT_DATA2   0x00B2
     Unknown.
     
    +#define GPUREG_PROCTEX_LUT_DATA3   0x00B3
     Unknown.
     
    +#define GPUREG_PROCTEX_LUT_DATA4   0x00B4
     Unknown.
     
    +#define GPUREG_PROCTEX_LUT_DATA5   0x00B5
     Unknown.
     
    +#define GPUREG_PROCTEX_LUT_DATA6   0x00B6
     Unknown.
     
    +#define GPUREG_PROCTEX_LUT_DATA7   0x00B7
     Unknown.
     
    +#define GPUREG_00B8   0x00B8
     Unknown.
     
    +#define GPUREG_00B9   0x00B9
     Unknown.
     
    +#define GPUREG_00BA   0x00BA
     Unknown.
     
    +#define GPUREG_00BB   0x00BB
     Unknown.
     
    +#define GPUREG_00BC   0x00BC
     Unknown.
     
    +#define GPUREG_00BD   0x00BD
     Unknown.
     
    +#define GPUREG_00BE   0x00BE
     Unknown.
     
    +#define GPUREG_00BF   0x00BF
     Unknown.
     
    +#define GPUREG_TEXENV0_SOURCE   0x00C0
     Texture env 0 source.
     
    +#define GPUREG_TEXENV0_OPERAND   0x00C1
     Texture env 0 operand.
     
    +#define GPUREG_TEXENV0_COMBINER   0x00C2
     Texture env 0 combiner.
     
    +#define GPUREG_TEXENV0_COLOR   0x00C3
     Texture env 0 color.
     
    +#define GPUREG_TEXENV0_SCALE   0x00C4
     Texture env 0 scale.
     
    +#define GPUREG_00C5   0x00C5
     Unknown.
     
    +#define GPUREG_00C6   0x00C6
     Unknown.
     
    +#define GPUREG_00C7   0x00C7
     Unknown.
     
    +#define GPUREG_TEXENV1_SOURCE   0x00C8
     Texture env 1 source.
     
    +#define GPUREG_TEXENV1_OPERAND   0x00C9
     Texture env 1 operand.
     
    +#define GPUREG_TEXENV1_COMBINER   0x00CA
     Texture env 1 combiner.
     
    +#define GPUREG_TEXENV1_COLOR   0x00CB
     Texture env 1 color.
     
    +#define GPUREG_TEXENV1_SCALE   0x00CC
     Texture env 1 scale.
     
    +#define GPUREG_00CD   0x00CD
     Unknown.
     
    +#define GPUREG_00CE   0x00CE
     Unknown.
     
    +#define GPUREG_00CF   0x00CF
     Unknown.
     
    +#define GPUREG_TEXENV2_SOURCE   0x00D0
     Texture env 2 source.
     
    +#define GPUREG_TEXENV2_OPERAND   0x00D1
     Texture env 2 operand.
     
    +#define GPUREG_TEXENV2_COMBINER   0x00D2
     Texture env 2 combiner.
     
    +#define GPUREG_TEXENV2_COLOR   0x00D3
     Texture env 2 color.
     
    +#define GPUREG_TEXENV2_SCALE   0x00D4
     Texture env 2 scale.
     
    +#define GPUREG_00D5   0x00D5
     Unknown.
     
    +#define GPUREG_00D6   0x00D6
     Unknown.
     
    +#define GPUREG_00D7   0x00D7
     Unknown.
     
    +#define GPUREG_TEXENV3_SOURCE   0x00D8
     Texture env 3 source.
     
    +#define GPUREG_TEXENV3_OPERAND   0x00D9
     Texture env 3 operand.
     
    +#define GPUREG_TEXENV3_COMBINER   0x00DA
     Texture env 3 combiner.
     
    +#define GPUREG_TEXENV3_COLOR   0x00DB
     Texture env 3 color.
     
    +#define GPUREG_TEXENV3_SCALE   0x00DC
     Texture env 3 scale.
     
    +#define GPUREG_00DD   0x00DD
     Unknown.
     
    +#define GPUREG_00DE   0x00DE
     Unknown.
     
    +#define GPUREG_00DF   0x00DF
     Unknown.
     
    +#define GPUREG_TEXENV_UPDATE_BUFFER   0x00E0
     Texture env buffer update flag.
     
    +#define GPUREG_FOG_COLOR   0x00E1
     Unknown.
     
    +#define GPUREG_00E2   0x00E2
     Unknown.
     
    +#define GPUREG_00E3   0x00E3
     Unknown.
     
    +#define GPUREG_GAS_ATTENUATION   0x00E4
     Unknown.
     
    +#define GPUREG_GAS_ACCMAX   0x00E5
     Unknown.
     
    +#define GPUREG_FOG_LUT_INDEX   0x00E6
     Unknown.
     
    +#define GPUREG_00E7   0x00E7
     Unknown.
     
    +#define GPUREG_FOG_LUT_DATA0   0x00E8
     Unknown.
     
    +#define GPUREG_FOG_LUT_DATA1   0x00E9
     Unknown.
     
    +#define GPUREG_FOG_LUT_DATA2   0x00EA
     Unknown.
     
    +#define GPUREG_FOG_LUT_DATA3   0x00EB
     Unknown.
     
    +#define GPUREG_FOG_LUT_DATA4   0x00EC
     Unknown.
     
    +#define GPUREG_FOG_LUT_DATA5   0x00ED
     Unknown.
     
    +#define GPUREG_FOG_LUT_DATA6   0x00EE
     Unknown.
     
    +#define GPUREG_FOG_LUT_DATA7   0x00EF
     Unknown.
     
    +#define GPUREG_TEXENV4_SOURCE   0x00F0
     Texture env 4 source.
     
    +#define GPUREG_TEXENV4_OPERAND   0x00F1
     Texture env 4 operand.
     
    +#define GPUREG_TEXENV4_COMBINER   0x00F2
     Texture env 4 combiner.
     
    +#define GPUREG_TEXENV4_COLOR   0x00F3
     Texture env 4 color.
     
    +#define GPUREG_TEXENV4_SCALE   0x00F4
     Texture env 4 scale.
     
    +#define GPUREG_00F5   0x00F5
     Unknown.
     
    +#define GPUREG_00F6   0x00F6
     Unknown.
     
    +#define GPUREG_00F7   0x00F7
     Unknown.
     
    +#define GPUREG_TEXENV5_SOURCE   0x00F8
     Texture env 5 source.
     
    +#define GPUREG_TEXENV5_OPERAND   0x00F9
     Texture env 5 operand.
     
    +#define GPUREG_TEXENV5_COMBINER   0x00FA
     Texture env 5 combiner.
     
    +#define GPUREG_TEXENV5_COLOR   0x00FB
     Texture env 5 color.
     
    +#define GPUREG_TEXENV5_SCALE   0x00FC
     Texture env 5 scale.
     
    +#define GPUREG_TEXENV_BUFFER_COLOR   0x00FD
     Texture env buffer color.
     
    +#define GPUREG_00FE   0x00FE
     Unknown.
     
    +#define GPUREG_00FF   0x00FF
     Unknown.
     
    Framebuffer registers (0x100-0x13F)
    +#define GPUREG_COLOR_OPERATION   0x0100
     Configures fragment operation and blend mode.
     
    +#define GPUREG_BLEND_FUNC   0x0101
     Blend function configuration.
     
    +#define GPUREG_LOGIC_OP   0x0102
     Logical operator configuration.
     
    +#define GPUREG_BLEND_COLOR   0x0103
     Blend color.
     
    +#define GPUREG_FRAGOP_ALPHA_TEST   0x0104
     Alpha test configuration.
     
    +#define GPUREG_STENCIL_TEST   0x0105
     Stencil test configuration.
     
    +#define GPUREG_STENCIL_OP   0x0106
     Stencil test operation.
     
    +#define GPUREG_DEPTH_COLOR_MASK   0x0107
     Depth test and color mask configuration.
     
    +#define GPUREG_0108   0x0108
     Unknown.
     
    +#define GPUREG_0109   0x0109
     Unknown.
     
    +#define GPUREG_010A   0x010A
     Unknown.
     
    +#define GPUREG_010B   0x010B
     Unknown.
     
    +#define GPUREG_010C   0x010C
     Unknown.
     
    +#define GPUREG_010D   0x010D
     Unknown.
     
    +#define GPUREG_010E   0x010E
     Unknown.
     
    +#define GPUREG_010F   0x010F
     Unknown.
     
    +#define GPUREG_FRAMEBUFFER_INVALIDATE   0x0110
     Invalidates the frame buffer.
     
    +#define GPUREG_FRAMEBUFFER_FLUSH   0x0111
     Flushes the frame buffer.
     
    +#define GPUREG_COLORBUFFER_READ   0x0112
     Reads from the color buffer.
     
    +#define GPUREG_COLORBUFFER_WRITE   0x0113
     Writes to the color buffer.
     
    +#define GPUREG_DEPTHBUFFER_READ   0x0114
     Reads from the depth buffer.
     
    +#define GPUREG_DEPTHBUFFER_WRITE   0x0115
     Writes to the depth buffer.
     
    +#define GPUREG_DEPTHBUFFER_FORMAT   0x0116
     Depth buffer format.
     
    +#define GPUREG_COLORBUFFER_FORMAT   0x0117
     Color buffer format.
     
    +#define GPUREG_EARLYDEPTH_TEST2   0x0118
     Unknown.
     
    +#define GPUREG_0119   0x0119
     Unknown.
     
    +#define GPUREG_011A   0x011A
     Unknown.
     
    +#define GPUREG_FRAMEBUFFER_BLOCK32   0x011B
     Frame buffer block 32.
     
    +#define GPUREG_DEPTHBUFFER_LOC   0x011C
     Depth buffer location.
     
    +#define GPUREG_COLORBUFFER_LOC   0x011D
     Color buffer location.
     
    +#define GPUREG_FRAMEBUFFER_DIM   0x011E
     Frame buffer dimensions.
     
    +#define GPUREG_011F   0x011F
     Unknown.
     
    +#define GPUREG_GAS_LIGHT_XY   0x0120
     Unknown.
     
    +#define GPUREG_GAS_LIGHT_Z   0x0121
     Unknown.
     
    +#define GPUREG_GAS_LIGHT_Z_COLOR   0x0122
     Unknown.
     
    +#define GPUREG_GAS_LUT_INDEX   0x0123
     Unknown.
     
    +#define GPUREG_GAS_LUT_DATA   0x0124
     Unknown.
     
    +#define GPUREG_GAS_ACCMAX_FEEDBACK   0x0125
     Unknown.
     
    +#define GPUREG_GAS_DELTAZ_DEPTH   0x0126
     Unknown.
     
    +#define GPUREG_0127   0x0127
     Unknown.
     
    +#define GPUREG_0128   0x0128
     Unknown.
     
    +#define GPUREG_0129   0x0129
     Unknown.
     
    +#define GPUREG_012A   0x012A
     Unknown.
     
    +#define GPUREG_012B   0x012B
     Unknown.
     
    +#define GPUREG_012C   0x012C
     Unknown.
     
    +#define GPUREG_012D   0x012D
     Unknown.
     
    +#define GPUREG_012E   0x012E
     Unknown.
     
    +#define GPUREG_012F   0x012F
     Unknown.
     
    +#define GPUREG_FRAGOP_SHADOW   0x0130
     Unknown.
     
    +#define GPUREG_0131   0x0131
     Unknown.
     
    +#define GPUREG_0132   0x0132
     Unknown.
     
    +#define GPUREG_0133   0x0133
     Unknown.
     
    +#define GPUREG_0134   0x0134
     Unknown.
     
    +#define GPUREG_0135   0x0135
     Unknown.
     
    +#define GPUREG_0136   0x0136
     Unknown.
     
    +#define GPUREG_0137   0x0137
     Unknown.
     
    +#define GPUREG_0138   0x0138
     Unknown.
     
    +#define GPUREG_0139   0x0139
     Unknown.
     
    +#define GPUREG_013A   0x013A
     Unknown.
     
    +#define GPUREG_013B   0x013B
     Unknown.
     
    +#define GPUREG_013C   0x013C
     Unknown.
     
    +#define GPUREG_013D   0x013D
     Unknown.
     
    +#define GPUREG_013E   0x013E
     Unknown.
     
    +#define GPUREG_013F   0x013F
     Unknown.
     
    Fragment lighting registers (0x140-0x1FF)
    +#define GPUREG_LIGHT0_SPECULAR0   0x0140
     Light 0 specular lighting.
     
    +#define GPUREG_LIGHT0_SPECULAR1   0x0141
     Light 0 specular lighting.
     
    +#define GPUREG_LIGHT0_DIFFUSE   0x0142
     Light 0 diffuse lighting.
     
    +#define GPUREG_LIGHT0_AMBIENT   0x0143
     Light 0 ambient lighting.
     
    +#define GPUREG_LIGHT0_XY   0x0144
     Light 0 X and Y.
     
    +#define GPUREG_LIGHT0_Z   0x0145
     Light 0 Z.
     
    +#define GPUREG_LIGHT0_SPOTDIR_XY   0x0146
     Light 0 spotlight direction X and Y.
     
    +#define GPUREG_LIGHT0_SPOTDIR_Z   0x0147
     Light 0 spotlight direction Z.
     
    +#define GPUREG_0148   0x0148
     Unknown.
     
    +#define GPUREG_LIGHT0_CONFIG   0x0149
     Light 0 configuration.
     
    +#define GPUREG_LIGHT0_ATTENUATION_BIAS   0x014A
     Light 0 attenuation bias.
     
    +#define GPUREG_LIGHT0_ATTENUATION_SCALE   0x014B
     Light 0 attenuation scale.
     
    +#define GPUREG_014C   0x014C
     Unknown.
     
    +#define GPUREG_014D   0x014D
     Unknown.
     
    +#define GPUREG_014E   0x014E
     Unknown.
     
    +#define GPUREG_014F   0x014F
     Unknown.
     
    +#define GPUREG_LIGHT1_SPECULAR0   0x0150
     Light 1 specular lighting.
     
    +#define GPUREG_LIGHT1_SPECULAR1   0x0151
     Light 1 specular lighting.
     
    +#define GPUREG_LIGHT1_DIFFUSE   0x0152
     Light 1 diffuse lighting.
     
    +#define GPUREG_LIGHT1_AMBIENT   0x0153
     Light 1 ambient lighting.
     
    +#define GPUREG_LIGHT1_XY   0x0154
     Light 1 X and Y.
     
    +#define GPUREG_LIGHT1_Z   0x0155
     Light 1 Z.
     
    +#define GPUREG_LIGHT1_SPOTDIR_XY   0x0156
     Light 1 spotlight direction X and Y.
     
    +#define GPUREG_LIGHT1_SPOTDIR_Z   0x0157
     Light 1 spotlight direction Z.
     
    +#define GPUREG_0158   0x0158
     Unknown.
     
    +#define GPUREG_LIGHT1_CONFIG   0x0159
     Light 1 configuration.
     
    +#define GPUREG_LIGHT1_ATTENUATION_BIAS   0x015A
     Light 1 attenuation bias.
     
    +#define GPUREG_LIGHT1_ATTENUATION_SCALE   0x015B
     Light 1 attenuation scale.
     
    +#define GPUREG_015C   0x015C
     Unknown.
     
    +#define GPUREG_015D   0x015D
     Unknown.
     
    +#define GPUREG_015E   0x015E
     Unknown.
     
    +#define GPUREG_015F   0x015F
     Unknown.
     
    +#define GPUREG_LIGHT2_SPECULAR0   0x0160
     Light 2 specular lighting.
     
    +#define GPUREG_LIGHT2_SPECULAR1   0x0161
     Light 2 specular lighting.
     
    +#define GPUREG_LIGHT2_DIFFUSE   0x0162
     Light 2 diffuse lighting.
     
    +#define GPUREG_LIGHT2_AMBIENT   0x0163
     Light 2 ambient lighting.
     
    +#define GPUREG_LIGHT2_XY   0x0164
     Light 2 X and Y.
     
    +#define GPUREG_LIGHT2_Z   0x0165
     Light 2 Z.
     
    +#define GPUREG_LIGHT2_SPOTDIR_XY   0x0166
     Light 2 spotlight direction X and Y.
     
    +#define GPUREG_LIGHT2_SPOTDIR_Z   0x0167
     Light 2 spotlight direction Z.
     
    +#define GPUREG_0168   0x0168
     Unknown.
     
    +#define GPUREG_LIGHT2_CONFIG   0x0169
     Light 2 configuration.
     
    +#define GPUREG_LIGHT2_ATTENUATION_BIAS   0x016A
     Light 2 attenuation bias.
     
    +#define GPUREG_LIGHT2_ATTENUATION_SCALE   0x016B
     Light 2 attenuation scale.
     
    +#define GPUREG_016C   0x016C
     Unknown.
     
    +#define GPUREG_016D   0x016D
     Unknown.
     
    +#define GPUREG_016E   0x016E
     Unknown.
     
    +#define GPUREG_016F   0x016F
     Unknown.
     
    +#define GPUREG_LIGHT3_SPECULAR0   0x0170
     Light 3 specular lighting.
     
    +#define GPUREG_LIGHT3_SPECULAR1   0x0171
     Light 3 specular lighting.
     
    +#define GPUREG_LIGHT3_DIFFUSE   0x0172
     Light 3 diffuse lighting.
     
    +#define GPUREG_LIGHT3_AMBIENT   0x0173
     Light 3 ambient lighting.
     
    +#define GPUREG_LIGHT3_XY   0x0174
     Light 3 X and Y.
     
    +#define GPUREG_LIGHT3_Z   0x0175
     Light 3 Z.
     
    +#define GPUREG_LIGHT3_SPOTDIR_XY   0x0176
     Light 3 spotlight direction X and Y.
     
    +#define GPUREG_LIGHT3_SPOTDIR_Z   0x0177
     Light 3 spotlight direction Z.
     
    +#define GPUREG_0178   0x0178
     Unknown.
     
    +#define GPUREG_LIGHT3_CONFIG   0x0179
     Light 3 configuration.
     
    +#define GPUREG_LIGHT3_ATTENUATION_BIAS   0x017A
     Light 3 attenuation bias.
     
    +#define GPUREG_LIGHT3_ATTENUATION_SCALE   0x017B
     Light 3 attenuation scale.
     
    +#define GPUREG_017C   0x017C
     Unknown.
     
    +#define GPUREG_017D   0x017D
     Unknown.
     
    +#define GPUREG_017E   0x017E
     Unknown.
     
    +#define GPUREG_017F   0x017F
     Unknown.
     
    +#define GPUREG_LIGHT4_SPECULAR0   0x0180
     Light 4 specular lighting.
     
    +#define GPUREG_LIGHT4_SPECULAR1   0x0181
     Light 4 specular lighting.
     
    +#define GPUREG_LIGHT4_DIFFUSE   0x0182
     Light 4 diffuse lighting.
     
    +#define GPUREG_LIGHT4_AMBIENT   0x0183
     Light 4 ambient lighting.
     
    +#define GPUREG_LIGHT4_XY   0x0184
     Light 4 X and Y.
     
    +#define GPUREG_LIGHT4_Z   0x0185
     Light 4 Z.
     
    +#define GPUREG_LIGHT4_SPOTDIR_XY   0x0186
     Light 4 spotlight direction X and Y.
     
    +#define GPUREG_LIGHT4_SPOTDIR_Z   0x0187
     Light 4 spotlight direction Z.
     
    +#define GPUREG_0188   0x0188
     Unknown.
     
    +#define GPUREG_LIGHT4_CONFIG   0x0189
     Light 4 configuration.
     
    +#define GPUREG_LIGHT4_ATTENUATION_BIAS   0x018A
     Light 4 attenuation bias.
     
    +#define GPUREG_LIGHT4_ATTENUATION_SCALE   0x018B
     Light 4 attenuation scale.
     
    +#define GPUREG_018C   0x018C
     Unknown.
     
    +#define GPUREG_018D   0x018D
     Unknown.
     
    +#define GPUREG_018E   0x018E
     Unknown.
     
    +#define GPUREG_018F   0x018F
     Unknown.
     
    +#define GPUREG_LIGHT5_SPECULAR0   0x0190
     Light 5 specular lighting.
     
    +#define GPUREG_LIGHT5_SPECULAR1   0x0191
     Light 5 specular lighting.
     
    +#define GPUREG_LIGHT5_DIFFUSE   0x0192
     Light 5 diffuse lighting.
     
    +#define GPUREG_LIGHT5_AMBIENT   0x0193
     Light 5 ambient lighting.
     
    +#define GPUREG_LIGHT5_XY   0x0194
     Light 5 X and Y.
     
    +#define GPUREG_LIGHT5_Z   0x0195
     Light 5 Z.
     
    +#define GPUREG_LIGHT5_SPOTDIR_XY   0x0196
     Light 5 spotlight direction X and Y.
     
    +#define GPUREG_LIGHT5_SPOTDIR_Z   0x0197
     Light 5 spotlight direction Z.
     
    +#define GPUREG_0198   0x0198
     Unknown.
     
    +#define GPUREG_LIGHT5_CONFIG   0x0199
     Light 5 configuration.
     
    +#define GPUREG_LIGHT5_ATTENUATION_BIAS   0x019A
     Light 5 attenuation bias.
     
    +#define GPUREG_LIGHT5_ATTENUATION_SCALE   0x019B
     Light 5 attenuation scale.
     
    +#define GPUREG_019C   0x019C
     Unknown.
     
    +#define GPUREG_019D   0x019D
     Unknown.
     
    +#define GPUREG_019E   0x019E
     Unknown.
     
    +#define GPUREG_019F   0x019F
     Unknown.
     
    +#define GPUREG_LIGHT6_SPECULAR0   0x01A0
     Light 6 specular lighting.
     
    +#define GPUREG_LIGHT6_SPECULAR1   0x01A1
     Light 6 specular lighting.
     
    +#define GPUREG_LIGHT6_DIFFUSE   0x01A2
     Light 6 diffuse lighting.
     
    +#define GPUREG_LIGHT6_AMBIENT   0x01A3
     Light 6 ambient lighting.
     
    +#define GPUREG_LIGHT6_XY   0x01A4
     Light 6 X and Y.
     
    +#define GPUREG_LIGHT6_Z   0x01A5
     Light 6 Z.
     
    +#define GPUREG_LIGHT6_SPOTDIR_XY   0x01A6
     Light 6 spotlight direction X and Y.
     
    +#define GPUREG_LIGHT6_SPOTDIR_Z   0x01A7
     Light 6 spotlight direction Z.
     
    +#define GPUREG_01A8   0x01A8
     Unknown.
     
    +#define GPUREG_LIGHT6_CONFIG   0x01A9
     Light 6 configuration.
     
    +#define GPUREG_LIGHT6_ATTENUATION_BIAS   0x01AA
     Light 6 attenuation bias.
     
    +#define GPUREG_LIGHT6_ATTENUATION_SCALE   0x01AB
     Light 6 attenuation scale.
     
    +#define GPUREG_01AC   0x01AC
     Unknown.
     
    +#define GPUREG_01AD   0x01AD
     Unknown.
     
    +#define GPUREG_01AE   0x01AE
     Unknown.
     
    +#define GPUREG_01AF   0x01AF
     Unknown.
     
    +#define GPUREG_LIGHT7_SPECULAR0   0x01B0
     Light 7 specular lighting.
     
    +#define GPUREG_LIGHT7_SPECULAR1   0x01B1
     Light 7 specular lighting.
     
    +#define GPUREG_LIGHT7_DIFFUSE   0x01B2
     Light 7 diffuse lighting.
     
    +#define GPUREG_LIGHT7_AMBIENT   0x01B3
     Light 7 ambient lighting.
     
    +#define GPUREG_LIGHT7_XY   0x01B4
     Light 7 X and Y.
     
    +#define GPUREG_LIGHT7_Z   0x01B5
     Light 7 Z.
     
    +#define GPUREG_LIGHT7_SPOTDIR_XY   0x01B6
     Light 7 spotlight direction X and Y.
     
    +#define GPUREG_LIGHT7_SPOTDIR_Z   0x01B7
     Light 7 spotlight direction Z.
     
    +#define GPUREG_01B8   0x01B8
     Unknown.
     
    +#define GPUREG_LIGHT7_CONFIG   0x01B9
     Light 7 configuration.
     
    +#define GPUREG_LIGHT7_ATTENUATION_BIAS   0x01BA
     Light 7 attenuation bias.
     
    +#define GPUREG_LIGHT7_ATTENUATION_SCALE   0x01BB
     Light 7 attenuation scale.
     
    +#define GPUREG_01BC   0x01BC
     Unknown.
     
    +#define GPUREG_01BD   0x01BD
     Unknown.
     
    +#define GPUREG_01BE   0x01BE
     Unknown.
     
    +#define GPUREG_01BF   0x01BF
     Unknown.
     
    +#define GPUREG_LIGHTING_AMBIENT   0x01C0
     Ambient lighting.
     
    +#define GPUREG_01C1   0x01C1
     Unknown.
     
    +#define GPUREG_LIGHTING_NUM_LIGHTS   0x01C2
     Number of lights.
     
    +#define GPUREG_LIGHTING_CONFIG0   0x01C3
     Lighting configuration.
     
    +#define GPUREG_LIGHTING_CONFIG1   0x01C4
     Lighting configuration.
     
    +#define GPUREG_LIGHTING_LUT_INDEX   0x01C5
     LUT index.
     
    +#define GPUREG_LIGHTING_ENABLE1   0x01C6
     Lighting toggle.
     
    +#define GPUREG_01C7   0x01C7
     Unknown.
     
    +#define GPUREG_LIGHTING_LUT_DATA0   0x01C8
     LUT data 0.
     
    +#define GPUREG_LIGHTING_LUT_DATA1   0x01C9
     LUT data 1.
     
    +#define GPUREG_LIGHTING_LUT_DATA2   0x01CA
     LUT data 2.
     
    +#define GPUREG_LIGHTING_LUT_DATA3   0x01CB
     LUT data 3.
     
    +#define GPUREG_LIGHTING_LUT_DATA4   0x01CC
     LUT data 4.
     
    +#define GPUREG_LIGHTING_LUT_DATA5   0x01CD
     LUT data 5.
     
    +#define GPUREG_LIGHTING_LUT_DATA6   0x01CE
     LUT data 6.
     
    +#define GPUREG_LIGHTING_LUT_DATA7   0x01CF
     LUT data 7.
     
    +#define GPUREG_LIGHTING_LUTINPUT_ABS   0x01D0
     LUT input abs.
     
    +#define GPUREG_LIGHTING_LUTINPUT_SELECT   0x01D1
     LUT input selector.
     
    +#define GPUREG_LIGHTING_LUTINPUT_SCALE   0x01D2
     LUT input scale.
     
    +#define GPUREG_01D3   0x01D3
     Unknown.
     
    +#define GPUREG_01D4   0x01D4
     Unknown.
     
    +#define GPUREG_01D5   0x01D5
     Unknown.
     
    +#define GPUREG_01D6   0x01D6
     Unknown.
     
    +#define GPUREG_01D7   0x01D7
     Unknown.
     
    +#define GPUREG_01D8   0x01D8
     Unknown.
     
    +#define GPUREG_LIGHTING_LIGHT_PERMUTATION   0x01D9
     Light permutation.
     
    +#define GPUREG_01DA   0x01DA
     Unknown.
     
    +#define GPUREG_01DB   0x01DB
     Unknown.
     
    +#define GPUREG_01DC   0x01DC
     Unknown.
     
    +#define GPUREG_01DD   0x01DD
     Unknown.
     
    +#define GPUREG_01DE   0x01DE
     Unknown.
     
    +#define GPUREG_01DF   0x01DF
     Unknown.
     
    +#define GPUREG_01E0   0x01E0
     Unknown.
     
    +#define GPUREG_01E1   0x01E1
     Unknown.
     
    +#define GPUREG_01E2   0x01E2
     Unknown.
     
    +#define GPUREG_01E3   0x01E3
     Unknown.
     
    +#define GPUREG_01E4   0x01E4
     Unknown.
     
    +#define GPUREG_01E5   0x01E5
     Unknown.
     
    +#define GPUREG_01E6   0x01E6
     Unknown.
     
    +#define GPUREG_01E7   0x01E7
     Unknown.
     
    +#define GPUREG_01E8   0x01E8
     Unknown.
     
    +#define GPUREG_01E9   0x01E9
     Unknown.
     
    +#define GPUREG_01EA   0x01EA
     Unknown.
     
    +#define GPUREG_01EB   0x01EB
     Unknown.
     
    +#define GPUREG_01EC   0x01EC
     Unknown.
     
    +#define GPUREG_01ED   0x01ED
     Unknown.
     
    +#define GPUREG_01EE   0x01EE
     Unknown.
     
    +#define GPUREG_01EF   0x01EF
     Unknown.
     
    +#define GPUREG_01F0   0x01F0
     Unknown.
     
    +#define GPUREG_01F1   0x01F1
     Unknown.
     
    +#define GPUREG_01F2   0x01F2
     Unknown.
     
    +#define GPUREG_01F3   0x01F3
     Unknown.
     
    +#define GPUREG_01F4   0x01F4
     Unknown.
     
    +#define GPUREG_01F5   0x01F5
     Unknown.
     
    +#define GPUREG_01F6   0x01F6
     Unknown.
     
    +#define GPUREG_01F7   0x01F7
     Unknown.
     
    +#define GPUREG_01F8   0x01F8
     Unknown.
     
    +#define GPUREG_01F9   0x01F9
     Unknown.
     
    +#define GPUREG_01FA   0x01FA
     Unknown.
     
    +#define GPUREG_01FB   0x01FB
     Unknown.
     
    +#define GPUREG_01FC   0x01FC
     Unknown.
     
    +#define GPUREG_01FD   0x01FD
     Unknown.
     
    +#define GPUREG_01FE   0x01FE
     Unknown.
     
    +#define GPUREG_01FF   0x01FF
     Unknown.
     
    Geometry pipeline registers (0x200-0x27F)
    +#define GPUREG_ATTRIBBUFFERS_LOC   0x0200
     Attribute buffers location.
     
    +#define GPUREG_ATTRIBBUFFERS_FORMAT_LOW   0x0201
     Attribute buffers format low.
     
    +#define GPUREG_ATTRIBBUFFERS_FORMAT_HIGH   0x0202
     Attribute buffers format high.
     
    +#define GPUREG_ATTRIBBUFFER0_OFFSET   0x0203
     Attribute buffers 0 offset.
     
    +#define GPUREG_ATTRIBBUFFER0_CONFIG1   0x0204
     Attribute buffers 0 configuration.
     
    +#define GPUREG_ATTRIBBUFFER0_CONFIG2   0x0205
     Attribute buffers 0 configuration.
     
    +#define GPUREG_ATTRIBBUFFER1_OFFSET   0x0206
     Attribute buffers 1 offset.
     
    +#define GPUREG_ATTRIBBUFFER1_CONFIG1   0x0207
     Attribute buffers 1 configuration.
     
    +#define GPUREG_ATTRIBBUFFER1_CONFIG2   0x0208
     Attribute buffers 1 configuration.
     
    +#define GPUREG_ATTRIBBUFFER2_OFFSET   0x0209
     Attribute buffers 2 offset.
     
    +#define GPUREG_ATTRIBBUFFER2_CONFIG1   0x020A
     Attribute buffers 2 configuration.
     
    +#define GPUREG_ATTRIBBUFFER2_CONFIG2   0x020B
     Attribute buffers 2 configuration.
     
    +#define GPUREG_ATTRIBBUFFER3_OFFSET   0x020C
     Attribute buffers 3 offset.
     
    +#define GPUREG_ATTRIBBUFFER3_CONFIG1   0x020D
     Attribute buffers 3 configuration.
     
    +#define GPUREG_ATTRIBBUFFER3_CONFIG2   0x020E
     Attribute buffers 3 configuration.
     
    +#define GPUREG_ATTRIBBUFFER4_OFFSET   0x020F
     Attribute buffers 4 offset.
     
    +#define GPUREG_ATTRIBBUFFER4_CONFIG1   0x0210
     Attribute buffers 4 configuration.
     
    +#define GPUREG_ATTRIBBUFFER4_CONFIG2   0x0211
     Attribute buffers 4 configuration.
     
    +#define GPUREG_ATTRIBBUFFER5_OFFSET   0x0212
     Attribute buffers 5 offset.
     
    +#define GPUREG_ATTRIBBUFFER5_CONFIG1   0x0213
     Attribute buffers 5 configuration.
     
    +#define GPUREG_ATTRIBBUFFER5_CONFIG2   0x0214
     Attribute buffers 5 configuration.
     
    +#define GPUREG_ATTRIBBUFFER6_OFFSET   0x0215
     Attribute buffers 6 offset.
     
    +#define GPUREG_ATTRIBBUFFER6_CONFIG1   0x0216
     Attribute buffers 6 configuration.
     
    +#define GPUREG_ATTRIBBUFFER6_CONFIG2   0x0217
     Attribute buffers 6 configuration.
     
    +#define GPUREG_ATTRIBBUFFER7_OFFSET   0x0218
     Attribute buffers 7 offset.
     
    +#define GPUREG_ATTRIBBUFFER7_CONFIG1   0x0219
     Attribute buffers 7 configuration.
     
    +#define GPUREG_ATTRIBBUFFER7_CONFIG2   0x021A
     Attribute buffers 7 configuration.
     
    +#define GPUREG_ATTRIBBUFFER8_OFFSET   0x021B
     Attribute buffers 8 offset.
     
    +#define GPUREG_ATTRIBBUFFER8_CONFIG1   0x021C
     Attribute buffers 8 configuration.
     
    +#define GPUREG_ATTRIBBUFFER8_CONFIG2   0x021D
     Attribute buffers 8 configuration.
     
    +#define GPUREG_ATTRIBBUFFER9_OFFSET   0x021E
     Attribute buffers 9 offset.
     
    +#define GPUREG_ATTRIBBUFFER9_CONFIG1   0x021F
     Attribute buffers 9 configuration.
     
    +#define GPUREG_ATTRIBBUFFER9_CONFIG2   0x0220
     Attribute buffers 9 configuration.
     
    +#define GPUREG_ATTRIBBUFFERA_OFFSET   0x0221
     Attribute buffers A offset.
     
    +#define GPUREG_ATTRIBBUFFERA_CONFIG1   0x0222
     Attribute buffers A configuration.
     
    +#define GPUREG_ATTRIBBUFFERA_CONFIG2   0x0223
     Attribute buffers A configuration.
     
    +#define GPUREG_ATTRIBBUFFERB_OFFSET   0x0224
     Attribute buffers B offset.
     
    +#define GPUREG_ATTRIBBUFFERB_CONFIG1   0x0225
     Attribute buffers B configuration.
     
    +#define GPUREG_ATTRIBBUFFERB_CONFIG2   0x0226
     Attribute buffers B configuration.
     
    +#define GPUREG_INDEXBUFFER_CONFIG   0x0227
     Index buffer configuration.
     
    +#define GPUREG_NUMVERTICES   0x0228
     Number of vertices.
     
    +#define GPUREG_GEOSTAGE_CONFIG   0x0229
     Geometry stage configuration.
     
    +#define GPUREG_VERTEX_OFFSET   0x022A
     Vertex offset.
     
    +#define GPUREG_022B   0x022B
     Unknown.
     
    +#define GPUREG_022C   0x022C
     Unknown.
     
    +#define GPUREG_POST_VERTEX_CACHE_NUM   0x022D
     Unknown.
     
    +#define GPUREG_DRAWARRAYS   0x022E
     Draw arrays trigger.
     
    +#define GPUREG_DRAWELEMENTS   0x022F
     Draw arrays elements.
     
    +#define GPUREG_0230   0x0230
     Unknown.
     
    +#define GPUREG_VTX_FUNC   0x0231
     Unknown.
     
    +#define GPUREG_FIXEDATTRIB_INDEX   0x0232
     Fixed attribute index.
     
    +#define GPUREG_FIXEDATTRIB_DATA0   0x0233
     Fixed attribute data 0.
     
    +#define GPUREG_FIXEDATTRIB_DATA1   0x0234
     Fixed attribute data 1.
     
    +#define GPUREG_FIXEDATTRIB_DATA2   0x0235
     Fixed attribute data 2.
     
    +#define GPUREG_0236   0x0236
     Unknown.
     
    +#define GPUREG_0237   0x0237
     Unknown.
     
    +#define GPUREG_CMDBUF_SIZE0   0x0238
     Command buffer size 0.
     
    +#define GPUREG_CMDBUF_SIZE1   0x0239
     Command buffer size 1.
     
    +#define GPUREG_CMDBUF_ADDR0   0x023A
     Command buffer address 0.
     
    +#define GPUREG_CMDBUF_ADDR1   0x023B
     Command buffer address 1.
     
    +#define GPUREG_CMDBUF_JUMP0   0x023C
     Command buffer jump 0.
     
    +#define GPUREG_CMDBUF_JUMP1   0x023D
     Command buffer jump 1.
     
    +#define GPUREG_023E   0x023E
     Unknown.
     
    +#define GPUREG_023F   0x023F
     Unknown.
     
    +#define GPUREG_0240   0x0240
     Unknown.
     
    +#define GPUREG_0241   0x0241
     Unknown.
     
    +#define GPUREG_VSH_NUM_ATTR   0x0242
     Unknown.
     
    +#define GPUREG_0243   0x0243
     Unknown.
     
    +#define GPUREG_VSH_COM_MODE   0x0244
     Unknown.
     
    +#define GPUREG_START_DRAW_FUNC0   0x0245
     Unknown.
     
    +#define GPUREG_0246   0x0246
     Unknown.
     
    +#define GPUREG_0247   0x0247
     Unknown.
     
    +#define GPUREG_0248   0x0248
     Unknown.
     
    +#define GPUREG_0249   0x0249
     Unknown.
     
    +#define GPUREG_VSH_OUTMAP_TOTAL1   0x024A
     Unknown.
     
    +#define GPUREG_024B   0x024B
     Unknown.
     
    +#define GPUREG_024C   0x024C
     Unknown.
     
    +#define GPUREG_024D   0x024D
     Unknown.
     
    +#define GPUREG_024E   0x024E
     Unknown.
     
    +#define GPUREG_024F   0x024F
     Unknown.
     
    +#define GPUREG_0250   0x0250
     Unknown.
     
    +#define GPUREG_VSH_OUTMAP_TOTAL2   0x0251
     Unknown.
     
    +#define GPUREG_GSH_MISC0   0x0252
     Unknown.
     
    +#define GPUREG_GEOSTAGE_CONFIG2   0x0253
     Unknown.
     
    +#define GPUREG_GSH_MISC1   0x0254
     Unknown.
     
    +#define GPUREG_0255   0x0255
     Unknown.
     
    +#define GPUREG_0256   0x0256
     Unknown.
     
    +#define GPUREG_0257   0x0257
     Unknown.
     
    +#define GPUREG_0258   0x0258
     Unknown.
     
    +#define GPUREG_0259   0x0259
     Unknown.
     
    +#define GPUREG_025A   0x025A
     Unknown.
     
    +#define GPUREG_025B   0x025B
     Unknown.
     
    +#define GPUREG_025C   0x025C
     Unknown.
     
    +#define GPUREG_025D   0x025D
     Unknown.
     
    +#define GPUREG_PRIMITIVE_CONFIG   0x025E
     Primitive configuration.
     
    +#define GPUREG_RESTART_PRIMITIVE   0x025F
     Restart primitive flag.
     
    +#define GPUREG_0260   0x0260
     Unknown.
     
    +#define GPUREG_0261   0x0261
     Unknown.
     
    +#define GPUREG_0262   0x0262
     Unknown.
     
    +#define GPUREG_0263   0x0263
     Unknown.
     
    +#define GPUREG_0264   0x0264
     Unknown.
     
    +#define GPUREG_0265   0x0265
     Unknown.
     
    +#define GPUREG_0266   0x0266
     Unknown.
     
    +#define GPUREG_0267   0x0267
     Unknown.
     
    +#define GPUREG_0268   0x0268
     Unknown.
     
    +#define GPUREG_0269   0x0269
     Unknown.
     
    +#define GPUREG_026A   0x026A
     Unknown.
     
    +#define GPUREG_026B   0x026B
     Unknown.
     
    +#define GPUREG_026C   0x026C
     Unknown.
     
    +#define GPUREG_026D   0x026D
     Unknown.
     
    +#define GPUREG_026E   0x026E
     Unknown.
     
    +#define GPUREG_026F   0x026F
     Unknown.
     
    +#define GPUREG_0270   0x0270
     Unknown.
     
    +#define GPUREG_0271   0x0271
     Unknown.
     
    +#define GPUREG_0272   0x0272
     Unknown.
     
    +#define GPUREG_0273   0x0273
     Unknown.
     
    +#define GPUREG_0274   0x0274
     Unknown.
     
    +#define GPUREG_0275   0x0275
     Unknown.
     
    +#define GPUREG_0276   0x0276
     Unknown.
     
    +#define GPUREG_0277   0x0277
     Unknown.
     
    +#define GPUREG_0278   0x0278
     Unknown.
     
    +#define GPUREG_0279   0x0279
     Unknown.
     
    +#define GPUREG_027A   0x027A
     Unknown.
     
    +#define GPUREG_027B   0x027B
     Unknown.
     
    +#define GPUREG_027C   0x027C
     Unknown.
     
    +#define GPUREG_027D   0x027D
     Unknown.
     
    +#define GPUREG_027E   0x027E
     Unknown.
     
    +#define GPUREG_027F   0x027F
     Unknown.
     
    Geometry shader registers (0x280-0x2AF)
    +#define GPUREG_GSH_BOOLUNIFORM   0x0280
     Geometry shader bool uniforms.
     
    +#define GPUREG_GSH_INTUNIFORM_I0   0x0281
     Geometry shader integer uniform 0.
     
    +#define GPUREG_GSH_INTUNIFORM_I1   0x0282
     Geometry shader integer uniform 1.
     
    +#define GPUREG_GSH_INTUNIFORM_I2   0x0283
     Geometry shader integer uniform 2.
     
    +#define GPUREG_GSH_INTUNIFORM_I3   0x0284
     Geometry shader integer uniform 3.
     
    +#define GPUREG_0285   0x0285
     Unknown.
     
    +#define GPUREG_0286   0x0286
     Unknown.
     
    +#define GPUREG_0287   0x0287
     Unknown.
     
    +#define GPUREG_0288   0x0288
     Unknown.
     
    +#define GPUREG_GSH_INPUTBUFFER_CONFIG   0x0289
     Geometry shader input buffer configuration.
     
    +#define GPUREG_GSH_ENTRYPOINT   0x028A
     Geometry shader entry point.
     
    +#define GPUREG_GSH_ATTRIBUTES_PERMUTATION_LOW   0x028B
     Geometry shader attribute permutations low.
     
    +#define GPUREG_GSH_ATTRIBUTES_PERMUTATION_HIGH   0x028C
     Geometry shader attribute permutations high.
     
    +#define GPUREG_GSH_OUTMAP_MASK   0x028D
     Geometry shader output map mask.
     
    +#define GPUREG_028E   0x028E
     Unknown.
     
    +#define GPUREG_GSH_CODETRANSFER_END   0x028F
     Geometry shader code transfer end trigger.
     
    +#define GPUREG_GSH_FLOATUNIFORM_CONFIG   0x0290
     Geometry shader float uniform configuration.
     
    +#define GPUREG_GSH_FLOATUNIFORM_DATA   0x0291
     Geometry shader float uniform data.
     
    +#define GPUREG_0299   0x0299
     Unknown.
     
    +#define GPUREG_029A   0x029A
     Unknown.
     
    +#define GPUREG_GSH_CODETRANSFER_CONFIG   0x029B
     Geometry shader code transfer configuration.
     
    +#define GPUREG_GSH_CODETRANSFER_DATA   0x029C
     Geometry shader code transfer data.
     
    +#define GPUREG_02A4   0x02A4
     Unknown.
     
    +#define GPUREG_GSH_OPDESCS_CONFIG   0x02A5
     Geometry shader operand description configuration.
     
    +#define GPUREG_GSH_OPDESCS_DATA   0x02A6
     Geometry shader operand description data.
     
    +#define GPUREG_02AE   0x02AE
     Unknown.
     
    +#define GPUREG_02AF   0x02AF
     Unknown.
     
    Vertex shader registers (0x2B0-0x2DF)
    +#define GPUREG_VSH_BOOLUNIFORM   0x02B0
     Vertex shader bool uniforms.
     
    +#define GPUREG_VSH_INTUNIFORM_I0   0x02B1
     Vertex shader integer uniform 0.
     
    +#define GPUREG_VSH_INTUNIFORM_I1   0x02B2
     Vertex shader integer uniform 1.
     
    +#define GPUREG_VSH_INTUNIFORM_I2   0x02B3
     Vertex shader integer uniform 2.
     
    +#define GPUREG_VSH_INTUNIFORM_I3   0x02B4
     Vertex shader integer uniform 3.
     
    +#define GPUREG_02B5   0x02B5
     Unknown.
     
    +#define GPUREG_02B6   0x02B6
     Unknown.
     
    +#define GPUREG_02B7   0x02B7
     Unknown.
     
    +#define GPUREG_02B8   0x02B8
     Unknown.
     
    +#define GPUREG_VSH_INPUTBUFFER_CONFIG   0x02B9
     Vertex shader input buffer configuration.
     
    +#define GPUREG_VSH_ENTRYPOINT   0x02BA
     Vertex shader entry point.
     
    +#define GPUREG_VSH_ATTRIBUTES_PERMUTATION_LOW   0x02BB
     Vertex shader attribute permutations low.
     
    +#define GPUREG_VSH_ATTRIBUTES_PERMUTATION_HIGH   0x02BC
     Vertex shader attribute permutations high.
     
    +#define GPUREG_VSH_OUTMAP_MASK   0x02BD
     Vertex shader output map mask.
     
    +#define GPUREG_02BE   0x02BE
     Unknown.
     
    +#define GPUREG_VSH_CODETRANSFER_END   0x02BF
     Vertex shader code transfer end trigger.
     
    +#define GPUREG_VSH_FLOATUNIFORM_CONFIG   0x02C0
     Vertex shader float uniform configuration.
     
    +#define GPUREG_VSH_FLOATUNIFORM_DATA   0x02C1
     Vertex shader float uniform data.
     
    +#define GPUREG_02C9   0x02C9
     Unknown.
     
    +#define GPUREG_02CA   0x02CA
     Unknown.
     
    +#define GPUREG_VSH_CODETRANSFER_CONFIG   0x02CB
     Vertex shader code transfer configuration.
     
    +#define GPUREG_VSH_CODETRANSFER_DATA   0x02CC
     Vertex shader code transfer data.
     
    +#define GPUREG_02D4   0x02D4
     Unknown.
     
    +#define GPUREG_VSH_OPDESCS_CONFIG   0x02D5
     Vertex shader operand description configuration.
     
    +#define GPUREG_VSH_OPDESCS_DATA   0x02D6
     Vertex shader operand description data.
     
    +#define GPUREG_02DE   0x02DE
     Unknown.
     
    +#define GPUREG_02DF   0x02DF
     Unknown.
     
    Unknown registers (0x2E0-0x2FF)
    +#define GPUREG_02E0   0x02E0
     Unknown.
     
    +#define GPUREG_02E1   0x02E1
     Unknown.
     
    +#define GPUREG_02E2   0x02E2
     Unknown.
     
    +#define GPUREG_02E3   0x02E3
     Unknown.
     
    +#define GPUREG_02E4   0x02E4
     Unknown.
     
    +#define GPUREG_02E5   0x02E5
     Unknown.
     
    +#define GPUREG_02E6   0x02E6
     Unknown.
     
    +#define GPUREG_02E7   0x02E7
     Unknown.
     
    +#define GPUREG_02E8   0x02E8
     Unknown.
     
    +#define GPUREG_02E9   0x02E9
     Unknown.
     
    +#define GPUREG_02EA   0x02EA
     Unknown.
     
    +#define GPUREG_02EB   0x02EB
     Unknown.
     
    +#define GPUREG_02EC   0x02EC
     Unknown.
     
    +#define GPUREG_02ED   0x02ED
     Unknown.
     
    +#define GPUREG_02EE   0x02EE
     Unknown.
     
    +#define GPUREG_02EF   0x02EF
     Unknown.
     
    +#define GPUREG_02F0   0x02F0
     Unknown.
     
    +#define GPUREG_02F1   0x02F1
     Unknown.
     
    +#define GPUREG_02F2   0x02F2
     Unknown.
     
    +#define GPUREG_02F3   0x02F3
     Unknown.
     
    +#define GPUREG_02F4   0x02F4
     Unknown.
     
    +#define GPUREG_02F5   0x02F5
     Unknown.
     
    +#define GPUREG_02F6   0x02F6
     Unknown.
     
    +#define GPUREG_02F7   0x02F7
     Unknown.
     
    +#define GPUREG_02F8   0x02F8
     Unknown.
     
    +#define GPUREG_02F9   0x02F9
     Unknown.
     
    +#define GPUREG_02FA   0x02FA
     Unknown.
     
    +#define GPUREG_02FB   0x02FB
     Unknown.
     
    +#define GPUREG_02FC   0x02FC
     Unknown.
     
    +#define GPUREG_02FD   0x02FD
     Unknown.
     
    +#define GPUREG_02FE   0x02FE
     Unknown.
     
    +#define GPUREG_02FF   0x02FF
     Unknown.
     
    +

    Detailed Description

    +

    @description GPU registers.

    +
    + + + + diff --git a/registers_8h_source.html b/registers_8h_source.html new file mode 100644 index 000000000..9a9f1b43c --- /dev/null +++ b/registers_8h_source.html @@ -0,0 +1,846 @@ + + + + + + + +libctru: include/3ds/gpu/registers.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    registers.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file registers.h
    +
    3  * @description GPU registers.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 ///@name Miscellaneous registers (0x000-0x03F)
    +
    8 ///@{
    +
    9 #define GPUREG_0000 0x0000 ///< Unknown.
    +
    10 #define GPUREG_0001 0x0001 ///< Unknown.
    +
    11 #define GPUREG_0002 0x0002 ///< Unknown.
    +
    12 #define GPUREG_0003 0x0003 ///< Unknown.
    +
    13 #define GPUREG_0004 0x0004 ///< Unknown.
    +
    14 #define GPUREG_0005 0x0005 ///< Unknown.
    +
    15 #define GPUREG_0006 0x0006 ///< Unknown.
    +
    16 #define GPUREG_0007 0x0007 ///< Unknown.
    +
    17 #define GPUREG_0008 0x0008 ///< Unknown.
    +
    18 #define GPUREG_0009 0x0009 ///< Unknown.
    +
    19 #define GPUREG_000A 0x000A ///< Unknown.
    +
    20 #define GPUREG_000B 0x000B ///< Unknown.
    +
    21 #define GPUREG_000C 0x000C ///< Unknown.
    +
    22 #define GPUREG_000D 0x000D ///< Unknown.
    +
    23 #define GPUREG_000E 0x000E ///< Unknown.
    +
    24 #define GPUREG_000F 0x000F ///< Unknown.
    +
    25 #define GPUREG_FINALIZE 0x0010 ///< Used to finalize GPU drawing.
    +
    26 #define GPUREG_0011 0x0011 ///< Unknown.
    +
    27 #define GPUREG_0012 0x0012 ///< Unknown.
    +
    28 #define GPUREG_0013 0x0013 ///< Unknown.
    +
    29 #define GPUREG_0014 0x0014 ///< Unknown.
    +
    30 #define GPUREG_0015 0x0015 ///< Unknown.
    +
    31 #define GPUREG_0016 0x0016 ///< Unknown.
    +
    32 #define GPUREG_0017 0x0017 ///< Unknown.
    +
    33 #define GPUREG_0018 0x0018 ///< Unknown.
    +
    34 #define GPUREG_0019 0x0019 ///< Unknown.
    +
    35 #define GPUREG_001A 0x001A ///< Unknown.
    +
    36 #define GPUREG_001B 0x001B ///< Unknown.
    +
    37 #define GPUREG_001C 0x001C ///< Unknown.
    +
    38 #define GPUREG_001D 0x001D ///< Unknown.
    +
    39 #define GPUREG_001E 0x001E ///< Unknown.
    +
    40 #define GPUREG_001F 0x001F ///< Unknown.
    +
    41 #define GPUREG_0020 0x0020 ///< Unknown.
    +
    42 #define GPUREG_0021 0x0021 ///< Unknown.
    +
    43 #define GPUREG_0022 0x0022 ///< Unknown.
    +
    44 #define GPUREG_0023 0x0023 ///< Unknown.
    +
    45 #define GPUREG_0024 0x0024 ///< Unknown.
    +
    46 #define GPUREG_0025 0x0025 ///< Unknown.
    +
    47 #define GPUREG_0026 0x0026 ///< Unknown.
    +
    48 #define GPUREG_0027 0x0027 ///< Unknown.
    +
    49 #define GPUREG_0028 0x0028 ///< Unknown.
    +
    50 #define GPUREG_0029 0x0029 ///< Unknown.
    +
    51 #define GPUREG_002A 0x002A ///< Unknown.
    +
    52 #define GPUREG_002B 0x002B ///< Unknown.
    +
    53 #define GPUREG_002C 0x002C ///< Unknown.
    +
    54 #define GPUREG_002D 0x002D ///< Unknown.
    +
    55 #define GPUREG_002E 0x002E ///< Unknown.
    +
    56 #define GPUREG_002F 0x002F ///< Unknown.
    +
    57 #define GPUREG_0030 0x0030 ///< Unknown.
    +
    58 #define GPUREG_0031 0x0031 ///< Unknown.
    +
    59 #define GPUREG_0032 0x0032 ///< Unknown.
    +
    60 #define GPUREG_0033 0x0033 ///< Unknown.
    +
    61 #define GPUREG_0034 0x0034 ///< Unknown.
    +
    62 #define GPUREG_0035 0x0035 ///< Unknown.
    +
    63 #define GPUREG_0036 0x0036 ///< Unknown.
    +
    64 #define GPUREG_0037 0x0037 ///< Unknown.
    +
    65 #define GPUREG_0038 0x0038 ///< Unknown.
    +
    66 #define GPUREG_0039 0x0039 ///< Unknown.
    +
    67 #define GPUREG_003A 0x003A ///< Unknown.
    +
    68 #define GPUREG_003B 0x003B ///< Unknown.
    +
    69 #define GPUREG_003C 0x003C ///< Unknown.
    +
    70 #define GPUREG_003D 0x003D ///< Unknown.
    +
    71 #define GPUREG_003E 0x003E ///< Unknown.
    +
    72 #define GPUREG_003F 0x003F ///< Unknown.
    +
    73 ///@}
    +
    74 
    +
    75 ///@name Rasterizer registers (0x040-0x07F)
    +
    76 ///@{
    +
    77 #define GPUREG_FACECULLING_CONFIG 0x0040 ///< Face culling configuration.
    +
    78 #define GPUREG_VIEWPORT_WIDTH 0x0041 ///< Viewport width.
    +
    79 #define GPUREG_VIEWPORT_INVW 0x0042 ///< Inverted viewport width.
    +
    80 #define GPUREG_VIEWPORT_HEIGHT 0x0043 ///< Viewport height.
    +
    81 #define GPUREG_VIEWPORT_INVH 0x0044 ///< Inverted viewport height.
    +
    82 #define GPUREG_0045 0x0045 ///< Unknown
    +
    83 #define GPUREG_0046 0x0046 ///< Unknown
    +
    84 #define GPUREG_FRAGOP_CLIP 0x0047 ///< Unknown
    +
    85 #define GPUREG_FRAGOP_CLIP_DATA0 0x0048 ///< Unknown
    +
    86 #define GPUREG_FRAGOP_CLIP_DATA1 0x0049 ///< Unknown
    +
    87 #define GPUREG_FRAGOP_CLIP_DATA2 0x004A ///< Unknown
    +
    88 #define GPUREG_FRAGOP_CLIP_DATA3 0x004B ///< Unknown
    +
    89 #define GPUREG_004C 0x004C ///< Unknown
    +
    90 #define GPUREG_DEPTHMAP_SCALE 0x004D ///< Depth map scale.
    +
    91 #define GPUREG_DEPTHMAP_OFFSET 0x004E ///< Depth map offset.
    +
    92 #define GPUREG_SH_OUTMAP_TOTAL 0x004F ///< Shader output map total.
    +
    93 #define GPUREG_SH_OUTMAP_O0 0x0050 ///< Shader output map 0.
    +
    94 #define GPUREG_SH_OUTMAP_O1 0x0051 ///< Shader output map 1.
    +
    95 #define GPUREG_SH_OUTMAP_O2 0x0052 ///< Shader output map 2.
    +
    96 #define GPUREG_SH_OUTMAP_O3 0x0053 ///< Shader output map 3.
    +
    97 #define GPUREG_SH_OUTMAP_O4 0x0054 ///< Shader output map 4.
    +
    98 #define GPUREG_SH_OUTMAP_O5 0x0055 ///< Shader output map 5.
    +
    99 #define GPUREG_SH_OUTMAP_O6 0x0056 ///< Shader output map 6.
    +
    100 #define GPUREG_0057 0x0057 ///< Unknown
    +
    101 #define GPUREG_0058 0x0058 ///< Unknown
    +
    102 #define GPUREG_0059 0x0059 ///< Unknown
    +
    103 #define GPUREG_005A 0x005A ///< Unknown
    +
    104 #define GPUREG_005B 0x005B ///< Unknown
    +
    105 #define GPUREG_005C 0x005C ///< Unknown
    +
    106 #define GPUREG_005D 0x005D ///< Unknown
    +
    107 #define GPUREG_005E 0x005E ///< Unknown
    +
    108 #define GPUREG_005F 0x005F ///< Unknown
    +
    109 #define GPUREG_0060 0x0060 ///< Unknown
    +
    110 #define GPUREG_EARLYDEPTH_FUNC 0x0061 ///< Unknown
    +
    111 #define GPUREG_EARLYDEPTH_TEST1 0x0062 ///< Unknown
    +
    112 #define GPUREG_EARLYDEPTH_CLEAR 0x0063 ///< Unknown
    +
    113 #define GPUREG_SH_OUTATTR_MODE 0x0064 ///< Shader output attributes mode.
    +
    114 #define GPUREG_SCISSORTEST_MODE 0x0065 ///< Scissor test mode.
    +
    115 #define GPUREG_SCISSORTEST_POS 0x0066 ///< Scissor test position.
    +
    116 #define GPUREG_SCISSORTEST_DIM 0x0067 ///< Scissor text dimensions.
    +
    117 #define GPUREG_VIEWPORT_XY 0x0068 ///< Viewport X and Y.
    +
    118 #define GPUREG_0069 0x0069 ///< Unknown
    +
    119 #define GPUREG_EARLYDEPTH_DATA 0x006A ///< Unknown
    +
    120 #define GPUREG_006B 0x006B ///< Unknown
    +
    121 #define GPUREG_006C 0x006C ///< Unknown
    +
    122 #define GPUREG_DEPTHMAP_ENABLE 0x006D ///< Depth map enable.
    +
    123 #define GPUREG_RENDERBUF_DIM 0x006E ///< Renderbuffer dimensions.
    +
    124 #define GPUREG_SH_OUTATTR_CLOCK 0x006F ///< Shader output attributes clock enable.
    +
    125 #define GPUREG_0070 0x0070 ///< Unknown
    +
    126 #define GPUREG_0071 0x0071 ///< Unknown
    +
    127 #define GPUREG_0072 0x0072 ///< Unknown
    +
    128 #define GPUREG_0073 0x0073 ///< Unknown
    +
    129 #define GPUREG_0074 0x0074 ///< Unknown
    +
    130 #define GPUREG_0075 0x0075 ///< Unknown
    +
    131 #define GPUREG_0076 0x0076 ///< Unknown
    +
    132 #define GPUREG_0077 0x0077 ///< Unknown
    +
    133 #define GPUREG_0078 0x0078 ///< Unknown
    +
    134 #define GPUREG_0079 0x0079 ///< Unknown
    +
    135 #define GPUREG_007A 0x007A ///< Unknown
    +
    136 #define GPUREG_007B 0x007B ///< Unknown
    +
    137 #define GPUREG_007C 0x007C ///< Unknown
    +
    138 #define GPUREG_007D 0x007D ///< Unknown
    +
    139 #define GPUREG_007E 0x007E ///< Unknown
    +
    140 #define GPUREG_007F 0x007F ///< Unknown
    +
    141 ///@}
    +
    142 
    +
    143 ///@name Texturing registers (0x080-0x0FF)
    +
    144 ///@{
    +
    145 #define GPUREG_TEXUNIT_CONFIG 0x0080 ///< Texture unit configuration.
    +
    146 #define GPUREG_TEXUNIT0_BORDER_COLOR 0x0081 ///< Texture unit 0 border color.
    +
    147 #define GPUREG_TEXUNIT0_DIM 0x0082 ///< Texture unit 0 dimensions.
    +
    148 #define GPUREG_TEXUNIT0_PARAM 0x0083 ///< Texture unit 0 parameters.
    +
    149 #define GPUREG_TEXUNIT0_LOD 0x0084 ///< Texture unit 0 LOD.
    +
    150 #define GPUREG_TEXUNIT0_ADDR1 0x0085 ///< Texture unit 0 address.
    +
    151 #define GPUREG_TEXUNIT0_ADDR2 0x0086 ///< Unknown.
    +
    152 #define GPUREG_TEXUNIT0_ADDR3 0x0087 ///< Unknown.
    +
    153 #define GPUREG_TEXUNIT0_ADDR4 0x0088 ///< Unknown.
    +
    154 #define GPUREG_TEXUNIT0_ADDR5 0x0089 ///< Unknown.
    +
    155 #define GPUREG_TEXUNIT0_ADDR6 0x008A ///< Unknown.
    +
    156 #define GPUREG_TEXUNIT0_SHADOW 0x008B ///< Unknown.
    +
    157 #define GPUREG_008C 0x008C ///< Unknown.
    +
    158 #define GPUREG_008D 0x008D ///< Unknown.
    +
    159 #define GPUREG_TEXUNIT0_TYPE 0x008E ///< Texture unit 0 type.
    +
    160 #define GPUREG_LIGHTING_ENABLE0 0x008F ///< Lighting toggle.
    +
    161 #define GPUREG_0090 0x0090 ///< Unknown.
    +
    162 #define GPUREG_TEXUNIT1_BORDER_COLOR 0x0091 ///< Texture unit 1 border color.
    +
    163 #define GPUREG_TEXUNIT1_DIM 0x0092 ///< Texture unit 1 dimensions.
    +
    164 #define GPUREG_TEXUNIT1_PARAM 0x0093 ///< Texture unit 1 parameters.
    +
    165 #define GPUREG_TEXUNIT1_LOD 0x0094 ///< Texture unit 1 LOD.
    +
    166 #define GPUREG_TEXUNIT1_ADDR 0x0095 ///< Texture unit 1 address.
    +
    167 #define GPUREG_TEXUNIT1_TYPE 0x0096 ///< Texture unit 1 type.
    +
    168 #define GPUREG_0097 0x0097 ///< Unknown.
    +
    169 #define GPUREG_0098 0x0098 ///< Unknown.
    +
    170 #define GPUREG_TEXUNIT2_BORDER_COLOR 0x0099 ///< Texture unit 2 border color.
    +
    171 #define GPUREG_TEXUNIT2_DIM 0x009A ///< Texture unit 2 dimensions.
    +
    172 #define GPUREG_TEXUNIT2_PARAM 0x009B ///< Texture unit 2 parameters.
    +
    173 #define GPUREG_TEXUNIT2_LOD 0x009C ///< Texture unit 2 LOD.
    +
    174 #define GPUREG_TEXUNIT2_ADDR 0x009D ///< Texture unit 2 address.
    +
    175 #define GPUREG_TEXUNIT2_TYPE 0x009E ///< Texture unit 2 type.
    +
    176 #define GPUREG_009F 0x009F ///< Unknown.
    +
    177 #define GPUREG_00A0 0x00A0 ///< Unknown.
    +
    178 #define GPUREG_00A1 0x00A1 ///< Unknown.
    +
    179 #define GPUREG_00A2 0x00A2 ///< Unknown.
    +
    180 #define GPUREG_00A3 0x00A3 ///< Unknown.
    +
    181 #define GPUREG_00A4 0x00A4 ///< Unknown.
    +
    182 #define GPUREG_00A5 0x00A5 ///< Unknown.
    +
    183 #define GPUREG_00A6 0x00A6 ///< Unknown.
    +
    184 #define GPUREG_00A7 0x00A7 ///< Unknown.
    +
    185 #define GPUREG_TEXUNIT3_PROCTEX0 0x00A8 ///< Unknown.
    +
    186 #define GPUREG_TEXUNIT3_PROCTEX1 0x00A9 ///< Unknown.
    +
    187 #define GPUREG_TEXUNIT3_PROCTEX2 0x00AA ///< Unknown.
    +
    188 #define GPUREG_TEXUNIT3_PROCTEX3 0x00AB ///< Unknown.
    +
    189 #define GPUREG_TEXUNIT3_PROCTEX4 0x00A ///< Unknown.
    +
    190 #define GPUREG_TEXUNIT3_PROCTEX5 0x00D ///< Unknown.
    +
    191 #define GPUREG_00AE 0x00AE ///< Unknown.
    +
    192 #define GPUREG_PROCTEX_LUT 0x00AF ///< Unknown.
    +
    193 #define GPUREG_PROCTEX_LUT_DATA0 0x00B0 ///< Unknown.
    +
    194 #define GPUREG_PROCTEX_LUT_DATA1 0x00B1 ///< Unknown.
    +
    195 #define GPUREG_PROCTEX_LUT_DATA2 0x00B2 ///< Unknown.
    +
    196 #define GPUREG_PROCTEX_LUT_DATA3 0x00B3 ///< Unknown.
    +
    197 #define GPUREG_PROCTEX_LUT_DATA4 0x00B4 ///< Unknown.
    +
    198 #define GPUREG_PROCTEX_LUT_DATA5 0x00B5 ///< Unknown.
    +
    199 #define GPUREG_PROCTEX_LUT_DATA6 0x00B6 ///< Unknown.
    +
    200 #define GPUREG_PROCTEX_LUT_DATA7 0x00B7 ///< Unknown.
    +
    201 #define GPUREG_00B8 0x00B8 ///< Unknown.
    +
    202 #define GPUREG_00B9 0x00B9 ///< Unknown.
    +
    203 #define GPUREG_00BA 0x00BA ///< Unknown.
    +
    204 #define GPUREG_00BB 0x00BB ///< Unknown.
    +
    205 #define GPUREG_00BC 0x00BC ///< Unknown.
    +
    206 #define GPUREG_00BD 0x00BD ///< Unknown.
    +
    207 #define GPUREG_00BE 0x00BE ///< Unknown.
    +
    208 #define GPUREG_00BF 0x00BF ///< Unknown.
    +
    209 #define GPUREG_TEXENV0_SOURCE 0x00C0 ///< Texture env 0 source.
    +
    210 #define GPUREG_TEXENV0_OPERAND 0x00C1 ///< Texture env 0 operand.
    +
    211 #define GPUREG_TEXENV0_COMBINER 0x00C2 ///< Texture env 0 combiner.
    +
    212 #define GPUREG_TEXENV0_COLOR 0x00C3 ///< Texture env 0 color.
    +
    213 #define GPUREG_TEXENV0_SCALE 0x00C4 ///< Texture env 0 scale.
    +
    214 #define GPUREG_00C5 0x00C5 ///< Unknown.
    +
    215 #define GPUREG_00C6 0x00C6 ///< Unknown.
    +
    216 #define GPUREG_00C7 0x00C7 ///< Unknown.
    +
    217 #define GPUREG_TEXENV1_SOURCE 0x00C8 ///< Texture env 1 source.
    +
    218 #define GPUREG_TEXENV1_OPERAND 0x00C9 ///< Texture env 1 operand.
    +
    219 #define GPUREG_TEXENV1_COMBINER 0x00CA ///< Texture env 1 combiner.
    +
    220 #define GPUREG_TEXENV1_COLOR 0x00CB ///< Texture env 1 color.
    +
    221 #define GPUREG_TEXENV1_SCALE 0x00CC ///< Texture env 1 scale.
    +
    222 #define GPUREG_00CD 0x00CD ///< Unknown.
    +
    223 #define GPUREG_00CE 0x00CE ///< Unknown.
    +
    224 #define GPUREG_00CF 0x00CF ///< Unknown.
    +
    225 #define GPUREG_TEXENV2_SOURCE 0x00D0 ///< Texture env 2 source.
    +
    226 #define GPUREG_TEXENV2_OPERAND 0x00D1 ///< Texture env 2 operand.
    +
    227 #define GPUREG_TEXENV2_COMBINER 0x00D2 ///< Texture env 2 combiner.
    +
    228 #define GPUREG_TEXENV2_COLOR 0x00D3 ///< Texture env 2 color.
    +
    229 #define GPUREG_TEXENV2_SCALE 0x00D4 ///< Texture env 2 scale.
    +
    230 #define GPUREG_00D5 0x00D5 ///< Unknown.
    +
    231 #define GPUREG_00D6 0x00D6 ///< Unknown.
    +
    232 #define GPUREG_00D7 0x00D7 ///< Unknown.
    +
    233 #define GPUREG_TEXENV3_SOURCE 0x00D8 ///< Texture env 3 source.
    +
    234 #define GPUREG_TEXENV3_OPERAND 0x00D9 ///< Texture env 3 operand.
    +
    235 #define GPUREG_TEXENV3_COMBINER 0x00DA ///< Texture env 3 combiner.
    +
    236 #define GPUREG_TEXENV3_COLOR 0x00DB ///< Texture env 3 color.
    +
    237 #define GPUREG_TEXENV3_SCALE 0x00DC ///< Texture env 3 scale.
    +
    238 #define GPUREG_00DD 0x00DD ///< Unknown.
    +
    239 #define GPUREG_00DE 0x00DE ///< Unknown.
    +
    240 #define GPUREG_00DF 0x00DF ///< Unknown.
    +
    241 #define GPUREG_TEXENV_UPDATE_BUFFER 0x00E0 ///< Texture env buffer update flag.
    +
    242 #define GPUREG_FOG_COLOR 0x00E1 ///< Unknown.
    +
    243 #define GPUREG_00E2 0x00E2 ///< Unknown.
    +
    244 #define GPUREG_00E3 0x00E3 ///< Unknown.
    +
    245 #define GPUREG_GAS_ATTENUATION 0x00E4 ///< Unknown.
    +
    246 #define GPUREG_GAS_ACCMAX 0x00E5 ///< Unknown.
    +
    247 #define GPUREG_FOG_LUT_INDEX 0x00E6 ///< Unknown.
    +
    248 #define GPUREG_00E7 0x00E7 ///< Unknown.
    +
    249 #define GPUREG_FOG_LUT_DATA0 0x00E8 ///< Unknown.
    +
    250 #define GPUREG_FOG_LUT_DATA1 0x00E9 ///< Unknown.
    +
    251 #define GPUREG_FOG_LUT_DATA2 0x00EA ///< Unknown.
    +
    252 #define GPUREG_FOG_LUT_DATA3 0x00EB ///< Unknown.
    +
    253 #define GPUREG_FOG_LUT_DATA4 0x00EC ///< Unknown.
    +
    254 #define GPUREG_FOG_LUT_DATA5 0x00ED ///< Unknown.
    +
    255 #define GPUREG_FOG_LUT_DATA6 0x00EE ///< Unknown.
    +
    256 #define GPUREG_FOG_LUT_DATA7 0x00EF ///< Unknown.
    +
    257 #define GPUREG_TEXENV4_SOURCE 0x00F0 ///< Texture env 4 source.
    +
    258 #define GPUREG_TEXENV4_OPERAND 0x00F1 ///< Texture env 4 operand.
    +
    259 #define GPUREG_TEXENV4_COMBINER 0x00F2 ///< Texture env 4 combiner.
    +
    260 #define GPUREG_TEXENV4_COLOR 0x00F3 ///< Texture env 4 color.
    +
    261 #define GPUREG_TEXENV4_SCALE 0x00F4 ///< Texture env 4 scale.
    +
    262 #define GPUREG_00F5 0x00F5 ///< Unknown.
    +
    263 #define GPUREG_00F6 0x00F6 ///< Unknown.
    +
    264 #define GPUREG_00F7 0x00F7 ///< Unknown.
    +
    265 #define GPUREG_TEXENV5_SOURCE 0x00F8 ///< Texture env 5 source.
    +
    266 #define GPUREG_TEXENV5_OPERAND 0x00F9 ///< Texture env 5 operand.
    +
    267 #define GPUREG_TEXENV5_COMBINER 0x00FA ///< Texture env 5 combiner.
    +
    268 #define GPUREG_TEXENV5_COLOR 0x00FB ///< Texture env 5 color.
    +
    269 #define GPUREG_TEXENV5_SCALE 0x00FC ///< Texture env 5 scale.
    +
    270 #define GPUREG_TEXENV_BUFFER_COLOR 0x00FD ///< Texture env buffer color.
    +
    271 #define GPUREG_00FE 0x00FE ///< Unknown.
    +
    272 #define GPUREG_00FF 0x00FF ///< Unknown.
    +
    273 ///@}
    +
    274 
    +
    275 ///@name Framebuffer registers (0x100-0x13F)
    +
    276 ///@{
    +
    277 #define GPUREG_COLOR_OPERATION 0x0100 ///< Configures fragment operation and blend mode.
    +
    278 #define GPUREG_BLEND_FUNC 0x0101 ///< Blend function configuration.
    +
    279 #define GPUREG_LOGIC_OP 0x0102 ///< Logical operator configuration.
    +
    280 #define GPUREG_BLEND_COLOR 0x0103 ///< Blend color.
    +
    281 #define GPUREG_FRAGOP_ALPHA_TEST 0x0104 ///< Alpha test configuration.
    +
    282 #define GPUREG_STENCIL_TEST 0x0105 ///< Stencil test configuration.
    +
    283 #define GPUREG_STENCIL_OP 0x0106 ///< Stencil test operation.
    +
    284 #define GPUREG_DEPTH_COLOR_MASK 0x0107 ///< Depth test and color mask configuration.
    +
    285 #define GPUREG_0108 0x0108 ///< Unknown.
    +
    286 #define GPUREG_0109 0x0109 ///< Unknown.
    +
    287 #define GPUREG_010A 0x010A ///< Unknown.
    +
    288 #define GPUREG_010B 0x010B ///< Unknown.
    +
    289 #define GPUREG_010C 0x010C ///< Unknown.
    +
    290 #define GPUREG_010D 0x010D ///< Unknown.
    +
    291 #define GPUREG_010E 0x010E ///< Unknown.
    +
    292 #define GPUREG_010F 0x010F ///< Unknown.
    +
    293 #define GPUREG_FRAMEBUFFER_INVALIDATE 0x0110 ///< Invalidates the frame buffer.
    +
    294 #define GPUREG_FRAMEBUFFER_FLUSH 0x0111 ///< Flushes the frame buffer.
    +
    295 #define GPUREG_COLORBUFFER_READ 0x0112 ///< Reads from the color buffer.
    +
    296 #define GPUREG_COLORBUFFER_WRITE 0x0113 ///< Writes to the color buffer.
    +
    297 #define GPUREG_DEPTHBUFFER_READ 0x0114 ///< Reads from the depth buffer.
    +
    298 #define GPUREG_DEPTHBUFFER_WRITE 0x0115 ///< Writes to the depth buffer.
    +
    299 #define GPUREG_DEPTHBUFFER_FORMAT 0x0116 ///< Depth buffer format.
    +
    300 #define GPUREG_COLORBUFFER_FORMAT 0x0117 ///< Color buffer format.
    +
    301 #define GPUREG_EARLYDEPTH_TEST2 0x0118 ///< Unknown.
    +
    302 #define GPUREG_0119 0x0119 ///< Unknown.
    +
    303 #define GPUREG_011A 0x011A ///< Unknown.
    +
    304 #define GPUREG_FRAMEBUFFER_BLOCK32 0x011B ///< Frame buffer block 32.
    +
    305 #define GPUREG_DEPTHBUFFER_LOC 0x011C ///< Depth buffer location.
    +
    306 #define GPUREG_COLORBUFFER_LOC 0x011D ///< Color buffer location.
    +
    307 #define GPUREG_FRAMEBUFFER_DIM 0x011E ///< Frame buffer dimensions.
    +
    308 #define GPUREG_011F 0x011F ///< Unknown.
    +
    309 #define GPUREG_GAS_LIGHT_XY 0x0120 ///< Unknown.
    +
    310 #define GPUREG_GAS_LIGHT_Z 0x0121 ///< Unknown.
    +
    311 #define GPUREG_GAS_LIGHT_Z_COLOR 0x0122 ///< Unknown.
    +
    312 #define GPUREG_GAS_LUT_INDEX 0x0123 ///< Unknown.
    +
    313 #define GPUREG_GAS_LUT_DATA 0x0124 ///< Unknown.
    +
    314 #define GPUREG_GAS_ACCMAX_FEEDBACK 0x0125 ///< Unknown.
    +
    315 #define GPUREG_GAS_DELTAZ_DEPTH 0x0126 ///< Unknown.
    +
    316 #define GPUREG_0127 0x0127 ///< Unknown.
    +
    317 #define GPUREG_0128 0x0128 ///< Unknown.
    +
    318 #define GPUREG_0129 0x0129 ///< Unknown.
    +
    319 #define GPUREG_012A 0x012A ///< Unknown.
    +
    320 #define GPUREG_012B 0x012B ///< Unknown.
    +
    321 #define GPUREG_012C 0x012C ///< Unknown.
    +
    322 #define GPUREG_012D 0x012D ///< Unknown.
    +
    323 #define GPUREG_012E 0x012E ///< Unknown.
    +
    324 #define GPUREG_012F 0x012F ///< Unknown.
    +
    325 #define GPUREG_FRAGOP_SHADOW 0x0130 ///< Unknown.
    +
    326 #define GPUREG_0131 0x0131 ///< Unknown.
    +
    327 #define GPUREG_0132 0x0132 ///< Unknown.
    +
    328 #define GPUREG_0133 0x0133 ///< Unknown.
    +
    329 #define GPUREG_0134 0x0134 ///< Unknown.
    +
    330 #define GPUREG_0135 0x0135 ///< Unknown.
    +
    331 #define GPUREG_0136 0x0136 ///< Unknown.
    +
    332 #define GPUREG_0137 0x0137 ///< Unknown.
    +
    333 #define GPUREG_0138 0x0138 ///< Unknown.
    +
    334 #define GPUREG_0139 0x0139 ///< Unknown.
    +
    335 #define GPUREG_013A 0x013A ///< Unknown.
    +
    336 #define GPUREG_013B 0x013B ///< Unknown.
    +
    337 #define GPUREG_013C 0x013C ///< Unknown.
    +
    338 #define GPUREG_013D 0x013D ///< Unknown.
    +
    339 #define GPUREG_013E 0x013E ///< Unknown.
    +
    340 #define GPUREG_013F 0x013F ///< Unknown.
    +
    341 ///@}
    +
    342 
    +
    343 ///@name Fragment lighting registers (0x140-0x1FF)
    +
    344 ///@{
    +
    345 #define GPUREG_LIGHT0_SPECULAR0 0x0140 ///< Light 0 specular lighting.
    +
    346 #define GPUREG_LIGHT0_SPECULAR1 0x0141 ///< Light 0 specular lighting.
    +
    347 #define GPUREG_LIGHT0_DIFFUSE 0x0142 ///< Light 0 diffuse lighting.
    +
    348 #define GPUREG_LIGHT0_AMBIENT 0x0143 ///< Light 0 ambient lighting.
    +
    349 #define GPUREG_LIGHT0_XY 0x0144 ///< Light 0 X and Y.
    +
    350 #define GPUREG_LIGHT0_Z 0x0145 ///< Light 0 Z.
    +
    351 #define GPUREG_LIGHT0_SPOTDIR_XY 0x0146 ///< Light 0 spotlight direction X and Y.
    +
    352 #define GPUREG_LIGHT0_SPOTDIR_Z 0x0147 ///< Light 0 spotlight direction Z.
    +
    353 #define GPUREG_0148 0x0148 ///< Unknown.
    +
    354 #define GPUREG_LIGHT0_CONFIG 0x0149 ///< Light 0 configuration.
    +
    355 #define GPUREG_LIGHT0_ATTENUATION_BIAS 0x014A ///< Light 0 attenuation bias.
    +
    356 #define GPUREG_LIGHT0_ATTENUATION_SCALE 0x014B ///< Light 0 attenuation scale.
    +
    357 #define GPUREG_014C 0x014C ///< Unknown.
    +
    358 #define GPUREG_014D 0x014D ///< Unknown.
    +
    359 #define GPUREG_014E 0x014E ///< Unknown.
    +
    360 #define GPUREG_014F 0x014F ///< Unknown.
    +
    361 #define GPUREG_LIGHT1_SPECULAR0 0x0150 ///< Light 1 specular lighting.
    +
    362 #define GPUREG_LIGHT1_SPECULAR1 0x0151 ///< Light 1 specular lighting.
    +
    363 #define GPUREG_LIGHT1_DIFFUSE 0x0152 ///< Light 1 diffuse lighting.
    +
    364 #define GPUREG_LIGHT1_AMBIENT 0x0153 ///< Light 1 ambient lighting.
    +
    365 #define GPUREG_LIGHT1_XY 0x0154 ///< Light 1 X and Y.
    +
    366 #define GPUREG_LIGHT1_Z 0x0155 ///< Light 1 Z.
    +
    367 #define GPUREG_LIGHT1_SPOTDIR_XY 0x0156 ///< Light 1 spotlight direction X and Y.
    +
    368 #define GPUREG_LIGHT1_SPOTDIR_Z 0x0157 ///< Light 1 spotlight direction Z.
    +
    369 #define GPUREG_0158 0x0158 ///< Unknown.
    +
    370 #define GPUREG_LIGHT1_CONFIG 0x0159 ///< Light 1 configuration.
    +
    371 #define GPUREG_LIGHT1_ATTENUATION_BIAS 0x015A ///< Light 1 attenuation bias.
    +
    372 #define GPUREG_LIGHT1_ATTENUATION_SCALE 0x015B ///< Light 1 attenuation scale.
    +
    373 #define GPUREG_015C 0x015C ///< Unknown.
    +
    374 #define GPUREG_015D 0x015D ///< Unknown.
    +
    375 #define GPUREG_015E 0x015E ///< Unknown.
    +
    376 #define GPUREG_015F 0x015F ///< Unknown.
    +
    377 #define GPUREG_LIGHT2_SPECULAR0 0x0160 ///< Light 2 specular lighting.
    +
    378 #define GPUREG_LIGHT2_SPECULAR1 0x0161 ///< Light 2 specular lighting.
    +
    379 #define GPUREG_LIGHT2_DIFFUSE 0x0162 ///< Light 2 diffuse lighting.
    +
    380 #define GPUREG_LIGHT2_AMBIENT 0x0163 ///< Light 2 ambient lighting.
    +
    381 #define GPUREG_LIGHT2_XY 0x0164 ///< Light 2 X and Y.
    +
    382 #define GPUREG_LIGHT2_Z 0x0165 ///< Light 2 Z.
    +
    383 #define GPUREG_LIGHT2_SPOTDIR_XY 0x0166 ///< Light 2 spotlight direction X and Y.
    +
    384 #define GPUREG_LIGHT2_SPOTDIR_Z 0x0167 ///< Light 2 spotlight direction Z.
    +
    385 #define GPUREG_0168 0x0168 ///< Unknown.
    +
    386 #define GPUREG_LIGHT2_CONFIG 0x0169 ///< Light 2 configuration.
    +
    387 #define GPUREG_LIGHT2_ATTENUATION_BIAS 0x016A ///< Light 2 attenuation bias.
    +
    388 #define GPUREG_LIGHT2_ATTENUATION_SCALE 0x016B ///< Light 2 attenuation scale.
    +
    389 #define GPUREG_016C 0x016C ///< Unknown.
    +
    390 #define GPUREG_016D 0x016D ///< Unknown.
    +
    391 #define GPUREG_016E 0x016E ///< Unknown.
    +
    392 #define GPUREG_016F 0x016F ///< Unknown.
    +
    393 #define GPUREG_LIGHT3_SPECULAR0 0x0170 ///< Light 3 specular lighting.
    +
    394 #define GPUREG_LIGHT3_SPECULAR1 0x0171 ///< Light 3 specular lighting.
    +
    395 #define GPUREG_LIGHT3_DIFFUSE 0x0172 ///< Light 3 diffuse lighting.
    +
    396 #define GPUREG_LIGHT3_AMBIENT 0x0173 ///< Light 3 ambient lighting.
    +
    397 #define GPUREG_LIGHT3_XY 0x0174 ///< Light 3 X and Y.
    +
    398 #define GPUREG_LIGHT3_Z 0x0175 ///< Light 3 Z.
    +
    399 #define GPUREG_LIGHT3_SPOTDIR_XY 0x0176 ///< Light 3 spotlight direction X and Y.
    +
    400 #define GPUREG_LIGHT3_SPOTDIR_Z 0x0177 ///< Light 3 spotlight direction Z.
    +
    401 #define GPUREG_0178 0x0178 ///< Unknown.
    +
    402 #define GPUREG_LIGHT3_CONFIG 0x0179 ///< Light 3 configuration.
    +
    403 #define GPUREG_LIGHT3_ATTENUATION_BIAS 0x017A ///< Light 3 attenuation bias.
    +
    404 #define GPUREG_LIGHT3_ATTENUATION_SCALE 0x017B ///< Light 3 attenuation scale.
    +
    405 #define GPUREG_017C 0x017C ///< Unknown.
    +
    406 #define GPUREG_017D 0x017D ///< Unknown.
    +
    407 #define GPUREG_017E 0x017E ///< Unknown.
    +
    408 #define GPUREG_017F 0x017F ///< Unknown.
    +
    409 #define GPUREG_LIGHT4_SPECULAR0 0x0180 ///< Light 4 specular lighting.
    +
    410 #define GPUREG_LIGHT4_SPECULAR1 0x0181 ///< Light 4 specular lighting.
    +
    411 #define GPUREG_LIGHT4_DIFFUSE 0x0182 ///< Light 4 diffuse lighting.
    +
    412 #define GPUREG_LIGHT4_AMBIENT 0x0183 ///< Light 4 ambient lighting.
    +
    413 #define GPUREG_LIGHT4_XY 0x0184 ///< Light 4 X and Y.
    +
    414 #define GPUREG_LIGHT4_Z 0x0185 ///< Light 4 Z.
    +
    415 #define GPUREG_LIGHT4_SPOTDIR_XY 0x0186 ///< Light 4 spotlight direction X and Y.
    +
    416 #define GPUREG_LIGHT4_SPOTDIR_Z 0x0187 ///< Light 4 spotlight direction Z.
    +
    417 #define GPUREG_0188 0x0188 ///< Unknown.
    +
    418 #define GPUREG_LIGHT4_CONFIG 0x0189 ///< Light 4 configuration.
    +
    419 #define GPUREG_LIGHT4_ATTENUATION_BIAS 0x018A ///< Light 4 attenuation bias.
    +
    420 #define GPUREG_LIGHT4_ATTENUATION_SCALE 0x018B ///< Light 4 attenuation scale.
    +
    421 #define GPUREG_018C 0x018C ///< Unknown.
    +
    422 #define GPUREG_018D 0x018D ///< Unknown.
    +
    423 #define GPUREG_018E 0x018E ///< Unknown.
    +
    424 #define GPUREG_018F 0x018F ///< Unknown.
    +
    425 #define GPUREG_LIGHT5_SPECULAR0 0x0190 ///< Light 5 specular lighting.
    +
    426 #define GPUREG_LIGHT5_SPECULAR1 0x0191 ///< Light 5 specular lighting.
    +
    427 #define GPUREG_LIGHT5_DIFFUSE 0x0192 ///< Light 5 diffuse lighting.
    +
    428 #define GPUREG_LIGHT5_AMBIENT 0x0193 ///< Light 5 ambient lighting.
    +
    429 #define GPUREG_LIGHT5_XY 0x0194 ///< Light 5 X and Y.
    +
    430 #define GPUREG_LIGHT5_Z 0x0195 ///< Light 5 Z.
    +
    431 #define GPUREG_LIGHT5_SPOTDIR_XY 0x0196 ///< Light 5 spotlight direction X and Y.
    +
    432 #define GPUREG_LIGHT5_SPOTDIR_Z 0x0197 ///< Light 5 spotlight direction Z.
    +
    433 #define GPUREG_0198 0x0198 ///< Unknown.
    +
    434 #define GPUREG_LIGHT5_CONFIG 0x0199 ///< Light 5 configuration.
    +
    435 #define GPUREG_LIGHT5_ATTENUATION_BIAS 0x019A ///< Light 5 attenuation bias.
    +
    436 #define GPUREG_LIGHT5_ATTENUATION_SCALE 0x019B ///< Light 5 attenuation scale.
    +
    437 #define GPUREG_019C 0x019C ///< Unknown.
    +
    438 #define GPUREG_019D 0x019D ///< Unknown.
    +
    439 #define GPUREG_019E 0x019E ///< Unknown.
    +
    440 #define GPUREG_019F 0x019F ///< Unknown.
    +
    441 #define GPUREG_LIGHT6_SPECULAR0 0x01A0 ///< Light 6 specular lighting.
    +
    442 #define GPUREG_LIGHT6_SPECULAR1 0x01A1 ///< Light 6 specular lighting.
    +
    443 #define GPUREG_LIGHT6_DIFFUSE 0x01A2 ///< Light 6 diffuse lighting.
    +
    444 #define GPUREG_LIGHT6_AMBIENT 0x01A3 ///< Light 6 ambient lighting.
    +
    445 #define GPUREG_LIGHT6_XY 0x01A4 ///< Light 6 X and Y.
    +
    446 #define GPUREG_LIGHT6_Z 0x01A5 ///< Light 6 Z.
    +
    447 #define GPUREG_LIGHT6_SPOTDIR_XY 0x01A6 ///< Light 6 spotlight direction X and Y.
    +
    448 #define GPUREG_LIGHT6_SPOTDIR_Z 0x01A7 ///< Light 6 spotlight direction Z.
    +
    449 #define GPUREG_01A8 0x01A8 ///< Unknown.
    +
    450 #define GPUREG_LIGHT6_CONFIG 0x01A9 ///< Light 6 configuration.
    +
    451 #define GPUREG_LIGHT6_ATTENUATION_BIAS 0x01AA ///< Light 6 attenuation bias.
    +
    452 #define GPUREG_LIGHT6_ATTENUATION_SCALE 0x01AB ///< Light 6 attenuation scale.
    +
    453 #define GPUREG_01AC 0x01AC ///< Unknown.
    +
    454 #define GPUREG_01AD 0x01AD ///< Unknown.
    +
    455 #define GPUREG_01AE 0x01AE ///< Unknown.
    +
    456 #define GPUREG_01AF 0x01AF ///< Unknown.
    +
    457 #define GPUREG_LIGHT7_SPECULAR0 0x01B0 ///< Light 7 specular lighting.
    +
    458 #define GPUREG_LIGHT7_SPECULAR1 0x01B1 ///< Light 7 specular lighting.
    +
    459 #define GPUREG_LIGHT7_DIFFUSE 0x01B2 ///< Light 7 diffuse lighting.
    +
    460 #define GPUREG_LIGHT7_AMBIENT 0x01B3 ///< Light 7 ambient lighting.
    +
    461 #define GPUREG_LIGHT7_XY 0x01B4 ///< Light 7 X and Y.
    +
    462 #define GPUREG_LIGHT7_Z 0x01B5 ///< Light 7 Z.
    +
    463 #define GPUREG_LIGHT7_SPOTDIR_XY 0x01B6 ///< Light 7 spotlight direction X and Y.
    +
    464 #define GPUREG_LIGHT7_SPOTDIR_Z 0x01B7 ///< Light 7 spotlight direction Z.
    +
    465 #define GPUREG_01B8 0x01B8 ///< Unknown.
    +
    466 #define GPUREG_LIGHT7_CONFIG 0x01B9 ///< Light 7 configuration.
    +
    467 #define GPUREG_LIGHT7_ATTENUATION_BIAS 0x01BA ///< Light 7 attenuation bias.
    +
    468 #define GPUREG_LIGHT7_ATTENUATION_SCALE 0x01BB ///< Light 7 attenuation scale.
    +
    469 #define GPUREG_01BC 0x01BC ///< Unknown.
    +
    470 #define GPUREG_01BD 0x01BD ///< Unknown.
    +
    471 #define GPUREG_01BE 0x01BE ///< Unknown.
    +
    472 #define GPUREG_01BF 0x01BF ///< Unknown.
    +
    473 #define GPUREG_LIGHTING_AMBIENT 0x01C0 ///< Ambient lighting.
    +
    474 #define GPUREG_01C1 0x01C1 ///< Unknown.
    +
    475 #define GPUREG_LIGHTING_NUM_LIGHTS 0x01C2 ///< Number of lights.
    +
    476 #define GPUREG_LIGHTING_CONFIG0 0x01C3 ///< Lighting configuration.
    +
    477 #define GPUREG_LIGHTING_CONFIG1 0x01C4 ///< Lighting configuration.
    +
    478 #define GPUREG_LIGHTING_LUT_INDEX 0x01C5 ///< LUT index.
    +
    479 #define GPUREG_LIGHTING_ENABLE1 0x01C6 ///< Lighting toggle.
    +
    480 #define GPUREG_01C7 0x01C7 ///< Unknown.
    +
    481 #define GPUREG_LIGHTING_LUT_DATA0 0x01C8 ///< LUT data 0.
    +
    482 #define GPUREG_LIGHTING_LUT_DATA1 0x01C9 ///< LUT data 1.
    +
    483 #define GPUREG_LIGHTING_LUT_DATA2 0x01CA ///< LUT data 2.
    +
    484 #define GPUREG_LIGHTING_LUT_DATA3 0x01CB ///< LUT data 3.
    +
    485 #define GPUREG_LIGHTING_LUT_DATA4 0x01CC ///< LUT data 4.
    +
    486 #define GPUREG_LIGHTING_LUT_DATA5 0x01CD ///< LUT data 5.
    +
    487 #define GPUREG_LIGHTING_LUT_DATA6 0x01CE ///< LUT data 6.
    +
    488 #define GPUREG_LIGHTING_LUT_DATA7 0x01CF ///< LUT data 7.
    +
    489 #define GPUREG_LIGHTING_LUTINPUT_ABS 0x01D0 ///< LUT input abs.
    +
    490 #define GPUREG_LIGHTING_LUTINPUT_SELECT 0x01D1 ///< LUT input selector.
    +
    491 #define GPUREG_LIGHTING_LUTINPUT_SCALE 0x01D2 ///< LUT input scale.
    +
    492 #define GPUREG_01D3 0x01D3 ///< Unknown.
    +
    493 #define GPUREG_01D4 0x01D4 ///< Unknown.
    +
    494 #define GPUREG_01D5 0x01D5 ///< Unknown.
    +
    495 #define GPUREG_01D6 0x01D6 ///< Unknown.
    +
    496 #define GPUREG_01D7 0x01D7 ///< Unknown.
    +
    497 #define GPUREG_01D8 0x01D8 ///< Unknown.
    +
    498 #define GPUREG_LIGHTING_LIGHT_PERMUTATION 0x01D9 ///< Light permutation.
    +
    499 #define GPUREG_01DA 0x01DA ///< Unknown.
    +
    500 #define GPUREG_01DB 0x01DB ///< Unknown.
    +
    501 #define GPUREG_01DC 0x01DC ///< Unknown.
    +
    502 #define GPUREG_01DD 0x01DD ///< Unknown.
    +
    503 #define GPUREG_01DE 0x01DE ///< Unknown.
    +
    504 #define GPUREG_01DF 0x01DF ///< Unknown.
    +
    505 #define GPUREG_01E0 0x01E0 ///< Unknown.
    +
    506 #define GPUREG_01E1 0x01E1 ///< Unknown.
    +
    507 #define GPUREG_01E2 0x01E2 ///< Unknown.
    +
    508 #define GPUREG_01E3 0x01E3 ///< Unknown.
    +
    509 #define GPUREG_01E4 0x01E4 ///< Unknown.
    +
    510 #define GPUREG_01E5 0x01E5 ///< Unknown.
    +
    511 #define GPUREG_01E6 0x01E6 ///< Unknown.
    +
    512 #define GPUREG_01E7 0x01E7 ///< Unknown.
    +
    513 #define GPUREG_01E8 0x01E8 ///< Unknown.
    +
    514 #define GPUREG_01E9 0x01E9 ///< Unknown.
    +
    515 #define GPUREG_01EA 0x01EA ///< Unknown.
    +
    516 #define GPUREG_01EB 0x01EB ///< Unknown.
    +
    517 #define GPUREG_01EC 0x01EC ///< Unknown.
    +
    518 #define GPUREG_01ED 0x01ED ///< Unknown.
    +
    519 #define GPUREG_01EE 0x01EE ///< Unknown.
    +
    520 #define GPUREG_01EF 0x01EF ///< Unknown.
    +
    521 #define GPUREG_01F0 0x01F0 ///< Unknown.
    +
    522 #define GPUREG_01F1 0x01F1 ///< Unknown.
    +
    523 #define GPUREG_01F2 0x01F2 ///< Unknown.
    +
    524 #define GPUREG_01F3 0x01F3 ///< Unknown.
    +
    525 #define GPUREG_01F4 0x01F4 ///< Unknown.
    +
    526 #define GPUREG_01F5 0x01F5 ///< Unknown.
    +
    527 #define GPUREG_01F6 0x01F6 ///< Unknown.
    +
    528 #define GPUREG_01F7 0x01F7 ///< Unknown.
    +
    529 #define GPUREG_01F8 0x01F8 ///< Unknown.
    +
    530 #define GPUREG_01F9 0x01F9 ///< Unknown.
    +
    531 #define GPUREG_01FA 0x01FA ///< Unknown.
    +
    532 #define GPUREG_01FB 0x01FB ///< Unknown.
    +
    533 #define GPUREG_01FC 0x01FC ///< Unknown.
    +
    534 #define GPUREG_01FD 0x01FD ///< Unknown.
    +
    535 #define GPUREG_01FE 0x01FE ///< Unknown.
    +
    536 #define GPUREG_01FF 0x01FF ///< Unknown.
    +
    537 ///@}
    +
    538 
    +
    539 ///@name Geometry pipeline registers (0x200-0x27F)
    +
    540 ///@{
    +
    541 #define GPUREG_ATTRIBBUFFERS_LOC 0x0200 ///< Attribute buffers location.
    +
    542 #define GPUREG_ATTRIBBUFFERS_FORMAT_LOW 0x0201 ///< Attribute buffers format low.
    +
    543 #define GPUREG_ATTRIBBUFFERS_FORMAT_HIGH 0x0202 ///< Attribute buffers format high.
    +
    544 #define GPUREG_ATTRIBBUFFER0_OFFSET 0x0203 ///< Attribute buffers 0 offset.
    +
    545 #define GPUREG_ATTRIBBUFFER0_CONFIG1 0x0204 ///< Attribute buffers 0 configuration.
    +
    546 #define GPUREG_ATTRIBBUFFER0_CONFIG2 0x0205 ///< Attribute buffers 0 configuration.
    +
    547 #define GPUREG_ATTRIBBUFFER1_OFFSET 0x0206 ///< Attribute buffers 1 offset.
    +
    548 #define GPUREG_ATTRIBBUFFER1_CONFIG1 0x0207 ///< Attribute buffers 1 configuration.
    +
    549 #define GPUREG_ATTRIBBUFFER1_CONFIG2 0x0208 ///< Attribute buffers 1 configuration.
    +
    550 #define GPUREG_ATTRIBBUFFER2_OFFSET 0x0209 ///< Attribute buffers 2 offset.
    +
    551 #define GPUREG_ATTRIBBUFFER2_CONFIG1 0x020A ///< Attribute buffers 2 configuration.
    +
    552 #define GPUREG_ATTRIBBUFFER2_CONFIG2 0x020B ///< Attribute buffers 2 configuration.
    +
    553 #define GPUREG_ATTRIBBUFFER3_OFFSET 0x020C ///< Attribute buffers 3 offset.
    +
    554 #define GPUREG_ATTRIBBUFFER3_CONFIG1 0x020D ///< Attribute buffers 3 configuration.
    +
    555 #define GPUREG_ATTRIBBUFFER3_CONFIG2 0x020E ///< Attribute buffers 3 configuration.
    +
    556 #define GPUREG_ATTRIBBUFFER4_OFFSET 0x020F ///< Attribute buffers 4 offset.
    +
    557 #define GPUREG_ATTRIBBUFFER4_CONFIG1 0x0210 ///< Attribute buffers 4 configuration.
    +
    558 #define GPUREG_ATTRIBBUFFER4_CONFIG2 0x0211 ///< Attribute buffers 4 configuration.
    +
    559 #define GPUREG_ATTRIBBUFFER5_OFFSET 0x0212 ///< Attribute buffers 5 offset.
    +
    560 #define GPUREG_ATTRIBBUFFER5_CONFIG1 0x0213 ///< Attribute buffers 5 configuration.
    +
    561 #define GPUREG_ATTRIBBUFFER5_CONFIG2 0x0214 ///< Attribute buffers 5 configuration.
    +
    562 #define GPUREG_ATTRIBBUFFER6_OFFSET 0x0215 ///< Attribute buffers 6 offset.
    +
    563 #define GPUREG_ATTRIBBUFFER6_CONFIG1 0x0216 ///< Attribute buffers 6 configuration.
    +
    564 #define GPUREG_ATTRIBBUFFER6_CONFIG2 0x0217 ///< Attribute buffers 6 configuration.
    +
    565 #define GPUREG_ATTRIBBUFFER7_OFFSET 0x0218 ///< Attribute buffers 7 offset.
    +
    566 #define GPUREG_ATTRIBBUFFER7_CONFIG1 0x0219 ///< Attribute buffers 7 configuration.
    +
    567 #define GPUREG_ATTRIBBUFFER7_CONFIG2 0x021A ///< Attribute buffers 7 configuration.
    +
    568 #define GPUREG_ATTRIBBUFFER8_OFFSET 0x021B ///< Attribute buffers 8 offset.
    +
    569 #define GPUREG_ATTRIBBUFFER8_CONFIG1 0x021C ///< Attribute buffers 8 configuration.
    +
    570 #define GPUREG_ATTRIBBUFFER8_CONFIG2 0x021D ///< Attribute buffers 8 configuration.
    +
    571 #define GPUREG_ATTRIBBUFFER9_OFFSET 0x021E ///< Attribute buffers 9 offset.
    +
    572 #define GPUREG_ATTRIBBUFFER9_CONFIG1 0x021F ///< Attribute buffers 9 configuration.
    +
    573 #define GPUREG_ATTRIBBUFFER9_CONFIG2 0x0220 ///< Attribute buffers 9 configuration.
    +
    574 #define GPUREG_ATTRIBBUFFERA_OFFSET 0x0221 ///< Attribute buffers A offset.
    +
    575 #define GPUREG_ATTRIBBUFFERA_CONFIG1 0x0222 ///< Attribute buffers A configuration.
    +
    576 #define GPUREG_ATTRIBBUFFERA_CONFIG2 0x0223 ///< Attribute buffers A configuration.
    +
    577 #define GPUREG_ATTRIBBUFFERB_OFFSET 0x0224 ///< Attribute buffers B offset.
    +
    578 #define GPUREG_ATTRIBBUFFERB_CONFIG1 0x0225 ///< Attribute buffers B configuration.
    +
    579 #define GPUREG_ATTRIBBUFFERB_CONFIG2 0x0226 ///< Attribute buffers B configuration.
    +
    580 #define GPUREG_INDEXBUFFER_CONFIG 0x0227 ///< Index buffer configuration.
    +
    581 #define GPUREG_NUMVERTICES 0x0228 ///< Number of vertices.
    +
    582 #define GPUREG_GEOSTAGE_CONFIG 0x0229 ///< Geometry stage configuration.
    +
    583 #define GPUREG_VERTEX_OFFSET 0x022A ///< Vertex offset.
    +
    584 #define GPUREG_022B 0x022B ///< Unknown.
    +
    585 #define GPUREG_022C 0x022C ///< Unknown.
    +
    586 #define GPUREG_POST_VERTEX_CACHE_NUM 0x022D ///< Unknown.
    +
    587 #define GPUREG_DRAWARRAYS 0x022E ///< Draw arrays trigger.
    +
    588 #define GPUREG_DRAWELEMENTS 0x022F ///< Draw arrays elements.
    +
    589 #define GPUREG_0230 0x0230 ///< Unknown.
    +
    590 #define GPUREG_VTX_FUNC 0x0231 ///< Unknown.
    +
    591 #define GPUREG_FIXEDATTRIB_INDEX 0x0232 ///< Fixed attribute index.
    +
    592 #define GPUREG_FIXEDATTRIB_DATA0 0x0233 ///< Fixed attribute data 0.
    +
    593 #define GPUREG_FIXEDATTRIB_DATA1 0x0234 ///< Fixed attribute data 1.
    +
    594 #define GPUREG_FIXEDATTRIB_DATA2 0x0235 ///< Fixed attribute data 2.
    +
    595 #define GPUREG_0236 0x0236 ///< Unknown.
    +
    596 #define GPUREG_0237 0x0237 ///< Unknown.
    +
    597 #define GPUREG_CMDBUF_SIZE0 0x0238 ///< Command buffer size 0.
    +
    598 #define GPUREG_CMDBUF_SIZE1 0x0239 ///< Command buffer size 1.
    +
    599 #define GPUREG_CMDBUF_ADDR0 0x023A ///< Command buffer address 0.
    +
    600 #define GPUREG_CMDBUF_ADDR1 0x023B ///< Command buffer address 1.
    +
    601 #define GPUREG_CMDBUF_JUMP0 0x023C ///< Command buffer jump 0.
    +
    602 #define GPUREG_CMDBUF_JUMP1 0x023D ///< Command buffer jump 1.
    +
    603 #define GPUREG_023E 0x023E ///< Unknown.
    +
    604 #define GPUREG_023F 0x023F ///< Unknown.
    +
    605 #define GPUREG_0240 0x0240 ///< Unknown.
    +
    606 #define GPUREG_0241 0x0241 ///< Unknown.
    +
    607 #define GPUREG_VSH_NUM_ATTR 0x0242 ///< Unknown.
    +
    608 #define GPUREG_0243 0x0243 ///< Unknown.
    +
    609 #define GPUREG_VSH_COM_MODE 0x0244 ///< Unknown.
    +
    610 #define GPUREG_START_DRAW_FUNC0 0x0245 ///< Unknown.
    +
    611 #define GPUREG_0246 0x0246 ///< Unknown.
    +
    612 #define GPUREG_0247 0x0247 ///< Unknown.
    +
    613 #define GPUREG_0248 0x0248 ///< Unknown.
    +
    614 #define GPUREG_0249 0x0249 ///< Unknown.
    +
    615 #define GPUREG_VSH_OUTMAP_TOTAL1 0x024A ///< Unknown.
    +
    616 #define GPUREG_024B 0x024B ///< Unknown.
    +
    617 #define GPUREG_024C 0x024C ///< Unknown.
    +
    618 #define GPUREG_024D 0x024D ///< Unknown.
    +
    619 #define GPUREG_024E 0x024E ///< Unknown.
    +
    620 #define GPUREG_024F 0x024F ///< Unknown.
    +
    621 #define GPUREG_0250 0x0250 ///< Unknown.
    +
    622 #define GPUREG_VSH_OUTMAP_TOTAL2 0x0251 ///< Unknown.
    +
    623 #define GPUREG_GSH_MISC0 0x0252 ///< Unknown.
    +
    624 #define GPUREG_GEOSTAGE_CONFIG2 0x0253 ///< Unknown.
    +
    625 #define GPUREG_GSH_MISC1 0x0254 ///< Unknown.
    +
    626 #define GPUREG_0255 0x0255 ///< Unknown.
    +
    627 #define GPUREG_0256 0x0256 ///< Unknown.
    +
    628 #define GPUREG_0257 0x0257 ///< Unknown.
    +
    629 #define GPUREG_0258 0x0258 ///< Unknown.
    +
    630 #define GPUREG_0259 0x0259 ///< Unknown.
    +
    631 #define GPUREG_025A 0x025A ///< Unknown.
    +
    632 #define GPUREG_025B 0x025B ///< Unknown.
    +
    633 #define GPUREG_025C 0x025C ///< Unknown.
    +
    634 #define GPUREG_025D 0x025D ///< Unknown.
    +
    635 #define GPUREG_PRIMITIVE_CONFIG 0x025E ///< Primitive configuration.
    +
    636 #define GPUREG_RESTART_PRIMITIVE 0x025F ///< Restart primitive flag.
    +
    637 #define GPUREG_0260 0x0260 ///< Unknown.
    +
    638 #define GPUREG_0261 0x0261 ///< Unknown.
    +
    639 #define GPUREG_0262 0x0262 ///< Unknown.
    +
    640 #define GPUREG_0263 0x0263 ///< Unknown.
    +
    641 #define GPUREG_0264 0x0264 ///< Unknown.
    +
    642 #define GPUREG_0265 0x0265 ///< Unknown.
    +
    643 #define GPUREG_0266 0x0266 ///< Unknown.
    +
    644 #define GPUREG_0267 0x0267 ///< Unknown.
    +
    645 #define GPUREG_0268 0x0268 ///< Unknown.
    +
    646 #define GPUREG_0269 0x0269 ///< Unknown.
    +
    647 #define GPUREG_026A 0x026A ///< Unknown.
    +
    648 #define GPUREG_026B 0x026B ///< Unknown.
    +
    649 #define GPUREG_026C 0x026C ///< Unknown.
    +
    650 #define GPUREG_026D 0x026D ///< Unknown.
    +
    651 #define GPUREG_026E 0x026E ///< Unknown.
    +
    652 #define GPUREG_026F 0x026F ///< Unknown.
    +
    653 #define GPUREG_0270 0x0270 ///< Unknown.
    +
    654 #define GPUREG_0271 0x0271 ///< Unknown.
    +
    655 #define GPUREG_0272 0x0272 ///< Unknown.
    +
    656 #define GPUREG_0273 0x0273 ///< Unknown.
    +
    657 #define GPUREG_0274 0x0274 ///< Unknown.
    +
    658 #define GPUREG_0275 0x0275 ///< Unknown.
    +
    659 #define GPUREG_0276 0x0276 ///< Unknown.
    +
    660 #define GPUREG_0277 0x0277 ///< Unknown.
    +
    661 #define GPUREG_0278 0x0278 ///< Unknown.
    +
    662 #define GPUREG_0279 0x0279 ///< Unknown.
    +
    663 #define GPUREG_027A 0x027A ///< Unknown.
    +
    664 #define GPUREG_027B 0x027B ///< Unknown.
    +
    665 #define GPUREG_027C 0x027C ///< Unknown.
    +
    666 #define GPUREG_027D 0x027D ///< Unknown.
    +
    667 #define GPUREG_027E 0x027E ///< Unknown.
    +
    668 #define GPUREG_027F 0x027F ///< Unknown.
    +
    669 ///@}
    +
    670 
    +
    671 ///@name Geometry shader registers (0x280-0x2AF)
    +
    672 ///@{
    +
    673 #define GPUREG_GSH_BOOLUNIFORM 0x0280 ///< Geometry shader bool uniforms.
    +
    674 #define GPUREG_GSH_INTUNIFORM_I0 0x0281 ///< Geometry shader integer uniform 0.
    +
    675 #define GPUREG_GSH_INTUNIFORM_I1 0x0282 ///< Geometry shader integer uniform 1.
    +
    676 #define GPUREG_GSH_INTUNIFORM_I2 0x0283 ///< Geometry shader integer uniform 2.
    +
    677 #define GPUREG_GSH_INTUNIFORM_I3 0x0284 ///< Geometry shader integer uniform 3.
    +
    678 #define GPUREG_0285 0x0285 ///< Unknown.
    +
    679 #define GPUREG_0286 0x0286 ///< Unknown.
    +
    680 #define GPUREG_0287 0x0287 ///< Unknown.
    +
    681 #define GPUREG_0288 0x0288 ///< Unknown.
    +
    682 #define GPUREG_GSH_INPUTBUFFER_CONFIG 0x0289 ///< Geometry shader input buffer configuration.
    +
    683 #define GPUREG_GSH_ENTRYPOINT 0x028A ///< Geometry shader entry point.
    +
    684 #define GPUREG_GSH_ATTRIBUTES_PERMUTATION_LOW 0x028B ///< Geometry shader attribute permutations low.
    +
    685 #define GPUREG_GSH_ATTRIBUTES_PERMUTATION_HIGH 0x028C ///< Geometry shader attribute permutations high.
    +
    686 #define GPUREG_GSH_OUTMAP_MASK 0x028D ///< Geometry shader output map mask.
    +
    687 #define GPUREG_028E 0x028E ///< Unknown.
    +
    688 #define GPUREG_GSH_CODETRANSFER_END 0x028F ///< Geometry shader code transfer end trigger.
    +
    689 #define GPUREG_GSH_FLOATUNIFORM_CONFIG 0x0290 ///< Geometry shader float uniform configuration.
    +
    690 #define GPUREG_GSH_FLOATUNIFORM_DATA 0x0291 ///< Geometry shader float uniform data.
    +
    691 #define GPUREG_0299 0x0299 ///< Unknown.
    +
    692 #define GPUREG_029A 0x029A ///< Unknown.
    +
    693 #define GPUREG_GSH_CODETRANSFER_CONFIG 0x029B ///< Geometry shader code transfer configuration.
    +
    694 #define GPUREG_GSH_CODETRANSFER_DATA 0x029C ///< Geometry shader code transfer data.
    +
    695 #define GPUREG_02A4 0x02A4 ///< Unknown.
    +
    696 #define GPUREG_GSH_OPDESCS_CONFIG 0x02A5 ///< Geometry shader operand description configuration.
    +
    697 #define GPUREG_GSH_OPDESCS_DATA 0x02A6 ///< Geometry shader operand description data.
    +
    698 #define GPUREG_02AE 0x02AE ///< Unknown.
    +
    699 #define GPUREG_02AF 0x02AF ///< Unknown.
    +
    700 ///@}
    +
    701 
    +
    702 ///@name Vertex shader registers (0x2B0-0x2DF)
    +
    703 ///@{
    +
    704 #define GPUREG_VSH_BOOLUNIFORM 0x02B0 ///< Vertex shader bool uniforms.
    +
    705 #define GPUREG_VSH_INTUNIFORM_I0 0x02B1 ///< Vertex shader integer uniform 0.
    +
    706 #define GPUREG_VSH_INTUNIFORM_I1 0x02B2 ///< Vertex shader integer uniform 1.
    +
    707 #define GPUREG_VSH_INTUNIFORM_I2 0x02B3 ///< Vertex shader integer uniform 2.
    +
    708 #define GPUREG_VSH_INTUNIFORM_I3 0x02B4 ///< Vertex shader integer uniform 3.
    +
    709 #define GPUREG_02B5 0x02B5 ///< Unknown.
    +
    710 #define GPUREG_02B6 0x02B6 ///< Unknown.
    +
    711 #define GPUREG_02B7 0x02B7 ///< Unknown.
    +
    712 #define GPUREG_02B8 0x02B8 ///< Unknown.
    +
    713 #define GPUREG_VSH_INPUTBUFFER_CONFIG 0x02B9 ///< Vertex shader input buffer configuration.
    +
    714 #define GPUREG_VSH_ENTRYPOINT 0x02BA ///< Vertex shader entry point.
    +
    715 #define GPUREG_VSH_ATTRIBUTES_PERMUTATION_LOW 0x02BB ///< Vertex shader attribute permutations low.
    +
    716 #define GPUREG_VSH_ATTRIBUTES_PERMUTATION_HIGH 0x02BC ///< Vertex shader attribute permutations high.
    +
    717 #define GPUREG_VSH_OUTMAP_MASK 0x02BD ///< Vertex shader output map mask.
    +
    718 #define GPUREG_02BE 0x02BE ///< Unknown.
    +
    719 #define GPUREG_VSH_CODETRANSFER_END 0x02BF ///< Vertex shader code transfer end trigger.
    +
    720 #define GPUREG_VSH_FLOATUNIFORM_CONFIG 0x02C0 ///< Vertex shader float uniform configuration.
    +
    721 #define GPUREG_VSH_FLOATUNIFORM_DATA 0x02C1 ///< Vertex shader float uniform data.
    +
    722 #define GPUREG_02C9 0x02C9 ///< Unknown.
    +
    723 #define GPUREG_02CA 0x02CA ///< Unknown.
    +
    724 #define GPUREG_VSH_CODETRANSFER_CONFIG 0x02CB ///< Vertex shader code transfer configuration.
    +
    725 #define GPUREG_VSH_CODETRANSFER_DATA 0x02CC ///< Vertex shader code transfer data.
    +
    726 #define GPUREG_02D4 0x02D4 ///< Unknown.
    +
    727 #define GPUREG_VSH_OPDESCS_CONFIG 0x02D5 ///< Vertex shader operand description configuration.
    +
    728 #define GPUREG_VSH_OPDESCS_DATA 0x02D6 ///< Vertex shader operand description data.
    +
    729 #define GPUREG_02DE 0x02DE ///< Unknown.
    +
    730 #define GPUREG_02DF 0x02DF ///< Unknown.
    +
    731 ///@}
    +
    732 
    +
    733 ///@name Unknown registers (0x2E0-0x2FF)
    +
    734 ///@{
    +
    735 #define GPUREG_02E0 0x02E0 ///< Unknown.
    +
    736 #define GPUREG_02E1 0x02E1 ///< Unknown.
    +
    737 #define GPUREG_02E2 0x02E2 ///< Unknown.
    +
    738 #define GPUREG_02E3 0x02E3 ///< Unknown.
    +
    739 #define GPUREG_02E4 0x02E4 ///< Unknown.
    +
    740 #define GPUREG_02E5 0x02E5 ///< Unknown.
    +
    741 #define GPUREG_02E6 0x02E6 ///< Unknown.
    +
    742 #define GPUREG_02E7 0x02E7 ///< Unknown.
    +
    743 #define GPUREG_02E8 0x02E8 ///< Unknown.
    +
    744 #define GPUREG_02E9 0x02E9 ///< Unknown.
    +
    745 #define GPUREG_02EA 0x02EA ///< Unknown.
    +
    746 #define GPUREG_02EB 0x02EB ///< Unknown.
    +
    747 #define GPUREG_02EC 0x02EC ///< Unknown.
    +
    748 #define GPUREG_02ED 0x02ED ///< Unknown.
    +
    749 #define GPUREG_02EE 0x02EE ///< Unknown.
    +
    750 #define GPUREG_02EF 0x02EF ///< Unknown.
    +
    751 #define GPUREG_02F0 0x02F0 ///< Unknown.
    +
    752 #define GPUREG_02F1 0x02F1 ///< Unknown.
    +
    753 #define GPUREG_02F2 0x02F2 ///< Unknown.
    +
    754 #define GPUREG_02F3 0x02F3 ///< Unknown.
    +
    755 #define GPUREG_02F4 0x02F4 ///< Unknown.
    +
    756 #define GPUREG_02F5 0x02F5 ///< Unknown.
    +
    757 #define GPUREG_02F6 0x02F6 ///< Unknown.
    +
    758 #define GPUREG_02F7 0x02F7 ///< Unknown.
    +
    759 #define GPUREG_02F8 0x02F8 ///< Unknown.
    +
    760 #define GPUREG_02F9 0x02F9 ///< Unknown.
    +
    761 #define GPUREG_02FA 0x02FA ///< Unknown.
    +
    762 #define GPUREG_02FB 0x02FB ///< Unknown.
    +
    763 #define GPUREG_02FC 0x02FC ///< Unknown.
    +
    764 #define GPUREG_02FD 0x02FD ///< Unknown.
    +
    765 #define GPUREG_02FE 0x02FE ///< Unknown.
    +
    766 #define GPUREG_02FF 0x02FF ///< Unknown.
    +
    767 ///@}
    +
    + + + + diff --git a/result_8h.html b/result_8h.html new file mode 100644 index 000000000..d7c0c1d10 --- /dev/null +++ b/result_8h.html @@ -0,0 +1,431 @@ + + + + + + + +libctru: include/3ds/result.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    result.h File Reference
    +
    +
    + +

    3DS result code tools +More...

    +
    #include "types.h"
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    +#define R_SUCCEEDED(res)   ((res)>=0)
     Checks whether a result code indicates success.
     
    +#define R_FAILED(res)   ((res)<0)
     Checks whether a result code indicates failure.
     
    +#define R_LEVEL(res)   (((res)>>27)&0x1F)
     Returns the level of a result code.
     
    +#define R_SUMMARY(res)   (((res)>>21)&0x3F)
     Returns the summary of a result code.
     
    +#define R_MODULE(res)   (((res)>>10)&0xFF)
     Returns the module ID of a result code.
     
    +#define R_DESCRIPTION(res)   ((res)&0x3FF)
     Returns the description of a result code.
     
    +#define MAKERESULT(level, summary, module, description)    ((((level)&0x1F)<<27) | (((summary)&0x3F)<<21) | (((module)&0xFF)<<10) | ((description)&0x3FF))
     Builds a result code from its constituent components.
     
    + + + + + + + + + + + + + +

    +Enumerations

    enum  {
    +  RL_SUCCESS = 0 +,
    +  RL_INFO = 1 +,
    +  RL_FATAL = 0x1F +,
    +  RL_RESET = RL_FATAL - 1 +,
    +  RL_REINITIALIZE = RL_FATAL - 2 +,
    +  RL_USAGE = RL_FATAL - 3 +,
    +  RL_PERMANENT = RL_FATAL - 4 +,
    +  RL_TEMPORARY = RL_FATAL - 5 +,
    +  RL_STATUS = RL_FATAL - 6 +
    + }
     Result code level values.
     
    enum  {
    +  RS_SUCCESS = 0 +,
    +  RS_NOP = 1 +,
    +  RS_WOULDBLOCK = 2 +,
    +  RS_OUTOFRESOURCE = 3 +,
    +  RS_NOTFOUND = 4 +,
    +  RS_INVALIDSTATE = 5 +,
    +  RS_NOTSUPPORTED = 6 +,
    +  RS_INVALIDARG = 7 +,
    +  RS_WRONGARG = 8 +,
    +  RS_CANCELED = 9 +,
    +  RS_STATUSCHANGED = 10 +,
    +  RS_INTERNAL = 11 +,
    +  RS_INVALIDRESVAL = 63 +
    + }
     Result code summary values.
     
    enum  {
    +  RM_COMMON = 0 +,
    +  RM_KERNEL = 1 +,
    +  RM_UTIL = 2 +,
    +  RM_FILE_SERVER = 3 +,
    +  RM_LOADER_SERVER = 4 +,
    +  RM_TCB = 5 +,
    +  RM_OS = 6 +,
    +  RM_DBG = 7 +,
    +  RM_DMNT = 8 +,
    +  RM_PDN = 9 +,
    +  RM_GSP = 10 +,
    +  RM_I2C = 11 +,
    +  RM_GPIO = 12 +,
    +  RM_DD = 13 +,
    +  RM_CODEC = 14 +,
    +  RM_SPI = 15 +,
    +  RM_PXI = 16 +,
    +  RM_FS = 17 +,
    +  RM_DI = 18 +,
    +  RM_HID = 19 +,
    +  RM_CAM = 20 +,
    +  RM_PI = 21 +,
    +  RM_PM = 22 +,
    +  RM_PM_LOW = 23 +,
    +  RM_FSI = 24 +,
    +  RM_SRV = 25 +,
    +  RM_NDM = 26 +,
    +  RM_NWM = 27 +,
    +  RM_SOC = 28 +,
    +  RM_LDR = 29 +,
    +  RM_ACC = 30 +,
    +  RM_ROMFS = 31 +,
    +  RM_AM = 32 +,
    +  RM_HIO = 33 +,
    +  RM_UPDATER = 34 +,
    +  RM_MIC = 35 +,
    +  RM_FND = 36 +,
    +  RM_MP = 37 +,
    +  RM_MPWL = 38 +,
    +  RM_AC = 39 +,
    +  RM_HTTP = 40 +,
    +  RM_DSP = 41 +,
    +  RM_SND = 42 +,
    +  RM_DLP = 43 +,
    +  RM_HIO_LOW = 44 +,
    +  RM_CSND = 45 +,
    +  RM_SSL = 46 +,
    +  RM_AM_LOW = 47 +,
    +  RM_NEX = 48 +,
    +  RM_FRIENDS = 49 +,
    +  RM_RDT = 50 +,
    +  RM_APPLET = 51 +,
    +  RM_NIM = 52 +,
    +  RM_PTM = 53 +,
    +  RM_MIDI = 54 +,
    +  RM_MC = 55 +,
    +  RM_SWC = 56 +,
    +  RM_FATFS = 57 +,
    +  RM_NGC = 58 +,
    +  RM_CARD = 59 +,
    +  RM_CARDNOR = 60 +,
    +  RM_SDMC = 61 +,
    +  RM_BOSS = 62 +,
    +  RM_DBM = 63 +,
    +  RM_CONFIG = 64 +,
    +  RM_PS = 65 +,
    +  RM_CEC = 66 +,
    +  RM_IR = 67 +,
    +  RM_UDS = 68 +,
    +  RM_PL = 69 +,
    +  RM_CUP = 70 +,
    +  RM_GYROSCOPE = 71 +,
    +  RM_MCU = 72 +,
    +  RM_NS = 73 +,
    +  RM_NEWS = 74 +,
    +  RM_RO = 75 +,
    +  RM_GD = 76 +,
    +  RM_CARD_SPI = 77 +,
    +  RM_EC = 78 +,
    +  RM_WEB_BROWSER = 79 +,
    +  RM_TEST = 80 +,
    +  RM_ENC = 81 +,
    +  RM_PIA = 82 +,
    +  RM_ACT = 83 +,
    +  RM_VCTL = 84 +,
    +  RM_OLV = 85 +,
    +  RM_NEIA = 86 +,
    +  RM_NPNS = 87 +,
    +  RM_AVD = 90 +,
    +  RM_L2B = 91 +,
    +  RM_MVD = 92 +,
    +  RM_NFC = 93 +,
    +  RM_UART = 94 +,
    +  RM_SPM = 95 +,
    +  RM_QTM = 96 +,
    +  RM_NFP = 97 +,
    +  RM_APPLICATION = 254 +,
    +  RM_INVALIDRESVAL = 255 +
    + }
     Result code module values.
     
    enum  {
    +  RD_SUCCESS = 0 +,
    +  RD_INVALID_RESULT_VALUE = 0x3FF +,
    +  RD_TIMEOUT = RD_INVALID_RESULT_VALUE - 1 +,
    +  RD_OUT_OF_RANGE = RD_INVALID_RESULT_VALUE - 2 +,
    +  RD_ALREADY_EXISTS = RD_INVALID_RESULT_VALUE - 3 +,
    +  RD_CANCEL_REQUESTED = RD_INVALID_RESULT_VALUE - 4 +,
    +  RD_NOT_FOUND = RD_INVALID_RESULT_VALUE - 5 +,
    +  RD_ALREADY_INITIALIZED = RD_INVALID_RESULT_VALUE - 6 +,
    +  RD_NOT_INITIALIZED = RD_INVALID_RESULT_VALUE - 7 +,
    +  RD_INVALID_HANDLE = RD_INVALID_RESULT_VALUE - 8 +,
    +  RD_INVALID_POINTER = RD_INVALID_RESULT_VALUE - 9 +,
    +  RD_INVALID_ADDRESS = RD_INVALID_RESULT_VALUE - 10 +,
    +  RD_NOT_IMPLEMENTED = RD_INVALID_RESULT_VALUE - 11 +,
    +  RD_OUT_OF_MEMORY = RD_INVALID_RESULT_VALUE - 12 +,
    +  RD_MISALIGNED_SIZE = RD_INVALID_RESULT_VALUE - 13 +,
    +  RD_MISALIGNED_ADDRESS = RD_INVALID_RESULT_VALUE - 14 +,
    +  RD_BUSY = RD_INVALID_RESULT_VALUE - 15 +,
    +  RD_NO_DATA = RD_INVALID_RESULT_VALUE - 16 +,
    +  RD_INVALID_COMBINATION = RD_INVALID_RESULT_VALUE - 17 +,
    +  RD_INVALID_ENUM_VALUE = RD_INVALID_RESULT_VALUE - 18 +,
    +  RD_INVALID_SIZE = RD_INVALID_RESULT_VALUE - 19 +,
    +  RD_ALREADY_DONE = RD_INVALID_RESULT_VALUE - 20 +,
    +  RD_NOT_AUTHORIZED = RD_INVALID_RESULT_VALUE - 21 +,
    +  RD_TOO_LARGE = RD_INVALID_RESULT_VALUE - 22 +,
    +  RD_INVALID_SELECTION = RD_INVALID_RESULT_VALUE - 23 +
    + }
     Result code generic description values.
     
    +

    Detailed Description

    +

    3DS result code tools

    +
    + + + + diff --git a/result_8h_source.html b/result_8h_source.html new file mode 100644 index 000000000..5d57709a0 --- /dev/null +++ b/result_8h_source.html @@ -0,0 +1,271 @@ + + + + + + + +libctru: include/3ds/result.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    result.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file result.h
    +
    3  * @brief 3DS result code tools
    +
    4  */
    +
    5 #pragma once
    +
    6 #include "types.h"
    +
    7 
    +
    8 /// Checks whether a result code indicates success.
    +
    9 #define R_SUCCEEDED(res) ((res)>=0)
    +
    10 /// Checks whether a result code indicates failure.
    +
    11 #define R_FAILED(res) ((res)<0)
    +
    12 /// Returns the level of a result code.
    +
    13 #define R_LEVEL(res) (((res)>>27)&0x1F)
    +
    14 /// Returns the summary of a result code.
    +
    15 #define R_SUMMARY(res) (((res)>>21)&0x3F)
    +
    16 /// Returns the module ID of a result code.
    +
    17 #define R_MODULE(res) (((res)>>10)&0xFF)
    +
    18 /// Returns the description of a result code.
    +
    19 #define R_DESCRIPTION(res) ((res)&0x3FF)
    +
    20 
    +
    21 /// Builds a result code from its constituent components.
    +
    22 #define MAKERESULT(level,summary,module,description) \
    +
    23  ((((level)&0x1F)<<27) | (((summary)&0x3F)<<21) | (((module)&0xFF)<<10) | ((description)&0x3FF))
    +
    24 
    +
    25 /// Result code level values.
    +
    26 enum
    +
    27 {
    +
    28  // >= 0
    +
    29  RL_SUCCESS = 0,
    +
    30  RL_INFO = 1,
    +
    31 
    +
    32  // < 0
    +
    33  RL_FATAL = 0x1F,
    +
    34  RL_RESET = RL_FATAL - 1,
    +
    35  RL_REINITIALIZE = RL_FATAL - 2,
    +
    36  RL_USAGE = RL_FATAL - 3,
    +
    37  RL_PERMANENT = RL_FATAL - 4,
    +
    38  RL_TEMPORARY = RL_FATAL - 5,
    +
    39  RL_STATUS = RL_FATAL - 6,
    +
    40 };
    +
    41 
    +
    42 /// Result code summary values.
    +
    43 enum
    +
    44 {
    +
    45  RS_SUCCESS = 0,
    +
    46  RS_NOP = 1,
    +
    47  RS_WOULDBLOCK = 2,
    +
    48  RS_OUTOFRESOURCE = 3,
    +
    49  RS_NOTFOUND = 4,
    +
    50  RS_INVALIDSTATE = 5,
    +
    51  RS_NOTSUPPORTED = 6,
    +
    52  RS_INVALIDARG = 7,
    +
    53  RS_WRONGARG = 8,
    +
    54  RS_CANCELED = 9,
    +
    55  RS_STATUSCHANGED = 10,
    +
    56  RS_INTERNAL = 11,
    +
    57  RS_INVALIDRESVAL = 63,
    +
    58 };
    +
    59 
    +
    60 /// Result code module values.
    +
    61 enum
    +
    62 {
    +
    63  RM_COMMON = 0,
    +
    64  RM_KERNEL = 1,
    +
    65  RM_UTIL = 2,
    +
    66  RM_FILE_SERVER = 3,
    +
    67  RM_LOADER_SERVER = 4,
    +
    68  RM_TCB = 5,
    +
    69  RM_OS = 6,
    +
    70  RM_DBG = 7,
    +
    71  RM_DMNT = 8,
    +
    72  RM_PDN = 9,
    +
    73  RM_GSP = 10,
    +
    74  RM_I2C = 11,
    +
    75  RM_GPIO = 12,
    +
    76  RM_DD = 13,
    +
    77  RM_CODEC = 14,
    +
    78  RM_SPI = 15,
    +
    79  RM_PXI = 16,
    +
    80  RM_FS = 17,
    +
    81  RM_DI = 18,
    +
    82  RM_HID = 19,
    +
    83  RM_CAM = 20,
    +
    84  RM_PI = 21,
    +
    85  RM_PM = 22,
    +
    86  RM_PM_LOW = 23,
    +
    87  RM_FSI = 24,
    +
    88  RM_SRV = 25,
    +
    89  RM_NDM = 26,
    +
    90  RM_NWM = 27,
    +
    91  RM_SOC = 28,
    +
    92  RM_LDR = 29,
    +
    93  RM_ACC = 30,
    +
    94  RM_ROMFS = 31,
    +
    95  RM_AM = 32,
    +
    96  RM_HIO = 33,
    +
    97  RM_UPDATER = 34,
    +
    98  RM_MIC = 35,
    +
    99  RM_FND = 36,
    +
    100  RM_MP = 37,
    +
    101  RM_MPWL = 38,
    +
    102  RM_AC = 39,
    +
    103  RM_HTTP = 40,
    +
    104  RM_DSP = 41,
    +
    105  RM_SND = 42,
    +
    106  RM_DLP = 43,
    +
    107  RM_HIO_LOW = 44,
    +
    108  RM_CSND = 45,
    +
    109  RM_SSL = 46,
    +
    110  RM_AM_LOW = 47,
    +
    111  RM_NEX = 48,
    +
    112  RM_FRIENDS = 49,
    +
    113  RM_RDT = 50,
    +
    114  RM_APPLET = 51,
    +
    115  RM_NIM = 52,
    +
    116  RM_PTM = 53,
    +
    117  RM_MIDI = 54,
    +
    118  RM_MC = 55,
    +
    119  RM_SWC = 56,
    +
    120  RM_FATFS = 57,
    +
    121  RM_NGC = 58,
    +
    122  RM_CARD = 59,
    +
    123  RM_CARDNOR = 60,
    +
    124  RM_SDMC = 61,
    +
    125  RM_BOSS = 62,
    +
    126  RM_DBM = 63,
    +
    127  RM_CONFIG = 64,
    +
    128  RM_PS = 65,
    +
    129  RM_CEC = 66,
    +
    130  RM_IR = 67,
    +
    131  RM_UDS = 68,
    +
    132  RM_PL = 69,
    +
    133  RM_CUP = 70,
    +
    134  RM_GYROSCOPE = 71,
    +
    135  RM_MCU = 72,
    +
    136  RM_NS = 73,
    +
    137  RM_NEWS = 74,
    +
    138  RM_RO = 75,
    +
    139  RM_GD = 76,
    +
    140  RM_CARD_SPI = 77,
    +
    141  RM_EC = 78,
    +
    142  RM_WEB_BROWSER = 79,
    +
    143  RM_TEST = 80,
    +
    144  RM_ENC = 81,
    +
    145  RM_PIA = 82,
    +
    146  RM_ACT = 83,
    +
    147  RM_VCTL = 84,
    +
    148  RM_OLV = 85,
    +
    149  RM_NEIA = 86,
    +
    150  RM_NPNS = 87,
    +
    151  RM_AVD = 90,
    +
    152  RM_L2B = 91,
    +
    153  RM_MVD = 92,
    +
    154  RM_NFC = 93,
    +
    155  RM_UART = 94,
    +
    156  RM_SPM = 95,
    +
    157  RM_QTM = 96,
    +
    158  RM_NFP = 97,
    +
    159  RM_APPLICATION = 254,
    +
    160  RM_INVALIDRESVAL = 255,
    +
    161 };
    +
    162 
    +
    163 /// Result code generic description values.
    +
    164 enum
    +
    165 {
    +
    166  RD_SUCCESS = 0,
    +
    167  RD_INVALID_RESULT_VALUE = 0x3FF,
    +
    168  RD_TIMEOUT = RD_INVALID_RESULT_VALUE - 1,
    +
    169  RD_OUT_OF_RANGE = RD_INVALID_RESULT_VALUE - 2,
    +
    170  RD_ALREADY_EXISTS = RD_INVALID_RESULT_VALUE - 3,
    +
    171  RD_CANCEL_REQUESTED = RD_INVALID_RESULT_VALUE - 4,
    +
    172  RD_NOT_FOUND = RD_INVALID_RESULT_VALUE - 5,
    +
    173  RD_ALREADY_INITIALIZED = RD_INVALID_RESULT_VALUE - 6,
    +
    174  RD_NOT_INITIALIZED = RD_INVALID_RESULT_VALUE - 7,
    +
    175  RD_INVALID_HANDLE = RD_INVALID_RESULT_VALUE - 8,
    +
    176  RD_INVALID_POINTER = RD_INVALID_RESULT_VALUE - 9,
    +
    177  RD_INVALID_ADDRESS = RD_INVALID_RESULT_VALUE - 10,
    +
    178  RD_NOT_IMPLEMENTED = RD_INVALID_RESULT_VALUE - 11,
    +
    179  RD_OUT_OF_MEMORY = RD_INVALID_RESULT_VALUE - 12,
    +
    180  RD_MISALIGNED_SIZE = RD_INVALID_RESULT_VALUE - 13,
    +
    181  RD_MISALIGNED_ADDRESS = RD_INVALID_RESULT_VALUE - 14,
    +
    182  RD_BUSY = RD_INVALID_RESULT_VALUE - 15,
    +
    183  RD_NO_DATA = RD_INVALID_RESULT_VALUE - 16,
    +
    184  RD_INVALID_COMBINATION = RD_INVALID_RESULT_VALUE - 17,
    +
    185  RD_INVALID_ENUM_VALUE = RD_INVALID_RESULT_VALUE - 18,
    +
    186  RD_INVALID_SIZE = RD_INVALID_RESULT_VALUE - 19,
    +
    187  RD_ALREADY_DONE = RD_INVALID_RESULT_VALUE - 20,
    +
    188  RD_NOT_AUTHORIZED = RD_INVALID_RESULT_VALUE - 21,
    +
    189  RD_TOO_LARGE = RD_INVALID_RESULT_VALUE - 22,
    +
    190  RD_INVALID_SELECTION = RD_INVALID_RESULT_VALUE - 23,
    +
    191 };
    +
    Various system types.
    +
    + + + + diff --git a/romfs_2source_2main_8c-example.html b/romfs_2source_2main_8c-example.html new file mode 100644 index 000000000..7a8f1339f --- /dev/null +++ b/romfs_2source_2main_8c-example.html @@ -0,0 +1,147 @@ + + + + + + + +libctru: romfs/source/main.c + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    romfs/source/main.c
    +
    +
    +
    #include <string.h>
    +
    #include <stdio.h>
    +
    #include <unistd.h>
    +
    #include <3ds.h>
    +
    +
    void printfile(const char* path)
    +
    {
    +
    FILE* f = fopen(path, "r");
    +
    if (f)
    +
    {
    +
    char mystring[100];
    +
    while (fgets(mystring, sizeof(mystring), f))
    +
    {
    +
    int a = strlen(mystring);
    +
    if (mystring[a-1] == '\n')
    +
    {
    +
    mystring[a-1] = 0;
    +
    if (mystring[a-2] == '\r')
    +
    mystring[a-2] = 0;
    +
    }
    +
    puts(mystring);
    +
    }
    +
    printf(">>EOF<<\n");
    +
    fclose(f);
    +
    }
    +
    }
    +
    +
    int main()
    +
    {
    + + +
    +
    Result rc = romfsInit();
    +
    if (rc)
    +
    printf("romfsInit: %08lX\n", rc);
    +
    else
    +
    {
    +
    printf("romfs Init Successful!\n");
    +
    printfile("romfs:/folder/file.txt");
    +
    // Test reading a file with non-ASCII characters in the name
    +
    printfile("romfs:/フォルダ/ファイル.txt");
    +
    }
    +
    +
    // Main loop
    +
    while (aptMainLoop())
    +
    {
    + + +
    +
    u32 kDown = hidKeysDown();
    +
    if (kDown & KEY_START)
    +
    break; // break in order to return to hbmenu
    +
    }
    +
    + + +
    return 0;
    +
    }
    +
    Central 3DS header.
    +
    bool aptMainLoop(void)
    Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
    +
    PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
    Initialise the console.
    +
    void gfxInitDefault(void)
    Initializes the LCD framebuffers with default parameters This is equivalent to calling:
    +
    @ GFX_TOP
    Top screen.
    Definition: gfx.h:26
    +
    void gfxExit(void)
    Deinitializes and frees the LCD framebuffers.
    +
    #define gspWaitForVBlank()
    Waits for VBlank.
    Definition: gspgpu.h:151
    +
    @ KEY_START
    Start.
    Definition: hid.h:15
    +
    u32 hidKeysDown(void)
    Returns a bitmask of newly pressed buttons, this frame.
    +
    void hidScanInput(void)
    Scans HID for input data.
    +
    static Result romfsInit(void)
    Wrapper for romfsMountSelf with the default "romfs" device name.
    Definition: romfs.h:84
    +
    static Result romfsExit(void)
    Wrapper for romfsUnmount with the default "romfs" device name.
    Definition: romfs.h:90
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/romfs_8h.html b/romfs_8h.html new file mode 100644 index 000000000..c2c5a58c5 --- /dev/null +++ b/romfs_8h.html @@ -0,0 +1,273 @@ + + + + + + + +libctru: include/3ds/romfs.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    romfs.h File Reference
    +
    +
    + +

    RomFS driver. +More...

    +
    #include <3ds/types.h>
    +#include <3ds/services/fs.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + +

    +Data Structures

    struct  romfs_header
     RomFS header. More...
     
    struct  romfs_dir
     RomFS directory. More...
     
    struct  romfs_file
     RomFS file. More...
     
    + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    Result romfsMountSelf (const char *name)
     Mounts the Application's RomFS. More...
     
    Result romfsMountFromFile (Handle fd, u32 offset, const char *name)
     Mounts RomFS from an open file. More...
     
    Result romfsMountFromCurrentProcess (const char *name)
     Mounts RomFS using the current process host program RomFS. More...
     
    Result romfsMountFromTitle (u64 tid, FS_MediaType mediatype, const char *name)
     Mounts RomFS from the specified title. More...
     
    +Result romfsUnmount (const char *name)
     Unmounts the RomFS device.
     
    +static Result romfsInit (void)
     Wrapper for romfsMountSelf with the default "romfs" device name.
     
    +static Result romfsExit (void)
     Wrapper for romfsUnmount with the default "romfs" device name.
     
    +

    Detailed Description

    +

    RomFS driver.

    +

    Function Documentation

    + +

    ◆ romfsMountFromCurrentProcess()

    + +
    +
    + + + + + + + + +
    Result romfsMountFromCurrentProcess (const char * name)
    +
    + +

    Mounts RomFS using the current process host program RomFS.

    +
    Parameters
    + + +
    nameDevice mount name.
    +
    +
    + +
    +
    + +

    ◆ romfsMountFromFile()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result romfsMountFromFile (Handle fd,
    u32 offset,
    const char * name 
    )
    +
    + +

    Mounts RomFS from an open file.

    +
    Parameters
    + + + + +
    fdFSFILE handle of the RomFS image.
    offsetOffset of the RomFS within the file.
    nameDevice mount name.
    +
    +
    + +
    +
    + +

    ◆ romfsMountFromTitle()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result romfsMountFromTitle (u64 tid,
    FS_MediaType mediatype,
    const char * name 
    )
    +
    + +

    Mounts RomFS from the specified title.

    +
    Parameters
    + + + + +
    tidTitle ID
    mediatypeMediatype
    nameDevice mount name.
    +
    +
    + +
    +
    + +

    ◆ romfsMountSelf()

    + +
    +
    + + + + + + + + +
    Result romfsMountSelf (const char * name)
    +
    + +

    Mounts the Application's RomFS.

    +
    Parameters
    + + +
    nameDevice mount name.
    +
    +
    +
    Remarks
    This function is intended to be used to access one's own RomFS. If the application is running as 3DSX, it mounts the embedded RomFS section inside the 3DSX. If on the other hand it's an NCCH, it behaves identically to romfsMountFromCurrentProcess.
    + +
    +
    +
    + + + + diff --git a/romfs_8h_source.html b/romfs_8h_source.html new file mode 100644 index 000000000..e5b9c8ab1 --- /dev/null +++ b/romfs_8h_source.html @@ -0,0 +1,212 @@ + + + + + + + +libctru: include/3ds/romfs.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    romfs.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file romfs.h
    +
    3  * @brief RomFS driver.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 #include <3ds/types.h>
    +
    8 #include <3ds/services/fs.h>
    +
    9 
    +
    10 /// RomFS header.
    +
    11 typedef struct
    +
    12 {
    +
    13  u32 headerSize; ///< Size of the header.
    +
    14  u32 dirHashTableOff; ///< Offset of the directory hash table.
    +
    15  u32 dirHashTableSize; ///< Size of the directory hash table.
    +
    16  u32 dirTableOff; ///< Offset of the directory table.
    +
    17  u32 dirTableSize; ///< Size of the directory table.
    +
    18  u32 fileHashTableOff; ///< Offset of the file hash table.
    +
    19  u32 fileHashTableSize; ///< Size of the file hash table.
    +
    20  u32 fileTableOff; ///< Offset of the file table.
    +
    21  u32 fileTableSize; ///< Size of the file table.
    +
    22  u32 fileDataOff; ///< Offset of the file data.
    +
    23 } romfs_header;
    +
    24 
    +
    25 /// RomFS directory.
    +
    26 typedef struct
    +
    27 {
    +
    28  u32 parent; ///< Offset of the parent directory.
    +
    29  u32 sibling; ///< Offset of the next sibling directory.
    +
    30  u32 childDir; ///< Offset of the first child directory.
    +
    31  u32 childFile; ///< Offset of the first file.
    +
    32  u32 nextHash; ///< Directory hash table pointer.
    +
    33  u32 nameLen; ///< Name length.
    +
    34  u16 name[]; ///< Name. (UTF-16)
    +
    35 } romfs_dir;
    +
    36 
    +
    37 /// RomFS file.
    +
    38 typedef struct
    +
    39 {
    +
    40  u32 parent; ///< Offset of the parent directory.
    +
    41  u32 sibling; ///< Offset of the next sibling file.
    +
    42  u64 dataOff; ///< Offset of the file's data.
    +
    43  u64 dataSize; ///< Length of the file's data.
    +
    44  u32 nextHash; ///< File hash table pointer.
    +
    45  u32 nameLen; ///< Name length.
    +
    46  u16 name[]; ///< Name. (UTF-16)
    +
    47 } romfs_file;
    +
    48 
    +
    49 /**
    +
    50  * @brief Mounts the Application's RomFS.
    +
    51  * @param name Device mount name.
    +
    52  * @remark This function is intended to be used to access one's own RomFS.
    +
    53  * If the application is running as 3DSX, it mounts the embedded RomFS section inside the 3DSX.
    +
    54  * If on the other hand it's an NCCH, it behaves identically to \ref romfsMountFromCurrentProcess.
    +
    55  */
    +
    56 Result romfsMountSelf(const char *name);
    +
    57 
    +
    58 /**
    +
    59  * @brief Mounts RomFS from an open file.
    +
    60  * @param fd FSFILE handle of the RomFS image.
    +
    61  * @param offset Offset of the RomFS within the file.
    +
    62  * @param name Device mount name.
    +
    63  */
    +
    64 Result romfsMountFromFile(Handle fd, u32 offset, const char *name);
    +
    65 
    +
    66 /**
    +
    67  * @brief Mounts RomFS using the current process host program RomFS.
    +
    68  * @param name Device mount name.
    +
    69  */
    + +
    71 
    +
    72 /**
    +
    73  * @brief Mounts RomFS from the specified title.
    +
    74  * @param tid Title ID
    +
    75  * @param mediatype Mediatype
    +
    76  * @param name Device mount name.
    +
    77  */
    +
    78 Result romfsMountFromTitle(u64 tid, FS_MediaType mediatype, const char* name);
    +
    79 
    +
    80 /// Unmounts the RomFS device.
    +
    81 Result romfsUnmount(const char *name);
    +
    82 
    +
    83 /// Wrapper for \ref romfsMountSelf with the default "romfs" device name.
    +
    84 static inline Result romfsInit(void)
    +
    85 {
    +
    86  return romfsMountSelf("romfs");
    +
    87 }
    +
    88 
    +
    89 /// Wrapper for \ref romfsUnmount with the default "romfs" device name.
    +
    90 static inline Result romfsExit(void)
    +
    91 {
    +
    92  return romfsUnmount("romfs");
    +
    93 }
    +
    Filesystem Services.
    +
    FS_MediaType
    Media types.
    Definition: fs.h:35
    +
    static Result romfsInit(void)
    Wrapper for romfsMountSelf with the default "romfs" device name.
    Definition: romfs.h:84
    +
    Result romfsMountFromTitle(u64 tid, FS_MediaType mediatype, const char *name)
    Mounts RomFS from the specified title.
    +
    Result romfsMountFromCurrentProcess(const char *name)
    Mounts RomFS using the current process host program RomFS.
    +
    Result romfsMountFromFile(Handle fd, u32 offset, const char *name)
    Mounts RomFS from an open file.
    +
    Result romfsMountSelf(const char *name)
    Mounts the Application's RomFS.
    +
    static Result romfsExit(void)
    Wrapper for romfsUnmount with the default "romfs" device name.
    Definition: romfs.h:90
    +
    Result romfsUnmount(const char *name)
    Unmounts the RomFS device.
    +
    RomFS directory.
    Definition: romfs.h:27
    +
    u32 nameLen
    Name length.
    Definition: romfs.h:33
    +
    u32 childDir
    Offset of the first child directory.
    Definition: romfs.h:30
    +
    u32 parent
    Offset of the parent directory.
    Definition: romfs.h:28
    +
    u32 sibling
    Offset of the next sibling directory.
    Definition: romfs.h:29
    +
    u32 childFile
    Offset of the first file.
    Definition: romfs.h:31
    +
    u32 nextHash
    Directory hash table pointer.
    Definition: romfs.h:32
    +
    RomFS file.
    Definition: romfs.h:39
    +
    u32 sibling
    Offset of the next sibling file.
    Definition: romfs.h:41
    +
    u64 dataSize
    Length of the file's data.
    Definition: romfs.h:43
    +
    u32 nameLen
    Name length.
    Definition: romfs.h:45
    +
    u32 nextHash
    File hash table pointer.
    Definition: romfs.h:44
    +
    u64 dataOff
    Offset of the file's data.
    Definition: romfs.h:42
    +
    u32 parent
    Offset of the parent directory.
    Definition: romfs.h:40
    +
    RomFS header.
    Definition: romfs.h:12
    +
    u32 headerSize
    Size of the header.
    Definition: romfs.h:13
    +
    u32 fileTableOff
    Offset of the file table.
    Definition: romfs.h:20
    +
    u32 fileHashTableOff
    Offset of the file hash table.
    Definition: romfs.h:18
    +
    u32 dirTableSize
    Size of the directory table.
    Definition: romfs.h:17
    +
    u32 fileDataOff
    Offset of the file data.
    Definition: romfs.h:22
    +
    u32 dirHashTableSize
    Size of the directory hash table.
    Definition: romfs.h:15
    +
    u32 fileTableSize
    Size of the file table.
    Definition: romfs.h:21
    +
    u32 fileHashTableSize
    Size of the file hash table.
    Definition: romfs.h:19
    +
    u32 dirTableOff
    Offset of the directory table.
    Definition: romfs.h:16
    +
    u32 dirHashTableOff
    Offset of the directory hash table.
    Definition: romfs.h:14
    +
    Various system types.
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint16_t u16
    16-bit unsigned integer
    Definition: types.h:22
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/sdmc_2source_2main_8c-example.html b/sdmc_2source_2main_8c-example.html new file mode 100644 index 000000000..83d825d17 --- /dev/null +++ b/sdmc_2source_2main_8c-example.html @@ -0,0 +1,191 @@ + + + + + + + +libctru: sdmc/source/main.c + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    sdmc/source/main.c
    +
    +
    +
    ///////////////////////////////////////
    +
    // SDMC example //
    +
    ///////////////////////////////////////
    +
    +
    //this example shows you how to load a binary image file from the SD card and display it on the lower screen
    +
    //for this to work you should copy test.bin to same folder as your .3dsx
    +
    //this file was generated with GIMP by saving a 240x320 image to raw RGB
    +
    #include <string.h>
    +
    #include <stdio.h>
    +
    #include <stdlib.h>
    +
    +
    #include <3ds.h>
    +
    #include "costable.h"
    +
    +
    //this will contain the data read from SDMC
    +
    u8* buffer;
    +
    +
    //3DS has VFPs so we could just use cos
    +
    //but we're old school so LUT4life
    +
    s32 pcCos(u16 v)
    +
    {
    +
    return costable[v&0x1FF];
    +
    }
    +
    +
    void renderEffect()
    +
    {
    +
    static int cnt;
    +
    u8* bufAdr=gfxGetFramebuffer(GFX_TOP, GFX_LEFT, NULL, NULL);
    +
    +
    int i, j;
    +
    for(i=1;i<400;i++)
    +
    {
    +
    for(j=1;j<240;j++)
    +
    {
    +
    u32 v=(j+i*240)*3;
    +
    bufAdr[v]=(pcCos(i+cnt)+4096)/32;
    +
    bufAdr[v+1]=(pcCos(j-256+cnt)+4096)/64;
    +
    bufAdr[v+2]=(pcCos(i+128-cnt)+4096)/32;
    +
    }
    +
    }
    +
    +
    cnt++;
    +
    }
    +
    +
    int main(int argc, char** argv)
    +
    {
    +
    +
    gfxInitDefault(); //makes displaying to screen easier
    +
    +
    FILE *file = fopen("test.bin","rb");
    +
    if (file == NULL) goto exit;
    +
    +
    // seek to end of file
    +
    fseek(file,0,SEEK_END);
    +
    +
    // file pointer tells us the size
    +
    off_t size = ftell(file);
    +
    +
    // seek back to start
    +
    fseek(file,0,SEEK_SET);
    +
    +
    //allocate a buffer
    +
    buffer=malloc(size);
    +
    if(!buffer)goto exit;
    +
    +
    //read contents !
    +
    off_t bytesRead = fread(buffer,1,size,file);
    +
    +
    //close the file because we like being nice and tidy
    +
    fclose(file);
    +
    +
    if(size!=bytesRead)goto exit;
    +
    +
    while(aptMainLoop())
    +
    {
    +
    //exit when user hits B
    + +
    if(keysHeld()&KEY_B)break;
    +
    +
    //render rainbow
    +
    renderEffect();
    +
    +
    //copy buffer to lower screen (don't have to do it every frame)
    +
    memcpy(gfxGetFramebuffer(GFX_BOTTOM, GFX_BOTTOM, NULL, NULL), buffer, size);
    +
    +
    //wait & swap
    + + +
    }
    +
    +
    //cleanup and return
    +
    //returning from main() returns to hbmenu when run under ninjhax
    +
    exit:
    +
    +
    //closing all services even more so
    + +
    return 0;
    +
    }
    +
    Central 3DS header.
    +
    bool aptMainLoop(void)
    Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
    +
    void gfxInitDefault(void)
    Initializes the LCD framebuffers with default parameters This is equivalent to calling:
    +
    void gfxSwapBuffersGpu(void)
    Same as gfxSwapBuffers (formerly different).
    +
    u8 * gfxGetFramebuffer(gfxScreen_t screen, gfx3dSide_t side, u16 *width, u16 *height)
    Retrieves the framebuffer of the specified screen to which graphics should be rendered.
    +
    @ GFX_BOTTOM
    Bottom screen.
    Definition: gfx.h:27
    +
    @ GFX_TOP
    Top screen.
    Definition: gfx.h:26
    +
    void gfxExit(void)
    Deinitializes and frees the LCD framebuffers.
    +
    @ GFX_LEFT
    Left eye framebuffer.
    Definition: gfx.h:37
    +
    @ GSPGPU_EVENT_VBlank0
    TODO.
    Definition: gspgpu.h:56
    +
    void gspWaitForEvent(GSPGPU_Event id, bool nextEvent)
    Waits for a GSPGPU event to occur.
    +
    @ KEY_B
    B.
    Definition: hid.h:13
    +
    #define keysHeld
    Compatibility macro for hidKeysHeld.
    Definition: hid.h:174
    +
    void hidScanInput(void)
    Scans HID for input data.
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    uint16_t u16
    16-bit unsigned integer
    Definition: types.h:22
    +
    int32_t s32
    32-bit signed integer
    Definition: types.h:28
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/search/all_0.html b/search/all_0.html new file mode 100644 index 000000000..1ec5b2d59 --- /dev/null +++ b/search/all_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_0.js b/search/all_0.js new file mode 100644 index 000000000..1f6334463 --- /dev/null +++ b/search/all_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['3ds_2eh_0',['3ds.h',['../3ds_8h.html',1,'']]], + ['3dslink_2eh_1',['3dslink.h',['../3dslink_8h.html',1,'']]] +]; diff --git a/search/all_1.html b/search/all_1.html new file mode 100644 index 000000000..9f80e9043 --- /dev/null +++ b/search/all_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_1.js b/search/all_1.js new file mode 100644 index 000000000..cd0cd003d --- /dev/null +++ b/search/all_1.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['_5f_5f3dslink_5fhost_2',['__3dslink_host',['../3dslink_8h.html#a52d8c00d8441076d345a8a576dec91a8',1,'3dslink.h']]], + ['_5f_5fattribute_5f_5f_3',['__attribute__',['../rbtree_8h.html#a797a3e1c8507a7c7b4e051d3f1349154',1,'rbtree.h']]], + ['_5f_5fclrex_4',['__clrex',['../synchronization_8h.html#af5fdce28704bc8d418fe9aaed04d4e90',1,'synchronization.h']]], + ['_5f_5fdmb_5',['__dmb',['../synchronization_8h.html#ab76993c9a7d0327437522dc2e53e770d',1,'synchronization.h']]], + ['_5f_5fdsb_6',['__dsb',['../synchronization_8h.html#a4f5f4fd74aae52a2310fb2c6a5983e4d',1,'synchronization.h']]], + ['_5f_5fisb_7',['__isb',['../synchronization_8h.html#a88917e3c9a446a5d078165af7b9c884c',1,'synchronization.h']]], + ['_5f_5fldrex_8',['__ldrex',['../synchronization_8h.html#a9fe83ca3ec3c6ae269203acf367ad5a9',1,'synchronization.h']]], + ['_5f_5fldrexb_9',['__ldrexb',['../synchronization_8h.html#a3edf8cb6c54dca775890c04e57919d73',1,'synchronization.h']]], + ['_5f_5fldrexh_10',['__ldrexh',['../synchronization_8h.html#ac8b9943bc74f25d3efa4c413cd3e5be6',1,'synchronization.h']]], + ['_5f_5fstrex_11',['__strex',['../synchronization_8h.html#ae5b6bc8b7ae74b57efbb0707c1d6cea9',1,'synchronization.h']]], + ['_5f_5fstrexb_12',['__strexb',['../synchronization_8h.html#acd9826a3a62cf5190048acde58e69776',1,'synchronization.h']]], + ['_5f_5fstrexh_13',['__strexh',['../synchronization_8h.html#a276f8cccf5abeb6b35f067b7a8c9a40c',1,'synchronization.h']]], + ['_5fpad1_14',['_pad1',['../unionCSND__CapInfo.html#ae0a73702b74a8df5d1767e2d8f643bf5',1,'CSND_CapInfo::_pad1()'],['../unionCSND__ChnInfo.html#a82f44e9c71e5058523616518884bc29d',1,'CSND_ChnInfo::_pad1()']]], + ['_5fpad2_15',['_pad2',['../unionCSND__CapInfo.html#aad5428d2d50ecc0d775e25de6fe36ab1',1,'CSND_CapInfo::_pad2()'],['../unionCSND__ChnInfo.html#a8a5d07ac432da22d7dd37cfed6d7a1f2',1,'CSND_ChnInfo::_pad2()']]], + ['_5fpad3_16',['_pad3',['../unionCSND__ChnInfo.html#a122945e8a6846829ae2435226c0a82aa',1,'CSND_ChnInfo']]] +]; diff --git a/search/all_10.html b/search/all_10.html new file mode 100644 index 000000000..3bf11961f --- /dev/null +++ b/search/all_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_10.js b/search/all_10.js new file mode 100644 index 000000000..7376fa293 --- /dev/null +++ b/search/all_10.js @@ -0,0 +1,83 @@ +var searchData= +[ + ['o3ds_5fsystem_5fmode_3382',['o3ds_system_mode',['../structExHeader__Arm11CoreInfo.html#ad35641d1e52f61010873a0617cbb1aae',1,'ExHeader_Arm11CoreInfo']]], + ['offset_3383',['offset',['../structtag__ndspWaveBuf.html#affba548676133ea6e94d6215c7bc3cb6',1,'tag_ndspWaveBuf']]], + ['opcdescdata_3384',['opcdescData',['../structDVLP__s.html#a399050de27a5f175ec6206a0911ed372',1,'DVLP_s']]], + ['opdescsize_3385',['opdescSize',['../structDVLP__s.html#a830ca5fc6e73688dacd3e5bd623543ab',1,'DVLP_s']]], + ['origin_5fconsole_3386',['origin_console',['../structMiiData.html#a8be87fffa7286e5bffb325772abbe535',1,'MiiData']]], + ['os_2eh_3387',['os.h',['../os_8h.html',1,'']]], + ['os_5fdspram_5fpaddr_3388',['OS_DSPRAM_PADDR',['../os_8h.html#a84c0fa82e1298c9ef6fee39e54b10b9b',1,'os.h']]], + ['os_5fdspram_5fsize_3389',['OS_DSPRAM_SIZE',['../os_8h.html#af635d5643a14dd1742f1e416e3a5cacd',1,'os.h']]], + ['os_5fdspram_5fvaddr_3390',['OS_DSPRAM_VADDR',['../os_8h.html#a85b86b666c6400935e24ccbe4d5630cd',1,'os.h']]], + ['os_5ffcram_5fpaddr_3391',['OS_FCRAM_PADDR',['../os_8h.html#ae730e758255a129b372ae7417fe235d5',1,'os.h']]], + ['os_5ffcram_5fsize_3392',['OS_FCRAM_SIZE',['../os_8h.html#aaef63c2ac4cc3aa389bdcc26911131b0',1,'os.h']]], + ['os_5ffcram_5fvaddr_3393',['OS_FCRAM_VADDR',['../os_8h.html#a3c42fad973b18285c89eb14ec0d687d4',1,'os.h']]], + ['os_5fheap_5farea_5fbegin_3394',['OS_HEAP_AREA_BEGIN',['../os_8h.html#a76d0d25e825d506e2a54f29090cd7e47',1,'os.h']]], + ['os_5fheap_5farea_5fend_3395',['OS_HEAP_AREA_END',['../os_8h.html#a63faf0db6e346d556e5be95a2acb28ad',1,'os.h']]], + ['os_5fkernelcfg_5fvaddr_3396',['OS_KERNELCFG_VADDR',['../os_8h.html#a9a79af6c4935190ea9f1e97825fdaba5',1,'os.h']]], + ['os_5fkernelconfig_3397',['OS_KernelConfig',['../os_8h.html#a110240637e208519619c37d675e0f7b0',1,'os.h']]], + ['os_5fmap_5farea_5fbegin_3398',['OS_MAP_AREA_BEGIN',['../os_8h.html#ae1d62cafe4afecb5d46186ebe5c8352f',1,'os.h']]], + ['os_5fmap_5farea_5fend_3399',['OS_MAP_AREA_END',['../os_8h.html#a47c4df507cf8cbe2e4a2d64c1df9db5a',1,'os.h']]], + ['os_5fmmio_5fpaddr_3400',['OS_MMIO_PADDR',['../os_8h.html#adcff263c48e6933220897117cd8c54c4',1,'os.h']]], + ['os_5fmmio_5fsize_3401',['OS_MMIO_SIZE',['../os_8h.html#a4dcd0e08ea665120251c0a61830bc537',1,'os.h']]], + ['os_5fmmio_5fvaddr_3402',['OS_MMIO_VADDR',['../os_8h.html#aea9394a7835afe057607234caf811b00',1,'os.h']]], + ['os_5fold_5ffcram_5fpaddr_3403',['OS_OLD_FCRAM_PADDR',['../os_8h.html#a5b5f879f4639acc7d44b8de752d7cd69',1,'os.h']]], + ['os_5fold_5ffcram_5fsize_3404',['OS_OLD_FCRAM_SIZE',['../os_8h.html#a44bd1e73ee9aec7f5c51956625cda11e',1,'os.h']]], + ['os_5fold_5ffcram_5fvaddr_3405',['OS_OLD_FCRAM_VADDR',['../os_8h.html#a204a5a08cb0308b3622358d22e41e3ad',1,'os.h']]], + ['os_5fqtmram_5fpaddr_3406',['OS_QTMRAM_PADDR',['../os_8h.html#a1db38351caf7b5db6e21718bc329ba01',1,'os.h']]], + ['os_5fqtmram_5fsize_3407',['OS_QTMRAM_SIZE',['../os_8h.html#a25d3987a690b022660a4ba5aee8cefc0',1,'os.h']]], + ['os_5fqtmram_5fvaddr_3408',['OS_QTMRAM_VADDR',['../os_8h.html#a185da471d9d52138c3eaf34605f853a8',1,'os.h']]], + ['os_5fsharedcfg_5fvaddr_3409',['OS_SHAREDCFG_VADDR',['../os_8h.html#a88de8f3029eebb77d9247b51bba3246a',1,'os.h']]], + ['os_5fsharedconfig_3410',['OS_SharedConfig',['../os_8h.html#ac8f51101cc5a2564100ed3686645151f',1,'os.h']]], + ['os_5fversionbin_3411',['OS_VersionBin',['../structOS__VersionBin.html',1,'']]], + ['os_5fvram_5fpaddr_3412',['OS_VRAM_PADDR',['../os_8h.html#aaa54cb94190acf66752380c99db1b235',1,'os.h']]], + ['os_5fvram_5fsize_3413',['OS_VRAM_SIZE',['../os_8h.html#a9d114961536f1bb0385d25c433c657e5',1,'os.h']]], + ['os_5fvram_5fvaddr_3414',['OS_VRAM_VADDR',['../os_8h.html#a257f319d3665a6973ff7f6bfab034c1c',1,'os.h']]], + ['osconvertoldlinearmemtonew_3415',['osConvertOldLINEARMemToNew',['../os_8h.html#a41ed4b6791dc260649c69b1c065f232e',1,'os.h']]], + ['osconvertvirttophys_3416',['osConvertVirtToPhys',['../os_8h.html#ad5be83050dcdaf4ba7824a2afd420866',1,'os.h']]], + ['osget3dsliderstate_3417',['osGet3DSliderState',['../os_8h.html#a3b62a51a9c8f111843c1fd3ef0756026',1,'os.h']]], + ['osgetapplicationmemtype_3418',['osGetApplicationMemType',['../os_8h.html#a2f8d5fa6b6dcdd275499eea50219bfb3',1,'os.h']]], + ['osgetfirmversion_3419',['osGetFirmVersion',['../os_8h.html#a383e9cab6b8d56a0e419fc830fe4c4e2',1,'os.h']]], + ['osgetkernelversion_3420',['osGetKernelVersion',['../os_8h.html#a19f063780d025bae2b9c169440eb7598',1,'os.h']]], + ['osgetmemregionfree_3421',['osGetMemRegionFree',['../os_8h.html#a21dbc581346733ec3fca0a3986dbd046',1,'os.h']]], + ['osgetmemregionsize_3422',['osGetMemRegionSize',['../os_8h.html#a84c11685ada809c00648ff3fa9d9c8d8',1,'os.h']]], + ['osgetmemregionused_3423',['osGetMemRegionUsed',['../os_8h.html#a9c7da76485fb0c673bc5b913cb8c7083',1,'os.h']]], + ['osgetsystemcoreversion_3424',['osGetSystemCoreVersion',['../os_8h.html#a8b38d0ea945c9816d1f7173334227a0e',1,'os.h']]], + ['osgetsystemversiondata_3425',['osGetSystemVersionData',['../os_8h.html#ac3bc6073f0b8a41926ad0de5a2a4d4cb',1,'os.h']]], + ['osgetsystemversiondatastring_3426',['osGetSystemVersionDataString',['../os_8h.html#abeb74bb5b93330aff04bf10d317aa9d3',1,'os.h']]], + ['osgettime_3427',['osGetTime',['../os_8h.html#a05661250c79188dc1c54cd2776d9fb21',1,'os.h']]], + ['osgettimeref_3428',['osGetTimeRef',['../os_8h.html#a558cbe8dfd6cb624ca4350a3036cdcf5',1,'os.h']]], + ['osgetwifistrength_3429',['osGetWifiStrength',['../os_8h.html#aa38acca606f2880ac3ee9f6c531a6eaa',1,'os.h']]], + ['osisheadsetconnected_3430',['osIsHeadsetConnected',['../os_8h.html#a8e0cfa91ba702211f3a235a36b7901a5',1,'os.h']]], + ['oskernelconfig_5fs_3431',['osKernelConfig_s',['../structosKernelConfig__s.html',1,'']]], + ['ossetspeedupenable_3432',['osSetSpeedupEnable',['../os_8h.html#a7484b739da8ae26a3df6d363eeb13d98',1,'os.h']]], + ['ossharedconfig_5fs_3433',['osSharedConfig_s',['../structosSharedConfig__s.html',1,'']]], + ['osstrerror_3434',['osStrError',['../os_8h.html#a061ac8524aac2414f830fa821da7df03',1,'os.h']]], + ['ostickcounterread_3435',['osTickCounterRead',['../os_8h.html#a64822647ef4d119deea35ed971683c35',1,'os.h']]], + ['ostickcounterstart_3436',['osTickCounterStart',['../os_8h.html#ae51bb4cd74ac9cda5f40cb23b8e5b146',1,'os.h']]], + ['ostickcounterupdate_3437',['osTickCounterUpdate',['../os_8h.html#a2b5624b8fab29f0d4f2d9e996d0a7d21',1,'os.h']]], + ['ostimeref_5fs_3438',['osTimeRef_s',['../structosTimeRef__s.html',1,'']]], + ['other_5fflags_3439',['other_flags',['../structAttachProcessEvent.html#a28728766fa49b7fbe9c6f8bf3fb44bd0',1,'AttachProcessEvent']]], + ['outheight_3440',['outheight',['../structMVDSTD__Config.html#a8fd8bc0fe31eb652e2e503dacf9f8f12',1,'MVDSTD_Config']]], + ['outmapclock_3441',['outmapClock',['../structDVLE__s.html#a5fb94f787ce847e173ea5ad643eaaa1a',1,'DVLE_s']]], + ['outmapdata_3442',['outmapData',['../structDVLE__s.html#ac8076c6465c35d9d20396512d2a3187b',1,'DVLE_s']]], + ['outmapmask_3443',['outmapMask',['../structDVLE__s.html#a94024dce0694b00b83932d4cedcc51f2',1,'DVLE_s']]], + ['outmapmode_3444',['outmapMode',['../structDVLE__s.html#a23886076271c8e749c6fd53af073759c',1,'DVLE_s']]], + ['output_5fformat_3445',['output_format',['../structY2RU__ConversionParams.html#a2c35f35b43bf86eec1994d109bad775a',1,'Y2RU_ConversionParams']]], + ['output_5fheight_5foverride_3446',['output_height_override',['../structMVDSTD__Config.html#a14b39fd20aaf54fd20fc410596e63b2c',1,'MVDSTD_Config']]], + ['output_5frgb_5f16_5f555_3447',['OUTPUT_RGB_16_555',['../y2r_8h.html#ac49b25aec022b69a1df125f1fb9abd46af1d72ce325650b7925ae45d76fbbb3c0',1,'y2r.h']]], + ['output_5frgb_5f16_5f565_3448',['OUTPUT_RGB_16_565',['../y2r_8h.html#ac49b25aec022b69a1df125f1fb9abd46aa0c508afc59c4062a31f8199032decf3',1,'y2r.h']]], + ['output_5frgb_5f24_3449',['OUTPUT_RGB_24',['../y2r_8h.html#ac49b25aec022b69a1df125f1fb9abd46a6eec4a0367cc70dc49354eaa6e81b5e8',1,'y2r.h']]], + ['output_5frgb_5f32_3450',['OUTPUT_RGB_32',['../y2r_8h.html#ac49b25aec022b69a1df125f1fb9abd46a1ac70650b6d06ae7b4b52b20a58e731e',1,'y2r.h']]], + ['output_5frgb_5f565_3451',['OUTPUT_RGB_565',['../cam_8h.html#a3984303a5065c81cd8a565489c8fff85a17d4aba3a605114a3de59c55de06e4e2',1,'cam.h']]], + ['output_5fstring_3452',['output_string',['../structDebugEventInfo.html#a4900654806cebc6006ada39b88a463b0',1,'DebugEventInfo']]], + ['output_5ftype_3453',['output_type',['../structMVDSTD__Config.html#a55049ad1eaa7f0692f9ad9afe3929899',1,'MVDSTD_Config']]], + ['output_5fwidth_5foverride_3454',['output_width_override',['../structMVDSTD__Config.html#aef58ef873cb7c4bee41f101d5dec26f7',1,'MVDSTD_Config']]], + ['output_5fx_5fpos_3455',['output_x_pos',['../structMVDSTD__Config.html#ac40072f7499c766aea1727b617548233',1,'MVDSTD_Config']]], + ['output_5fy_5fpos_3456',['output_y_pos',['../structMVDSTD__Config.html#a005b173401eb063e9d6544cf66713b37',1,'MVDSTD_Config']]], + ['output_5fyuv_5f422_3457',['OUTPUT_YUV_422',['../cam_8h.html#a3984303a5065c81cd8a565489c8fff85a5d1fea80d3826fb5c780091e5130dbe4',1,'cam.h']]], + ['outputstringevent_3458',['OutputStringEvent',['../structOutputStringEvent.html',1,'']]], + ['outtabledata_3459',['outTableData',['../structDVLE__s.html#a85eb49aefa82cf2fc7c7e767a63067a0',1,'DVLE_s']]], + ['outtablesize_3460',['outTableSize',['../structDVLE__s.html#a6f92d62d09b6c57264854de8279fc1a9',1,'DVLE_s']]], + ['outwidth_3461',['outwidth',['../structMVDSTD__Config.html#a3f4a9fe7df7591626302733dde425aca',1,'MVDSTD_Config']]] +]; diff --git a/search/all_11.html b/search/all_11.html new file mode 100644 index 000000000..c9f79d289 --- /dev/null +++ b/search/all_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_11.js b/search/all_11.js new file mode 100644 index 000000000..6945a7ae6 --- /dev/null +++ b/search/all_11.js @@ -0,0 +1,205 @@ +var searchData= +[ + ['pad_3462',['pad',['../structMiiData.html#a284d7347ed3eae72ed96a41c522a770e',1,'MiiData']]], + ['padding_3463',['padding',['../structCodeSetHeader.html#a57649e80fa0a86cb7758d40373e44920',1,'CodeSetHeader::padding()'],['../structSOCU__DNSTableEntry.html#a8956c28d7311d8fedd543a29e453ac1d',1,'SOCU_DNSTableEntry::padding()'],['../structQTM__HeadTrackingInfo.html#ab12d596183f2c66de83b897e11fcf529',1,'QTM_HeadTrackingInfo::padding()'],['../structNIM__TitleConfig.html#aaa758671d7cc933fd9d0f6413f9c9216',1,'NIM_TitleConfig::padding()'],['../structFS__ProgramInfo.html#a6e4994c5ec62559ef253d35d77cc638d',1,'FS_ProgramInfo::padding()'],['../structCAMU__PackageParameterCameraSelect.html#abbf8bda3a676bec8840016f0558dda60',1,'CAMU_PackageParameterCameraSelect::padding()'],['../structCAMU__StereoCameraCalibrationData.html#a1c0f80cb2575181fe7e2c95b283761c4',1,'CAMU_StereoCameraCalibrationData::padding()'],['../structAM__ContentInfo.html#aed562125a091d816611f0943873bee92',1,'AM_ContentInfo::padding()']]], + ['padding2_3464',['padding2',['../structCodeSetHeader.html#a900214a08ed948b0f1d2bc5f00367312',1,'CodeSetHeader']]], + ['page_5findex_3465',['page_index',['../structMiiData.html#a66cd8a74152fba2abc9de5eec8a6d819',1,'MiiData']]], + ['pageinfo_3466',['PageInfo',['../structPageInfo.html',1,'']]], + ['pagex4_5fbyte3_3467',['pagex4_byte3',['../structNFC__AmiiboConfig.html#a9f0d49ca13914f283b47014d366377c8',1,'NFC_AmiiboConfig']]], + ['param_3468',['param',['../structaptHookCookie.html#a2f81fb95e85a1c4b9e0cb411deccf94f',1,'aptHookCookie']]], + ['parent_3469',['parent',['../structromfs__file.html#aa8a3d86e5375a482ba8fad62e8505ae7',1,'romfs_file::parent()'],['../structromfs__dir.html#a7d7aa924be9730d3c887b8ec715cfec5',1,'romfs_dir::parent()']]], + ['parent_5fcolor_3470',['parent_color',['../structrbtree__node.html#a626427e7352bdd7ca3c06d2fad573fa4',1,'rbtree_node']]], + ['path_5fascii_3471',['PATH_ASCII',['../fs_8h.html#a2ac939166d53f34606e046ade4c937ababb1e4d40ce2b0a1510947d092780b4cf',1,'fs.h']]], + ['path_5fbinary_3472',['PATH_BINARY',['../fs_8h.html#a2ac939166d53f34606e046ade4c937aba0330efe07f703a073551310f23edc79f',1,'fs.h']]], + ['path_5fempty_3473',['PATH_EMPTY',['../fs_8h.html#a2ac939166d53f34606e046ade4c937aba1874741e017505f2ea18f01dbf62a215',1,'fs.h']]], + ['path_5finvalid_3474',['PATH_INVALID',['../fs_8h.html#a2ac939166d53f34606e046ade4c937aba087708a66f83c522faa1a8be2be798e9',1,'fs.h']]], + ['path_5futf16_3475',['PATH_UTF16',['../fs_8h.html#a2ac939166d53f34606e046ade4c937abac350e2e698ad4760db30ab793f49939d',1,'fs.h']]], + ['pc_3476',['pc',['../structCpuRegisters.html#a729ccdaf16bcc437bcfa2b593e513f6a',1,'CpuRegisters']]], + ['pcaddr_3477',['pcAddr',['../structERRF__FatalErrInfo.html#ac8fbfae3ade315201eace43f5a5e05d4',1,'ERRF_FatalErrInfo']]], + ['pdn_5fwake_5fevents_3478',['pdn_wake_events',['../structPtmWakeEvents.html#a1bc8802f07edfb5e8735dc67b9dcedd4',1,'PtmWakeEvents']]], + ['perfcounterevent_3479',['PerfCounterEvent',['../svc_8h.html#a6604864f5e881a7ec7ad67737b936db2',1,'svc.h']]], + ['perfcounterevt_5fcore_5fcycle_5fcount_3480',['PERFCOUNTEREVT_CORE_CYCLE_COUNT',['../svc_8h.html#a6604864f5e881a7ec7ad67737b936db2a413cb88f85b5e31e3cfd63f85317d364',1,'svc.h']]], + ['perfcounterevt_5fcore_5fcycle_5fcount_5f64_3481',['PERFCOUNTEREVT_CORE_CYCLE_COUNT_64',['../svc_8h.html#a6604864f5e881a7ec7ad67737b936db2a666c6779ce705be7fe8bbb9996531577',1,'svc.h']]], + ['perfcounterop_5fdisable_3482',['PERFCOUNTEROP_DISABLE',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084ac4ed24fde8e2c67d1c6893e78ccbe73e',1,'svc.h']]], + ['perfcounterop_5fenable_3483',['PERFCOUNTEROP_ENABLE',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084a459599575a462e0e95444335d06e15e9',1,'svc.h']]], + ['perfcounterop_5fget_5fevent_3484',['PERFCOUNTEROP_GET_EVENT',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084a8c6f75508fbc8f1b9024a9d456dc191d',1,'svc.h']]], + ['perfcounterop_5fget_5foverflow_5fflags_3485',['PERFCOUNTEROP_GET_OVERFLOW_FLAGS',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084aa200abb919c37b196f1f3fd474b52658',1,'svc.h']]], + ['perfcounterop_5fget_5fvalue_3486',['PERFCOUNTEROP_GET_VALUE',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084ad74be58d4d109f73497a2b7187b6de75',1,'svc.h']]], + ['perfcounterop_5freset_3487',['PERFCOUNTEROP_RESET',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084af56848a9adfc24df081e54d97b313912',1,'svc.h']]], + ['perfcounterop_5fset_5fevent_3488',['PERFCOUNTEROP_SET_EVENT',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084a0f31b33961d1fb6f10b0f26aae56ea51',1,'svc.h']]], + ['perfcounterop_5fset_5fvalue_3489',['PERFCOUNTEROP_SET_VALUE',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084a8bf947d1af73e26fef6ad2682bc2ba9a',1,'svc.h']]], + ['perfcounterop_5fset_5fvirtual_5fcounter_5fenabled_3490',['PERFCOUNTEROP_SET_VIRTUAL_COUNTER_ENABLED',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084a5a97513b29876bee7af1770af3066122',1,'svc.h']]], + ['perfcounteroperation_3491',['PerfCounterOperation',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084',1,'svc.h']]], + ['perfcounterreg_5fcore_5fcount_5freg_5f0_3492',['PERFCOUNTERREG_CORE_COUNT_REG_0',['../svc_8h.html#af19b39931820deecca7704fe82695c25ad766b5a7dbfc2146f20e1b05bec28abf',1,'svc.h']]], + ['perfcounterreg_5fcore_5fcount_5freg_5f1_3493',['PERFCOUNTERREG_CORE_COUNT_REG_1',['../svc_8h.html#af19b39931820deecca7704fe82695c25a2df47c626c6f922950c421b9b9dc25f7',1,'svc.h']]], + ['perfcounterreg_5fcore_5fcycle_5fcounter_3494',['PERFCOUNTERREG_CORE_CYCLE_COUNTER',['../svc_8h.html#af19b39931820deecca7704fe82695c25a21629d5ab07c1422ecbb559d4a11f46c',1,'svc.h']]], + ['perfcounterreg_5fscu_5f0_3495',['PERFCOUNTERREG_SCU_0',['../svc_8h.html#af19b39931820deecca7704fe82695c25a9efbd9753e6db0e05ed3530cedb02c7e',1,'svc.h']]], + ['perfcounterreg_5fscu_5f1_3496',['PERFCOUNTERREG_SCU_1',['../svc_8h.html#af19b39931820deecca7704fe82695c25a8cd0cf2d5df85b29d57a4e59b08b6c54',1,'svc.h']]], + ['perfcounterreg_5fscu_5f2_3497',['PERFCOUNTERREG_SCU_2',['../svc_8h.html#af19b39931820deecca7704fe82695c25a928354e899519d64cc2158bf6fed3fd2',1,'svc.h']]], + ['perfcounterreg_5fscu_5f3_3498',['PERFCOUNTERREG_SCU_3',['../svc_8h.html#af19b39931820deecca7704fe82695c25a7a7051dae3b036b43e26c73166263748',1,'svc.h']]], + ['perfcounterreg_5fscu_5f4_3499',['PERFCOUNTERREG_SCU_4',['../svc_8h.html#af19b39931820deecca7704fe82695c25ae23cdfca904749e817efa2171e7f98a9',1,'svc.h']]], + ['perfcounterreg_5fscu_5f5_3500',['PERFCOUNTERREG_SCU_5',['../svc_8h.html#af19b39931820deecca7704fe82695c25a7f13355747739b775648ee8802facf91',1,'svc.h']]], + ['perfcounterreg_5fscu_5f6_3501',['PERFCOUNTERREG_SCU_6',['../svc_8h.html#af19b39931820deecca7704fe82695c25a5dec0a4112ca52e49f81390da99ccf6f',1,'svc.h']]], + ['perfcounterreg_5fscu_5f7_3502',['PERFCOUNTERREG_SCU_7',['../svc_8h.html#af19b39931820deecca7704fe82695c25a5871f8bc09de26839e6b75b81b677481',1,'svc.h']]], + ['perfcounterregister_3503',['PerfCounterRegister',['../svc_8h.html#af19b39931820deecca7704fe82695c25',1,'svc.h']]], + ['perm_3504',['perm',['../structMemInfo.html#a605f0850163837f0aef887a7413c7e0b',1,'MemInfo']]], + ['photo_5fmode_5flandscape_3505',['PHOTO_MODE_LANDSCAPE',['../cam_8h.html#ac14ae4089f708477afcc56dad7762a8aaa52cdc354642b6b6ef2f4850636abd16',1,'cam.h']]], + ['photo_5fmode_5fletter_3506',['PHOTO_MODE_LETTER',['../cam_8h.html#ac14ae4089f708477afcc56dad7762a8aa001fe9ea595e03b43777ce25eb4d646a',1,'cam.h']]], + ['photo_5fmode_5fnightview_3507',['PHOTO_MODE_NIGHTVIEW',['../cam_8h.html#ac14ae4089f708477afcc56dad7762a8aa9516a5ef718e79621273b9efbf14cb0e',1,'cam.h']]], + ['photo_5fmode_5fnormal_3508',['PHOTO_MODE_NORMAL',['../cam_8h.html#ac14ae4089f708477afcc56dad7762a8aa2bafd933f4c63d37019a1c4e6a38f7f5',1,'cam.h']]], + ['photo_5fmode_5fportrait_3509',['PHOTO_MODE_PORTRAIT',['../cam_8h.html#ac14ae4089f708477afcc56dad7762a8aa78e5da8ca0a799f19613251183efd2bb',1,'cam.h']]], + ['photomode_3510',['photoMode',['../structCAMU__PackageParameterCameraSelect.html#af411f00f321445b235c10cc694262b3f',1,'CAMU_PackageParameterCameraSelect']]], + ['physaddr_5fcolorconv_5findata_3511',['physaddr_colorconv_indata',['../structMVDSTD__Config.html#acc0efe6ef74f6700b2218802c82cccc7',1,'MVDSTD_Config']]], + ['physaddr_5fcolorconv_5funk0_3512',['physaddr_colorconv_unk0',['../structMVDSTD__Config.html#a9e57a4e3e06e25d3334800849b5b68c6',1,'MVDSTD_Config']]], + ['physaddr_5fcolorconv_5funk1_3513',['physaddr_colorconv_unk1',['../structMVDSTD__Config.html#acecaaab60a580e14b217e47e515994d6',1,'MVDSTD_Config']]], + ['physaddr_5fcolorconv_5funk2_3514',['physaddr_colorconv_unk2',['../structMVDSTD__Config.html#a130356fcf7652ac201118113d3f774e6',1,'MVDSTD_Config']]], + ['physaddr_5fcolorconv_5funk3_3515',['physaddr_colorconv_unk3',['../structMVDSTD__Config.html#af44b408003b1f4ee13030715fca31b0a',1,'MVDSTD_Config']]], + ['physaddr_5foutdata0_3516',['physaddr_outdata0',['../structMVDSTD__Config.html#a64d63a72354a8696d771d406339d1fc6',1,'MVDSTD_Config']]], + ['physaddr_5foutdata1_3517',['physaddr_outdata1',['../structMVDSTD__Config.html#af5af9d1d8d63c3632c7b794d8226e9eb',1,'MVDSTD_Config']]], + ['platform_3518',['platform',['../structFriendProfile.html#a3ecaf8888bcc2c4d649c5a6c2b173f89',1,'FriendProfile']]], + ['pmapp_2eh_3519',['pmapp.h',['../pmapp_8h.html',1,'']]], + ['pmapp_5fgetappresourcelimit_3520',['PMAPP_GetAppResourceLimit',['../pmapp_8h.html#a3781a8aedd03e4e0cdffebcfd4a36145',1,'pmapp.h']]], + ['pmapp_5fgetfirmlaunchparams_3521',['PMAPP_GetFIRMLaunchParams',['../pmapp_8h.html#a8dedd4d4b5238f6c55822a3b06c3bf0f',1,'pmapp.h']]], + ['pmapp_5fgettitleexheaderflags_3522',['PMAPP_GetTitleExheaderFlags',['../pmapp_8h.html#a1cee8335cbfb91091cca39177d939422',1,'pmapp.h']]], + ['pmapp_5flaunchfirmsetparams_3523',['PMAPP_LaunchFIRMSetParams',['../pmapp_8h.html#ada29d46204aae490e0043c42300c537d',1,'pmapp.h']]], + ['pmapp_5flaunchtitle_3524',['PMAPP_LaunchTitle',['../pmapp_8h.html#aff52b5a2376892fb8b84b9241bc59cbf',1,'pmapp.h']]], + ['pmapp_5flaunchtitleupdate_3525',['PMAPP_LaunchTitleUpdate',['../pmapp_8h.html#a12ff02f21756cde05517495fd7af3750',1,'pmapp.h']]], + ['pmapp_5fprepareforreboot_3526',['PMAPP_PrepareForReboot',['../pmapp_8h.html#a72199dbf69a82cffb43a9b74b5d1a6ba',1,'pmapp.h']]], + ['pmapp_5fsetappresourcelimit_3527',['PMAPP_SetAppResourceLimit',['../pmapp_8h.html#aed0a9d24ee7148c754ee0877f7f4b5a8',1,'pmapp.h']]], + ['pmapp_5fsetfirmlaunchparams_3528',['PMAPP_SetFIRMLaunchParams',['../pmapp_8h.html#a7d9e9726c6b06bb31a2cee8123f92fc9',1,'pmapp.h']]], + ['pmapp_5fterminatecurrentapplication_3529',['PMAPP_TerminateCurrentApplication',['../pmapp_8h.html#a0db7089cc0e81413ab3c022fdaa62e33',1,'pmapp.h']]], + ['pmapp_5fterminateprocess_3530',['PMAPP_TerminateProcess',['../pmapp_8h.html#aa6e5ceddeedc27d3168fece829d3b283',1,'pmapp.h']]], + ['pmapp_5fterminatetitle_3531',['PMAPP_TerminateTitle',['../pmapp_8h.html#ab4459ebaac5a14e626a74204ded53db7',1,'pmapp.h']]], + ['pmapp_5funregisterprocess_3532',['PMAPP_UnregisterProcess',['../pmapp_8h.html#a3e6ac7186f1ff42690d8244c3f67a0a2',1,'pmapp.h']]], + ['pmappexit_3533',['pmAppExit',['../pmapp_8h.html#ad41c1b714120863b88c26d07d1056019',1,'pmapp.h']]], + ['pmappgetsessionhandle_3534',['pmAppGetSessionHandle',['../pmapp_8h.html#a2a4b5d3c5986ee7b978350690f9d4b12',1,'pmapp.h']]], + ['pmappinit_3535',['pmAppInit',['../pmapp_8h.html#a61a5243f35f791483b56e996b0383cf2',1,'pmapp.h']]], + ['pmdbg_2eh_3536',['pmdbg.h',['../pmdbg_8h.html',1,'']]], + ['pmdbg_5flaunchapp_3537',['PMDBG_LaunchApp',['../pmdbg_8h.html#a75164c1db1a884b44f5c9c8e28e64da1',1,'pmdbg.h']]], + ['pmdbg_5flaunchappdebug_3538',['PMDBG_LaunchAppDebug',['../pmdbg_8h.html#ad219d5ea114523358ea87f8927ce3cb4',1,'pmdbg.h']]], + ['pmdbg_5frunqueuedprocess_3539',['PMDBG_RunQueuedProcess',['../pmdbg_8h.html#a9f1f44b9e9dbf73836dec8fb4742c33d',1,'pmdbg.h']]], + ['pmdbgexit_3540',['pmDbgExit',['../pmdbg_8h.html#ad7facb4946d66039f1157fcc5a574d94',1,'pmdbg.h']]], + ['pmdbggetsessionhandle_3541',['pmDbgGetSessionHandle',['../pmdbg_8h.html#a762f853ca5f1bc8bb34a32638fc5ba9b',1,'pmdbg.h']]], + ['pmdbginit_3542',['pmDbgInit',['../pmdbg_8h.html#abd84c269cdf485ebf6131006e08ca4bb',1,'pmdbg.h']]], + ['pmlaunchflag_5fforce_5fuse_5fo3ds_5fapp_5fmem_3543',['PMLAUNCHFLAG_FORCE_USE_O3DS_APP_MEM',['../pmapp_8h.html#a9334a5b9057f32da96db9b5c6a045d67aa12f5201b0a6172b32fdae6098d4e802',1,'pmapp.h']]], + ['pmlaunchflag_5fforce_5fuse_5fo3ds_5fmax_5fapp_5fmem_3544',['PMLAUNCHFLAG_FORCE_USE_O3DS_MAX_APP_MEM',['../pmapp_8h.html#a9334a5b9057f32da96db9b5c6a045d67ac8ef360a212e4efbbc5b9d9a2ca0049d',1,'pmapp.h']]], + ['pollfd_3545',['pollfd',['../structpollfd.html',1,'']]], + ['port_5fboth_3546',['PORT_BOTH',['../cam_8h.html#ae8a3b6a5d0d3244ed73924ab2421a0d0a2e0e7944e8121739c73f311a974ee28f',1,'cam.h']]], + ['port_5fcam1_3547',['PORT_CAM1',['../cam_8h.html#ae8a3b6a5d0d3244ed73924ab2421a0d0a83fd114c6c8ad6ed0db9c579935a63ce',1,'cam.h']]], + ['port_5fcam2_3548',['PORT_CAM2',['../cam_8h.html#ae8a3b6a5d0d3244ed73924ab2421a0d0a17f56155f8d240bf81deab2f5598fe6a',1,'cam.h']]], + ['port_5fnone_3549',['PORT_NONE',['../cam_8h.html#ae8a3b6a5d0d3244ed73924ab2421a0d0afed6e4add59747a2bd292aad6d543f51',1,'cam.h']]], + ['powerledstate_3550',['powerLedState',['../mcuhwc_8h.html#a4d0ecf130d757d1097b02791affd59f3',1,'mcuhwc.h']]], + ['prevcursorx_3551',['prevCursorX',['../structPrintConsole.html#a5597cf20da49284bcb2ccadfbd095c02',1,'PrintConsole']]], + ['prevcursory_3552',['prevCursorY',['../structPrintConsole.html#a643913cb7f20767b07ecf1652b788245',1,'PrintConsole']]], + ['printchar_3553',['PrintChar',['../structPrintConsole.html#ac2a6a9e9c3adda6c2e6ac11e4ebb7d14',1,'PrintConsole']]], + ['printconsole_3554',['PrintConsole',['../structPrintConsole.html',1,'']]], + ['priority_3555',['priority',['../structStartupInfo.html#a502094405b3debe7af2ee809f8055ed0',1,'StartupInfo::priority()'],['../structExHeader__Arm11CoreInfo.html#aa946b8746b05429e6c4067b05723adec',1,'ExHeader_Arm11CoreInfo::priority()']]], + ['process_5fid_3556',['process_id',['../structAttachProcessEvent.html#a4882ac904877a6b49e672376eaa7f79d',1,'AttachProcessEvent']]], + ['process_5fname_3557',['process_name',['../structAttachProcessEvent.html#ad68812d7fee15a9ec7e4b629b5a5da16',1,'AttachProcessEvent']]], + ['procid_3558',['procId',['../structERRF__FatalErrInfo.html#ae56b037aedcc78e82a3b60433bded1eb',1,'ERRF_FatalErrInfo']]], + ['productcode_3559',['productCode',['../structFS__ProductInfo.html#aed585a40db9a4ce83151424bad91fade',1,'FS_ProductInfo']]], + ['program_5fid_3560',['program_id',['../structCodeSetHeader.html#a84f92f9b496955d6cf92ca14dc9292c9',1,'CodeSetHeader::program_id()'],['../structAttachProcessEvent.html#a4336428142f8dce15453026419cc0657',1,'AttachProcessEvent::program_id()']]], + ['programid_3561',['programId',['../structFS__ProgramInfo.html#af1e9862b70fdf055b5c43c150730a165',1,'FS_ProgramInfo']]], + ['ps_2eh_3562',['ps.h',['../ps_8h.html',1,'']]], + ['ps_5faesalgorithm_3563',['PS_AESAlgorithm',['../ps_8h.html#ab10858511e98add85a2b5ec56feb0287',1,'ps.h']]], + ['ps_5faeskeytype_3564',['PS_AESKeyType',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8',1,'ps.h']]], + ['ps_5falgorithm_5fcbc_5fdec_3565',['PS_ALGORITHM_CBC_DEC',['../ps_8h.html#ab10858511e98add85a2b5ec56feb0287adefeac6ff96b1a759d2fc08dcf2af3a0',1,'ps.h']]], + ['ps_5falgorithm_5fcbc_5fenc_3566',['PS_ALGORITHM_CBC_ENC',['../ps_8h.html#ab10858511e98add85a2b5ec56feb0287a2cd2a9861abf410b5bd2dc2fe70eb79d',1,'ps.h']]], + ['ps_5falgorithm_5fccm_5fdec_3567',['PS_ALGORITHM_CCM_DEC',['../ps_8h.html#ab10858511e98add85a2b5ec56feb0287ae1276d85a463ebaf22894e5bd7f53b92',1,'ps.h']]], + ['ps_5falgorithm_5fccm_5fenc_3568',['PS_ALGORITHM_CCM_ENC',['../ps_8h.html#ab10858511e98add85a2b5ec56feb0287afcc072da4e473ef280bad304d5251451',1,'ps.h']]], + ['ps_5falgorithm_5fctr_5fdec_3569',['PS_ALGORITHM_CTR_DEC',['../ps_8h.html#ab10858511e98add85a2b5ec56feb0287a79c9789656335faea186b63d9e60bf18',1,'ps.h']]], + ['ps_5falgorithm_5fctr_5fenc_3570',['PS_ALGORITHM_CTR_ENC',['../ps_8h.html#ab10858511e98add85a2b5ec56feb0287aab35ad00fe4831766ed846b4a703dfe8',1,'ps.h']]], + ['ps_5fencryptdecryptaes_3571',['PS_EncryptDecryptAes',['../ps_8h.html#aefa2079e5ccea5884e369c51db1bf151',1,'ps.h']]], + ['ps_5fencryptsigndecryptverifyaesccm_3572',['PS_EncryptSignDecryptVerifyAesCcm',['../ps_8h.html#a7535fb13fe7b89c2802f06997610a7e9',1,'ps.h']]], + ['ps_5fgeneraterandombytes_3573',['PS_GenerateRandomBytes',['../ps_8h.html#a535dc015b8a14fcf5993640db964451d',1,'ps.h']]], + ['ps_5fgetdeviceid_3574',['PS_GetDeviceId',['../ps_8h.html#acbfc784101f2e99a5debb6fcd69f98ea',1,'ps.h']]], + ['ps_5fgetlocalfriendcodeseed_3575',['PS_GetLocalFriendCodeSeed',['../ps_8h.html#a337241611082030ac7c40bd8e26d247d',1,'ps.h']]], + ['ps_5fkeyslot_5f0d_3576',['PS_KEYSLOT_0D',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8a39c58564adfb433d83ad7f021e315ada',1,'ps.h']]], + ['ps_5fkeyslot_5f2d_3577',['PS_KEYSLOT_2D',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8ae4d4673f644dfd1084219ade7eaa087e',1,'ps.h']]], + ['ps_5fkeyslot_5f2e_3578',['PS_KEYSLOT_2E',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8a1c8bd0a6a606c4dcfa42cb37fe1c4858',1,'ps.h']]], + ['ps_5fkeyslot_5f31_3579',['PS_KEYSLOT_31',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8a306a753ced230bb0b11bbadb05558335',1,'ps.h']]], + ['ps_5fkeyslot_5f32_3580',['PS_KEYSLOT_32',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8a9f98f9873310eafa93f805dfe2ba1eef',1,'ps.h']]], + ['ps_5fkeyslot_5f36_3581',['PS_KEYSLOT_36',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8a408de5e9c16154c81a01e38f92890126',1,'ps.h']]], + ['ps_5fkeyslot_5f38_3582',['PS_KEYSLOT_38',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8a348da9e07963d9a837765fb16a72a00e',1,'ps.h']]], + ['ps_5fkeyslot_5f39_5fdlp_3583',['PS_KEYSLOT_39_DLP',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8acecd993503602935119557e4c3a012f6',1,'ps.h']]], + ['ps_5fkeyslot_5f39_5fnfc_3584',['PS_KEYSLOT_39_NFC',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8a981e21f733cc453e94ff5836f06e2d0d',1,'ps.h']]], + ['ps_5fkeyslot_5finvalid_3585',['PS_KEYSLOT_INVALID',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8abc9879d0b4aae6eb97b77c1a606a4197',1,'ps.h']]], + ['ps_5fsignrsasha256_3586',['PS_SignRsaSha256',['../ps_8h.html#afcd4d62b202c65c5399488a07ebc3888',1,'ps.h']]], + ['ps_5fverifyrsasha256_3587',['PS_VerifyRsaSha256',['../ps_8h.html#ae4d7877dfc25f204656600f63a62eb06',1,'ps.h']]], + ['psexit_3588',['psExit',['../ps_8h.html#a91d5a2ff4ba80cb80432c0c9a1f3acc0',1,'ps.h']]], + ['psgetsessionhandle_3589',['psGetSessionHandle',['../ps_8h.html#ad7830e3e186e85668c71a7ca354ac8ba',1,'ps.h']]], + ['psinit_3590',['psInit',['../ps_8h.html#abae489204853edc2e7dcf8c341c75e82',1,'ps.h']]], + ['psinithandle_3591',['psInitHandle',['../ps_8h.html#aa1e1ef12d50adaa235c50ba03dc4b4e6',1,'ps.h']]], + ['psrsacontext_3592',['psRSAContext',['../structpsRSAContext.html',1,'']]], + ['ptmgets_2eh_3593',['ptmgets.h',['../ptmgets_8h.html',1,'']]], + ['ptmgets_5fgetsystemtime_3594',['PTMGETS_GetSystemTime',['../ptmgets_8h.html#ae1832e39ffe62da2f0ccedbca80c28dc',1,'ptmgets.h']]], + ['ptmgetsexit_3595',['ptmGetsExit',['../ptmgets_8h.html#afa23aa2ef40a5acef04963f2ad6afa29',1,'ptmgets.h']]], + ['ptmgetsgetsessionhandle_3596',['ptmGetsGetSessionHandle',['../ptmgets_8h.html#a2357ca496d928ec3bcc437080c9d5d86',1,'ptmgets.h']]], + ['ptmgetsinit_3597',['ptmGetsInit',['../ptmgets_8h.html#ab46236a1a7143d4b5a3d647a14747f2c',1,'ptmgets.h']]], + ['ptmnotifid_5fbattery_5flow_3598',['PTMNOTIFID_BATTERY_LOW',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a8ea039dbda684f986481156d5ad5f982',1,'ptmsysm.h']]], + ['ptmnotifid_5fbattery_5fvery_5flow_3599',['PTMNOTIFID_BATTERY_VERY_LOW',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a8fec2ba82ed5cda60d6e68583b20f986',1,'ptmsysm.h']]], + ['ptmnotifid_5ffully_5fawake_3600',['PTMNOTIFID_FULLY_AWAKE',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a133ae28ac9e50cdbf71c2fa6d5acb526',1,'ptmsysm.h']]], + ['ptmnotifid_5ffully_5fwaking_5fup_3601',['PTMNOTIFID_FULLY_WAKING_UP',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a5df69cbc1093d8405f4fcdd64516e03d',1,'ptmsysm.h']]], + ['ptmnotifid_5fgoing_5fto_5fsleep_3602',['PTMNOTIFID_GOING_TO_SLEEP',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a6f65fae1c0eb882a248329ef0782ed15',1,'ptmsysm.h']]], + ['ptmnotifid_5fhalf_5fawake_3603',['PTMNOTIFID_HALF_AWAKE',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a086a20094e0175f65299818a2a717906',1,'ptmsysm.h']]], + ['ptmnotifid_5fshutdown_3604',['PTMNOTIFID_SHUTDOWN',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a73e5e7474c1539db28de7cb6feda6be4',1,'ptmsysm.h']]], + ['ptmnotifid_5fsleep_5fallowed_3605',['PTMNOTIFID_SLEEP_ALLOWED',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a91a4c4b264043242d2592c0c6d74d842',1,'ptmsysm.h']]], + ['ptmnotifid_5fsleep_5fdenied_3606',['PTMNOTIFID_SLEEP_DENIED',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62aed7fc1734e7eef6708878d774ba09a26',1,'ptmsysm.h']]], + ['ptmnotifid_5fsleep_5frequested_3607',['PTMNOTIFID_SLEEP_REQUESTED',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a6490f366258c14eb20fa74f9f666dc9d',1,'ptmsysm.h']]], + ['ptmsets_2eh_3608',['ptmsets.h',['../ptmsets_8h.html',1,'']]], + ['ptmsets_5fsetsystemtime_3609',['PTMSETS_SetSystemTime',['../ptmsets_8h.html#a638ecc34e997183bacd488843bf9e514',1,'ptmsets.h']]], + ['ptmsetsexit_3610',['ptmSetsExit',['../ptmsets_8h.html#a495299f5c0e837c04f67f61f58247ff9',1,'ptmsets.h']]], + ['ptmsetsgetsessionhandle_3611',['ptmSetsGetSessionHandle',['../ptmsets_8h.html#a4fb44b7ecc4d1b756a6a7fd7d4c403e7',1,'ptmsets.h']]], + ['ptmsetsinit_3612',['ptmSetsInit',['../ptmsets_8h.html#a1c72de7abe26ec28133673c49bb92d9b',1,'ptmsets.h']]], + ['ptmsleepconfig_3613',['PtmSleepConfig',['../structPtmSleepConfig.html',1,'']]], + ['ptmsysm_2eh_3614',['ptmsysm.h',['../ptmsysm_8h.html',1,'']]], + ['ptmsysm_5fawaken_3615',['PTMSYSM_Awaken',['../ptmsysm_8h.html#a4e3b9fb2cb0a7576948f273b8391ac45',1,'ptmsysm.h']]], + ['ptmsysm_5fchecknew3ds_3616',['PTMSYSM_CheckNew3DS',['../ptmsysm_8h.html#ac063e4c9176c82c2e17c1918ff9de282',1,'ptmsysm.h']]], + ['ptmsysm_5fconfigurenew3dscpu_3617',['PTMSYSM_ConfigureNew3DSCPU',['../ptmsysm_8h.html#ae3a437bfd0de05fbc5ba9a460d148430',1,'ptmsysm.h']]], + ['ptmsysm_5fgetrtctime_3618',['PTMSYSM_GetRtcTime',['../ptmsysm_8h.html#a81fb540478a7ab024ed5bc725da32f7a',1,'ptmsysm.h']]], + ['ptmsysm_5fgetwakereason_3619',['PTMSYSM_GetWakeReason',['../ptmsysm_8h.html#a69ae143e353519db8711e63eb8980c8c',1,'ptmsysm.h']]], + ['ptmsysm_5finvalidatesystemtime_3620',['PTMSYSM_InvalidateSystemTime',['../ptmsysm_8h.html#aea12e1fa8dfc2ecfe236f2e24d4de0dd',1,'ptmsysm.h']]], + ['ptmsysm_5fnotifysleeppreparationcomplete_3621',['PTMSYSM_NotifySleepPreparationComplete',['../ptmsysm_8h.html#aa265103791deeeca53f91be474925725',1,'ptmsysm.h']]], + ['ptmsysm_5frebootasync_3622',['PTMSYSM_RebootAsync',['../ptmsysm_8h.html#a036f533b3bbbc4ef2e60bdf9a00f52f1',1,'ptmsysm.h']]], + ['ptmsysm_5freplytosleepquery_3623',['PTMSYSM_ReplyToSleepQuery',['../ptmsysm_8h.html#a8b268a8d3c3aa23dcf2c7980f0a0dedd',1,'ptmsysm.h']]], + ['ptmsysm_5frequestsleep_3624',['PTMSYSM_RequestSleep',['../ptmsysm_8h.html#ae5501c04a329a37b24189034808eb9cd',1,'ptmsysm.h']]], + ['ptmsysm_5fsetrtctime_3625',['PTMSYSM_SetRtcTime',['../ptmsysm_8h.html#a13318734305af44a7aa5152c2e6f3fcc',1,'ptmsysm.h']]], + ['ptmsysm_5fsetusertime_3626',['PTMSYSM_SetUserTime',['../ptmsysm_8h.html#a5311117e22d63ad0d84a3a1fef16525a',1,'ptmsysm.h']]], + ['ptmsysm_5fsetwakeevents_3627',['PTMSYSM_SetWakeEvents',['../ptmsysm_8h.html#aecfca4fd6f9d473493516de461deba18',1,'ptmsysm.h']]], + ['ptmsysm_5fshutdownasync_3628',['PTMSYSM_ShutdownAsync',['../ptmsysm_8h.html#a79e300f7b08e04795fdba69d03892b6c',1,'ptmsysm.h']]], + ['ptmsysmexit_3629',['ptmSysmExit',['../ptmsysm_8h.html#ae8300d0f183d7b958550da5bea974274',1,'ptmsysm.h']]], + ['ptmsysmgetnotificationackvalue_3630',['ptmSysmGetNotificationAckValue',['../ptmsysm_8h.html#acf6fa1e0bd96df1a0f9ad97508787991',1,'ptmsysm.h']]], + ['ptmsysmgetsessionhandle_3631',['ptmSysmGetSessionHandle',['../ptmsysm_8h.html#ada6971fd9650be6cd008ba792e129bf0',1,'ptmsysm.h']]], + ['ptmsysminit_3632',['ptmSysmInit',['../ptmsysm_8h.html#a18359abfe6fcd1708769ef2dae98ed50',1,'ptmsysm.h']]], + ['ptmu_2eh_3633',['ptmu.h',['../ptmu_8h.html',1,'']]], + ['ptmu_5fgetadapterstate_3634',['PTMU_GetAdapterState',['../ptmu_8h.html#a245750ffc15a78dd6937567cdbd4effe',1,'ptmu.h']]], + ['ptmu_5fgetbatterychargestate_3635',['PTMU_GetBatteryChargeState',['../ptmu_8h.html#a3a24c72010f8979755de58e19d6b4574',1,'ptmu.h']]], + ['ptmu_5fgetbatterylevel_3636',['PTMU_GetBatteryLevel',['../ptmu_8h.html#a82373d4c238c33f3a20586b468233688',1,'ptmu.h']]], + ['ptmu_5fgetpedometerstate_3637',['PTMU_GetPedometerState',['../ptmu_8h.html#ad3c3b5cb00e263bdc27cbf8545dd9b0b',1,'ptmu.h']]], + ['ptmu_5fgetshellstate_3638',['PTMU_GetShellState',['../ptmu_8h.html#adf953372cfbda67c967427f31dc8e68f',1,'ptmu.h']]], + ['ptmu_5fgettotalstepcount_3639',['PTMU_GetTotalStepCount',['../ptmu_8h.html#a7d6ea0afcf123c0345af5e7e160d230f',1,'ptmu.h']]], + ['ptmuexit_3640',['ptmuExit',['../ptmu_8h.html#a56ac60c3ef9564926ceee79ecb6d3c85',1,'ptmu.h']]], + ['ptmugetsessionhandle_3641',['ptmuGetSessionHandle',['../ptmu_8h.html#a8d76adceb26c4b1c785af3a78756ec6c',1,'ptmu.h']]], + ['ptmuinit_3642',['ptmuInit',['../ptmu_8h.html#a69ffa79272f25de2c6050a480036f043',1,'ptmu.h']]], + ['ptmwakeevents_3643',['PtmWakeEvents',['../structPtmWakeEvents.html',1,'']]], + ['ptr_3644',['ptr',['../structPXIDEV__SPIBuffer.html#a3e70eb93db0663a9c4a2f42170b76b55',1,'PXIDEV_SPIBuffer']]], + ['px_3645',['px',['../structtouchPosition.html#a0c42630911c33ca134f04ded5d1aafba',1,'touchPosition']]], + ['pxidev_2eh_3646',['pxidev.h',['../pxidev_8h.html',1,'']]], + ['pxidev_5fdeasserttype_3647',['PXIDEV_DeassertType',['../pxidev_8h.html#a4692731299afc422de8e2c7956636ebe',1,'pxidev.h']]], + ['pxidev_5fspibuffer_3648',['PXIDEV_SPIBuffer',['../structPXIDEV__SPIBuffer.html',1,'']]], + ['pxidev_5fspimultiwriteread_3649',['PXIDEV_SPIMultiWriteRead',['../pxidev_8h.html#abad8d7865c4baa3ac9272b90e0d2a3c4',1,'pxidev.h']]], + ['pxidev_5fspiwriteread_3650',['PXIDEV_SPIWriteRead',['../pxidev_8h.html#add35fa484155d2a3b3af231e208557bd',1,'pxidev.h']]], + ['pxidev_5fwaittype_3651',['PXIDEV_WaitType',['../pxidev_8h.html#a987e6b1d64faec3c5d859a4aaeba28d0',1,'pxidev.h']]], + ['pxidevexit_3652',['pxiDevExit',['../pxidev_8h.html#a7fe2b20345ac5f94a85f989d8de327d2',1,'pxidev.h']]], + ['pxidevinit_3653',['pxiDevInit',['../pxidev_8h.html#a761515612831602dbdce4fc2b537a504',1,'pxidev.h']]], + ['pxidevmaketransferoption_3654',['pxiDevMakeTransferOption',['../pxidev_8h.html#ac720cfcfbe1cd7ff354a7dae5015b211',1,'pxidev.h']]], + ['pxidevmakewaitoperation_3655',['pxiDevMakeWaitOperation',['../pxidev_8h.html#a68e7999b54f11636bd0260e6bac31783',1,'pxidev.h']]], + ['pxipm_2eh_3656',['pxipm.h',['../pxipm_8h.html',1,'']]], + ['pxipm_5fgetprograminfo_3657',['PXIPM_GetProgramInfo',['../pxipm_8h.html#a1c5f1f9b77198fe8118a400962733ce6',1,'pxipm.h']]], + ['pxipm_5fregisterprogram_3658',['PXIPM_RegisterProgram',['../pxipm_8h.html#a5fd65a1f8c7b325c28ffec5817ee073b',1,'pxipm.h']]], + ['pxipm_5funregisterprogram_3659',['PXIPM_UnregisterProgram',['../pxipm_8h.html#a4289899e9d75605890ba28416614f004',1,'pxipm.h']]], + ['pxipmexit_3660',['pxiPmExit',['../pxipm_8h.html#a25527bf8f0ce6241f63acc5d9c861881',1,'pxipm.h']]], + ['pxipmgetsessionhandle_3661',['pxiPmGetSessionHandle',['../pxipm_8h.html#a65cb2e43d7fd2ba24cbf148a32aa997e',1,'pxipm.h']]], + ['pxipminit_3662',['pxiPmInit',['../pxipm_8h.html#ada0f8c50541c372eb4a2ae9998eb1529',1,'pxipm.h']]], + ['py_3663',['py',['../structtouchPosition.html#a4a437ac7c0e754fe59638541b4d314e1',1,'touchPosition']]] +]; diff --git a/search/all_12.html b/search/all_12.html new file mode 100644 index 000000000..ab934722c --- /dev/null +++ b/search/all_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_12.js b/search/all_12.js new file mode 100644 index 000000000..91140c49f --- /dev/null +++ b/search/all_12.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['qtm_2eh_3664',['qtm.h',['../qtm_8h.html',1,'']]], + ['qtm_5fgetheadtrackinginfo_3665',['QTM_GetHeadTrackingInfo',['../qtm_8h.html#a84fcb6d843cb74e79f0464d0548c8d9b',1,'qtm.h']]], + ['qtm_5fheadtrackinginfo_3666',['QTM_HeadTrackingInfo',['../structQTM__HeadTrackingInfo.html',1,'']]], + ['qtm_5fheadtrackinginfocoord_3667',['QTM_HeadTrackingInfoCoord',['../structQTM__HeadTrackingInfoCoord.html',1,'']]], + ['qtmcheckheadfullydetected_3668',['qtmCheckHeadFullyDetected',['../qtm_8h.html#a8eda8f29392a18ea6839cce9de4685e8',1,'qtm.h']]], + ['qtmcheckinitialized_3669',['qtmCheckInitialized',['../qtm_8h.html#a2be6829e253a5486702014e175a5110d',1,'qtm.h']]], + ['qtmconvertcoordtoscreen_3670',['qtmConvertCoordToScreen',['../qtm_8h.html#a590c17d8fade12a313673522bbdb1507',1,'qtm.h']]], + ['qtmexit_3671',['qtmExit',['../qtm_8h.html#a1c7d237388833868fb1e282d8a64e354',1,'qtm.h']]], + ['qtminit_3672',['qtmInit',['../qtm_8h.html#a2dd262c03c0d2feed98edfe1a7fd2dfe',1,'qtm.h']]] +]; diff --git a/search/all_13.html b/search/all_13.html new file mode 100644 index 000000000..51172c2f3 --- /dev/null +++ b/search/all_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_13.js b/search/all_13.js new file mode 100644 index 000000000..44598800c --- /dev/null +++ b/search/all_13.js @@ -0,0 +1,122 @@ +var searchData= +[ + ['r_3673',['r',['../structCpuRegisters.html#a5b5b1d3896d6b4d0ee70bb629f7ecd9b',1,'CpuRegisters']]], + ['r_5fdescription_3674',['R_DESCRIPTION',['../result_8h.html#a92f6ce12bd0312ba8f5252ce35ac680c',1,'result.h']]], + ['r_5ffailed_3675',['R_FAILED',['../result_8h.html#a0040b35f38c0d2fef6766d5b284fefc7',1,'result.h']]], + ['r_5flevel_3676',['R_LEVEL',['../result_8h.html#a76a94ff95d548993f99434769f20e57d',1,'result.h']]], + ['r_5fmodule_3677',['R_MODULE',['../result_8h.html#a5b0e010ac431ca11f51ae23fdf4d7af2',1,'result.h']]], + ['r_5foffset_3678',['r_offset',['../structY2RU__ColorCoefficients.html#ae2fe87fccabb825e91562567f50daa38',1,'Y2RU_ColorCoefficients']]], + ['r_5fsucceeded_3679',['R_SUCCEEDED',['../result_8h.html#aed427354b69859fdfab4dc33706acd45',1,'result.h']]], + ['r_5fsummary_3680',['R_SUMMARY',['../result_8h.html#a61ad81540003136a10ae88f1392386a6',1,'result.h']]], + ['r_5fv_3681',['r_V',['../structY2RU__ColorCoefficients.html#a1a769f4de70da7059ac0c86d76a81d65',1,'Y2RU_ColorCoefficients']]], + ['ratingage_3682',['ratingAge',['../structNIM__TitleConfig.html#aa900917e9bcbbb5de630a9fef4a5b914',1,'NIM_TitleConfig']]], + ['rbtree_3683',['rbtree',['../structrbtree.html',1,'']]], + ['rbtree_2eh_3684',['rbtree.h',['../rbtree_8h.html',1,'']]], + ['rbtree_5fclear_3685',['rbtree_clear',['../rbtree_8h.html#ad01c203394956d0d8d80806a0bba97ce',1,'rbtree.h']]], + ['rbtree_5fempty_3686',['rbtree_empty',['../rbtree_8h.html#adc5b8f32353f0452993aca76ae950098',1,'rbtree.h']]], + ['rbtree_5ffind_3687',['rbtree_find',['../rbtree_8h.html#aa6573b2014ed4440df29d96ecc0e7592',1,'rbtree.h']]], + ['rbtree_5finit_3688',['rbtree_init',['../rbtree_8h.html#a333d73fc305d74c1751ac89f891f7ee5',1,'rbtree.h']]], + ['rbtree_5finsert_5fmulti_3689',['rbtree_insert_multi',['../rbtree_8h.html#a5b5c543392277b07bc2dec7b1f383140',1,'rbtree.h']]], + ['rbtree_5fitem_3690',['rbtree_item',['../rbtree_8h.html#a9a8909ab0b221c0c11d983a1d8746cf4',1,'rbtree.h']]], + ['rbtree_5fmax_3691',['rbtree_max',['../rbtree_8h.html#a9ecb580c8eb4e5c4c5c3c10766efe18c',1,'rbtree.h']]], + ['rbtree_5fmin_3692',['rbtree_min',['../rbtree_8h.html#a96f0e838aff7f1cdac2f09804be44aa8',1,'rbtree.h']]], + ['rbtree_5fnode_3693',['rbtree_node',['../structrbtree__node.html',1,'']]], + ['rbtree_5fnode_5fcomparator_5ft_3694',['rbtree_node_comparator_t',['../rbtree_8h.html#ae05f4152c5dc8cc92b62d22f3b21a644',1,'rbtree.h']]], + ['rbtree_5fnode_5fdestructor_5ft_3695',['rbtree_node_destructor_t',['../rbtree_8h.html#a32532a9ceeff76fef73c59c66c666189',1,'rbtree.h']]], + ['rbtree_5fnode_5fnext_3696',['rbtree_node_next',['../rbtree_8h.html#ae9774dcf5094b21c929defded278b5cc',1,'rbtree.h']]], + ['rbtree_5fnode_5fprev_3697',['rbtree_node_prev',['../rbtree_8h.html#a55b41ea5178a00916c2c293743ea3c7c',1,'rbtree.h']]], + ['rbtree_5fremove_3698',['rbtree_remove',['../rbtree_8h.html#aa85861ccd33a4e920aeb9f4cd3475e6f',1,'rbtree.h']]], + ['rbtree_5fsize_3699',['rbtree_size',['../rbtree_8h.html#a635c19a896c3c43bd47929fb486a388f',1,'rbtree.h']]], + ['reading_3700',['reading',['../structSwkbdDictWord.html#a7cea2111d96631c7082c6e1ba99fe4b8',1,'SwkbdDictWord']]], + ['reason_3701',['reason',['../structExitThreadEvent.html#a8cc8a89ab9d43445b52a9c702baa7d43',1,'ExitThreadEvent::reason()'],['../structExitProcessEvent.html#a5185f7932899486f78aafefc6d52744a',1,'ExitProcessEvent::reason()']]], + ['recursivelock_3702',['RecursiveLock',['../synchronization_8h.html#ae161b0db2ef331125217c64729e18179',1,'synchronization.h']]], + ['recursivelock_5finit_3703',['RecursiveLock_Init',['../synchronization_8h.html#a1bbbe87bf212a32850ac9f0b6aa73408',1,'synchronization.h']]], + ['recursivelock_5flock_3704',['RecursiveLock_Lock',['../synchronization_8h.html#afea61e6ff137d96934bb145d44095ccb',1,'synchronization.h']]], + ['recursivelock_5ftrylock_3705',['RecursiveLock_TryLock',['../synchronization_8h.html#a8808924fdee80220f83b6992bc5e104d',1,'synchronization.h']]], + ['recursivelock_5funlock_3706',['RecursiveLock_Unlock',['../synchronization_8h.html#a529b21c4a974abeea24b1dcceb75cf62',1,'synchronization.h']]], + ['reference_3707',['reference',['../structTickCounter.html#a963ffa0d4bab3f120511f54d10c0db17',1,'TickCounter']]], + ['regid_3708',['regID',['../structDVLE__outEntry__s.html#ab3c4e281eed361c79363ac03aea5dec1',1,'DVLE_outEntry_s']]], + ['region_3709',['region',['../structFriendProfile.html#aa93f7353683eae976b64232206c49418',1,'FriendProfile']]], + ['region_5flock_3710',['region_lock',['../structMiiData.html#ab7ec04d195222859cada2f398fa817a3',1,'MiiData']]], + ['registers_2eh_3711',['registers.h',['../registers_8h.html',1,'']]], + ['regs_3712',['regs',['../structERRF__ExceptionData.html#a7df9f0624d16e865039a07e798c5aaa8',1,'ERRF_ExceptionData']]], + ['remaster_5fversion_3713',['remaster_version',['../structExHeader__SystemInfoFlags.html#a94a79b73d1754a57a123855fddba78e4',1,'ExHeader_SystemInfoFlags']]], + ['remasterversion_3714',['remasterVersion',['../structFS__ProductInfo.html#a217c3abd92cca9a48dcd0bdbeb338a94',1,'FS_ProductInfo']]], + ['remnants_3715',['remnants',['../structDebugEventInfo.html#a467b23d5c321ce2dcb425c897de9d05d',1,'DebugEventInfo']]], + ['remote_3716',['remote',['../structSOCU__TCPTableEntry.html#a54f2d38a6330845ebfd06845e9c684b4',1,'SOCU_TCPTableEntry::remote()'],['../structSOCU__UDPTableEntry.html#a408541226e8ff9d14b05bfa87a9cc053',1,'SOCU_UDPTableEntry::remote()']]], + ['rescode_3717',['resCode',['../structERRF__FatalErrInfo.html#a1fd8a34537c2b856372dca61030b750b',1,'ERRF_FatalErrInfo']]], + ['reserved_3718',['reserved',['../structFS__SystemSaveDataInfo.html#a01da5df42491c2a0dc1aac882621feb8',1,'FS_SystemSaveDataInfo::reserved()'],['../structCAMU__StereoCameraCalibrationData.html#ab8e7c1e004d1fbb7d243835612c3a593',1,'CAMU_StereoCameraCalibrationData::reserved()'],['../structFS__DirectoryEntry.html#a9d4bfeb71c1faf0044398cb873da65f8',1,'FS_DirectoryEntry::reserved()'],['../structExHeader__CodeSetInfo.html#a3195b1c9450a2bd8f580f1defe09a870',1,'ExHeader_CodeSetInfo::reserved()'],['../structExHeader__SystemInfo.html#ada766c7a37691f77d822729363268c27',1,'ExHeader_SystemInfo::reserved()'],['../structExHeader__Arm11StorageInfo.html#a33b32677a422f21ac2c30ec0b2ebea26',1,'ExHeader_Arm11StorageInfo::reserved()'],['../structExHeader__Arm11SystemLocalCapabilities.html#a3bd7a523eb988a66beeb57d7e362ba82',1,'ExHeader_Arm11SystemLocalCapabilities::reserved()'],['../structExHeader__Arm11KernelCapabilities.html#a61e6b3b0fb532deb5783964aaef417b0',1,'ExHeader_Arm11KernelCapabilities::reserved()'],['../structExHeader__SystemInfoFlags.html#ad644fd2969c67f598d5216fa43c86fcd',1,'ExHeader_SystemInfoFlags::reserved()']]], + ['reserved1_3719',['reserved1',['../structFS__ExtSaveDataInfo.html#a8c9e7b7ea98f611cdb1a301dc38688fc',1,'FS_ExtSaveDataInfo']]], + ['reserved2_3720',['reserved2',['../structFS__ExtSaveDataInfo.html#a11cdd05d3c81e2969526444664c27cdc',1,'FS_ExtSaveDataInfo']]], + ['reset_5foneshot_3721',['RESET_ONESHOT',['../svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdfa5e28681d7775d2a1fe89b4644ed8d57e',1,'svc.h']]], + ['reset_5fpulse_3722',['RESET_PULSE',['../svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdfa7b810dd120f32f073cf6f36de294191e',1,'svc.h']]], + ['reset_5fsticky_3723',['RESET_STICKY',['../svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdfa09868fdada28ca7c71200f2996ced929',1,'svc.h']]], + ['resettype_3724',['ResetType',['../svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdf',1,'svc.h']]], + ['reslimit_5faddressarbiter_3725',['RESLIMIT_ADDRESSARBITER',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aab702ae213a302c7ae032dccd116a5d35',1,'svc.h']]], + ['reslimit_5fbit_3726',['RESLIMIT_BIT',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa81bcdab92bd58b56bf3b6096a3aaf1d4',1,'svc.h']]], + ['reslimit_5fcategory_3727',['reslimit_category',['../structExHeader__Arm11SystemLocalCapabilities.html#ade4e42e46cc43f1d7a5432f53e1195c5',1,'ExHeader_Arm11SystemLocalCapabilities']]], + ['reslimit_5fcategory_5fapplication_3728',['RESLIMIT_CATEGORY_APPLICATION',['../exheader_8h.html#a25547bc5f736c5989f48d33a546dcea6a4c6be73538482bba5da0700a3de651a1',1,'exheader.h']]], + ['reslimit_5fcategory_5flib_5fapplet_3729',['RESLIMIT_CATEGORY_LIB_APPLET',['../exheader_8h.html#a25547bc5f736c5989f48d33a546dcea6a3c45f1b8c754acefc20e5968565ab740',1,'exheader.h']]], + ['reslimit_5fcategory_5fother_3730',['RESLIMIT_CATEGORY_OTHER',['../exheader_8h.html#a25547bc5f736c5989f48d33a546dcea6aded145ab942abf88428ad3c85cbb5b30',1,'exheader.h']]], + ['reslimit_5fcategory_5fsys_5fapplet_3731',['RESLIMIT_CATEGORY_SYS_APPLET',['../exheader_8h.html#a25547bc5f736c5989f48d33a546dcea6a81b5e25c540a1aaa5143e4b2977cfc8e',1,'exheader.h']]], + ['reslimit_5fcommit_3732',['RESLIMIT_COMMIT',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa52c9772c9039e666d86e41b791c8802c',1,'svc.h']]], + ['reslimit_5fcputime_3733',['RESLIMIT_CPUTIME',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa3aab1b0ef50ad3e6ea1ab9118f976c2b',1,'svc.h']]], + ['reslimit_5fevent_3734',['RESLIMIT_EVENT',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa80e01172679736fc55506de2383329af',1,'svc.h']]], + ['reslimit_5fmutex_3735',['RESLIMIT_MUTEX',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aac32acf08c278fbb9c5d37cd5abaa15b8',1,'svc.h']]], + ['reslimit_5fpriority_3736',['RESLIMIT_PRIORITY',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aae4775036f8b37b62df9dbb8614653bcd',1,'svc.h']]], + ['reslimit_5fsemaphore_3737',['RESLIMIT_SEMAPHORE',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa33bf64fee360e49f019fc108a12b6869',1,'svc.h']]], + ['reslimit_5fsharedmemory_3738',['RESLIMIT_SHAREDMEMORY',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aad5c0584427164249900e2957c020c7b9',1,'svc.h']]], + ['reslimit_5fthread_3739',['RESLIMIT_THREAD',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aaccd534676d1d91de2401e7810de813fb',1,'svc.h']]], + ['reslimit_5ftimer_3740',['RESLIMIT_TIMER',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa188b2b030f861dde3218e8736d8c7341',1,'svc.h']]], + ['reslimits_3741',['reslimits',['../structExHeader__Arm11SystemLocalCapabilities.html#a5eb8c344a34a5480777b7fe828ac2db7',1,'ExHeader_Arm11SystemLocalCapabilities']]], + ['resourcelimitcategory_3742',['ResourceLimitCategory',['../exheader_8h.html#a25547bc5f736c5989f48d33a546dcea6',1,'exheader.h']]], + ['resourcelimittype_3743',['ResourceLimitType',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780a',1,'svc.h']]], + ['result_3744',['Result',['../types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163',1,'types.h']]], + ['result_2eh_3745',['result.h',['../result_8h.html',1,'']]], + ['result_5fcolor_3746',['RESULT_COLOR',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457ca6b81634995b57789b661054cc6f3f818',1,'shbin.h']]], + ['result_5fdummy_3747',['RESULT_DUMMY',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457ca16e72f6515e6c7f87e0e873f41e9a482',1,'shbin.h']]], + ['result_5fnormalquat_3748',['RESULT_NORMALQUAT',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457caaf090d8cb169300f6f5c4fc2642ea330',1,'shbin.h']]], + ['result_5fposition_3749',['RESULT_POSITION',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457ca6021eb9e55492dbae0932ab01219056e',1,'shbin.h']]], + ['result_5ftexcoord0_3750',['RESULT_TEXCOORD0',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457ca686ed8a3d0fe7df040cb19b3e1ccb675',1,'shbin.h']]], + ['result_5ftexcoord0w_3751',['RESULT_TEXCOORD0W',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457caf42f5212faa4845a7032ff0ca8029387',1,'shbin.h']]], + ['result_5ftexcoord1_3752',['RESULT_TEXCOORD1',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457ca5e378c1916a05bf9656d6e3eca373525',1,'shbin.h']]], + ['result_5ftexcoord2_3753',['RESULT_TEXCOORD2',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457ca2d020e11d0a10bf346268f1a37c82cdd',1,'shbin.h']]], + ['result_5fview_3754',['RESULT_VIEW',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457ca4d549c494244eee17d7261d9bf42e463',1,'shbin.h']]], + ['revhigh_3755',['revHigh',['../structERRF__FatalErrInfo.html#a2833490b678333822f34a5f3c3afff54',1,'ERRF_FatalErrInfo']]], + ['revlow_3756',['revLow',['../structERRF__FatalErrInfo.html#a65e3d5c2cb239778ef321644c7ddb05f',1,'ERRF_FatalErrInfo']]], + ['rgb565_3757',['RGB565',['../gfx_8h.html#ab2ed36b98652f54ec3e1fdc8a31c8b13',1,'gfx.h']]], + ['rgb8_5fto_5f565_3758',['RGB8_to_565',['../gfx_8h.html#ab3ef2df7649f8793a88e87e345749bfc',1,'gfx.h']]], + ['rgb_5fy_3759',['rgb_Y',['../structY2RU__ColorCoefficients.html#aa2a7f831d6dc7d45268e4bc9f24b16ba',1,'Y2RU_ColorCoefficients']]], + ['ro_5faddr_3760',['ro_addr',['../structCodeSetHeader.html#afa8e40f26339b8158938ff8ab8944fe4',1,'CodeSetHeader']]], + ['ro_5fsize_3761',['ro_size',['../structCodeSetHeader.html#a4039bdfc33e66bd74df3971403f2f639',1,'CodeSetHeader']]], + ['ro_5fsize_5ftotal_3762',['ro_size_total',['../structCodeSetHeader.html#ad11cc3987916c127428009de1af1350b',1,'CodeSetHeader']]], + ['rodata_3763',['rodata',['../structExHeader__CodeSetInfo.html#a91eb5f8bcef9e16def8d82d4846a87e1',1,'ExHeader_CodeSetInfo']]], + ['romfs_2eh_3764',['romfs.h',['../romfs_8h.html',1,'']]], + ['romfs_5fdir_3765',['romfs_dir',['../structromfs__dir.html',1,'']]], + ['romfs_5ffile_3766',['romfs_file',['../structromfs__file.html',1,'']]], + ['romfs_5fheader_3767',['romfs_header',['../structromfs__header.html',1,'']]], + ['romfsexit_3768',['romfsExit',['../romfs_8h.html#ab0b28376bd1c13790398fc00fedd2feb',1,'romfs.h']]], + ['romfsinit_3769',['romfsInit',['../romfs_8h.html#a12e06b453b9b7bc98333702553572574',1,'romfs.h']]], + ['romfsmountfromcurrentprocess_3770',['romfsMountFromCurrentProcess',['../romfs_8h.html#a30019781595267e9a1396a5a5387bf45',1,'romfs.h']]], + ['romfsmountfromfile_3771',['romfsMountFromFile',['../romfs_8h.html#a6ce254a38954ddb78e99c2bb7a16a0b9',1,'romfs.h']]], + ['romfsmountfromtitle_3772',['romfsMountFromTitle',['../romfs_8h.html#a27853e37c0edae46b91d0d50b9c6d267',1,'romfs.h']]], + ['romfsmountself_3773',['romfsMountSelf',['../romfs_8h.html#a996532140f972ebd60dded2dd409396d',1,'romfs.h']]], + ['romfsunmount_3774',['romfsUnmount',['../romfs_8h.html#ad1dd7a7a199e7d6f40a3530820212357',1,'romfs.h']]], + ['root_3775',['root',['../structrbtree.html#afab999c0a76782781201a5bd01630715',1,'rbtree']]], + ['rotation_3776',['rotation',['../structY2RU__ConversionParams.html#a7606da970d253a71b0ec704b0e6ff9bf',1,'Y2RU_ConversionParams']]], + ['rotation_5fclockwise_5f180_3777',['ROTATION_CLOCKWISE_180',['../y2r_8h.html#a007b376798d35d4236c26916d52bbd0ea52c064a159d002d5d41819fb8747371d',1,'y2r.h']]], + ['rotation_5fclockwise_5f270_3778',['ROTATION_CLOCKWISE_270',['../y2r_8h.html#a007b376798d35d4236c26916d52bbd0ea1871297dae513f029c1ea4d359b5a5fd',1,'y2r.h']]], + ['rotation_5fclockwise_5f90_3779',['ROTATION_CLOCKWISE_90',['../y2r_8h.html#a007b376798d35d4236c26916d52bbd0ead2694fe82efeff2a555a3c51b9a24259',1,'y2r.h']]], + ['rotation_5fnone_3780',['ROTATION_NONE',['../y2r_8h.html#a007b376798d35d4236c26916d52bbd0ea3c485d0686ff0555d4db0c22959f9dec',1,'y2r.h']]], + ['rotationx_3781',['rotationX',['../structCAMU__StereoCameraCalibrationData.html#a6d9d450143a17c93dc37b5275d1b1b10',1,'CAMU_StereoCameraCalibrationData']]], + ['rotationy_3782',['rotationY',['../structCAMU__StereoCameraCalibrationData.html#a9e614f0a5a80bcf789366ff5bba7768a',1,'CAMU_StereoCameraCalibrationData']]], + ['rotationz_3783',['rotationZ',['../structCAMU__StereoCameraCalibrationData.html#a927e36f99989fade0ced434b7139c078',1,'CAMU_StereoCameraCalibrationData']]], + ['routing_5fflag_5fg_3784',['ROUTING_FLAG_G',['../soc_8h.html#a9cee173a7c2a0b5b667fbce872b79a55',1,'soc.h']]], + ['run_5fhandler_5fon_5ffaulting_5fstack_3785',['RUN_HANDLER_ON_FAULTING_STACK',['../thread_8h.html#ab40408690d779ababc87bc40b105279b',1,'thread.h']]], + ['runflag_5faptchainload_3786',['RUNFLAG_APTCHAINLOAD',['../env_8h.html#a726ca809ffd3d67ab4b8476646f26635a5eedd97be189872a5f91a561fbe33c88',1,'env.h']]], + ['runflag_5faptreinit_3787',['RUNFLAG_APTREINIT',['../env_8h.html#a726ca809ffd3d67ab4b8476646f26635a426e94cb64bcd44449b1a13d3a977df8',1,'env.h']]], + ['runflag_5faptworkaround_3788',['RUNFLAG_APTWORKAROUND',['../env_8h.html#a726ca809ffd3d67ab4b8476646f26635ad5366df45cecac4dad1f375eaa0555ab',1,'env.h']]], + ['rw_5faddr_3789',['rw_addr',['../structCodeSetHeader.html#a440bd225305c32773a688b6b3c2e7e02',1,'CodeSetHeader']]], + ['rw_5fsize_3790',['rw_size',['../structCodeSetHeader.html#adf23f727bd2a321012485ac345be20cb',1,'CodeSetHeader']]], + ['rw_5fsize_5ftotal_3791',['rw_size_total',['../structCodeSetHeader.html#ae1b2f240e32e5ebd551352bf9b2258d0',1,'CodeSetHeader']]] +]; diff --git a/search/all_14.html b/search/all_14.html new file mode 100644 index 000000000..afecf5634 --- /dev/null +++ b/search/all_14.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_14.js b/search/all_14.js new file mode 100644 index 000000000..29042e0dd --- /dev/null +++ b/search/all_14.js @@ -0,0 +1,395 @@ +var searchData= +[ + ['s_3792',['s',['../structFpuRegisters.html#accf8774f8dded5b949bf18c3d65dc754',1,'FpuRegisters']]], + ['s16_3793',['s16',['../types_8h.html#aa980e2c02ba2305e0f489d5650655425',1,'types.h']]], + ['s32_3794',['s32',['../types_8h.html#ae9b1af5c037e57a98884758875d3a7c4',1,'types.h']]], + ['s64_3795',['s64',['../types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269',1,'types.h']]], + ['s8_3796',['s8',['../types_8h.html#a9e382f207c65ca13ab4ae98363aeda80',1,'types.h']]], + ['savedata_5fsize_3797',['savedata_size',['../structExHeader__SystemInfo.html#a3abf685013ede2e5a64d6e29e6fa4f6e',1,'ExHeader_SystemInfo']]], + ['saveid_3798',['saveId',['../structFS__SystemSaveDataInfo.html#aa29d930e4eff29ee9bab2e5b83317b99',1,'FS_SystemSaveDataInfo::saveId()'],['../structFS__ExtSaveDataInfo.html#abc40792e186f3b1f7fdd9431037e1afb',1,'FS_ExtSaveDataInfo::saveId()']]], + ['scale_3799',['scale',['../structCAMU__StereoCameraCalibrationData.html#a35eb133d3ff323928d993e143e42cad6',1,'CAMU_StereoCameraCalibrationData']]], + ['scanentries_3800',['scanEntries',['../structtag__CMAP__s.html#a5b09f50abe74ae769f2bb71471a77ae2',1,'tag_CMAP_s']]], + ['scankeys_3801',['scanKeys',['../hid_8h.html#a046434fba989bef112d82f57cbe33e0c',1,'hid.h']]], + ['scheduleinoutevent_3802',['ScheduleInOutEvent',['../structScheduleInOutEvent.html',1,'']]], + ['scheduler_3803',['scheduler',['../structDebugEventInfo.html#a2a1c1f9281c782c297054a5adfb6c733',1,'DebugEventInfo']]], + ['sci_3804',['sci',['../structExHeader__Info.html#a26172971cb92adccc623e0b0666b42a1',1,'ExHeader_Info']]], + ['screencapture_3805',['screencapture',['../structGSPGPU__CaptureInfo.html#aed2556cc309dde56f06ad13023cfe406',1,'GSPGPU_CaptureInfo']]], + ['sdclkctrl_3806',['sdClkCtrl',['../structFS__SdMmcSpeedInfo.html#a64b2c5c8b5b6ff19c72bbedbccb05f26',1,'FS_SdMmcSpeedInfo']]], + ['sectionsize_3807',['sectionSize',['../structFINF__s.html#a05aedb34e709badc0f4f825d9e1405b6',1,'FINF_s']]], + ['sectorsize_3808',['sectorSize',['../structFS__ArchiveResource.html#ab4bda5e6cf21fafa494e00fc69634ad8',1,'FS_ArchiveResource']]], + ['securesave_5faction_5fdelete_3809',['SECURESAVE_ACTION_DELETE',['../fs_8h.html#ad89293d2e11fd68de534aa0fca4f0fb2afdd1688c611184b4bd76d7b4742ce234',1,'fs.h']]], + ['securesave_5faction_5fformat_3810',['SECURESAVE_ACTION_FORMAT',['../fs_8h.html#ad89293d2e11fd68de534aa0fca4f0fb2aa3858d5d6ae3a519f3d9285eee0377a0',1,'fs.h']]], + ['securevalue_5fslot_5fsd_3811',['SECUREVALUE_SLOT_SD',['../fs_8h.html#a906e781f277e459a15a95b1e760f3411a6361cb9651dedf6aa5dce71d42903316',1,'fs.h']]], + ['select_5fall_3812',['SELECT_ALL',['../cam_8h.html#af715e26dfffd1f8de1c18449e2770cffabed2268a81494490a6ab7030e751876e',1,'cam.h']]], + ['select_5fin1_3813',['SELECT_IN1',['../cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa982e5c6846fc876cc32d5fa5a34c45f7',1,'cam.h']]], + ['select_5fin1_5fout1_3814',['SELECT_IN1_OUT1',['../cam_8h.html#af715e26dfffd1f8de1c18449e2770cffad72a88152472d1f2e55b59c540fba86a',1,'cam.h']]], + ['select_5fin1_5fout2_3815',['SELECT_IN1_OUT2',['../cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa6f1a562c8186872e9601956605ebce4f',1,'cam.h']]], + ['select_5fnone_3816',['SELECT_NONE',['../cam_8h.html#af715e26dfffd1f8de1c18449e2770cffac1719a15be93e987683f7a8e817c16f9',1,'cam.h']]], + ['select_5fout1_3817',['SELECT_OUT1',['../cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa218ada760e4ddb14099afb5d6ea88f9a',1,'cam.h']]], + ['select_5fout1_5fout2_3818',['SELECT_OUT1_OUT2',['../cam_8h.html#af715e26dfffd1f8de1c18449e2770cffae1e625e63a3c56c0d29626709b6f13ad',1,'cam.h']]], + ['select_5fout2_3819',['SELECT_OUT2',['../cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa23c791f6f4305b8c3cc776f1d81dd2c7',1,'cam.h']]], + ['sequence_5fid_3820',['sequence_id',['../structtag__ndspWaveBuf.html#a47f038d687b5dfa121c510146a35d5d5',1,'tag_ndspWaveBuf']]], + ['series_3821',['series',['../structNFC__AmiiboConfig.html#a97b6c6ac32192aee1f00d1c02fa74cc3',1,'NFC_AmiiboConfig']]], + ['servhandle_3822',['servhandle',['../structsslcContext.html#a6825036f00b6011702757562cf8480ea',1,'sslcContext::servhandle()'],['../structhttpcContext.html#a026a48ba3da27fee529b344e256d612f',1,'httpcContext::servhandle()']]], + ['service_5faccess_3823',['service_access',['../structExHeader__Arm11SystemLocalCapabilities.html#afac352c4b8cc39dc06999fb70fbb641f',1,'ExHeader_Arm11SystemLocalCapabilities']]], + ['setupdate_5fyear_3824',['setupdate_year',['../structNFC__AmiiboSettings.html#a235d9f671be5710883e9cad51499df2b',1,'NFC_AmiiboSettings']]], + ['sex_3825',['sex',['../structMiiData.html#ae4ed99df18d8405f61b53b322158b8f6',1,'MiiData']]], + ['shaderinstance_5fs_3826',['shaderInstance_s',['../structshaderInstance__s.html',1,'']]], + ['shaderinstancefree_3827',['shaderInstanceFree',['../shaderProgram_8h.html#a813803dc45a4e1232e0092cc5b92e3f2',1,'shaderProgram.h']]], + ['shaderinstancegetbool_3828',['shaderInstanceGetBool',['../shaderProgram_8h.html#aacf13693c53783f654048d33af9ff1d6',1,'shaderProgram.h']]], + ['shaderinstancegetuniformlocation_3829',['shaderInstanceGetUniformLocation',['../shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604',1,'shaderProgram.h']]], + ['shaderinstanceinit_3830',['shaderInstanceInit',['../shaderProgram_8h.html#a8e396f4e4c9dd163477afcd0ebede1e0',1,'shaderProgram.h']]], + ['shaderinstancesetbool_3831',['shaderInstanceSetBool',['../shaderProgram_8h.html#ae90a12bb32c6ff5bc2cc904ee6f16b5c',1,'shaderProgram.h']]], + ['shaderprogram_2eh_3832',['shaderProgram.h',['../shaderProgram_8h.html',1,'']]], + ['shaderprogram_5fs_3833',['shaderProgram_s',['../structshaderProgram__s.html',1,'']]], + ['shaderprogramconfigure_3834',['shaderProgramConfigure',['../shaderProgram_8h.html#ae086b40996896135d182f0676e4cdcfe',1,'shaderProgram.h']]], + ['shaderprogramfree_3835',['shaderProgramFree',['../shaderProgram_8h.html#a57cbd903975f5ccce6169159f89714d8',1,'shaderProgram.h']]], + ['shaderprograminit_3836',['shaderProgramInit',['../shaderProgram_8h.html#a4907e3572c644efe27c130a8c37bddf0',1,'shaderProgram.h']]], + ['shaderprogramsetgsh_3837',['shaderProgramSetGsh',['../shaderProgram_8h.html#a9dfb834657daeaa420744d0d55a857b4',1,'shaderProgram.h']]], + ['shaderprogramsetgshinputpermutation_3838',['shaderProgramSetGshInputPermutation',['../shaderProgram_8h.html#a6695d885a673c1157c9790f2a732323d',1,'shaderProgram.h']]], + ['shaderprogramsetvsh_3839',['shaderProgramSetVsh',['../shaderProgram_8h.html#a3ca416a2e6bc3c2aaae1895435e8452c',1,'shaderProgram.h']]], + ['shaderprogramuse_3840',['shaderProgramUse',['../shaderProgram_8h.html#a29749780857245eb8860fe1bda3bcc97',1,'shaderProgram.h']]], + ['shape_3841',['shape',['../structMiiData.html#a41853eee0590642b8269149b43c33230',1,'MiiData']]], + ['sharpness_3842',['sharpness',['../structCAMU__PackageParameterCameraSelect.html#a8f890c182b77ec4e264532ed5596283d',1,'CAMU_PackageParameterCameraSelect']]], + ['shbin_2eh_3843',['shbin.h',['../shbin_8h.html',1,'']]], + ['sheetdata_3844',['sheetData',['../structTGLP__s.html#ac7a23e50af13107dbb23dc868df146c3',1,'TGLP_s']]], + ['sheetfmt_3845',['sheetFmt',['../structTGLP__s.html#a42ff8a7870befcbe256c2525949206d3',1,'TGLP_s']]], + ['sheetheight_3846',['sheetHeight',['../structTGLP__s.html#a659c3b96894dbd2aad54003da897a11a',1,'TGLP_s']]], + ['sheetindex_3847',['sheetIndex',['../structfontGlyphPos__s.html#aba5b4d216524dc792b83ffb1325c9728',1,'fontGlyphPos_s']]], + ['sheetsize_3848',['sheetSize',['../structTGLP__s.html#a9330d26245b7ed996b0f74c47252b67e',1,'TGLP_s']]], + ['sheetwidth_3849',['sheetWidth',['../structTGLP__s.html#a7c4ae21ae306399d735983cc9cea0086',1,'TGLP_s']]], + ['shirt_5fcolor_3850',['shirt_color',['../structMiiData.html#a70775d6a0df4e7b6472852cdb5b6e852',1,'MiiData']]], + ['shortext_3851',['shortExt',['../structFS__DirectoryEntry.html#ad2076b9110b670c28b05a7ec15c283c9',1,'FS_DirectoryEntry']]], + ['shortname_3852',['shortName',['../structFS__DirectoryEntry.html#a50e432e5b92414481cff3de3ae544621',1,'FS_DirectoryEntry']]], + ['show_5fguest_5fpage_3853',['show_guest_page',['../structMiiSelectorConf.html#a1e2944e28f9ef294a0af29f6fbaccc8f',1,'MiiSelectorConf']]], + ['show_5fon_5ftop_5fscreen_3854',['show_on_top_screen',['../structMiiSelectorConf.html#a7e6b701d8a73f19f1c4d4ebc079d5470',1,'MiiSelectorConf']]], + ['shutter_5fsound_5ftype_5fmovie_3855',['SHUTTER_SOUND_TYPE_MOVIE',['../cam_8h.html#a5059b91f27e994c2f4ef4a6c9d454675a5ade087b3d19f8d00ce15420304f0b8c',1,'cam.h']]], + ['shutter_5fsound_5ftype_5fmovie_5fend_3856',['SHUTTER_SOUND_TYPE_MOVIE_END',['../cam_8h.html#a5059b91f27e994c2f4ef4a6c9d454675a06c884998c91cf857b250d416e2cc2f0',1,'cam.h']]], + ['shutter_5fsound_5ftype_5fnormal_3857',['SHUTTER_SOUND_TYPE_NORMAL',['../cam_8h.html#a5059b91f27e994c2f4ef4a6c9d454675a7040268ea714fb4a174ea01ef98f38db',1,'cam.h']]], + ['sibling_3858',['sibling',['../structromfs__file.html#a1a2d3ed1133cde641508a040470861a9',1,'romfs_file::sibling()'],['../structromfs__dir.html#a93523197b2a32e5035578dd3f2f67ec1',1,'romfs_dir::sibling()']]], + ['signature_3859',['signature',['../structCFNT__s.html#a0a503bef6bec8a82792d38523e41fd8c',1,'CFNT_s::signature()'],['../structFINF__s.html#abe07f063d61d981e061155c76a1a503c',1,'FINF_s::signature()'],['../structExHeader__AccessDescriptor.html#adebb7199062402a10434e51082240970',1,'ExHeader_AccessDescriptor::signature()']]], + ['size_3860',['size',['../structrbtree.html#a5d2513a0bf879fbd38a0f96cc36c256f',1,'rbtree::size()'],['../structarchive__dir__t.html#a370ff6f78589cec3468132a2c1a9ede8',1,'archive_dir_t::size()'],['../structdecompressIOVec.html#a135490576d81d283443811b76c023a01',1,'decompressIOVec::size()'],['../structMemInfo.html#aafaee8ba3c6411806c7e319bec27b473',1,'MemInfo::size()'],['../structPXIDEV__SPIBuffer.html#acd46ecaa4f5bda403648c71646c0b5c7',1,'PXIDEV_SPIBuffer::size()'],['../structFS__Path.html#aada58da9e88b94b1bf85589c470514e8',1,'FS_Path::size()'],['../structCAMU__PackageParameterContext.html#ab6d87ae440263c9ac76171442baa1976',1,'CAMU_PackageParameterContext::size()'],['../structAM__ContentInfo.html#a939503e40afa2fe9c7629d584ebf739b',1,'AM_ContentInfo::size()'],['../structAM__TitleEntry.html#a82d248d627538f4ed3ec0ff15844453a',1,'AM_TitleEntry::size()'],['../structExHeader__CodeSectionInfo.html#a0e22a5d8f2a9dc8ff15e193c01b20391',1,'ExHeader_CodeSectionInfo::size()']]], + ['size_5fcif_3861',['SIZE_CIF',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aa622922de8a405ce15132982372f5ef7f',1,'cam.h']]], + ['size_5fctr_5fbottom_5flcd_3862',['SIZE_CTR_BOTTOM_LCD',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aa7a9039073a01c6be686e5542da91357d',1,'cam.h']]], + ['size_5fctr_5ftop_5flcd_3863',['SIZE_CTR_TOP_LCD',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aa5323d2323661285fdd5bd9cb3548c752',1,'cam.h']]], + ['size_5fds_5flcd_3864',['SIZE_DS_LCD',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aa5a3c19f94414111dd8de2e8dd95f2123',1,'cam.h']]], + ['size_5fds_5flcdx4_3865',['SIZE_DS_LCDx4',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aaa094da448b2b08d860df88319df1a20f',1,'cam.h']]], + ['size_5fqcif_3866',['SIZE_QCIF',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aa7a0d20d7cafd6ce3380e320fb17fa166',1,'cam.h']]], + ['size_5fqqvga_3867',['SIZE_QQVGA',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aabeb43838326d0e0f888832f578cd7579',1,'cam.h']]], + ['size_5fqvga_3868',['SIZE_QVGA',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aa62c0656c8d79f5bb763100e0081a173f',1,'cam.h']]], + ['size_5fvga_3869',['SIZE_VGA',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aa053bb6c18c1cc5ff2b3caff33d22a73b',1,'cam.h']]], + ['skincolor_3870',['skinColor',['../structMiiData.html#a1ace526b4ff48c16d4dde7bd1415ea13',1,'MiiData']]], + ['slot_5findex_3871',['slot_index',['../structMiiData.html#a259e0d2b45f18b5a91c99890e59858fc',1,'MiiData']]], + ['soc_2eh_3872',['soc.h',['../soc_8h.html',1,'']]], + ['socexit_3873',['socExit',['../soc_8h.html#a4c165678b18a16dccc315220ec61e1ee',1,'soc.h']]], + ['socinit_3874',['socInit',['../soc_8h.html#a0c15255d27f548252f23860e1f7fe39b',1,'soc.h']]], + ['sockaddr_3875',['sockaddr',['../structsockaddr.html',1,'']]], + ['sockaddr_5fin_3876',['sockaddr_in',['../structsockaddr__in.html',1,'']]], + ['sockaddr_5fstorage_3877',['sockaddr_storage',['../structsockaddr__storage.html',1,'']]], + ['socu_5faddglobalsocket_3878',['SOCU_AddGlobalSocket',['../soc_8h.html#a3bef58a0883bdf3000eb8466d1eedb37',1,'soc.h']]], + ['socu_5farptableentry_3879',['SOCU_ARPTableEntry',['../structSOCU__ARPTableEntry.html',1,'']]], + ['socu_5fdnstableentry_3880',['SOCU_DNSTableEntry',['../structSOCU__DNSTableEntry.html',1,'']]], + ['socu_5fgetipinfo_3881',['SOCU_GetIPInfo',['../soc_8h.html#a894b9a96c2a1a91d52f4a2cb54b173d1',1,'soc.h']]], + ['socu_5fgetnetworkopt_3882',['SOCU_GetNetworkOpt',['../soc_8h.html#a08ae584539cdc85bd756bcc22e9bce93',1,'soc.h']]], + ['socu_5fipinfo_3883',['SOCU_IPInfo',['../structSOCU__IPInfo.html',1,'']]], + ['socu_5froutingtableentry_3884',['SOCU_RoutingTableEntry',['../structSOCU__RoutingTableEntry.html',1,'']]], + ['socu_5ftcptableentry_3885',['SOCU_TCPTableEntry',['../structSOCU__TCPTableEntry.html',1,'']]], + ['socu_5fudptableentry_3886',['SOCU_UDPTableEntry',['../structSOCU__UDPTableEntry.html',1,'']]], + ['sol_5fconfig_3887',['SOL_CONFIG',['../soc_8h.html#abc8cb94624da1c70e1a77ad3d0a2676d',1,'soc.h']]], + ['sound_5fchannel_3888',['SOUND_CHANNEL',['../csnd_8h.html#a44625628a2c8fa9807122b8ecab52363',1,'csnd.h']]], + ['sound_5fenable_3889',['SOUND_ENABLE',['../csnd_8h.html#a7cc2e4244ca368f68e5746185eda6c4aac7d0b635fc605d7b57214c394e4d859d',1,'csnd.h']]], + ['sound_5fformat_3890',['SOUND_FORMAT',['../csnd_8h.html#a1fd66ef4e1b7feffca7809a6676709ce',1,'csnd.h']]], + ['sound_5fformat_5f16bit_3891',['SOUND_FORMAT_16BIT',['../csnd_8h.html#a7cc2e4244ca368f68e5746185eda6c4aa5f8b8383f728e9dabef5efa486e08fd4',1,'csnd.h']]], + ['sound_5fformat_5f8bit_3892',['SOUND_FORMAT_8BIT',['../csnd_8h.html#a7cc2e4244ca368f68e5746185eda6c4aa3ddf118603afd88ae09b0ce14877ead4',1,'csnd.h']]], + ['sound_5fformat_5fadpcm_3893',['SOUND_FORMAT_ADPCM',['../csnd_8h.html#a7cc2e4244ca368f68e5746185eda6c4aa06d7272986b2e9e3d0c444a83af104f6',1,'csnd.h']]], + ['sound_5fformat_5fpsg_3894',['SOUND_FORMAT_PSG',['../csnd_8h.html#a7cc2e4244ca368f68e5746185eda6c4aa89368ff82f9173e08af8215c5d9d0385',1,'csnd.h']]], + ['sound_5flinear_5finterp_3895',['SOUND_LINEAR_INTERP',['../csnd_8h.html#a7cc2e4244ca368f68e5746185eda6c4aac15e44f48227d2c1034b0a793b8b075d',1,'csnd.h']]], + ['sound_5floopmode_3896',['SOUND_LOOPMODE',['../csnd_8h.html#a442ef58a644a78ba09d405be50946664',1,'csnd.h']]], + ['sound_5fone_5fshot_3897',['SOUND_ONE_SHOT',['../csnd_8h.html#a7cc2e4244ca368f68e5746185eda6c4aaf96c5965b6990d82a1db630720c904b0',1,'csnd.h']]], + ['sound_5frepeat_3898',['SOUND_REPEAT',['../csnd_8h.html#a7cc2e4244ca368f68e5746185eda6c4aa304fe16fcff907da3e0b9d78fba7c922',1,'csnd.h']]], + ['sp_3899',['sp',['../structCpuRegisters.html#a64593642201411d0a1398c5ea8cfbe22',1,'CpuRegisters']]], + ['specialcontent_5fdlp_5fchild_3900',['SPECIALCONTENT_DLP_CHILD',['../fs_8h.html#ae39b89424d688ec1e77986fe0f89fccea7e7a81e5534010e6f3f815751d93f01f',1,'fs.h']]], + ['specialcontent_5fmanual_3901',['SPECIALCONTENT_MANUAL',['../fs_8h.html#ae39b89424d688ec1e77986fe0f89fcceafc811b2d3243550ee5ba254f566a05f5',1,'fs.h']]], + ['specialcontent_5fupdate_3902',['SPECIALCONTENT_UPDATE',['../fs_8h.html#ae39b89424d688ec1e77986fe0f89fccea4f35a0a657d11baac621f73bcef9ee23',1,'fs.h']]], + ['srccfg_3903',['srcCfg',['../structDmaConfig.html#a96bff82895b0a4c15a68aa40066e7f5d',1,'DmaConfig']]], + ['srv_2eh_3904',['srv.h',['../srv_8h.html',1,'']]], + ['srvenablenotification_3905',['srvEnableNotification',['../srv_8h.html#a41e92fda5c0478466bb1bc3883a7604a',1,'srv.h']]], + ['srvexit_3906',['srvExit',['../srv_8h.html#a41a1b72e01488a9d26a94421164a971a',1,'srv.h']]], + ['srvgetport_3907',['srvGetPort',['../srv_8h.html#ad74922815e49b701024fbf75f33c016c',1,'srv.h']]], + ['srvgetservicehandle_3908',['srvGetServiceHandle',['../srv_8h.html#a640c3109cd4bfa4bd226fae6485c2c38',1,'srv.h']]], + ['srvgetservicehandledirect_3909',['srvGetServiceHandleDirect',['../srv_8h.html#a2f71bee85946cbfd06a963c1845fb617',1,'srv.h']]], + ['srvgetsessionhandle_3910',['srvGetSessionHandle',['../srv_8h.html#aab6cdc04019fc64b219add4013e02b65',1,'srv.h']]], + ['srvinit_3911',['srvInit',['../srv_8h.html#ab5a2d7fec1477e7bd90c0b91095c4842',1,'srv.h']]], + ['srvisportregistered_3912',['srvIsPortRegistered',['../srv_8h.html#a71d216fb01429eaa278d7eb8330dc7bc',1,'srv.h']]], + ['srvisserviceregistered_3913',['srvIsServiceRegistered',['../srv_8h.html#a5bbf82393e861fa2d0bb8df277ee1338',1,'srv.h']]], + ['srvpm_2eh_3914',['srvpm.h',['../srvpm_8h.html',1,'']]], + ['srvpm_5fpublishtoall_3915',['SRVPM_PublishToAll',['../srvpm_8h.html#a25b38afc8254d6f97c7937f817124810',1,'srvpm.h']]], + ['srvpm_5fpublishtoprocess_3916',['SRVPM_PublishToProcess',['../srvpm_8h.html#ac0aadf18e4a21fa1f88e98742c13ea99',1,'srvpm.h']]], + ['srvpm_5fregisterprocess_3917',['SRVPM_RegisterProcess',['../srvpm_8h.html#a02dfaf51d1784abd4d20fe2f25d6bf22',1,'srvpm.h']]], + ['srvpm_5funregisterprocess_3918',['SRVPM_UnregisterProcess',['../srvpm_8h.html#afbcad1f6e4c5db0b8277480460845be9',1,'srvpm.h']]], + ['srvpmexit_3919',['srvPmExit',['../srvpm_8h.html#ab84562de6bb42fc0829822cca245b9d6',1,'srvpm.h']]], + ['srvpmgetsessionhandle_3920',['srvPmGetSessionHandle',['../srvpm_8h.html#ae2c9070832f71754b2cac6d396d0d55a',1,'srvpm.h']]], + ['srvpminit_3921',['srvPmInit',['../srvpm_8h.html#a8429e3cd75bcce7049c5857cbe9c05d6',1,'srvpm.h']]], + ['srvpublishandgetsubscriber_3922',['srvPublishAndGetSubscriber',['../srv_8h.html#a16f6e1590d6143155d36e1b6f1df5a95',1,'srv.h']]], + ['srvpublishtosubscriber_3923',['srvPublishToSubscriber',['../srv_8h.html#aa7f9fb5af629f5c592100baf98ea57dc',1,'srv.h']]], + ['srvreceivenotification_3924',['srvReceiveNotification',['../srv_8h.html#afdf8849d19334d6587f8e8c50e6e0f11',1,'srv.h']]], + ['srvregisterclient_3925',['srvRegisterClient',['../srv_8h.html#aef5578aec324fdb8bcff2c9c8e31cab5',1,'srv.h']]], + ['srvregisterport_3926',['srvRegisterPort',['../srv_8h.html#a0f4cb526f8f0164a463ad912f1e31d7f',1,'srv.h']]], + ['srvregisterservice_3927',['srvRegisterService',['../srv_8h.html#ac5af17995c0fedde9fafe17db2d58969',1,'srv.h']]], + ['srvsetblockingpolicy_3928',['srvSetBlockingPolicy',['../srv_8h.html#aa90a9a963933fd6b1cf94b9d255057b7',1,'srv.h']]], + ['srvsubscribe_3929',['srvSubscribe',['../srv_8h.html#a01146e340564cb9c4966ed190c080d63',1,'srv.h']]], + ['srvunregisterport_3930',['srvUnregisterPort',['../srv_8h.html#a6f6b9bc5cbb88324dffbc8a6feda4cf8',1,'srv.h']]], + ['srvunregisterservice_3931',['srvUnregisterService',['../srv_8h.html#a578c745aede0ed8af0541ca2dcb7fe23',1,'srv.h']]], + ['srvunsubscribe_3932',['srvUnsubscribe',['../srv_8h.html#abcbdc28b99ab3a3a88cfcef53b870df8',1,'srv.h']]], + ['srvwaitforportregistered_3933',['srvWaitForPortRegistered',['../srv_8h.html#abba8cdb354ff1c96a7bed7ae01747608',1,'srv.h']]], + ['sslc_2eh_3934',['sslc.h',['../sslc_8h.html',1,'']]], + ['sslc8certchainaddcert_3935',['sslc8CertChainAddCert',['../sslc_8h.html#ae37a6d11fc12fef073f59d885e373351',1,'sslc.h']]], + ['sslc8certchainadddefaultcert_3936',['sslc8CertChainAddDefaultCert',['../sslc_8h.html#a83d99170901000ca4510765795f4e519',1,'sslc.h']]], + ['sslc8certchainremovecert_3937',['sslc8CertChainRemoveCert',['../sslc_8h.html#ad27c8440e8abfe0c4335fe416f7f0af3',1,'sslc.h']]], + ['sslcaddtrustedrootca_3938',['sslcAddTrustedRootCA',['../sslc_8h.html#ad04b03961883840d46abdf4a4dd7336a',1,'sslc.h']]], + ['sslccloseclientcertcontext_3939',['sslcCloseClientCertContext',['../sslc_8h.html#a5e3618bb74cdcd613aee6ad52b979aad',1,'sslc.h']]], + ['sslccontext_3940',['sslcContext',['../structsslcContext.html',1,'']]], + ['sslccreate8certchain_3941',['sslcCreate8CertChain',['../sslc_8h.html#ab86e28c188db097b5fb80a9389b329f4',1,'sslc.h']]], + ['sslccreatecontext_3942',['sslcCreateContext',['../sslc_8h.html#a6de4d3a12650ccd07c9fae27b587b546',1,'sslc.h']]], + ['sslccreaterootcertchain_3943',['sslcCreateRootCertChain',['../sslc_8h.html#ab919f6e2d8ba1aa88d221245e91d3925',1,'sslc.h']]], + ['sslcdestroy8certchain_3944',['sslcDestroy8CertChain',['../sslc_8h.html#a78d23b18d79574b2202b710256e342a7',1,'sslc.h']]], + ['sslcdestroyrootcertchain_3945',['sslcDestroyRootCertChain',['../sslc_8h.html#adacd3f58292f7a3a45e8a9b8c0039c14',1,'sslc.h']]], + ['sslcexit_3946',['sslcExit',['../sslc_8h.html#a59b25f51e7c7c312f6a26b1f39eab2af',1,'sslc.h']]], + ['sslcgeneraterandomdata_3947',['sslcGenerateRandomData',['../sslc_8h.html#a6c920eddfb1dc70f0fcff395684c35e0',1,'sslc.h']]], + ['sslchandle_3948',['sslchandle',['../structsslcContext.html#a7438b06d321216a2d2c7645b05bea83e',1,'sslcContext']]], + ['sslcinit_3949',['sslcInit',['../sslc_8h.html#a8df6bdd2d151b0ff29a72d2babed0975',1,'sslc.h']]], + ['sslcopenclientcertcontext_3950',['sslcOpenClientCertContext',['../sslc_8h.html#a9d46120ab07f25108132bc38bc7044c7',1,'sslc.h']]], + ['sslcopendefaultclientcertcontext_3951',['sslcOpenDefaultClientCertContext',['../sslc_8h.html#af5110cac361556f116a0afd40bf63a7d',1,'sslc.h']]], + ['sslcrootcertchainadddefaultcert_3952',['sslcRootCertChainAddDefaultCert',['../sslc_8h.html#aac3256f3d1a8869829d86dfedadd2349',1,'sslc.h']]], + ['sslcrootcertchainremovecert_3953',['sslcRootCertChainRemoveCert',['../sslc_8h.html#ab959e88b886878488350fad69723c7e1',1,'sslc.h']]], + ['sslcseedrng_3954',['sslcSeedRNG',['../sslc_8h.html#a335184f29bdf845a775f031e69406052',1,'sslc.h']]], + ['stack_5fsize_3955',['stack_size',['../structExHeader__CodeSetInfo.html#a2643ef9476b7731a8aa6bd71c85eba25',1,'ExHeader_CodeSetInfo::stack_size()'],['../structStartupInfo.html#a094fc5eaf0b55de2d55a66a9db30047f',1,'StartupInfo::stack_size()']]], + ['standard_5fcoefficient_3956',['standard_coefficient',['../structY2RU__ConversionParams.html#add25354b0c8a7fcd87fb6069c04743e8',1,'Y2RU_ConversionParams']]], + ['startindex_3957',['startIndex',['../structtag__CWDH__s.html#a442fd2c60f994e38952b363a093afd0b',1,'tag_CWDH_s']]], + ['startreg_3958',['startReg',['../structDVLE__uniformEntry__s.html#aaea9d48d3fa76543b96318a59b53fb47',1,'DVLE_uniformEntry_s']]], + ['startupinfo_3959',['StartupInfo',['../structStartupInfo.html',1,'']]], + ['state_3960',['state',['../structMemInfo.html#a4473b7b20d510475032d0eb242d74165',1,'MemInfo::state()'],['../structLightEvent.html#ab74033485c90671a53cacda0b7c594b4',1,'LightEvent::state()'],['../structNIM__TitleProgress.html#a2aab196b47b2381cf0093006f88bd14f',1,'NIM_TitleProgress::state()'],['../structSOCU__TCPTableEntry.html#a972ae0d8369e92a09910cc78f8b86ebd',1,'SOCU_TCPTableEntry::state()']]], + ['status_3961',['status',['../structtag__ndspWaveBuf.html#a967b0ddea945fc5de1ce8334d2135358',1,'tag_ndspWaveBuf::status()'],['../structAM__PendingTitleEntry.html#a104f6f18b0e0cde17a9210b1b2ac8c7d',1,'AM_PendingTitleEntry::status()']]], + ['stop_5fpoint_3962',['stop_point',['../structExceptionEvent.html#a8f87fbd05a1735dedfaea55c528e2855',1,'ExceptionEvent']]], + ['stoppoint_5fbreakpoint_3963',['STOPPOINT_BREAKPOINT',['../svc_8h.html#a41645e97dc3a37acd97b0f0f13be76e9ab0418158fb52e5f649f8695a747620b9',1,'svc.h']]], + ['stoppoint_5fsvc_5fff_3964',['STOPPOINT_SVC_FF',['../svc_8h.html#a41645e97dc3a37acd97b0f0f13be76e9af2bda711cb2e87898ee01c75aa6eb461',1,'svc.h']]], + ['stoppoint_5fwatchpoint_3965',['STOPPOINT_WATCHPOINT',['../svc_8h.html#a41645e97dc3a37acd97b0f0f13be76e9ae012399e05b534e04b300fdc210debdd',1,'svc.h']]], + ['stoppointexceptionevent_3966',['StopPointExceptionEvent',['../structStopPointExceptionEvent.html',1,'']]], + ['stoppointtype_3967',['StopPointType',['../svc_8h.html#a41645e97dc3a37acd97b0f0f13be76e9',1,'svc.h']]], + ['storage_5finfo_3968',['storage_info',['../structExHeader__Arm11SystemLocalCapabilities.html#a0ff67e06055c8b6349548d57ba6f4a79',1,'ExHeader_Arm11SystemLocalCapabilities']]], + ['string_5faddr_3969',['string_addr',['../structOutputStringEvent.html#a4d4f08f49e570009b2d6d829fa3eea09',1,'OutputStringEvent']]], + ['string_5fsize_3970',['string_size',['../structOutputStringEvent.html#a08288e242fa7958862b1ba7dd720a220',1,'OutputStringEvent']]], + ['svc_2eh_3971',['svc.h',['../svc_8h.html',1,'']]], + ['svc_5fstop_5fpoint_3972',['SVC_STOP_POINT',['../svc_8h.html#ada2d7dbdeeb091dc83e76117eeb5ae1f',1,'svc.h']]], + ['svcacceptsession_3973',['svcAcceptSession',['../svc_8h.html#a9b1cbd6cb9eba21e42c9ec8bb7d08e97',1,'svc.h']]], + ['svcarbitrateaddress_3974',['svcArbitrateAddress',['../svc_8h.html#a4f6ec3a0e2d3bd501c6a95e234aaabdc',1,'svc.h']]], + ['svcarbitrateaddressnotimeout_3975',['svcArbitrateAddressNoTimeout',['../svc_8h.html#a8b4536b50d5d5735805f1f5aa6b2a378',1,'svc.h']]], + ['svcbackdoor_3976',['svcBackdoor',['../svc_8h.html#a1f4318daa12693ba8a3bb8dde536393b',1,'svc.h']]], + ['svcbindinterrupt_3977',['svcBindInterrupt',['../svc_8h.html#a2f8db0e990f91fa29d392986a3050a17',1,'svc.h']]], + ['svcbreak_3978',['svcBreak',['../svc_8h.html#a71559e1c5662a82ac2b83bd6c5c8234c',1,'svc.h']]], + ['svcbreakdebugprocess_3979',['svcBreakDebugProcess',['../svc_8h.html#a9609f301ffe5836bc68a8f73fece12b4',1,'svc.h']]], + ['svcbreakro_3980',['svcBreakRO',['../svc_8h.html#a68c4f6fd3748a647851724b2c7f6e6f3',1,'svc.h']]], + ['svccanceltimer_3981',['svcCancelTimer',['../svc_8h.html#a88c4f0553f97b85737a730c7e63aff6f',1,'svc.h']]], + ['svcclearevent_3982',['svcClearEvent',['../svc_8h.html#ac62690a14d27773ca936c1b53549f59d',1,'svc.h']]], + ['svccleartimer_3983',['svcClearTimer',['../svc_8h.html#a3642f5b3403a0e731358301d622a9a1e',1,'svc.h']]], + ['svcclosehandle_3984',['svcCloseHandle',['../svc_8h.html#a09f47e8301d61442fc76727da0b0554c',1,'svc.h']]], + ['svcconnecttoport_3985',['svcConnectToPort',['../svc_8h.html#a3063414d90f09e17398bdb7cd6955b71',1,'svc.h']]], + ['svccontinuedebugevent_3986',['svcContinueDebugEvent',['../svc_8h.html#a6afb068c84788f20213bb66c55d7a343',1,'svc.h']]], + ['svccontrolmemory_3987',['svcControlMemory',['../svc_8h.html#a8046e9b23b1b209a4e278cb1c19c7a5a',1,'svc.h']]], + ['svccontrolperformancecounter_3988',['svcControlPerformanceCounter',['../svc_8h.html#a5b138754e8e2aa48326c4271eae7d6ba',1,'svc.h']]], + ['svccontrolprocessmemory_3989',['svcControlProcessMemory',['../svc_8h.html#af9dcc9ae0b21ce1363522c23203d4d6c',1,'svc.h']]], + ['svccreateaddressarbiter_3990',['svcCreateAddressArbiter',['../svc_8h.html#aad97fa778ae92cc88586f287b9b88487',1,'svc.h']]], + ['svccreatecodeset_3991',['svcCreateCodeSet',['../svc_8h.html#a8b9e97a68e06934e341c147c1c489390',1,'svc.h']]], + ['svccreateevent_3992',['svcCreateEvent',['../svc_8h.html#ac4888a213bf9515d2332ce8a686b3087',1,'svc.h']]], + ['svccreatememoryblock_3993',['svcCreateMemoryBlock',['../svc_8h.html#a5ce27301f176acfa306a39c9801f7b33',1,'svc.h']]], + ['svccreatemutex_3994',['svcCreateMutex',['../svc_8h.html#af83b6eb4ee03ce1aae2ccb64906e759c',1,'svc.h']]], + ['svccreateport_3995',['svcCreatePort',['../svc_8h.html#a7ecb788e88b2b9990c72c01b73f290b2',1,'svc.h']]], + ['svccreateprocess_3996',['svcCreateProcess',['../svc_8h.html#a985e047a81393fa6d118ee769311f9c1',1,'svc.h']]], + ['svccreateresourcelimit_3997',['svcCreateResourceLimit',['../svc_8h.html#abe17c7bede51c7123fd0e07c3c12788a',1,'svc.h']]], + ['svccreatesemaphore_3998',['svcCreateSemaphore',['../svc_8h.html#a6875852b77e9295f0acefa95a721a102',1,'svc.h']]], + ['svccreatesession_3999',['svcCreateSession',['../svc_8h.html#a39e82e4602ee78d3b7bc3ad95c3798cb',1,'svc.h']]], + ['svccreatesessiontoport_4000',['svcCreateSessionToPort',['../svc_8h.html#a562f0131519b367335c376b046d1c1aa',1,'svc.h']]], + ['svccreatethread_4001',['svcCreateThread',['../svc_8h.html#a3f62a8f1822c6a78fab2e2cb03c46893',1,'svc.h']]], + ['svccreatetimer_4002',['svcCreateTimer',['../svc_8h.html#a021efa7b65d0263f55278c04c4329c5c',1,'svc.h']]], + ['svcdebugactiveprocess_4003',['svcDebugActiveProcess',['../svc_8h.html#a1fb595bace1a8798b73437b7b4ee5212',1,'svc.h']]], + ['svcduplicatehandle_4004',['svcDuplicateHandle',['../svc_8h.html#a2fea2f7321bb5bb8fa64d4064ae07e39',1,'svc.h']]], + ['svcexitprocess_4005',['svcExitProcess',['../svc_8h.html#a5151be03b9f3bfcf310ee2f659f5cff1',1,'svc.h']]], + ['svcexitthread_4006',['svcExitThread',['../svc_8h.html#a2ddb0d1da1ee4e65a5d2408da6239921',1,'svc.h']]], + ['svcflushprocessdatacache_4007',['svcFlushProcessDataCache',['../svc_8h.html#af82f17b3c13ab9cd97dff78721d24d0d',1,'svc.h']]], + ['svcgetdebugthreadcontext_4008',['svcGetDebugThreadContext',['../svc_8h.html#a45d96608f9a397c81e8a254d8948f5c5',1,'svc.h']]], + ['svcgetdebugthreadparam_4009',['svcGetDebugThreadParam',['../svc_8h.html#ad9dcfc6cb021384b48ccc7e5275bfc4b',1,'svc.h']]], + ['svcgetdmastate_4010',['svcGetDmaState',['../svc_8h.html#afb244db47f6810fb782b5331c83c52ea',1,'svc.h']]], + ['svcgethandleinfo_4011',['svcGetHandleInfo',['../svc_8h.html#a48a9bb9e4b5959bebca2f32cdd3e598a',1,'svc.h']]], + ['svcgetprocessaffinitymask_4012',['svcGetProcessAffinityMask',['../svc_8h.html#ae52c7fb0b8c1046268ad81719500eb8f',1,'svc.h']]], + ['svcgetprocessdebugevent_4013',['svcGetProcessDebugEvent',['../svc_8h.html#ae43be244fb71321c8101547a20b65693',1,'svc.h']]], + ['svcgetprocessid_4014',['svcGetProcessId',['../svc_8h.html#a46395fb5e1c8f9b2311cfa260de0c2e9',1,'svc.h']]], + ['svcgetprocessidealprocessor_4015',['svcGetProcessIdealProcessor',['../svc_8h.html#aaec6682f3ea6b524cc44d24986ccc81a',1,'svc.h']]], + ['svcgetprocessidofthread_4016',['svcGetProcessIdOfThread',['../svc_8h.html#acd17333e3949eaef28ccda04dc7db0f7',1,'svc.h']]], + ['svcgetprocessinfo_4017',['svcGetProcessInfo',['../svc_8h.html#a09d2da81f400266901235bd6cc1c0943',1,'svc.h']]], + ['svcgetprocesslist_4018',['svcGetProcessList',['../svc_8h.html#a4895a8c4e616aecd47eb260e262b0d3c',1,'svc.h']]], + ['svcgetprocessorid_4019',['svcGetProcessorID',['../svc_8h.html#a336600ef3fd751a23440c8f3bd331904',1,'svc.h']]], + ['svcgetresourcelimit_4020',['svcGetResourceLimit',['../svc_8h.html#a977a76e261890d9d989451e073c5bb7e',1,'svc.h']]], + ['svcgetresourcelimitcurrentvalues_4021',['svcGetResourceLimitCurrentValues',['../svc_8h.html#a198fe17448c4cb82eb5ebe4eb3a893d8',1,'svc.h']]], + ['svcgetresourcelimitlimitvalues_4022',['svcGetResourceLimitLimitValues',['../svc_8h.html#a182a314d366e0dd25d5f7786fad9a1be',1,'svc.h']]], + ['svcgetsysteminfo_4023',['svcGetSystemInfo',['../svc_8h.html#a581cf88669bf459816e5ce5899f1e378',1,'svc.h']]], + ['svcgetsystemtick_4024',['svcGetSystemTick',['../svc_8h.html#a3a31bff3a0f1d8ff768911e38f70c5d7',1,'svc.h']]], + ['svcgetthreadaffinitymask_4025',['svcGetThreadAffinityMask',['../svc_8h.html#a4d259199317256bae13fe0600e52a7d3',1,'svc.h']]], + ['svcgetthreadid_4026',['svcGetThreadId',['../svc_8h.html#aa528da59a295ad8a09f951e1b52c658e',1,'svc.h']]], + ['svcgetthreadidealprocessor_4027',['svcGetThreadIdealProcessor',['../svc_8h.html#a94bc1c06056b8c4d4cd7754f7a65fb34',1,'svc.h']]], + ['svcgetthreadinfo_4028',['svcGetThreadInfo',['../svc_8h.html#a5eceb4a371c0293bf2ae5c4576cbe1de',1,'svc.h']]], + ['svcgetthreadlist_4029',['svcGetThreadList',['../svc_8h.html#a3ef70e1f36a42f1d8e351d7bf1c9a2ff',1,'svc.h']]], + ['svcgetthreadpriority_4030',['svcGetThreadPriority',['../svc_8h.html#a609c04e1cde0d5bd6a71acbed3ad7e54',1,'svc.h']]], + ['svcinvalidateprocessdatacache_4031',['svcInvalidateProcessDataCache',['../svc_8h.html#ac8c9fee9e79ce2ef81585347f56f208e',1,'svc.h']]], + ['svckernelsetstate_4032',['svcKernelSetState',['../svc_8h.html#ada13386ccb8cb809658a9878a9941a8b',1,'svc.h']]], + ['svcmapmemoryblock_4033',['svcMapMemoryBlock',['../svc_8h.html#a04bb64a060cd46b28be86fa30e33bb94',1,'svc.h']]], + ['svcmapprocessmemory_4034',['svcMapProcessMemory',['../svc_8h.html#a8114b51a10d4515b71ecf5e0b2416a96',1,'svc.h']]], + ['svcopenprocess_4035',['svcOpenProcess',['../svc_8h.html#a0348d3f35f25e455d7497687224b49a5',1,'svc.h']]], + ['svcopenthread_4036',['svcOpenThread',['../svc_8h.html#aead5817ed16bb2e3f9dfe228dea2c81a',1,'svc.h']]], + ['svcoutputdebugstring_4037',['svcOutputDebugString',['../svc_8h.html#a1deb19f13c53015347aa5c8785fe612e',1,'svc.h']]], + ['svcquerydebugprocessmemory_4038',['svcQueryDebugProcessMemory',['../svc_8h.html#a701306ea4d920baf3243f0fe7139fb9f',1,'svc.h']]], + ['svcquerymemory_4039',['svcQueryMemory',['../svc_8h.html#a9809212def892f6baf31c7cd6754ed02',1,'svc.h']]], + ['svcqueryprocessmemory_4040',['svcQueryProcessMemory',['../svc_8h.html#aa9dc250e97f58dca935bcee31549f3e7',1,'svc.h']]], + ['svcreadprocessmemory_4041',['svcReadProcessMemory',['../svc_8h.html#a7d5848ed471a047cd3298615c4c49f6c',1,'svc.h']]], + ['svcreleasemutex_4042',['svcReleaseMutex',['../svc_8h.html#a29c27d98f1ce96951af4057503b6641e',1,'svc.h']]], + ['svcreleasesemaphore_4043',['svcReleaseSemaphore',['../svc_8h.html#a8c072d1a9707bb0324b4ba2e7c4fc794',1,'svc.h']]], + ['svcreplyandreceive_4044',['svcReplyAndReceive',['../svc_8h.html#aaef69fd9d538247e3e48815592de4df1',1,'svc.h']]], + ['svcrestartdma_4045',['svcRestartDma',['../svc_8h.html#aab7a1755c547a1ff2b9f2a6f45e57073',1,'svc.h']]], + ['svcrun_4046',['svcRun',['../svc_8h.html#a20ea2b0b1a60242d167664de882a4562',1,'svc.h']]], + ['svcsendsyncrequest_4047',['svcSendSyncRequest',['../svc_8h.html#a3e2f6333bfcd2a2953b5bde79122e913',1,'svc.h']]], + ['svcsetdebugthreadcontext_4048',['svcSetDebugThreadContext',['../svc_8h.html#aec567b6e8ea8fe1ac41ac1fe117a6345',1,'svc.h']]], + ['svcsetgpuprot_4049',['svcSetGpuProt',['../svc_8h.html#a73d737b48868304a3e144abc6f73ec8f',1,'svc.h']]], + ['svcsethardwarebreakpoint_4050',['svcSetHardwareBreakPoint',['../svc_8h.html#ab31e6106eb7e5f4b7ef62cca1054e83f',1,'svc.h']]], + ['svcsetprocessaffinitymask_4051',['svcSetProcessAffinityMask',['../svc_8h.html#aee49171a3a435f8879a019620b51dcd0',1,'svc.h']]], + ['svcsetprocessidealprocessor_4052',['svcSetProcessIdealProcessor',['../svc_8h.html#a7e7666520d212d0b7de8c703b4c3b00e',1,'svc.h']]], + ['svcsetprocessresourcelimits_4053',['svcSetProcessResourceLimits',['../svc_8h.html#a71a716eb986a0a9ef0e56ab0ffd2122e',1,'svc.h']]], + ['svcsetresourcelimitvalues_4054',['svcSetResourceLimitValues',['../svc_8h.html#a6f7ab132d9cc85cdff043a05fdd1fe34',1,'svc.h']]], + ['svcsetthreadaffinitymask_4055',['svcSetThreadAffinityMask',['../svc_8h.html#a7c00a1577efa9e79fdfd5d301132467b',1,'svc.h']]], + ['svcsetthreadidealprocessor_4056',['svcSetThreadIdealProcessor',['../svc_8h.html#ae4f42994fe420745b8d079d791441d42',1,'svc.h']]], + ['svcsetthreadpriority_4057',['svcSetThreadPriority',['../svc_8h.html#ae50054f7b88b075eca23b05b92fb1582',1,'svc.h']]], + ['svcsettimer_4058',['svcSetTimer',['../svc_8h.html#ab3d7b4a986e1f146dfc4d6149d1a5b5b',1,'svc.h']]], + ['svcsetwifienabled_4059',['svcSetWifiEnabled',['../svc_8h.html#a5a7ca823accc7d580ae25fe385322bbb',1,'svc.h']]], + ['svcsignalevent_4060',['svcSignalEvent',['../svc_8h.html#af1c2d3d3b17455505aa7d277ba230a7a',1,'svc.h']]], + ['svcsleepthread_4061',['svcSleepThread',['../svc_8h.html#ae1fad9317c81076e1394a376ab27c720',1,'svc.h']]], + ['svcstartinterprocessdma_4062',['svcStartInterProcessDma',['../svc_8h.html#af8008fc36f898e4e2def32627cb96b47',1,'svc.h']]], + ['svcstopdma_4063',['svcStopDma',['../svc_8h.html#ac827a6c2a3d84f484463f3206e688e01',1,'svc.h']]], + ['svcstoreprocessdatacache_4064',['svcStoreProcessDataCache',['../svc_8h.html#ab540f40958124e21d461ef4a423997f8',1,'svc.h']]], + ['svcterminatedebugprocess_4065',['svcTerminateDebugProcess',['../svc_8h.html#aea161e7c96b51fd4db42a168f678d413',1,'svc.h']]], + ['svcterminateprocess_4066',['svcTerminateProcess',['../svc_8h.html#a01228468ee9651a6480002cb381fe55e',1,'svc.h']]], + ['svcunbindinterrupt_4067',['svcUnbindInterrupt',['../svc_8h.html#aecce8ec0ae7a047d6df92e8dafd6e099',1,'svc.h']]], + ['svcunmapmemoryblock_4068',['svcUnmapMemoryBlock',['../svc_8h.html#a1e796b6048ab85155160599ce9496142',1,'svc.h']]], + ['svcunmapprocessmemory_4069',['svcUnmapProcessMemory',['../svc_8h.html#ab1e5db22e50e03cb4f14e46f09f7635a',1,'svc.h']]], + ['svcwaitsynchronization_4070',['svcWaitSynchronization',['../svc_8h.html#a4eabaa7c25d17e79026434564d484c82',1,'svc.h']]], + ['svcwaitsynchronizationn_4071',['svcWaitSynchronizationN',['../svc_8h.html#a15341b7a1a479ea489a31a145479f5b8',1,'svc.h']]], + ['svcwriteprocessmemory_4072',['svcWriteProcessMemory',['../svc_8h.html#a141d92c97fb3f2565c657dd721e1e30c',1,'svc.h']]], + ['swkbd_2eh_4073',['swkbd.h',['../swkbd_8h.html',1,'']]], + ['swkbd_5fallow_5fhome_4074',['SWKBD_ALLOW_HOME',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04aac6fa4f37d2db0c7ee8a0b247ebc2cf1',1,'swkbd.h']]], + ['swkbd_5fallow_5fpower_4075',['SWKBD_ALLOW_POWER',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04a22cc81cb2524dbcedf88ecd51d6174e4',1,'swkbd.h']]], + ['swkbd_5fallow_5freset_4076',['SWKBD_ALLOW_RESET',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04a82d4882b4e8e601e82dbf301be793e0e',1,'swkbd.h']]], + ['swkbd_5fanything_4077',['SWKBD_ANYTHING',['../swkbd_8h.html#a9c2863f4e484d07ba6be8fdf84bb96a1adf5ca7a645dea83448551248be05bc35',1,'swkbd.h']]], + ['swkbd_5fbanned_5finput_4078',['SWKBD_BANNED_INPUT',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a2b71a09c9b94f64e6f51cb927646c8eb',1,'swkbd.h']]], + ['swkbd_5fbutton_5fleft_4079',['SWKBD_BUTTON_LEFT',['../swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29ca04b5951221df3ade6e04447b590d1fd4',1,'swkbd.h']]], + ['swkbd_5fbutton_5fmiddle_4080',['SWKBD_BUTTON_MIDDLE',['../swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29ca7fbeb491bb84654eabad38826a00edd5',1,'swkbd.h']]], + ['swkbd_5fbutton_5fnone_4081',['SWKBD_BUTTON_NONE',['../swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29caa7a4d5142a471089f281173d35f52675',1,'swkbd.h']]], + ['swkbd_5fbutton_5fright_4082',['SWKBD_BUTTON_RIGHT',['../swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29ca2754579a6b7bf2b751751b5a9ca8c4b3',1,'swkbd.h']]], + ['swkbd_5fcallback_5fclose_4083',['SWKBD_CALLBACK_CLOSE',['../swkbd_8h.html#a12d91ff65b198511e8d26960577d2c7aa9238474d1113e68576271d5c1e87aa2c',1,'swkbd.h']]], + ['swkbd_5fcallback_5fcontinue_4084',['SWKBD_CALLBACK_CONTINUE',['../swkbd_8h.html#a12d91ff65b198511e8d26960577d2c7aaf65d5b95476c302b9201d1278761275b',1,'swkbd.h']]], + ['swkbd_5fcallback_5fok_4085',['SWKBD_CALLBACK_OK',['../swkbd_8h.html#a12d91ff65b198511e8d26960577d2c7aaec9de9f165d0d788152aa5d3dfc21327',1,'swkbd.h']]], + ['swkbd_5fd0_5fclick_4086',['SWKBD_D0_CLICK',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a76d54e4492757452c7c20aad596bc037',1,'swkbd.h']]], + ['swkbd_5fd1_5fclick0_4087',['SWKBD_D1_CLICK0',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93aecf7620ac2b17d05dd2583785e4fe67d',1,'swkbd.h']]], + ['swkbd_5fd1_5fclick1_4088',['SWKBD_D1_CLICK1',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93ac39a32d53c9e3f20017492d0b521a936',1,'swkbd.h']]], + ['swkbd_5fd2_5fclick0_4089',['SWKBD_D2_CLICK0',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a0225d1a05505f3439832d3a5b6c12095',1,'swkbd.h']]], + ['swkbd_5fd2_5fclick1_4090',['SWKBD_D2_CLICK1',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a9761ef300b084cda9feff81657bb3783',1,'swkbd.h']]], + ['swkbd_5fd2_5fclick2_4091',['SWKBD_D2_CLICK2',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a199451004dc9755c37f34cba29089817',1,'swkbd.h']]], + ['swkbd_5fdarken_5ftop_5fscreen_4092',['SWKBD_DARKEN_TOP_SCREEN',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04ab7aec191ef2d5df62291a011f5c0a4e7',1,'swkbd.h']]], + ['swkbd_5fdefault_5fqwerty_4093',['SWKBD_DEFAULT_QWERTY',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04ac44a4dee33fa25059f283be8e241fc62',1,'swkbd.h']]], + ['swkbd_5ffilter_5fat_4094',['SWKBD_FILTER_AT',['../swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5a556df4c35b36612b092e414600e30eed',1,'swkbd.h']]], + ['swkbd_5ffilter_5fbackslash_4095',['SWKBD_FILTER_BACKSLASH',['../swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5a8385e631b1b3313c05a2f80097021af6',1,'swkbd.h']]], + ['swkbd_5ffilter_5fcallback_4096',['SWKBD_FILTER_CALLBACK',['../swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5a791a253769fb274e58d0edc5b69f44c5',1,'swkbd.h']]], + ['swkbd_5ffilter_5fdigits_4097',['SWKBD_FILTER_DIGITS',['../swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5aa03c93ae6d25484d672a409bec1c79ef',1,'swkbd.h']]], + ['swkbd_5ffilter_5fpercent_4098',['SWKBD_FILTER_PERCENT',['../swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5ab4a359ee3ad3a4394c186bd6ba676d37',1,'swkbd.h']]], + ['swkbd_5ffilter_5fprofanity_4099',['SWKBD_FILTER_PROFANITY',['../swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5a241d66f1b98f9de0da217356d5b2e4bf',1,'swkbd.h']]], + ['swkbd_5ffixed_5fwidth_4100',['SWKBD_FIXED_WIDTH',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04aae3631524844bce7fb3aceb10416391f',1,'swkbd.h']]], + ['swkbd_5ffixedlen_4101',['SWKBD_FIXEDLEN',['../swkbd_8h.html#a9c2863f4e484d07ba6be8fdf84bb96a1a39be8bd578ff7ffad04190228e60a1a9',1,'swkbd.h']]], + ['swkbd_5fhomepressed_4102',['SWKBD_HOMEPRESSED',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93aac0b81dd3cf9855a464ae1429d4dde44',1,'swkbd.h']]], + ['swkbd_5finvalid_5finput_4103',['SWKBD_INVALID_INPUT',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93abd740c8d864f5c00d81c1cf31144eaef',1,'swkbd.h']]], + ['swkbd_5fmax_5fbutton_5ftext_5flen_4104',['SWKBD_MAX_BUTTON_TEXT_LEN',['../swkbd_8h.html#aaadedc4dededc44c16c56c71da120298',1,'swkbd.h']]], + ['swkbd_5fmax_5fcallback_5fmsg_5flen_4105',['SWKBD_MAX_CALLBACK_MSG_LEN',['../swkbd_8h.html#a151b6133d35cee6517b85dd9a03cc170',1,'swkbd.h']]], + ['swkbd_5fmax_5fhint_5ftext_5flen_4106',['SWKBD_MAX_HINT_TEXT_LEN',['../swkbd_8h.html#a52cbc334c24512e60befe6f7a57f33c4',1,'swkbd.h']]], + ['swkbd_5fmax_5fword_5flen_4107',['SWKBD_MAX_WORD_LEN',['../swkbd_8h.html#af46520bdb45806063c4f63cd7d19adce',1,'swkbd.h']]], + ['swkbd_5fmultiline_4108',['SWKBD_MULTILINE',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04ab38ff5f2098240b8fc288a0df7b41ac5',1,'swkbd.h']]], + ['swkbd_5fnone_4109',['SWKBD_NONE',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a59071ee22605a66a8ca2700a9c1ae77d',1,'swkbd.h']]], + ['swkbd_5fnotblank_4110',['SWKBD_NOTBLANK',['../swkbd_8h.html#a9c2863f4e484d07ba6be8fdf84bb96a1a1025cd177247c0b2482c0bbac789f798',1,'swkbd.h']]], + ['swkbd_5fnotempty_4111',['SWKBD_NOTEMPTY',['../swkbd_8h.html#a9c2863f4e484d07ba6be8fdf84bb96a1a9d1709266de5138ac0a0fb415b62935e',1,'swkbd.h']]], + ['swkbd_5fnotempty_5fnotblank_4112',['SWKBD_NOTEMPTY_NOTBLANK',['../swkbd_8h.html#a9c2863f4e484d07ba6be8fdf84bb96a1a1caa32cefb6ab95f86a42b4dbd137feb',1,'swkbd.h']]], + ['swkbd_5foutofmem_4113',['SWKBD_OUTOFMEM',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93aaac828716362cc53057fbcaf731b2c25',1,'swkbd.h']]], + ['swkbd_5fparental_4114',['SWKBD_PARENTAL',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04a70304b094e5acd73deb9bb8b27128e7a',1,'swkbd.h']]], + ['swkbd_5fparental_5ffail_4115',['SWKBD_PARENTAL_FAIL',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93af5061a0c471654f4dd68cc59519f7188',1,'swkbd.h']]], + ['swkbd_5fparental_5fok_4116',['SWKBD_PARENTAL_OK',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a1ed59bc024b62a5b6c075dfc8a0534d6',1,'swkbd.h']]], + ['swkbd_5fpassword_5fhide_4117',['SWKBD_PASSWORD_HIDE',['../swkbd_8h.html#a7dddf239d1add2f4a68d79ca0e64c1b9a1da6c004e85d5d11b798c5805ea2f3dc',1,'swkbd.h']]], + ['swkbd_5fpassword_5fhide_5fdelay_4118',['SWKBD_PASSWORD_HIDE_DELAY',['../swkbd_8h.html#a7dddf239d1add2f4a68d79ca0e64c1b9aa2ec3ada05cfa6de081da8288635d110',1,'swkbd.h']]], + ['swkbd_5fpassword_5fnone_4119',['SWKBD_PASSWORD_NONE',['../swkbd_8h.html#a7dddf239d1add2f4a68d79ca0e64c1b9aa862068a3d6d1d30c9c2343025368d56',1,'swkbd.h']]], + ['swkbd_5fpowerpressed_4120',['SWKBD_POWERPRESSED',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93aa4458c14c72bfd33d3bd1c1c832bef00',1,'swkbd.h']]], + ['swkbd_5fpredictive_5finput_4121',['SWKBD_PREDICTIVE_INPUT',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04adf8b88dbe0a36d524a5cde8e7af45bd4',1,'swkbd.h']]], + ['swkbd_5fresetpressed_4122',['SWKBD_RESETPRESSED',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a76e7d6d7ebf659dd635fb8ca4cfa919b',1,'swkbd.h']]], + ['swkbd_5ftype_5fnormal_4123',['SWKBD_TYPE_NORMAL',['../swkbd_8h.html#ad88d214560b9bbaf1391cc7013ab4387a09e29e270f59d0b17f06c8455d6a836c',1,'swkbd.h']]], + ['swkbd_5ftype_5fnumpad_4124',['SWKBD_TYPE_NUMPAD',['../swkbd_8h.html#ad88d214560b9bbaf1391cc7013ab4387a5802f3a1eabee6305045ed5cd57ae5b9',1,'swkbd.h']]], + ['swkbd_5ftype_5fqwerty_4125',['SWKBD_TYPE_QWERTY',['../swkbd_8h.html#ad88d214560b9bbaf1391cc7013ab4387afb5f26b787995fc4b88a1668e4a99c09',1,'swkbd.h']]], + ['swkbd_5ftype_5fwestern_4126',['SWKBD_TYPE_WESTERN',['../swkbd_8h.html#ad88d214560b9bbaf1391cc7013ab4387a0f871d4bbdd45581d73f4877fafdb002',1,'swkbd.h']]], + ['swkbdbutton_4127',['SwkbdButton',['../swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29c',1,'swkbd.h']]], + ['swkbdcallbackfn_4128',['SwkbdCallbackFn',['../swkbd_8h.html#aa399c3ac23cdac010f1391caaeb3239c',1,'swkbd.h']]], + ['swkbdcallbackresult_4129',['SwkbdCallbackResult',['../swkbd_8h.html#a12d91ff65b198511e8d26960577d2c7a',1,'swkbd.h']]], + ['swkbddictword_4130',['SwkbdDictWord',['../structSwkbdDictWord.html',1,'']]], + ['swkbdextra_4131',['SwkbdExtra',['../structSwkbdExtra.html',1,'']]], + ['swkbdgetresult_4132',['swkbdGetResult',['../swkbd_8h.html#a9fe63b706b3a5f4196e8a464db578d10',1,'swkbd.h']]], + ['swkbdinit_4133',['swkbdInit',['../swkbd_8h.html#ac3a6569aa3150430e729b328999561ed',1,'swkbd.h']]], + ['swkbdinputtext_4134',['swkbdInputText',['../swkbd_8h.html#a3a9e7271ab89d6727897b66cbb51a0a5',1,'swkbd.h']]], + ['swkbdlearningdata_4135',['SwkbdLearningData',['../structSwkbdLearningData.html',1,'']]], + ['swkbdpasswordmode_4136',['SwkbdPasswordMode',['../swkbd_8h.html#a7dddf239d1add2f4a68d79ca0e64c1b9',1,'swkbd.h']]], + ['swkbdresult_4137',['SwkbdResult',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93',1,'swkbd.h']]], + ['swkbdsetbutton_4138',['swkbdSetButton',['../swkbd_8h.html#a03c1c95303c37468bda0077e8d986e00',1,'swkbd.h']]], + ['swkbdsetdictionary_4139',['swkbdSetDictionary',['../swkbd_8h.html#ad8c2bcf30bd16119cab4a58c15d85495',1,'swkbd.h']]], + ['swkbdsetdictword_4140',['swkbdSetDictWord',['../swkbd_8h.html#a7abf5422dcf03764ffba1eaaca8c1653',1,'swkbd.h']]], + ['swkbdsetfeatures_4141',['swkbdSetFeatures',['../swkbd_8h.html#a7ab5f470b1bde4cc7d8ea7336c078098',1,'swkbd.h']]], + ['swkbdsetfiltercallback_4142',['swkbdSetFilterCallback',['../swkbd_8h.html#a6f28aed150085612694ac8ed48a3cdb8',1,'swkbd.h']]], + ['swkbdsethinttext_4143',['swkbdSetHintText',['../swkbd_8h.html#ab50d59110e5920e1aba641b607900277',1,'swkbd.h']]], + ['swkbdsetinitialtext_4144',['swkbdSetInitialText',['../swkbd_8h.html#a3188c3c8f62da1f740e195976dcabf1f',1,'swkbd.h']]], + ['swkbdsetlearningdata_4145',['swkbdSetLearningData',['../swkbd_8h.html#a790328be559c7d75558faa7a5b055d2c',1,'swkbd.h']]], + ['swkbdsetnumpadkeys_4146',['swkbdSetNumpadKeys',['../swkbd_8h.html#ad00d7ebd131e5171fca3beddace66890',1,'swkbd.h']]], + ['swkbdsetpasswordmode_4147',['swkbdSetPasswordMode',['../swkbd_8h.html#a94b68f3e03958c2a609458641be484a2',1,'swkbd.h']]], + ['swkbdsetstatusdata_4148',['swkbdSetStatusData',['../swkbd_8h.html#a97006a5ab548ac7dc1db471286b157ba',1,'swkbd.h']]], + ['swkbdsetvalidation_4149',['swkbdSetValidation',['../swkbd_8h.html#a98b664f7bc103e24ef0402e16bfc3dbf',1,'swkbd.h']]], + ['swkbdstate_4150',['SwkbdState',['../structSwkbdState.html',1,'']]], + ['swkbdstatusdata_4151',['SwkbdStatusData',['../structSwkbdStatusData.html',1,'']]], + ['swkbdtype_4152',['SwkbdType',['../swkbd_8h.html#ad88d214560b9bbaf1391cc7013ab4387',1,'swkbd.h']]], + ['swkbdvalidinput_4153',['SwkbdValidInput',['../swkbd_8h.html#a9c2863f4e484d07ba6be8fdf84bb96a1',1,'swkbd.h']]], + ['symboloffset_4154',['symbolOffset',['../structDVLE__uniformEntry__s.html#aa541b81c9ca11740c0ab1df8f8af82ab',1,'DVLE_uniformEntry_s']]], + ['symboltabledata_4155',['symbolTableData',['../structDVLE__s.html#a8a2e714fda93df4fa2cdf239eac71c40',1,'DVLE_s']]], + ['syncarbitrateaddress_4156',['syncArbitrateAddress',['../synchronization_8h.html#a15f62531caa3fa14f5eac4735d96f9f7',1,'synchronization.h']]], + ['syncarbitrateaddresswithtimeout_4157',['syncArbitrateAddressWithTimeout',['../synchronization_8h.html#a3ce965a644db4534de988a203751c56d',1,'synchronization.h']]], + ['synchronization_2eh_4158',['synchronization.h',['../synchronization_8h.html',1,'']]], + ['syscall_4159',['syscall',['../structSyscallInOutEvent.html#a2fe80c83c8faeb0b3cc8eae2d539aa52',1,'SyscallInOutEvent::syscall()'],['../structDebugEventInfo.html#a16c73c12c8a2c200b8c149b7942785c6',1,'DebugEventInfo::syscall()']]], + ['syscallinoutevent_4160',['SyscallInOutEvent',['../structSyscallInOutEvent.html',1,'']]], + ['sysclock_5farm11_4161',['SYSCLOCK_ARM11',['../os_8h.html#a5f6e9f05fa950bd4fdf60f5bd8586af7',1,'os.h']]], + ['sysclock_5farm11_5flgr1_4162',['SYSCLOCK_ARM11_LGR1',['../os_8h.html#ae3600c385921844a2f11cc3e37bd63c6',1,'os.h']]], + ['sysclock_5farm11_5flgr2_4163',['SYSCLOCK_ARM11_LGR2',['../os_8h.html#a35f086625fd7891e330f89bc1ee260f6',1,'os.h']]], + ['sysclock_5farm9_4164',['SYSCLOCK_ARM9',['../os_8h.html#a1f3b7dd4e5c4f31727c18559e99233b0',1,'os.h']]], + ['sysclock_5fhz_4165',['sysclock_hz',['../structosTimeRef__s.html#a0adffd1707bf14f6218df4fec72c347f',1,'osTimeRef_s']]], + ['sysclock_5fsdmmc_4166',['SYSCLOCK_SDMMC',['../os_8h.html#af2fd339c05f8d8e8e6b96f0b0989d8fa',1,'os.h']]], + ['sysclock_5fsoc_4167',['SYSCLOCK_SOC',['../os_8h.html#a54dfa9664a5032211d512fb04fcd7cac',1,'os.h']]], + ['sysclock_5fsys_4168',['SYSCLOCK_SYS',['../os_8h.html#adcef538e8f16a2abba193c704e87cf96',1,'os.h']]], + ['sysmode_5fdev1_4169',['SYSMODE_DEV1',['../exheader_8h.html#a3456fcc306743731aa6560a59c3e25bba7fd13067f9d2788b701b283b81a3ab42',1,'exheader.h']]], + ['sysmode_5fdev2_4170',['SYSMODE_DEV2',['../exheader_8h.html#a3456fcc306743731aa6560a59c3e25bbad4fd371ac2f7dcdff5bd109464dbddcd',1,'exheader.h']]], + ['sysmode_5fdev3_4171',['SYSMODE_DEV3',['../exheader_8h.html#a3456fcc306743731aa6560a59c3e25bba9fd4fb6fb368a5d773af0c2f72b77d46',1,'exheader.h']]], + ['sysmode_5fdev4_4172',['SYSMODE_DEV4',['../exheader_8h.html#a3456fcc306743731aa6560a59c3e25bba03a3f4f42aa9da683ffcb6fd4a9e861d',1,'exheader.h']]], + ['sysmode_5fn3ds_5fprod_4173',['SYSMODE_N3DS_PROD',['../exheader_8h.html#a3456fcc306743731aa6560a59c3e25bba7f8f18bb417367ca06afcf3e879c8524',1,'exheader.h']]], + ['sysmode_5fo3ds_5fprod_4174',['SYSMODE_O3DS_PROD',['../exheader_8h.html#a3456fcc306743731aa6560a59c3e25bba6415f6446d7ef3f7a214f1ae77fb6061',1,'exheader.h']]], + ['system_5fid_4175',['system_id',['../structMiiData.html#a5f9e2bb911a33533684e7bf8126b8ec0',1,'MiiData']]], + ['system_5finfo_4176',['system_info',['../structExHeader__SystemControlInfo.html#a46bae35075cd7b8606c9992d276a8a5d',1,'ExHeader_SystemControlInfo']]], + ['system_5fmediatype_5fctr_5fnand_4177',['SYSTEM_MEDIATYPE_CTR_NAND',['../fs_8h.html#acdbf253270893656d28d7c35d7b7070ca250d43fc8ba9189c116e8911033f147c',1,'fs.h']]], + ['system_5fmediatype_5fsd_4178',['SYSTEM_MEDIATYPE_SD',['../fs_8h.html#acdbf253270893656d28d7c35d7b7070ca74e138a7903a41a31666eb6a3a9daed8',1,'fs.h']]], + ['system_5fmediatype_5ftwl_5fnand_4179',['SYSTEM_MEDIATYPE_TWL_NAND',['../fs_8h.html#acdbf253270893656d28d7c35d7b7070ca27732504585449ac9b1b127f2ae8cc18',1,'fs.h']]], + ['system_5fmediatype_5ftwl_5fphoto_4180',['SYSTEM_MEDIATYPE_TWL_PHOTO',['../fs_8h.html#acdbf253270893656d28d7c35d7b7070ca8bd94eae78baf5bad5e62b2e6e00d43b',1,'fs.h']]], + ['system_5fsavedata_5fids_4181',['system_savedata_ids',['../structExHeader__Arm11StorageInfo.html#a20dd719e511bdf816c742a8ec5f27d12',1,'ExHeader_Arm11StorageInfo']]], + ['system_5fversion_4182',['SYSTEM_VERSION',['../os_8h.html#aceac399d08eb60be9497b16a9bc7c287',1,'os.h']]], + ['systemmode_4183',['SystemMode',['../exheader_8h.html#a3456fcc306743731aa6560a59c3e25bb',1,'exheader.h']]] +]; diff --git a/search/all_15.html b/search/all_15.html new file mode 100644 index 000000000..69f382b31 --- /dev/null +++ b/search/all_15.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_15.js b/search/all_15.js new file mode 100644 index 000000000..e20bca85c --- /dev/null +++ b/search/all_15.js @@ -0,0 +1,61 @@ +var searchData= +[ + ['tabsize_4184',['tabSize',['../structPrintConsole.html#a4bd05d4de8d7869489891cbaee90c782',1,'PrintConsole']]], + ['tag_5fcmap_5fs_4185',['tag_CMAP_s',['../structtag__CMAP__s.html',1,'']]], + ['tag_5fcwdh_5fs_4186',['tag_CWDH_s',['../structtag__CWDH__s.html',1,'']]], + ['tag_5fndspwavebuf_4187',['tag_ndspWaveBuf',['../structtag__ndspWaveBuf.html',1,'']]], + ['texcoord_4188',['texcoord',['../structfontGlyphPos__s.html#a580d59927d19ec8a1ce817d88016db23',1,'fontGlyphPos_s']]], + ['text_4189',['text',['../structExHeader__CodeSetInfo.html#a4cd23d15994e562c3334a8a2ad883886',1,'ExHeader_CodeSetInfo']]], + ['text_5faddr_4190',['text_addr',['../structCodeSetHeader.html#a1d3dd48ca8a17003409597ca517e4541',1,'CodeSetHeader']]], + ['text_5fsize_4191',['text_size',['../structCodeSetHeader.html#ae7e0b1cc7be89bfc003ce51555bdd498',1,'CodeSetHeader']]], + ['text_5fsize_5ftotal_4192',['text_size_total',['../structCodeSetHeader.html#a0d9ae8c80b45db7139688a2c89e434dc',1,'CodeSetHeader']]], + ['tglp_4193',['tglp',['../structFINF__s.html#ad6cc2b0b412c2224f9b47f12a9e44d0d',1,'FINF_s']]], + ['tglp_5fs_4194',['TGLP_s',['../structTGLP__s.html',1,'']]], + ['thread_4195',['Thread',['../thread_8h.html#a32603732d12a56b392a691e42360b035',1,'thread.h']]], + ['thread_2eh_4196',['thread.h',['../thread_8h.html',1,'']]], + ['thread_5fid_4197',['thread_id',['../structDebugEventInfo.html#a2af232f5d56183f1af895962bdd2fe18',1,'DebugEventInfo']]], + ['thread_5fids_4198',['thread_ids',['../structDebuggerBreakExceptionEvent.html#af4d138bd134f1599e331704b9375734b',1,'DebuggerBreakExceptionEvent']]], + ['thread_5flocal_5fstorage_4199',['thread_local_storage',['../structAttachThreadEvent.html#a7dc9a7c3269c43c440b0ac7479af51ec',1,'AttachThreadEvent']]], + ['threadcontext_4200',['ThreadContext',['../structThreadContext.html',1,'']]], + ['threadcontext_5fcontrol_5fall_4201',['THREADCONTEXT_CONTROL_ALL',['../svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742a03849f12becc677a30246a307c3b9670',1,'svc.h']]], + ['threadcontext_5fcontrol_5fcpu_5fgprs_4202',['THREADCONTEXT_CONTROL_CPU_GPRS',['../svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742ae09b0f61029f9fdf0b4ea02c41fa13e5',1,'svc.h']]], + ['threadcontext_5fcontrol_5fcpu_5fregs_4203',['THREADCONTEXT_CONTROL_CPU_REGS',['../svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742a313d7fc004fc7a953e10b08fccbd21ab',1,'svc.h']]], + ['threadcontext_5fcontrol_5fcpu_5fsprs_4204',['THREADCONTEXT_CONTROL_CPU_SPRS',['../svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742aa8407752003ccddf5fc32867e67037cf',1,'svc.h']]], + ['threadcontext_5fcontrol_5ffpu_5fgprs_4205',['THREADCONTEXT_CONTROL_FPU_GPRS',['../svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742a2d5de33762b476d2926b7cfb7f3be89b',1,'svc.h']]], + ['threadcontext_5fcontrol_5ffpu_5fregs_4206',['THREADCONTEXT_CONTROL_FPU_REGS',['../svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742ae77e6ad949115f805c2a35ba85cce3f9',1,'svc.h']]], + ['threadcontext_5fcontrol_5ffpu_5fsprs_4207',['THREADCONTEXT_CONTROL_FPU_SPRS',['../svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742ae68cca5d6bd39c7225566ae87c541f8e',1,'svc.h']]], + ['threadcontextcontrolflags_4208',['ThreadContextControlFlags',['../svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742',1,'svc.h']]], + ['threadcreate_4209',['threadCreate',['../thread_8h.html#a38c873d8cb02de7f5eca848fe68183ee',1,'thread.h']]], + ['threaddetach_4210',['threadDetach',['../thread_8h.html#ac20502670ea68159c68d6e153e27e712',1,'thread.h']]], + ['threadexit_4211',['threadExit',['../thread_8h.html#aa018f7fca858955b66821d6faa4e9b47',1,'thread.h']]], + ['threadfree_4212',['threadFree',['../thread_8h.html#aed4c2f06cf2ae66583325bd96588fa27',1,'thread.h']]], + ['threadfunc_4213',['ThreadFunc',['../types_8h.html#a857e4e893f41191500e83c00058df64e',1,'types.h']]], + ['threadgetcurrent_4214',['threadGetCurrent',['../thread_8h.html#aaf77fd339bcd06c1aa63aaffa74ba118',1,'thread.h']]], + ['threadgetexitcode_4215',['threadGetExitCode',['../thread_8h.html#aece3cff1637deec4b6497bb438dba2e8',1,'thread.h']]], + ['threadgethandle_4216',['threadGetHandle',['../thread_8h.html#a6f95b5664998852d05adfe79d2490988',1,'thread.h']]], + ['threadinfo_5ftype_5funknown_4217',['THREADINFO_TYPE_UNKNOWN',['../svc_8h.html#a112aee8cca0c18b91f98d39db55c4807a5e0a7120c0d6495acc852bc43a3ea851',1,'svc.h']]], + ['threadinfotype_4218',['ThreadInfoType',['../svc_8h.html#a112aee8cca0c18b91f98d39db55c4807',1,'svc.h']]], + ['threadjoin_4219',['threadJoin',['../thread_8h.html#a5d7a5a77d24710c19f866d02594553db',1,'thread.h']]], + ['threadonexception_4220',['threadOnException',['../thread_8h.html#ad102ce4415b0054ec6903a5668e5ffab',1,'thread.h']]], + ['tickcounter_4221',['TickCounter',['../structTickCounter.html',1,'']]], + ['time_4222',['time',['../structSOCU__RoutingTableEntry.html#ab6dc8ce41d04163422626a3233ea117a',1,'SOCU_RoutingTableEntry']]], + ['title_4223',['title',['../structMiiSelectorConf.html#a8ca08c8fe4303da222408415a804e064',1,'MiiSelectorConf']]], + ['title_5fid_4224',['title_id',['../structExHeader__Arm11SystemLocalCapabilities.html#a93aa9802c861aa395f488a13b2c6a201',1,'ExHeader_Arm11SystemLocalCapabilities']]], + ['titledata_4225',['TitleData',['../structTitleData.html',1,'']]], + ['titleid_4226',['titleID',['../structAM__TitleEntry.html#a16b1b61ff2f678ae870e934574bed9c6',1,'AM_TitleEntry']]], + ['titleid_4227',['titleId',['../structNIM__TitleConfig.html#a98d0334cb5c3fba721d6cb0d770bddc9',1,'NIM_TitleConfig::titleId()'],['../structAM__PendingTitleEntry.html#a1fd5b690678542eda4b11b0413ad9cf5',1,'AM_PendingTitleEntry::titleId()'],['../structERRF__FatalErrInfo.html#afdc015e34d2d894639b03abb7521861d',1,'ERRF_FatalErrInfo::titleId()']]], + ['titlescapacity_4228',['titlesCapacity',['../structAM__TWLPartitionInfo.html#a9a5720f0a43e723a43cd4e1a0944a77e',1,'AM_TWLPartitionInfo']]], + ['titlesfreespace_4229',['titlesFreeSpace',['../structAM__TWLPartitionInfo.html#adf5f826249a232ed74ab119b965cc4dd',1,'AM_TWLPartitionInfo']]], + ['titletype_4230',['titleType',['../structAM__PendingTitleEntry.html#a7143f71acc278942b8d5ad5991a54195',1,'AM_PendingTitleEntry']]], + ['totalclusters_4231',['totalClusters',['../structFS__ArchiveResource.html#a0f308806e243f295d43efd7bf03ea7ab',1,'FS_ArchiveResource']]], + ['totalsize_4232',['totalSize',['../structNIM__TitleProgress.html#a8e999461d7844fd0e50921ef0fd1ffe0',1,'NIM_TitleProgress']]], + ['touchposition_4233',['touchPosition',['../structtouchPosition.html',1,'']]], + ['touchread_4234',['touchRead',['../hid_8h.html#a3a4e42150dee0df99111c8c08de1a2c7',1,'hid.h']]], + ['transferoption_4235',['transferOption',['../structPXIDEV__SPIBuffer.html#adc865c90555d89c62f2a6ebb9bd30284',1,'PXIDEV_SPIBuffer']]], + ['transfersize_4236',['transferSize',['../structDmaDeviceConfig.html#a629d5de5271384b5e0b7947a97be66c4',1,'DmaDeviceConfig']]], + ['transferstride_4237',['transferStride',['../structDmaDeviceConfig.html#a310cb52828836478313a8c01e7b529ed',1,'DmaDeviceConfig']]], + ['translationx_4238',['translationX',['../structCAMU__StereoCameraCalibrationData.html#aa9089aa4538c786973004eda481d6b9e',1,'CAMU_StereoCameraCalibrationData']]], + ['translationy_4239',['translationY',['../structCAMU__StereoCameraCalibrationData.html#a0ec872095025b8e1596d6546297dc013',1,'CAMU_StereoCameraCalibrationData']]], + ['type_4240',['type',['../structExceptionEvent.html#a2a16b663ed61d882f78694856ff856e0',1,'ExceptionEvent::type()'],['../structERRF__ExceptionInfo.html#a25f0008d9c331429b2e55719e6cdfeca',1,'ERRF_ExceptionInfo::type()'],['../structERRF__FatalErrInfo.html#a68010b0617477f1dc93404d5f52cda28',1,'ERRF_FatalErrInfo::type()'],['../uniongxCmdEntry__s.html#a7cd818aaa8cb2ae252ac02ee2041f07a',1,'gxCmdEntry_s::type()'],['../structDVLE__constEntry__s.html#af37eef788bf042edef254961beab5a46',1,'DVLE_constEntry_s::type()'],['../structDVLE__outEntry__s.html#aa67f67ff27a9374fd1c089617d8373b0',1,'DVLE_outEntry_s::type()'],['../structDVLE__s.html#a3b5743bb758cdb15cd812ad5c3b1fe6f',1,'DVLE_s::type()'],['../structAM__ContentInfo.html#a1ceb8abae389d8dcc5dc75d02de0f781',1,'AM_ContentInfo::type()'],['../structFS__Path.html#acf17e9d97f78be3a36b74b582c6c989f',1,'FS_Path::type()'],['../structNFC__AmiiboConfig.html#a5487bb25ea68a55b6cdbf039ef0d0f47',1,'NFC_AmiiboConfig::type()'],['../structStopPointExceptionEvent.html#a3caffea18e63415cc84d5909bb6fe5c9',1,'StopPointExceptionEvent::type()'],['../structUserBreakExceptionEvent.html#ab017dae7d7ccf3913ab5d6a7acaa7a23',1,'UserBreakExceptionEvent::type()'],['../structDebugEventInfo.html#ae0e045fcf742a3daa7fb9f429aebeef9',1,'DebugEventInfo::type()']]], + ['types_2eh_4241',['types.h',['../types_8h.html',1,'']]] +]; diff --git a/search/all_16.html b/search/all_16.html new file mode 100644 index 000000000..b19867ad9 --- /dev/null +++ b/search/all_16.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_16.js b/search/all_16.js new file mode 100644 index 000000000..ddda7e35f --- /dev/null +++ b/search/all_16.js @@ -0,0 +1,85 @@ +var searchData= +[ + ['u16_4242',['u16',['../types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa',1,'types.h']]], + ['u32_4243',['u32',['../types_8h.html#afaa62991928fb9fb18ff0db62a040aba',1,'types.h']]], + ['u64_4244',['u64',['../types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234',1,'types.h']]], + ['u64_5fmax_4245',['U64_MAX',['../types_8h.html#aaf73a88ad00da5c878558d6dc80b2f5c',1,'types.h']]], + ['u8_4246',['u8',['../types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca',1,'types.h']]], + ['uds_2eh_4247',['uds.h',['../uds_8h.html',1,'']]], + ['uds_5fbroadcast_5fnetworknodeid_4248',['UDS_BROADCAST_NETWORKNODEID',['../uds_8h.html#a0716197ea3205d2c2ad802fd39d64b53',1,'uds.h']]], + ['uds_5fcheck_5fsendto_5ffatalerror_4249',['UDS_CHECK_SENDTO_FATALERROR',['../uds_8h.html#a95b9889070392e10ed0ce8eaa4680148',1,'uds.h']]], + ['uds_5fdataframe_5fmaxsize_4250',['UDS_DATAFRAME_MAXSIZE',['../uds_8h.html#a925d4cb65dc18dace5cfbd4115149a70',1,'uds.h']]], + ['uds_5fdefault_5frecvbufsize_4251',['UDS_DEFAULT_RECVBUFSIZE',['../uds_8h.html#aaa762c12085c0caf4cc3c380621a66b3',1,'uds.h']]], + ['uds_5fhost_5fnetworknodeid_4252',['UDS_HOST_NETWORKNODEID',['../uds_8h.html#a965ac901ed9240377d8fe2e0f223b033',1,'uds.h']]], + ['uds_5fmaxnodes_4253',['UDS_MAXNODES',['../uds_8h.html#af550f39aed337de1ec8f99823c3dc886',1,'uds.h']]], + ['udsallowspectators_4254',['udsAllowSpectators',['../uds_8h.html#a715815015bb8ddf709d3f85553e8ae4a',1,'uds.h']]], + ['udsbind_4255',['udsBind',['../uds_8h.html#a2ef6ef86df7e0bd4c13441559b376dd8',1,'uds.h']]], + ['udsbindcontext_4256',['udsBindContext',['../structudsBindContext.html',1,'']]], + ['udschecknodeinfoinitialized_4257',['udsCheckNodeInfoInitialized',['../uds_8h.html#a8d326aaf8ff13eb9041730bf86374fe0',1,'uds.h']]], + ['udsconnectionstatus_4258',['udsConnectionStatus',['../structudsConnectionStatus.html',1,'']]], + ['udsconnectnetwork_4259',['udsConnectNetwork',['../uds_8h.html#a667dabaed66dd32770a6ede4fd818019',1,'uds.h']]], + ['udscreatenetwork_4260',['udsCreateNetwork',['../uds_8h.html#a1975ed5bb92b1a1c87de5bfb41588847',1,'uds.h']]], + ['udsdestroynetwork_4261',['udsDestroyNetwork',['../uds_8h.html#a44092fac3eec0cb9402fd903dc2fff81',1,'uds.h']]], + ['udsdisconnectnetwork_4262',['udsDisconnectNetwork',['../uds_8h.html#a300ee4358ee07e1b08dea6e1908e72a6',1,'uds.h']]], + ['udsejectclient_4263',['udsEjectClient',['../uds_8h.html#acb11e1259a6f58938f61dc4109554b06',1,'uds.h']]], + ['udsejectspectator_4264',['udsEjectSpectator',['../uds_8h.html#a59af3bb7c72312bd5d54ed1b03f9764f',1,'uds.h']]], + ['udsexit_4265',['udsExit',['../uds_8h.html#a0c4ec11a4ba9281c96528fdd2340e169',1,'uds.h']]], + ['udsgeneratedefaultnetworkstruct_4266',['udsGenerateDefaultNetworkStruct',['../uds_8h.html#ae2bc9475be5af0d5e1ee3a5f98855b89',1,'uds.h']]], + ['udsgeneratenodeinfo_4267',['udsGenerateNodeInfo',['../uds_8h.html#adbd391642998a00ba323d2b1cf2c3987',1,'uds.h']]], + ['udsgetapplicationdata_4268',['udsGetApplicationData',['../uds_8h.html#aa10484f4b741649b48633efafdfb8e55',1,'uds.h']]], + ['udsgetchannel_4269',['udsGetChannel',['../uds_8h.html#a682ad1bee0b482a496d03a6d88ec5c0c',1,'uds.h']]], + ['udsgetconnectionstatus_4270',['udsGetConnectionStatus',['../uds_8h.html#a7fdd55dbeca432e2ad83dccc203d6de4',1,'uds.h']]], + ['udsgetnetworkstructapplicationdata_4271',['udsGetNetworkStructApplicationData',['../uds_8h.html#ab3ffe31c0e34aba040548dc56abb001d',1,'uds.h']]], + ['udsgetnodeinformation_4272',['udsGetNodeInformation',['../uds_8h.html#a96d9f0e9574e21527b4f258b4a0f54ee',1,'uds.h']]], + ['udsgetnodeinfousername_4273',['udsGetNodeInfoUsername',['../uds_8h.html#aa1a1a204b83acf4615b1d2a870681272',1,'uds.h']]], + ['udsinit_4274',['udsInit',['../uds_8h.html#a7b9dd66fad0387daa7cc1a0803093161',1,'uds.h']]], + ['udsnetworkscaninfo_4275',['udsNetworkScanInfo',['../structudsNetworkScanInfo.html',1,'']]], + ['udsnetworkstruct_4276',['udsNetworkStruct',['../structudsNetworkStruct.html',1,'']]], + ['udsnodeinfo_4277',['udsNodeInfo',['../structudsNodeInfo.html',1,'']]], + ['udspullpacket_4278',['udsPullPacket',['../uds_8h.html#a15464b1fc2ce4897f352001b59b40597',1,'uds.h']]], + ['udsscanbeacons_4279',['udsScanBeacons',['../uds_8h.html#a2af058b5911c1755a1d0a486962048c2',1,'uds.h']]], + ['udssendto_4280',['udsSendTo',['../uds_8h.html#a2609972c60a77f6cfbd85c4caab93c70',1,'uds.h']]], + ['udssetapplicationdata_4281',['udsSetApplicationData',['../uds_8h.html#a6d31b5879de5cec14eff252093d1c88d',1,'uds.h']]], + ['udssetnewconnectionsblocked_4282',['udsSetNewConnectionsBlocked',['../uds_8h.html#a579487b86069a0a066bf6973f3d94dd7',1,'uds.h']]], + ['udsunbind_4283',['udsUnbind',['../uds_8h.html#a0478019d97df6c5754cae576b2fecbbd',1,'uds.h']]], + ['udsupdatenetworkattribute_4284',['udsUpdateNetworkAttribute',['../uds_8h.html#adffcca2461ecc16db6717442f0a74de4',1,'uds.h']]], + ['udswaitconnectionstatusevent_4285',['udsWaitConnectionStatusEvent',['../uds_8h.html#a3e5c7256539d252195695c5503d64255',1,'uds.h']]], + ['udswaitdataavailable_4286',['udsWaitDataAvailable',['../uds_8h.html#a705245e37134aba29af68c8e90b5df32',1,'uds.h']]], + ['uniformtabledata_4287',['uniformTableData',['../structDVLE__s.html#a37130c23fcea45833e688e92803fff63',1,'DVLE_s']]], + ['uniformtablesize_4288',['uniformTableSize',['../structDVLE__s.html#af66ba7fde88b0bb1df53aef8c24db51c',1,'DVLE_s']]], + ['unk_4289',['unk',['../structAM__TitleEntry.html#a22a7d967f2e7f4f7072eb46f17b35077',1,'AM_TitleEntry::unk()'],['../structDVLE__outEntry__s.html#a8a552967912a216a2900ba57c0cb33ba',1,'DVLE_outEntry_s::unk()'],['../structAM__PendingTitleEntry.html#ab63f01a88e37f5feb31dfdf5ef5642b9',1,'AM_PendingTitleEntry::unk()'],['../structGSPGPU__FramebufferInfo.html#a1794be4dc30dcf32ff0c2fb2ef7a5841',1,'GSPGPU_FramebufferInfo::unk()']]], + ['unk_5fx04_4290',['unk_x04',['../structMVDSTD__Config.html#a044475bde408bf873f9a6da6b3bd7ecc',1,'MVDSTD_Config']]], + ['unk_5fx08_4291',['unk_x08',['../structMVDSTD__Config.html#a8c6ca76186b85dee3ac2585df2c3af94',1,'MVDSTD_Config']]], + ['unk_5fx2_4292',['unk_x2',['../structNFC__TagInfo.html#a60b976dafb0acafde87489bbcb98e8e9',1,'NFC_TagInfo']]], + ['unk_5fx28_4293',['unk_x28',['../structMVDSTD__Config.html#a283c0c326ad9d68ba5f368bbbd212772',1,'MVDSTD_Config']]], + ['unk_5fx2c_4294',['unk_x2c',['../structQTM__HeadTrackingInfo.html#ab84f7afcb3d9081436fb5aa075a747bc',1,'QTM_HeadTrackingInfo']]], + ['unk_5fx54_4295',['unk_x54',['../structMVDSTD__Config.html#ac7f77cca83c7ebcef102a34d43a26d8f',1,'MVDSTD_Config']]], + ['unk_5fx6c_4296',['unk_x6c',['../structMVDSTD__Config.html#aeee9227719fa0cedb5b5d70b67795487',1,'MVDSTD_Config']]], + ['unknown_4297',['unknown',['../structFS__SystemSaveDataInfo.html#abbf848a27e4cc7d57cd7c3e522ca005a',1,'FS_SystemSaveDataInfo::unknown()'],['../structFS__ExtSaveDataInfo.html#ad82be582a42e589167c6b071c2c28f09',1,'FS_ExtSaveDataInfo::unknown()']]], + ['unknown0_4298',['unknown0',['../structMiiData.html#a9888bf624e05e2a436328115b3f42899',1,'MiiData']]], + ['unknown_5f0_4299',['unknown_0',['../structNIM__TitleConfig.html#abaf56d2b769596bf87b02d4625593169',1,'NIM_TitleConfig']]], + ['unknown_5f1_4300',['unknown_1',['../structNIM__TitleConfig.html#a281f6a23c15a172de892c94a192c2519',1,'NIM_TitleConfig']]], + ['unknownzero_4301',['unknownZero',['../unionCSND__CapInfo.html#af9f3170745ba8a9fcebaa085b3e7da82',1,'CSND_CapInfo::unknownZero()'],['../unionCSND__ChnInfo.html#aadbf8a1b1680b292a18ca8c421ab1800',1,'CSND_ChnInfo::unknownZero()']]], + ['unused_4302',['unused',['../structY2RU__ConversionParams.html#a885735be68b6108cced9af720d28d61a',1,'Y2RU_ConversionParams']]], + ['use_5fcpu_5fclockrate_5f804mhz_4303',['use_cpu_clockrate_804MHz',['../structExHeader__Arm11CoreInfo.html#ab3342c9a321bbabdaf55d6b15b213f76',1,'ExHeader_Arm11CoreInfo']]], + ['use_5fextended_5fsavedata_5faccess_4304',['use_extended_savedata_access',['../structExHeader__Arm11StorageInfo.html#afcf4393422cc0e1252099f871395b01e',1,'ExHeader_Arm11StorageInfo']]], + ['user_4305',['user',['../structgxCmdQueue__s.html#a304d299bfa58e79c08f6a3321b12591d',1,'gxCmdQueue_s']]], + ['user_5fbreak_4306',['user_break',['../structExceptionEvent.html#a331606aa5792056b999bc99756cbd598',1,'ExceptionEvent']]], + ['user_5fwent_5foffline_4307',['USER_WENT_OFFLINE',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210cead6309cdfe3bd67e4b93cf4e569ecde99',1,'frd.h']]], + ['user_5fwent_5fonline_4308',['USER_WENT_ONLINE',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210ceac207d63c32cf5df4f16d86d424eeaaad',1,'frd.h']]], + ['userbreak_5fassert_4309',['USERBREAK_ASSERT',['../svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12ab8652e6cba764ad8b8b205981fa10a2d',1,'svc.h']]], + ['userbreak_5fload_5fro_4310',['USERBREAK_LOAD_RO',['../svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12a218f8d14ce85ff686531587f41271b91',1,'svc.h']]], + ['userbreak_5fpanic_4311',['USERBREAK_PANIC',['../svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12a75d115aed8adc334b86762004550130e',1,'svc.h']]], + ['userbreak_5funload_5fro_4312',['USERBREAK_UNLOAD_RO',['../svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12ab82dbfb966f5522c2e5bfbdf1949d5a9',1,'svc.h']]], + ['userbreak_5fuser_4313',['USERBREAK_USER',['../svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12a7989abf688e2db27610f1cdf30ddf553',1,'svc.h']]], + ['userbreakexceptionevent_4314',['UserBreakExceptionEvent',['../structUserBreakExceptionEvent.html',1,'']]], + ['userbreaktype_4315',['UserBreakType',['../svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12',1,'svc.h']]], + ['useshighestclockrate_4316',['usesHighestClockRate',['../structFS__SdMmcSpeedInfo.html#ac24512d29e94b2c1760aeb99dc966698',1,'FS_SdMmcSpeedInfo']]], + ['utf_2eh_4317',['utf.h',['../utf_8h.html',1,'']]], + ['utf16_5fto_5futf32_4318',['utf16_to_utf32',['../utf_8h.html#ad8491ff70a66d8faa816c81ea409eb6c',1,'utf.h']]], + ['utf16_5fto_5futf8_4319',['utf16_to_utf8',['../utf_8h.html#a853ad54c24e5ebcb6a6c2760cb753923',1,'utf.h']]], + ['utf32_5fto_5futf16_4320',['utf32_to_utf16',['../utf_8h.html#aefceec54a91db2aef7bd916b18f0ae20',1,'utf.h']]], + ['utf32_5fto_5futf8_4321',['utf32_to_utf8',['../utf_8h.html#abaad7426e919e66bb5b6621d366d3148',1,'utf.h']]], + ['utf8_5fto_5futf16_4322',['utf8_to_utf16',['../utf_8h.html#a42ed07f838ca52f4bba45d70582be053',1,'utf.h']]], + ['utf8_5fto_5futf32_4323',['utf8_to_utf32',['../utf_8h.html#ac9fa7e7747dd618e519e144f6a1aa182',1,'utf.h']]] +]; diff --git a/search/all_17.html b/search/all_17.html new file mode 100644 index 000000000..1ad5d34b4 --- /dev/null +++ b/search/all_17.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_17.js b/search/all_17.js new file mode 100644 index 000000000..4572623e1 --- /dev/null +++ b/search/all_17.js @@ -0,0 +1,28 @@ +var searchData= +[ + ['valid_4324',['valid',['../structFS__DirectoryEntry.html#a11afbb686a3683f13b0ebd9ae654daa7',1,'FS_DirectoryEntry']]], + ['value_4325',['value',['../unionCSND__ChnInfo.html#a7ee49c35f7e2a75f6f45bb6e84f14491',1,'CSND_ChnInfo::value()'],['../unionCSND__CapInfo.html#a9c691452f8d4d804f9dabe36c0de94cc',1,'CSND_CapInfo::value()']]], + ['value_5fms_4326',['value_ms',['../structosTimeRef__s.html#aa58a261c209182464ba5f7b3a1827a27',1,'osTimeRef_s']]], + ['value_5ftick_4327',['value_tick',['../structosTimeRef__s.html#aa90bf26ff1e3dcd373afc6d6bc3a120d',1,'osTimeRef_s']]], + ['version_4328',['version',['../structCFNT__s.html#ac37f969cb9d7ffcd6be35ffe8f8cd78e',1,'CFNT_s::version()'],['../structAM__TitleEntry.html#a7ce25643edfe43a20e1503fb1c13641a',1,'AM_TitleEntry::version()'],['../structAM__PendingTitleEntry.html#a2f4596c32bd5ff77db5004b8dccd8b48',1,'AM_PendingTitleEntry::version()'],['../structNIM__TitleConfig.html#a5b0a4643706df8115a92b5e8bd11cb48',1,'NIM_TitleConfig::version()'],['../structCodeSetHeader.html#a4ab720adde5af3b30d1feea8d11a041f',1,'CodeSetHeader::version()']]], + ['vertex_5fshdr_4329',['VERTEX_SHDR',['../shbin_8h.html#aa9cc048117db5beffa628f10cad82c4ca8ea9e921757d6c5b4d30ccedee5d55b4',1,'shbin.h']]], + ['vertexshader_4330',['vertexShader',['../structshaderProgram__s.html#a607da7b7218dbc29d5bd811ecfe7f8f0',1,'shaderProgram_s']]], + ['vram_2eh_4331',['vram.h',['../vram_8h.html',1,'']]], + ['vramalloc_4332',['vramAlloc',['../vram_8h.html#a00b84b8d38c127d8af9a89b9b7e2a5a4',1,'vram.h']]], + ['vramallocat_4333',['vramAllocAt',['../vram_8h.html#a4c1e150c4927ea04eeff144d47a5c09d',1,'vram.h']]], + ['vramfree_4334',['vramFree',['../vram_8h.html#a867318cde93cdd997588d6dcbfc584e1',1,'vram.h']]], + ['vramgetsize_4335',['vramGetSize',['../vram_8h.html#af56a9ec04d837e21374d285e5351772a',1,'vram.h']]], + ['vrammemalign_4336',['vramMemAlign',['../vram_8h.html#a0d6d17e0944fd2303b7bb6c8da5ecef6',1,'vram.h']]], + ['vrammemalignat_4337',['vramMemAlignAt',['../vram_8h.html#a38a51d518cc71ec6576d3efeea775c89',1,'vram.h']]], + ['vramrealloc_4338',['vramRealloc',['../vram_8h.html#ab5bec40d445d439bddd2b66c7fdfbfd7',1,'vram.h']]], + ['vramspacefree_4339',['vramSpaceFree',['../vram_8h.html#a62360e978f102480949259420e975c7f',1,'vram.h']]], + ['vs16_4340',['vs16',['../types_8h.html#a84c4ebe721fa065d9bd514ce8d76c455',1,'types.h']]], + ['vs32_4341',['vs32',['../types_8h.html#a6c6cf6e3aedfd399080c6f52c2870063',1,'types.h']]], + ['vs64_4342',['vs64',['../types_8h.html#a484adfab567791250a9fdbf0db8d3144',1,'types.h']]], + ['vs8_4343',['vs8',['../types_8h.html#a108e1a5e4c3e8322825ef7dcd45966ca',1,'types.h']]], + ['vtxcoord_4344',['vtxcoord',['../structfontGlyphPos__s.html#adcaf183b7120cf580ec33a68b919476b',1,'fontGlyphPos_s']]], + ['vu16_4345',['vu16',['../types_8h.html#a677aa1edce4bbb53741b1cc24eb4c035',1,'types.h']]], + ['vu32_4346',['vu32',['../types_8h.html#abcdd5d61f51cb4c472ac6637916cf72a',1,'types.h']]], + ['vu64_4347',['vu64',['../types_8h.html#ace392b4d1c3911331b2fe5ddc99fdcba',1,'types.h']]], + ['vu8_4348',['vu8',['../types_8h.html#a1a2a3100a902c32a55d8b08915bce044',1,'types.h']]] +]; diff --git a/search/all_18.html b/search/all_18.html new file mode 100644 index 000000000..507d0f856 --- /dev/null +++ b/search/all_18.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_18.js b/search/all_18.js new file mode 100644 index 000000000..6a1c8b7e7 --- /dev/null +++ b/search/all_18.js @@ -0,0 +1,40 @@ +var searchData= +[ + ['w0_5fxeven_5fyeven_4349',['w0_xEven_yEven',['../structY2RU__DitheringWeightParams.html#abc50e7aaa093ed6237c983b1957e1374',1,'Y2RU_DitheringWeightParams']]], + ['w0_5fxeven_5fyodd_4350',['w0_xEven_yOdd',['../structY2RU__DitheringWeightParams.html#a10d7979ab8ab3dc3993b660e81138867',1,'Y2RU_DitheringWeightParams']]], + ['w0_5fxodd_5fyeven_4351',['w0_xOdd_yEven',['../structY2RU__DitheringWeightParams.html#ad665dcce19415f85a8115f9f9c73bb5c',1,'Y2RU_DitheringWeightParams']]], + ['w0_5fxodd_5fyodd_4352',['w0_xOdd_yOdd',['../structY2RU__DitheringWeightParams.html#ae773ec687c21dee52fac8518be3d03f0',1,'Y2RU_DitheringWeightParams']]], + ['w1_5fxeven_5fyeven_4353',['w1_xEven_yEven',['../structY2RU__DitheringWeightParams.html#a2ed087e0e0020f30988a92184660059e',1,'Y2RU_DitheringWeightParams']]], + ['w1_5fxeven_5fyodd_4354',['w1_xEven_yOdd',['../structY2RU__DitheringWeightParams.html#a4356088787f96ff77648607c4fe9e30e',1,'Y2RU_DitheringWeightParams']]], + ['w1_5fxodd_5fyeven_4355',['w1_xOdd_yEven',['../structY2RU__DitheringWeightParams.html#ac7c4e579c6da210cdeffba0add701480',1,'Y2RU_DitheringWeightParams']]], + ['w1_5fxodd_5fyodd_4356',['w1_xOdd_yOdd',['../structY2RU__DitheringWeightParams.html#a8d3dc666e1ed7128d4f63b82c4ceaebe',1,'Y2RU_DitheringWeightParams']]], + ['w2_5fxeven_5fyeven_4357',['w2_xEven_yEven',['../structY2RU__DitheringWeightParams.html#a6c0dffe76ffcbcdbbee52ea29b86682f',1,'Y2RU_DitheringWeightParams']]], + ['w2_5fxeven_5fyodd_4358',['w2_xEven_yOdd',['../structY2RU__DitheringWeightParams.html#aa84b0c4dd7d844ec3e19bbe6ef428be3',1,'Y2RU_DitheringWeightParams']]], + ['w2_5fxodd_5fyeven_4359',['w2_xOdd_yEven',['../structY2RU__DitheringWeightParams.html#a57711e45e9b873f19d3e18bef9ed6db1',1,'Y2RU_DitheringWeightParams']]], + ['w2_5fxodd_5fyodd_4360',['w2_xOdd_yOdd',['../structY2RU__DitheringWeightParams.html#a656d7d1197b50f321121395d42f88266',1,'Y2RU_DitheringWeightParams']]], + ['w3_5fxeven_5fyeven_4361',['w3_xEven_yEven',['../structY2RU__DitheringWeightParams.html#a4814f5dc29ee12ffe04cf135ee8bb050',1,'Y2RU_DitheringWeightParams']]], + ['w3_5fxeven_5fyodd_4362',['w3_xEven_yOdd',['../structY2RU__DitheringWeightParams.html#ac488204c2b58db396fb9696c23298569',1,'Y2RU_DitheringWeightParams']]], + ['w3_5fxodd_5fyeven_4363',['w3_xOdd_yEven',['../structY2RU__DitheringWeightParams.html#ae56625a9df8610aecdcf4e404685521d',1,'Y2RU_DitheringWeightParams']]], + ['w3_5fxodd_5fyodd_4364',['w3_xOdd_yOdd',['../structY2RU__DitheringWeightParams.html#aee292af8e9b3baa4340bdb5be2cf88c2',1,'Y2RU_DitheringWeightParams']]], + ['wait_5fireq_5fcontinue_4365',['WAIT_IREQ_CONTINUE',['../pxidev_8h.html#a987e6b1d64faec3c5d859a4aaeba28d0ade5da7924abfa6cbfebdd0a324b67a2e',1,'pxidev.h']]], + ['wait_5fireq_5freturn_4366',['WAIT_IREQ_RETURN',['../pxidev_8h.html#a987e6b1d64faec3c5d859a4aaeba28d0a8f8e02dd1bab14ac23b5700ae2cde685',1,'pxidev.h']]], + ['wait_5fnone_4367',['WAIT_NONE',['../pxidev_8h.html#a987e6b1d64faec3c5d859a4aaeba28d0a80efdad4345938c13cd7a4ce22c96e8b',1,'pxidev.h']]], + ['wait_5fsleep_4368',['WAIT_SLEEP',['../pxidev_8h.html#a987e6b1d64faec3c5d859a4aaeba28d0aba38b69975f43bd51ea57b09fa62253d',1,'pxidev.h']]], + ['waitoperation_4369',['waitOperation',['../structPXIDEV__SPIBuffer.html#a3452cae6c82925d0141d7a29b52b54bf',1,'PXIDEV_SPIBuffer']]], + ['white_5fbalance_5f3200k_4370',['WHITE_BALANCE_3200K',['../cam_8h.html#a5d3bf5af790ab2c2bbbfedf46d756c53a1fa318450ad625598ddd1fa3e35a5551',1,'cam.h']]], + ['white_5fbalance_5f4150k_4371',['WHITE_BALANCE_4150K',['../cam_8h.html#a5d3bf5af790ab2c2bbbfedf46d756c53ac4b48d3b0c6162f679686d7ad1847356',1,'cam.h']]], + ['white_5fbalance_5f5200k_4372',['WHITE_BALANCE_5200K',['../cam_8h.html#a5d3bf5af790ab2c2bbbfedf46d756c53a0b494b8641ef33c086c3c8a70e44b611',1,'cam.h']]], + ['white_5fbalance_5f6000k_4373',['WHITE_BALANCE_6000K',['../cam_8h.html#a5d3bf5af790ab2c2bbbfedf46d756c53a2a287460cb7b5dc9cfe1ffc06b9f9907',1,'cam.h']]], + ['white_5fbalance_5f7000k_4374',['WHITE_BALANCE_7000K',['../cam_8h.html#a5d3bf5af790ab2c2bbbfedf46d756c53a43c3c6a8a436215dcc6a8c7ad8329b5e',1,'cam.h']]], + ['white_5fbalance_5fauto_4375',['WHITE_BALANCE_AUTO',['../cam_8h.html#a5d3bf5af790ab2c2bbbfedf46d756c53a3717ab57229df203301993822e7863ae',1,'cam.h']]], + ['whitebalance_4376',['whiteBalance',['../structCAMU__PackageParameterCameraSelect.html#a4778d4499a3cdd043befba607ab1e80b',1,'CAMU_PackageParameterCameraSelect']]], + ['width_4377',['width',['../structMiiData.html#a3d0392c83a02260b62c36d0c5c695702',1,'MiiData::width()'],['../structCAMU__PackageParameterContextDetail.html#adbb77fc575f6f8700b7d4b3ea5883911',1,'CAMU_PackageParameterContextDetail::width()'],['../structfontGlyphPos__s.html#aa86a69a70bb52c980461e71dd461b079',1,'fontGlyphPos_s::width()'],['../structFINF__s.html#a2fc069b44a00b0cfa74f10e7bfee8a0a',1,'FINF_s::width()']]], + ['widths_4378',['widths',['../structtag__CWDH__s.html#a0d9ccc0eac1d072d49c1ee28afd856f5',1,'tag_CWDH_s']]], + ['windowheight_4379',['windowHeight',['../structPrintConsole.html#a97fa07262bd5a64ba5b5174e01e7128b',1,'PrintConsole']]], + ['windowwidth_4380',['windowWidth',['../structPrintConsole.html#a7eaeb319aa6626250a18d52da7b57221',1,'PrintConsole']]], + ['windowx_4381',['windowX',['../structPrintConsole.html#a3238a0f3691fd3742db45df2bda726cd',1,'PrintConsole']]], + ['windowy_4382',['windowY',['../structPrintConsole.html#af541d301e1ee4f1a8aaecca9f78d40de',1,'PrintConsole']]], + ['word_4383',['word',['../structSwkbdDictWord.html#a2cd31e3829c910ad3e77e28516e5a47c',1,'SwkbdDictWord']]], + ['write_5fdata_5fto_5ffaulting_5fstack_4384',['WRITE_DATA_TO_FAULTING_STACK',['../thread_8h.html#a6bdd0577b7b6ba62b9d04602e70ec7f8',1,'thread.h']]], + ['write_5fdata_5fto_5fhandler_5fstack_4385',['WRITE_DATA_TO_HANDLER_STACK',['../thread_8h.html#a099258b92996e6da2567e3da9b2f1356',1,'thread.h']]] +]; diff --git a/search/all_19.html b/search/all_19.html new file mode 100644 index 000000000..e69289e9b --- /dev/null +++ b/search/all_19.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_19.js b/search/all_19.js new file mode 100644 index 000000000..802e70540 --- /dev/null +++ b/search/all_19.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['x_4386',['x',['../structaccelVector.html#a0504512667f03b668fea1f5bc4928885',1,'accelVector::x()'],['../structangularRate.html#aeb9bf87b59b134ea1c7ab84af7f97615',1,'angularRate::x()'],['../structQTM__HeadTrackingInfoCoord.html#a36ab3ab6584f54d59cfe9e9a638771d0',1,'QTM_HeadTrackingInfoCoord::x()']]], + ['xadvance_4387',['xAdvance',['../structfontGlyphPos__s.html#a300fb5125c36feed92364416a2e73bd6',1,'fontGlyphPos_s']]], + ['xoffset_4388',['xOffset',['../structfontGlyphPos__s.html#ae96778159b2b35a6116814a14d0baeee',1,'fontGlyphPos_s']]] +]; diff --git a/search/all_1a.html b/search/all_1a.html new file mode 100644 index 000000000..e50f29b1c --- /dev/null +++ b/search/all_1a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_1a.js b/search/all_1a.js new file mode 100644 index 000000000..98e3cfc21 --- /dev/null +++ b/search/all_1a.js @@ -0,0 +1,59 @@ +var searchData= +[ + ['y_4389',['y',['../structaccelVector.html#abeccae73d6f2ff784357778e80fbc9c0',1,'accelVector::y()'],['../structangularRate.html#a5f970fbd6b7586cea800e0a66a1a9758',1,'angularRate::y()'],['../structQTM__HeadTrackingInfoCoord.html#aafec789c2c84d903bbd80391450c515c',1,'QTM_HeadTrackingInfoCoord::y()']]], + ['y2r_2eh_4390',['y2r.h',['../y2r_8h.html',1,'']]], + ['y2rexit_4391',['y2rExit',['../y2r_8h.html#a281e458907dfa278b3bdaacbab8c1a00',1,'y2r.h']]], + ['y2rinit_4392',['y2rInit',['../y2r_8h.html#a5101f605de1cd01afc4326e07bc9fb1c',1,'y2r.h']]], + ['y2ru_5fblockalignment_4393',['Y2RU_BlockAlignment',['../y2r_8h.html#aa7589f9deb9d69ff3067b7a9e100841b',1,'y2r.h']]], + ['y2ru_5fcolorcoefficients_4394',['Y2RU_ColorCoefficients',['../structY2RU__ColorCoefficients.html',1,'']]], + ['y2ru_5fconversionparams_4395',['Y2RU_ConversionParams',['../structY2RU__ConversionParams.html',1,'']]], + ['y2ru_5fditheringweightparams_4396',['Y2RU_DitheringWeightParams',['../structY2RU__DitheringWeightParams.html',1,'']]], + ['y2ru_5fdriverfinalize_4397',['Y2RU_DriverFinalize',['../y2r_8h.html#ad72a92ab39705a1f824cfe5297bc63db',1,'y2r.h']]], + ['y2ru_5fdriverinitialize_4398',['Y2RU_DriverInitialize',['../y2r_8h.html#a8bafbc094703233a36a526fc8e8a0e16',1,'y2r.h']]], + ['y2ru_5fgetalpha_4399',['Y2RU_GetAlpha',['../y2r_8h.html#a4959a4dca810008c53198a4a16a55f5d',1,'y2r.h']]], + ['y2ru_5fgetblockalignment_4400',['Y2RU_GetBlockAlignment',['../y2r_8h.html#a9c3029d61e6f718a8bd2b3524381577c',1,'y2r.h']]], + ['y2ru_5fgetcoefficients_4401',['Y2RU_GetCoefficients',['../y2r_8h.html#a6af506c3d15624b315256019f8144d16',1,'y2r.h']]], + ['y2ru_5fgetditheringweightparams_4402',['Y2RU_GetDitheringWeightParams',['../y2r_8h.html#a697e9246848420ea5207779e0e8ba535',1,'y2r.h']]], + ['y2ru_5fgetinputformat_4403',['Y2RU_GetInputFormat',['../y2r_8h.html#a17007515667ae126cbf8ac8f913e3987',1,'y2r.h']]], + ['y2ru_5fgetinputlines_4404',['Y2RU_GetInputLines',['../y2r_8h.html#ad67cafce32952c532badb71b8d37a930',1,'y2r.h']]], + ['y2ru_5fgetinputlinewidth_4405',['Y2RU_GetInputLineWidth',['../y2r_8h.html#a703303edbdc586f5915c8995c9488185',1,'y2r.h']]], + ['y2ru_5fgetoutputformat_4406',['Y2RU_GetOutputFormat',['../y2r_8h.html#a9e78978cc3467fdac7974aa2f8b1189e',1,'y2r.h']]], + ['y2ru_5fgetrotation_4407',['Y2RU_GetRotation',['../y2r_8h.html#aab7ac5203ba8dc1aadcc58b8b548932b',1,'y2r.h']]], + ['y2ru_5fgetspacialdithering_4408',['Y2RU_GetSpacialDithering',['../y2r_8h.html#a4be7c67b842f8a1ba58515a4f7363065',1,'y2r.h']]], + ['y2ru_5fgetstandardcoefficient_4409',['Y2RU_GetStandardCoefficient',['../y2r_8h.html#a33a4f4f7c517450db3c3716b8d31681c',1,'y2r.h']]], + ['y2ru_5fgettemporaldithering_4410',['Y2RU_GetTemporalDithering',['../y2r_8h.html#ad9a781113c37731cc978fe9d3aaf0a9b',1,'y2r.h']]], + ['y2ru_5fgettransferendevent_4411',['Y2RU_GetTransferEndEvent',['../y2r_8h.html#aea14c7577fe4fad30581f30ca6973705',1,'y2r.h']]], + ['y2ru_5fgettransferendinterrupt_4412',['Y2RU_GetTransferEndInterrupt',['../y2r_8h.html#a5e90c86821d5272631cd509001d3cbba',1,'y2r.h']]], + ['y2ru_5finputformat_4413',['Y2RU_InputFormat',['../y2r_8h.html#ab62334088de74eccf13fb1b0c5912ffc',1,'y2r.h']]], + ['y2ru_5fisbusyconversion_4414',['Y2RU_IsBusyConversion',['../y2r_8h.html#a72ad212c211ec12b5cc85a6e3c7814b2',1,'y2r.h']]], + ['y2ru_5fisdonereceiving_4415',['Y2RU_IsDoneReceiving',['../y2r_8h.html#a0f1869e8a424c495a9dcd42866affb22',1,'y2r.h']]], + ['y2ru_5fisdonesendingu_4416',['Y2RU_IsDoneSendingU',['../y2r_8h.html#a23d944b51ffe02bd9a276d8469a8b593',1,'y2r.h']]], + ['y2ru_5fisdonesendingv_4417',['Y2RU_IsDoneSendingV',['../y2r_8h.html#aa47e389ffbcffe2ce8bce3ac284fa1f0',1,'y2r.h']]], + ['y2ru_5fisdonesendingy_4418',['Y2RU_IsDoneSendingY',['../y2r_8h.html#a64d4cae9174cc5e4442936446b432157',1,'y2r.h']]], + ['y2ru_5fisdonesendingyuyv_4419',['Y2RU_IsDoneSendingYUYV',['../y2r_8h.html#a4eec8b785038a96e15eb1faf48e4f7fb',1,'y2r.h']]], + ['y2ru_5foutputformat_4420',['Y2RU_OutputFormat',['../y2r_8h.html#ac49b25aec022b69a1df125f1fb9abd46',1,'y2r.h']]], + ['y2ru_5fpingprocess_4421',['Y2RU_PingProcess',['../y2r_8h.html#aea8b5a030d6c5ece8aadd79463b1a3e0',1,'y2r.h']]], + ['y2ru_5frotation_4422',['Y2RU_Rotation',['../y2r_8h.html#a007b376798d35d4236c26916d52bbd0e',1,'y2r.h']]], + ['y2ru_5fsetalpha_4423',['Y2RU_SetAlpha',['../y2r_8h.html#aff67ccdaee8787b226f9af783d8acafc',1,'y2r.h']]], + ['y2ru_5fsetblockalignment_4424',['Y2RU_SetBlockAlignment',['../y2r_8h.html#ab4c4c786a59760263c6641fe20a2d048',1,'y2r.h']]], + ['y2ru_5fsetcoefficients_4425',['Y2RU_SetCoefficients',['../y2r_8h.html#a609dbcd87aed9317d3c44c237161058d',1,'y2r.h']]], + ['y2ru_5fsetconversionparams_4426',['Y2RU_SetConversionParams',['../y2r_8h.html#a196a386d209696952b819ee95beebf89',1,'y2r.h']]], + ['y2ru_5fsetditheringweightparams_4427',['Y2RU_SetDitheringWeightParams',['../y2r_8h.html#ab3243953599ca8d4503660c840c27afa',1,'y2r.h']]], + ['y2ru_5fsetinputformat_4428',['Y2RU_SetInputFormat',['../y2r_8h.html#ad8593048d942822adad28255f2dd80c7',1,'y2r.h']]], + ['y2ru_5fsetinputlines_4429',['Y2RU_SetInputLines',['../y2r_8h.html#a95ca51f0f41dee4e74740e20c710589f',1,'y2r.h']]], + ['y2ru_5fsetinputlinewidth_4430',['Y2RU_SetInputLineWidth',['../y2r_8h.html#ad129184fd6d7b1e2284456f1131c8c3d',1,'y2r.h']]], + ['y2ru_5fsetoutputformat_4431',['Y2RU_SetOutputFormat',['../y2r_8h.html#a52fd980e99c6b5c0474ad067e1b1375b',1,'y2r.h']]], + ['y2ru_5fsetreceiving_4432',['Y2RU_SetReceiving',['../y2r_8h.html#ac53d0e553fda7d6e3b80e6f7bd0fe7e4',1,'y2r.h']]], + ['y2ru_5fsetrotation_4433',['Y2RU_SetRotation',['../y2r_8h.html#a769f947a0faacfb054cd9dea2a88f68f',1,'y2r.h']]], + ['y2ru_5fsetsendingu_4434',['Y2RU_SetSendingU',['../y2r_8h.html#a84aa94c65f7038c83b6f8d2272dbd32a',1,'y2r.h']]], + ['y2ru_5fsetsendingv_4435',['Y2RU_SetSendingV',['../y2r_8h.html#a568ce42764b2eee7dfcfd7ba7a519bfd',1,'y2r.h']]], + ['y2ru_5fsetsendingy_4436',['Y2RU_SetSendingY',['../y2r_8h.html#a44b247dde9d7357561765c4f5cd83773',1,'y2r.h']]], + ['y2ru_5fsetsendingyuyv_4437',['Y2RU_SetSendingYUYV',['../y2r_8h.html#a2cd9a42b16de17c4bf4d75caff245d7a',1,'y2r.h']]], + ['y2ru_5fsetspacialdithering_4438',['Y2RU_SetSpacialDithering',['../y2r_8h.html#a86c231acacba2947d10511f54e4398db',1,'y2r.h']]], + ['y2ru_5fsetstandardcoefficient_4439',['Y2RU_SetStandardCoefficient',['../y2r_8h.html#a6d7b459cac662a0172eec80272d54a39',1,'y2r.h']]], + ['y2ru_5fsettemporaldithering_4440',['Y2RU_SetTemporalDithering',['../y2r_8h.html#a39862239db0e4f9f2a325e0295c5fc8c',1,'y2r.h']]], + ['y2ru_5fsettransferendinterrupt_4441',['Y2RU_SetTransferEndInterrupt',['../y2r_8h.html#a5b7d1ff83c91410b373da5f62a5b7047',1,'y2r.h']]], + ['y2ru_5fstandardcoefficient_4442',['Y2RU_StandardCoefficient',['../y2r_8h.html#a4d268580b18b07f348fe7ee8c72fac31',1,'y2r.h']]], + ['y2ru_5fstartconversion_4443',['Y2RU_StartConversion',['../y2r_8h.html#a8c7af513adbd55b5c3c1b18ce508397b',1,'y2r.h']]], + ['y2ru_5fstopconversion_4444',['Y2RU_StopConversion',['../y2r_8h.html#a91b5da74d718bf92c14b083951074874',1,'y2r.h']]] +]; diff --git a/search/all_1b.html b/search/all_1b.html new file mode 100644 index 000000000..54186384d --- /dev/null +++ b/search/all_1b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_1b.js b/search/all_1b.js new file mode 100644 index 000000000..23ad146d2 --- /dev/null +++ b/search/all_1b.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['z_4445',['z',['../structaccelVector.html#ad5eb33a26a0e20565e04fbcd0c541a41',1,'accelVector::z()'],['../structangularRate.html#a8b9a8e550eaa785e065831cc52eeb02c',1,'angularRate::z()']]], + ['zeros_4446',['zeros',['../structNFC__AmiiboConfig.html#aa1339708fef551f9e7d70727f9040f65',1,'NFC_AmiiboConfig']]] +]; diff --git a/search/all_2.html b/search/all_2.html new file mode 100644 index 000000000..02cfffc2e --- /dev/null +++ b/search/all_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_2.js b/search/all_2.js new file mode 100644 index 000000000..1656f8f2c --- /dev/null +++ b/search/all_2.js @@ -0,0 +1,378 @@ +var searchData= +[ + ['ac_2eh_17',['ac.h',['../ac_8h.html',1,'']]], + ['ac_5fopen_18',['AC_OPEN',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8eaaf75c25d420c2cf9f34767f1aaa27d31',1,'ac.h']]], + ['ac_5fwep_5f104bit_19',['AC_WEP_104BIT',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8eae63b160691480c1a3d5cb100a4f6b9f7',1,'ac.h']]], + ['ac_5fwep_5f128bit_20',['AC_WEP_128BIT',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8ea7209dcef89414d6703f1293aab766b52',1,'ac.h']]], + ['ac_5fwep_5f40bit_21',['AC_WEP_40BIT',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8eaf7917052343f67b837a1e3dbae61ba02',1,'ac.h']]], + ['ac_5fwpa2_5faes_22',['AC_WPA2_AES',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8ea18646b27bb7afd7c8a67bd9a30a18449',1,'ac.h']]], + ['ac_5fwpa2_5ftkip_23',['AC_WPA2_TKIP',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8ea749e043fb4dfac6877f54112ec08bf4e',1,'ac.h']]], + ['ac_5fwpa_5faes_24',['AC_WPA_AES',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8ea6b17fbf7c0f2e2d1c95ee07de0066873',1,'ac.h']]], + ['ac_5fwpa_5ftkip_25',['AC_WPA_TKIP',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8ea144356f8aba5b9193a2dc3efdf517896',1,'ac.h']]], + ['accelvector_26',['accelVector',['../structaccelVector.html',1,'']]], + ['access_5fcontrol_27',['access_control',['../structExHeader__AccessControlInfo.html#a49e0caa844e4324ecf1b5ee27b6235be',1,'ExHeader_AccessControlInfo']]], + ['access_5fdescriptor_28',['access_descriptor',['../structExHeader.html#a42f36a9bfb67168c7de3682c10a3d5d2',1,'ExHeader']]], + ['accessible_5fsavedata_5fids_29',['accessible_savedata_ids',['../structExHeader__Arm11StorageInfo.html#a7358be730b910126309b9d8e3679815f',1,'ExHeader_Arm11StorageInfo']]], + ['acexit_30',['acExit',['../ac_8h.html#ab850baa702c4063eeae48e158e4fb889',1,'ac.h']]], + ['acgetsessionhandle_31',['acGetSessionHandle',['../ac_8h.html#a3467e291e3f1fe0c8713dae478352720',1,'ac.h']]], + ['aci_32',['aci',['../structExHeader__Info.html#ac00d27e88923bffd572c9d9ec7fac431',1,'ExHeader_Info']]], + ['aci_5fgetnetworkwirelessessidsecurityssid_33',['ACI_GetNetworkWirelessEssidSecuritySsid',['../ac_8h.html#acb83ddb8056d39dab40e9e7f8837c673',1,'ac.h']]], + ['aci_5floadnetworksetting_34',['ACI_LoadNetworkSetting',['../ac_8h.html#a7fb0e13b1f1221ad9d942ea6008fe9c2',1,'ac.h']]], + ['acinit_35',['acInit',['../ac_8h.html#aec40390a48ac6df3cfac242613a84590',1,'ac.h']]], + ['acli_36',['acli',['../structExHeader__AccessDescriptor.html#a6f959e93e9dba3cba825ca8a7f2783ab',1,'ExHeader_AccessDescriptor']]], + ['acsecuritymode_37',['acSecurityMode',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8e',1,'ac.h']]], + ['active_38',['active',['../unionCSND__ChnInfo.html#ae9a22537f1cabf899b42297dee22e8af',1,'CSND_ChnInfo::active()'],['../unionCSND__CapInfo.html#a7ecc4ad6aa45b30feeb958820b37e52c',1,'CSND_CapInfo::active()']]], + ['active_5fframebuf_39',['active_framebuf',['../structGSPGPU__FramebufferInfo.html#a966cb16d7e86079ed888fc57bdbccaa3',1,'GSPGPU_FramebufferInfo']]], + ['acu_5fconnectasync_40',['ACU_ConnectAsync',['../ac_8h.html#a3eb7bc6583a7a52b39e2ae10714aa87e',1,'ac.h']]], + ['acu_5fcreatedefaultconfig_41',['ACU_CreateDefaultConfig',['../ac_8h.html#aadac08bf74a0e5e4c8ce5e3cd17b8e68',1,'ac.h']]], + ['acu_5fgetlastdetailerrorcode_42',['ACU_GetLastDetailErrorCode',['../ac_8h.html#a7d526d6ee6e8aaa16efa3a2297938093',1,'ac.h']]], + ['acu_5fgetlasterrorcode_43',['ACU_GetLastErrorCode',['../ac_8h.html#aeaa6cc46b2e3003989c56d1be5a90926',1,'ac.h']]], + ['acu_5fgetproxyenable_44',['ACU_GetProxyEnable',['../ac_8h.html#a772b4160ee0b762c38371c1a4b321a63',1,'ac.h']]], + ['acu_5fgetproxypassword_45',['ACU_GetProxyPassword',['../ac_8h.html#a7dbd9e29449aee0c505f3ca6b7f80c2f',1,'ac.h']]], + ['acu_5fgetproxyport_46',['ACU_GetProxyPort',['../ac_8h.html#aa1364da739f2cd800155e62bb88250d5',1,'ac.h']]], + ['acu_5fgetproxyusername_47',['ACU_GetProxyUserName',['../ac_8h.html#a3fe8d65bf9aa86326c83985d4e784c17',1,'ac.h']]], + ['acu_5fgetsecuritymode_48',['ACU_GetSecurityMode',['../ac_8h.html#a6843a8dd3e923b6a1a93f669cbb67892',1,'ac.h']]], + ['acu_5fgetssid_49',['ACU_GetSSID',['../ac_8h.html#a1855cdaca0c330ebebf0108a58095ed5',1,'ac.h']]], + ['acu_5fgetssidlength_50',['ACU_GetSSIDLength',['../ac_8h.html#a1f339af9556334d61cc7e4340e730507',1,'ac.h']]], + ['acu_5fgetstatus_51',['ACU_GetStatus',['../ac_8h.html#ab0a2c44b128ac33db33ffbe9a371beff',1,'ac.h']]], + ['acu_5fgetwifistatus_52',['ACU_GetWifiStatus',['../ac_8h.html#a7493b0d60b8711ef8b4c2d495b4a4e72',1,'ac.h']]], + ['acu_5fsetallowaptype_53',['ACU_SetAllowApType',['../ac_8h.html#ad522f962559eaf28978a3ad20ac725db',1,'ac.h']]], + ['acu_5fsetnetworkarea_54',['ACU_SetNetworkArea',['../ac_8h.html#abb03ccbf1b33ca4f59503eff8665e08b',1,'ac.h']]], + ['acu_5fsetrequesteulaversion_55',['ACU_SetRequestEulaVersion',['../ac_8h.html#a4c7182e903882ea9cafb06359803361f',1,'ac.h']]], + ['acuconfig_56',['acuConfig',['../structacuConfig.html',1,'']]], + ['acwaitinternetconnection_57',['acWaitInternetConnection',['../ac_8h.html#a7c084fac417deb278627a69115400906',1,'ac.h']]], + ['address_58',['address',['../structExceptionEvent.html#a5e351285983b30cc394025b929431cec',1,'ExceptionEvent::address()'],['../structExHeader__CodeSectionInfo.html#a76e30eb44c76d0bba217698f7434d6fa',1,'ExHeader_CodeSectionInfo::address()']]], + ['addrinfo_59',['addrinfo',['../structaddrinfo.html',1,'']]], + ['adpcm_5fdata_60',['adpcm_data',['../structtag__ndspWaveBuf.html#a64256f46cb4f6122690f6c1e4b41f1c5',1,'tag_ndspWaveBuf']]], + ['adpcmindex_61',['adpcmIndex',['../unionCSND__ChnInfo.html#ac845b2aef27393c455d8559d3adaa86d',1,'CSND_ChnInfo']]], + ['adpcmsample_62',['adpcmSample',['../unionCSND__ChnInfo.html#a4aed532f0e337ac47f4d291f50c81262',1,'CSND_ChnInfo']]], + ['aebasetarget_63',['aeBaseTarget',['../structCAMU__ImageQualityCalibrationData.html#aa82a82a801fcdd0488140dfed68a7a74',1,'CAMU_ImageQualityCalibrationData']]], + ['aescbcmac_64',['aesCbcMac',['../structFS__IntegrityVerificationSeed.html#ae58788493f1efd3d3faff151056da87f',1,'FS_IntegrityVerificationSeed']]], + ['affinity_5fmask_65',['affinity_mask',['../structExHeader__Arm11CoreInfo.html#a9bc185efb990fc9afd607295331315fe',1,'ExHeader_Arm11CoreInfo']]], + ['all_5flanguages_66',['all_languages',['../structSwkbdDictWord.html#a355df68fce7741c35d16c412bce7fe08',1,'SwkbdDictWord']]], + ['allow_5fcopying_67',['allow_copying',['../structMiiData.html#a97fd032046d4b4bd72ac6c9bc70a7ab4',1,'MiiData']]], + ['allowedalignments_68',['allowedAlignments',['../structDmaDeviceConfig.html#ac8b8d2e083b741b2fdf1ea2ce1587cac',1,'DmaDeviceConfig']]], + ['alpha_69',['alpha',['../structY2RU__ConversionParams.html#a6c1b0089f3f46170de55e10b277bef94',1,'Y2RU_ConversionParams']]], + ['altercharindex_70',['alterCharIndex',['../structFINF__s.html#aeda7dec3b54e2c8dacfae2e9f486e57d',1,'FINF_s']]], + ['am_2eh_71',['am.h',['../am_8h.html',1,'']]], + ['am_5fcancelciainstall_72',['AM_CancelCIAInstall',['../am_8h.html#a5b6a50c2be5cb8e7c603df3c9da8c3b0',1,'am.h']]], + ['am_5fcommitimportprograms_73',['AM_CommitImportPrograms',['../am_8h.html#ad78f827d766a8f16f881ac9f2ef4206e',1,'am.h']]], + ['am_5fcommitimporttitles_74',['AM_CommitImportTitles',['../am_8h.html#ab44ef68fb044825e044359f49c39fe51',1,'am.h']]], + ['am_5fcommitimporttitlesandupdatefirmwareauto_75',['AM_CommitImportTitlesAndUpdateFirmwareAuto',['../am_8h.html#aa2afc320f57f385b94429dbbe41abf87',1,'am.h']]], + ['am_5fcontent_5fdownloaded_76',['AM_CONTENT_DOWNLOADED',['../am_8h.html#a849ed6d290855a42fcb631aafd0543f9a44a197e4447a70d4c9dc62966f97b425',1,'am.h']]], + ['am_5fcontent_5fowned_77',['AM_CONTENT_OWNED',['../am_8h.html#a849ed6d290855a42fcb631aafd0543f9a4635253c6bd4c24ab4bf189cb7b26d00',1,'am.h']]], + ['am_5fcontentinfo_78',['AM_ContentInfo',['../structAM__ContentInfo.html',1,'']]], + ['am_5fcontentinfoflags_79',['AM_ContentInfoFlags',['../am_8h.html#a849ed6d290855a42fcb631aafd0543f9',1,'am.h']]], + ['am_5fcreateimportcontentcontexts_80',['AM_CreateImportContentContexts',['../am_8h.html#aa4f2013be4ccdfebd319ae624267e26a',1,'am.h']]], + ['am_5fdelete_5fpending_5fnon_5fsystem_81',['AM_DELETE_PENDING_NON_SYSTEM',['../am_8h.html#a84627a72058502328269676b81780f89afbebba2c1332ef434ecb8f130eda8c77',1,'am.h']]], + ['am_5fdelete_5fpending_5fsystem_82',['AM_DELETE_PENDING_SYSTEM',['../am_8h.html#a84627a72058502328269676b81780f89ab011acd76ab87c7deb26ae057b8a32ba',1,'am.h']]], + ['am_5fdeletealldemolaunchinfos_83',['AM_DeleteAllDemoLaunchInfos',['../am_8h.html#a71727be0cabf34c0f706198a6cac16fe',1,'am.h']]], + ['am_5fdeleteallexpiredtitles_84',['AM_DeleteAllExpiredTitles',['../am_8h.html#a387246e459e0b2640ac0d9841c8798bf',1,'am.h']]], + ['am_5fdeleteallpendingtitles_85',['AM_DeleteAllPendingTitles',['../am_8h.html#a13f6ebf3525cfbaff6b02def5bc178eb',1,'am.h']]], + ['am_5fdeletealltemporarytitles_86',['AM_DeleteAllTemporaryTitles',['../am_8h.html#add9bf85d453bcab771adcde9368d1083',1,'am.h']]], + ['am_5fdeletealltwltitles_87',['AM_DeleteAllTwlTitles',['../am_8h.html#a45337bbb6c00b485f7bc18358d16d682',1,'am.h']]], + ['am_5fdeleteapptitle_88',['AM_DeleteAppTitle',['../am_8h.html#a92904da2ef10c3e4703912b663f40443',1,'am.h']]], + ['am_5fdeletependingtitle_89',['AM_DeletePendingTitle',['../am_8h.html#a5dc7ebf10cd514ccb1f5d73f765d6cb8',1,'am.h']]], + ['am_5fdeletependingtitles_90',['AM_DeletePendingTitles',['../am_8h.html#a50dd0a9e9ff166a389980ae06a50073f',1,'am.h']]], + ['am_5fdeleteticket_91',['AM_DeleteTicket',['../am_8h.html#a7bb967432b36174d1caada02f0a8eed6',1,'am.h']]], + ['am_5fdeletetitle_92',['AM_DeleteTitle',['../am_8h.html#a06808616925fcf284d02a116b701061a',1,'am.h']]], + ['am_5fexporttwlbackup_93',['AM_ExportTwlBackup',['../am_8h.html#a1f5010400c3cce3d9cd25a1ba5e3e8db',1,'am.h']]], + ['am_5ffinishciainstall_94',['AM_FinishCiaInstall',['../am_8h.html#afc92a54bbefaab3ba08ba2c560f9a00a',1,'am.h']]], + ['am_5ffinishciainstallwithoutcommit_95',['AM_FinishCiaInstallWithoutCommit',['../am_8h.html#a7bb05a3466a76447f68e5848a7c8bfbc',1,'am.h']]], + ['am_5fgetciacoreversion_96',['AM_GetCiaCoreVersion',['../am_8h.html#a09b2e364518b0a7b111f708e1fa325e7',1,'am.h']]], + ['am_5fgetciadependencies_97',['AM_GetCiaDependencies',['../am_8h.html#ad3141cb2c1dd8d6b83339ffe71c8c2cb',1,'am.h']]], + ['am_5fgetciafileinfo_98',['AM_GetCiaFileInfo',['../am_8h.html#ad5bb183a0ccf528c9b682912aa14023d',1,'am.h']]], + ['am_5fgetciaicon_99',['AM_GetCiaIcon',['../am_8h.html#acfede58c7267885b7f0b25a2c198081c',1,'am.h']]], + ['am_5fgetciametaoffset_100',['AM_GetCiaMetaOffset',['../am_8h.html#a7063def887f6309b2c17f7eecdf395db',1,'am.h']]], + ['am_5fgetciametasection_101',['AM_GetCiaMetaSection',['../am_8h.html#ae6d6e423f253f744cd730cfe8fe7cf78',1,'am.h']]], + ['am_5fgetciarequiredspace_102',['AM_GetCiaRequiredSpace',['../am_8h.html#ad7b36812e4a68f5a0e0bb512b3aee1f8',1,'am.h']]], + ['am_5fgetdeviceid_103',['AM_GetDeviceId',['../am_8h.html#a58a9c173c55a09e51691b1583d8f0a52',1,'am.h']]], + ['am_5fgetpendingtitlecount_104',['AM_GetPendingTitleCount',['../am_8h.html#ac4a9aa575eaae640b4259ec74aade571',1,'am.h']]], + ['am_5fgetpendingtitleinfo_105',['AM_GetPendingTitleInfo',['../am_8h.html#a35b4136412669fdc8752cefdace513ad',1,'am.h']]], + ['am_5fgetpendingtitlelist_106',['AM_GetPendingTitleList',['../am_8h.html#a7d84003263ed7b14a97287bb647077a1',1,'am.h']]], + ['am_5fgetticketcount_107',['AM_GetTicketCount',['../am_8h.html#a514c8c6b99536797eccb3c253109fb8f',1,'am.h']]], + ['am_5fgetticketlist_108',['AM_GetTicketList',['../am_8h.html#acbc4a3f460235e99b4ec77f515ef2267',1,'am.h']]], + ['am_5fgettitlecount_109',['AM_GetTitleCount',['../am_8h.html#a5bc158d4ed3d67b4e974de1d95d79908',1,'am.h']]], + ['am_5fgettitleextdataid_110',['AM_GetTitleExtDataId',['../am_8h.html#ae73fa174fd20a1e13d95d66a3267f5d5',1,'am.h']]], + ['am_5fgettitleinfo_111',['AM_GetTitleInfo',['../am_8h.html#ae12f3853d0225d33fca17c7535724860',1,'am.h']]], + ['am_5fgettitlelist_112',['AM_GetTitleList',['../am_8h.html#a8f57657ee9c2de75f94b9d72d94b10a5',1,'am.h']]], + ['am_5fgettitleproductcode_113',['AM_GetTitleProductCode',['../am_8h.html#a293f52bb07b3d52b13a5ed7e9172c89c',1,'am.h']]], + ['am_5fgettwlpartitioninfo_114',['AM_GetTWLPartitionInfo',['../am_8h.html#aeb5dbc1540ca7326e82817a447f6f004',1,'am.h']]], + ['am_5fimportcertificate_115',['AM_ImportCertificate',['../am_8h.html#a1e9fcc84bb1c330054576d65610d3f5d',1,'am.h']]], + ['am_5fimportcertificates_116',['AM_ImportCertificates',['../am_8h.html#aae561396e6bf387e825df8893d73027b',1,'am.h']]], + ['am_5fimporttwlbackup_117',['AM_ImportTwlBackup',['../am_8h.html#aa92ded78a815f83f2554c6ccc60d1837',1,'am.h']]], + ['am_5finitializeexternaltitledatabase_118',['AM_InitializeExternalTitleDatabase',['../am_8h.html#a469ba855d3817fa86091baa17d136676',1,'am.h']]], + ['am_5finstallcontentbegin_119',['AM_InstallContentBegin',['../am_8h.html#a67d21faf4ccbdb3052484a66b3e471b9',1,'am.h']]], + ['am_5finstallcontentcancel_120',['AM_InstallContentCancel',['../am_8h.html#a330c8994d1cb9c013094aea1620ee8b5',1,'am.h']]], + ['am_5finstallcontentfinish_121',['AM_InstallContentFinish',['../am_8h.html#a1a86d98c8f8431bef5882edec12947d8',1,'am.h']]], + ['am_5finstallcontentresume_122',['AM_InstallContentResume',['../am_8h.html#ab7bf20084e797f9f5b3417aa3e725696',1,'am.h']]], + ['am_5finstallcontentstop_123',['AM_InstallContentStop',['../am_8h.html#a95ac00888a24efa61b1c7e35d91f9786',1,'am.h']]], + ['am_5finstallfirm_124',['AM_InstallFirm',['../am_8h.html#a04a92770482e500d5da2995e0d4a1bc1',1,'am.h']]], + ['am_5finstallnativefirm_125',['AM_InstallNativeFirm',['../am_8h.html#a022d7fdd04454fd2300588b539a9da4a',1,'am.h']]], + ['am_5finstallstatus_126',['AM_InstallStatus',['../am_8h.html#ad08e0e85fd84747c4f0494ec342a2297',1,'am.h']]], + ['am_5finstallticketabort_127',['AM_InstallTicketAbort',['../am_8h.html#a2ed1e743c96f8139b8791cd32b30c59e',1,'am.h']]], + ['am_5finstallticketbegin_128',['AM_InstallTicketBegin',['../am_8h.html#af2da013339c7d9eb1941944d803213f7',1,'am.h']]], + ['am_5finstallticketfinish_129',['AM_InstallTicketFinish',['../am_8h.html#a8af33218aec85689a046414b43df1ad2',1,'am.h']]], + ['am_5finstalltitleabort_130',['AM_InstallTitleAbort',['../am_8h.html#a3ec1d41b7bf3d8493c2059b3c60f28be',1,'am.h']]], + ['am_5finstalltitlebegin_131',['AM_InstallTitleBegin',['../am_8h.html#a70a008137106f1be8952b41d2042e249',1,'am.h']]], + ['am_5finstalltitlefinish_132',['AM_InstallTitleFinish',['../am_8h.html#afa9dc85c90337c0325ae601f77a06c4b',1,'am.h']]], + ['am_5finstalltitleresume_133',['AM_InstallTitleResume',['../am_8h.html#ab60bf1631dfdd662101b2449ad5e0a2f',1,'am.h']]], + ['am_5finstalltitlestop_134',['AM_InstallTitleStop',['../am_8h.html#a9aab3dd8d2ded8a6f1005230e1ac4e2a',1,'am.h']]], + ['am_5finstalltmdabort_135',['AM_InstallTmdAbort',['../am_8h.html#a7ba0ab4df1c4eef170a6738f7cb6d11a',1,'am.h']]], + ['am_5finstalltmdbegin_136',['AM_InstallTmdBegin',['../am_8h.html#a175f307e6b5171e706a29112f07a03c6',1,'am.h']]], + ['am_5finstalltmdfinish_137',['AM_InstallTmdFinish',['../am_8h.html#aaee168fea61f616c5879654fc8ce03ec',1,'am.h']]], + ['am_5fpendingtitleentry_138',['AM_PendingTitleEntry',['../structAM__PendingTitleEntry.html',1,'']]], + ['am_5fqueryavailableexternaltitledatabase_139',['AM_QueryAvailableExternalTitleDatabase',['../am_8h.html#a505ee8fcca3984f1ebc21930c5a99813',1,'am.h']]], + ['am_5freadtwlbackupinfo_140',['AM_ReadTwlBackupInfo',['../am_8h.html#a11a390a6c4bdbb8873cfba58d82d13f1',1,'am.h']]], + ['am_5fstartciainstall_141',['AM_StartCiaInstall',['../am_8h.html#a37b5679dc10854bd0408282cd8bf7f2a',1,'am.h']]], + ['am_5fstartdlpchildciainstall_142',['AM_StartDlpChildCiaInstall',['../am_8h.html#a3d9438a9ed27a0372c4845520a685c9e',1,'am.h']]], + ['am_5fstatus_5faborted_143',['AM_STATUS_ABORTED',['../am_8h.html#ad08e0e85fd84747c4f0494ec342a2297ae8c008fbcadfa942abaaeed9ac956d9d',1,'am.h']]], + ['am_5fstatus_5fawaiting_5ffinalization_144',['AM_STATUS_AWAITING_FINALIZATION',['../am_8h.html#ad08e0e85fd84747c4f0494ec342a2297a1e6f25470d821241a4a492bc5a6364e2',1,'am.h']]], + ['am_5fstatus_5finstall_5fin_5fprogress_145',['AM_STATUS_INSTALL_IN_PROGRESS',['../am_8h.html#ad08e0e85fd84747c4f0494ec342a2297af9d2a6421a1e0f2387e863158eb4403e',1,'am.h']]], + ['am_5fstatus_5fmask_5fawaiting_5ffinalization_146',['AM_STATUS_MASK_AWAITING_FINALIZATION',['../am_8h.html#a1fb9092bcdeada2d206bdc74afbbe122a613bdea6a05c208de0ef424d2010ff03',1,'am.h']]], + ['am_5fstatus_5fmask_5finstalling_147',['AM_STATUS_MASK_INSTALLING',['../am_8h.html#a1fb9092bcdeada2d206bdc74afbbe122a0d762c7cbb70351b96aa7b2f5c3a63f2',1,'am.h']]], + ['am_5fstatus_5fsaved_148',['AM_STATUS_SAVED',['../am_8h.html#ad08e0e85fd84747c4f0494ec342a2297ac0a6fbc2498ba7d6cfbe8f6c28716fb4',1,'am.h']]], + ['am_5ftitleentry_149',['AM_TitleEntry',['../structAM__TitleEntry.html',1,'']]], + ['am_5ftwlpartitioninfo_150',['AM_TWLPartitionInfo',['../structAM__TWLPartitionInfo.html',1,'']]], + ['amapp_5fgetdlccontentinfocount_151',['AMAPP_GetDLCContentInfoCount',['../am_8h.html#a2df33a020e3bc58064e80dea6831ad76',1,'am.h']]], + ['amapp_5flistdlccontentinfos_152',['AMAPP_ListDLCContentInfos',['../am_8h.html#a9a7a5d70ce3fcb57a899316a7ad8f939',1,'am.h']]], + ['amappinit_153',['amAppInit',['../am_8h.html#acf955c48344998c71c4e640b99c40dfa',1,'am.h']]], + ['amexit_154',['amExit',['../am_8h.html#a9217b2d42efc41cee7c5d018de8aebba',1,'am.h']]], + ['amgetsessionhandle_155',['amGetSessionHandle',['../am_8h.html#a8f9a930157ee33ea3b358bd399e1c5a9',1,'am.h']]], + ['amiiboid_156',['amiiboID',['../structNFC__AmiiboConfig.html#a632f97fc779b373b7cd34d0379fbb739',1,'NFC_AmiiboConfig']]], + ['aminit_157',['amInit',['../am_8h.html#a00de76ec3836d1c459b4e3a2ddbe852c',1,'am.h']]], + ['ampxi_2eh_158',['ampxi.h',['../ampxi_8h.html',1,'']]], + ['ampxi_5finstalltitlesfinish_159',['AMPXI_InstallTitlesFinish',['../ampxi_8h.html#a7b2287cd33e85fc7946da17c039c655d',1,'ampxi.h']]], + ['ampxi_5fwritetwlsavedata_160',['AMPXI_WriteTWLSavedata',['../ampxi_8h.html#a213307af9fc81e5fd898dcceebe6e2d4',1,'ampxi.h']]], + ['ampxiexit_161',['ampxiExit',['../ampxi_8h.html#a1a1b7485bec8d84b477834af52b25762',1,'ampxi.h']]], + ['ampxiinit_162',['ampxiInit',['../ampxi_8h.html#a96cd88d0b7a2429ccbe29654b1231ef0',1,'ampxi.h']]], + ['angleofviewleft_163',['angleOfViewLeft',['../structCAMU__StereoCameraCalibrationData.html#ae5fb95867a93c9ae30f456193e0e86a7',1,'CAMU_StereoCameraCalibrationData']]], + ['angleofviewright_164',['angleOfViewRight',['../structCAMU__StereoCameraCalibrationData.html#afd4e30bc40e473447ff6358084dc2aaa',1,'CAMU_StereoCameraCalibrationData']]], + ['angularrate_165',['angularRate',['../structangularRate.html',1,'']]], + ['appid_5famiibo_5fsettings_166',['APPID_AMIIBO_SETTINGS',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a4ef448d27710631a82b64e46de9a1a15',1,'apt.h']]], + ['appid_5fappleted_167',['APPID_APPLETED',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a3e2137770c1124d177b66a5782359372',1,'apt.h']]], + ['appid_5fapplication_168',['APPID_APPLICATION',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a260f2cb2e29d19f8cd84aa697b1caa13',1,'apt.h']]], + ['appid_5fcamera_169',['APPID_CAMERA',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a87b7c295b2b641f99a0575b75158588d',1,'apt.h']]], + ['appid_5ferror_170',['APPID_ERROR',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867ae0bf4eb0ea9ca71a5a638103db329b5f',1,'apt.h']]], + ['appid_5feshop_171',['APPID_ESHOP',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867ac41e966590cd3025fc3b640911e21ef1',1,'apt.h']]], + ['appid_5fextrapad_172',['APPID_EXTRAPAD',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a2d87855eb66c1fe1b1548efc3b3679ab',1,'apt.h']]], + ['appid_5ffriends_5flist_173',['APPID_FRIENDS_LIST',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a90342df4a473f4f863bf6579de5d5da1',1,'apt.h']]], + ['appid_5fgame_5fnotes_174',['APPID_GAME_NOTES',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867ad0474ca4114b58b35412ed2d4b47e568',1,'apt.h']]], + ['appid_5fhomemenu_175',['APPID_HOMEMENU',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a8f37528864cd8f92fda4cfe47683fbc0',1,'apt.h']]], + ['appid_5finstruction_5fmanual_176',['APPID_INSTRUCTION_MANUAL',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a01396b5773be96d22c1eed608fb6f445',1,'apt.h']]], + ['appid_5fmemolib_177',['APPID_MEMOLIB',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a5fbb4942d8f6db49a8888fc1f8b9cc0c',1,'apt.h']]], + ['appid_5fmiiverse_178',['APPID_MIIVERSE',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a3b79a475a545d9cf0590ecee5377562d',1,'apt.h']]], + ['appid_5fmiiverse_5fposting_179',['APPID_MIIVERSE_POSTING',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a0efd9e13f5bbc4af83b3a456a120d6e5',1,'apt.h']]], + ['appid_5fmint_180',['APPID_MINT',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867ab568d9496ed24b47b99ce5e2b243a669',1,'apt.h']]], + ['appid_5fnotifications_181',['APPID_NOTIFICATIONS',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867aa109ff5c86fb8397ba9c228633e3ec52',1,'apt.h']]], + ['appid_5fpnote_5fap_182',['APPID_PNOTE_AP',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a0770880454dc111c42f7c2e2538a5c44',1,'apt.h']]], + ['appid_5fsnote_5fap_183',['APPID_SNOTE_AP',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867acbdb6b2cd70fa978172a3598fad63a9d',1,'apt.h']]], + ['appid_5fsoftware_5fkeyboard_184',['APPID_SOFTWARE_KEYBOARD',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a97db91b5a638760fa79f1303cc229fd6',1,'apt.h']]], + ['appid_5fweb_185',['APPID_WEB',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a012c2e84072c16e1c9b6507a667dedd2',1,'apt.h']]], + ['apptitleid_186',['appTitleId',['../structERRF__FatalErrInfo.html#a5a32265003e36d6bea87b41d076956cd',1,'ERRF_FatalErrInfo']]], + ['apt_2eh_187',['apt.h',['../apt_8h.html',1,'']]], + ['apt_5fappletpos_188',['APT_AppletPos',['../apt_8h.html#a9593943634f18b7678ec5dab635ff605',1,'apt.h']]], + ['apt_5fappletutility_189',['APT_AppletUtility',['../apt_8h.html#a1d75c42d78a95795e8fa87c8b98daa26',1,'apt.h']]], + ['apt_5fcancelparameter_190',['APT_CancelParameter',['../apt_8h.html#a3b7037c79388ac12cad20f454746bd45',1,'apt.h']]], + ['apt_5fchecknew3ds_191',['APT_CheckNew3DS',['../apt_8h.html#ada1a13d3f49a8f40229cd2443371ddaa',1,'apt.h']]], + ['apt_5fcloseapplication_192',['APT_CloseApplication',['../apt_8h.html#ac20bdce7b2c7ad39de790a604115fe19',1,'apt.h']]], + ['apt_5fcommand_193',['APT_Command',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98',1,'apt.h']]], + ['apt_5fdoapplicationjump_194',['APT_DoApplicationJump',['../apt_8h.html#a78a840a131632e11303933edaf2e1223',1,'apt.h']]], + ['apt_5fenable_195',['APT_Enable',['../apt_8h.html#ac7f784fef7b1e1be921778b2326cd074',1,'apt.h']]], + ['apt_5ffinalize_196',['APT_Finalize',['../apt_8h.html#a3d69aa12d945ff02344f19edadeb5270',1,'apt.h']]], + ['apt_5fgetappcputimelimit_197',['APT_GetAppCpuTimeLimit',['../apt_8h.html#ad356b2e371c9fa57fd3d4d039075e46a',1,'apt.h']]], + ['apt_5fgetappletinfo_198',['APT_GetAppletInfo',['../apt_8h.html#a3ee5005a29aa032fa54e3ebddb5bacf6',1,'apt.h']]], + ['apt_5fgetappletmaninfo_199',['APT_GetAppletManInfo',['../apt_8h.html#a84a1dd51575a98af27c2262fdc1215bc',1,'apt.h']]], + ['apt_5fgetappletprograminfo_200',['APT_GetAppletProgramInfo',['../apt_8h.html#aeb9d76b263196257d9473234075c3fbb',1,'apt.h']]], + ['apt_5fgetlockhandle_201',['APT_GetLockHandle',['../apt_8h.html#a445fa08d61a93c171b7b920c75261e6d',1,'apt.h']]], + ['apt_5fgetprogramid_202',['APT_GetProgramID',['../apt_8h.html#a20023f8bb628dda7ade10cc6945f99ec',1,'apt.h']]], + ['apt_5fgetsharedfont_203',['APT_GetSharedFont',['../apt_8h.html#a227cff8cbdfee1e6ae700ecc23a75008',1,'apt.h']]], + ['apt_5fglanceparameter_204',['APT_GlanceParameter',['../apt_8h.html#add62abbab8218ea7a580e07ba1c065b5',1,'apt.h']]], + ['apt_5fhardwareresetasync_205',['APT_HardwareResetAsync',['../apt_8h.html#a8f843ae7cade12403160de70ec7d6f91',1,'apt.h']]], + ['apt_5fhooktype_206',['APT_HookType',['../apt_8h.html#a65688ade2995260aadd4ab7539df58a6',1,'apt.h']]], + ['apt_5finitialize_207',['APT_Initialize',['../apt_8h.html#aa798c78b56dcf2b451123986f087b1f4',1,'apt.h']]], + ['apt_5finquirenotification_208',['APT_InquireNotification',['../apt_8h.html#a6d9c84201b13a43c3417d7e2f61b231b',1,'apt.h']]], + ['apt_5fisregistered_209',['APT_IsRegistered',['../apt_8h.html#a98402a39a7476fd2fcf705688b8f8364',1,'apt.h']]], + ['apt_5fjumptoapplication_210',['APT_JumpToApplication',['../apt_8h.html#a8ac217768d36b8c34c46bcb153cc4dd7',1,'apt.h']]], + ['apt_5fjumptohomemenu_211',['APT_JumpToHomeMenu',['../apt_8h.html#a2f49ecfa1d838f1cb511f4258728e688',1,'apt.h']]], + ['apt_5flocktransition_212',['APT_LockTransition',['../apt_8h.html#a72376509676049424060e3b7d37b237e',1,'apt.h']]], + ['apt_5fnotifytowait_213',['APT_NotifyToWait',['../apt_8h.html#a99188445583d14b149c898f8fb10f16f',1,'apt.h']]], + ['apt_5fpreparetocloseapplication_214',['APT_PrepareToCloseApplication',['../apt_8h.html#a0ff6d0e1b695cbeb832a73910c3ea857',1,'apt.h']]], + ['apt_5fpreparetodoapplicationjump_215',['APT_PrepareToDoApplicationJump',['../apt_8h.html#aba728efcd35d8a4f6bcceee19c597c31',1,'apt.h']]], + ['apt_5fpreparetojumptoapplication_216',['APT_PrepareToJumpToApplication',['../apt_8h.html#af778eab1656c5e01d8b03c72cfd4936a',1,'apt.h']]], + ['apt_5fpreparetojumptohomemenu_217',['APT_PrepareToJumpToHomeMenu',['../apt_8h.html#a56bf96b3c92e926b62664df57d478a4d',1,'apt.h']]], + ['apt_5fpreparetostartlibraryapplet_218',['APT_PrepareToStartLibraryApplet',['../apt_8h.html#af80ae4fce5a7efc802ed22f5bb87b11d',1,'apt.h']]], + ['apt_5fpreparetostartsystemapplet_219',['APT_PrepareToStartSystemApplet',['../apt_8h.html#a9431bc6170912ea0f217b8dede0bc996',1,'apt.h']]], + ['apt_5fqueryreply_220',['APT_QueryReply',['../apt_8h.html#a0c86495cfcd1fb626efeb9138cb9e622',1,'apt.h']]], + ['apt_5freceivedeliverarg_221',['APT_ReceiveDeliverArg',['../apt_8h.html#a98393611ce1e6d3712b5e6781c4b5e88',1,'apt.h']]], + ['apt_5freceiveparameter_222',['APT_ReceiveParameter',['../apt_8h.html#a344ecade14264e6278d84f2445bfefc5',1,'apt.h']]], + ['apt_5freplysleepnotificationcomplete_223',['APT_ReplySleepNotificationComplete',['../apt_8h.html#aa40df8aaaef30ec1f31741a9d8299592',1,'apt.h']]], + ['apt_5freplysleepquery_224',['APT_ReplySleepQuery',['../apt_8h.html#ae6212210410280fad33f934aba6cbca7',1,'apt.h']]], + ['apt_5fsendcapturebufferinfo_225',['APT_SendCaptureBufferInfo',['../apt_8h.html#a1bda011a9d90d72e02cd89792e6074c7',1,'apt.h']]], + ['apt_5fsendparameter_226',['APT_SendParameter',['../apt_8h.html#a94e606e7c80be25f4fc2dd3ed90b1cdd',1,'apt.h']]], + ['apt_5fsetappcputimelimit_227',['APT_SetAppCpuTimeLimit',['../apt_8h.html#aa83ab636d5c52e2c95eae3f3abe940e7',1,'apt.h']]], + ['apt_5fsignal_228',['APT_Signal',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873',1,'apt.h']]], + ['apt_5fsleepifshellclosed_229',['APT_SleepIfShellClosed',['../apt_8h.html#a344dc2220cffe3ef39975cb220d839c9',1,'apt.h']]], + ['apt_5fsleepsystem_230',['APT_SleepSystem',['../apt_8h.html#a3a4368853462a6460b562c5888b0fc55',1,'apt.h']]], + ['apt_5fstartlibraryapplet_231',['APT_StartLibraryApplet',['../apt_8h.html#abe759128f9e9f4c8d1875b2d54d466fe',1,'apt.h']]], + ['apt_5fstartsystemapplet_232',['APT_StartSystemApplet',['../apt_8h.html#ad4dabcc9d42123aa58e8f10a08d730d5',1,'apt.h']]], + ['apt_5ftrylocktransition_233',['APT_TryLockTransition',['../apt_8h.html#ab4103547c919d699bd63a73e67c4c122',1,'apt.h']]], + ['apt_5funlocktransition_234',['APT_UnlockTransition',['../apt_8h.html#a2c39328a07c156458ca934106637c9ea',1,'apt.h']]], + ['aptcapturebufinfo_235',['aptCaptureBufInfo',['../structaptCaptureBufInfo.html',1,'']]], + ['aptcheckhomepressrejected_236',['aptCheckHomePressRejected',['../apt_8h.html#a97393fba996f10ad8e61f56a92910fc2',1,'apt.h']]], + ['aptclearchainloader_237',['aptClearChainloader',['../apt_8h.html#afc47bf7374741bf51d5fceabe296f12a',1,'apt.h']]], + ['aptcmd_5fdsp_5fsleep_238',['APTCMD_DSP_SLEEP',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98abf92d20842377e320af3600c988214ba',1,'apt.h']]], + ['aptcmd_5fdsp_5fwakeup_239',['APTCMD_DSP_WAKEUP',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a60799b8b19f407a933f011c866080177',1,'apt.h']]], + ['aptcmd_5fexit_240',['APTCMD_EXIT',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98aed556f2642b7fbb365e40f87fb9eeffe',1,'apt.h']]], + ['aptcmd_5fhomebutton_5fonce_241',['APTCMD_HOMEBUTTON_ONCE',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98ad6adf059866d4fb59b64228a4c4e2b66',1,'apt.h']]], + ['aptcmd_5fhomebutton_5ftwice_242',['APTCMD_HOMEBUTTON_TWICE',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98aa1577c79c042852dddf9f92ef0c52189',1,'apt.h']]], + ['aptcmd_5fmessage_243',['APTCMD_MESSAGE',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a13c0d5dff50a550511757236fa98971f',1,'apt.h']]], + ['aptcmd_5fnone_244',['APTCMD_NONE',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a4828d70ecbf7985d44cd63de6431acf0',1,'apt.h']]], + ['aptcmd_5frequest_245',['APTCMD_REQUEST',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98ad7861a838f4deee180c2dbc55e7aec68',1,'apt.h']]], + ['aptcmd_5fresponse_246',['APTCMD_RESPONSE',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a5ec2e2a17f83ac6e130d8d6a15ba6f08',1,'apt.h']]], + ['aptcmd_5fsysapplet_5frequest_247',['APTCMD_SYSAPPLET_REQUEST',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a1439e48aa862f1ce6291048671e62394',1,'apt.h']]], + ['aptcmd_5fwakeup_248',['APTCMD_WAKEUP',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a6f0b299aa97c2b50152d97fd7dea7312',1,'apt.h']]], + ['aptcmd_5fwakeup_5fcancel_249',['APTCMD_WAKEUP_CANCEL',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a060497755405133e686228db3b06d160',1,'apt.h']]], + ['aptcmd_5fwakeup_5fcancelall_250',['APTCMD_WAKEUP_CANCELALL',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98ae9358e35be3c5ad8a819bde43617f714',1,'apt.h']]], + ['aptcmd_5fwakeup_5fexit_251',['APTCMD_WAKEUP_EXIT',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a06af48051928930b73dccc4c1b65bba5',1,'apt.h']]], + ['aptcmd_5fwakeup_5fjumptohome_252',['APTCMD_WAKEUP_JUMPTOHOME',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a4d6812d6d3b54ae24281701bd07d0245',1,'apt.h']]], + ['aptcmd_5fwakeup_5flaunchapp_253',['APTCMD_WAKEUP_LAUNCHAPP',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98ae5722f8f2e3793dcd0545036db78b7a8',1,'apt.h']]], + ['aptcmd_5fwakeup_5fpause_254',['APTCMD_WAKEUP_PAUSE',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98abfb2f5fc31f8c850c77ffbd5e544579a',1,'apt.h']]], + ['aptcmd_5fwakeup_5fpowerbutton_255',['APTCMD_WAKEUP_POWERBUTTON',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a39a88a412587a5b98fb7e7ed84766b94',1,'apt.h']]], + ['aptexit_256',['aptExit',['../apt_8h.html#a37c671bbffd1c26e381ecd38fff19ef8',1,'apt.h']]], + ['aptgetmenuappid_257',['aptGetMenuAppID',['../apt_8h.html#a89354d3c51b1708a962df82242bdbcb4',1,'apt.h']]], + ['apthandlejumptohome_258',['aptHandleJumpToHome',['../apt_8h.html#acfa2f3e80c79bad5d1656ce99f722f86',1,'apt.h']]], + ['apthandlesleep_259',['aptHandleSleep',['../apt_8h.html#ac5d33d4e03c5ac078cadf4f5a75d4aa0',1,'apt.h']]], + ['apthook_260',['aptHook',['../apt_8h.html#ab8985e95b252207e1adfa32ec8b943ea',1,'apt.h']]], + ['apthook_5fcount_261',['APTHOOK_COUNT',['../apt_8h.html#a65688ade2995260aadd4ab7539df58a6aea6700f7e5b06741e63478592f756645',1,'apt.h']]], + ['apthook_5fonexit_262',['APTHOOK_ONEXIT',['../apt_8h.html#a65688ade2995260aadd4ab7539df58a6a0dad384082914a54947b2407dc5edf75',1,'apt.h']]], + ['apthook_5fonrestore_263',['APTHOOK_ONRESTORE',['../apt_8h.html#a65688ade2995260aadd4ab7539df58a6aa8d5c3b92880336828fd56f93993d3a4',1,'apt.h']]], + ['apthook_5fonsleep_264',['APTHOOK_ONSLEEP',['../apt_8h.html#a65688ade2995260aadd4ab7539df58a6a4446865116acaacdf4a8ccf2b5623fbc',1,'apt.h']]], + ['apthook_5fonsuspend_265',['APTHOOK_ONSUSPEND',['../apt_8h.html#a65688ade2995260aadd4ab7539df58a6a13c5520f05c890c64de9cd26a46e5ce6',1,'apt.h']]], + ['apthook_5fonwakeup_266',['APTHOOK_ONWAKEUP',['../apt_8h.html#a65688ade2995260aadd4ab7539df58a6a7ef5107c13070dc06c86ad334b78d6bd',1,'apt.h']]], + ['apthookcookie_267',['aptHookCookie',['../structaptHookCookie.html',1,'']]], + ['apthookfn_268',['aptHookFn',['../apt_8h.html#abab9ede8bc76064b9da878b9bf9626f5',1,'apt.h']]], + ['aptinit_269',['aptInit',['../apt_8h.html#a948693eacbd602be749512a7c268dc4a',1,'apt.h']]], + ['aptisactive_270',['aptIsActive',['../apt_8h.html#abe1c9774a0e4031d4b9ad4c767353d4f',1,'apt.h']]], + ['aptishomeallowed_271',['aptIsHomeAllowed',['../apt_8h.html#af2f64b2c2a9dd00e13d1ce93aed1b326',1,'apt.h']]], + ['aptishomepressed_272',['aptIsHomePressed',['../apt_8h.html#a5d39be2a43af69af181a8ed52e6c822b',1,'apt.h']]], + ['aptissleepallowed_273',['aptIsSleepAllowed',['../apt_8h.html#acf1eba93df85f2c930bcd7c333a06aac',1,'apt.h']]], + ['aptjumptohomemenu_274',['aptJumpToHomeMenu',['../apt_8h.html#adf45788328192962a21f1142820de385',1,'apt.h']]], + ['aptlaunchlibraryapplet_275',['aptLaunchLibraryApplet',['../apt_8h.html#ae82036721a23f7b8b08eaba58b8bcf07',1,'apt.h']]], + ['aptmainloop_276',['aptMainLoop',['../apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb',1,'apt.h']]], + ['aptmakeappletattr_277',['aptMakeAppletAttr',['../apt_8h.html#a4f47f5d5e16fd3c7f35cae7ad924ad00',1,'apt.h']]], + ['aptmessagecb_278',['aptMessageCb',['../apt_8h.html#a9496a9fa3eefa3d4c43435aa9884baa5',1,'apt.h']]], + ['aptpos_5fapp_279',['APTPOS_APP',['../apt_8h.html#a9593943634f18b7678ec5dab635ff605ae4531c99a0a8f8803fd75296a4b65227',1,'apt.h']]], + ['aptpos_5fapplib_280',['APTPOS_APPLIB',['../apt_8h.html#a9593943634f18b7678ec5dab635ff605aeadeceaba1dcca5d89aa8d24963a3fdb',1,'apt.h']]], + ['aptpos_5fnone_281',['APTPOS_NONE',['../apt_8h.html#a9593943634f18b7678ec5dab635ff605a24ea14a4343ca2b4b534b5da32772688',1,'apt.h']]], + ['aptpos_5fresident_282',['APTPOS_RESIDENT',['../apt_8h.html#a9593943634f18b7678ec5dab635ff605a34acfdba1f4294f8d91bb6cf83beda46',1,'apt.h']]], + ['aptpos_5fsys_283',['APTPOS_SYS',['../apt_8h.html#a9593943634f18b7678ec5dab635ff605ae501a457f683909c1f53d62408d0c677',1,'apt.h']]], + ['aptpos_5fsyslib_284',['APTPOS_SYSLIB',['../apt_8h.html#a9593943634f18b7678ec5dab635ff605a2fc1817b3a3a4157f90271fc5a1346d6',1,'apt.h']]], + ['aptsendcommand_285',['aptSendCommand',['../apt_8h.html#ad0d5e5004797d534ce0af21a3fc6cc4a',1,'apt.h']]], + ['aptsetchainloader_286',['aptSetChainloader',['../apt_8h.html#ae608f591659981bc4bcca6329e35874a',1,'apt.h']]], + ['aptsetchainloaderargs_287',['aptSetChainloaderArgs',['../apt_8h.html#a4019a79a43deb567c2ef90b63b6d5169',1,'apt.h']]], + ['aptsetchainloadertocaller_288',['aptSetChainloaderToCaller',['../apt_8h.html#a0f9fff3dbcbc4ad2ce7574f0c530b486',1,'apt.h']]], + ['aptsetchainloadertoself_289',['aptSetChainloaderToSelf',['../apt_8h.html#a3f41335fe04d1ad035f4b7bf97ebcb4b',1,'apt.h']]], + ['aptsethomeallowed_290',['aptSetHomeAllowed',['../apt_8h.html#ab5e399b231f074316db6e0a0a2b990b1',1,'apt.h']]], + ['aptsetmessagecallback_291',['aptSetMessageCallback',['../apt_8h.html#af138b11246928874c3a7ecb070128a43',1,'apt.h']]], + ['aptsetsleepallowed_292',['aptSetSleepAllowed',['../apt_8h.html#a3efaaf8933a5f92b59ce0c1bf927ab69',1,'apt.h']]], + ['aptshouldclose_293',['aptShouldClose',['../apt_8h.html#af33ab10f249e4d5f261f4534cd489037',1,'apt.h']]], + ['aptshouldjumptohome_294',['aptShouldJumpToHome',['../apt_8h.html#a56377752c62beb135bb6caceaacaf965',1,'apt.h']]], + ['aptsignal_5fhomebutton_295',['APTSIGNAL_HOMEBUTTON',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873ae56c10181fe655bfd60690c5d32866a2',1,'apt.h']]], + ['aptsignal_5fhomebutton2_296',['APTSIGNAL_HOMEBUTTON2',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873ad085835392043f93d9e5e10204c35e1b',1,'apt.h']]], + ['aptsignal_5fnone_297',['APTSIGNAL_NONE',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873acd8c323472bd444cb228cec75d548c4e',1,'apt.h']]], + ['aptsignal_5fordertoclose_298',['APTSIGNAL_ORDERTOCLOSE',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873aababf297798d5d07e7c4e5ee2fb284f1',1,'apt.h']]], + ['aptsignal_5fpowerbutton_299',['APTSIGNAL_POWERBUTTON',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873a079561f459d1f1838a33834beffb8aed',1,'apt.h']]], + ['aptsignal_5fpowerbutton2_300',['APTSIGNAL_POWERBUTTON2',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873aa517964f8ed1d6e340feaf7b7bc0f645',1,'apt.h']]], + ['aptsignal_5fshutdown_301',['APTSIGNAL_SHUTDOWN',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873ab87eaa3f2baff06850ff8625b1450cec',1,'apt.h']]], + ['aptsignal_5fsleep_5fcancel_302',['APTSIGNAL_SLEEP_CANCEL',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873aeb102d4c3a815b2f5dc8b0d620b7baf2',1,'apt.h']]], + ['aptsignal_5fsleep_5fenter_303',['APTSIGNAL_SLEEP_ENTER',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873ae09630e05e425bdd78326593a5211c23',1,'apt.h']]], + ['aptsignal_5fsleep_5fquery_304',['APTSIGNAL_SLEEP_QUERY',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873a03000a0f1fad0511a293d88a72176c4f',1,'apt.h']]], + ['aptsignal_5fsleep_5fwakeup_305',['APTSIGNAL_SLEEP_WAKEUP',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873a5cf102854cc06805f4997227fc7df22b',1,'apt.h']]], + ['aptsignal_5ftry_5fsleep_306',['APTSIGNAL_TRY_SLEEP',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873abbbda6364522d06886da35341bc44f78',1,'apt.h']]], + ['aptunhook_307',['aptUnhook',['../apt_8h.html#a63034559615a68c7b390ac2912ad38f4',1,'apt.h']]], + ['arbitration_5fdecrement_5fand_5fwait_5fif_5fless_5fthan_308',['ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN',['../svc_8h.html#a00f5b708129ef172b59197a775b533eca551c32ebca2151dc1fed5450d458433f',1,'svc.h']]], + ['arbitration_5fdecrement_5fand_5fwait_5fif_5fless_5fthan_5ftimeout_309',['ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN_TIMEOUT',['../svc_8h.html#a00f5b708129ef172b59197a775b533ecab503e618303a55b029bda8eef14776e9',1,'svc.h']]], + ['arbitration_5fsignal_310',['ARBITRATION_SIGNAL',['../svc_8h.html#a00f5b708129ef172b59197a775b533eca503fb7656e3429195054786b8779cbd6',1,'svc.h']]], + ['arbitration_5fsignal_5fall_311',['ARBITRATION_SIGNAL_ALL',['../svc_8h.html#acca9c678c119f4d1291e09c58f9ccaf5',1,'svc.h']]], + ['arbitration_5fwait_5fif_5fless_5fthan_312',['ARBITRATION_WAIT_IF_LESS_THAN',['../svc_8h.html#a00f5b708129ef172b59197a775b533eca9416744f50ce5abc375c88692271c751',1,'svc.h']]], + ['arbitration_5fwait_5fif_5fless_5fthan_5ftimeout_313',['ARBITRATION_WAIT_IF_LESS_THAN_TIMEOUT',['../svc_8h.html#a00f5b708129ef172b59197a775b533ecafe6754c50fcd095096605d9587188970',1,'svc.h']]], + ['arbitrationtype_314',['ArbitrationType',['../svc_8h.html#a00f5b708129ef172b59197a775b533ec',1,'svc.h']]], + ['archive_2eh_315',['archive.h',['../archive_8h.html',1,'']]], + ['archive_5faction_5fcommit_5fsave_5fdata_316',['ARCHIVE_ACTION_COMMIT_SAVE_DATA',['../fs_8h.html#ac3958094a809b4f036fa86e981e99352a2ed7d0364b825ccc9fd618015658f939',1,'fs.h']]], + ['archive_5faction_5fget_5ftimestamp_317',['ARCHIVE_ACTION_GET_TIMESTAMP',['../fs_8h.html#ac3958094a809b4f036fa86e981e99352ae95b76e781ad4f27ec67940472a00c24',1,'fs.h']]], + ['archive_5fboss_5fextdata_318',['ARCHIVE_BOSS_EXTDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803acc1b04b0577e28fef9412e67500f7743',1,'fs.h']]], + ['archive_5fcard_5fspifs_319',['ARCHIVE_CARD_SPIFS',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803ac9efee7e24c6232dc7c34247003fe708',1,'fs.h']]], + ['archive_5fdemo_5fsavedata_320',['ARCHIVE_DEMO_SAVEDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803ae307f1ce8adfa9086d67b8e5ea6e2758',1,'fs.h']]], + ['archive_5fdir_5ft_321',['archive_dir_t',['../structarchive__dir__t.html',1,'']]], + ['archive_5fextdata_322',['ARCHIVE_EXTDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803af9cc9399218ac2553d7d314110b46c62',1,'fs.h']]], + ['archive_5fextdata_5fand_5fboss_5fextdata_323',['ARCHIVE_EXTDATA_AND_BOSS_EXTDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a68cc0c6b5fd1a502fb90ba7ac35260e4',1,'fs.h']]], + ['archive_5fgamecard_5fsavedata_324',['ARCHIVE_GAMECARD_SAVEDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803ac5d8d6724ccaef3780f35233fd90447b',1,'fs.h']]], + ['archive_5fgetmtime_325',['archive_getmtime',['../archive_8h.html#ae08e5e05c5940a70a931ee2c5202108a',1,'archive.h']]], + ['archive_5fnand_5fctr_5ffs_326',['ARCHIVE_NAND_CTR_FS',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a96f8512c05e296beb21d3c6822280b28',1,'fs.h']]], + ['archive_5fnand_5fro_327',['ARCHIVE_NAND_RO',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a57526ab0d89e8bc95839e197d5657359',1,'fs.h']]], + ['archive_5fnand_5fro_5fwrite_5faccess_328',['ARCHIVE_NAND_RO_WRITE_ACCESS',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803ab2b49fb4501746f96d7a07c78e63fb8f',1,'fs.h']]], + ['archive_5fnand_5frw_329',['ARCHIVE_NAND_RW',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803abedefd87615b5a909f436d01d43c749a',1,'fs.h']]], + ['archive_5fnand_5ftwl_5ffs_330',['ARCHIVE_NAND_TWL_FS',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803afebe77c83017f58bec3c61f3050dc505',1,'fs.h']]], + ['archive_5fnand_5fw_5ffs_331',['ARCHIVE_NAND_W_FS',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a09ab29487ddce35470b5c9a62dd16742',1,'fs.h']]], + ['archive_5fromfs_332',['ARCHIVE_ROMFS',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a4492905cbe9982d7748d2afc7343e409',1,'fs.h']]], + ['archive_5fsavedata_333',['ARCHIVE_SAVEDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803aa66062bfe6cb97c865ea72d9b552aff8',1,'fs.h']]], + ['archive_5fsavedata_5fand_5fcontent_334',['ARCHIVE_SAVEDATA_AND_CONTENT',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a536c2ae4866cffca06c3cab9cbd99912',1,'fs.h']]], + ['archive_5fsavedata_5fand_5fcontent2_335',['ARCHIVE_SAVEDATA_AND_CONTENT2',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803aa6e26a2e31e1c5cd74d73d88b43f4b41',1,'fs.h']]], + ['archive_5fsdmc_336',['ARCHIVE_SDMC',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a2bd1443d3828250e0c858080ae70e5b0',1,'fs.h']]], + ['archive_5fsdmc_5fwrite_5fonly_337',['ARCHIVE_SDMC_WRITE_ONLY',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a8e7945f1bc93adff2156b9523f8eda2c',1,'fs.h']]], + ['archive_5fshared_5fextdata_338',['ARCHIVE_SHARED_EXTDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a35e8fc67ce8615886c3150808ec595b4',1,'fs.h']]], + ['archive_5fsystem_5fsavedata_339',['ARCHIVE_SYSTEM_SAVEDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803aa728094b43b743b4a5f3a6968187e272',1,'fs.h']]], + ['archive_5fsystem_5fsavedata2_340',['ARCHIVE_SYSTEM_SAVEDATA2',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a27ee29d8cfd1baacd3b34cba7b0ce61f',1,'fs.h']]], + ['archive_5ftwl_5fphoto_341',['ARCHIVE_TWL_PHOTO',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a799eead9b7a4b20cdcbdf0a4f6750ccc',1,'fs.h']]], + ['archive_5ftwl_5fsound_342',['ARCHIVE_TWL_SOUND',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a527f3a6f54aab2efe7537bf4df9bdb21',1,'fs.h']]], + ['archive_5fuser_5fsavedata_343',['ARCHIVE_USER_SAVEDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a323f96e584ab5f690b4cd2915ba32581',1,'fs.h']]], + ['archivecommitsavedata_344',['archiveCommitSaveData',['../archive_8h.html#ad1bf0c6ab382b2fdb308b674c89ec6dc',1,'archive.h']]], + ['archivemount_345',['archiveMount',['../archive_8h.html#adbc4b0c3e005f2a443b5283b623a7b1f',1,'archive.h']]], + ['archivemountsdmc_346',['archiveMountSdmc',['../archive_8h.html#aa89a086cebbb92b3293b203071489eb8',1,'archive.h']]], + ['archiveunmount_347',['archiveUnmount',['../archive_8h.html#a5f89a397a31710375697b51e9f43e45f',1,'archive.h']]], + ['archiveunmountall_348',['archiveUnmountAll',['../archive_8h.html#aea64551a14815c6499d00eb12cd38388',1,'archive.h']]], + ['area_349',['area',['../structFriendProfile.html#abd435b314f8831ff5cf6161b7ea1fb0a',1,'FriendProfile']]], + ['argc_350',['argc',['../structStartupInfo.html#a56c8a7d9f72ac6cb8a5d1908ddfc3a7e',1,'StartupInfo']]], + ['args_351',['args',['../uniongxCmdEntry__s.html#a8c9479cc49d2a68b3c24b13c1c65723a',1,'gxCmdEntry_s']]], + ['argv_352',['argv',['../structStartupInfo.html#a698216d4a27d8abf674d4368266f8e2a',1,'StartupInfo']]], + ['arm9desc_5fcreate_5fseed_353',['ARM9DESC_CREATE_SEED',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600aafd1d9c385dfbf3bb1addb9ff179747e',1,'exheader.h']]], + ['arm9desc_5fmount_5fcardspi_354',['ARM9DESC_MOUNT_CARDSPI',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600a43362295e2be9dd49ea4499ea85c650e',1,'exheader.h']]], + ['arm9desc_5fmount_5fnand_355',['ARM9DESC_MOUNT_NAND',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600a2bc3c6e2ecd0a313ca15a76a0965b403',1,'exheader.h']]], + ['arm9desc_5fmount_5fnandro_5frw_356',['ARM9DESC_MOUNT_NANDRO_RW',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600a0663bbbc420341e8afea22cde501807c',1,'exheader.h']]], + ['arm9desc_5fmount_5fsdmc_5frw_357',['ARM9DESC_MOUNT_SDMC_RW',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600a3584b6a734a9b738818bc987e628c97e',1,'exheader.h']]], + ['arm9desc_5fmount_5ftwln_358',['ARM9DESC_MOUNT_TWLN',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600adfa4798594dfebe5e166e30344b2a238',1,'exheader.h']]], + ['arm9desc_5fmount_5fwnand_359',['ARM9DESC_MOUNT_WNAND',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600a3775ec868ccb8057d0f1751ad8dc6e43',1,'exheader.h']]], + ['arm9desc_5fsd_5fapplication_360',['ARM9DESC_SD_APPLICATION',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600a2449c55a62280316bcd4ee8fc1b032d2',1,'exheader.h']]], + ['arm9desc_5fuse_5fcard_5fspi_361',['ARM9DESC_USE_CARD_SPI',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600a7c649e0f7482508ddd1b3ad140794c66',1,'exheader.h']]], + ['arm9desc_5fuse_5fsdif3_362',['ARM9DESC_USE_SDIF3',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600aa914bea66448d5f1bd9e5f45fc0245df',1,'exheader.h']]], + ['ascent_363',['ascent',['../structFINF__s.html#a6cd373770ee814ae4621d275068c674d',1,'FINF_s']]], + ['asciioffset_364',['asciiOffset',['../structConsoleFont.html#a676b4b45082d34b8bfbd21d20e0a6444',1,'ConsoleFont']]], + ['atomicdecrement_365',['AtomicDecrement',['../synchronization_8h.html#a609965cc7d1f801675ef5901dbe07a15',1,'synchronization.h']]], + ['atomicincrement_366',['AtomicIncrement',['../synchronization_8h.html#a77f9a3fcb480540a1cfc0891f00963ed',1,'synchronization.h']]], + ['atomicpostdecrement_367',['AtomicPostDecrement',['../synchronization_8h.html#a76bf51e5d535d5bd3d2f34eee9ca4956',1,'synchronization.h']]], + ['atomicpostincrement_368',['AtomicPostIncrement',['../synchronization_8h.html#a191063fc32cdc8187a24b44cb48ff324',1,'synchronization.h']]], + ['atomicswap_369',['AtomicSwap',['../synchronization_8h.html#a5bc74ad985f95799e927cc50a4ebd9c3',1,'synchronization.h']]], + ['attach_5fprocess_370',['attach_process',['../structDebugEventInfo.html#a3feb57be28c7d218ff58bfad637a36a6',1,'DebugEventInfo']]], + ['attach_5fthread_371',['attach_thread',['../structDebugEventInfo.html#a2df992ef5794d4bce6e1455c9339dd1e',1,'DebugEventInfo']]], + ['attachprocessevent_372',['AttachProcessEvent',['../structAttachProcessEvent.html',1,'']]], + ['attachthreadevent_373',['AttachThreadEvent',['../structAttachThreadEvent.html',1,'']]], + ['attributes_374',['attributes',['../structFS__DirectoryEntry.html#ae301c2bdb0607ee5606018395b1e565a',1,'FS_DirectoryEntry']]], + ['author_5fname_375',['author_name',['../structMiiData.html#aabb43557f661639b1bc4d576c6954bc0',1,'MiiData']]], + ['autoexposureon_376',['autoExposureOn',['../structCAMU__PackageParameterCameraSelect.html#a8345a229d9c4307d2d6f0a28ed3d69da',1,'CAMU_PackageParameterCameraSelect']]], + ['autoexposurewindowheight_377',['autoExposureWindowHeight',['../structCAMU__PackageParameterCameraSelect.html#a7ed889c03717023d2623ec97c2eb5d07',1,'CAMU_PackageParameterCameraSelect']]], + ['autoexposurewindowwidth_378',['autoExposureWindowWidth',['../structCAMU__PackageParameterCameraSelect.html#a46c0f1134953113c37f73e999bc60dcc',1,'CAMU_PackageParameterCameraSelect']]], + ['autoexposurewindowx_379',['autoExposureWindowX',['../structCAMU__PackageParameterCameraSelect.html#a2053d17585e550df8e8d63df4e92112e',1,'CAMU_PackageParameterCameraSelect']]], + ['autoexposurewindowy_380',['autoExposureWindowY',['../structCAMU__PackageParameterCameraSelect.html#ac1b9e4bb497b4c5016eaf69d7cb51708',1,'CAMU_PackageParameterCameraSelect']]], + ['autowhitebalanceon_381',['autoWhiteBalanceOn',['../structCAMU__PackageParameterCameraSelect.html#af0eb8662a1a7645c975729cfcc040f62',1,'CAMU_PackageParameterCameraSelect']]], + ['autowhitebalancewindowheight_382',['autoWhiteBalanceWindowHeight',['../structCAMU__PackageParameterCameraSelect.html#ab87d716f2d775c61ed47749ed58d5897',1,'CAMU_PackageParameterCameraSelect']]], + ['autowhitebalancewindowwidth_383',['autoWhiteBalanceWindowWidth',['../structCAMU__PackageParameterCameraSelect.html#a996a9477aa82dc228126897d13527c27',1,'CAMU_PackageParameterCameraSelect']]], + ['autowhitebalancewindowx_384',['autoWhiteBalanceWindowX',['../structCAMU__PackageParameterCameraSelect.html#a734c54fbe1f67f3127f5023a72783db1',1,'CAMU_PackageParameterCameraSelect']]], + ['autowhitebalancewindowy_385',['autoWhiteBalanceWindowY',['../structCAMU__PackageParameterCameraSelect.html#ade4034e4e9d0049e2313a7aede98a890',1,'CAMU_PackageParameterCameraSelect']]], + ['awbccml10left_386',['awbCcmL10Left',['../structCAMU__ImageQualityCalibrationData.html#aed4a84aa1e5bb37658e7c14ae5b1a1bd',1,'CAMU_ImageQualityCalibrationData']]], + ['awbccml10right_387',['awbCcmL10Right',['../structCAMU__ImageQualityCalibrationData.html#a38b37a4c56848c31092d57d58d5ce104',1,'CAMU_ImageQualityCalibrationData']]], + ['awbccml9left_388',['awbCcmL9Left',['../structCAMU__ImageQualityCalibrationData.html#a59b8ab48506a0da79a33fb3265163bda',1,'CAMU_ImageQualityCalibrationData']]], + ['awbccml9right_389',['awbCcmL9Right',['../structCAMU__ImageQualityCalibrationData.html#ac016c7e337d5dd912b1b964c9c1c215d',1,'CAMU_ImageQualityCalibrationData']]], + ['awbx0left_390',['awbX0Left',['../structCAMU__ImageQualityCalibrationData.html#af18d82b11ff1f1710de9acf713029aed',1,'CAMU_ImageQualityCalibrationData']]], + ['awbx0right_391',['awbX0Right',['../structCAMU__ImageQualityCalibrationData.html#a9bd3660f54b3187e0a6388e6717ca7b2',1,'CAMU_ImageQualityCalibrationData']]] +]; diff --git a/search/all_3.html b/search/all_3.html new file mode 100644 index 000000000..39767b85b --- /dev/null +++ b/search/all_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_3.js b/search/all_3.js new file mode 100644 index 000000000..aafd14a3a --- /dev/null +++ b/search/all_3.js @@ -0,0 +1,52 @@ +var searchData= +[ + ['b_5foffset_392',['b_offset',['../structY2RU__ColorCoefficients.html#a1f402ce788425818c72e6b3337a3dcf5',1,'Y2RU_ColorCoefficients']]], + ['b_5fu_393',['b_U',['../structY2RU__ColorCoefficients.html#a4a4dca0a8218426664d0d59e45dc6f4b',1,'Y2RU_ColorCoefficients']]], + ['base_5faddr_394',['base_addr',['../structMemInfo.html#a09e7aca5fd9ef2548ac6ada176c05ae4',1,'MemInfo']]], + ['baselinepos_395',['baselinePos',['../structTGLP__s.html#a95580d94d157d91f55bb7f0309792d2f',1,'TGLP_s']]], + ['baudrate_5f16mhz_396',['BAUDRATE_16MHZ',['../fs_8h.html#ae98658510bcc2292b74f97db91f78fe0a6bef330e175fffba3b1768ce3502e829',1,'fs.h']]], + ['baudrate_5f1mhz_397',['BAUDRATE_1MHZ',['../fs_8h.html#ae98658510bcc2292b74f97db91f78fe0a84244342ee8eac1ecff7ba9d194fb75e',1,'fs.h']]], + ['baudrate_5f2mhz_398',['BAUDRATE_2MHZ',['../fs_8h.html#ae98658510bcc2292b74f97db91f78fe0a0de65280157a97cad8da344622c4b4ae',1,'fs.h']]], + ['baudrate_5f4mhz_399',['BAUDRATE_4MHZ',['../fs_8h.html#ae98658510bcc2292b74f97db91f78fe0a07c1319db7f439da552628d24bee430c',1,'fs.h']]], + ['baudrate_5f512khz_400',['BAUDRATE_512KHZ',['../fs_8h.html#ae98658510bcc2292b74f97db91f78fe0aea6b143a9713c25e2f786c7c39514c69',1,'fs.h']]], + ['baudrate_5f8mhz_401',['BAUDRATE_8MHZ',['../fs_8h.html#ae98658510bcc2292b74f97db91f78fe0a7791c3667f17451e4ed22363d759f89a',1,'fs.h']]], + ['bday_5fday_402',['bday_day',['../structMiiData.html#a829a7935c5d9701993fa446504e127f9',1,'MiiData']]], + ['bday_5fmonth_403',['bday_month',['../structMiiData.html#a761e82fd5e716a715134b5c8ab980d0c',1,'MiiData']]], + ['beard_5fdetails_404',['beard_details',['../structMiiData.html#a5442fbfba6ace1ddf6f0445014e30092',1,'MiiData']]], + ['bg_405',['bg',['../structPrintConsole.html#a403a10a66b1a1ff4a7c8ad78df66ac02',1,'PrintConsole']]], + ['bit_406',['BIT',['../types_8h.html#a3a8ea58898cb58fc96013383d39f482c',1,'types.h']]], + ['block_5f8_5fby_5f8_407',['BLOCK_8_BY_8',['../y2r_8h.html#aa7589f9deb9d69ff3067b7a9e100841ba0e31e018289f6de5125b0266d0bfc803',1,'y2r.h']]], + ['block_5falignment_408',['block_alignment',['../structY2RU__ConversionParams.html#ae56d8afb46c4900c66152fbf1fb0fa06',1,'Y2RU_ConversionParams']]], + ['block_5fline_409',['BLOCK_LINE',['../y2r_8h.html#aa7589f9deb9d69ff3067b7a9e100841ba793e2bf96468610373854c55b6847736',1,'y2r.h']]], + ['booluniformmask_410',['boolUniformMask',['../structshaderInstance__s.html#a4cd7f11860b51ee42bdbd21c4d71a4ef',1,'shaderInstance_s']]], + ['booluniforms_411',['boolUniforms',['../structshaderInstance__s.html#a64bf1a13c4bb33e7f8c84ba70dbf696b',1,'shaderInstance_s']]], + ['boss_2eh_412',['boss.h',['../boss_8h.html',1,'']]], + ['bosscontext_413',['bossContext',['../structbossContext.html',1,'']]], + ['bossdeletensdata_414',['bossDeleteNsData',['../boss_8h.html#aad540935924ca6ed4e9014ccb2f0bc0b',1,'boss.h']]], + ['bossdeletetask_415',['bossDeleteTask',['../boss_8h.html#a9d9ec5b11a976033da50bc98e85d9715',1,'boss.h']]], + ['bossexit_416',['bossExit',['../boss_8h.html#a7d39838a77aa70d0c49655bea527688f',1,'boss.h']]], + ['bossgetnsdataheaderinfo_417',['bossGetNsDataHeaderInfo',['../boss_8h.html#aba33abae121b5753b3cffa9bb9d13b0e',1,'boss.h']]], + ['bossgetsessionhandle_418',['bossGetSessionHandle',['../boss_8h.html#af062df1ed184ae92c0fea54e56a01a9b',1,'boss.h']]], + ['bossgettaskproperty0_419',['bossGetTaskProperty0',['../boss_8h.html#a09dd791d42c55a259516107aa072cb9b',1,'boss.h']]], + ['bossgettaskstate_420',['bossGetTaskState',['../boss_8h.html#a0f6498cd076b685455b7ce71b499e80c',1,'boss.h']]], + ['bossinit_421',['bossInit',['../boss_8h.html#a51a7ee69864f16c5b10a11e20ebadbc1',1,'boss.h']]], + ['bossnsdataheaderinfotypes_422',['bossNsDataHeaderInfoTypes',['../boss_8h.html#a0f6b869f490eafd03cb0eb2c42d1201b',1,'boss.h']]], + ['bossnsdataheaderinfotypesizes_423',['bossNsDataHeaderInfoTypeSizes',['../boss_8h.html#adfd491a7e4241dc9d3528d026cd54812',1,'boss.h']]], + ['bossreadnsdata_424',['bossReadNsData',['../boss_8h.html#a5b3fbe675e9798b0e575c5eedcb6d788',1,'boss.h']]], + ['bossregistertask_425',['bossRegisterTask',['../boss_8h.html#adda61987644ad6ba87f4cf69090dfcdb',1,'boss.h']]], + ['bossreinit_426',['bossReinit',['../boss_8h.html#ad0bc14e4abeafad9edc307dc7a2c0be0',1,'boss.h']]], + ['bosssendcontextconfig_427',['bossSendContextConfig',['../boss_8h.html#a251f950dae769145729b0a8699c30dc3',1,'boss.h']]], + ['bosssendproperty_428',['bossSendProperty',['../boss_8h.html#ac9021bd11848da0af58dff1fc4c75ad4',1,'boss.h']]], + ['bosssetstorageinfo_429',['bossSetStorageInfo',['../boss_8h.html#a96574119e6fa095aec99f6bac0fadfea',1,'boss.h']]], + ['bosssetupcontextdefault_430',['bossSetupContextDefault',['../boss_8h.html#a18a7541eb4ff0ba8340bfe8177c22671',1,'boss.h']]], + ['bossstartbgimmediate_431',['bossStartBgImmediate',['../boss_8h.html#affcdefc8c0ea7c04af3429ee4bb062e3',1,'boss.h']]], + ['bossstarttaskimmediate_432',['bossStartTaskImmediate',['../boss_8h.html#a92fba4c5efe92a052c1f2feed3086cda',1,'boss.h']]], + ['bosstaskstatus_433',['bossTaskStatus',['../boss_8h.html#a8d1917af6ca0f9217e8c45469c16fa8b',1,'boss.h']]], + ['bossunregisterstorage_434',['bossUnregisterStorage',['../boss_8h.html#a6d8c516ed9331ee157e2583443bb960a',1,'boss.h']]], + ['broadcast_435',['broadcast',['../structSOCU__IPInfo.html#a4402dbb0c9a10e91dbf604105affb8c9',1,'SOCU_IPInfo']]], + ['bss_5fsize_436',['bss_size',['../structExHeader__CodeSetInfo.html#a5f938a0b2589b64e877040affc68a3d4',1,'ExHeader_CodeSetInfo']]], + ['burstsize_437',['burstSize',['../structDmaDeviceConfig.html#a4cf37a47e55e2fb89bbf52a86c12df7a',1,'DmaDeviceConfig']]], + ['burststride_438',['burstStride',['../structDmaDeviceConfig.html#a0425b1d1ea007d4a3346894f0f36dc3a',1,'DmaDeviceConfig']]], + ['busmode_5f1bit_439',['BUSMODE_1BIT',['../fs_8h.html#a7354fc838f4b9c704685453576e41cadaf8f53e9b6d40d66f34d95b37073321a4',1,'fs.h']]], + ['busmode_5f4bit_440',['BUSMODE_4BIT',['../fs_8h.html#a7354fc838f4b9c704685453576e41cadad8c138fd30a7d426c814f9ee6ab96f77',1,'fs.h']]] +]; diff --git a/search/all_4.html b/search/all_4.html new file mode 100644 index 000000000..fc40463c8 --- /dev/null +++ b/search/all_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_4.js b/search/all_4.js new file mode 100644 index 000000000..4518012dd --- /dev/null +++ b/search/all_4.js @@ -0,0 +1,350 @@ +var searchData= +[ + ['callback_441',['callback',['../structdspHookCookie.html#ae39e34b3bae234fa8e2c9554af0be658',1,'dspHookCookie::callback()'],['../structaptHookCookie.html#aabde96d2b1ce22813acc0502935eed86',1,'aptHookCookie::callback()'],['../structgxCmdQueue__s.html#a23308ac2a00cdfd0dc5056111d32e2bd',1,'gxCmdQueue_s::callback()']]], + ['cam_2eh_442',['cam.h',['../cam_8h.html',1,'']]], + ['camera_443',['camera',['../structCAMU__PackageParameterContextDetail.html#a159e415a1914314e1b7c5c1822882f3f',1,'CAMU_PackageParameterContextDetail::camera()'],['../structCAMU__PackageParameterContext.html#af34741dabacbb4ae167cd9c820bcdafc',1,'CAMU_PackageParameterContext::camera()'],['../structCAMU__PackageParameterCameraSelect.html#aa77c8b06ef2db109bc263192522a4dce',1,'CAMU_PackageParameterCameraSelect::camera()']]], + ['camexit_444',['camExit',['../cam_8h.html#a7320e9aa5e1f26b87c19b3f6278bc3a2',1,'cam.h']]], + ['caminit_445',['camInit',['../cam_8h.html#a06e244701975c47e50c77be6df2bca49',1,'cam.h']]], + ['camu_5factivate_446',['CAMU_Activate',['../cam_8h.html#addadfc1fddea8746332b80f4950202fc',1,'cam.h']]], + ['camu_5fclearbuffer_447',['CAMU_ClearBuffer',['../cam_8h.html#a21fb88a5c8f92ab9c8c912b19d2737f6',1,'cam.h']]], + ['camu_5fcontext_448',['CAMU_Context',['../cam_8h.html#a67d15fdc4b48f745530df1f27f3d5255',1,'cam.h']]], + ['camu_5fcontrast_449',['CAMU_Contrast',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072a',1,'cam.h']]], + ['camu_5fdriverfinalize_450',['CAMU_DriverFinalize',['../cam_8h.html#a2e4e7dfb3998247509a6acd8fc7222f5',1,'cam.h']]], + ['camu_5fdriverinitialize_451',['CAMU_DriverInitialize',['../cam_8h.html#a394b13452d8eeed6c81689b258ef1faf',1,'cam.h']]], + ['camu_5feffect_452',['CAMU_Effect',['../cam_8h.html#a7e400ffb69486cc57f317d94eca445bf',1,'cam.h']]], + ['camu_5fflip_453',['CAMU_Flip',['../cam_8h.html#a1cbc2ccd7803b8b7ff4f23446b94030e',1,'cam.h']]], + ['camu_5fflipimage_454',['CAMU_FlipImage',['../cam_8h.html#a06d6d131c33c9d20475d2410083b50fc',1,'cam.h']]], + ['camu_5fframerate_455',['CAMU_FrameRate',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688',1,'cam.h']]], + ['camu_5fgetactivatedcamera_456',['CAMU_GetActivatedCamera',['../cam_8h.html#a4b4d6db7322988ac5416254eb7d585fd',1,'cam.h']]], + ['camu_5fgetbuffererrorinterruptevent_457',['CAMU_GetBufferErrorInterruptEvent',['../cam_8h.html#a2af14ee3d645f6d433b2cc6ea1570ae0',1,'cam.h']]], + ['camu_5fgetimagequalitycalibrationdata_458',['CAMU_GetImageQualityCalibrationData',['../cam_8h.html#a1a4eb70ba80b447e19dd152ae9023fd8',1,'cam.h']]], + ['camu_5fgetlatestvsynctiming_459',['CAMU_GetLatestVsyncTiming',['../cam_8h.html#a146b10f3dede58b3708d40c81671ee46',1,'cam.h']]], + ['camu_5fgetmaxbytes_460',['CAMU_GetMaxBytes',['../cam_8h.html#af6b13cf2219bfa0a7b39d7469934290d',1,'cam.h']]], + ['camu_5fgetmaxlines_461',['CAMU_GetMaxLines',['../cam_8h.html#abb8d83be661c9c287a9b8e8b85a2cfe7',1,'cam.h']]], + ['camu_5fgetsleepcamera_462',['CAMU_GetSleepCamera',['../cam_8h.html#a12eb381a6537742785424d0e6c074218',1,'cam.h']]], + ['camu_5fgetstereocameracalibrationdata_463',['CAMU_GetStereoCameraCalibrationData',['../cam_8h.html#a9eda3cdb5e2117a895cf0adacd47cc1e',1,'cam.h']]], + ['camu_5fgetsuitabley2rstandardcoefficient_464',['CAMU_GetSuitableY2rStandardCoefficient',['../cam_8h.html#adee3c612243e41a730fdd970ca23dd50',1,'cam.h']]], + ['camu_5fgettransferbytes_465',['CAMU_GetTransferBytes',['../cam_8h.html#a3712ec554ee36089cb8d4a123692f763',1,'cam.h']]], + ['camu_5fgettrimmingparams_466',['CAMU_GetTrimmingParams',['../cam_8h.html#a7f90e2e8af4b6961b0a01e0c637ba079',1,'cam.h']]], + ['camu_5fgetvsyncinterruptevent_467',['CAMU_GetVsyncInterruptEvent',['../cam_8h.html#a78b463af54568849bccdfe160ff518d3',1,'cam.h']]], + ['camu_5fimagequalitycalibrationdata_468',['CAMU_ImageQualityCalibrationData',['../structCAMU__ImageQualityCalibrationData.html',1,'']]], + ['camu_5fisautoexposure_469',['CAMU_IsAutoExposure',['../cam_8h.html#aa8fe34bd3f0485fdf0f3dca8427898ed',1,'cam.h']]], + ['camu_5fisautowhitebalance_470',['CAMU_IsAutoWhiteBalance',['../cam_8h.html#a51611edc6cf4d4c334d0eeddcd11cd42',1,'cam.h']]], + ['camu_5fisbusy_471',['CAMU_IsBusy',['../cam_8h.html#a610733b331ee24fe5ac17a990cabad79',1,'cam.h']]], + ['camu_5fisfinishedreceiving_472',['CAMU_IsFinishedReceiving',['../cam_8h.html#a4cf441f7020159c6e05e42a64bf93eef',1,'cam.h']]], + ['camu_5fistrimming_473',['CAMU_IsTrimming',['../cam_8h.html#a18f5b5ae101aa79acade314c21f5171d',1,'cam.h']]], + ['camu_5flenscorrection_474',['CAMU_LensCorrection',['../cam_8h.html#a495e5c707772c7bfb891444bc4970a49',1,'cam.h']]], + ['camu_5foutputformat_475',['CAMU_OutputFormat',['../cam_8h.html#a3984303a5065c81cd8a565489c8fff85',1,'cam.h']]], + ['camu_5fpackageparametercameraselect_476',['CAMU_PackageParameterCameraSelect',['../structCAMU__PackageParameterCameraSelect.html',1,'']]], + ['camu_5fpackageparametercontext_477',['CAMU_PackageParameterContext',['../structCAMU__PackageParameterContext.html',1,'']]], + ['camu_5fpackageparametercontextdetail_478',['CAMU_PackageParameterContextDetail',['../structCAMU__PackageParameterContextDetail.html',1,'']]], + ['camu_5fphotomode_479',['CAMU_PhotoMode',['../cam_8h.html#ac14ae4089f708477afcc56dad7762a8a',1,'cam.h']]], + ['camu_5fplayshuttersound_480',['CAMU_PlayShutterSound',['../cam_8h.html#ae5698f06cef570204824ddf1e30423fe',1,'cam.h']]], + ['camu_5freadmcuvariablei2cexclusive_481',['CAMU_ReadMcuVariableI2cExclusive',['../cam_8h.html#a413be54f1d9bd2f2fede68ec7b4b7f38',1,'cam.h']]], + ['camu_5freadregisteri2cexclusive_482',['CAMU_ReadRegisterI2cExclusive',['../cam_8h.html#ae97274c87e0c8336cc77e52b68d6db94',1,'cam.h']]], + ['camu_5fsetautoexposure_483',['CAMU_SetAutoExposure',['../cam_8h.html#a2744bf6c18862bc601718880de5ed322',1,'cam.h']]], + ['camu_5fsetautoexposurewindow_484',['CAMU_SetAutoExposureWindow',['../cam_8h.html#a8738cd101cea4aff44f32e456c44010f',1,'cam.h']]], + ['camu_5fsetautowhitebalance_485',['CAMU_SetAutoWhiteBalance',['../cam_8h.html#aed69646332dd45debb55adbf05ceb8ba',1,'cam.h']]], + ['camu_5fsetautowhitebalancewindow_486',['CAMU_SetAutoWhiteBalanceWindow',['../cam_8h.html#a6c2a9862f314936d9c8c4c0b52d0b24d',1,'cam.h']]], + ['camu_5fsetbrightnesssynchronization_487',['CAMU_SetBrightnessSynchronization',['../cam_8h.html#a711a13f89a65b2f261f0f06963df1482',1,'cam.h']]], + ['camu_5fsetcontrast_488',['CAMU_SetContrast',['../cam_8h.html#ab1b69d342cfbdcb79e784ca730ac3e4f',1,'cam.h']]], + ['camu_5fsetdetailsize_489',['CAMU_SetDetailSize',['../cam_8h.html#ae503acbbf69ec042682bd9e43f826397',1,'cam.h']]], + ['camu_5fseteffect_490',['CAMU_SetEffect',['../cam_8h.html#acf995e451c01ec005618eecae61e9bb0',1,'cam.h']]], + ['camu_5fsetexposure_491',['CAMU_SetExposure',['../cam_8h.html#a942f367e655da496fa61f5180b8c3d0c',1,'cam.h']]], + ['camu_5fsetframerate_492',['CAMU_SetFrameRate',['../cam_8h.html#a6337271d6b3abb3d778a09ae28b33e17',1,'cam.h']]], + ['camu_5fsetimagequalitycalibrationdata_493',['CAMU_SetImageQualityCalibrationData',['../cam_8h.html#ad0115c426fb94e0c609d2f54a06ee1a8',1,'cam.h']]], + ['camu_5fsetlenscorrection_494',['CAMU_SetLensCorrection',['../cam_8h.html#aece2e92d43f046253b3d3070f9636c26',1,'cam.h']]], + ['camu_5fsetnoisefilter_495',['CAMU_SetNoiseFilter',['../cam_8h.html#a0dad6fe5ae97a214d7d2e8be0bb39762',1,'cam.h']]], + ['camu_5fsetoutputformat_496',['CAMU_SetOutputFormat',['../cam_8h.html#aec8bbd9f72a6a623d9f45d54ee20b5cd',1,'cam.h']]], + ['camu_5fsetpackageparameterwithcontext_497',['CAMU_SetPackageParameterWithContext',['../cam_8h.html#abab4edd0a746bfe2f6745e8b7bb3e69e',1,'cam.h']]], + ['camu_5fsetpackageparameterwithcontextdetail_498',['CAMU_SetPackageParameterWithContextDetail',['../cam_8h.html#af779c156d8eb61b5c64c00c50b25b468',1,'cam.h']]], + ['camu_5fsetpackageparameterwithoutcontext_499',['CAMU_SetPackageParameterWithoutContext',['../cam_8h.html#adcc53af931d29ce02570e9614bae5cc5',1,'cam.h']]], + ['camu_5fsetphotomode_500',['CAMU_SetPhotoMode',['../cam_8h.html#aa4084852c97dc7088c81e586d8c923e5',1,'cam.h']]], + ['camu_5fsetreceiving_501',['CAMU_SetReceiving',['../cam_8h.html#a051348b051d6491a6e19b2a3245730b9',1,'cam.h']]], + ['camu_5fsetsharpness_502',['CAMU_SetSharpness',['../cam_8h.html#ab572756c8ed614fa3854f1a3b2834e6c',1,'cam.h']]], + ['camu_5fsetsize_503',['CAMU_SetSize',['../cam_8h.html#aa771b12ec44b48b19e2621a12cd67072',1,'cam.h']]], + ['camu_5fsetsleepcamera_504',['CAMU_SetSleepCamera',['../cam_8h.html#a70d6d1dc077efa90a26fd45f075c3bc1',1,'cam.h']]], + ['camu_5fsetstereocameracalibrationdata_505',['CAMU_SetStereoCameraCalibrationData',['../cam_8h.html#a9fa2c1c5dd577e606e1a2e83ca3ae5c6',1,'cam.h']]], + ['camu_5fsettransferbytes_506',['CAMU_SetTransferBytes',['../cam_8h.html#a1f8d58a8ab60d5bbea24236c5005ea9b',1,'cam.h']]], + ['camu_5fsettransferlines_507',['CAMU_SetTransferLines',['../cam_8h.html#a255807ab6e4e619050f15fc7ae55f3c7',1,'cam.h']]], + ['camu_5fsettrimming_508',['CAMU_SetTrimming',['../cam_8h.html#acc3f9baecae7a05ad56b3cfca23131b5',1,'cam.h']]], + ['camu_5fsettrimmingparams_509',['CAMU_SetTrimmingParams',['../cam_8h.html#a69996f29258f46a99cc722fbc2c59f04',1,'cam.h']]], + ['camu_5fsettrimmingparamscenter_510',['CAMU_SetTrimmingParamsCenter',['../cam_8h.html#ab198c1ead95d5fd416b76a6d16667b34',1,'cam.h']]], + ['camu_5fsetwhitebalance_511',['CAMU_SetWhiteBalance',['../cam_8h.html#a18dd79571b0661625a8806978e9999fc',1,'cam.h']]], + ['camu_5fsetwhitebalancewithoutbaseup_512',['CAMU_SetWhiteBalanceWithoutBaseUp',['../cam_8h.html#ab4ddac714ce66c771c095ecf4084d4b3',1,'cam.h']]], + ['camu_5fshuttersoundtype_513',['CAMU_ShutterSoundType',['../cam_8h.html#a5059b91f27e994c2f4ef4a6c9d454675',1,'cam.h']]], + ['camu_5fsize_514',['CAMU_Size',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895a',1,'cam.h']]], + ['camu_5fstartcapture_515',['CAMU_StartCapture',['../cam_8h.html#a321b6139a95d71a26633179c5c526cba',1,'cam.h']]], + ['camu_5fstereocameracalibrationdata_516',['CAMU_StereoCameraCalibrationData',['../structCAMU__StereoCameraCalibrationData.html',1,'']]], + ['camu_5fstopcapture_517',['CAMU_StopCapture',['../cam_8h.html#a853e49e43d5ea322e6629909538a3d37',1,'cam.h']]], + ['camu_5fswitchcontext_518',['CAMU_SwitchContext',['../cam_8h.html#a06e914db8c09e2496a45ac4e675f4b2e',1,'cam.h']]], + ['camu_5fsynchronizevsynctiming_519',['CAMU_SynchronizeVsyncTiming',['../cam_8h.html#a03f597eddc0ed77c9902d61d6ed4895a',1,'cam.h']]], + ['camu_5fwhitebalance_520',['CAMU_WhiteBalance',['../cam_8h.html#a5d3bf5af790ab2c2bbbfedf46d756c53',1,'cam.h']]], + ['camu_5fwritemcuvariablei2c_521',['CAMU_WriteMcuVariableI2c',['../cam_8h.html#adaf2155f1562b33534828cef011c6c85',1,'cam.h']]], + ['camu_5fwriteregisteri2c_522',['CAMU_WriteRegisterI2c',['../cam_8h.html#a35964c742eb0e11aa63f06183a189da5',1,'cam.h']]], + ['capacity_523',['capacity',['../structAM__TWLPartitionInfo.html#ad652786a1cf8e9f6d3649226dfb8e60f',1,'AM_TWLPartitionInfo']]], + ['capture_5fenable_524',['CAPTURE_ENABLE',['../csnd_8h.html#aedcf2109f459315e1a7f2af73ec9b603acec68f59b76a91b4347cba0f1123e192',1,'csnd.h']]], + ['capture_5fformat_5f16bit_525',['CAPTURE_FORMAT_16BIT',['../csnd_8h.html#aedcf2109f459315e1a7f2af73ec9b603a4669f25cd65a30bb965aa908930f91e2',1,'csnd.h']]], + ['capture_5fformat_5f8bit_526',['CAPTURE_FORMAT_8BIT',['../csnd_8h.html#aedcf2109f459315e1a7f2af73ec9b603a12c8375814ed36ae92e5917674f6aa33',1,'csnd.h']]], + ['capture_5fone_5fshot_527',['CAPTURE_ONE_SHOT',['../csnd_8h.html#aedcf2109f459315e1a7f2af73ec9b603a7254fd1b7ef674d8509472f924569d66',1,'csnd.h']]], + ['capture_5frepeat_528',['CAPTURE_REPEAT',['../csnd_8h.html#aedcf2109f459315e1a7f2af73ec9b603a67e19d25612016e24117411de7768c6d',1,'csnd.h']]], + ['card_5fctr_529',['CARD_CTR',['../fs_8h.html#ab06968444dcba08b02ed34b6db2ad5b5a829e56a89aacfb45210067057ad3fb75',1,'fs.h']]], + ['card_5ftwl_530',['CARD_TWL',['../fs_8h.html#ab06968444dcba08b02ed34b6db2ad5b5ab04c6851c0501f8526011c06660e788c',1,'fs.h']]], + ['ccmposition_531',['ccmPosition',['../structCAMU__ImageQualityCalibrationData.html#af6c8d3357dd201aec4ba5262ecc8f4ff',1,'CAMU_ImageQualityCalibrationData']]], + ['cdcchk_2eh_532',['cdcchk.h',['../cdcchk_8h.html',1,'']]], + ['cdcchk_5freadntrpmicregister_533',['CDCCHK_ReadNtrPmicRegister',['../cdcchk_8h.html#a0ea5caf2e9ba580a564671ed3f6557eb',1,'cdcchk.h']]], + ['cdcchk_5freadregisters1_534',['CDCCHK_ReadRegisters1',['../cdcchk_8h.html#a1e04dbe2cf79b0ac6ad2e00281a608d7',1,'cdcchk.h']]], + ['cdcchk_5freadregisters2_535',['CDCCHK_ReadRegisters2',['../cdcchk_8h.html#a5934d670177ced7a380e67c62a32b61b',1,'cdcchk.h']]], + ['cdcchk_5fseti2svolume_536',['CDCCHK_SetI2sVolume',['../cdcchk_8h.html#ab1f33e7a81087dbee78f3b6c57c7e5f0',1,'cdcchk.h']]], + ['cdcchk_5fwritentrpmicregister_537',['CDCCHK_WriteNtrPmicRegister',['../cdcchk_8h.html#acaf9f8e94e7fbd7b8b44d0fe9294c76b',1,'cdcchk.h']]], + ['cdcchk_5fwriteregisters1_538',['CDCCHK_WriteRegisters1',['../cdcchk_8h.html#a85ddccc39dc14ae4a20947d9c2a75e4b',1,'cdcchk.h']]], + ['cdcchk_5fwriteregisters2_539',['CDCCHK_WriteRegisters2',['../cdcchk_8h.html#aac9e498793e633cd2a1c31b3326777cc',1,'cdcchk.h']]], + ['cdcchkexit_540',['cdcChkExit',['../cdcchk_8h.html#a55064d552946ecb5d1593f01727bc9d6',1,'cdcchk.h']]], + ['cdcchkgetsessionhandle_541',['cdcChkGetSessionHandle',['../cdcchk_8h.html#a9fbc25fe9e01b0a2ebd5d9ff8f7f6289',1,'cdcchk.h']]], + ['cdcchkinit_542',['cdcChkInit',['../cdcchk_8h.html#ab95dd206ed31a899edfa0e86a0491e01',1,'cdcchk.h']]], + ['cellheight_543',['cellHeight',['../structTGLP__s.html#a8a42bb200f265124c6e7564e189a5369',1,'TGLP_s']]], + ['cellwidth_544',['cellWidth',['../structTGLP__s.html#aa977b0fd787cea130d6fb9db73988c17',1,'TGLP_s']]], + ['cfg_5fgetconfiginfoblk4_545',['CFG_GetConfigInfoBlk4',['../cfgu_8h.html#affad83e7881cb5101103e5d89afc4fd0',1,'cfgu.h']]], + ['cfg_5fgetconfiginfoblk8_546',['CFG_GetConfigInfoBlk8',['../cfgu_8h.html#a912dee7894a3783d020739a0e9d651fe',1,'cfgu.h']]], + ['cfg_5flanguage_547',['CFG_Language',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987',1,'cfgu.h']]], + ['cfg_5flanguage_5fde_548',['CFG_LANGUAGE_DE',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a3d7156b5e6b7cc53a7842507cba73d08',1,'cfgu.h']]], + ['cfg_5flanguage_5fen_549',['CFG_LANGUAGE_EN',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a5ba00b3043b5155e98e85f2fcd305fb3',1,'cfgu.h']]], + ['cfg_5flanguage_5fes_550',['CFG_LANGUAGE_ES',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a8dd34c2e8ef29ad153e0148a3e9642a2',1,'cfgu.h']]], + ['cfg_5flanguage_5ffr_551',['CFG_LANGUAGE_FR',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a888d712f5a9f0a66540c86523e9ba166',1,'cfgu.h']]], + ['cfg_5flanguage_5fit_552',['CFG_LANGUAGE_IT',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a4be7b419afda5c65353d7ec177b4a4c8',1,'cfgu.h']]], + ['cfg_5flanguage_5fjp_553',['CFG_LANGUAGE_JP',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987add48bdfbf138bc2c828621b8935a3126',1,'cfgu.h']]], + ['cfg_5flanguage_5fko_554',['CFG_LANGUAGE_KO',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a4b64eccef8c6b40f312ef7cd663054b9',1,'cfgu.h']]], + ['cfg_5flanguage_5fnl_555',['CFG_LANGUAGE_NL',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a09ff72faf2dc9971a331ee4f01b2b21e',1,'cfgu.h']]], + ['cfg_5flanguage_5fpt_556',['CFG_LANGUAGE_PT',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987ac528d041885bc5b3712f73d05527c319',1,'cfgu.h']]], + ['cfg_5flanguage_5fru_557',['CFG_LANGUAGE_RU',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987abc96dd42a988f43850fb8281b116fb2e',1,'cfgu.h']]], + ['cfg_5flanguage_5ftw_558',['CFG_LANGUAGE_TW',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a12c9a232716708d4717a1eb46b30a681',1,'cfgu.h']]], + ['cfg_5flanguage_5fzh_559',['CFG_LANGUAGE_ZH',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a808b24331450bf9a74d22d3910ae67cf',1,'cfgu.h']]], + ['cfg_5fmodel_5f2ds_560',['CFG_MODEL_2DS',['../cfgu_8h.html#aa4975dc0dcd8fee9fd825ef12b268aeda83dc5bb89c43599861a6f037b00d7703',1,'cfgu.h']]], + ['cfg_5fmodel_5f3ds_561',['CFG_MODEL_3DS',['../cfgu_8h.html#aa4975dc0dcd8fee9fd825ef12b268aedaa8fbf86f8116e7b2af0c8b1b01d4c928',1,'cfgu.h']]], + ['cfg_5fmodel_5f3dsxl_562',['CFG_MODEL_3DSXL',['../cfgu_8h.html#aa4975dc0dcd8fee9fd825ef12b268aeda3b74ad9d03b7ba33b70572470bc6b870',1,'cfgu.h']]], + ['cfg_5fmodel_5fn2dsxl_563',['CFG_MODEL_N2DSXL',['../cfgu_8h.html#aa4975dc0dcd8fee9fd825ef12b268aedacddb239aa16fdbf946d1b495262c1ed0',1,'cfgu.h']]], + ['cfg_5fmodel_5fn3ds_564',['CFG_MODEL_N3DS',['../cfgu_8h.html#aa4975dc0dcd8fee9fd825ef12b268aeda35a10564712cffd1fe99be696295ce63',1,'cfgu.h']]], + ['cfg_5fmodel_5fn3dsxl_565',['CFG_MODEL_N3DSXL',['../cfgu_8h.html#aa4975dc0dcd8fee9fd825ef12b268aeda5d06b3bcecc9a5dd8b569e09a17467a4',1,'cfgu.h']]], + ['cfg_5fregion_566',['CFG_Region',['../cfgu_8h.html#ac4de11c312084202d4b7a8fe791f4d2e',1,'cfgu.h']]], + ['cfg_5fregion_5faus_567',['CFG_REGION_AUS',['../cfgu_8h.html#ac4de11c312084202d4b7a8fe791f4d2ea16925137207a16a2c167218b7c7378fd',1,'cfgu.h']]], + ['cfg_5fregion_5fchn_568',['CFG_REGION_CHN',['../cfgu_8h.html#ac4de11c312084202d4b7a8fe791f4d2eae93697c1c0710ec2de91493f2ff3d1f6',1,'cfgu.h']]], + ['cfg_5fregion_5feur_569',['CFG_REGION_EUR',['../cfgu_8h.html#ac4de11c312084202d4b7a8fe791f4d2ea6a0858bc1d4908af0d97c05ee9671f5d',1,'cfgu.h']]], + ['cfg_5fregion_5fjpn_570',['CFG_REGION_JPN',['../cfgu_8h.html#ac4de11c312084202d4b7a8fe791f4d2eaca14cab9b45a0abf30b5e7ac911ef618',1,'cfgu.h']]], + ['cfg_5fregion_5fkor_571',['CFG_REGION_KOR',['../cfgu_8h.html#ac4de11c312084202d4b7a8fe791f4d2eae8bd73e7bd4d21b1dee34cb54e2acdd6',1,'cfgu.h']]], + ['cfg_5fregion_5ftwn_572',['CFG_REGION_TWN',['../cfgu_8h.html#ac4de11c312084202d4b7a8fe791f4d2eaa3986ce070823aa582b4a9ce02318966',1,'cfgu.h']]], + ['cfg_5fregion_5fusa_573',['CFG_REGION_USA',['../cfgu_8h.html#ac4de11c312084202d4b7a8fe791f4d2ea82b52c553f9de6b24b71420fc5e7e3f7',1,'cfgu.h']]], + ['cfg_5fsetconfiginfoblk4_574',['CFG_SetConfigInfoBlk4',['../cfgu_8h.html#aee926c517cce8c2696710a50ac3611c6',1,'cfgu.h']]], + ['cfg_5fsetconfiginfoblk8_575',['CFG_SetConfigInfoBlk8',['../cfgu_8h.html#a75196c194185851fcedcc36c6c2805bf',1,'cfgu.h']]], + ['cfg_5fsystemmodel_576',['CFG_SystemModel',['../cfgu_8h.html#aa4975dc0dcd8fee9fd825ef12b268aed',1,'cfgu.h']]], + ['cfg_5fupdateconfigsavegame_577',['CFG_UpdateConfigSavegame',['../cfgu_8h.html#a9fa25a5aa5cca53f1f558476ca104940',1,'cfgu.h']]], + ['cfgi_5fclearparentalcontrols_578',['CFGI_ClearParentalControls',['../cfgu_8h.html#ad2a9d50a77d583fa8e2ff829d2f8c40e',1,'cfgu.h']]], + ['cfgi_5fdeleteconfigsavefile_579',['CFGI_DeleteConfigSavefile',['../cfgu_8h.html#a61cac588b1bab1d395369e3d16e76f63',1,'cfgu.h']]], + ['cfgi_5fformatconfig_580',['CFGI_FormatConfig',['../cfgu_8h.html#a4b0b51f274f99b8716212a6c18f39b20',1,'cfgu.h']]], + ['cfgi_5fgetlocalfriendcodeseed_581',['CFGI_GetLocalFriendCodeSeed',['../cfgu_8h.html#abc8d6ee5431680ec9fa300a3544633ab',1,'cfgu.h']]], + ['cfgi_5fgetlocalfriendcodeseeddata_582',['CFGI_GetLocalFriendCodeSeedData',['../cfgu_8h.html#ac1a6188b463d6475983c969176e73648',1,'cfgu.h']]], + ['cfgi_5fgetsecureinfodata_583',['CFGI_GetSecureInfoData',['../cfgu_8h.html#a70e902088483c9c758c04d6b53d736a3',1,'cfgu.h']]], + ['cfgi_5fgetsecureinfosignature_584',['CFGI_GetSecureInfoSignature',['../cfgu_8h.html#af3826b022eb3da9f8a5f665840949d32',1,'cfgu.h']]], + ['cfgi_5frestorelocalfriendcodeseed_585',['CFGI_RestoreLocalFriendCodeSeed',['../cfgu_8h.html#ab71967b4add996c3500fbb0d27846831',1,'cfgu.h']]], + ['cfgi_5frestoresecureinfo_586',['CFGI_RestoreSecureInfo',['../cfgu_8h.html#af2b7aebb0cf8ae7f55c174ce1fe04728',1,'cfgu.h']]], + ['cfgi_5fsecureinfogetserialnumber_587',['CFGI_SecureInfoGetSerialNumber',['../cfgu_8h.html#a86e2c6be3c251d8a33438b67b5db4d6d',1,'cfgu.h']]], + ['cfgi_5fverifysiglocalfriendcodeseed_588',['CFGI_VerifySigLocalFriendCodeSeed',['../cfgu_8h.html#a44b83f8258a5dfa349649cc715dbb6b6',1,'cfgu.h']]], + ['cfgi_5fverifysigsecureinfo_589',['CFGI_VerifySigSecureInfo',['../cfgu_8h.html#a29b68c4114c72f418b2096209a4821d2',1,'cfgu.h']]], + ['cfgnor_2eh_590',['cfgnor.h',['../cfgnor_8h.html',1,'']]], + ['cfgnor_5finitialize_591',['CFGNOR_Initialize',['../cfgnor_8h.html#afe5e3cb23c2e604192fb5accbb2d8574',1,'cfgnor.h']]], + ['cfgnor_5freaddata_592',['CFGNOR_ReadData',['../cfgnor_8h.html#abbe38a4ffcc42bb0089239c10b147399',1,'cfgnor.h']]], + ['cfgnor_5fshutdown_593',['CFGNOR_Shutdown',['../cfgnor_8h.html#a7cf5f43f09426a0c7a35ec0a753eeb8b',1,'cfgnor.h']]], + ['cfgnor_5fwritedata_594',['CFGNOR_WriteData',['../cfgnor_8h.html#ab81da0b552ab30b4a3e50881e9917a16',1,'cfgnor.h']]], + ['cfgnordumpflash_595',['cfgnorDumpFlash',['../cfgnor_8h.html#a676ea33bb8e4d4cd4c548991057e2448',1,'cfgnor.h']]], + ['cfgnorexit_596',['cfgnorExit',['../cfgnor_8h.html#a6af5a1ec948c981dfbf61b786bb8ae64',1,'cfgnor.h']]], + ['cfgnorinit_597',['cfgnorInit',['../cfgnor_8h.html#a7a45bb4d5a1c4698b8a81a78b3ecfb37',1,'cfgnor.h']]], + ['cfgnorwriteflash_598',['cfgnorWriteFlash',['../cfgnor_8h.html#a935562a582305bc87d35278850002995',1,'cfgnor.h']]], + ['cfgu_2eh_599',['cfgu.h',['../cfgu_8h.html',1,'']]], + ['cfgu_5fgenhashconsoleunique_600',['CFGU_GenHashConsoleUnique',['../cfgu_8h.html#a832582b7bf27790a6908d423000d3f14',1,'cfgu.h']]], + ['cfgu_5fgetconfiginfoblk2_601',['CFGU_GetConfigInfoBlk2',['../cfgu_8h.html#a8c767f9fc8a4762cae3f7c318385ae2b',1,'cfgu.h']]], + ['cfgu_5fgetcountrycodeid_602',['CFGU_GetCountryCodeID',['../cfgu_8h.html#a7e2375d74d475c2afda3b52ad701f877',1,'cfgu.h']]], + ['cfgu_5fgetcountrycodestring_603',['CFGU_GetCountryCodeString',['../cfgu_8h.html#a5f8761b984e2592b6e17c3729d241a5a',1,'cfgu.h']]], + ['cfgu_5fgetmodelnintendo2ds_604',['CFGU_GetModelNintendo2DS',['../cfgu_8h.html#a76088b5269fe79694de33942f1b49217',1,'cfgu.h']]], + ['cfgu_5fgetregioncanadausa_605',['CFGU_GetRegionCanadaUSA',['../cfgu_8h.html#abb8303fdddb130ee8399d5646341ffae',1,'cfgu.h']]], + ['cfgu_5fgetsystemlanguage_606',['CFGU_GetSystemLanguage',['../cfgu_8h.html#a3afae16aba90e9c1cbc94c8dd086f23c',1,'cfgu.h']]], + ['cfgu_5fgetsystemmodel_607',['CFGU_GetSystemModel',['../cfgu_8h.html#a94a37733df037c60ce881014dcc788fc',1,'cfgu.h']]], + ['cfgu_5fisnfcsupported_608',['CFGU_IsNFCSupported',['../cfgu_8h.html#ab2c040449ea8a78462800e4e5312f151',1,'cfgu.h']]], + ['cfgu_5fsecureinfogetregion_609',['CFGU_SecureInfoGetRegion',['../cfgu_8h.html#ae6e237e3516f509b9280629afcd58fa8',1,'cfgu.h']]], + ['cfguexit_610',['cfguExit',['../cfgu_8h.html#afea559fe1cf1b3361d3625a156c80ef7',1,'cfgu.h']]], + ['cfguinit_611',['cfguInit',['../cfgu_8h.html#abee19f03a32e6edd0fa4b43e5fd1158e',1,'cfgu.h']]], + ['cfnt_5fs_612',['CFNT_s',['../structCFNT__s.html',1,'']]], + ['changelog_613',['Changelog',['../md__home_runner_work_libctru_libctru_Changelog.html',1,'']]], + ['channel_2eh_614',['channel.h',['../channel_8h.html',1,'']]], + ['channelid_615',['channelId',['../structDmaConfig.html#a11cd1631cce0b01cce18f5c2474018b5',1,'DmaConfig']]], + ['char_5fset_616',['char_set',['../structMiiData.html#a8ee55490d75b152c630245f194a8618c',1,'MiiData']]], + ['charwidth_617',['charWidth',['../structcharWidthInfo__s.html#a4b06a7771e5df956525236fdbecfcfb7',1,'charWidthInfo_s']]], + ['charwidthinfo_5fs_618',['charWidthInfo_s',['../structcharWidthInfo__s.html',1,'']]], + ['checksum_619',['checksum',['../structMiiSelectorReturn.html#ab0c0f45cac1819627a352fd9cc27c673',1,'MiiSelectorReturn']]], + ['child_620',['child',['../structrbtree__node.html#ac603d72a1e80ba3f3c5f27b63d3ff3f4',1,'rbtree_node']]], + ['childdir_621',['childDir',['../structromfs__dir.html#a3d4fe7d6d89e76b4b2897b3ea7954d32',1,'romfs_dir']]], + ['childfile_622',['childFile',['../structromfs__dir.html#af2aa67c361933f7a43bd10d47475ebc8',1,'romfs_dir']]], + ['circleposition_623',['circlePosition',['../structcirclePosition.html',1,'']]], + ['circleread_624',['circleRead',['../hid_8h.html#a751cac06ba698c5e7122876c091584a0',1,'hid.h']]], + ['clock_5ftick_625',['clock_tick',['../structScheduleInOutEvent.html#acfd73003ea1e8cfbd0ef6999807e8cc4',1,'ScheduleInOutEvent::clock_tick()'],['../structSyscallInOutEvent.html#a71792a3533ce5823e524d710c2404074',1,'SyscallInOutEvent::clock_tick()']]], + ['clustersize_626',['clusterSize',['../structFS__ArchiveResource.html#a07c9e5728b8e041f61e22d1cc2514ac3',1,'FS_ArchiveResource']]], + ['cmap_627',['cmap',['../structFINF__s.html#a361de1a49e22a3784a3c4725640e5f4b',1,'FINF_s']]], + ['cmap_5ftype_5fdirect_628',['CMAP_TYPE_DIRECT',['../font_8h.html#a385c44f6fb256e5716a2302a5b940388ab934cc1b3642ca4b85a380f70f78f584',1,'font.h']]], + ['cmap_5ftype_5fscan_629',['CMAP_TYPE_SCAN',['../font_8h.html#a385c44f6fb256e5716a2302a5b940388a4c4f3ae6d286dd2699ab5ea3d8477b28',1,'font.h']]], + ['cmap_5ftype_5ftable_630',['CMAP_TYPE_TABLE',['../font_8h.html#a385c44f6fb256e5716a2302a5b940388ab411b81a853ac8a0f76b5f7b228e663c',1,'font.h']]], + ['code_631',['code',['../structtag__CMAP__s.html#affd923a97159920a1e8166df5a502bd0',1,'tag_CMAP_s']]], + ['codebegin_632',['codeBegin',['../structtag__CMAP__s.html#a4c718d55054bbdfc3999b5b3f9cb781b',1,'tag_CMAP_s']]], + ['codec_5fi2s_5fline_5f1_633',['CODEC_I2S_LINE_1',['../cdcchk_8h.html#acc55325867b86cf82d6b299496de7768a9ef9a126363cbb8fc542f5e33b32e59e',1,'cdcchk.h']]], + ['codec_5fi2s_5fline_5f2_634',['CODEC_I2S_LINE_2',['../cdcchk_8h.html#acc55325867b86cf82d6b299496de7768aa6131ebafb00e3392251270cb7f9f4a3',1,'cdcchk.h']]], + ['codeci2sline_635',['CodecI2sLine',['../cdcchk_8h.html#acc55325867b86cf82d6b299496de7768',1,'cdcchk.h']]], + ['codedata_636',['codeData',['../structDVLP__s.html#a41b105e8f9d1fad73de8a31b831c774d',1,'DVLP_s']]], + ['codeend_637',['codeEnd',['../structtag__CMAP__s.html#a888bc3333842f34c943ecb451dbc9757',1,'tag_CMAP_s']]], + ['codeset_5finfo_638',['codeset_info',['../structExHeader__SystemControlInfo.html#a30beaf2221a07836d8b3e63a3b43ca0a',1,'ExHeader_SystemControlInfo']]], + ['codesetheader_639',['CodeSetHeader',['../structCodeSetHeader.html',1,'']]], + ['codesize_640',['codeSize',['../structDVLP__s.html#a7f989229beaa6110d289a403ce406412',1,'DVLP_s']]], + ['coefficient_5fitu_5fr_5fbt_5f601_641',['COEFFICIENT_ITU_R_BT_601',['../y2r_8h.html#a4d268580b18b07f348fe7ee8c72fac31ac632db40e0f6998029f47642cb1240db',1,'y2r.h']]], + ['coefficient_5fitu_5fr_5fbt_5f601_5fscaling_642',['COEFFICIENT_ITU_R_BT_601_SCALING',['../y2r_8h.html#a4d268580b18b07f348fe7ee8c72fac31a42ac04bda184cacdf355208866500739',1,'y2r.h']]], + ['coefficient_5fitu_5fr_5fbt_5f709_643',['COEFFICIENT_ITU_R_BT_709',['../y2r_8h.html#a4d268580b18b07f348fe7ee8c72fac31affe5da13e1b3876b55b3742b60d6b941',1,'y2r.h']]], + ['coefficient_5fitu_5fr_5fbt_5f709_5fscaling_644',['COEFFICIENT_ITU_R_BT_709_SCALING',['../y2r_8h.html#a4d268580b18b07f348fe7ee8c72fac31a798f4362c48425f315ca076d65353f08',1,'y2r.h']]], + ['companycode_645',['companyCode',['../structFS__ProductInfo.html#a802432571b5401d95a759813fdb79480',1,'FS_ProductInfo']]], + ['comparator_646',['comparator',['../structrbtree.html#a8163cce8ee63d9e72fa4d727675d44ed',1,'rbtree']]], + ['compress_5fexefs_5fcode_647',['compress_exefs_code',['../structExHeader__SystemInfoFlags.html#a1655b81d38525765bb5ffd3fc32e1c93',1,'ExHeader_SystemInfoFlags']]], + ['condvar_648',['CondVar',['../synchronization_8h.html#a7da2ad46c2b89e00508f9220dd877eda',1,'synchronization.h']]], + ['condvar_5fbroadcast_649',['CondVar_Broadcast',['../synchronization_8h.html#ac7ba47b2c6fee27ddfe7cdda4d9baa91',1,'synchronization.h']]], + ['condvar_5finit_650',['CondVar_Init',['../synchronization_8h.html#ab8afa06278ad323a3c80210adef7310b',1,'synchronization.h']]], + ['condvar_5fsignal_651',['CondVar_Signal',['../synchronization_8h.html#a3e098ef4bf7e1fe17f2a3929cd38d20d',1,'synchronization.h']]], + ['condvar_5fwait_652',['CondVar_Wait',['../synchronization_8h.html#a9d0a741fa7f5c6be9dc98e296817b293',1,'synchronization.h']]], + ['condvar_5fwaittimeout_653',['CondVar_WaitTimeout',['../synchronization_8h.html#aa7aabd77eba2813fb5508e726335b211',1,'synchronization.h']]], + ['condvar_5fwakeup_654',['CondVar_WakeUp',['../synchronization_8h.html#a42f864222898c73a1add9d38dc549879',1,'synchronization.h']]], + ['console_2eh_655',['console.h',['../console_8h.html',1,'']]], + ['console_5fbg_5fcustom_656',['CONSOLE_BG_CUSTOM',['../console_8h.html#a2bc490632f54b282103853fa573a1d0a',1,'console.h']]], + ['console_5fblink_5ffast_657',['CONSOLE_BLINK_FAST',['../console_8h.html#a7afdfddea655f10c609d05b686ce36f9',1,'console.h']]], + ['console_5fblink_5fslow_658',['CONSOLE_BLINK_SLOW',['../console_8h.html#adb7259b545cc753eca543d28074c4389',1,'console.h']]], + ['console_5fcolor_5fbold_659',['CONSOLE_COLOR_BOLD',['../console_8h.html#a41fe600f48a6367d8807559efec50c23',1,'console.h']]], + ['console_5fcolor_5ffaint_660',['CONSOLE_COLOR_FAINT',['../console_8h.html#a2b150f5112f253251b71c0e20691b8f6',1,'console.h']]], + ['console_5fcolor_5freverse_661',['CONSOLE_COLOR_REVERSE',['../console_8h.html#a0c2c4bcacad671310f6a2e19a9dd920e',1,'console.h']]], + ['console_5fconceal_662',['CONSOLE_CONCEAL',['../console_8h.html#a5f2b14ddb935b78bd666e5ec560d39c1',1,'console.h']]], + ['console_5fcrossed_5fout_663',['CONSOLE_CROSSED_OUT',['../console_8h.html#a5ff7f67fc2b49604335c850701a49404',1,'console.h']]], + ['console_5ffg_5fcustom_664',['CONSOLE_FG_CUSTOM',['../console_8h.html#aae0fa7e2d9d00e9a9032cb27b3ea2b89',1,'console.h']]], + ['console_5fidentity_665',['console_identity',['../structMiiData.html#a757ed6080f29cb1592901f41c0feb0cf',1,'MiiData']]], + ['console_5fitalic_666',['CONSOLE_ITALIC',['../console_8h.html#ab42f3fc96a41cf751ec6971091495d77',1,'console.h']]], + ['console_5funderline_667',['CONSOLE_UNDERLINE',['../console_8h.html#a3d8177cdd85a63ef7836efe4e00871e0',1,'console.h']]], + ['consoleclear_668',['consoleClear',['../console_8h.html#ac62c34a3fa2a6403c690dd80022b3e34',1,'console.h']]], + ['consoledebuginit_669',['consoleDebugInit',['../console_8h.html#ac4fe073b8a8251a5216b66eef8788da2',1,'console.h']]], + ['consolefont_670',['ConsoleFont',['../structConsoleFont.html',1,'']]], + ['consolegetdefault_671',['consoleGetDefault',['../console_8h.html#a42372b48c57aeb95774e13254104def8',1,'console.h']]], + ['consoleheight_672',['consoleHeight',['../structPrintConsole.html#a6caefb88745fe180a9d59096d40b052a',1,'PrintConsole']]], + ['consoleinit_673',['consoleInit',['../console_8h.html#a8e014e84f81ff901ca62d7669a8c8de8',1,'console.h']]], + ['consoleinitialised_674',['consoleInitialised',['../structPrintConsole.html#abeb3c904af0e353bec10603044a4f705',1,'PrintConsole']]], + ['consoleprint_675',['ConsolePrint',['../console_8h.html#a26c9115f671528f3718cf4d9663e7631',1,'console.h']]], + ['consoleselect_676',['consoleSelect',['../console_8h.html#ac2f9e3b09fe2b65e02598ed556d9e10f',1,'console.h']]], + ['consolesetfont_677',['consoleSetFont',['../console_8h.html#a4e271d69c07c67efe877502fe17c44e5',1,'console.h']]], + ['consolesetwindow_678',['consoleSetWindow',['../console_8h.html#a4a65cfe4467b2059c6b70e15d861b563',1,'console.h']]], + ['consolewidth_679',['consoleWidth',['../structPrintConsole.html#a12228047de6d55e25c7bed9427bfeda7',1,'PrintConsole']]], + ['consttabledata_680',['constTableData',['../structDVLE__s.html#a09fd98b08af896b022a6122289053ecc',1,'DVLE_s']]], + ['consttablesize_681',['constTableSize',['../structDVLE__s.html#ae44dc39349168f33847b58490976da75',1,'DVLE_s']]], + ['contentid_682',['contentId',['../structAM__ContentInfo.html#a57756f026016aa4a77a4f92e66c48d08',1,'AM_ContentInfo']]], + ['context_683',['context',['../structCAMU__PackageParameterContext.html#ade8ee06861f30e8d5ffd736ac9708101',1,'CAMU_PackageParameterContext::context()'],['../structCAMU__PackageParameterContextDetail.html#adb01fc5d6ed19793bd6d85a0ab14867d',1,'CAMU_PackageParameterContextDetail::context()']]], + ['context_5fa_684',['CONTEXT_A',['../cam_8h.html#a67d15fdc4b48f745530df1f27f3d5255a4c8b59d076b8ec347a3e1967408c4fa6',1,'cam.h']]], + ['context_5fb_685',['CONTEXT_B',['../cam_8h.html#a67d15fdc4b48f745530df1f27f3d5255a4dcd1e5e98db8371be3abf56c31cdcfa',1,'cam.h']]], + ['context_5fboth_686',['CONTEXT_BOTH',['../cam_8h.html#a67d15fdc4b48f745530df1f27f3d5255ae3a7377e4ec34d0b4eb263d39c539e7d',1,'cam.h']]], + ['context_5fnone_687',['CONTEXT_NONE',['../cam_8h.html#a67d15fdc4b48f745530df1f27f3d5255ac24319930c0604b6fd7e77d4966a4c38',1,'cam.h']]], + ['continue_5fsleep_5fevents_688',['continue_sleep_events',['../structPtmSleepConfig.html#a042b2b0abb77442cc5352c7b0f09436f',1,'PtmSleepConfig']]], + ['contrast_689',['contrast',['../structCAMU__PackageParameterCameraSelect.html#ae4f0ea8e5d747298e67a3f4e9622c241',1,'CAMU_PackageParameterCameraSelect']]], + ['contrast_5fhigh_690',['CONTRAST_HIGH',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aa68678a5b3814abdbde37a51ec7caf9e8',1,'cam.h']]], + ['contrast_5flow_691',['CONTRAST_LOW',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aa1ef8d568d8f4092a6082c7a7b6e57377',1,'cam.h']]], + ['contrast_5fnormal_692',['CONTRAST_NORMAL',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aa90f772d81310ff6aee03665c4fea5b1d',1,'cam.h']]], + ['contrast_5fpattern_5f01_693',['CONTRAST_PATTERN_01',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aab69ef9fcd292df37898cb0b40a3cc778',1,'cam.h']]], + ['contrast_5fpattern_5f02_694',['CONTRAST_PATTERN_02',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aa1ed9c4d91ab7e8e21f2fd4a0e3802c80',1,'cam.h']]], + ['contrast_5fpattern_5f03_695',['CONTRAST_PATTERN_03',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aafdb976805d957d4cc47eff493108932f',1,'cam.h']]], + ['contrast_5fpattern_5f04_696',['CONTRAST_PATTERN_04',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aab4e47b20190c5ab93a7c54d6759a1367',1,'cam.h']]], + ['contrast_5fpattern_5f05_697',['CONTRAST_PATTERN_05',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aa1da00615d6abc2afcafe31c4d031e075',1,'cam.h']]], + ['contrast_5fpattern_5f06_698',['CONTRAST_PATTERN_06',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aa91d07c5d297f5c4f8ce18103dcb40108',1,'cam.h']]], + ['contrast_5fpattern_5f07_699',['CONTRAST_PATTERN_07',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aad83171a2a85b367e58e4da0cf90af0f7',1,'cam.h']]], + ['contrast_5fpattern_5f08_700',['CONTRAST_PATTERN_08',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aa18b7880a028826976e69d6c7e61afd8d',1,'cam.h']]], + ['contrast_5fpattern_5f09_701',['CONTRAST_PATTERN_09',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aac20e5f4314e063f2a415a474e905c0b3',1,'cam.h']]], + ['contrast_5fpattern_5f10_702',['CONTRAST_PATTERN_10',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aaf78ad2da749bb344ae210fc29b3b6a6b',1,'cam.h']]], + ['contrast_5fpattern_5f11_703',['CONTRAST_PATTERN_11',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aa7324fe6cada96aa147869a5dd23246ed',1,'cam.h']]], + ['coords0_704',['coords0',['../structQTM__HeadTrackingInfo.html#aa7fada3c82012ac9af32afbd9a974cae',1,'QTM_HeadTrackingInfo']]], + ['core_5finfo_705',['core_info',['../structExHeader__Arm11SystemLocalCapabilities.html#a8dec47ea3e425aa009d3bd43a7f94090',1,'ExHeader_Arm11SystemLocalCapabilities']]], + ['core_5fversion_706',['core_version',['../structExHeader__Arm11CoreInfo.html#a7c3c45aafb99ce02abae41349035b1f5',1,'ExHeader_Arm11CoreInfo']]], + ['country_707',['country',['../structFriendProfile.html#abae6e8315e5692c6b0cb0e8702a3fcbb',1,'FriendProfile']]], + ['countrycodeid_708',['countrycodeid',['../structNFC__AmiiboSettings.html#a5f2d5c9b2b91553eb461e8a8e8738068',1,'NFC_AmiiboSettings']]], + ['cpsr_709',['cpsr',['../structCpuRegisters.html#aabc31c636352b0b2c7a48388b9f0f3ee',1,'CpuRegisters']]], + ['cpu_5fregisters_710',['cpu_registers',['../structThreadContext.html#a3fb7711d1ccc7d132ae23ee3e4e88e43',1,'ThreadContext']]], + ['cpuregisters_711',['CpuRegisters',['../structCpuRegisters.html',1,'']]], + ['creator_5fthread_5fid_712',['creator_thread_id',['../structAttachThreadEvent.html#a681ce5cc8e0b6c923d20f58e3b3766f2',1,'AttachThreadEvent']]], + ['croinfo_713',['croInfo',['../structUserBreakExceptionEvent.html#a8e565441fc0eab7bf2cabdd4a61178f1',1,'UserBreakExceptionEvent']]], + ['croinfosize_714',['croInfoSize',['../structUserBreakExceptionEvent.html#accfb27c5c97c666cc536ab14aec42511',1,'UserBreakExceptionEvent']]], + ['cropx0_715',['cropX0',['../structCAMU__PackageParameterContextDetail.html#af578345ba667b355bef455db2ae4d507',1,'CAMU_PackageParameterContextDetail']]], + ['cropx1_716',['cropX1',['../structCAMU__PackageParameterContextDetail.html#ac19178f976bf302603f4430fb110171d',1,'CAMU_PackageParameterContextDetail']]], + ['cropy0_717',['cropY0',['../structCAMU__PackageParameterContextDetail.html#a65d75f5659fca34c78efc54b6bff4d64',1,'CAMU_PackageParameterContextDetail']]], + ['cropy1_718',['cropY1',['../structCAMU__PackageParameterContextDetail.html#a98a1a486fe970bea43c1316fc4121769',1,'CAMU_PackageParameterContextDetail']]], + ['csnd_2eh_719',['csnd.h',['../csnd_8h.html',1,'']]], + ['csnd_5facquirecapunit_720',['CSND_AcquireCapUnit',['../csnd_8h.html#ae34211f9ba68d11c408632674e6ac54e',1,'csnd.h']]], + ['csnd_5fcapenable_721',['CSND_CapEnable',['../csnd_8h.html#a6735845e13c4f9f28d3e8013405a46ec',1,'csnd.h']]], + ['csnd_5fcapinfo_722',['CSND_CapInfo',['../unionCSND__CapInfo.html',1,'']]], + ['csnd_5fcapsetbit2_723',['CSND_CapSetBit2',['../csnd_8h.html#a738ce21437dc98ad19febc7d5d3e8d2b',1,'csnd.h']]], + ['csnd_5fcapsetbuffer_724',['CSND_CapSetBuffer',['../csnd_8h.html#aa6b1af15f8b4f87987bd75cf25fee0f6',1,'csnd.h']]], + ['csnd_5fcapsetformat_725',['CSND_CapSetFormat',['../csnd_8h.html#ada8adbfb68b1aa8027f40ddea892c945',1,'csnd.h']]], + ['csnd_5fcapsetrepeat_726',['CSND_CapSetRepeat',['../csnd_8h.html#a8ead0f91e8b7f66b6f7757d17e3d1df0',1,'csnd.h']]], + ['csnd_5fcapsettimer_727',['CSND_CapSetTimer',['../csnd_8h.html#ad45946bf9bf1759de6ab426b511398ae',1,'csnd.h']]], + ['csnd_5fchninfo_728',['CSND_ChnInfo',['../unionCSND__ChnInfo.html',1,'']]], + ['csnd_5fdutycycle_729',['CSND_DutyCycle',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473b',1,'csnd.h']]], + ['csnd_5fencoding_5fadpcm_730',['CSND_ENCODING_ADPCM',['../csnd_8h.html#afb730582952b7ceec73d7dc9bf7bef39a582f62792044dd0e04d049c46c703e05',1,'csnd.h']]], + ['csnd_5fencoding_5fpcm16_731',['CSND_ENCODING_PCM16',['../csnd_8h.html#afb730582952b7ceec73d7dc9bf7bef39ad47c5d413a01044335b3c67fa246abd0',1,'csnd.h']]], + ['csnd_5fencoding_5fpcm8_732',['CSND_ENCODING_PCM8',['../csnd_8h.html#afb730582952b7ceec73d7dc9bf7bef39a6e356f44fa879a30ba88773f3bdca555',1,'csnd.h']]], + ['csnd_5fencoding_5fpsg_733',['CSND_ENCODING_PSG',['../csnd_8h.html#afb730582952b7ceec73d7dc9bf7bef39a0f1435e30f89c19ba51b7c41ba17b44c',1,'csnd.h']]], + ['csnd_5fflushdatacache_734',['CSND_FlushDataCache',['../csnd_8h.html#a1e3d2d4db110d709bb6e754d498553d9',1,'csnd.h']]], + ['csnd_5finvalidatedatacache_735',['CSND_InvalidateDataCache',['../csnd_8h.html#a05f05f1cf3b14150a3bdf4d805026358',1,'csnd.h']]], + ['csnd_5floopmode_5fmanual_736',['CSND_LOOPMODE_MANUAL',['../csnd_8h.html#afccd240f973cf154952fb917c9209719adfce2b3aaa42695a4cff0f3ab60affdb',1,'csnd.h']]], + ['csnd_5floopmode_5fnoreload_737',['CSND_LOOPMODE_NORELOAD',['../csnd_8h.html#afccd240f973cf154952fb917c9209719ad71adeb437770dd4a31f2b76c696e26a',1,'csnd.h']]], + ['csnd_5floopmode_5fnormal_738',['CSND_LOOPMODE_NORMAL',['../csnd_8h.html#afccd240f973cf154952fb917c9209719a2942c4a7f73f6df778630df049a241d5',1,'csnd.h']]], + ['csnd_5floopmode_5foneshot_739',['CSND_LOOPMODE_ONESHOT',['../csnd_8h.html#afccd240f973cf154952fb917c9209719afa9f7251be9d150db5382d273c993fad',1,'csnd.h']]], + ['csnd_5fnum_5fchannels_740',['CSND_NUM_CHANNELS',['../csnd_8h.html#ae9650d170b002a0a8607808d946cfdbf',1,'csnd.h']]], + ['csnd_5freleasecapunit_741',['CSND_ReleaseCapUnit',['../csnd_8h.html#ac34f7e075b624ba859fa6741a9bf61c9',1,'csnd.h']]], + ['csnd_5freset_742',['CSND_Reset',['../csnd_8h.html#a5ca4e333f55de7841adac50bfaf7c162',1,'csnd.h']]], + ['csnd_5fsetadpcmreload_743',['CSND_SetAdpcmReload',['../csnd_8h.html#a84085ed1e217fea0267e75efb032c7f7',1,'csnd.h']]], + ['csnd_5fsetadpcmstate_744',['CSND_SetAdpcmState',['../csnd_8h.html#a771f547c0f472c239d6719ffe4c602b7',1,'csnd.h']]], + ['csnd_5fsetbit7_745',['CSND_SetBit7',['../csnd_8h.html#aa337e80dc25824388653f4b722a573e1',1,'csnd.h']]], + ['csnd_5fsetblock_746',['CSND_SetBlock',['../csnd_8h.html#aeb08b5dcd08b832b7c4f0d2a06c7bd43',1,'csnd.h']]], + ['csnd_5fsetcapregs_747',['CSND_SetCapRegs',['../csnd_8h.html#aa3a006676d1eec026aebc6e358614989',1,'csnd.h']]], + ['csnd_5fsetchnregs_748',['CSND_SetChnRegs',['../csnd_8h.html#a56384577108981178557a1186b5360b3',1,'csnd.h']]], + ['csnd_5fsetchnregsnoise_749',['CSND_SetChnRegsNoise',['../csnd_8h.html#a8431e62ee5bff8a4c0352b04a6634d8f',1,'csnd.h']]], + ['csnd_5fsetchnregspsg_750',['CSND_SetChnRegsPSG',['../csnd_8h.html#a6b9c80ddeed0c9ae64f616ec30b2925b',1,'csnd.h']]], + ['csnd_5fsetdspflags_751',['CSND_SetDspFlags',['../csnd_8h.html#a9326d0d588ce16217f82c8f0ff1614c4',1,'csnd.h']]], + ['csnd_5fsetduty_752',['CSND_SetDuty',['../csnd_8h.html#aa7f0ff03303b41b806917f5a50024dae',1,'csnd.h']]], + ['csnd_5fsetencoding_753',['CSND_SetEncoding',['../csnd_8h.html#a507610dcbc0bc0dc052ebcbc206a3680',1,'csnd.h']]], + ['csnd_5fsetinterp_754',['CSND_SetInterp',['../csnd_8h.html#abe4af849d05cbf051cad0eb47ac14757',1,'csnd.h']]], + ['csnd_5fsetlooping_755',['CSND_SetLooping',['../csnd_8h.html#a10c9486012d60318173b57755e134cba',1,'csnd.h']]], + ['csnd_5fsetplaystate_756',['CSND_SetPlayState',['../csnd_8h.html#a5dbd86f6c7687b9a6f622b35cd02a798',1,'csnd.h']]], + ['csnd_5fsetplaystater_757',['CSND_SetPlayStateR',['../csnd_8h.html#ac0db65656f0c0e6ab4ad8d0f00ee8e38',1,'csnd.h']]], + ['csnd_5fsettimer_758',['CSND_SetTimer',['../csnd_8h.html#a29bb5b89ed12e4d6d435ab106f4c5b83',1,'csnd.h']]], + ['csnd_5fsetvol_759',['CSND_SetVol',['../csnd_8h.html#ad5698e30728ae6dd483dc1de5f8901c4',1,'csnd.h']]], + ['csnd_5fstoredatacache_760',['CSND_StoreDataCache',['../csnd_8h.html#ae086d894961ec01f867153cb142d846f',1,'csnd.h']]], + ['csnd_5ftimer_761',['CSND_TIMER',['../csnd_8h.html#a925a677aedfae9d62cc8e916605e95ea',1,'csnd.h']]], + ['csnd_5fupdateinfo_762',['CSND_UpdateInfo',['../csnd_8h.html#a29f403e7faa5c335375e938dd0a242ad',1,'csnd.h']]], + ['csnd_5fvol_763',['CSND_VOL',['../csnd_8h.html#a0b1d4f240b7281a3bede8fbe5061d36f',1,'csnd.h']]], + ['csndaddcmd_764',['csndAddCmd',['../csnd_8h.html#ab73d703c1057b2a68772b627d824415e',1,'csnd.h']]], + ['csndchannels_765',['csndChannels',['../csnd_8h.html#ae8ad7f7a5d6df4f74640f64231d799ac',1,'csnd.h']]], + ['csndexeccmds_766',['csndExecCmds',['../csnd_8h.html#ab54a2f4e87b172ffcd3a3099651666f6',1,'csnd.h']]], + ['csndexit_767',['csndExit',['../csnd_8h.html#af5dc91e98b2182aa71f45dca52e42ad3',1,'csnd.h']]], + ['csndgetcapinfo_768',['csndGetCapInfo',['../csnd_8h.html#a1cac1cc8e1a0e994832e653c55ce6380',1,'csnd.h']]], + ['csndgetchninfo_769',['csndGetChnInfo',['../csnd_8h.html#a671d2fc550793382612c79301ed31af2',1,'csnd.h']]], + ['csndgetdspflags_770',['csndGetDspFlags',['../csnd_8h.html#abaa253c6b0eb61e1d212fb06d2e7ddaf',1,'csnd.h']]], + ['csndgetstate_771',['csndGetState',['../csnd_8h.html#a4f0b8357d5629ea8df4a8e9cb5f975cd',1,'csnd.h']]], + ['csndinit_772',['csndInit',['../csnd_8h.html#a3155c2b9f14c465baabd9fa92913347e',1,'csnd.h']]], + ['csndisplaying_773',['csndIsPlaying',['../csnd_8h.html#ad11c3246b1f30c98297f29046f2e2357',1,'csnd.h']]], + ['csndplaysound_774',['csndPlaySound',['../csnd_8h.html#a3752f884792b439bcec34837b374a46d',1,'csnd.h']]], + ['csndsharedmem_775',['csndSharedMem',['../csnd_8h.html#add1090a634bf4c8a888b1f4c7f20277a',1,'csnd.h']]], + ['csndsharedmemsize_776',['csndSharedMemSize',['../csnd_8h.html#adf8852f558062e87303d88b86c6fc801',1,'csnd.h']]], + ['csndwritecmd_777',['csndWriteCmd',['../csnd_8h.html#afd1b740f8d28ea64f9d05e9a3a9d758d',1,'csnd.h']]], + ['ctr_5falign_778',['CTR_ALIGN',['../types_8h.html#a5dfe86471c81b4e4f303dcbdefbb6871',1,'types.h']]], + ['ctr_5fdeprecated_779',['CTR_DEPRECATED',['../types_8h.html#a22a95c6b9c6cb449bd02bf919f01896f',1,'types.h']]], + ['ctr_5fpacked_780',['CTR_PACKED',['../types_8h.html#a4215ddf9849dc161ef8ba507ea8f0fdb',1,'types.h']]], + ['cur_5fprocess_5fhandle_781',['CUR_PROCESS_HANDLE',['../svc_8h.html#a0b30bcbc98ad85fe81ac6de8ea464276',1,'svc.h']]], + ['cur_5fthread_5fhandle_782',['CUR_THREAD_HANDLE',['../svc_8h.html#a848b6094dcf31bfb0fa5cc999348c2d4',1,'svc.h']]], + ['curentry_783',['curEntry',['../structgxCmdQueue__s.html#a509d41b1d690e93ae5738f886a34c725',1,'gxCmdQueue_s']]], + ['current_5fcount_784',['current_count',['../structLightSemaphore.html#a56ae7109ea28f871c4ff1d70d556ddbb',1,'LightSemaphore']]], + ['cursorx_785',['cursorX',['../structPrintConsole.html#a0b3c99b23f2b228279c0b080d4bbf73f',1,'PrintConsole']]], + ['cursory_786',['cursorY',['../structPrintConsole.html#a5170137741dc034414b516aebf6716d9',1,'PrintConsole']]], + ['cwdh_787',['cwdh',['../structFINF__s.html#a18afa971f307e804096f5f80c4dd5d80',1,'FINF_s']]] +]; diff --git a/search/all_5.html b/search/all_5.html new file mode 100644 index 000000000..9dd9344b0 --- /dev/null +++ b/search/all_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_5.js b/search/all_5.js new file mode 100644 index 000000000..8849f2541 --- /dev/null +++ b/search/all_5.js @@ -0,0 +1,186 @@ +var searchData= +[ + ['data_788',['data',['../structdecompressIOVec.html#a57dd3a88f12e6539fdf6079570437744',1,'decompressIOVec::data()'],['../structFS__Path.html#a6a36deaf24ad6f6c00e3263f0cfc2f59',1,'FS_Path::data()'],['../structDVLE__constEntry__s.html#a211b601d5cc69f0d75dbf999a99f99bd',1,'DVLE_constEntry_s::data()'],['../structfloat24Uniform__s.html#a116ab0b7c6e0dd45551baf8427cba375',1,'float24Uniform_s::data()'],['../uniongxCmdEntry__s.html#acf2ee2685f8ed84154bf22af3968aa50',1,'gxCmdEntry_s::data()'],['../structExHeader__CodeSetInfo.html#a82dd0df0e5e67034fc642327cb38857f',1,'ExHeader_CodeSetInfo::data()'],['../structERRF__FatalErrInfo.html#a69b86ad54fc6ae1ab4a5dcc5fdfefc0d',1,'ERRF_FatalErrInfo::data()']]], + ['data_5fadpcm_789',['data_adpcm',['../structtag__ndspWaveBuf.html#a3f97b49b15a70f10152c14944a5c95ba',1,'tag_ndspWaveBuf']]], + ['data_5fpcm16_790',['data_pcm16',['../structtag__ndspWaveBuf.html#ab6347cf7fc44b90999544a4b2ad69a72',1,'tag_ndspWaveBuf']]], + ['data_5fpcm8_791',['data_pcm8',['../structtag__ndspWaveBuf.html#a09159f3732f1e8dbee8590517efdb0f6',1,'tag_ndspWaveBuf']]], + ['data_5fvaddr_792',['data_vaddr',['../structtag__ndspWaveBuf.html#a022acadc9a54ab814274c83460f7394d',1,'tag_ndspWaveBuf']]], + ['dataoff_793',['dataOff',['../structromfs__file.html#a90321bd0b067c572ae947ae3c0c4ccbd',1,'romfs_file']]], + ['datasize_794',['dataSize',['../structromfs__file.html#a2bdbb99c9cddb161a716481662742c6a',1,'romfs_file']]], + ['dbg_5finhibit_5fuser_5fcpu_5fexception_5fhandlers_795',['DBG_INHIBIT_USER_CPU_EXCEPTION_HANDLERS',['../svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10a829566e4baa8029d6ae3ff75ab847966',1,'svc.h']]], + ['dbg_5fsignal_5ffault_5fexception_5fevents_796',['DBG_SIGNAL_FAULT_EXCEPTION_EVENTS',['../svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10a684e18527dea1cd28cc7cd31a1b72c6d',1,'svc.h']]], + ['dbg_5fsignal_5fmap_5fevents_797',['DBG_SIGNAL_MAP_EVENTS',['../svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10a4e4de28dc35f3748319a155b3a5e561c',1,'svc.h']]], + ['dbg_5fsignal_5fschedule_5fevents_798',['DBG_SIGNAL_SCHEDULE_EVENTS',['../svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10a0870552809a38121a3f9f8bfac2a7ab5',1,'svc.h']]], + ['dbg_5fsignal_5fsyscall_5fevents_799',['DBG_SIGNAL_SYSCALL_EVENTS',['../svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10a54c6d15e4546cac787bfe3fd7511d7c9',1,'svc.h']]], + ['dbgevent_5fattach_5fprocess_800',['DBGEVENT_ATTACH_PROCESS',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754ac0a513ef6cb7b18b882ca3b4484be376',1,'svc.h']]], + ['dbgevent_5fattach_5fthread_801',['DBGEVENT_ATTACH_THREAD',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754ab39b8b0c362f20d8f3b6a789684ad382',1,'svc.h']]], + ['dbgevent_5fdll_5fload_802',['DBGEVENT_DLL_LOAD',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754afa511c30bbe05ddaad3c96c2fe2237dc',1,'svc.h']]], + ['dbgevent_5fdll_5funload_803',['DBGEVENT_DLL_UNLOAD',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a167c6fa74bcf640f56641a04983627f9',1,'svc.h']]], + ['dbgevent_5fexception_804',['DBGEVENT_EXCEPTION',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a208e5e5396544ebdbca5c2683b496a3a',1,'svc.h']]], + ['dbgevent_5fexit_5fprocess_805',['DBGEVENT_EXIT_PROCESS',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a2635a9230834ce193ced7e11ad3d719a',1,'svc.h']]], + ['dbgevent_5fexit_5fthread_806',['DBGEVENT_EXIT_THREAD',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754acec82ab612fb6a61454e6acf13d9535d',1,'svc.h']]], + ['dbgevent_5fmap_807',['DBGEVENT_MAP',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a63a5ec76f06ef716a8ba8b1ab9c0e5de',1,'svc.h']]], + ['dbgevent_5foutput_5fstring_808',['DBGEVENT_OUTPUT_STRING',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754abee1dd8bd40f035cdb41dd2f8c4ad11c',1,'svc.h']]], + ['dbgevent_5fschedule_5fin_809',['DBGEVENT_SCHEDULE_IN',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a07ea6a6fba8ff752c67e2c00425d3ac8',1,'svc.h']]], + ['dbgevent_5fschedule_5fout_810',['DBGEVENT_SCHEDULE_OUT',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a62cf6b93175e700b82259c66273eb0b3',1,'svc.h']]], + ['dbgevent_5fsyscall_5fin_811',['DBGEVENT_SYSCALL_IN',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a5357e98f2337ea80ce759ca8ad26bc03',1,'svc.h']]], + ['dbgevent_5fsyscall_5fout_812',['DBGEVENT_SYSCALL_OUT',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a61a1fa34dc49e06bc7e2d5941fdf2614',1,'svc.h']]], + ['dbgthread_5fparameter_5fcpu_5fcreator_813',['DBGTHREAD_PARAMETER_CPU_CREATOR',['../svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2a4edc8a76257320fcebd0176a9a05bf6d',1,'svc.h']]], + ['dbgthread_5fparameter_5fcpu_5fideal_814',['DBGTHREAD_PARAMETER_CPU_IDEAL',['../svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2a38a33d4f8a4da4fce35bafdeaa43deb7',1,'svc.h']]], + ['dbgthread_5fparameter_5fpriority_815',['DBGTHREAD_PARAMETER_PRIORITY',['../svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2a97e8406ac167715321789f422a4d16c2',1,'svc.h']]], + ['dbgthread_5fparameter_5fscheduling_5fmask_5flow_816',['DBGTHREAD_PARAMETER_SCHEDULING_MASK_LOW',['../svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2a2e0c36bd04e34f464fdc099160c2a07d',1,'svc.h']]], + ['deassert_5fafter_5fwait_817',['DEASSERT_AFTER_WAIT',['../pxidev_8h.html#a4692731299afc422de8e2c7956636ebea1fd0ae522b445d2c19113dddaf1c646b',1,'pxidev.h']]], + ['deassert_5fbefore_5fwait_818',['DEASSERT_BEFORE_WAIT',['../pxidev_8h.html#a4692731299afc422de8e2c7956636ebea236c0abf6bf06be30062041cb2ff1fea',1,'pxidev.h']]], + ['deassert_5fnone_819',['DEASSERT_NONE',['../pxidev_8h.html#a4692731299afc422de8e2c7956636ebea3d516ed34741a0de767ef65218b3bb34',1,'pxidev.h']]], + ['debugdevice_820',['debugDevice',['../console_8h.html#ab80a9da3fec1fbf425035eeaa9b51c28',1,'console.h']]], + ['debugdevice_5fconsole_821',['debugDevice_CONSOLE',['../console_8h.html#ab80a9da3fec1fbf425035eeaa9b51c28ae5f4a5fe20d1b01a2e211cfe394325d7',1,'console.h']]], + ['debugdevice_5fnull_822',['debugDevice_NULL',['../console_8h.html#ab80a9da3fec1fbf425035eeaa9b51c28af3ea53eb5c0a68a80dbeb1c0c31b6849',1,'console.h']]], + ['debugdevice_5fsvc_823',['debugDevice_SVC',['../console_8h.html#ab80a9da3fec1fbf425035eeaa9b51c28a795dfb32f1905816a543c95e5ed17b52',1,'console.h']]], + ['debugeventinfo_824',['DebugEventInfo',['../structDebugEventInfo.html',1,'']]], + ['debugeventtype_825',['DebugEventType',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754',1,'svc.h']]], + ['debugflags_826',['DebugFlags',['../svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10',1,'svc.h']]], + ['debugger_5fbreak_827',['debugger_break',['../structExceptionEvent.html#acb328082531198ee15b3fb1be53c47a8',1,'ExceptionEvent']]], + ['debuggerbreakexceptionevent_828',['DebuggerBreakExceptionEvent',['../structDebuggerBreakExceptionEvent.html',1,'']]], + ['debugthreadparameter_829',['DebugThreadParameter',['../svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2',1,'svc.h']]], + ['decode_5futf16_830',['decode_utf16',['../utf_8h.html#aab93c2be8e27403ee787ec299bf2bb0d',1,'utf.h']]], + ['decode_5futf8_831',['decode_utf8',['../utf_8h.html#aace78933e35ab187df3ad6bd5a2a6383',1,'utf.h']]], + ['decompress_832',['decompress',['../decompress_8h.html#aceec72c729cdefbc0102e0e406b945e2',1,'decompress.h']]], + ['decompress_2eh_833',['decompress.h',['../decompress_8h.html',1,'']]], + ['decompress_5fdummy_834',['DECOMPRESS_DUMMY',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a7e88ffc0dd6b4591500ff8d06f24901d',1,'decompress.h']]], + ['decompress_5fhuff_835',['decompress_Huff',['../decompress_8h.html#a8d57a5f7c27992e96210d1316a043b94',1,'decompress.h']]], + ['decompress_5fhuff_836',['DECOMPRESS_HUFF',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a552ec2ffb0b59f738ead8790d726bba7',1,'decompress.h']]], + ['decompress_5fhuff1_837',['DECOMPRESS_HUFF1',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47af85a1bd7a05035d44931e8ae2b7c959a',1,'decompress.h']]], + ['decompress_5fhuff2_838',['DECOMPRESS_HUFF2',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a2c9180a08bf80fb3910795123607453a',1,'decompress.h']]], + ['decompress_5fhuff3_839',['DECOMPRESS_HUFF3',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a29d334d516ddfdc7a7ace93270a95d72',1,'decompress.h']]], + ['decompress_5fhuff4_840',['DECOMPRESS_HUFF4',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a149b900d1f0643108f3f987e30ddff1a',1,'decompress.h']]], + ['decompress_5fhuff5_841',['DECOMPRESS_HUFF5',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a30ec47e273fc5b9dadcb98f28ff29e6f',1,'decompress.h']]], + ['decompress_5fhuff6_842',['DECOMPRESS_HUFF6',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47adcd62d63c577651263fb6d6240c2370d',1,'decompress.h']]], + ['decompress_5fhuff7_843',['DECOMPRESS_HUFF7',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47acfc8e3dda6f87a22010f8abdae8976a2',1,'decompress.h']]], + ['decompress_5fhuff8_844',['DECOMPRESS_HUFF8',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a70bb6597010e5f3ae215eaa05b71f826',1,'decompress.h']]], + ['decompress_5flz10_845',['DECOMPRESS_LZ10',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a1f5ccfe86c3c4d2efa980b1a40f2b94d',1,'decompress.h']]], + ['decompress_5flz11_846',['DECOMPRESS_LZ11',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a7f78c3240f1cc1b6ea07e9f8c5057e10',1,'decompress.h']]], + ['decompress_5flz11_847',['decompress_LZ11',['../decompress_8h.html#ab5893c39e2c01602c7b6cd2a928df7b4',1,'decompress.h']]], + ['decompress_5flzss_848',['DECOMPRESS_LZSS',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a0ae27226b18f8697786ff436fecc2abb',1,'decompress.h']]], + ['decompress_5flzss_849',['decompress_LZSS',['../decompress_8h.html#a4925d56b946f8ccdcf5ab528cdccd0c6',1,'decompress.h']]], + ['decompress_5frle_850',['DECOMPRESS_RLE',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a7ab5e09ffe4b9d8dc8533e8b80cfc14a',1,'decompress.h']]], + ['decompress_5frle_851',['decompress_RLE',['../decompress_8h.html#a2a2babed787a73655b49e1b29a456aad',1,'decompress.h']]], + ['decompresscallback_852',['decompressCallback',['../decompress_8h.html#a82afe6b8cb1580641c2b7cc4afe10586',1,'decompress.h']]], + ['decompresscallback_5ffd_853',['decompressCallback_FD',['../decompress_8h.html#a55dc28982013508464dc397168ca5f19',1,'decompress.h']]], + ['decompresscallback_5fstdio_854',['decompressCallback_Stdio',['../decompress_8h.html#a6453066b1202aab9df9805f9bda717c3',1,'decompress.h']]], + ['decompressheader_855',['decompressHeader',['../decompress_8h.html#a5de8b5325fcfa3ccf069ced93bb2615f',1,'decompress.h']]], + ['decompressiovec_856',['decompressIOVec',['../structdecompressIOVec.html',1,'']]], + ['decompresstype_857',['decompressType',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47',1,'decompress.h']]], + ['decompressv_858',['decompressV',['../decompress_8h.html#aa7547936f0d622823db1b9ee8ac53547',1,'decompress.h']]], + ['decompressv_5fhuff_859',['decompressV_Huff',['../decompress_8h.html#a94caad1153dcc297b400858c37aac3c3',1,'decompress.h']]], + ['decompressv_5flz11_860',['decompressV_LZ11',['../decompress_8h.html#a7dbb269c5aa8759ea5eebfbf8ecf5a68',1,'decompress.h']]], + ['decompressv_5flzss_861',['decompressV_LZSS',['../decompress_8h.html#aa9fcd89e5e81327e098e0ba638b2d040',1,'decompress.h']]], + ['decompressv_5frle_862',['decompressV_RLE',['../decompress_8h.html#a109b071a95bce3a2e4ea19b94c5d1b5f',1,'decompress.h']]], + ['defaultwidth_863',['defaultWidth',['../structFINF__s.html#a44fde14c7fdb80ed18ec37a222787642',1,'FINF_s']]], + ['dependencies_864',['dependencies',['../structExHeader__SystemControlInfo.html#a31c6025339c011c762aaebf2c52ff90d',1,'ExHeader_SystemControlInfo']]], + ['deprecated_20list_865',['Deprecated List',['../deprecated.html',1,'']]], + ['descriptor_5fversion_866',['descriptor_version',['../structExHeader__Arm9AccessControl.html#a1532cbb5728aa72ff79b13de7d935f4a',1,'ExHeader_Arm9AccessControl']]], + ['descriptors_867',['descriptors',['../structExHeader__Arm9AccessControl.html#ae7a1537d9a27767fe39645fd5b0bf6b5',1,'ExHeader_Arm9AccessControl::descriptors()'],['../structExHeader__Arm11KernelCapabilities.html#a24ff49897c20d19c0403130a746a9d8c',1,'ExHeader_Arm11KernelCapabilities::descriptors()']]], + ['dest_5fip_868',['dest_ip',['../structSOCU__RoutingTableEntry.html#a965d7fd897542b8285c0f65a5195309d',1,'SOCU_RoutingTableEntry']]], + ['deviceid_869',['deviceId',['../structDmaDeviceConfig.html#a0d63473bec3ec7ebff879ccfc6b26d4d',1,'DmaDeviceConfig']]], + ['dirhashtableoff_870',['dirHashTableOff',['../structromfs__header.html#af1347ff1383b016f63505bf270e86d35',1,'romfs_header']]], + ['dirhashtablesize_871',['dirHashTableSize',['../structromfs__header.html#a6c84c8f3674cb651abec63695c9570e0',1,'romfs_header']]], + ['dirtableoff_872',['dirTableOff',['../structromfs__header.html#ae69ef70fbbff94cac2ad508f3b9648a5',1,'romfs_header']]], + ['dirtablesize_873',['dirTableSize',['../structromfs__header.html#a3d55de35b6579d211430645d1fbbe070',1,'romfs_header']]], + ['disable_5fsharing_874',['disable_sharing',['../structMiiData.html#a7488bce578fa20415232042b2993628c',1,'MiiData']]], + ['distancecameras_875',['distanceCameras',['../structCAMU__StereoCameraCalibrationData.html#a0283ceebabd56efc49a208318094ea91',1,'CAMU_StereoCameraCalibrationData']]], + ['distancetochart_876',['distanceToChart',['../structCAMU__StereoCameraCalibrationData.html#a5320dda35a896aed071098f4e48e19cb',1,'CAMU_StereoCameraCalibrationData']]], + ['dmacfg_5fdst_5fis_5fdevice_877',['DMACFG_DST_IS_DEVICE',['../svc_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa8aaca715197bd1cb3677d4a5054475e4',1,'svc.h']]], + ['dmacfg_5fkeep_5flocked_878',['DMACFG_KEEP_LOCKED',['../svc_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aaf5ab7887ce35d2081382ebcca6f244a7',1,'svc.h']]], + ['dmacfg_5fsrc_5fis_5fdevice_879',['DMACFG_SRC_IS_DEVICE',['../svc_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa367fac3881d4b71507ef5dedc1056daa',1,'svc.h']]], + ['dmacfg_5fuse_5fdst_5fconfig_880',['DMACFG_USE_DST_CONFIG',['../svc_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aacec84f8191c71ebe4ee1fea21f6da313',1,'svc.h']]], + ['dmacfg_5fuse_5fsrc_5fconfig_881',['DMACFG_USE_SRC_CONFIG',['../svc_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa7e14b15bddd396c19222999d931c9c31',1,'svc.h']]], + ['dmacfg_5fwait_5favailable_882',['DMACFG_WAIT_AVAILABLE',['../svc_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aabca3d1ffd34e4da56caf2b4f605bab4b',1,'svc.h']]], + ['dmaconfig_883',['DmaConfig',['../structDmaConfig.html',1,'']]], + ['dmaconfiginitdefault_884',['dmaConfigInitDefault',['../svc_8h.html#acc49794f897fc07eaa97641b725f82a3',1,'svc.h']]], + ['dmadeviceconfig_885',['DmaDeviceConfig',['../structDmaDeviceConfig.html',1,'']]], + ['dmadeviceconfiginitdefault_886',['dmaDeviceConfigInitDefault',['../svc_8h.html#af845bb532f3d83b20b5029bd4d913801',1,'svc.h']]], + ['dmarst_5fresume_5fdevice_887',['DMARST_RESUME_DEVICE',['../svc_8h.html#ad63240694c6dc2a28c24bfc2db90ad7aafba2c004446b8bcc6c178cc2ebcc9320',1,'svc.h']]], + ['dmarst_5funlock_888',['DMARST_UNLOCK',['../svc_8h.html#ad63240694c6dc2a28c24bfc2db90ad7aae57d3f8a94c001e6d7d3bcf05cdd91f0',1,'svc.h']]], + ['dmastate_889',['DmaState',['../svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebf',1,'svc.h']]], + ['dmastate_5fdone_890',['DMASTATE_DONE',['../svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebfadbb15c5adf95a4a14ac003c55d8c76e9',1,'svc.h']]], + ['dmastate_5frunning_891',['DMASTATE_RUNNING',['../svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebfae44a8d9ac979aa20cd6851f8b2663291',1,'svc.h']]], + ['dmastate_5fstarting_892',['DMASTATE_STARTING',['../svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebfa4cfd2baa9583d9e77769f5df64de91cf',1,'svc.h']]], + ['dmastate_5fwfp_5fdst_893',['DMASTATE_WFP_DST',['../svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebfa9ba0cef50f71f9aa4206a49ec23909c1',1,'svc.h']]], + ['dmastate_5fwfp_5fsrc_894',['DMASTATE_WFP_SRC',['../svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebfa053576718864451c3aaee2cd88784570',1,'svc.h']]], + ['downloadedsize_895',['downloadedSize',['../structNIM__TitleProgress.html#a85833d41dcb3f889e03390cdb042df0f',1,'NIM_TitleProgress']]], + ['drift_5fms_896',['drift_ms',['../structosTimeRef__s.html#a8323da0465ca90f39f883751584041bd',1,'osTimeRef_s']]], + ['ds_5fcannot_5frecover_897',['DS_CANNOT_RECOVER',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99a0e2a8ccc9b58047bbbd218cfbd1db315',1,'nim.h']]], + ['ds_5fcommitting_898',['DS_COMMITTING',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99a43453458305e7a0d446d6815dc8218a8',1,'nim.h']]], + ['ds_5fcreate_5fcontext_899',['DS_CREATE_CONTEXT',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99a43439a49311b0f5c616fe5d9b3bbcba9',1,'nim.h']]], + ['ds_5fdownload_5fcontents_900',['DS_DOWNLOAD_CONTENTS',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99a5e4f82b39f7bc77de74a33a30b89c425',1,'nim.h']]], + ['ds_5fdownload_5ftmd_901',['DS_DOWNLOAD_TMD',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99a87d7f0d12006b5463b74c3fd2572ab11',1,'nim.h']]], + ['ds_5ffinished_902',['DS_FINISHED',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99aef98c6ce321fcab9027d734f756cb3e5',1,'nim.h']]], + ['ds_5finitialized_903',['DS_INITIALIZED',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99aff967378cb9c0d0d6519eb3623868aa6',1,'nim.h']]], + ['ds_5finvalid_904',['DS_INVALID',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99a767e5948f84135fa9d2a9e05fe1f3b9e',1,'nim.h']]], + ['ds_5fnot_5finitialized_905',['DS_NOT_INITIALIZED',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99aedc8fb4cc47eb55375aeda921c599480',1,'nim.h']]], + ['ds_5fprepare_5fsave_5fdata_906',['DS_PREPARE_SAVE_DATA',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99a8d76690fa959b9214d8a933534b85aad',1,'nim.h']]], + ['ds_5fversion_5ferror_907',['DS_VERSION_ERROR',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99a8ed24d3e4c6e79c0f895214ae8934c2a',1,'nim.h']]], + ['ds_5fwait_5fcommit_908',['DS_WAIT_COMMIT',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99afdab30cbbb4b07b513f9c3a0675cd452',1,'nim.h']]], + ['dsp_2eh_909',['dsp.h',['../dsp_8h.html',1,'']]], + ['dsp_5fconvertprocessaddressfromdspdram_910',['DSP_ConvertProcessAddressFromDspDram',['../dsp_8h.html#a6fdd9cc055ccd78a709e725d9c4eda59',1,'dsp.h']]], + ['dsp_5fflushdatacache_911',['DSP_FlushDataCache',['../dsp_8h.html#a0668b4d621800adab729d50a616e09d1',1,'dsp.h']]], + ['dsp_5fgetheadphonestatus_912',['DSP_GetHeadphoneStatus',['../dsp_8h.html#acd1bc0605288e307586d0e9535e3c8e4',1,'dsp.h']]], + ['dsp_5fgetsemaphorehandle_913',['DSP_GetSemaphoreHandle',['../dsp_8h.html#ad02522bc41ec6161a24b6aee6fd30b17',1,'dsp.h']]], + ['dsp_5fhooktype_914',['DSP_HookType',['../dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149',1,'dsp.h']]], + ['dsp_5finterrupt_5fpipe_915',['DSP_INTERRUPT_PIPE',['../dsp_8h.html#ab0628a987bd913080b9aaf672737061eaac8d6062e2ce93a63bf9098955b04046',1,'dsp.h']]], + ['dsp_5finterrupttype_916',['DSP_InterruptType',['../dsp_8h.html#ab0628a987bd913080b9aaf672737061e',1,'dsp.h']]], + ['dsp_5finvalidatedatacache_917',['DSP_InvalidateDataCache',['../dsp_8h.html#ab964b185704e2e92200d69e9cec9efeb',1,'dsp.h']]], + ['dsp_5floadcomponent_918',['DSP_LoadComponent',['../dsp_8h.html#a5a7a4f0bf256694245ce0c4bb58194b9',1,'dsp.h']]], + ['dsp_5freadpipeifpossible_919',['DSP_ReadPipeIfPossible',['../dsp_8h.html#a86dec214011d3a9d11c7b25a68ca787d',1,'dsp.h']]], + ['dsp_5frecvdata_920',['DSP_RecvData',['../dsp_8h.html#aad15502e5eab6c13e41e84a64650a205',1,'dsp.h']]], + ['dsp_5frecvdataisready_921',['DSP_RecvDataIsReady',['../dsp_8h.html#a5c5cfac7298789b5c2153a55a5f72609',1,'dsp.h']]], + ['dsp_5fregisterinterruptevents_922',['DSP_RegisterInterruptEvents',['../dsp_8h.html#a1c88b0c126dd6839f24d2ea05d2b174f',1,'dsp.h']]], + ['dsp_5fsenddata_923',['DSP_SendData',['../dsp_8h.html#a3212e65ccea959f36726ffbdc632e536',1,'dsp.h']]], + ['dsp_5fsenddataisempty_924',['DSP_SendDataIsEmpty',['../dsp_8h.html#ab21632f764ffae7fb282325ee4f95d50',1,'dsp.h']]], + ['dsp_5fsetsemaphore_925',['DSP_SetSemaphore',['../dsp_8h.html#a9dffd384a71ffa4a3b4c85fddb0392e6',1,'dsp.h']]], + ['dsp_5fsetsemaphoremask_926',['DSP_SetSemaphoreMask',['../dsp_8h.html#a376cfd4e6487ef063bf2b73e1c028188',1,'dsp.h']]], + ['dsp_5funloadcomponent_927',['DSP_UnloadComponent',['../dsp_8h.html#abbe3be0f80719eee26aa3e894fd7496f',1,'dsp.h']]], + ['dsp_5fwriteprocesspipe_928',['DSP_WriteProcessPipe',['../dsp_8h.html#a1eab85acd5e8b238695723405517e5a1',1,'dsp.h']]], + ['dspexit_929',['dspExit',['../dsp_8h.html#a59e493df3a168b5724bff5e88f03250b',1,'dsp.h']]], + ['dsphook_930',['dspHook',['../dsp_8h.html#a8fa3c1e0eee06626b86e53c0953165ba',1,'dsp.h']]], + ['dsphook_5foncancel_931',['DSPHOOK_ONCANCEL',['../dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149a7e0e9212bb8a48bcfe85782714e51e0b',1,'dsp.h']]], + ['dsphook_5fonsleep_932',['DSPHOOK_ONSLEEP',['../dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149a683e68506808fbb4cd057972f5b878be',1,'dsp.h']]], + ['dsphook_5fonwakeup_933',['DSPHOOK_ONWAKEUP',['../dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149ac0e23de4d01222d11f9cf3ae5045a633',1,'dsp.h']]], + ['dsphookcookie_934',['dspHookCookie',['../structdspHookCookie.html',1,'']]], + ['dsphookfn_935',['dspHookFn',['../dsp_8h.html#a0524d9af6690dcf81759f84e820b60e5',1,'dsp.h']]], + ['dspinit_936',['dspInit',['../dsp_8h.html#a2722008d6a077f5d444acf4b74a16ba4',1,'dsp.h']]], + ['dspiscomponentloaded_937',['dspIsComponentLoaded',['../dsp_8h.html#af041b7eff2bc87f266687b5879fb36a3',1,'dsp.h']]], + ['dspunhook_938',['dspUnhook',['../dsp_8h.html#a867964a36a9985dee363cbf31be9621c',1,'dsp.h']]], + ['dstcfg_939',['dstCfg',['../structDmaConfig.html#af3ffc0bd8ef24a50cdb68aeb24f88819',1,'DmaConfig']]], + ['dutycycle_5f0_940',['DutyCycle_0',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473ba9d91665edbc53cb3c1b38ab65c9e148f',1,'csnd.h']]], + ['dutycycle_5f12_941',['DutyCycle_12',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473ba97eb8f9594b0a93ede4822fff2617395',1,'csnd.h']]], + ['dutycycle_5f25_942',['DutyCycle_25',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473ba1c2f324b689725a54bc022735077c60d',1,'csnd.h']]], + ['dutycycle_5f37_943',['DutyCycle_37',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473ba41468ebe9f108e9e631a43f8e721f0e6',1,'csnd.h']]], + ['dutycycle_5f50_944',['DutyCycle_50',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473ba74404af2e56a99dd7420b8a8d31bb274',1,'csnd.h']]], + ['dutycycle_5f62_945',['DutyCycle_62',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473ba62cbe7729975083926caf9b6f86eed46',1,'csnd.h']]], + ['dutycycle_5f75_946',['DutyCycle_75',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473ba7bfe315fdd8bb531c05d82cdf047da19',1,'csnd.h']]], + ['dutycycle_5f87_947',['DutyCycle_87',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473ba0f083b7bb0225ac272a7bd937bd0b836',1,'csnd.h']]], + ['dvlb_5ffree_948',['DVLB_Free',['../shbin_8h.html#a60c02d561312081aefb2096f2b005643',1,'shbin.h']]], + ['dvlb_5fparsefile_949',['DVLB_ParseFile',['../shbin_8h.html#afd50bf30516e9e3acffd3b62cd061cb0',1,'shbin.h']]], + ['dvlb_5fs_950',['DVLB_s',['../structDVLB__s.html',1,'']]], + ['dvle_951',['DVLE',['../structDVLB__s.html#a1934abe9c4109579746d57c5b20b5834',1,'DVLB_s']]], + ['dvle_952',['dvle',['../structshaderInstance__s.html#a3e0cff4ae283440abfb6b94ad97b5e6d',1,'shaderInstance_s']]], + ['dvle_5fconst_5fbool_953',['DVLE_CONST_BOOL',['../shbin_8h.html#a20873c765b1c44b7c07cfef62ff2cf09a8565a5d83c51b59af0a3f732d458e384',1,'shbin.h']]], + ['dvle_5fconst_5ffloat24_954',['DVLE_CONST_FLOAT24',['../shbin_8h.html#a20873c765b1c44b7c07cfef62ff2cf09ac34fa911905a48d40d01403ab69fc438',1,'shbin.h']]], + ['dvle_5fconst_5fu8_955',['DVLE_CONST_u8',['../shbin_8h.html#a20873c765b1c44b7c07cfef62ff2cf09acd0a71b8614aa544980ce08a846fb7e8',1,'shbin.h']]], + ['dvle_5fconstanttype_956',['DVLE_constantType',['../shbin_8h.html#a20873c765b1c44b7c07cfef62ff2cf09',1,'shbin.h']]], + ['dvle_5fconstentry_5fs_957',['DVLE_constEntry_s',['../structDVLE__constEntry__s.html',1,'']]], + ['dvle_5fgenerateoutmap_958',['DVLE_GenerateOutmap',['../shbin_8h.html#a2cb74fe229e8048536ce6d8db9ed1706',1,'shbin.h']]], + ['dvle_5fgeoshadermode_959',['DVLE_geoShaderMode',['../shbin_8h.html#ab6f0a4e64f7ec402eef735474591e21e',1,'shbin.h']]], + ['dvle_5fgetuniformregister_960',['DVLE_GetUniformRegister',['../shbin_8h.html#a6f812da3f07c86094d9033ad48b3553d',1,'shbin.h']]], + ['dvle_5foutentry_5fs_961',['DVLE_outEntry_s',['../structDVLE__outEntry__s.html',1,'']]], + ['dvle_5foutputattribute_5ft_962',['DVLE_outputAttribute_t',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457c',1,'shbin.h']]], + ['dvle_5fs_963',['DVLE_s',['../structDVLE__s.html',1,'']]], + ['dvle_5ftype_964',['DVLE_type',['../shbin_8h.html#aa9cc048117db5beffa628f10cad82c4c',1,'shbin.h']]], + ['dvle_5funiformentry_5fs_965',['DVLE_uniformEntry_s',['../structDVLE__uniformEntry__s.html',1,'']]], + ['dvlp_966',['DVLP',['../structDVLB__s.html#a89394562d20aa2dbe82e56db7a7b0138',1,'DVLB_s']]], + ['dvlp_967',['dvlp',['../structDVLE__s.html#a6a6c88a5c720fdf20f3b8e28032960b7',1,'DVLE_s']]], + ['dvlp_5fs_968',['DVLP_s',['../structDVLP__s.html',1,'']]], + ['dx_969',['dx',['../structcirclePosition.html#a2a234ca65b74a2634e067261050021bb',1,'circlePosition']]], + ['dy_970',['dy',['../structcirclePosition.html#ac617313212e138e7249a1deec7ed8f88',1,'circlePosition']]] +]; diff --git a/search/all_6.html b/search/all_6.html new file mode 100644 index 000000000..f1e516d75 --- /dev/null +++ b/search/all_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_6.js b/search/all_6.js new file mode 100644 index 000000000..af00daf76 --- /dev/null +++ b/search/all_6.js @@ -0,0 +1,130 @@ +var searchData= +[ + ['effect_971',['effect',['../structCAMU__PackageParameterContext.html#ace066aa1943785fc1e5d7309b8711ad6',1,'CAMU_PackageParameterContext::effect()'],['../structCAMU__PackageParameterContextDetail.html#aac5f8cde5c5841d68718fb2973dcd28c',1,'CAMU_PackageParameterContextDetail::effect()']]], + ['effect_5fmono_972',['EFFECT_MONO',['../cam_8h.html#a7e400ffb69486cc57f317d94eca445bfa0c5e07149804680c009899630481fd25',1,'cam.h']]], + ['effect_5fnegafilm_973',['EFFECT_NEGAFILM',['../cam_8h.html#a7e400ffb69486cc57f317d94eca445bfa2f6adb0a2d5ff94e35b286ca243fd986',1,'cam.h']]], + ['effect_5fnegative_974',['EFFECT_NEGATIVE',['../cam_8h.html#a7e400ffb69486cc57f317d94eca445bfa2a66cf09d6b59ff74015e9e5fa3b81f3',1,'cam.h']]], + ['effect_5fnone_975',['EFFECT_NONE',['../cam_8h.html#a7e400ffb69486cc57f317d94eca445bfad6b811c739c8c8ed4e7d5f1bcc9c0915',1,'cam.h']]], + ['effect_5fsepia_976',['EFFECT_SEPIA',['../cam_8h.html#a7e400ffb69486cc57f317d94eca445bfaac1c03f495cf0262a3378b87944c5807',1,'cam.h']]], + ['effect_5fsepia01_977',['EFFECT_SEPIA01',['../cam_8h.html#a7e400ffb69486cc57f317d94eca445bfac45e1b7b99506e9493c32b14aa3e6b4f',1,'cam.h']]], + ['elapsed_978',['elapsed',['../structTickCounter.html#a1999e3d45c2898670489c2625e895d78',1,'TickCounter']]], + ['enable_5fcancel_5fbutton_979',['enable_cancel_button',['../structMiiSelectorConf.html#a6a3e1fc83a95c8e9111e64f460af67ad',1,'MiiSelectorConf']]], + ['enable_5fcropping_980',['enable_cropping',['../structMVDSTD__Config.html#a95647b6dc9d9e1c251877b002de9a54d',1,'MVDSTD_Config']]], + ['enable_5fl2c_981',['enable_l2c',['../structExHeader__Arm11CoreInfo.html#a61d2282365eaa5ff5bd44e9d3fb92c62',1,'ExHeader_Arm11CoreInfo']]], + ['enable_5fselecting_5fguests_982',['enable_selecting_guests',['../structMiiSelectorConf.html#a12b709a1ebe3ac9d6ef708674784c4ac',1,'MiiSelectorConf']]], + ['encode_5futf16_983',['encode_utf16',['../utf_8h.html#a39a8de618e547cfb59367bc254a7a4d8',1,'utf.h']]], + ['encode_5futf8_984',['encode_utf8',['../utf_8h.html#af8127b9052fc5671da5589a486bd90c7',1,'utf.h']]], + ['encoding_985',['encoding',['../structFINF__s.html#abfdb94de23ab59222c6740299792ca2b',1,'FINF_s']]], + ['encryptparameter_986',['encryptParameter',['../structFS__DeviceMoveContext.html#a366d21c07babd7313aa61e2d6fc34199',1,'FS_DeviceMoveContext']]], + ['endianness_987',['endianness',['../structCFNT__s.html#a3aded45cdb1241e97f308eb32665289c',1,'CFNT_s']]], + ['endianswapsize_988',['endianSwapSize',['../structDmaConfig.html#a4edea2c1db04623bf527cfb37e907f8d',1,'DmaConfig']]], + ['endindex_989',['endIndex',['../structtag__CWDH__s.html#a0be974414f176a4e9fcb83df28baa1fb',1,'tag_CWDH_s']]], + ['endmainoffset_990',['endmainOffset',['../structDVLE__s.html#a965c0f104b2c60ca8db607b6068ba5ed',1,'DVLE_s']]], + ['endreg_991',['endReg',['../structDVLE__uniformEntry__s.html#a0212d06960a526790c56174a6756f837',1,'DVLE_uniformEntry_s']]], + ['entries_992',['entries',['../structgxCmdQueue__s.html#ade3ab748b4aeb24a5b21e9351ae487e1',1,'gxCmdQueue_s']]], + ['entry_5fdata_993',['entry_data',['../structarchive__dir__t.html#a3271a4553a27455a4dc1865c9a8daf63',1,'archive_dir_t']]], + ['entry_5fpoint_994',['entry_point',['../structAttachThreadEvent.html#a280e9603c876bf35eefadc65780d6cd2',1,'AttachThreadEvent']]], + ['enums_2eh_995',['enums.h',['../enums_8h.html',1,'']]], + ['env_2eh_996',['env.h',['../env_8h.html',1,'']]], + ['envgetaptappid_997',['envGetAptAppId',['../env_8h.html#a4d416f27dd79249cede1c7339fe08780',1,'env.h']]], + ['envgethandle_998',['envGetHandle',['../env_8h.html#ae1721df1d000407fa538b00259de262e',1,'env.h']]], + ['envgetheapsize_999',['envGetHeapSize',['../env_8h.html#aa3efa8e6fd2e8d84001d2ed335253be4',1,'env.h']]], + ['envgetlinearheapsize_1000',['envGetLinearHeapSize',['../env_8h.html#ae6dc788bb31f582a9695659dde4373ac',1,'env.h']]], + ['envgetsystemarglist_1001',['envGetSystemArgList',['../env_8h.html#a47b91cce1bdd6c5667f674d5db3357dd',1,'env.h']]], + ['envgetsystemrunflags_1002',['envGetSystemRunFlags',['../env_8h.html#aae27f53918b47d82bb59cc814a25fc15',1,'env.h']]], + ['envishomebrew_1003',['envIsHomebrew',['../env_8h.html#a50c57dd1aacb61a98605a295d3789f11',1,'env.h']]], + ['envp_1004',['envp',['../structStartupInfo.html#a4624952a107b46e2187d42631c6207f3',1,'StartupInfo']]], + ['errf_2eh_1005',['errf.h',['../errf_8h.html',1,'']]], + ['errf_5ferrtype_1006',['ERRF_ErrType',['../errf_8h.html#a61a0c7d3c30f1082f5ca26644873e9f1',1,'errf.h']]], + ['errf_5ferrtype_5fcard_5fremoved_1007',['ERRF_ERRTYPE_CARD_REMOVED',['../errf_8h.html#a61a0c7d3c30f1082f5ca26644873e9f1a4dd431336e8dc4a819f97ace6b5c8e39',1,'errf.h']]], + ['errf_5ferrtype_5fexception_1008',['ERRF_ERRTYPE_EXCEPTION',['../errf_8h.html#a61a0c7d3c30f1082f5ca26644873e9f1a5f67936389cd0f9d0bf7d9d4060f5dcc',1,'errf.h']]], + ['errf_5ferrtype_5ffailure_1009',['ERRF_ERRTYPE_FAILURE',['../errf_8h.html#a61a0c7d3c30f1082f5ca26644873e9f1ae455818133dfc035f27bc0039496161e',1,'errf.h']]], + ['errf_5ferrtype_5fgeneric_1010',['ERRF_ERRTYPE_GENERIC',['../errf_8h.html#a61a0c7d3c30f1082f5ca26644873e9f1a974d51ce630cc09441279ab080d0e666',1,'errf.h']]], + ['errf_5ferrtype_5flog_5fonly_1011',['ERRF_ERRTYPE_LOG_ONLY',['../errf_8h.html#a61a0c7d3c30f1082f5ca26644873e9f1a45e0f0ed85c5b226806ceb98548fd5f1',1,'errf.h']]], + ['errf_5ferrtype_5fnand_5fdamaged_1012',['ERRF_ERRTYPE_NAND_DAMAGED',['../errf_8h.html#a61a0c7d3c30f1082f5ca26644873e9f1ab0243f356f22723f6a5d1ff01eff05af',1,'errf.h']]], + ['errf_5fexception_5fdata_5fabort_1013',['ERRF_EXCEPTION_DATA_ABORT',['../errf_8h.html#a8b4fd015c0f15a8c060a4dcd4d385fb4ac3fcf2185c54992445e425ca124364ba',1,'errf.h']]], + ['errf_5fexception_5fprefetch_5fabort_1014',['ERRF_EXCEPTION_PREFETCH_ABORT',['../errf_8h.html#a8b4fd015c0f15a8c060a4dcd4d385fb4a22fd747926a2427e836ca01c0f08749f',1,'errf.h']]], + ['errf_5fexception_5fundefined_1015',['ERRF_EXCEPTION_UNDEFINED',['../errf_8h.html#a8b4fd015c0f15a8c060a4dcd4d385fb4a0dc50b554bd87bac9e332a354d534426',1,'errf.h']]], + ['errf_5fexception_5fvfp_1016',['ERRF_EXCEPTION_VFP',['../errf_8h.html#a8b4fd015c0f15a8c060a4dcd4d385fb4ada008b276032c006a4963a0c21c79762',1,'errf.h']]], + ['errf_5fexceptiondata_1017',['ERRF_ExceptionData',['../structERRF__ExceptionData.html',1,'']]], + ['errf_5fexceptionhandler_1018',['ERRF_ExceptionHandler',['../errf_8h.html#a4265599a9b0dcfb716879ae9bd2a0923',1,'errf.h']]], + ['errf_5fexceptioninfo_1019',['ERRF_ExceptionInfo',['../structERRF__ExceptionInfo.html',1,'']]], + ['errf_5fexceptiontype_1020',['ERRF_ExceptionType',['../errf_8h.html#a8b4fd015c0f15a8c060a4dcd4d385fb4',1,'errf.h']]], + ['errf_5ffatalerrinfo_1021',['ERRF_FatalErrInfo',['../structERRF__FatalErrInfo.html',1,'']]], + ['errf_5flogresult_1022',['ERRF_LogResult',['../errf_8h.html#a83184c59d3020fc20e9e6a87706396c3',1,'errf.h']]], + ['errf_5fsetuserstring_1023',['ERRF_SetUserString',['../errf_8h.html#a329c838447123a5ecbfdabbd5c13f1f7',1,'errf.h']]], + ['errf_5fthrow_1024',['ERRF_Throw',['../errf_8h.html#a99561fca39e236490227ea10586d5600',1,'errf.h']]], + ['errf_5fthrowresult_1025',['ERRF_ThrowResult',['../errf_8h.html#a0320c231112031c907d55d41a646b35b',1,'errf.h']]], + ['errf_5fthrowresultwithmessage_1026',['ERRF_ThrowResultWithMessage',['../errf_8h.html#a7b8dd75d6d8caca5ca1ed957455b47c3',1,'errf.h']]], + ['errfexit_1027',['errfExit',['../errf_8h.html#a629fbb8eb87ccd50fe8bc19b41efc754',1,'errf.h']]], + ['errfgetsessionhandle_1028',['errfGetSessionHandle',['../errf_8h.html#a8ae083ea6b3ce9070c6a3bde3b38d372',1,'errf.h']]], + ['errfinit_1029',['errfInit',['../errf_8h.html#ac01f0bf7d1f4b093304d02b07ce041b7',1,'errf.h']]], + ['error_2eh_1030',['error.h',['../error_8h.html',1,'']]], + ['error_5fcode_1031',['ERROR_CODE',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffdaf92feceab1e86b1db3922220d4e26664',1,'error.h']]], + ['error_5fcode_5flanguage_1032',['ERROR_CODE_LANGUAGE',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffdad4c9df6942a9735204062e56acc4ab67',1,'error.h']]], + ['error_5feula_1033',['ERROR_EULA',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffda858b3c0206d6d0f5d3cda16042e1abd8',1,'error.h']]], + ['error_5feula_5flanguage_1034',['ERROR_EULA_LANGUAGE',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffda062aae4599248eaa95d57de9ac2ee3e3',1,'error.h']]], + ['error_5flanguage_5fflag_1035',['ERROR_LANGUAGE_FLAG',['../error_8h.html#a06fc87d81c62e9abb8790b6e5713c55bafb9e7dbc738a2577514a8138ec422cc1',1,'error.h']]], + ['error_5ftext_1036',['ERROR_TEXT',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffdadedd4701f21fd3366217c2475b97def0',1,'error.h']]], + ['error_5ftext_5flanguage_1037',['ERROR_TEXT_LANGUAGE',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffdae1a094b404a29ac5e378ce171ceb58e4',1,'error.h']]], + ['error_5ftext_5flanguage_5fword_5fwrap_1038',['ERROR_TEXT_LANGUAGE_WORD_WRAP',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffdaac245e4db1720be42d78eefe9825d301',1,'error.h']]], + ['error_5ftext_5fword_5fwrap_1039',['ERROR_TEXT_WORD_WRAP',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffda0862f205f0ca80f76b49a867eed6f086',1,'error.h']]], + ['error_5ftype_5fagree_1040',['ERROR_TYPE_AGREE',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffdab240bc96ed151585772beed748a48973',1,'error.h']]], + ['error_5ftype_5feula_5fdraw_5fonly_1041',['ERROR_TYPE_EULA_DRAW_ONLY',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffda0140e9a3dec9b05cb39cbb1a98414a66',1,'error.h']]], + ['error_5ftype_5feula_5ffirst_5fboot_1042',['ERROR_TYPE_EULA_FIRST_BOOT',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffda147b3e04139b891cd7f909af63ba7505',1,'error.h']]], + ['error_5fword_5fwrap_5fflag_1043',['ERROR_WORD_WRAP_FLAG',['../error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba9dcc1643730efd181f38f6ec0601fd29',1,'error.h']]], + ['errorcode_1044',['errorCode',['../error_8h.html#a6b764f8c4030681ef11c995f2d97adc3',1,'error.h']]], + ['errorconf_1045',['errorConf',['../structerrorConf.html',1,'']]], + ['errordisp_1046',['errorDisp',['../error_8h.html#a24660ba95ca3de3aaf9e505bd0f3491b',1,'error.h']]], + ['errorinit_1047',['errorInit',['../error_8h.html#a1da3d9fb9929410c09ae3c250c804afb',1,'error.h']]], + ['errortext_1048',['errorText',['../error_8h.html#a30a8a7222331915c0a10901fe8b74f0e',1,'error.h']]], + ['errortype_1049',['errorType',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffd',1,'error.h']]], + ['excep_1050',['excep',['../structERRF__ExceptionData.html#aed967754338c2e19153c98be40827c7c',1,'ERRF_ExceptionData']]], + ['exception_1051',['exception',['../structDebugEventInfo.html#ae0dc7236b183fa057138fcfff1fc0a92',1,'DebugEventInfo']]], + ['exception_5fdata_1052',['exception_data',['../structERRF__FatalErrInfo.html#ae6b7eb065a91bc3a2ede7af660c07cc6',1,'ERRF_FatalErrInfo']]], + ['exceptionevent_1053',['ExceptionEvent',['../structExceptionEvent.html',1,'']]], + ['exceptioneventtype_1054',['ExceptionEventType',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961',1,'svc.h']]], + ['exceptionhandler_1055',['ExceptionHandler',['../thread_8h.html#a37848b429717564001807d9619349b31',1,'thread.h']]], + ['excevent_5fattach_5fbreak_1056',['EXCEVENT_ATTACH_BREAK',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a84e1ee736127c4a2fed63ba26f7f62de',1,'svc.h']]], + ['excevent_5fdata_5fabort_1057',['EXCEVENT_DATA_ABORT',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961ad0388e2bb9502bf104eeae6d61d6178d',1,'svc.h']]], + ['excevent_5fdebugger_5fbreak_1058',['EXCEVENT_DEBUGGER_BREAK',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a5447fb68701a56078c86d7c11825d4b6',1,'svc.h']]], + ['excevent_5fprefetch_5fabort_1059',['EXCEVENT_PREFETCH_ABORT',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a8a8d6492fced221e5c4fafba19af8336',1,'svc.h']]], + ['excevent_5fstop_5fpoint_1060',['EXCEVENT_STOP_POINT',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961ade5c633f2939b0c6847bf00eb191e09d',1,'svc.h']]], + ['excevent_5funaligned_5fdata_5faccess_1061',['EXCEVENT_UNALIGNED_DATA_ACCESS',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a395e456839766ff94e2ed7e62a4393a6',1,'svc.h']]], + ['excevent_5fundefined_5finstruction_1062',['EXCEVENT_UNDEFINED_INSTRUCTION',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a93595971d3fb771d02e6aed6512af6e9',1,'svc.h']]], + ['excevent_5fundefined_5fsyscall_1063',['EXCEVENT_UNDEFINED_SYSCALL',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a069cc910b91b81ad647d57eda968d6f0',1,'svc.h']]], + ['excevent_5fuser_5fbreak_1064',['EXCEVENT_USER_BREAK',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a2675f2c2f8166cebd857bf45bf200380',1,'svc.h']]], + ['exheader_1065',['ExHeader',['../structExHeader.html',1,'']]], + ['exheader_2eh_1066',['exheader.h',['../exheader_8h.html',1,'']]], + ['exheader_5faccesscontrolinfo_1067',['ExHeader_AccessControlInfo',['../structExHeader__AccessControlInfo.html',1,'']]], + ['exheader_5faccessdescriptor_1068',['ExHeader_AccessDescriptor',['../structExHeader__AccessDescriptor.html',1,'']]], + ['exheader_5farm11coreinfo_1069',['ExHeader_Arm11CoreInfo',['../structExHeader__Arm11CoreInfo.html',1,'']]], + ['exheader_5farm11kernelcapabilities_1070',['ExHeader_Arm11KernelCapabilities',['../structExHeader__Arm11KernelCapabilities.html',1,'']]], + ['exheader_5farm11storageinfo_1071',['ExHeader_Arm11StorageInfo',['../structExHeader__Arm11StorageInfo.html',1,'']]], + ['exheader_5farm11systemlocalcapabilities_1072',['ExHeader_Arm11SystemLocalCapabilities',['../structExHeader__Arm11SystemLocalCapabilities.html',1,'']]], + ['exheader_5farm9accesscontrol_1073',['ExHeader_Arm9AccessControl',['../structExHeader__Arm9AccessControl.html',1,'']]], + ['exheader_5fcodesectioninfo_1074',['ExHeader_CodeSectionInfo',['../structExHeader__CodeSectionInfo.html',1,'']]], + ['exheader_5fcodesetinfo_1075',['ExHeader_CodeSetInfo',['../structExHeader__CodeSetInfo.html',1,'']]], + ['exheader_5finfo_1076',['ExHeader_Info',['../structExHeader__Info.html',1,'']]], + ['exheader_5fsystemcontrolinfo_1077',['ExHeader_SystemControlInfo',['../structExHeader__SystemControlInfo.html',1,'']]], + ['exheader_5fsysteminfo_1078',['ExHeader_SystemInfo',['../structExHeader__SystemInfo.html',1,'']]], + ['exheader_5fsysteminfoflags_1079',['ExHeader_SystemInfoFlags',['../structExHeader__SystemInfoFlags.html',1,'']]], + ['exit_5fprocess_1080',['exit_process',['../structDebugEventInfo.html#a11b0fce7e428241a2d2dc91ad125840e',1,'DebugEventInfo']]], + ['exit_5fsleep_5fevents_1081',['exit_sleep_events',['../structPtmSleepConfig.html#a8b391873e05ee461742cba162a5aadaa',1,'PtmSleepConfig']]], + ['exit_5fthread_1082',['exit_thread',['../structDebugEventInfo.html#a3fd7da7948fd7c8967596b24bdb100cd',1,'DebugEventInfo']]], + ['exitprocess_5fevent_5fdebug_5fterminate_1083',['EXITPROCESS_EVENT_DEBUG_TERMINATE',['../svc_8h.html#a2e62624dcd35d5795b6f1c99933c576fa16ce26136f8806a56dc5419954a53010',1,'svc.h']]], + ['exitprocess_5fevent_5fexit_1084',['EXITPROCESS_EVENT_EXIT',['../svc_8h.html#a2e62624dcd35d5795b6f1c99933c576faccb26b6a0c89e63f867c8882b65f7d57',1,'svc.h']]], + ['exitprocess_5fevent_5fterminate_1085',['EXITPROCESS_EVENT_TERMINATE',['../svc_8h.html#a2e62624dcd35d5795b6f1c99933c576faefc8659c329768612032ddd127a1eade',1,'svc.h']]], + ['exitprocessevent_1086',['ExitProcessEvent',['../structExitProcessEvent.html',1,'']]], + ['exitprocesseventreason_1087',['ExitProcessEventReason',['../svc_8h.html#a2e62624dcd35d5795b6f1c99933c576f',1,'svc.h']]], + ['exitthread_5fevent_5fexit_1088',['EXITTHREAD_EVENT_EXIT',['../svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9af6e122c684d430dbf1e0154c9861da4f',1,'svc.h']]], + ['exitthread_5fevent_5fexit_5fprocess_1089',['EXITTHREAD_EVENT_EXIT_PROCESS',['../svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9a2d99741dd3861d2c2cc0ad3de081151b',1,'svc.h']]], + ['exitthread_5fevent_5fterminate_1090',['EXITTHREAD_EVENT_TERMINATE',['../svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9ad91d858c68b3f94b62fe4d275f9e9bf5',1,'svc.h']]], + ['exitthread_5fevent_5fterminate_5fprocess_1091',['EXITTHREAD_EVENT_TERMINATE_PROCESS',['../svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9ac862b5b2c7d0efb53e0f3143c7601ea4',1,'svc.h']]], + ['exitthreadevent_1092',['ExitThreadEvent',['../structExitThreadEvent.html',1,'']]], + ['exitthreadeventreason_1093',['ExitThreadEventReason',['../svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9',1,'svc.h']]], + ['exposure_1094',['exposure',['../structCAMU__PackageParameterCameraSelect.html#a3a409471750c34b15e9cd7cefa0c3bac',1,'CAMU_PackageParameterCameraSelect']]], + ['extdata_5fid_1095',['extdata_id',['../structExHeader__Arm11StorageInfo.html#ab7aa9144dbd17e063e589b44bfb111bb',1,'ExHeader_Arm11StorageInfo']]], + ['eye_5fdetails_1096',['eye_details',['../structMiiData.html#a07eabbf5a78c770a651ee84bb3620b95',1,'MiiData']]], + ['eyebrow_5fdetails_1097',['eyebrow_details',['../structMiiData.html#ab2e89ee4a3e3702f5813106e8e5348b8',1,'MiiData']]] +]; diff --git a/search/all_7.html b/search/all_7.html new file mode 100644 index 000000000..8ddbf6c8e --- /dev/null +++ b/search/all_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_7.js b/search/all_7.js new file mode 100644 index 000000000..4a59607dd --- /dev/null +++ b/search/all_7.js @@ -0,0 +1,379 @@ +var searchData= +[ + ['f32tof16_1098',['f32tof16',['../gpu_8h.html#a5111de2ce07fc3fedfad8e95f064354f',1,'gpu.h']]], + ['f32tof20_1099',['f32tof20',['../gpu_8h.html#acc595cca08521b3449de0073a35df1d8',1,'gpu.h']]], + ['f32tof24_1100',['f32tof24',['../gpu_8h.html#a6c697bf62801f9c18d7159d1fae7f7ee',1,'gpu.h']]], + ['f32tof31_1101',['f32tof31',['../gpu_8h.html#a502feeb574d6c311063cb5711946c28f',1,'gpu.h']]], + ['face_5fdetails_1102',['face_details',['../structMiiData.html#a7dc12c114d51197fba57e51bbc538f8d',1,'MiiData']]], + ['face_5fstyle_1103',['face_style',['../structMiiData.html#a372a135abb0b87deae5a6555c4209492',1,'MiiData']]], + ['failure_5fmesg_1104',['failure_mesg',['../structERRF__FatalErrInfo.html#a2bb4275b48b6373f058e5e8b4011a893',1,'ERRF_FatalErrInfo']]], + ['far_1105',['far',['../structERRF__ExceptionInfo.html#aaa73674afcab2c7a396c56a765e39327',1,'ERRF_ExceptionInfo']]], + ['fault_1106',['fault',['../structExceptionEvent.html#a6f67b148ec6fcb5064b09e5e5c70c357',1,'ExceptionEvent']]], + ['fault_5finformation_1107',['fault_information',['../structFaultExceptionEvent.html#a98ddfc2eacfa9ae2a0374a80f19f77a3',1,'FaultExceptionEvent::fault_information()'],['../structStopPointExceptionEvent.html#a6dbbc526a72b163971660b29da44a6ae',1,'StopPointExceptionEvent::fault_information()']]], + ['faultexceptionevent_1108',['FaultExceptionEvent',['../structFaultExceptionEvent.html',1,'']]], + ['favorite_1109',['favorite',['../structMiiData.html#a0f250220b017c77f5633574aa9a38358',1,'MiiData']]], + ['fd_1110',['fd',['../structarchive__dir__t.html#a9554e472c1c0d61cb42dbc94eb3ebead',1,'archive_dir_t']]], + ['fg_1111',['fg',['../structPrintConsole.html#ad329e4a7372f51e7b64cceca3be8d2df',1,'PrintConsole']]], + ['filedataoff_1112',['fileDataOff',['../structromfs__header.html#a6bf8b809ccc63d8c0a96cffd4cbfc2cf',1,'romfs_header']]], + ['filehashtableoff_1113',['fileHashTableOff',['../structromfs__header.html#a2842888e512e7e2beb1df496e16b418a',1,'romfs_header']]], + ['filehashtablesize_1114',['fileHashTableSize',['../structromfs__header.html#ab9bb25525cf89573733edb07f72f7f29',1,'romfs_header']]], + ['filesize_1115',['fileSize',['../structCFNT__s.html#a9e84737a61e16976f24428aa4ea7dd8b',1,'CFNT_s::fileSize()'],['../structFS__DirectoryEntry.html#af13cf0056078d7a9c0dedb8fe2bd7077',1,'FS_DirectoryEntry::fileSize()']]], + ['filetableoff_1116',['fileTableOff',['../structromfs__header.html#a0af0385e60dc05d4e4a8b86274521dad',1,'romfs_header']]], + ['filetablesize_1117',['fileTableSize',['../structromfs__header.html#a97a57f77a7db6f37eecfcb7d649dd7cc',1,'romfs_header']]], + ['finf_1118',['finf',['../structCFNT__s.html#ab309975c3ac9c4029a10160997cd61ee',1,'CFNT_s']]], + ['finf_5fs_1119',['FINF_s',['../structFINF__s.html',1,'']]], + ['flag1_5funused_1120',['flag1_unused',['../structExHeader__Arm11CoreInfo.html#a141b7955e1c84e40b64b4a0421c80dee',1,'ExHeader_Arm11CoreInfo']]], + ['flag2_5funused_1121',['flag2_unused',['../structExHeader__Arm11CoreInfo.html#a733debbba034cd3ae10fee41c4c9ed3e',1,'ExHeader_Arm11CoreInfo']]], + ['flag_5fx104_1122',['flag_x104',['../structMVDSTD__Config.html#a2b08b2834be94d8e2de90f6fb11490fa',1,'MVDSTD_Config']]], + ['flags_1123',['flags',['../structNFC__AmiiboSettings.html#a0b5fdd43e05a1f74c6471e83a897f969',1,'NFC_AmiiboSettings::flags()'],['../structDebugEventInfo.html#a02ae327ec4ab7a5cbdeabc09fb24c606',1,'DebugEventInfo::flags()'],['../structDmaConfig.html#ae754da825365b8c20ca15d5a22f66a40',1,'DmaConfig::flags()'],['../structPageInfo.html#a3dc8d09f59ee6c9562713186b8b037aa',1,'PageInfo::flags()'],['../structSOCU__RoutingTableEntry.html#af54bc8391b1cc417cc450abc3acc99ab',1,'SOCU_RoutingTableEntry::flags()'],['../structQTM__HeadTrackingInfo.html#a80fa4fc4c801c0f174145ac189b6aa46',1,'QTM_HeadTrackingInfo::flags()'],['../structAM__ContentInfo.html#a3e77803ade8ce9b79dfea010e0dc497a',1,'AM_ContentInfo::flags()'],['../structExHeader__CodeSetInfo.html#a0cd825ca3a643fbe9981ae9003582c30',1,'ExHeader_CodeSetInfo::flags()'],['../structPrintConsole.html#a30ec62fecd8dd432fa16d17a25744538',1,'PrintConsole::flags()']]], + ['flip_1124',['flip',['../structCAMU__PackageParameterContextDetail.html#a28c37ac85e9cf9dbe631c439d8082542',1,'CAMU_PackageParameterContextDetail::flip()'],['../structCAMU__PackageParameterContext.html#a84d7b9765454d45161f8d52592d65517',1,'CAMU_PackageParameterContext::flip()']]], + ['flip_5fhorizontal_1125',['FLIP_HORIZONTAL',['../cam_8h.html#a1cbc2ccd7803b8b7ff4f23446b94030ea608fab443d799216e7b3ea896d8cea76',1,'cam.h']]], + ['flip_5fnone_1126',['FLIP_NONE',['../cam_8h.html#a1cbc2ccd7803b8b7ff4f23446b94030ea191e8049b2acf76153552498b008545b',1,'cam.h']]], + ['flip_5freverse_1127',['FLIP_REVERSE',['../cam_8h.html#a1cbc2ccd7803b8b7ff4f23446b94030ea35eb04b18d2ef31e7904471d91062932',1,'cam.h']]], + ['flip_5fvertical_1128',['FLIP_VERTICAL',['../cam_8h.html#a1cbc2ccd7803b8b7ff4f23446b94030eab9463eeeb8c3a955fd8e453082e9e3c4',1,'cam.h']]], + ['float24uniform_5fs_1129',['float24Uniform_s',['../structfloat24Uniform__s.html',1,'']]], + ['float24uniforms_1130',['float24Uniforms',['../structshaderInstance__s.html#ad210d25d30bb8afec0b83b55a57483db',1,'shaderInstance_s']]], + ['floatdata_5fx08_1131',['floatdata_x08',['../structQTM__HeadTrackingInfo.html#a16a3808d035c6b58c276fcb42b932910',1,'QTM_HeadTrackingInfo']]], + ['font_1132',['font',['../structPrintConsole.html#ad717d7741f526d595d3103d5a4e28358',1,'PrintConsole']]], + ['font_2eh_1133',['font.h',['../font_8h.html',1,'']]], + ['fontcalcglyphpos_1134',['fontCalcGlyphPos',['../font_8h.html#ad4e1d654b8a5cd9ad4f091bc149971de',1,'font.h']]], + ['fontensuremapped_1135',['fontEnsureMapped',['../font_8h.html#acd3a6ca0c2bb0f4e9617c9758980edc4',1,'font.h']]], + ['fontfixpointers_1136',['fontFixPointers',['../font_8h.html#a66c6ca3e191a24a79fef367b1de98314',1,'font.h']]], + ['fontgetcharwidthinfo_1137',['fontGetCharWidthInfo',['../font_8h.html#a682b11e68a882633cf8defa022e2adc5',1,'font.h']]], + ['fontgetglyphinfo_1138',['fontGetGlyphInfo',['../font_8h.html#af624f3cf4d09dcbc6b9b6c332f1e71d1',1,'font.h']]], + ['fontgetglyphsheettex_1139',['fontGetGlyphSheetTex',['../font_8h.html#ada7280b8671f745e27ad44dc93057d72',1,'font.h']]], + ['fontgetinfo_1140',['fontGetInfo',['../font_8h.html#ac8237cda01272f94f1d5d3d4beea7a9d',1,'font.h']]], + ['fontgetsystemfont_1141',['fontGetSystemFont',['../font_8h.html#aa461cfa4f023aa5c0828b5d0291f6c1d',1,'font.h']]], + ['fontglyphindexfromcodepoint_1142',['fontGlyphIndexFromCodePoint',['../font_8h.html#a943b050e49481a625aba3029df7ad1fe',1,'font.h']]], + ['fontglyphpos_5fs_1143',['fontGlyphPos_s',['../structfontGlyphPos__s.html',1,'']]], + ['fonttype_1144',['fontType',['../structFINF__s.html#a4cae23ba0399848baaa9c3d8cb4aea46',1,'FINF_s']]], + ['format_1145',['format',['../structGSPGPU__FramebufferInfo.html#a4e0899ea0a76864a9268a8a938b122ec',1,'GSPGPU_FramebufferInfo::format()'],['../structGSPGPU__CaptureInfoEntry.html#a067ad2df1b3b46e4e06b26f8f905bdd0',1,'GSPGPU_CaptureInfoEntry::format()']]], + ['fpexc_1146',['fpexc',['../structFpuRegisters.html#a07418dedf5dd5c4cd9d480ac49e115cf',1,'FpuRegisters']]], + ['fpscr_1147',['fpscr',['../structFpuRegisters.html#a2de5bf8371bb662bbbd472948ffcde6d',1,'FpuRegisters']]], + ['fpu_5fregisters_1148',['fpu_registers',['../structThreadContext.html#ac13e8300988c11a1d4811058ea0888b4',1,'ThreadContext']]], + ['fpuregisters_1149',['FpuRegisters',['../structFpuRegisters.html',1,'']]], + ['frame_5frate_5f10_1150',['FRAME_RATE_10',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688a275a0d144555c1e6b26ad0bd21404083',1,'cam.h']]], + ['frame_5frate_5f15_1151',['FRAME_RATE_15',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688adaf74a50f89e93efd5cdba07dae49c54',1,'cam.h']]], + ['frame_5frate_5f15_5fto_5f10_1152',['FRAME_RATE_15_TO_10',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688ae655c75dbaca8df7607abc5c40aa216f',1,'cam.h']]], + ['frame_5frate_5f15_5fto_5f2_1153',['FRAME_RATE_15_TO_2',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688a466df8d915c97b77e4084b99db15257a',1,'cam.h']]], + ['frame_5frate_5f15_5fto_5f5_1154',['FRAME_RATE_15_TO_5',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688a91893eb7eb5a87de191edb6a6ca19530',1,'cam.h']]], + ['frame_5frate_5f20_1155',['FRAME_RATE_20',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688ad579560ad2ec0a3df46957d5a35d4531',1,'cam.h']]], + ['frame_5frate_5f20_5fto_5f10_1156',['FRAME_RATE_20_TO_10',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688a5da0b40cf95f2b4d9eee5a9511d98ca4',1,'cam.h']]], + ['frame_5frate_5f20_5fto_5f5_1157',['FRAME_RATE_20_TO_5',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688af35d2c6f909c71014a60896c609e3bd6',1,'cam.h']]], + ['frame_5frate_5f30_1158',['FRAME_RATE_30',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688a3acf5f2854e10db6cecf2a3b872f04ef',1,'cam.h']]], + ['frame_5frate_5f30_5fto_5f10_1159',['FRAME_RATE_30_TO_10',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688a23eb04ce83346cebc0332b573f6e7556',1,'cam.h']]], + ['frame_5frate_5f30_5fto_5f5_1160',['FRAME_RATE_30_TO_5',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688abdd3a0c22da38cd4afda4ebd74dbf070',1,'cam.h']]], + ['frame_5frate_5f5_1161',['FRAME_RATE_5',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688a6baadc794f7027aa7e2e28f62f36744d',1,'cam.h']]], + ['frame_5frate_5f8_5f5_1162',['FRAME_RATE_8_5',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688a4174bf4634a793317c5517163a6021c0',1,'cam.h']]], + ['framebuf0_5fvaddr_1163',['framebuf0_vaddr',['../structGSPGPU__CaptureInfoEntry.html#a6dd072baeeb8a0d385e712f7155fb002',1,'GSPGPU_CaptureInfoEntry::framebuf0_vaddr()'],['../structGSPGPU__FramebufferInfo.html#a5dba8a35ac953e10653ac8e745cb208f',1,'GSPGPU_FramebufferInfo::framebuf0_vaddr()']]], + ['framebuf1_5fvaddr_1164',['framebuf1_vaddr',['../structGSPGPU__CaptureInfoEntry.html#a09e23bcfb56d75309bf7a547b85c56b0',1,'GSPGPU_CaptureInfoEntry::framebuf1_vaddr()'],['../structGSPGPU__FramebufferInfo.html#ab29deb55a9b0454de1988172319f246f',1,'GSPGPU_FramebufferInfo::framebuf1_vaddr()']]], + ['framebuf_5fdispselect_1165',['framebuf_dispselect',['../structGSPGPU__FramebufferInfo.html#ad33ec3ca41e404b967416c78c7aa7db8',1,'GSPGPU_FramebufferInfo']]], + ['framebuf_5fwidthbytesize_1166',['framebuf_widthbytesize',['../structGSPGPU__CaptureInfoEntry.html#ae9d2aa171cdc8607485e22543cf7ed66',1,'GSPGPU_CaptureInfoEntry::framebuf_widthbytesize()'],['../structGSPGPU__FramebufferInfo.html#a3e7dac9d79cad31182a4c325f780ffb6',1,'GSPGPU_FramebufferInfo::framebuf_widthbytesize()']]], + ['framebuffer_1167',['frameBuffer',['../structPrintConsole.html#a9b70d87ea405c8761ebca625001c761e',1,'PrintConsole']]], + ['framerate_1168',['frameRate',['../structCAMU__PackageParameterCameraSelect.html#a2fc80df4f942792d629ddc00efc8aac6',1,'CAMU_PackageParameterCameraSelect']]], + ['frd_2eh_1169',['frd.h',['../frd_8h.html',1,'']]], + ['frd_5faddfriendonline_1170',['FRD_AddFriendOnline',['../frd_8h.html#a477f39a31ad43c2bc151e09ee1aa4ade',1,'frd.h']]], + ['frd_5fattachtoeventnotification_1171',['FRD_AttachToEventNotification',['../frd_8h.html#a6107bf9a0c2072b25fd4788ddbfeb8d6',1,'frd.h']]], + ['frd_5ffriendcodetoprincipalid_1172',['FRD_FriendCodeToPrincipalId',['../frd_8h.html#aef38bc9bd2352ef69c11a1b74092487c',1,'frd.h']]], + ['frd_5fgeteventnotification_1173',['FRD_GetEventNotification',['../frd_8h.html#aadba819c10030b47f82ad4d6bcdece07',1,'frd.h']]], + ['frd_5fgetfriendfavouritegame_1174',['FRD_GetFriendFavouriteGame',['../frd_8h.html#a6f5acb955637da1b6a5ca75239889bb8',1,'frd.h']]], + ['frd_5fgetfriendkeylist_1175',['FRD_GetFriendKeyList',['../frd_8h.html#ad1e46d784e56d9d972edc0c49a0c82a5',1,'frd.h']]], + ['frd_5fgetfriendmii_1176',['FRD_GetFriendMii',['../frd_8h.html#a32a06db92c8333bc1210ac5b85e3f32d',1,'frd.h']]], + ['frd_5fgetfriendplayinggame_1177',['FRD_GetFriendPlayingGame',['../frd_8h.html#a721d99c1ec0709cdb5ab0a812cb6b2c9',1,'frd.h']]], + ['frd_5fgetfriendprofile_1178',['FRD_GetFriendProfile',['../frd_8h.html#ad387dd90a8b2fdc9fdfe6fd43e00cdc4',1,'frd.h']]], + ['frd_5fgetmycomment_1179',['FRD_GetMyComment',['../frd_8h.html#a0c3a57f3610fec1186404ab3bc4ae3e7',1,'frd.h']]], + ['frd_5fgetmyfavoritegame_1180',['FRD_GetMyFavoriteGame',['../frd_8h.html#a0cfe1c6727abd4a744b40dd1b1c7ed65',1,'frd.h']]], + ['frd_5fgetmyfriendkey_1181',['FRD_GetMyFriendKey',['../frd_8h.html#ac8b838a00088afb5a5917ea67672afe2',1,'frd.h']]], + ['frd_5fgetmymii_1182',['FRD_GetMyMii',['../frd_8h.html#a2775b6e75e311a34e5d91cc2544b7f94',1,'frd.h']]], + ['frd_5fgetmyplayinggame_1183',['FRD_GetMyPlayingGame',['../frd_8h.html#a3e60ea2b614e06fc65be5400c1390e09',1,'frd.h']]], + ['frd_5fgetmypreference_1184',['FRD_GetMyPreference',['../frd_8h.html#a103bebd5c600bd4f071c1854ecc2a8b7',1,'frd.h']]], + ['frd_5fgetmyprofile_1185',['FRD_GetMyProfile',['../frd_8h.html#ae48da48556a2a63a9498131c3a0ba253',1,'frd.h']]], + ['frd_5fgetmyscreenname_1186',['FRD_GetMyScreenName',['../frd_8h.html#a4f60c0b3b074a2199030632cab372cd9',1,'frd.h']]], + ['frd_5fisinfriendlist_1187',['FRD_IsInFriendList',['../frd_8h.html#a40a567b07862845007f429263910db68',1,'frd.h']]], + ['frd_5fisvalidfriendcode_1188',['FRD_IsValidFriendCode',['../frd_8h.html#a73759a0f468f63a1ed6871e88b84377c',1,'frd.h']]], + ['frd_5flogin_1189',['FRD_Login',['../frd_8h.html#acb24d435465d9e70a3d11ef375cfdd38',1,'frd.h']]], + ['frd_5flogout_1190',['FRD_Logout',['../frd_8h.html#ad285890ae24b20e4b1fbbf0016658388',1,'frd.h']]], + ['frd_5fprincipalidtofriendcode_1191',['FRD_PrincipalIdToFriendCode',['../frd_8h.html#aa5ed0aecd7ff145f81a2009620d068a5',1,'frd.h']]], + ['frd_5fremovefriend_1192',['FRD_RemoveFriend',['../frd_8h.html#a6cd1e48a71654365f11439e5f0b3f926',1,'frd.h']]], + ['frd_5fsetclientsdkversion_1193',['FRD_SetClientSdkVersion',['../frd_8h.html#a910fe457d89b238b0fba46ce7c2340c3',1,'frd.h']]], + ['frd_5fupdategamemodedescription_1194',['FRD_UpdateGameModeDescription',['../frd_8h.html#a9f329cede46001a212236274b15349bf',1,'frd.h']]], + ['frdexit_1195',['frdExit',['../frd_8h.html#a5ec99ca5562cfefeb51007695dd3ec1c',1,'frd.h']]], + ['frdgetsessionhandle_1196',['frdGetSessionHandle',['../frd_8h.html#abc80cefa94c228b0231211912e074041',1,'frd.h']]], + ['frdinit_1197',['frdInit',['../frd_8h.html#a8031a28577f6a422ed5d2fa5542bf46f',1,'frd.h']]], + ['frdu_5fhasloggedin_1198',['FRDU_HasLoggedIn',['../frd_8h.html#aa1f34be91ea44f0d37c2756f65323975',1,'frd.h']]], + ['frdu_5fisonline_1199',['FRDU_IsOnline',['../frd_8h.html#aca6f294dad46e3355c891bbad9f681a0',1,'frd.h']]], + ['freeclusters_1200',['freeClusters',['../structFS__ArchiveResource.html#a83300abfe22c3c756c74ee1d7d337a0c',1,'FS_ArchiveResource']]], + ['freespace_1201',['freeSpace',['../structAM__TWLPartitionInfo.html#a786a5d0e83d80d8004c394ed8526213b',1,'AM_TWLPartitionInfo']]], + ['friend_5fcomment_5fsize_1202',['FRIEND_COMMENT_SIZE',['../frd_8h.html#ac300c5a4b565eaaf656d7fc6a82dd10b',1,'frd.h']]], + ['friend_5flist_5fsize_1203',['FRIEND_LIST_SIZE',['../frd_8h.html#a4426da9cb91df71e799ca69d9ed40a4e',1,'frd.h']]], + ['friend_5fregistered_5fuser_1204',['FRIEND_REGISTERED_USER',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210cea89f2fe1d7eb0972ad79d8b822b9387a8',1,'frd.h']]], + ['friend_5fscreen_5fname_5fsize_1205',['FRIEND_SCREEN_NAME_SIZE',['../frd_8h.html#ad2feecb713f820cbcd168f19e4f55866',1,'frd.h']]], + ['friend_5fsent_5finvitation_1206',['FRIEND_SENT_INVITATION',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210cea581fc030260d6166264caf3cbe83da35',1,'frd.h']]], + ['friend_5fupdated_5fmii_1207',['FRIEND_UPDATED_MII',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210ceaf3308c826c2e15972dd1d636121278fc',1,'frd.h']]], + ['friend_5fupdated_5fpresence_1208',['FRIEND_UPDATED_PRESENCE',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210ceaf7ddef1f8c13f6b25212a93437950d7d',1,'frd.h']]], + ['friend_5fupdated_5fprofile_1209',['FRIEND_UPDATED_PROFILE',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210cea90345854715456864c94b5ab4d694902',1,'frd.h']]], + ['friend_5fwent_5foffline_1210',['FRIEND_WENT_OFFLINE',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210ceab26d06003a4f57acc59a3eeea44c253e',1,'frd.h']]], + ['friend_5fwent_5fonline_1211',['FRIEND_WENT_ONLINE',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210ceadb9362be5e6797b2713bdf79ae917f12',1,'frd.h']]], + ['friendkey_1212',['FriendKey',['../structFriendKey.html',1,'']]], + ['friendprofile_1213',['FriendProfile',['../structFriendProfile.html',1,'']]], + ['fs_2eh_1214',['fs.h',['../fs_8h.html',1,'']]], + ['fs_5faccess_5finfo_1215',['fs_access_info',['../structExHeader__Arm11StorageInfo.html#a7d2905f3419d66dc592bd1ac6b74bd31',1,'ExHeader_Arm11StorageInfo']]], + ['fs_5faction_1216',['FS_Action',['../fs_8h.html#a49b39ca3e02c247709fececda4bbd56d',1,'fs.h']]], + ['fs_5farchive_1217',['FS_Archive',['../fs_8h.html#a64b19cc2d36043ad4060f2b7d17b16ef',1,'fs.h']]], + ['fs_5farchiveaction_1218',['FS_ArchiveAction',['../fs_8h.html#ac3958094a809b4f036fa86e981e99352',1,'fs.h']]], + ['fs_5farchiveid_1219',['FS_ArchiveID',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803',1,'fs.h']]], + ['fs_5farchiveresource_1220',['FS_ArchiveResource',['../structFS__ArchiveResource.html',1,'']]], + ['fs_5fattribute_5farchive_1221',['FS_ATTRIBUTE_ARCHIVE',['../fs_8h.html#aa156d1cebb38c8a65846c4d9c006012aa9b60bc97a4bd63ba24a3431d1905695a',1,'fs.h']]], + ['fs_5fattribute_5fdirectory_1222',['FS_ATTRIBUTE_DIRECTORY',['../fs_8h.html#aa156d1cebb38c8a65846c4d9c006012aadd210297e401efd4d60174cce2b63df6',1,'fs.h']]], + ['fs_5fattribute_5fhidden_1223',['FS_ATTRIBUTE_HIDDEN',['../fs_8h.html#aa156d1cebb38c8a65846c4d9c006012aa964ecf3f9b625100372d13418dff14bf',1,'fs.h']]], + ['fs_5fattribute_5fread_5fonly_1224',['FS_ATTRIBUTE_READ_ONLY',['../fs_8h.html#aa156d1cebb38c8a65846c4d9c006012aaeb36f9fbbc299cfedc2ed20a8adfc785',1,'fs.h']]], + ['fs_5fcardspibaudrate_1225',['FS_CardSpiBaudRate',['../fs_8h.html#ae98658510bcc2292b74f97db91f78fe0',1,'fs.h']]], + ['fs_5fcardspibusmode_1226',['FS_CardSpiBusMode',['../fs_8h.html#a7354fc838f4b9c704685453576e41cad',1,'fs.h']]], + ['fs_5fcardtype_1227',['FS_CardType',['../fs_8h.html#ab06968444dcba08b02ed34b6db2ad5b5',1,'fs.h']]], + ['fs_5fdevicemovecontext_1228',['FS_DeviceMoveContext',['../structFS__DeviceMoveContext.html',1,'']]], + ['fs_5fdirectoryaction_1229',['FS_DirectoryAction',['../fs_8h.html#a4d4c6f9df0e609a0eab424c0a5748f06',1,'fs.h']]], + ['fs_5fdirectoryentry_1230',['FS_DirectoryEntry',['../structFS__DirectoryEntry.html',1,'']]], + ['fs_5fextsavedatainfo_1231',['FS_ExtSaveDataInfo',['../structFS__ExtSaveDataInfo.html',1,'']]], + ['fs_5ffileaction_1232',['FS_FileAction',['../fs_8h.html#aa0cb2825503b2295a964aaaa9e348b0f',1,'fs.h']]], + ['fs_5fintegrityverificationseed_1233',['FS_IntegrityVerificationSeed',['../structFS__IntegrityVerificationSeed.html',1,'']]], + ['fs_5fmediatype_1234',['FS_MediaType',['../fs_8h.html#a3526d37c529b39a862b9b7371a53e137',1,'fs.h']]], + ['fs_5fopen_5fcreate_1235',['FS_OPEN_CREATE',['../fs_8h.html#ae6dceca96ec2c7a1b4aa211264a87ef6a5a0af82eec8be53934152016600bea9a',1,'fs.h']]], + ['fs_5fopen_5fread_1236',['FS_OPEN_READ',['../fs_8h.html#ae6dceca96ec2c7a1b4aa211264a87ef6aebc25118925a19a2d7d8593fdb21a574',1,'fs.h']]], + ['fs_5fopen_5fwrite_1237',['FS_OPEN_WRITE',['../fs_8h.html#ae6dceca96ec2c7a1b4aa211264a87ef6a3bd1b8a673bf36d0d7aa8eb543dc3fb2',1,'fs.h']]], + ['fs_5fpath_1238',['FS_Path',['../structFS__Path.html',1,'']]], + ['fs_5fpathtype_1239',['FS_PathType',['../fs_8h.html#a2ac939166d53f34606e046ade4c937ab',1,'fs.h']]], + ['fs_5fproductinfo_1240',['FS_ProductInfo',['../structFS__ProductInfo.html',1,'']]], + ['fs_5fprograminfo_1241',['FS_ProgramInfo',['../structFS__ProgramInfo.html',1,'']]], + ['fs_5fsdmmcspeedinfo_1242',['FS_SdMmcSpeedInfo',['../structFS__SdMmcSpeedInfo.html',1,'']]], + ['fs_5fsecuresaveaction_1243',['FS_SecureSaveAction',['../fs_8h.html#ad89293d2e11fd68de534aa0fca4f0fb2',1,'fs.h']]], + ['fs_5fsecurevalueslot_1244',['FS_SecureValueSlot',['../fs_8h.html#a906e781f277e459a15a95b1e760f3411',1,'fs.h']]], + ['fs_5fspecialcontenttype_1245',['FS_SpecialContentType',['../fs_8h.html#ae39b89424d688ec1e77986fe0f89fcce',1,'fs.h']]], + ['fs_5fsystemmediatype_1246',['FS_SystemMediaType',['../fs_8h.html#acdbf253270893656d28d7c35d7b7070c',1,'fs.h']]], + ['fs_5fsystemsavedatainfo_1247',['FS_SystemSaveDataInfo',['../structFS__SystemSaveDataInfo.html',1,'']]], + ['fs_5fwrite_5fflush_1248',['FS_WRITE_FLUSH',['../fs_8h.html#a56a0f36da7f9eaaf54bd05cc2bf49173a5ca37b181e92ad91749a114aeb05325f',1,'fs.h']]], + ['fs_5fwrite_5fupdate_5ftime_1249',['FS_WRITE_UPDATE_TIME',['../fs_8h.html#a56a0f36da7f9eaaf54bd05cc2bf49173aeefbba4772c406afbefc2fdb2c05a469',1,'fs.h']]], + ['fsaccess_5fboss_1250',['FSACCESS_BOSS',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57ac1387f97bb06a92e5cc13fba9f435e42',1,'exheader.h']]], + ['fsaccess_5fcardboard_1251',['FSACCESS_CARDBOARD',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57aceae029cb4938d599aa9ec0116f6e383',1,'exheader.h']]], + ['fsaccess_5fcategory_5ffilesystem_5ftool_1252',['FSACCESS_CATEGORY_FILESYSTEM_TOOL',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57adc44da0c578decbc237d0597f6c7a501',1,'exheader.h']]], + ['fsaccess_5fcategory_5fhardware_5fcheck_1253',['FSACCESS_CATEGORY_HARDWARE_CHECK',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57aa0959ae8c785596b24e1414473616274',1,'exheader.h']]], + ['fsaccess_5fcategory_5fhome_5fmenu_1254',['FSACCESS_CATEGORY_HOME_MENU',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a37a10bb762acce357dfb4d141bffa2c1',1,'exheader.h']]], + ['fsaccess_5fcategory_5fsystem_5fapplication_1255',['FSACCESS_CATEGORY_SYSTEM_APPLICATION',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a3391909ca177f86eb076ea9c749879fc',1,'exheader.h']]], + ['fsaccess_5fcategory_5fsystem_5fsettings_1256',['FSACCESS_CATEGORY_SYSTEM_SETTINGS',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a93781bbb725ed373351d19f11e94b7c9',1,'exheader.h']]], + ['fsaccess_5fcore_1257',['FSACCESS_CORE',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a491ff123cca27e2acb3f4c3973988694',1,'exheader.h']]], + ['fsaccess_5fdebug_1258',['FSACCESS_DEBUG',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57ad79904de939173428c56126027385c55',1,'exheader.h']]], + ['fsaccess_5fexport_5fimport_5fivs_1259',['FSACCESS_EXPORT_IMPORT_IVS',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a93a0d7941489159137dda3462796e548',1,'exheader.h']]], + ['fsaccess_5fnandro_5fro_1260',['FSACCESS_NANDRO_RO',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a2451b80d2ec2b38c9902cbb6fd4b9d9d',1,'exheader.h']]], + ['fsaccess_5fnandro_5frw_1261',['FSACCESS_NANDRO_RW',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a26b7742cbbf968911e5a4e725486fcef',1,'exheader.h']]], + ['fsaccess_5fnandrw_1262',['FSACCESS_NANDRW',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a7b03cf4ecf4ad65235441b61de3533b6',1,'exheader.h']]], + ['fsaccess_5fsavedata_5fmove_1263',['FSACCESS_SAVEDATA_MOVE',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a54d3ba9faeb053367f3d492873d467f1',1,'exheader.h']]], + ['fsaccess_5fsdmc_5frw_1264',['FSACCESS_SDMC_RW',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a852b9a0e174eb406202271f9b4ccedd7',1,'exheader.h']]], + ['fsaccess_5fsdmc_5fwo_1265',['FSACCESS_SDMC_WO',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a6cbc234d93610f080818d274b0afa7ec',1,'exheader.h']]], + ['fsaccess_5fseeddb_1266',['FSACCESS_SEEDDB',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57aec3ccd193a9ac3f8196ca299ec1da28e',1,'exheader.h']]], + ['fsaccess_5fshell_1267',['FSACCESS_SHELL',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a37cb32efcdf2207ec26946bf46ac1ab9',1,'exheader.h']]], + ['fsaccess_5fshop_1268',['FSACCESS_SHOP',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57ab25c3e03ec7b756162b99c33d1a44ae1',1,'exheader.h']]], + ['fsaccess_5fswitch_5fcleanup_1269',['FSACCESS_SWITCH_CLEANUP',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a98fc4b76813ffff268121edd9d05da02',1,'exheader.h']]], + ['fsaccess_5ftwlcard_5fbackup_1270',['FSACCESS_TWLCARD_BACKUP',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a4ef52e7f6e7051b83882fdab5d03ea18',1,'exheader.h']]], + ['fsaccess_5ftwlnand_5fdata_1271',['FSACCESS_TWLNAND_DATA',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a2568ff0356be7dcfdb57ed6239cd4d88',1,'exheader.h']]], + ['fsdir_5fclose_1272',['FSDIR_Close',['../fs_8h.html#ad59c41ef622b629803b2768585bc81c7',1,'fs.h']]], + ['fsdir_5fcontrol_1273',['FSDIR_Control',['../fs_8h.html#a9bd9d10dee1d4877d002ecf461736ded',1,'fs.h']]], + ['fsdir_5fgetpriority_1274',['FSDIR_GetPriority',['../fs_8h.html#a2fbc9800fcc672bd4417407e194905d8',1,'fs.h']]], + ['fsdir_5fread_1275',['FSDIR_Read',['../fs_8h.html#ab1518557767f93a99e04d08e97ae91fc',1,'fs.h']]], + ['fsdir_5fsetpriority_1276',['FSDIR_SetPriority',['../fs_8h.html#a4fb71ad7a478461cb5a2ed2dcbb4326e',1,'fs.h']]], + ['fsendusesession_1277',['fsEndUseSession',['../fs_8h.html#af29084d2b427ff5874421c192313e6ce',1,'fs.h']]], + ['fsexemptfromsession_1278',['fsExemptFromSession',['../fs_8h.html#a37db378ead3ffd0c55c5c7833d2b6a52',1,'fs.h']]], + ['fsexit_1279',['fsExit',['../fs_8h.html#a3a12b515c5a4d2514cfb07014dbfa3eb',1,'fs.h']]], + ['fsfile_5fclose_1280',['FSFILE_Close',['../fs_8h.html#aec1d6d770ede0e2fbc6a8e60cc7b9621',1,'fs.h']]], + ['fsfile_5fcontrol_1281',['FSFILE_Control',['../fs_8h.html#abba4084f25f986ecb96b41c12337307b',1,'fs.h']]], + ['fsfile_5fflush_1282',['FSFILE_Flush',['../fs_8h.html#a072184c92cededca72fefa04b70cffe8',1,'fs.h']]], + ['fsfile_5fgetattributes_1283',['FSFILE_GetAttributes',['../fs_8h.html#a656ae5a03126f5eab261cad83231147f',1,'fs.h']]], + ['fsfile_5fgetpriority_1284',['FSFILE_GetPriority',['../fs_8h.html#a8bff0442f706ec75c1ff28523f5157ec',1,'fs.h']]], + ['fsfile_5fgetsize_1285',['FSFILE_GetSize',['../fs_8h.html#a1b1a7d6104bcd044466ac9de235e72dc',1,'fs.h']]], + ['fsfile_5fopenlinkfile_1286',['FSFILE_OpenLinkFile',['../fs_8h.html#a1c2901d6e48e15b30e441d70ffe4bb41',1,'fs.h']]], + ['fsfile_5fopensubfile_1287',['FSFILE_OpenSubFile',['../fs_8h.html#a3483cf3b3519dc4a67fd0dd3db6ace35',1,'fs.h']]], + ['fsfile_5fread_1288',['FSFILE_Read',['../fs_8h.html#a9582361b85dae981d43e18f21f2f4d79',1,'fs.h']]], + ['fsfile_5fsetattributes_1289',['FSFILE_SetAttributes',['../fs_8h.html#ae50c9daa67d4302889b85529e02bbb55',1,'fs.h']]], + ['fsfile_5fsetpriority_1290',['FSFILE_SetPriority',['../fs_8h.html#ac3fd0e602d95ab05ab4ac7002cbe17a0',1,'fs.h']]], + ['fsfile_5fsetsize_1291',['FSFILE_SetSize',['../fs_8h.html#a5442512a280132d3c112bf4fd5ad1a31',1,'fs.h']]], + ['fsfile_5fwrite_1292',['FSFILE_Write',['../fs_8h.html#ab1286ccf24defe092140af960e1fda96',1,'fs.h']]], + ['fsgetsessionhandle_1293',['fsGetSessionHandle',['../fs_8h.html#ae6eff50e035a6544dca96fc86dc88b91',1,'fs.h']]], + ['fsinit_1294',['fsInit',['../fs_8h.html#a897bb73f6c956a45305aa9f50f7935ca',1,'fs.h']]], + ['fsmakepath_1295',['fsMakePath',['../fs_8h.html#ae72d50f45f4573540c1ea2ae796ca905',1,'fs.h']]], + ['fspxi_2eh_1296',['fspxi.h',['../fspxi_8h.html',1,'']]], + ['fspxi_5fcalcsavegamemac_1297',['FSPXI_CalcSavegameMAC',['../fspxi_8h.html#a9d9b6051cc398a1dc0c776cc30be93db',1,'fspxi.h']]], + ['fspxi_5fcalculatefilehashsha256_1298',['FSPXI_CalculateFileHashSHA256',['../fspxi_8h.html#a037fde87643450c4ae683d6c44ce6e4d',1,'fspxi.h']]], + ['fspxi_5fcardnordirectcommand_1299',['FSPXI_CardNorDirectCommand',['../fspxi_8h.html#aa1d1fd89de33589103c1514ab1f8ea44',1,'fspxi.h']]], + ['fspxi_5fcardnordirectcommandwithaddress_1300',['FSPXI_CardNorDirectCommandWithAddress',['../fspxi_8h.html#ae0b66db453c1de81af568d48795b1b79',1,'fspxi.h']]], + ['fspxi_5fcardnordirectcpuwritewithoutverify_1301',['FSPXI_CardNorDirectCpuWriteWithoutVerify',['../fspxi_8h.html#adf8f5a7999a7756fa25625cd9160fe46',1,'fspxi.h']]], + ['fspxi_5fcardnordirectread_1302',['FSPXI_CardNorDirectRead',['../fspxi_8h.html#ac785d7ac3d7d4f102edd5bcdf3ae5f47',1,'fspxi.h']]], + ['fspxi_5fcardnordirectread_5f4xio_1303',['FSPXI_CardNorDirectRead_4xIO',['../fspxi_8h.html#a1ef7065709e3080193b01991f15c53d7',1,'fspxi.h']]], + ['fspxi_5fcardnordirectreadwithaddress_1304',['FSPXI_CardNorDirectReadWithAddress',['../fspxi_8h.html#ab0e1f2b2037bb00bbad088efb813fae9',1,'fspxi.h']]], + ['fspxi_5fcardnordirectsectorerasewithoutverify_1305',['FSPXI_CardNorDirectSectorEraseWithoutVerify',['../fspxi_8h.html#a94f0ff94d9f51ca791166633ac176390',1,'fspxi.h']]], + ['fspxi_5fcardnordirectwrite_1306',['FSPXI_CardNorDirectWrite',['../fspxi_8h.html#ac319c207246a73c4a5c02d44ad142ba4',1,'fspxi.h']]], + ['fspxi_5fcardnordirectwritewithaddress_1307',['FSPXI_CardNorDirectWriteWithAddress',['../fspxi_8h.html#a57877b097377225dfc0f404cce882820',1,'fspxi.h']]], + ['fspxi_5fcardslotgetcardifpowerstatus_1308',['FSPXI_CardSlotGetCardIFPowerStatus',['../fspxi_8h.html#adce56d58f90a56462962f7022d7eb9d8',1,'fspxi.h']]], + ['fspxi_5fcardslotisinserted_1309',['FSPXI_CardSlotIsInserted',['../fspxi_8h.html#a48eb2b2cfb5ab9fc4b9b614b429e4471',1,'fspxi.h']]], + ['fspxi_5fcardslotpoweroff_1310',['FSPXI_CardSlotPowerOff',['../fspxi_8h.html#a68f041a0e402ad61831eca1cebef02c0',1,'fspxi.h']]], + ['fspxi_5fcardslotpoweron_1311',['FSPXI_CardSlotPowerOn',['../fspxi_8h.html#ab82a1432c00a5df35bdcdc9e6a687f97',1,'fspxi.h']]], + ['fspxi_5fclearnandlog_1312',['FSPXI_ClearNandLog',['../fspxi_8h.html#a63c98006f14ff9317de37e1cf80bdebb',1,'fspxi.h']]], + ['fspxi_5fclearsdmclog_1313',['FSPXI_ClearSdmcLog',['../fspxi_8h.html#a1837dea87aefa0d65051ede471471aa0',1,'fspxi.h']]], + ['fspxi_5fclosearchive_1314',['FSPXI_CloseArchive',['../fspxi_8h.html#a5b365fc3ac61cf915ab484f190138133',1,'fspxi.h']]], + ['fspxi_5fclosedirectory_1315',['FSPXI_CloseDirectory',['../fspxi_8h.html#a444eabefa803c689d453151bb7062b70',1,'fspxi.h']]], + ['fspxi_5fclosefile_1316',['FSPXI_CloseFile',['../fspxi_8h.html#a757401d2304e4c3635dcbfb68b3c81a3',1,'fspxi.h']]], + ['fspxi_5fcommitsavedata_1317',['FSPXI_CommitSaveData',['../fspxi_8h.html#aba486674eae7b3d65d9cbadbb6c4dc60',1,'fspxi.h']]], + ['fspxi_5fcreatedirectory_1318',['FSPXI_CreateDirectory',['../fspxi_8h.html#a8275088ce36de7d22fc057e3cd69eacc',1,'fspxi.h']]], + ['fspxi_5fcreateextsavedata_1319',['FSPXI_CreateExtSaveData',['../fspxi_8h.html#a7a35bbf203d4a5fa675d242ab02bc73f',1,'fspxi.h']]], + ['fspxi_5fcreatefile_1320',['FSPXI_CreateFile',['../fspxi_8h.html#a4624690c3d2c8254c76ead66232d8a61',1,'fspxi.h']]], + ['fspxi_5fcreateseed_1321',['FSPXI_CreateSeed',['../fspxi_8h.html#a7c3b1b26eacd437845647fda393ca0c7',1,'fspxi.h']]], + ['fspxi_5fdeleteallextsavedataonnand_1322',['FSPXI_DeleteAllExtSaveDataOnNand',['../fspxi_8h.html#af4a32d8edc3a5adf739a8300d56543d2',1,'fspxi.h']]], + ['fspxi_5fdeletedirectory_1323',['FSPXI_DeleteDirectory',['../fspxi_8h.html#a68a963030ba4028bfb91b0a5df811ffc',1,'fspxi.h']]], + ['fspxi_5fdeleteextsavedata_1324',['FSPXI_DeleteExtSaveData',['../fspxi_8h.html#a766d645d76f1a65b7e0007f2b6b0239b',1,'fspxi.h']]], + ['fspxi_5fdeletefile_1325',['FSPXI_DeleteFile',['../fspxi_8h.html#a283938607c757e43ebddcdbc56b42815',1,'fspxi.h']]], + ['fspxi_5fdeletesdmcroot_1326',['FSPXI_DeleteSdmcRoot',['../fspxi_8h.html#a0efc69853a228dde24d5ba9905ada1e0',1,'fspxi.h']]], + ['fspxi_5fenumerateextsavedata_1327',['FSPXI_EnumerateExtSaveData',['../fspxi_8h.html#acf5ca48b396a284485cd2db9472e85ad',1,'fspxi.h']]], + ['fspxi_5fenumeratesystemsavedata_1328',['FSPXI_EnumerateSystemSaveData',['../fspxi_8h.html#a48c52fc51474f3bfd930424dac1a25d7',1,'fspxi.h']]], + ['fspxi_5fexportintegrityverificationseed_1329',['FSPXI_ExportIntegrityVerificationSeed',['../fspxi_8h.html#a79c5c56cdeb7b66f165827fa7f7b47d3',1,'fspxi.h']]], + ['fspxi_5fformatcardnordevice_1330',['FSPXI_FormatCardNorDevice',['../fspxi_8h.html#a5dc255c5ae37dccebb9bb3aaa17293f7',1,'fspxi.h']]], + ['fspxi_5fgeneraterandombytes_1331',['FSPXI_GenerateRandomBytes',['../fspxi_8h.html#ade65445670f4e1526e0d8d858a2ad055',1,'fspxi.h']]], + ['fspxi_5fgetarchiveresource_1332',['FSPXI_GetArchiveResource',['../fspxi_8h.html#a4d793e32ecdb6fa9de691193e7d2b713',1,'fspxi.h']]], + ['fspxi_5fgetcardtype_1333',['FSPXI_GetCardType',['../fspxi_8h.html#a77512b3506a8851350cc5d4bd8f9e843',1,'fspxi.h']]], + ['fspxi_5fgetfilelastmodified_1334',['FSPXI_GetFileLastModified',['../fspxi_8h.html#ad88947330a958dda93dd883252549fa9',1,'fspxi.h']]], + ['fspxi_5fgetfilesize_1335',['FSPXI_GetFileSize',['../fspxi_8h.html#aba353c5579c9b1870b61c8ccf72c75c6',1,'fspxi.h']]], + ['fspxi_5fgetlegacybannerdata_1336',['FSPXI_GetLegacyBannerData',['../fspxi_8h.html#a53e939c3130695a7dde3563dcb0d6a1a',1,'fspxi.h']]], + ['fspxi_5fgetlegacyromheader_1337',['FSPXI_GetLegacyRomHeader',['../fspxi_8h.html#afe146be306fb3ec6577289fa459a9502',1,'fspxi.h']]], + ['fspxi_5fgetlegacysubbannerdata_1338',['FSPXI_GetLegacySubBannerData',['../fspxi_8h.html#a2c3604b489a6247bfab825cd049267ee',1,'fspxi.h']]], + ['fspxi_5fgetnandarchiveresource_1339',['FSPXI_GetNandArchiveResource',['../fspxi_8h.html#a567f980a6d038c0b6196bfe6192892ef',1,'fspxi.h']]], + ['fspxi_5fgetnandcid_1340',['FSPXI_GetNandCid',['../fspxi_8h.html#a69287235770f608ef0a7fddd8444a899',1,'fspxi.h']]], + ['fspxi_5fgetnandlog_1341',['FSPXI_GetNandLog',['../fspxi_8h.html#a4aac7416bf531a7113917ae1b59c1027',1,'fspxi.h']]], + ['fspxi_5fgetnandspeedinfo_1342',['FSPXI_GetNandSpeedInfo',['../fspxi_8h.html#a1572933fc1f26e96b203532b44a29ea5',1,'fspxi.h']]], + ['fspxi_5fgetproductinfo_1343',['FSPXI_GetProductInfo',['../fspxi_8h.html#ab9f31fdeacf387fb7fcd488db3e1610d',1,'fspxi.h']]], + ['fspxi_5fgetsdmcarchiveresource_1344',['FSPXI_GetSdmcArchiveResource',['../fspxi_8h.html#a9885b0741504e6a2aa9671e53b6e206b',1,'fspxi.h']]], + ['fspxi_5fgetsdmccid_1345',['FSPXI_GetSdmcCid',['../fspxi_8h.html#ae0d3ecd896f570970716d330eaaf1156',1,'fspxi.h']]], + ['fspxi_5fgetsdmcctrrootpath_1346',['FSPXI_GetSdmcCtrRootPath',['../fspxi_8h.html#a28cc866ec6843c8e81a8f8bbcbcfe28d',1,'fspxi.h']]], + ['fspxi_5fgetsdmcfatfserror_1347',['FSPXI_GetSdmcFatFsError',['../fspxi_8h.html#a7b93fdb6550f76f3cfad5213d1b67768',1,'fspxi.h']]], + ['fspxi_5fgetsdmclog_1348',['FSPXI_GetSdmcLog',['../fspxi_8h.html#ab03746121c310004074e4275c3bd53ab',1,'fspxi.h']]], + ['fspxi_5fgetsdmcspeedinfo_1349',['FSPXI_GetSdmcSpeedInfo',['../fspxi_8h.html#a48e8120ebecda37950e6a94b0c1507cf',1,'fspxi.h']]], + ['fspxi_5fgetspecialcontentindex_1350',['FSPXI_GetSpecialContentIndex',['../fspxi_8h.html#a9b98cfd130877fc204b1fc99310535db',1,'fspxi.h']]], + ['fspxi_5fgetspecialfilesize_1351',['FSPXI_GetSpecialFileSize',['../fspxi_8h.html#a571a3abf06ca827b46f0ec4feb93e7da',1,'fspxi.h']]], + ['fspxi_5fhasdirectory_1352',['FSPXI_HasDirectory',['../fspxi_8h.html#a390ecaa58de6e463ad433f075ec79f65',1,'fspxi.h']]], + ['fspxi_5fhasfile_1353',['FSPXI_HasFile',['../fspxi_8h.html#ae2efb0002a9e506efc150165ee154e0f',1,'fspxi.h']]], + ['fspxi_5fimportintegrityverificationseed_1354',['FSPXI_ImportIntegrityVerificationSeed',['../fspxi_8h.html#af53abd147720e5908bb25f0b33cf6f72',1,'fspxi.h']]], + ['fspxi_5finitializectrfilesystem_1355',['FSPXI_InitializeCtrFilesystem',['../fspxi_8h.html#a1246ec0e55274851287ac7c0c74faa4f',1,'fspxi.h']]], + ['fspxi_5fissdmcdetected_1356',['FSPXI_IsSdmcDetected',['../fspxi_8h.html#aa86dfdd073eade86506350d005ff785f',1,'fspxi.h']]], + ['fspxi_5fissdmcwritable_1357',['FSPXI_IsSdmcWritable',['../fspxi_8h.html#a2173d05b484ae18835852a5b1bd1b7b9',1,'fspxi.h']]], + ['fspxi_5fopenarchive_1358',['FSPXI_OpenArchive',['../fspxi_8h.html#aa6ae5f7cc12f9157bca3f3c9acfca898',1,'fspxi.h']]], + ['fspxi_5fopendirectory_1359',['FSPXI_OpenDirectory',['../fspxi_8h.html#a87a076ef43a3bd981e6f9b3947d55909',1,'fspxi.h']]], + ['fspxi_5fopenfile_1360',['FSPXI_OpenFile',['../fspxi_8h.html#a3893272a4a861cdd7f0eee63f6571a7f',1,'fspxi.h']]], + ['fspxi_5freaddirectory_1361',['FSPXI_ReadDirectory',['../fspxi_8h.html#a5169061cb84c38c80f4d65b82af2fe49',1,'fspxi.h']]], + ['fspxi_5freadfile_1362',['FSPXI_ReadFile',['../fspxi_8h.html#a8a50e96c88d6b0f7a5932ac9c48eaea0',1,'fspxi.h']]], + ['fspxi_5freadfilesha256_1363',['FSPXI_ReadFileSHA256',['../fspxi_8h.html#ac3cb549ad6d1e11a2744f5bfbdd87119',1,'fspxi.h']]], + ['fspxi_5freadnandreport_1364',['FSPXI_ReadNandReport',['../fspxi_8h.html#ac287f0bbd41237746a35ec08e55cabc0',1,'fspxi.h']]], + ['fspxi_5freadspecialfile_1365',['FSPXI_ReadSpecialFile',['../fspxi_8h.html#a4174449901486dc712d807151f3536f8',1,'fspxi.h']]], + ['fspxi_5frenamedirectory_1366',['FSPXI_RenameDirectory',['../fspxi_8h.html#a735ceb9017bd302f5ecf888e7b9dcccd',1,'fspxi.h']]], + ['fspxi_5frenamefile_1367',['FSPXI_RenameFile',['../fspxi_8h.html#ac844eb9b69ed0fc609db35ca5b884198',1,'fspxi.h']]], + ['fspxi_5fsendinitializeinfoto9_1368',['FSPXI_SendInitializeInfoTo9',['../fspxi_8h.html#a43642e4d8887bd9fffa71f9220231292',1,'fspxi.h']]], + ['fspxi_5fsetcardspibaudrate_1369',['FSPXI_SetCardSpiBaudrate',['../fspxi_8h.html#ac35705dcde4ab5cbfbe8bc4772d1ec2d',1,'fspxi.h']]], + ['fspxi_5fsetcardspibusmode_1370',['FSPXI_SetCardSpiBusMode',['../fspxi_8h.html#ac7c35fcc019026023e77ad10d3459496',1,'fspxi.h']]], + ['fspxi_5fsetctrcardlatencyparameter_1371',['FSPXI_SetCtrCardLatencyParameter',['../fspxi_8h.html#a73356b643ba69b75972dfe390675f4f1',1,'fspxi.h']]], + ['fspxi_5fsetfilesize_1372',['FSPXI_SetFileSize',['../fspxi_8h.html#a813ed6b3680775aedc2e393047536da8',1,'fspxi.h']]], + ['fspxi_5fsetpriority_1373',['FSPXI_SetPriority',['../fspxi_8h.html#a76827f115d35d7b88a4b53c0135d11b6',1,'fspxi.h']]], + ['fspxi_5fstartdevicemoveasdestination_1374',['FSPXI_StartDeviceMoveAsDestination',['../fspxi_8h.html#ae391f9d1677cf9eeeff05517b102bce3',1,'fspxi.h']]], + ['fspxi_5fstartdevicemoveassource_1375',['FSPXI_StartDeviceMoveAsSource',['../fspxi_8h.html#ab32493ac51a7e2dea0070b0ce18f5566',1,'fspxi.h']]], + ['fspxi_5fswitchcleanupinvalidsavedata_1376',['FSPXI_SwitchCleanupInvalidSaveData',['../fspxi_8h.html#afc0101117d7d0db97b2079b40e03df2e',1,'fspxi.h']]], + ['fspxi_5funknown0x17_1377',['FSPXI_Unknown0x17',['../fspxi_8h.html#ac294662cd5b6b163e2587bdcb426e110',1,'fspxi.h']]], + ['fspxi_5funknown0x56_1378',['FSPXI_Unknown0x56',['../fspxi_8h.html#af545af6bf4e96fc8287d82616b84049e',1,'fspxi.h']]], + ['fspxi_5fwritefile_1379',['FSPXI_WriteFile',['../fspxi_8h.html#a868cc842d9b9ea122daead90d65d33af',1,'fspxi.h']]], + ['fspxi_5fwritefilesha256_1380',['FSPXI_WriteFileSHA256',['../fspxi_8h.html#a010e4e10532a36697d8914f6e517a315',1,'fspxi.h']]], + ['fsr_1381',['fsr',['../structERRF__ExceptionInfo.html#a90895b755e52f619654d907818b8e68e',1,'ERRF_ExceptionInfo']]], + ['fsunexemptfromsession_1382',['fsUnexemptFromSession',['../fs_8h.html#a4fd200207f5550eaa8382b474d4ba79f',1,'fs.h']]], + ['fsuser_5fabnegateaccessright_1383',['FSUSER_AbnegateAccessRight',['../fs_8h.html#ac38d5e7fb53a57874fdef865a5f4bb7b',1,'fs.h']]], + ['fsuser_5fcardnordirectcommand_1384',['FSUSER_CardNorDirectCommand',['../fs_8h.html#a201dafd5a0fd1242b8a3b9a802950c59',1,'fs.h']]], + ['fsuser_5fcardnordirectcommandwithaddress_1385',['FSUSER_CardNorDirectCommandWithAddress',['../fs_8h.html#a9a889601a8a5d6abd982132b9f925b25',1,'fs.h']]], + ['fsuser_5fcardnordirectcpuwritewithoutverify_1386',['FSUSER_CardNorDirectCpuWriteWithoutVerify',['../fs_8h.html#a925dc37206c4a30e8fcd559f86b40a28',1,'fs.h']]], + ['fsuser_5fcardnordirectread_1387',['FSUSER_CardNorDirectRead',['../fs_8h.html#a6f91fcd4127e4d4b71c0afebd9c1c4ad',1,'fs.h']]], + ['fsuser_5fcardnordirectread_5f4xio_1388',['FSUSER_CardNorDirectRead_4xIO',['../fs_8h.html#a72c8f9c635fecf98e7bfb840b6a573b7',1,'fs.h']]], + ['fsuser_5fcardnordirectreadwithaddress_1389',['FSUSER_CardNorDirectReadWithAddress',['../fs_8h.html#a252e6b1bf3a6f5d4dc609264d64155cc',1,'fs.h']]], + ['fsuser_5fcardnordirectsectorerasewithoutverify_1390',['FSUSER_CardNorDirectSectorEraseWithoutVerify',['../fs_8h.html#a4dad2590b401ba4a1f42b828e0b641be',1,'fs.h']]], + ['fsuser_5fcardnordirectwrite_1391',['FSUSER_CardNorDirectWrite',['../fs_8h.html#ad0e715a2c5dbbcb8507763873dce0801',1,'fs.h']]], + ['fsuser_5fcardnordirectwritewithaddress_1392',['FSUSER_CardNorDirectWriteWithAddress',['../fs_8h.html#a1f6b861fd5051921b014334344fb17b8',1,'fs.h']]], + ['fsuser_5fcardslotgetcardifpowerstatus_1393',['FSUSER_CardSlotGetCardIFPowerStatus',['../fs_8h.html#a81f2a073f9d7da8fc6211c32877e1a09',1,'fs.h']]], + ['fsuser_5fcardslotisinserted_1394',['FSUSER_CardSlotIsInserted',['../fs_8h.html#ac81d21af5d078977dbf7f003e7085699',1,'fs.h']]], + ['fsuser_5fcardslotpoweroff_1395',['FSUSER_CardSlotPowerOff',['../fs_8h.html#a8f0f323452ef1ef565ee3811d25f175e',1,'fs.h']]], + ['fsuser_5fcardslotpoweron_1396',['FSUSER_CardSlotPowerOn',['../fs_8h.html#a431d9af6b29f79bb23346db21bdb0135',1,'fs.h']]], + ['fsuser_5fcheckauthoritytoaccessextsavedata_1397',['FSUSER_CheckAuthorityToAccessExtSaveData',['../fs_8h.html#a507d6c1fdfcb97ba362cbd323c7f14b0',1,'fs.h']]], + ['fsuser_5fclearnandlog_1398',['FSUSER_ClearNandLog',['../fs_8h.html#ab64ec812fa7cb36f8b3a45e66ecaae42',1,'fs.h']]], + ['fsuser_5fclearsdmclog_1399',['FSUSER_ClearSdmcLog',['../fs_8h.html#a9641116a4efff57fc29999e690de97af',1,'fs.h']]], + ['fsuser_5fclosearchive_1400',['FSUSER_CloseArchive',['../fs_8h.html#a32e368aef60d5c5a464cc95c43c02f0d',1,'fs.h']]], + ['fsuser_5fcontrol_1401',['FSUSER_Control',['../fs_8h.html#a7ad5023cf160f7f5d91c84387b7c7e90',1,'fs.h']]], + ['fsuser_5fcontrolarchive_1402',['FSUSER_ControlArchive',['../fs_8h.html#ab720a77777a35fa7112556af2c1c4e0b',1,'fs.h']]], + ['fsuser_5fcontrolsecuresave_1403',['FSUSER_ControlSecureSave',['../fs_8h.html#a73dd63d6a893d66e8305fae96c16e3e0',1,'fs.h']]], + ['fsuser_5fcreatedirectory_1404',['FSUSER_CreateDirectory',['../fs_8h.html#ae6009491439458c1e7dffd77f49157eb',1,'fs.h']]], + ['fsuser_5fcreateextsavedata_1405',['FSUSER_CreateExtSaveData',['../fs_8h.html#a169cf352821378c96b55b9eb41ee709d',1,'fs.h']]], + ['fsuser_5fcreatefile_1406',['FSUSER_CreateFile',['../fs_8h.html#a2bc945a229289c0f0a7a205b7c7d5179',1,'fs.h']]], + ['fsuser_5fcreateseed_1407',['FSUSER_CreateSeed',['../fs_8h.html#aa3bc06b16d91fa1955480a70284dae52',1,'fs.h']]], + ['fsuser_5fcreatesystemsavedata_1408',['FSUSER_CreateSystemSaveData',['../fs_8h.html#a7c244f2a284f0f6b62cc85a575ba6c36',1,'fs.h']]], + ['fsuser_5fdeleteallextsavedataonnand_1409',['FSUSER_DeleteAllExtSaveDataOnNand',['../fs_8h.html#ace0bf04b5875a188f9720838129dfceb',1,'fs.h']]], + ['fsuser_5fdeletedirectory_1410',['FSUSER_DeleteDirectory',['../fs_8h.html#aa9ceefaf8cfaf6deefff2e2000fc8e62',1,'fs.h']]], + ['fsuser_5fdeletedirectoryrecursively_1411',['FSUSER_DeleteDirectoryRecursively',['../fs_8h.html#ac57b8a279ff700a6d117b6a98a0c0b8c',1,'fs.h']]], + ['fsuser_5fdeleteextsavedata_1412',['FSUSER_DeleteExtSaveData',['../fs_8h.html#a08c72cad81d3f7a780e7e61e3e185e15',1,'fs.h']]], + ['fsuser_5fdeletefile_1413',['FSUSER_DeleteFile',['../fs_8h.html#aa92c308811733816a3048903076c398f',1,'fs.h']]], + ['fsuser_5fdeletesdmcroot_1414',['FSUSER_DeleteSdmcRoot',['../fs_8h.html#a1ac8d7693211dfc08357f8e848cd8110',1,'fs.h']]], + ['fsuser_5fdeletesystemsavedata_1415',['FSUSER_DeleteSystemSaveData',['../fs_8h.html#a3bf53ebd5fda19c2a62a441cf75e9550',1,'fs.h']]], + ['fsuser_5fenumerateextsavedata_1416',['FSUSER_EnumerateExtSaveData',['../fs_8h.html#acf89a4b2db6ab9b7fd7cb5855a99e2fc',1,'fs.h']]], + ['fsuser_5fenumeratesystemsavedata_1417',['FSUSER_EnumerateSystemSaveData',['../fs_8h.html#a049db06b83ef3e9e4310a99b13cbd97c',1,'fs.h']]], + ['fsuser_5fexportintegrityverificationseed_1418',['FSUSER_ExportIntegrityVerificationSeed',['../fs_8h.html#ac0cf7cc64448889235772601ec0cdcaf',1,'fs.h']]], + ['fsuser_5fformatsavedata_1419',['FSUSER_FormatSaveData',['../fs_8h.html#a2702a8584d30da084ca28878f749c74c',1,'fs.h']]], + ['fsuser_5fgetarchivepriority_1420',['FSUSER_GetArchivePriority',['../fs_8h.html#a0571dd827c573dbf37561b9112a29433',1,'fs.h']]], + ['fsuser_5fgetarchiveresource_1421',['FSUSER_GetArchiveResource',['../fs_8h.html#a5f5fd63ba7fe39e33bdb24bc9e33fbc3',1,'fs.h']]], + ['fsuser_5fgetcardtype_1422',['FSUSER_GetCardType',['../fs_8h.html#a6cdb9fe9fda62f3d4d567502fafddc82',1,'fs.h']]], + ['fsuser_5fgetextdatablocksize_1423',['FSUSER_GetExtDataBlockSize',['../fs_8h.html#a34e68de201af3c5c78479aa552c0d329',1,'fs.h']]], + ['fsuser_5fgetformatinfo_1424',['FSUSER_GetFormatInfo',['../fs_8h.html#a06247f1f4e1e19abea4742682ec76c3b',1,'fs.h']]], + ['fsuser_5fgetfreebytes_1425',['FSUSER_GetFreeBytes',['../fs_8h.html#a7bc830c7c137e903489d85c96fefa74c',1,'fs.h']]], + ['fsuser_5fgetlegacybannerdata_1426',['FSUSER_GetLegacyBannerData',['../fs_8h.html#a062d221f0e45806fbece63e0f4e16ff0',1,'fs.h']]], + ['fsuser_5fgetlegacyromheader_1427',['FSUSER_GetLegacyRomHeader',['../fs_8h.html#a8e4e8a318d3fb8bb32721968cfcf12d5',1,'fs.h']]], + ['fsuser_5fgetlegacyromheader2_1428',['FSUSER_GetLegacyRomHeader2',['../fs_8h.html#a64e7ed447069dcd53c81efdbb3f48986',1,'fs.h']]], + ['fsuser_5fgetlegacysubbannerdata_1429',['FSUSER_GetLegacySubBannerData',['../fs_8h.html#a24735078ae844fa8ff832fa2bbc7db7a',1,'fs.h']]], + ['fsuser_5fgetmediatype_1430',['FSUSER_GetMediaType',['../fs_8h.html#a0964bec8c0e3c6f361ab6dad7edc4084',1,'fs.h']]], + ['fsuser_5fgetnandarchiveresource_1431',['FSUSER_GetNandArchiveResource',['../fs_8h.html#a624506fd54cf878ae76c62520f955f80',1,'fs.h']]], + ['fsuser_5fgetnandcid_1432',['FSUSER_GetNandCid',['../fs_8h.html#a484e158255d3eee12d5c2bf1fe9c87fd',1,'fs.h']]], + ['fsuser_5fgetnandlog_1433',['FSUSER_GetNandLog',['../fs_8h.html#a1abf234a4b9bdf2126722ddf8f5f0d50',1,'fs.h']]], + ['fsuser_5fgetnandspeedinfo_1434',['FSUSER_GetNandSpeedInfo',['../fs_8h.html#a37eb81707d78aa52451c3df5daa8080c',1,'fs.h']]], + ['fsuser_5fgetpriority_1435',['FSUSER_GetPriority',['../fs_8h.html#a62e56f207edb0f796ecb1450ebb74556',1,'fs.h']]], + ['fsuser_5fgetproductinfo_1436',['FSUSER_GetProductInfo',['../fs_8h.html#a25e639d059b87931ed071bc114c0b358',1,'fs.h']]], + ['fsuser_5fgetprogramlaunchinfo_1437',['FSUSER_GetProgramLaunchInfo',['../fs_8h.html#ab6f0504c10a330104c5427b9fb57a839',1,'fs.h']]], + ['fsuser_5fgetsavedatasecurevalue_1438',['FSUSER_GetSaveDataSecureValue',['../fs_8h.html#a8bb8716e6d1254d6e5caf6c286d15d7c',1,'fs.h']]], + ['fsuser_5fgetsdmcarchiveresource_1439',['FSUSER_GetSdmcArchiveResource',['../fs_8h.html#a11599925626922d2a8075413406681bd',1,'fs.h']]], + ['fsuser_5fgetsdmccid_1440',['FSUSER_GetSdmcCid',['../fs_8h.html#aca220d5e39f3d364e839734ca579db00',1,'fs.h']]], + ['fsuser_5fgetsdmcctrrootpath_1441',['FSUSER_GetSdmcCtrRootPath',['../fs_8h.html#abcd43519e25e532efaea0998968aa511',1,'fs.h']]], + ['fsuser_5fgetsdmcfatfserror_1442',['FSUSER_GetSdmcFatfsError',['../fs_8h.html#a1f1388fb7e6835f05a1c64b7ea71fcf6',1,'fs.h']]], + ['fsuser_5fgetsdmclog_1443',['FSUSER_GetSdmcLog',['../fs_8h.html#ac52e9ee7e0149815afc972a76a20318b',1,'fs.h']]], + ['fsuser_5fgetsdmcspeedinfo_1444',['FSUSER_GetSdmcSpeedInfo',['../fs_8h.html#a52cd8260c5f726b9e9a15eedf16e80be',1,'fs.h']]], + ['fsuser_5fgetspecialcontentindex_1445',['FSUSER_GetSpecialContentIndex',['../fs_8h.html#aebb5f9f0f3cb4e0cb31468f4980939fe',1,'fs.h']]], + ['fsuser_5fgetspecialfilesize_1446',['FSUSER_GetSpecialFileSize',['../fs_8h.html#a70d4273c68271abd00759403fc592169',1,'fs.h']]], + ['fsuser_5fimportintegrityverificationseed_1447',['FSUSER_ImportIntegrityVerificationSeed',['../fs_8h.html#a72bf09ef1c65d1e5be41acf3820769ca',1,'fs.h']]], + ['fsuser_5finitialize_1448',['FSUSER_Initialize',['../fs_8h.html#a65613779d51d5f5063f33601b10748ef',1,'fs.h']]], + ['fsuser_5finitializectrfilesystem_1449',['FSUSER_InitializeCtrFileSystem',['../fs_8h.html#aa9535e2acab2de8b69a25837857f31b0',1,'fs.h']]], + ['fsuser_5finitializewithsdkversion_1450',['FSUSER_InitializeWithSdkVersion',['../fs_8h.html#aed395102523af510392243d7fa2a9ad4',1,'fs.h']]], + ['fsuser_5fissdmcdetected_1451',['FSUSER_IsSdmcDetected',['../fs_8h.html#a3fac57d32bdb4fa120ede6cfaa675067',1,'fs.h']]], + ['fsuser_5fissdmcwritable_1452',['FSUSER_IsSdmcWritable',['../fs_8h.html#aabc672eee0473adca49e889ed773debd',1,'fs.h']]], + ['fsuser_5fopenarchive_1453',['FSUSER_OpenArchive',['../fs_8h.html#a92bb1a78bd0a8372936b98beda8ef43c',1,'fs.h']]], + ['fsuser_5fopendirectory_1454',['FSUSER_OpenDirectory',['../fs_8h.html#a1e4cb575a97ad7a70845fd4900f4d852',1,'fs.h']]], + ['fsuser_5fopenfile_1455',['FSUSER_OpenFile',['../fs_8h.html#a972f8f4ab83adae7582787b7c23d82cf',1,'fs.h']]], + ['fsuser_5fopenfiledirectly_1456',['FSUSER_OpenFileDirectly',['../fs_8h.html#a550b1a046e66ef8216f737225adbf934',1,'fs.h']]], + ['fsuser_5fquerytotalquotasize_1457',['FSUSER_QueryTotalQuotaSize',['../fs_8h.html#a2e19c788bc075f06c660a6331165cb64',1,'fs.h']]], + ['fsuser_5freadextsavedataicon_1458',['FSUSER_ReadExtSaveDataIcon',['../fs_8h.html#aa270f7127ec3c8cac32d69f3f1031bd0',1,'fs.h']]], + ['fsuser_5freadspecialfile_1459',['FSUSER_ReadSpecialFile',['../fs_8h.html#a6184945654fed9e272319144001e5442',1,'fs.h']]], + ['fsuser_5frenamedirectory_1460',['FSUSER_RenameDirectory',['../fs_8h.html#addb78fb5f243542b20b8ad9595d97ae9',1,'fs.h']]], + ['fsuser_5frenamefile_1461',['FSUSER_RenameFile',['../fs_8h.html#a6d2337aee6ed9c01e0c24b84d1ae9ccb',1,'fs.h']]], + ['fsuser_5fsendinitializeinfoto9_1462',['FSUSER_SendInitializeInfoTo9',['../fs_8h.html#a1f54db6c0ab151e1ebb4dc2927532cfe',1,'fs.h']]], + ['fsuser_5fsetarchivepriority_1463',['FSUSER_SetArchivePriority',['../fs_8h.html#ac848f8623bca82353495973e849fd01f',1,'fs.h']]], + ['fsuser_5fsetcardspibaudrate_1464',['FSUSER_SetCardSpiBaudRate',['../fs_8h.html#a81fd994288ee67a90d1eb639fb260994',1,'fs.h']]], + ['fsuser_5fsetcardspibusmode_1465',['FSUSER_SetCardSpiBusMode',['../fs_8h.html#a32652baad118c601d681c485a5aad212',1,'fs.h']]], + ['fsuser_5fsetctrcardlatencyparameter_1466',['FSUSER_SetCtrCardLatencyParameter',['../fs_8h.html#a449bdc2b54331f420eba3b2db6b88c57',1,'fs.h']]], + ['fsuser_5fsetpriority_1467',['FSUSER_SetPriority',['../fs_8h.html#ad0aceb5cbadba6d0be55f772207e29d7',1,'fs.h']]], + ['fsuser_5fsetsavedatasecurevalue_1468',['FSUSER_SetSaveDataSecureValue',['../fs_8h.html#ab0bd74e9aaf321e4648bea1980ddb754',1,'fs.h']]], + ['fsuser_5fstartdevicemoveasdestination_1469',['FSUSER_StartDeviceMoveAsDestination',['../fs_8h.html#abacf405c107cfd13196d8268a425fcf9',1,'fs.h']]], + ['fsuser_5fstartdevicemoveassource_1470',['FSUSER_StartDeviceMoveAsSource',['../fs_8h.html#aa908e417cf771f1d79f4bae815ae27cd',1,'fs.h']]], + ['fsuser_5fswitchcleanupinvalidsavedata_1471',['FSUSER_SwitchCleanupInvalidSaveData',['../fs_8h.html#a8d546ae30727a839c702364901b64952',1,'fs.h']]], + ['fsuser_5fupdatesha256context_1472',['FSUSER_UpdateSha256Context',['../fs_8h.html#ac6a626e8d21052058c5ca712e743f71e',1,'fs.h']]], + ['fsusesession_1473',['fsUseSession',['../fs_8h.html#af1c83784d540badb04f67e00c5144cf3',1,'fs.h']]] +]; diff --git a/search/all_8.html b/search/all_8.html new file mode 100644 index 000000000..83c55ae22 --- /dev/null +++ b/search/all_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_8.js b/search/all_8.js new file mode 100644 index 000000000..87b0bca31 --- /dev/null +++ b/search/all_8.js @@ -0,0 +1,1237 @@ +var searchData= +[ + ['g_5foffset_1474',['g_offset',['../structY2RU__ColorCoefficients.html#ade58f6b22c93eb3df6f0436325110458',1,'Y2RU_ColorCoefficients']]], + ['g_5fu_1475',['g_U',['../structY2RU__ColorCoefficients.html#ab7116832143368479046f3a3a4c1d685',1,'Y2RU_ColorCoefficients']]], + ['g_5fv_1476',['g_V',['../structY2RU__ColorCoefficients.html#a84c73ab84c1c6f1c38659cc69422ddca',1,'Y2RU_ColorCoefficients']]], + ['gamedescription_1477',['GameDescription',['../structGameDescription.html',1,'']]], + ['gateway_1478',['gateway',['../structSOCU__RoutingTableEntry.html#a06b849a41be07f5b32759e4138d09cca',1,'SOCU_RoutingTableEntry']]], + ['gdbhio_2eh_1479',['gdbhio.h',['../gdbhio_8h.html',1,'']]], + ['gdbhio_5fdev_2eh_1480',['gdbhio_dev.h',['../gdbhio__dev_8h.html',1,'']]], + ['gdbhiodevexit_1481',['gdbHioDevExit',['../gdbhio__dev_8h.html#a623fa8310ed3c02993ef7255119b3c7e',1,'gdbhio_dev.h']]], + ['gdbhiodevgetstderr_1482',['gdbHioDevGetStderr',['../gdbhio__dev_8h.html#a0f52252119bf703d15d8a12765196671',1,'gdbhio_dev.h']]], + ['gdbhiodevgetstdin_1483',['gdbHioDevGetStdin',['../gdbhio__dev_8h.html#ab94098ccdaf205f64aa8e44c82f54e36',1,'gdbhio_dev.h']]], + ['gdbhiodevgetstdout_1484',['gdbHioDevGetStdout',['../gdbhio__dev_8h.html#aa08aeffcc4fa68a69fb98e7d3d4c1f8f',1,'gdbhio_dev.h']]], + ['gdbhiodevgettimeofday_1485',['gdbHioDevGettimeofday',['../gdbhio__dev_8h.html#a39b9ea0f30767f0d434eda5d0f605445',1,'gdbhio_dev.h']]], + ['gdbhiodevinit_1486',['gdbHioDevInit',['../gdbhio__dev_8h.html#ab44de89874574244f5f24a222e1d41ba',1,'gdbhio_dev.h']]], + ['gdbhiodevisatty_1487',['gdbHioDevIsatty',['../gdbhio__dev_8h.html#aa97cf5954c6fde94c63f6594de0e4051',1,'gdbhio_dev.h']]], + ['gdbhiodevredirectstdstreams_1488',['gdbHioDevRedirectStdStreams',['../gdbhio__dev_8h.html#aca64636a4fbe34902d57268363cb29ac',1,'gdbhio_dev.h']]], + ['gdbhioisatty_1489',['gdbHioIsatty',['../gdbhio_8h.html#ac227bf96198f76084f1773f25572fd17',1,'gdbhio.h']]], + ['geometry_5fshdr_1490',['GEOMETRY_SHDR',['../shbin_8h.html#aa9cc048117db5beffa628f10cad82c4ca49b1cd670a0a77f2ffb9b42f82b7d8de',1,'shbin.h']]], + ['geometryshader_1491',['geometryShader',['../structshaderProgram__s.html#a80f25550817af2c8163bc95430542f1f',1,'shaderProgram_s']]], + ['geoshaderinputpermutation_1492',['geoShaderInputPermutation',['../structshaderProgram__s.html#ac4aa1a5958c171927907932c9ddb8c3a',1,'shaderProgram_s']]], + ['geoshaderinputstride_1493',['geoShaderInputStride',['../structshaderProgram__s.html#ac51cab306bae4a050faa060dbd59ac09',1,'shaderProgram_s']]], + ['get_5fversion_5fmajor_1494',['GET_VERSION_MAJOR',['../os_8h.html#a0bd5e5709b15356ed59ca500ddfa1522',1,'os.h']]], + ['get_5fversion_5fminor_1495',['GET_VERSION_MINOR',['../os_8h.html#a6cfa84144d8bb77e77a734012549090f',1,'os.h']]], + ['get_5fversion_5frevision_1496',['GET_VERSION_REVISION',['../os_8h.html#ac7e2448695a0c735dee58ad61f73f172',1,'os.h']]], + ['gethostid_1497',['gethostid',['../soc_8h.html#ab7b49a1dc7a37a50ea146982bc01eee1',1,'soc.h']]], + ['getthreadcommandbuffer_1498',['getThreadCommandBuffer',['../svc_8h.html#a2e0c230a1bb2d5400edc08bd7c687099',1,'svc.h']]], + ['getthreadlocalstorage_1499',['getThreadLocalStorage',['../svc_8h.html#a3f23b2d589b488efb59603000c5f7969',1,'svc.h']]], + ['getthreadstaticbuffers_1500',['getThreadStaticBuffers',['../svc_8h.html#a7f804146f815c96c98e7712bce3993bf',1,'svc.h']]], + ['gfx_1501',['gfx',['../structConsoleFont.html#a6e08b67a31abcebc4e7c9895c5870c3f',1,'ConsoleFont']]], + ['gfx_2eh_1502',['gfx.h',['../gfx_8h.html',1,'']]], + ['gfx3dside_5ft_1503',['gfx3dSide_t',['../gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03',1,'gfx.h']]], + ['gfx_5fbottom_1504',['GFX_BOTTOM',['../gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09cac1be8c2dee1ab5520b30ba069afa7541',1,'gfx.h']]], + ['gfx_5fleft_1505',['GFX_LEFT',['../gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1',1,'gfx.h']]], + ['gfx_5fright_1506',['GFX_RIGHT',['../gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1e16d704e9b5a318e3f73aaaba2f38f9',1,'gfx.h']]], + ['gfx_5ftop_1507',['GFX_TOP',['../gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09',1,'gfx.h']]], + ['gfxconfigscreen_1508',['gfxConfigScreen',['../gfx_8h.html#aac9ec0b0caf3a9f8c7c58905f81786d3',1,'gfx.h']]], + ['gfxexit_1509',['gfxExit',['../gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b',1,'gfx.h']]], + ['gfxflushbuffers_1510',['gfxFlushBuffers',['../gfx_8h.html#aea1808bd74fe0c00f9794e455fc8499b',1,'gfx.h']]], + ['gfxgetframebuffer_1511',['gfxGetFramebuffer',['../gfx_8h.html#a332447352568e250a75397a1b2e452db',1,'gfx.h']]], + ['gfxgetscreenformat_1512',['gfxGetScreenFormat',['../gfx_8h.html#a345889c5df83e483536afebd7edf04ef',1,'gfx.h']]], + ['gfxinit_1513',['gfxInit',['../gfx_8h.html#a1364b0796016b3b87ce005c7d3199519',1,'gfx.h']]], + ['gfxinitdefault_1514',['gfxInitDefault',['../gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc',1,'gfx.h']]], + ['gfxis3d_1515',['gfxIs3D',['../gfx_8h.html#a07c2e95d490e338a8b87030124f58a60',1,'gfx.h']]], + ['gfxiswide_1516',['gfxIsWide',['../gfx_8h.html#adb8f7a90724f6f11a93c776fffea7891',1,'gfx.h']]], + ['gfxscreen_5ft_1517',['gfxScreen_t',['../gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09c',1,'gfx.h']]], + ['gfxscreenswapbuffers_1518',['gfxScreenSwapBuffers',['../gfx_8h.html#a9d7f8afcf19ad7bb6f4c4f76dbd3fec6',1,'gfx.h']]], + ['gfxset3d_1519',['gfxSet3D',['../gfx_8h.html#a7b5743ba9ce490263b12d1575af7ebc1',1,'gfx.h']]], + ['gfxsetdoublebuffering_1520',['gfxSetDoubleBuffering',['../gfx_8h.html#a9f57f3b6f2e6817c6457d005887fa128',1,'gfx.h']]], + ['gfxsetscreenformat_1521',['gfxSetScreenFormat',['../gfx_8h.html#ab8bc89eb1ea35a06bfb0c3e1ffbf2996',1,'gfx.h']]], + ['gfxsetwide_1522',['gfxSetWide',['../gfx_8h.html#a1ffe33f6b3e9a61ee916997fc6cf6ace',1,'gfx.h']]], + ['gfxswapbuffers_1523',['gfxSwapBuffers',['../gfx_8h.html#a0f338920111994110975dc0d1360bb1f',1,'gfx.h']]], + ['gfxswapbuffersgpu_1524',['gfxSwapBuffersGpu',['../gfx_8h.html#a3306df28835a647734cf8e299f041527',1,'gfx.h']]], + ['glasses_5fdetails_1525',['glasses_details',['../structMiiData.html#a0404e316f4119f6220d110d9251bfec5',1,'MiiData']]], + ['glyph_5fpos_5fat_5fbaseline_1526',['GLYPH_POS_AT_BASELINE',['../font_8h.html#abc5c98fcc1211af2b80116dd6e0a035da3cd48e7e3e19c1d32f290014dab28f09',1,'font.h']]], + ['glyph_5fpos_5fcalc_5fvtxcoord_1527',['GLYPH_POS_CALC_VTXCOORD',['../font_8h.html#abc5c98fcc1211af2b80116dd6e0a035da88a29166abd827d076f67a0a47d5cae9',1,'font.h']]], + ['glyph_5fpos_5fy_5fpoints_5fup_1528',['GLYPH_POS_Y_POINTS_UP',['../font_8h.html#abc5c98fcc1211af2b80116dd6e0a035da54a245d51be82c46be1820a2b6e0fcba',1,'font.h']]], + ['glyphindex_1529',['glyphIndex',['../structtag__CMAP__s.html#a38bd5733e74fd86d186d3ab4b7c19dc5',1,'tag_CMAP_s']]], + ['glyphwidth_1530',['glyphWidth',['../structcharWidthInfo__s.html#aec28a270c5501a4ab8db07103132b636',1,'charWidthInfo_s']]], + ['gpu_2eh_1531',['gpu.h',['../gpu_8h.html',1,'']]], + ['gpu_5fa4_1532',['GPU_A4',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa647b190ec1a8ab75fd9636d4a24e5866',1,'enums.h']]], + ['gpu_5fa8_1533',['GPU_A8',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa41201ba554a4b11bb1f76985b89a256e',1,'enums.h']]], + ['gpu_5fadd_1534',['GPU_ADD',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1a76c8833caf6cd58a784b748d7428c4',1,'enums.h']]], + ['gpu_5fadd_5fmultiply_1535',['GPU_ADD_MULTIPLY',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a61abe2d997b39204c0f6c38621ff2003',1,'enums.h']]], + ['gpu_5fadd_5fsigned_1536',['GPU_ADD_SIGNED',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a15b65d45e41a2baa040e85257461b402',1,'enums.h']]], + ['gpu_5falways_1537',['GPU_ALWAYS',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a2021d04562bc3b47a305c57dff840c2e',1,'enums.h']]], + ['gpu_5fattribfmt_1538',['GPU_ATTRIBFMT',['../enums_8h.html#aaa7337c142b909e470bbf1ce3c8e9e03',1,'enums.h']]], + ['gpu_5fblend_5fadd_1539',['GPU_BLEND_ADD',['../enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5a39318f81ae768d8a6119e7965a11bd50',1,'enums.h']]], + ['gpu_5fblend_5fmax_1540',['GPU_BLEND_MAX',['../enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5a66ec6a506d2bd5578f0ef3bf01c7b0ab',1,'enums.h']]], + ['gpu_5fblend_5fmin_1541',['GPU_BLEND_MIN',['../enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5a636cea674887f52c3e28e87a8753d2ef',1,'enums.h']]], + ['gpu_5fblend_5freverse_5fsubtract_1542',['GPU_BLEND_REVERSE_SUBTRACT',['../enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5af7637331691d24e497db545393bd34ec',1,'enums.h']]], + ['gpu_5fblend_5fsubtract_1543',['GPU_BLEND_SUBTRACT',['../enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5ad56ffa827b7981cecf31c0928c54d040',1,'enums.h']]], + ['gpu_5fblendequation_1544',['GPU_BLENDEQUATION',['../enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5',1,'enums.h']]], + ['gpu_5fblendfactor_1545',['GPU_BLENDFACTOR',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1',1,'enums.h']]], + ['gpu_5fbump_5fas_5fbump_1546',['GPU_BUMP_AS_BUMP',['../enums_8h.html#a588ef2d1e18ac7aa814fc4d622213ca1a525c1422911b4064f106267d9557e51f',1,'enums.h']]], + ['gpu_5fbump_5fas_5ftang_1547',['GPU_BUMP_AS_TANG',['../enums_8h.html#a588ef2d1e18ac7aa814fc4d622213ca1a9ccd510128e43e5f42311458e1fba8ff',1,'enums.h']]], + ['gpu_5fbump_5fnot_5fused_1548',['GPU_BUMP_NOT_USED',['../enums_8h.html#a588ef2d1e18ac7aa814fc4d622213ca1a340b69d02a957b6556404b7df9bddd0d',1,'enums.h']]], + ['gpu_5fbumpmode_1549',['GPU_BUMPMODE',['../enums_8h.html#a588ef2d1e18ac7aa814fc4d622213ca1',1,'enums.h']]], + ['gpu_5fbyte_1550',['GPU_BYTE',['../enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634acc2974dd261d7a390aac2babaad46640',1,'enums.h']]], + ['gpu_5fclamp_5fto_5fborder_1551',['GPU_CLAMP_TO_BORDER',['../enums_8h.html#aca018b509809231470e5e3c3e907261da5d965e5704025c431c991699e4cead2b',1,'enums.h']]], + ['gpu_5fclamp_5fto_5fedge_1552',['GPU_CLAMP_TO_EDGE',['../enums_8h.html#aca018b509809231470e5e3c3e907261dab68d9e2eed2fb75fe89951c05df69c79',1,'enums.h']]], + ['gpu_5fcolorbuf_1553',['GPU_COLORBUF',['../enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7a',1,'enums.h']]], + ['gpu_5fcombinefunc_1554',['GPU_COMBINEFUNC',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0',1,'enums.h']]], + ['gpu_5fconstant_1555',['GPU_CONSTANT',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a37bfec97f47be51bf6fe40b1e14b49de',1,'enums.h']]], + ['gpu_5fconstant_5falpha_1556',['GPU_CONSTANT_ALPHA',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a11295c7ef5d463ff189f5e6db6c0acab',1,'enums.h']]], + ['gpu_5fconstant_5fcolor_1557',['GPU_CONSTANT_COLOR',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a62b0f2652c0a1a95921646e9742c2f27',1,'enums.h']]], + ['gpu_5fcull_5fback_5fccw_1558',['GPU_CULL_BACK_CCW',['../enums_8h.html#aded31eec5d2f72ea5c6141f24d8a0174a5f4f59f8f711f0bcfa9ca8b87f169ee0',1,'enums.h']]], + ['gpu_5fcull_5ffront_5fccw_1559',['GPU_CULL_FRONT_CCW',['../enums_8h.html#aded31eec5d2f72ea5c6141f24d8a0174a151b7ec784380eafec6f470004f4602a',1,'enums.h']]], + ['gpu_5fcull_5fnone_1560',['GPU_CULL_NONE',['../enums_8h.html#aded31eec5d2f72ea5c6141f24d8a0174a70eae790d781d0f3d13d46e690ed1aa4',1,'enums.h']]], + ['gpu_5fcullmode_1561',['GPU_CULLMODE',['../enums_8h.html#aded31eec5d2f72ea5c6141f24d8a0174',1,'enums.h']]], + ['gpu_5fdepth_5fdensity_1562',['GPU_DEPTH_DENSITY',['../enums_8h.html#acc2d65787e8cddd99f2e65dd3168e388a057252437cf16b266488ee1e74b20b7b',1,'enums.h']]], + ['gpu_5fdepthbuf_1563',['GPU_DEPTHBUF',['../enums_8h.html#a9b40a4b2feaec1dc4a843a908f613a3e',1,'enums.h']]], + ['gpu_5fdot3_5frgb_1564',['GPU_DOT3_RGB',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a062362f28e57250addb5bc53ecdbe4a1',1,'enums.h']]], + ['gpu_5fdot3_5frgba_1565',['GPU_DOT3_RGBA',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0ab763fa4a5a5b0abdba7593b3434271a5',1,'enums.h']]], + ['gpu_5fdst_5falpha_1566',['GPU_DST_ALPHA',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1aa84fea7593472196159145c433d23fd2',1,'enums.h']]], + ['gpu_5fdst_5fcolor_1567',['GPU_DST_COLOR',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1af0fd393f08a1f49c4b6567fc914b1735',1,'enums.h']]], + ['gpu_5fearlydepth_5fgequal_1568',['GPU_EARLYDEPTH_GEQUAL',['../enums_8h.html#a92e680b4a2dac313ccd2bc5bae51b703adddf1707b708673afdefd9b85a31bccf',1,'enums.h']]], + ['gpu_5fearlydepth_5fgreater_1569',['GPU_EARLYDEPTH_GREATER',['../enums_8h.html#a92e680b4a2dac313ccd2bc5bae51b703a101542f7bdac5811ad4fb59fc4346b07',1,'enums.h']]], + ['gpu_5fearlydepth_5flequal_1570',['GPU_EARLYDEPTH_LEQUAL',['../enums_8h.html#a92e680b4a2dac313ccd2bc5bae51b703aa2086b2123f5249827db0c7017f25558',1,'enums.h']]], + ['gpu_5fearlydepth_5fless_1571',['GPU_EARLYDEPTH_LESS',['../enums_8h.html#a92e680b4a2dac313ccd2bc5bae51b703a9d81ab2ccfcaad15ddbfc8a2f0ce2ff8',1,'enums.h']]], + ['gpu_5fearlydepthfunc_1572',['GPU_EARLYDEPTHFUNC',['../enums_8h.html#a92e680b4a2dac313ccd2bc5bae51b703',1,'enums.h']]], + ['gpu_5fequal_1573',['GPU_EQUAL',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a4671d63afefdc08bec5fbc1a3a6ff3c0',1,'enums.h']]], + ['gpu_5fetc1_1574',['GPU_ETC1',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa112e7167e91aadecc9c0465b248522f9',1,'enums.h']]], + ['gpu_5fetc1a4_1575',['GPU_ETC1A4',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa8bb36c2a5ddec806f6b26e093a0d4c2a',1,'enums.h']]], + ['gpu_5ffloat_1576',['GPU_FLOAT',['../enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246',1,'enums.h']]], + ['gpu_5ffog_1577',['GPU_FOG',['../enums_8h.html#a1f70bba2c275f4e43e9126e5017cc982aceb18d741d8a74b7ade87e126dcb0a72',1,'enums.h']]], + ['gpu_5ffogmode_1578',['GPU_FOGMODE',['../enums_8h.html#a1f70bba2c275f4e43e9126e5017cc982',1,'enums.h']]], + ['gpu_5fformats_1579',['GPU_FORMATS',['../enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634',1,'enums.h']]], + ['gpu_5ffragment_5fprimary_5fcolor_1580',['GPU_FRAGMENT_PRIMARY_COLOR',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a0bbc8695a5f516fd20607b11d04a4c3c',1,'enums.h']]], + ['gpu_5ffragment_5fsecondary_5fcolor_1581',['GPU_FRAGMENT_SECONDARY_COLOR',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0ab32b4d5fc6dfdbc4706f2d6ff955b12a',1,'enums.h']]], + ['gpu_5ffragopmode_1582',['GPU_FRAGOPMODE',['../enums_8h.html#aa788d68d2e927a5710842e69b81a588d',1,'enums.h']]], + ['gpu_5ffragopmode_5fgas_5facc_1583',['GPU_FRAGOPMODE_GAS_ACC',['../enums_8h.html#aa788d68d2e927a5710842e69b81a588da959ebe049acd41da9ddd9066002c05b6',1,'enums.h']]], + ['gpu_5ffragopmode_5fgl_1584',['GPU_FRAGOPMODE_GL',['../enums_8h.html#aa788d68d2e927a5710842e69b81a588da0cb1291aade10f659db55a8f919906a7',1,'enums.h']]], + ['gpu_5ffragopmode_5fshadow_1585',['GPU_FRAGOPMODE_SHADOW',['../enums_8h.html#aa788d68d2e927a5710842e69b81a588da484d2f1cb17de8f3e81123f45a795062',1,'enums.h']]], + ['gpu_5ffresnelsel_1586',['GPU_FRESNELSEL',['../enums_8h.html#a15f838c1ce92123135c7cb4cf409c745',1,'enums.h']]], + ['gpu_5fgas_1587',['GPU_GAS',['../enums_8h.html#a1f70bba2c275f4e43e9126e5017cc982a4f31c8ba6139734c419de68ad530e7e3',1,'enums.h']]], + ['gpu_5fgas_5falways_1588',['GPU_GAS_ALWAYS',['../enums_8h.html#a82e5ec9eedb73d135af89102d50f7574a40fbf273f375c55096441c729ef26587',1,'enums.h']]], + ['gpu_5fgas_5fdensity_1589',['GPU_GAS_DENSITY',['../enums_8h.html#adb1be3a2d383032545509998c88ac649a85420feac47692869927f28d48fc9249',1,'enums.h']]], + ['gpu_5fgas_5fgreater_1590',['GPU_GAS_GREATER',['../enums_8h.html#a82e5ec9eedb73d135af89102d50f7574a22904d5e53e914818134e361448265fb',1,'enums.h']]], + ['gpu_5fgas_5fless_1591',['GPU_GAS_LESS',['../enums_8h.html#a82e5ec9eedb73d135af89102d50f7574a7b148f86599ef8065f06021d38be4641',1,'enums.h']]], + ['gpu_5fgas_5flight_5ffactor_1592',['GPU_GAS_LIGHT_FACTOR',['../enums_8h.html#adb1be3a2d383032545509998c88ac649a40342631dfb48f76188a413867864b8b',1,'enums.h']]], + ['gpu_5fgas_5fnever_1593',['GPU_GAS_NEVER',['../enums_8h.html#a82e5ec9eedb73d135af89102d50f7574a6e2b94106eeb8ece959501257fb5ee33',1,'enums.h']]], + ['gpu_5fgasdepthfunc_1594',['GPU_GASDEPTHFUNC',['../enums_8h.html#a82e5ec9eedb73d135af89102d50f7574',1,'enums.h']]], + ['gpu_5fgaslutinput_1595',['GPU_GASLUTINPUT',['../enums_8h.html#adb1be3a2d383032545509998c88ac649',1,'enums.h']]], + ['gpu_5fgasmode_1596',['GPU_GASMODE',['../enums_8h.html#acc2d65787e8cddd99f2e65dd3168e388',1,'enums.h']]], + ['gpu_5fgeometry_5fprim_1597',['GPU_GEOMETRY_PRIM',['../enums_8h.html#a94bdee50fa003d70dd3888f347397806aa5510b7bf1f022edd1a180a2b111cf53',1,'enums.h']]], + ['gpu_5fgeometry_5fshader_1598',['GPU_GEOMETRY_SHADER',['../enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a3a5aa450c7d22bbeb9252de319c635db',1,'enums.h']]], + ['gpu_5fgequal_1599',['GPU_GEQUAL',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a1160361c130e3b1bd576cbab921fe719',1,'enums.h']]], + ['gpu_5fgreater_1600',['GPU_GREATER',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a939d397eee5556dccc012bddfd0dd46a',1,'enums.h']]], + ['gpu_5fhilo8_1601',['GPU_HILO8',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa65d74b1c0549f143a4fc03bb17ff3686',1,'enums.h']]], + ['gpu_5finterpolate_1602',['GPU_INTERPOLATE',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0ac2a62c0fbb389fbfaee8e4ceae1d8f1b',1,'enums.h']]], + ['gpu_5fl4_1603',['GPU_L4',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fae4fc6df7ea70f19b233a2e6b7e20f8d8',1,'enums.h']]], + ['gpu_5fl8_1604',['GPU_L8',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fae5bb3a21caf6d417d59ec5a6561ca391',1,'enums.h']]], + ['gpu_5fla4_1605',['GPU_LA4',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa9d3e5b37323a5a79ccedba6bdffe8dc8',1,'enums.h']]], + ['gpu_5fla8_1606',['GPU_LA8',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa5099b3e9e8676a0b586606d746a2eaf0',1,'enums.h']]], + ['gpu_5flc1_5fattnbit_1607',['GPU_LC1_ATTNBIT',['../enums_8h.html#a72ece02dbe202375c41656f008862e61',1,'enums.h']]], + ['gpu_5flc1_5flutbit_1608',['GPU_LC1_LUTBIT',['../enums_8h.html#a268cd64156ab80fbc9d5276ebfd2e036',1,'enums.h']]], + ['gpu_5flc1_5fshadowbit_1609',['GPU_LC1_SHADOWBIT',['../enums_8h.html#a56f7ef42a30cacadcff715897749b9bb',1,'enums.h']]], + ['gpu_5flc1_5fspotbit_1610',['GPU_LC1_SPOTBIT',['../enums_8h.html#ae728b373883e45faa2b07f09a666493e',1,'enums.h']]], + ['gpu_5flequal_1611',['GPU_LEQUAL',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a72babe8417e362834ebded77f4e23f19',1,'enums.h']]], + ['gpu_5fless_1612',['GPU_LESS',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a920cd8cf2d5c77216b9bf8b05fc3a8f9',1,'enums.h']]], + ['gpu_5flight_5fenv_5flayer_5fconfig_1613',['GPU_LIGHT_ENV_LAYER_CONFIG',['../enums_8h.html#a9311f56ead3e954035f1e7822fd4975b',1,'enums.h']]], + ['gpu_5flightcolor_1614',['GPU_LIGHTCOLOR',['../enums_8h.html#aea79eb97268953065d78b396cf3f01e0',1,'enums.h']]], + ['gpu_5flightlutid_1615',['GPU_LIGHTLUTID',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2',1,'enums.h']]], + ['gpu_5flightlutidx_1616',['GPU_LIGHTLUTIDX',['../enums_8h.html#a1be564c4c4b7bea48173dc004321038f',1,'enums.h']]], + ['gpu_5flightlutinput_1617',['GPU_LIGHTLUTINPUT',['../enums_8h.html#a87ae80eec69e98d7859716697fffaa8d',1,'GPU_LIGHTLUTINPUT(): enums.h'],['../enums_8h.html#ac63e58430371c6fef616284076c22f90',1,'GPU_LIGHTLUTINPUT(): enums.h']]], + ['gpu_5flightlutscaler_1618',['GPU_LIGHTLUTSCALER',['../enums_8h.html#af61f31c26ebc63bbaf2794d42a199df4',1,'enums.h']]], + ['gpu_5flightlutselect_1619',['GPU_LIGHTLUTSELECT',['../enums_8h.html#ad7023555a35d21727eff58ae264498d1',1,'enums.h']]], + ['gpu_5flightperm_1620',['GPU_LIGHTPERM',['../enums_8h.html#acc3d77ddd288c9166ce21a70329ffda3',1,'enums.h']]], + ['gpu_5flinear_1621',['GPU_LINEAR',['../enums_8h.html#a2c76780b7ff5d323daf30ea310fbc8c4a18f85af3bd3785e9463dae917436cb6f',1,'enums.h']]], + ['gpu_5flogicop_1622',['GPU_LOGICOP',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1f',1,'enums.h']]], + ['gpu_5flogicop_5fand_1623',['GPU_LOGICOP_AND',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fa669db488a47f10aabc8041a5fe81e361',1,'enums.h']]], + ['gpu_5flogicop_5fand_5finverted_1624',['GPU_LOGICOP_AND_INVERTED',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1faf38aee32d588c06ca0706c00902b9574',1,'enums.h']]], + ['gpu_5flogicop_5fand_5freverse_1625',['GPU_LOGICOP_AND_REVERSE',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fa083b4c982093cb4cb3c3eedba2a7d724',1,'enums.h']]], + ['gpu_5flogicop_5fclear_1626',['GPU_LOGICOP_CLEAR',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fab3f75794e2bd60907e43ed44f3f4c348',1,'enums.h']]], + ['gpu_5flogicop_5fcopy_1627',['GPU_LOGICOP_COPY',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1facdaa97128b15191ed7fa1f132faf86a3',1,'enums.h']]], + ['gpu_5flogicop_5fcopy_5finverted_1628',['GPU_LOGICOP_COPY_INVERTED',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fa3514fe8d6a7f761ff9d692826b45f657',1,'enums.h']]], + ['gpu_5flogicop_5fequiv_1629',['GPU_LOGICOP_EQUIV',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fabecc177368ade7e3cca9caf8f08d1853',1,'enums.h']]], + ['gpu_5flogicop_5finvert_1630',['GPU_LOGICOP_INVERT',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1facdfe4bbc8d4f9b7b79589e04224ba295',1,'enums.h']]], + ['gpu_5flogicop_5fnand_1631',['GPU_LOGICOP_NAND',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fa9ba10ed8907976bb793a5844b126d686',1,'enums.h']]], + ['gpu_5flogicop_5fnoop_1632',['GPU_LOGICOP_NOOP',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fac2fead501131d7f44bc0f820aa2e03d8',1,'enums.h']]], + ['gpu_5flogicop_5fnor_1633',['GPU_LOGICOP_NOR',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1faff77c7c229d503eb41cb05b21ad597e1',1,'enums.h']]], + ['gpu_5flogicop_5for_1634',['GPU_LOGICOP_OR',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fa20d0171a0d84a028852ef9676226c297',1,'enums.h']]], + ['gpu_5flogicop_5for_5finverted_1635',['GPU_LOGICOP_OR_INVERTED',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1faaf2038e83b4e7bb53d4693099f6c9e36',1,'enums.h']]], + ['gpu_5flogicop_5for_5freverse_1636',['GPU_LOGICOP_OR_REVERSE',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fa4cca5525365d829d4d468b8434354238',1,'enums.h']]], + ['gpu_5flogicop_5fset_1637',['GPU_LOGICOP_SET',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fa5b065a9230362b838b27ab817d9f826a',1,'enums.h']]], + ['gpu_5flogicop_5fxor_1638',['GPU_LOGICOP_XOR',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fa1a2d7482e87230c7b7327b1e69e40515',1,'enums.h']]], + ['gpu_5flut_5falphamap_1639',['GPU_LUT_ALPHAMAP',['../enums_8h.html#ab864ff9d46955c2f61539b23688c99aaa53afe5693c1be7c949cb8f079cb69714',1,'enums.h']]], + ['gpu_5flut_5fcolor_1640',['GPU_LUT_COLOR',['../enums_8h.html#ab864ff9d46955c2f61539b23688c99aaaac64001d8c0dc2401767b95ca05f9544',1,'enums.h']]], + ['gpu_5flut_5fcolordif_1641',['GPU_LUT_COLORDIF',['../enums_8h.html#ab864ff9d46955c2f61539b23688c99aaaeb69dab228eff315d3c99bdb36f88e7f',1,'enums.h']]], + ['gpu_5flut_5fd0_1642',['GPU_LUT_D0',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2afadcb590d677a876167c3965c1d9e325',1,'enums.h']]], + ['gpu_5flut_5fd1_1643',['GPU_LUT_D1',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2a4a731b618dca703ece58e17a717147b5',1,'enums.h']]], + ['gpu_5flut_5fda_1644',['GPU_LUT_DA',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2a823bb38a12c68691fd6cdd157ce57b2e',1,'enums.h']]], + ['gpu_5flut_5ffr_1645',['GPU_LUT_FR',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2a83763faae2b0c60f8e55c6fc9da14d35',1,'enums.h']]], + ['gpu_5flut_5fnoise_1646',['GPU_LUT_NOISE',['../enums_8h.html#ab864ff9d46955c2f61539b23688c99aaa2475efd7159236c56c6e9118adc16c51',1,'enums.h']]], + ['gpu_5flut_5frb_1647',['GPU_LUT_RB',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2a09d22b332d64cd71c2d237357b86b0c8',1,'enums.h']]], + ['gpu_5flut_5frg_1648',['GPU_LUT_RG',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2a181e8ebfceab1ff67aaa3f462ef4f5b9',1,'enums.h']]], + ['gpu_5flut_5frgbmap_1649',['GPU_LUT_RGBMAP',['../enums_8h.html#ab864ff9d46955c2f61539b23688c99aaad7cce5a3ddbbb5a7f53ebb031c9f9633',1,'enums.h']]], + ['gpu_5flut_5frr_1650',['GPU_LUT_RR',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2a25132fe53ebb9513c1dcd5d8ccff3826',1,'enums.h']]], + ['gpu_5flut_5fsp_1651',['GPU_LUT_SP',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2a649639e392ace5dbe5cb7f89874d270a',1,'enums.h']]], + ['gpu_5flutinput_5fcp_1652',['GPU_LUTINPUT_CP',['../enums_8h.html#ac63e58430371c6fef616284076c22f90a81a83d02ca7bc41ba2188022b5fcfa73',1,'enums.h']]], + ['gpu_5flutinput_5fln_1653',['GPU_LUTINPUT_LN',['../enums_8h.html#ac63e58430371c6fef616284076c22f90a542a9d0845299b89d2cd65de9ed29ad0',1,'enums.h']]], + ['gpu_5flutinput_5fnh_1654',['GPU_LUTINPUT_NH',['../enums_8h.html#ac63e58430371c6fef616284076c22f90ad88041c4ccf42b38fa7d8d65158b7b9c',1,'enums.h']]], + ['gpu_5flutinput_5fnv_1655',['GPU_LUTINPUT_NV',['../enums_8h.html#ac63e58430371c6fef616284076c22f90a11084d3b333f1a8fa956e6c74cc076ff',1,'enums.h']]], + ['gpu_5flutinput_5fsp_1656',['GPU_LUTINPUT_SP',['../enums_8h.html#ac63e58430371c6fef616284076c22f90a9e89e7427dd00d369039c838414d8e2f',1,'enums.h']]], + ['gpu_5flutinput_5fvh_1657',['GPU_LUTINPUT_VH',['../enums_8h.html#ac63e58430371c6fef616284076c22f90af3d848cdaced604e33ed232a8ed34e63',1,'enums.h']]], + ['gpu_5flutscaler_5f0_5f25x_1658',['GPU_LUTSCALER_0_25x',['../enums_8h.html#af61f31c26ebc63bbaf2794d42a199df4aeaf9260070f55743a10d9611146f9cd2',1,'enums.h']]], + ['gpu_5flutscaler_5f0_5f5x_1659',['GPU_LUTSCALER_0_5x',['../enums_8h.html#af61f31c26ebc63bbaf2794d42a199df4a55b685d8d53c1e9fcba582a705cf6526',1,'enums.h']]], + ['gpu_5flutscaler_5f1x_1660',['GPU_LUTSCALER_1x',['../enums_8h.html#af61f31c26ebc63bbaf2794d42a199df4afd33788f407fbbdce2941d8577e6dd53',1,'enums.h']]], + ['gpu_5flutscaler_5f2x_1661',['GPU_LUTSCALER_2x',['../enums_8h.html#af61f31c26ebc63bbaf2794d42a199df4acb21cd7d6831ad6f1cec0100f2635462',1,'enums.h']]], + ['gpu_5flutscaler_5f4x_1662',['GPU_LUTSCALER_4x',['../enums_8h.html#af61f31c26ebc63bbaf2794d42a199df4a2597280e34ec8d7a21160e7bd73b1336',1,'enums.h']]], + ['gpu_5flutscaler_5f8x_1663',['GPU_LUTSCALER_8x',['../enums_8h.html#af61f31c26ebc63bbaf2794d42a199df4afa0cd9ff8b8aa92294583c5532940c8a',1,'enums.h']]], + ['gpu_5flutselect_5fcommon_1664',['GPU_LUTSELECT_COMMON',['../enums_8h.html#ad7023555a35d21727eff58ae264498d1a57c74e3de1155040edd14ffee4df006a',1,'enums.h']]], + ['gpu_5flutselect_5fda_1665',['GPU_LUTSELECT_DA',['../enums_8h.html#ad7023555a35d21727eff58ae264498d1a56725b18221532c56d8169b3561e73f8',1,'enums.h']]], + ['gpu_5flutselect_5fsp_1666',['GPU_LUTSELECT_SP',['../enums_8h.html#ad7023555a35d21727eff58ae264498d1ab78dff1d0a3e7c280e59d7cfb30ad03b',1,'enums.h']]], + ['gpu_5fmakegasdepthfunc_1667',['GPU_MAKEGASDEPTHFUNC',['../enums_8h.html#af29f76f2be89c5bfb0ec27336eddf4d2',1,'enums.h']]], + ['gpu_5fmirrored_5frepeat_1668',['GPU_MIRRORED_REPEAT',['../enums_8h.html#aca018b509809231470e5e3c3e907261dac52004d96f64b6a43145077387eba61f',1,'enums.h']]], + ['gpu_5fmodulate_1669',['GPU_MODULATE',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0af18e74afecfedc6e3feca318e1d7dd21',1,'enums.h']]], + ['gpu_5fmultiply_5fadd_1670',['GPU_MULTIPLY_ADD',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a6d6faa3cba435da6be5d71b7cdab472a',1,'enums.h']]], + ['gpu_5fnearest_1671',['GPU_NEAREST',['../enums_8h.html#a2c76780b7ff5d323daf30ea310fbc8c4a916807475bc96900be35e0b8035845d0',1,'enums.h']]], + ['gpu_5fnegative_5fx_1672',['GPU_NEGATIVE_X',['../enums_8h.html#a2fac8fe6dd845ff19a9fc758c0aa8332a60b46c0623b707b852394b99a34fa6f6',1,'enums.h']]], + ['gpu_5fnegative_5fy_1673',['GPU_NEGATIVE_Y',['../enums_8h.html#a2fac8fe6dd845ff19a9fc758c0aa8332a0e79145560b5ed81c3810c48b9c62bdb',1,'enums.h']]], + ['gpu_5fnegative_5fz_1674',['GPU_NEGATIVE_Z',['../enums_8h.html#a2fac8fe6dd845ff19a9fc758c0aa8332a4407ca9fb8ae5553fc9972db8dbc8436',1,'enums.h']]], + ['gpu_5fnever_1675',['GPU_NEVER',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a1a1e13674c5991364c888e646d74a311',1,'enums.h']]], + ['gpu_5fno_5ffog_1676',['GPU_NO_FOG',['../enums_8h.html#a1f70bba2c275f4e43e9126e5017cc982a9cc54bda4b4512da364324b6c7070bbd',1,'enums.h']]], + ['gpu_5fno_5ffresnel_1677',['GPU_NO_FRESNEL',['../enums_8h.html#a15f838c1ce92123135c7cb4cf409c745a904b12f76e2f97b1ccbf2cb00dc72b0b',1,'enums.h']]], + ['gpu_5fnotequal_1678',['GPU_NOTEQUAL',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618aca4cc7c342b61f03d76d9294ee273f83',1,'enums.h']]], + ['gpu_5fone_1679',['GPU_ONE',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a863804f02d43c8991e9b697ce4449947',1,'enums.h']]], + ['gpu_5fone_5fminus_5fconstant_5falpha_1680',['GPU_ONE_MINUS_CONSTANT_ALPHA',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a6e5a84133317e2197d4440a8d45c78ce',1,'enums.h']]], + ['gpu_5fone_5fminus_5fconstant_5fcolor_1681',['GPU_ONE_MINUS_CONSTANT_COLOR',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1ad1df6fbe660faa7fb66bd6f14e6b0337',1,'enums.h']]], + ['gpu_5fone_5fminus_5fdst_5falpha_1682',['GPU_ONE_MINUS_DST_ALPHA',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1aac15b95095467d0c05e89b44651edd6e',1,'enums.h']]], + ['gpu_5fone_5fminus_5fdst_5fcolor_1683',['GPU_ONE_MINUS_DST_COLOR',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1ad0ffe5255d4895f3d85c203c6e692fa7',1,'enums.h']]], + ['gpu_5fone_5fminus_5fsrc_5falpha_1684',['GPU_ONE_MINUS_SRC_ALPHA',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a7bf978d71679e5507689e4570d3d85b2',1,'enums.h']]], + ['gpu_5fone_5fminus_5fsrc_5fcolor_1685',['GPU_ONE_MINUS_SRC_COLOR',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a6f2135fe7d67e8403982b238edfae06d',1,'enums.h']]], + ['gpu_5fplain_5fdensity_1686',['GPU_PLAIN_DENSITY',['../enums_8h.html#acc2d65787e8cddd99f2e65dd3168e388ac28f3063a3c622292bcb9c05be76c229',1,'enums.h']]], + ['gpu_5fpositive_5fx_1687',['GPU_POSITIVE_X',['../enums_8h.html#a2fac8fe6dd845ff19a9fc758c0aa8332ac49bd4f84d24107cef684af4bbedc77d',1,'enums.h']]], + ['gpu_5fpositive_5fy_1688',['GPU_POSITIVE_Y',['../enums_8h.html#a2fac8fe6dd845ff19a9fc758c0aa8332a66a2220297d89575ec6eee46f809dd63',1,'enums.h']]], + ['gpu_5fpositive_5fz_1689',['GPU_POSITIVE_Z',['../enums_8h.html#a2fac8fe6dd845ff19a9fc758c0aa8332acd8651b177f45d9a38be369e999b2669',1,'enums.h']]], + ['gpu_5fprevious_1690',['GPU_PREVIOUS',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a1b960db2c45d309c5e4d9c899d051936',1,'enums.h']]], + ['gpu_5fprevious_5fbuffer_1691',['GPU_PREVIOUS_BUFFER',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a2affeac860991540b5d85dfcf2b7766d',1,'enums.h']]], + ['gpu_5fpri_5falpha_5ffresnel_1692',['GPU_PRI_ALPHA_FRESNEL',['../enums_8h.html#a15f838c1ce92123135c7cb4cf409c745ac57505a7b6ba964ff1a944f54e62117d',1,'enums.h']]], + ['gpu_5fpri_5fsec_5falpha_5ffresnel_1693',['GPU_PRI_SEC_ALPHA_FRESNEL',['../enums_8h.html#a15f838c1ce92123135c7cb4cf409c745a151f7d3bf955a9218b2292bf1cee72ab',1,'enums.h']]], + ['gpu_5fprimary_5fcolor_1694',['GPU_PRIMARY_COLOR',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d',1,'enums.h']]], + ['gpu_5fprimitive_5ft_1695',['GPU_Primitive_t',['../enums_8h.html#a94bdee50fa003d70dd3888f347397806',1,'enums.h']]], + ['gpu_5fproctex_5fclamp_1696',['GPU_PROCTEX_CLAMP',['../enums_8h.html#ac7003b201f809461614b0be43c7f1cb7',1,'enums.h']]], + ['gpu_5fproctex_5ffilter_1697',['GPU_PROCTEX_FILTER',['../enums_8h.html#a430c590536a256d9db4a6b8ab5abc133',1,'enums.h']]], + ['gpu_5fproctex_5flutid_1698',['GPU_PROCTEX_LUTID',['../enums_8h.html#ab864ff9d46955c2f61539b23688c99aa',1,'enums.h']]], + ['gpu_5fproctex_5fmapfunc_1699',['GPU_PROCTEX_MAPFUNC',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7',1,'enums.h']]], + ['gpu_5fproctex_5fshift_1700',['GPU_PROCTEX_SHIFT',['../enums_8h.html#a7aef13dcdf16a383d3931fe46a69eb78',1,'enums.h']]], + ['gpu_5fpt_5fadd_1701',['GPU_PT_ADD',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7a0fbd6841d168a4a0242a657dfc33e3b7',1,'enums.h']]], + ['gpu_5fpt_5fadd2_1702',['GPU_PT_ADD2',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7a244895a2cb72e8124c04f040dad8e75c',1,'enums.h']]], + ['gpu_5fpt_5fclamp_5fto_5fedge_1703',['GPU_PT_CLAMP_TO_EDGE',['../enums_8h.html#ac7003b201f809461614b0be43c7f1cb7a72bb684ef9b26ef47dd5d0ad67b1f644',1,'enums.h']]], + ['gpu_5fpt_5fclamp_5fto_5fzero_1704',['GPU_PT_CLAMP_TO_ZERO',['../enums_8h.html#ac7003b201f809461614b0be43c7f1cb7ab67f726e45ca0d8b1e3e34ff341f9bda',1,'enums.h']]], + ['gpu_5fpt_5feven_1705',['GPU_PT_EVEN',['../enums_8h.html#a7aef13dcdf16a383d3931fe46a69eb78a2632917f209fe4800152654e165b74e3',1,'enums.h']]], + ['gpu_5fpt_5flinear_1706',['GPU_PT_LINEAR',['../enums_8h.html#a430c590536a256d9db4a6b8ab5abc133a45f234fca3944d33f527bfc4512de01f',1,'enums.h']]], + ['gpu_5fpt_5flinear_5fmip_5flinear_1707',['GPU_PT_LINEAR_MIP_LINEAR',['../enums_8h.html#a430c590536a256d9db4a6b8ab5abc133aff227b58f787382c8e3d9c079d49572b',1,'enums.h']]], + ['gpu_5fpt_5flinear_5fmip_5fnearest_1708',['GPU_PT_LINEAR_MIP_NEAREST',['../enums_8h.html#a430c590536a256d9db4a6b8ab5abc133ad411202dc8a4d58764b196e286aea76c',1,'enums.h']]], + ['gpu_5fpt_5fmax_1709',['GPU_PT_MAX',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7af9b959ac8784f251a732381e447f834f',1,'enums.h']]], + ['gpu_5fpt_5fmin_1710',['GPU_PT_MIN',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7a5cfb276362ed48a809a9c6a1c2625f89',1,'enums.h']]], + ['gpu_5fpt_5fmirrored_5frepeat_1711',['GPU_PT_MIRRORED_REPEAT',['../enums_8h.html#ac7003b201f809461614b0be43c7f1cb7ac2e8d1c45fa7cf34ff63f2d1788e6580',1,'enums.h']]], + ['gpu_5fpt_5fnearest_1712',['GPU_PT_NEAREST',['../enums_8h.html#a430c590536a256d9db4a6b8ab5abc133a7e835f1a325859fe8238704003278c29',1,'enums.h']]], + ['gpu_5fpt_5fnearest_5fmip_5flinear_1713',['GPU_PT_NEAREST_MIP_LINEAR',['../enums_8h.html#a430c590536a256d9db4a6b8ab5abc133a3e27d24c01aa1180193ea670f0b0051b',1,'enums.h']]], + ['gpu_5fpt_5fnearest_5fmip_5fnearest_1714',['GPU_PT_NEAREST_MIP_NEAREST',['../enums_8h.html#a430c590536a256d9db4a6b8ab5abc133a6cdae86dbce55a1392aa01d3dba58200',1,'enums.h']]], + ['gpu_5fpt_5fnone_1715',['GPU_PT_NONE',['../enums_8h.html#a7aef13dcdf16a383d3931fe46a69eb78a966d0a2f4370eedb5ad9d3e40c3cd432',1,'enums.h']]], + ['gpu_5fpt_5fodd_1716',['GPU_PT_ODD',['../enums_8h.html#a7aef13dcdf16a383d3931fe46a69eb78a2b6694f49603d729caeef7b935a49879',1,'enums.h']]], + ['gpu_5fpt_5fpulse_1717',['GPU_PT_PULSE',['../enums_8h.html#ac7003b201f809461614b0be43c7f1cb7accbc4683ecc6f3a802a2a5b1e3eb5fb2',1,'enums.h']]], + ['gpu_5fpt_5frepeat_1718',['GPU_PT_REPEAT',['../enums_8h.html#ac7003b201f809461614b0be43c7f1cb7acb72d40a0d2a9caf4882faf7af18c24f',1,'enums.h']]], + ['gpu_5fpt_5frmax_1719',['GPU_PT_RMAX',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7a6447bc4455a0dc94ceb8cf3fc0e3f857',1,'enums.h']]], + ['gpu_5fpt_5fsqrt2_1720',['GPU_PT_SQRT2',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7a7f43089264ed898bf8b0487bede6b88f',1,'enums.h']]], + ['gpu_5fpt_5fu_1721',['GPU_PT_U',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7a0acf1e5b8ab447f94a8f251703a36e2b',1,'enums.h']]], + ['gpu_5fpt_5fu2_1722',['GPU_PT_U2',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7a9fa866b1285ae54cc0000d6049853762',1,'enums.h']]], + ['gpu_5fpt_5fv_1723',['GPU_PT_V',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7acdc52342bd71edefc62a84ad1b03d179',1,'enums.h']]], + ['gpu_5fpt_5fv2_1724',['GPU_PT_V2',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7ac4949cfa2bf0e8fc5e03b707adb70632',1,'enums.h']]], + ['gpu_5frb_5fdepth16_1725',['GPU_RB_DEPTH16',['../enums_8h.html#a9b40a4b2feaec1dc4a843a908f613a3eaa7550bb98071c787c29e99c8dcd4e128',1,'enums.h']]], + ['gpu_5frb_5fdepth24_1726',['GPU_RB_DEPTH24',['../enums_8h.html#a9b40a4b2feaec1dc4a843a908f613a3ea7c561619805b2a56d4dd00b0af4c419c',1,'enums.h']]], + ['gpu_5frb_5fdepth24_5fstencil8_1727',['GPU_RB_DEPTH24_STENCIL8',['../enums_8h.html#a9b40a4b2feaec1dc4a843a908f613a3eaaa31fb7049df6c69198111e309210720',1,'enums.h']]], + ['gpu_5frb_5frgb565_1728',['GPU_RB_RGB565',['../enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7aa4d92a6e6d1b3eb9fa42abf4b388a983b',1,'enums.h']]], + ['gpu_5frb_5frgb8_1729',['GPU_RB_RGB8',['../enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7aa76bf1ee34366aa67663d2fbf8f19735b',1,'enums.h']]], + ['gpu_5frb_5frgba4_1730',['GPU_RB_RGBA4',['../enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7aa536adbb7654f186e21d42d5cde4da69a',1,'enums.h']]], + ['gpu_5frb_5frgba5551_1731',['GPU_RB_RGBA5551',['../enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7aa783efb601ce1a8de7cf5f7d8ea2b0e37',1,'enums.h']]], + ['gpu_5frb_5frgba8_1732',['GPU_RB_RGBA8',['../enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7aa17f2a0c3889f7e34d720d818a61030b4',1,'enums.h']]], + ['gpu_5frepeat_1733',['GPU_REPEAT',['../enums_8h.html#aca018b509809231470e5e3c3e907261da408167b5e23912ad858dc058be1f18b3',1,'enums.h']]], + ['gpu_5freplace_1734',['GPU_REPLACE',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1c5123d469abc61be2501b97b512cc11',1,'enums.h']]], + ['gpu_5frgb565_1735',['GPU_RGB565',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa0692eac04a26bbd69f5ce177c45e40f6',1,'enums.h']]], + ['gpu_5frgb8_1736',['GPU_RGB8',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa0900436f7baf449e07ca5f0b43454f47',1,'enums.h']]], + ['gpu_5frgba4_1737',['GPU_RGBA4',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99faded6149b108d4fa7f0f5c0041cb43067',1,'enums.h']]], + ['gpu_5frgba5551_1738',['GPU_RGBA5551',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa4125e411783ac9b6488032264f55b4bb',1,'enums.h']]], + ['gpu_5frgba8_1739',['GPU_RGBA8',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99faff51f393b902dd545e863c24679bccd2',1,'enums.h']]], + ['gpu_5fscissor_5fdisable_1740',['GPU_SCISSOR_DISABLE',['../enums_8h.html#a3ba8ed980a4a9da6170a5fdfaad86808ad29dc11dc0a4b2729b9d47fbe5c28e44',1,'enums.h']]], + ['gpu_5fscissor_5finvert_1741',['GPU_SCISSOR_INVERT',['../enums_8h.html#a3ba8ed980a4a9da6170a5fdfaad86808a1c51d4839300da9b4c46452d1f6054fd',1,'enums.h']]], + ['gpu_5fscissor_5fnormal_1742',['GPU_SCISSOR_NORMAL',['../enums_8h.html#a3ba8ed980a4a9da6170a5fdfaad86808a6e25f3c9bf478cbfd171ed8d96ca2f3c',1,'enums.h']]], + ['gpu_5fscissormode_1743',['GPU_SCISSORMODE',['../enums_8h.html#a3ba8ed980a4a9da6170a5fdfaad86808',1,'enums.h']]], + ['gpu_5fsec_5falpha_5ffresnel_1744',['GPU_SEC_ALPHA_FRESNEL',['../enums_8h.html#a15f838c1ce92123135c7cb4cf409c745a5245bfaae64a00d1b25682eb3f7d87e9',1,'enums.h']]], + ['gpu_5fshader_5ftype_1745',['GPU_SHADER_TYPE',['../enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5',1,'enums.h']]], + ['gpu_5fshort_1746',['GPU_SHORT',['../enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634a2592d88710138b840b7b680fd30ed49e',1,'enums.h']]], + ['gpu_5fsrc_5falpha_1747',['GPU_SRC_ALPHA',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1af2ec416dc4e7e8562e61d5f7963e8a36',1,'enums.h']]], + ['gpu_5fsrc_5falpha_5fsaturate_1748',['GPU_SRC_ALPHA_SATURATE',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a25a12d71c8b18d7ff6c55709ffa9c9b8',1,'enums.h']]], + ['gpu_5fsrc_5fcolor_1749',['GPU_SRC_COLOR',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1af78c6ed3bbdae1d90e585b9042135c2d',1,'enums.h']]], + ['gpu_5fstencil_5fdecr_1750',['GPU_STENCIL_DECR',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1ad1103ead2ecd6e48577adb1485077251',1,'enums.h']]], + ['gpu_5fstencil_5fdecr_5fwrap_1751',['GPU_STENCIL_DECR_WRAP',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1af2db3d4053336a01eb34121f48e5912a',1,'enums.h']]], + ['gpu_5fstencil_5fincr_1752',['GPU_STENCIL_INCR',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a9396c9e054881e95bb79d555ada9ac76',1,'enums.h']]], + ['gpu_5fstencil_5fincr_5fwrap_1753',['GPU_STENCIL_INCR_WRAP',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a93a20779be9ead8c0b701d8a7a15ceb0',1,'enums.h']]], + ['gpu_5fstencil_5finvert_1754',['GPU_STENCIL_INVERT',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a52ba290ffb93da67550a7fdc92e059df',1,'enums.h']]], + ['gpu_5fstencil_5fkeep_1755',['GPU_STENCIL_KEEP',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a2ef8af6e032c0cd8613259aef01f0477',1,'enums.h']]], + ['gpu_5fstencil_5freplace_1756',['GPU_STENCIL_REPLACE',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1ab287a660cfbb1accdd58f8c7fdc5f906',1,'enums.h']]], + ['gpu_5fstencil_5fzero_1757',['GPU_STENCIL_ZERO',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a0df537f785a4a6561719f6725a90b372',1,'enums.h']]], + ['gpu_5fstencilop_1758',['GPU_STENCILOP',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1',1,'enums.h']]], + ['gpu_5fsubtract_1759',['GPU_SUBTRACT',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a46620729094b136c1f89b9f8f4b061b5',1,'enums.h']]], + ['gpu_5ftestfunc_1760',['GPU_TESTFUNC',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618',1,'enums.h']]], + ['gpu_5ftev_5fbuffer_5fwrite_5fconfig_1761',['GPU_TEV_BUFFER_WRITE_CONFIG',['../enums_8h.html#a2c504de99ace4dbeb8e7d3af041f5f2c',1,'enums.h']]], + ['gpu_5ftevop_5fa_1762',['GPU_TEVOP_A',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42',1,'enums.h']]], + ['gpu_5ftevop_5fa_5fone_5fminus_5fsrc_5falpha_1763',['GPU_TEVOP_A_ONE_MINUS_SRC_ALPHA',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42ac629b85e7c2a91b07622e2a048154cdc',1,'enums.h']]], + ['gpu_5ftevop_5fa_5fone_5fminus_5fsrc_5fb_1764',['GPU_TEVOP_A_ONE_MINUS_SRC_B',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42aa143726a4d46477e3cea8b1a706942a3',1,'enums.h']]], + ['gpu_5ftevop_5fa_5fone_5fminus_5fsrc_5fg_1765',['GPU_TEVOP_A_ONE_MINUS_SRC_G',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42af2475e6d9cf76fd496540470f1dd68d7',1,'enums.h']]], + ['gpu_5ftevop_5fa_5fone_5fminus_5fsrc_5fr_1766',['GPU_TEVOP_A_ONE_MINUS_SRC_R',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42aceb69a1c50991ccd64b6d3539ba1f684',1,'enums.h']]], + ['gpu_5ftevop_5fa_5fsrc_5falpha_1767',['GPU_TEVOP_A_SRC_ALPHA',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42a7c335ec12a7c82e6f2d282855bdd1f58',1,'enums.h']]], + ['gpu_5ftevop_5fa_5fsrc_5fb_1768',['GPU_TEVOP_A_SRC_B',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42a7a9d0b89a8da3b1f588ceeafc6aa436c',1,'enums.h']]], + ['gpu_5ftevop_5fa_5fsrc_5fg_1769',['GPU_TEVOP_A_SRC_G',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42a7489c6af71a98d3336c143c264da9d05',1,'enums.h']]], + ['gpu_5ftevop_5fa_5fsrc_5fr_1770',['GPU_TEVOP_A_SRC_R',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42a46e4354f9fa9e06757587c773e94d768',1,'enums.h']]], + ['gpu_5ftevop_5frgb_1771',['GPU_TEVOP_RGB',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80f',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5f0x06_1772',['GPU_TEVOP_RGB_0x06',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fab63c4ccdab4fe5abb7295e49377211a8',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5f0x07_1773',['GPU_TEVOP_RGB_0x07',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fa075f2ae83ed4ea78425eb572b1d1e6bc',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5f0x0a_1774',['GPU_TEVOP_RGB_0x0A',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fa9d14844a37195710621c89678f2f14d2',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5f0x0b_1775',['GPU_TEVOP_RGB_0x0B',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fa54388c78274a1f60ff1889b06fe7ded4',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5f0x0e_1776',['GPU_TEVOP_RGB_0x0E',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fa5b781ff4b72a0533fc98f77d218b32f2',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5f0x0f_1777',['GPU_TEVOP_RGB_0x0F',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fa9c94f6d6d3380a0b58f57f6e6f476898',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fone_5fminus_5fsrc_5falpha_1778',['GPU_TEVOP_RGB_ONE_MINUS_SRC_ALPHA',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fad2a0a56eea83aceb5eded342758e46ed',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fone_5fminus_5fsrc_5fb_1779',['GPU_TEVOP_RGB_ONE_MINUS_SRC_B',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fac3ca39a75d99a676718d4f8b477857b8',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fone_5fminus_5fsrc_5fcolor_1780',['GPU_TEVOP_RGB_ONE_MINUS_SRC_COLOR',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fabfc1d0a9d943e5979e6afb451933330a',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fone_5fminus_5fsrc_5fg_1781',['GPU_TEVOP_RGB_ONE_MINUS_SRC_G',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fa87a590306389848e67a77618857044bc',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fone_5fminus_5fsrc_5fr_1782',['GPU_TEVOP_RGB_ONE_MINUS_SRC_R',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fac3adc33dfe3f52857c2304c7d46b1883',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fsrc_5falpha_1783',['GPU_TEVOP_RGB_SRC_ALPHA',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80facc48e21a8afe08fab895025295a12876',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fsrc_5fb_1784',['GPU_TEVOP_RGB_SRC_B',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fa89ea6240917be8fc6a8aed951a8eb944',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fsrc_5fcolor_1785',['GPU_TEVOP_RGB_SRC_COLOR',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fa7cde8a7d92ac7bebdf573638d000a999',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fsrc_5fg_1786',['GPU_TEVOP_RGB_SRC_G',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fafd5d8518395e2af90c1680f70933b2a6',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fsrc_5fr_1787',['GPU_TEVOP_RGB_SRC_R',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fac51c59c8001b526b509e2d2d6622115f',1,'enums.h']]], + ['gpu_5ftevoperands_1788',['GPU_TEVOPERANDS',['../enums_8h.html#a4f2c9311619707a1276457d94b06a983',1,'enums.h']]], + ['gpu_5ftevscale_1789',['GPU_TEVSCALE',['../enums_8h.html#a08411ce4cfbf061b9f0aa1cf00890d65',1,'enums.h']]], + ['gpu_5ftevscale_5f1_1790',['GPU_TEVSCALE_1',['../enums_8h.html#a08411ce4cfbf061b9f0aa1cf00890d65a74b8a560deb4acbe09ef2e9a6bd82959',1,'enums.h']]], + ['gpu_5ftevscale_5f2_1791',['GPU_TEVSCALE_2',['../enums_8h.html#a08411ce4cfbf061b9f0aa1cf00890d65a3f6e7cad36477c7727b7d9f25f173226',1,'enums.h']]], + ['gpu_5ftevscale_5f4_1792',['GPU_TEVSCALE_4',['../enums_8h.html#a08411ce4cfbf061b9f0aa1cf00890d65afa0f0614114b239e654d52ed4ec3e07b',1,'enums.h']]], + ['gpu_5ftevsources_1793',['GPU_TEVSOURCES',['../enums_8h.html#abb62754733c37a8490767fd8e004b903',1,'enums.h']]], + ['gpu_5ftevsrc_1794',['GPU_TEVSRC',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0',1,'enums.h']]], + ['gpu_5ftex_5f2d_1795',['GPU_TEX_2D',['../enums_8h.html#a5d14598061a96db4f06bf8316156a1bba8a804f726dcf5b5970bd4bbac43c4a9f',1,'enums.h']]], + ['gpu_5ftex_5fcube_5fmap_1796',['GPU_TEX_CUBE_MAP',['../enums_8h.html#a5d14598061a96db4f06bf8316156a1bbae71d72f68111a38ecc683dce1ca1870c',1,'enums.h']]], + ['gpu_5ftex_5fdisabled_1797',['GPU_TEX_DISABLED',['../enums_8h.html#a5d14598061a96db4f06bf8316156a1bbae32d9a8b9bcbc69ab4eafba9b80da3e9',1,'enums.h']]], + ['gpu_5ftex_5fprojection_1798',['GPU_TEX_PROJECTION',['../enums_8h.html#a5d14598061a96db4f06bf8316156a1bba61dc1549ba35c76727dbf47149626a1f',1,'enums.h']]], + ['gpu_5ftex_5fshadow_5f2d_1799',['GPU_TEX_SHADOW_2D',['../enums_8h.html#a5d14598061a96db4f06bf8316156a1bba0343be50f0cb5e39f75eccaca6f3c986',1,'enums.h']]], + ['gpu_5ftex_5fshadow_5fcube_1800',['GPU_TEX_SHADOW_CUBE',['../enums_8h.html#a5d14598061a96db4f06bf8316156a1bba1f444548781d0bea4503e509f9370074',1,'enums.h']]], + ['gpu_5ftexcolor_1801',['GPU_TEXCOLOR',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99f',1,'enums.h']]], + ['gpu_5ftexface_1802',['GPU_TEXFACE',['../enums_8h.html#a2fac8fe6dd845ff19a9fc758c0aa8332',1,'enums.h']]], + ['gpu_5ftexface_5f2d_1803',['GPU_TEXFACE_2D',['../enums_8h.html#a2fac8fe6dd845ff19a9fc758c0aa8332a99192106b00b6493c92d3fa8a45201a0',1,'enums.h']]], + ['gpu_5ftexture0_1804',['GPU_TEXTURE0',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0ab6436a8677bfb947fd2c085d95eb2cd0',1,'enums.h']]], + ['gpu_5ftexture1_1805',['GPU_TEXTURE1',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0acfa07840cfdacbb929c35c578da2b879',1,'enums.h']]], + ['gpu_5ftexture2_1806',['GPU_TEXTURE2',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a26ae4018bd23b156d3e5917ff327d2ad',1,'enums.h']]], + ['gpu_5ftexture3_1807',['GPU_TEXTURE3',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a96c424df55a281e059a8b63bf0cf5c79',1,'enums.h']]], + ['gpu_5ftexture_5fetc1_5fparam_1808',['GPU_TEXTURE_ETC1_PARAM',['../enums_8h.html#a8264c1e1a98d1c15cff6c02b6bbde8d3',1,'enums.h']]], + ['gpu_5ftexture_5ffilter_5fparam_1809',['GPU_TEXTURE_FILTER_PARAM',['../enums_8h.html#a2c76780b7ff5d323daf30ea310fbc8c4',1,'enums.h']]], + ['gpu_5ftexture_5fmag_5ffilter_1810',['GPU_TEXTURE_MAG_FILTER',['../enums_8h.html#a136a68611d2edcd5e875cbe6b2ffc14a',1,'enums.h']]], + ['gpu_5ftexture_5fmin_5ffilter_1811',['GPU_TEXTURE_MIN_FILTER',['../enums_8h.html#ab2b47d3f4f1835fd29bfbda8f0aafd50',1,'enums.h']]], + ['gpu_5ftexture_5fmip_5ffilter_1812',['GPU_TEXTURE_MIP_FILTER',['../enums_8h.html#a156eff7e27f6091bbcd89b60527e4c25',1,'enums.h']]], + ['gpu_5ftexture_5fmode_1813',['GPU_TEXTURE_MODE',['../enums_8h.html#add2eb6c4e4912e6ecff2901456bde38f',1,'enums.h']]], + ['gpu_5ftexture_5fmode_5fparam_1814',['GPU_TEXTURE_MODE_PARAM',['../enums_8h.html#a5d14598061a96db4f06bf8316156a1bb',1,'enums.h']]], + ['gpu_5ftexture_5fshadow_5fparam_1815',['GPU_TEXTURE_SHADOW_PARAM',['../enums_8h.html#ae9cde489546a47b594bec7afd43a44b2',1,'enums.h']]], + ['gpu_5ftexture_5fwrap_5fparam_1816',['GPU_TEXTURE_WRAP_PARAM',['../enums_8h.html#aca018b509809231470e5e3c3e907261d',1,'enums.h']]], + ['gpu_5ftexture_5fwrap_5fs_1817',['GPU_TEXTURE_WRAP_S',['../enums_8h.html#a7fa899389868967dda12bca2b6dbb6d3',1,'enums.h']]], + ['gpu_5ftexture_5fwrap_5ft_1818',['GPU_TEXTURE_WRAP_T',['../enums_8h.html#ab166b84891109ccf8031a1280616784a',1,'enums.h']]], + ['gpu_5ftexunit_1819',['GPU_TEXUNIT',['../enums_8h.html#a541188a9d9f32ee0f5c74b2742908cf5',1,'enums.h']]], + ['gpu_5ftexunit0_1820',['GPU_TEXUNIT0',['../enums_8h.html#a541188a9d9f32ee0f5c74b2742908cf5a0227367076a47599a3ebf7656ebfb95a',1,'enums.h']]], + ['gpu_5ftexunit1_1821',['GPU_TEXUNIT1',['../enums_8h.html#a541188a9d9f32ee0f5c74b2742908cf5a1cab55e9bcfa74f4526f4d3ccbfadaaf',1,'enums.h']]], + ['gpu_5ftexunit2_1822',['GPU_TEXUNIT2',['../enums_8h.html#a541188a9d9f32ee0f5c74b2742908cf5a523f3ff77075c502c6c7195293d26182',1,'enums.h']]], + ['gpu_5ftriangle_5ffan_1823',['GPU_TRIANGLE_FAN',['../enums_8h.html#a94bdee50fa003d70dd3888f347397806a7fd1d38c441743fd0671ba7d6f06bf81',1,'enums.h']]], + ['gpu_5ftriangle_5fstrip_1824',['GPU_TRIANGLE_STRIP',['../enums_8h.html#a94bdee50fa003d70dd3888f347397806abeb8d11a9f99878cfb4b97a2d00f9c9f',1,'enums.h']]], + ['gpu_5ftriangles_1825',['GPU_TRIANGLES',['../enums_8h.html#a94bdee50fa003d70dd3888f347397806abee71ba286bcf6b5222049ac7beb2d8b',1,'enums.h']]], + ['gpu_5funsigned_5fbyte_1826',['GPU_UNSIGNED_BYTE',['../enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634ae1574a2e1f462cd4ec5916c84cfe8100',1,'enums.h']]], + ['gpu_5fvertex_5fshader_1827',['GPU_VERTEX_SHADER',['../enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f',1,'enums.h']]], + ['gpu_5fwrite_5fall_1828',['GPU_WRITE_ALL',['../enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3ae6311b606a2db6df1e7358ad79e297a0',1,'enums.h']]], + ['gpu_5fwrite_5falpha_1829',['GPU_WRITE_ALPHA',['../enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3ae6fde6efa027eb45921b97fd14e77d11',1,'enums.h']]], + ['gpu_5fwrite_5fblue_1830',['GPU_WRITE_BLUE',['../enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3a76f42da2ba768bd23123a184258f30cb',1,'enums.h']]], + ['gpu_5fwrite_5fcolor_1831',['GPU_WRITE_COLOR',['../enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3aab35493591ce4e6a89f6855c3e4f32e0',1,'enums.h']]], + ['gpu_5fwrite_5fdepth_1832',['GPU_WRITE_DEPTH',['../enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3a93226033db75b41f11d00b6329f25b16',1,'enums.h']]], + ['gpu_5fwrite_5fgreen_1833',['GPU_WRITE_GREEN',['../enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3a6680bad6c4a8464fc9cd980e2cd368b9',1,'enums.h']]], + ['gpu_5fwrite_5fred_1834',['GPU_WRITE_RED',['../enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3a1f31c5cd4df1e803e813a2381acc5b41',1,'enums.h']]], + ['gpu_5fwritemask_1835',['GPU_WRITEMASK',['../enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3',1,'enums.h']]], + ['gpu_5fzero_1836',['GPU_ZERO',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1aac60d6d3d8b697aa09f6bc66ccdc7d71',1,'enums.h']]], + ['gpucmd_5fadd_1837',['GPUCMD_Add',['../gpu_8h.html#a15b87b8b5fb312dbcd86ea65bd3c2c33',1,'gpu.h']]], + ['gpucmd_5faddincrementalwrites_1838',['GPUCMD_AddIncrementalWrites',['../gpu_8h.html#a356802c7598a632a356417466f8137da',1,'gpu.h']]], + ['gpucmd_5faddmaskedincrementalwrites_1839',['GPUCMD_AddMaskedIncrementalWrites',['../gpu_8h.html#ab8af84a6eb8bc51add463e0269084413',1,'gpu.h']]], + ['gpucmd_5faddmaskedwrite_1840',['GPUCMD_AddMaskedWrite',['../gpu_8h.html#a9042ca3f0e361abe2a2ede7206376cb5',1,'gpu.h']]], + ['gpucmd_5faddmaskedwrites_1841',['GPUCMD_AddMaskedWrites',['../gpu_8h.html#aebed2367475fe34eee4b76095e141bc2',1,'gpu.h']]], + ['gpucmd_5faddrawcommands_1842',['GPUCMD_AddRawCommands',['../gpu_8h.html#aabc038bc05a2dfd3008913552d50a7c1',1,'gpu.h']]], + ['gpucmd_5faddsingleparam_1843',['GPUCMD_AddSingleParam',['../gpu_8h.html#ab99531b5093a570130f77dfbb3204982',1,'gpu.h']]], + ['gpucmd_5faddwrite_1844',['GPUCMD_AddWrite',['../gpu_8h.html#a1251c8456a0f92b49eecbe2c21f0a9a0',1,'gpu.h']]], + ['gpucmd_5faddwrites_1845',['GPUCMD_AddWrites',['../gpu_8h.html#a752c8a6b19caed0f212e6cf74f7de39d',1,'gpu.h']]], + ['gpucmd_5fgetbuffer_1846',['GPUCMD_GetBuffer',['../gpu_8h.html#a7822836c397bc74cce470ae8577cf4e9',1,'gpu.h']]], + ['gpucmd_5fheader_1847',['GPUCMD_HEADER',['../gpu_8h.html#a53d850bb4682f7a192c19156e95da49b',1,'gpu.h']]], + ['gpucmd_5fsetbuffer_1848',['GPUCMD_SetBuffer',['../gpu_8h.html#a1523df3d3ca5a5e8ce15fa37b5d5814a',1,'gpu.h']]], + ['gpucmd_5fsetbufferoffset_1849',['GPUCMD_SetBufferOffset',['../gpu_8h.html#acd4520c04dcfb92c843b98db57328004',1,'gpu.h']]], + ['gpucmd_5fsplit_1850',['GPUCMD_Split',['../gpu_8h.html#a4dfd23aaa44fa934c9d464f42082dde0',1,'gpu.h']]], + ['gpucmdbuf_1851',['gpuCmdBuf',['../gpu_8h.html#ad10795df374a3030584c5bf3cae77f06',1,'gpu.h']]], + ['gpucmdbufoffset_1852',['gpuCmdBufOffset',['../gpu_8h.html#a40a7042f18d0ea0c57e7308bd5c6e5e7',1,'gpu.h']]], + ['gpucmdbufsize_1853',['gpuCmdBufSize',['../gpu_8h.html#a7861728f2d0f9f8017dbe8012d460f49',1,'gpu.h']]], + ['gpureg_5f0000_1854',['GPUREG_0000',['../registers_8h.html#a513798eb3531b6522046f6ca9fc03250',1,'registers.h']]], + ['gpureg_5f0001_1855',['GPUREG_0001',['../registers_8h.html#a209a940dc94c2d4705de0843333d682a',1,'registers.h']]], + ['gpureg_5f0002_1856',['GPUREG_0002',['../registers_8h.html#a962660a0999fedc4a98979a5656161e6',1,'registers.h']]], + ['gpureg_5f0003_1857',['GPUREG_0003',['../registers_8h.html#a16773a191e8c942c8f9dab98deeebb85',1,'registers.h']]], + ['gpureg_5f0004_1858',['GPUREG_0004',['../registers_8h.html#afb9c0ee4b5980b23e5d0abd2a312db74',1,'registers.h']]], + ['gpureg_5f0005_1859',['GPUREG_0005',['../registers_8h.html#a2c70de00c0dc5e8699ede8c6ecec0857',1,'registers.h']]], + ['gpureg_5f0006_1860',['GPUREG_0006',['../registers_8h.html#a28e391b24fcd928cdc3e4ef75bf1b000',1,'registers.h']]], + ['gpureg_5f0007_1861',['GPUREG_0007',['../registers_8h.html#a8c00635186d052813cded47dbad5be9c',1,'registers.h']]], + ['gpureg_5f0008_1862',['GPUREG_0008',['../registers_8h.html#a667634160c85049f17906ea6c01332db',1,'registers.h']]], + ['gpureg_5f0009_1863',['GPUREG_0009',['../registers_8h.html#aeb23a10ec06cb81d6507252c161ec471',1,'registers.h']]], + ['gpureg_5f000a_1864',['GPUREG_000A',['../registers_8h.html#ac58015c9c7e203763578de6b842d70ed',1,'registers.h']]], + ['gpureg_5f000b_1865',['GPUREG_000B',['../registers_8h.html#a5fb62710c82c115f2c563be66d4b9f99',1,'registers.h']]], + ['gpureg_5f000c_1866',['GPUREG_000C',['../registers_8h.html#a23730f11c7bc59c9b61201915ab25623',1,'registers.h']]], + ['gpureg_5f000d_1867',['GPUREG_000D',['../registers_8h.html#add7054685d6d3cac88c273131c5541d5',1,'registers.h']]], + ['gpureg_5f000e_1868',['GPUREG_000E',['../registers_8h.html#acc3be790f7001b0615ed4c4f5ed7e2f6',1,'registers.h']]], + ['gpureg_5f000f_1869',['GPUREG_000F',['../registers_8h.html#afc1b3cddefbaf8c6024334778901c45a',1,'registers.h']]], + ['gpureg_5f0011_1870',['GPUREG_0011',['../registers_8h.html#a016230ae7ff5c89098b434f455c780db',1,'registers.h']]], + ['gpureg_5f0012_1871',['GPUREG_0012',['../registers_8h.html#a3dbfebe3618f06e1366e1068fcdedd2f',1,'registers.h']]], + ['gpureg_5f0013_1872',['GPUREG_0013',['../registers_8h.html#aaac9a3aa23bd6613410984cc16d233fc',1,'registers.h']]], + ['gpureg_5f0014_1873',['GPUREG_0014',['../registers_8h.html#a8ad31e931a9e762e57558af4f8664f9e',1,'registers.h']]], + ['gpureg_5f0015_1874',['GPUREG_0015',['../registers_8h.html#a718d040454286b8b517bf6f6f1172e76',1,'registers.h']]], + ['gpureg_5f0016_1875',['GPUREG_0016',['../registers_8h.html#a07484fe56577ec189d14f3f169646796',1,'registers.h']]], + ['gpureg_5f0017_1876',['GPUREG_0017',['../registers_8h.html#a4cd9018a2406fe82ae4b17a9a862fc3e',1,'registers.h']]], + ['gpureg_5f0018_1877',['GPUREG_0018',['../registers_8h.html#a4bd8c9c7b26e34d4aa57e3433a0b5ab3',1,'registers.h']]], + ['gpureg_5f0019_1878',['GPUREG_0019',['../registers_8h.html#a264f5e0c30582f59cfd8bee109d9fed8',1,'registers.h']]], + ['gpureg_5f001a_1879',['GPUREG_001A',['../registers_8h.html#a464d55316b1db5be7e64a3da02111848',1,'registers.h']]], + ['gpureg_5f001b_1880',['GPUREG_001B',['../registers_8h.html#acbb441e3aded699a9019f34800330740',1,'registers.h']]], + ['gpureg_5f001c_1881',['GPUREG_001C',['../registers_8h.html#a42d7c37c9d17f03cbe48f183522ba3dc',1,'registers.h']]], + ['gpureg_5f001d_1882',['GPUREG_001D',['../registers_8h.html#a01aa2b10ebb7da0ba70cf7017b17888c',1,'registers.h']]], + ['gpureg_5f001e_1883',['GPUREG_001E',['../registers_8h.html#a774d4cb5b2fadd285c4b612bfebafa89',1,'registers.h']]], + ['gpureg_5f001f_1884',['GPUREG_001F',['../registers_8h.html#ab0f81d83269be22d86fe94fa1f62941b',1,'registers.h']]], + ['gpureg_5f0020_1885',['GPUREG_0020',['../registers_8h.html#a4ef9a8d25fd655000c7919651609a165',1,'registers.h']]], + ['gpureg_5f0021_1886',['GPUREG_0021',['../registers_8h.html#a4e90141cc0f0f70e1de108059b94eac3',1,'registers.h']]], + ['gpureg_5f0022_1887',['GPUREG_0022',['../registers_8h.html#a7bbd0bfafdc22c892aa7dc4266bb1246',1,'registers.h']]], + ['gpureg_5f0023_1888',['GPUREG_0023',['../registers_8h.html#a5132377a8cc0d8a7fdaeb70497d8da4d',1,'registers.h']]], + ['gpureg_5f0024_1889',['GPUREG_0024',['../registers_8h.html#a4f99dc6582444314ea1983d4e82a11ce',1,'registers.h']]], + ['gpureg_5f0025_1890',['GPUREG_0025',['../registers_8h.html#a55f7e602dfe55f7f9c1015faa5d8903b',1,'registers.h']]], + ['gpureg_5f0026_1891',['GPUREG_0026',['../registers_8h.html#aa9bdf9af37603b53df2e58a25faa6985',1,'registers.h']]], + ['gpureg_5f0027_1892',['GPUREG_0027',['../registers_8h.html#ab58b659d0795528e2de298b19ba387c1',1,'registers.h']]], + ['gpureg_5f0028_1893',['GPUREG_0028',['../registers_8h.html#a6196dd57ba970a8ea2f159d211d1311d',1,'registers.h']]], + ['gpureg_5f0029_1894',['GPUREG_0029',['../registers_8h.html#a2fc53c171e1f42705e5256930e7ecafa',1,'registers.h']]], + ['gpureg_5f002a_1895',['GPUREG_002A',['../registers_8h.html#a388781fc37c8185f51cfed0523ee1799',1,'registers.h']]], + ['gpureg_5f002b_1896',['GPUREG_002B',['../registers_8h.html#a955d512608ea947f3bf50eaf634466ee',1,'registers.h']]], + ['gpureg_5f002c_1897',['GPUREG_002C',['../registers_8h.html#adf2fe0655387ac4c3fcd96908a33bc6c',1,'registers.h']]], + ['gpureg_5f002d_1898',['GPUREG_002D',['../registers_8h.html#afc06e403488c0893548b9aac740cb1c6',1,'registers.h']]], + ['gpureg_5f002e_1899',['GPUREG_002E',['../registers_8h.html#ad8780ef2520d2c12436dc5983186724d',1,'registers.h']]], + ['gpureg_5f002f_1900',['GPUREG_002F',['../registers_8h.html#afa8eb8989380742dae268e437bd7b617',1,'registers.h']]], + ['gpureg_5f0030_1901',['GPUREG_0030',['../registers_8h.html#a33c64e2f9179cc59ed2885e3535dcb10',1,'registers.h']]], + ['gpureg_5f0031_1902',['GPUREG_0031',['../registers_8h.html#afd9d8ed8df2c1cfe3a6ea1150d41ecff',1,'registers.h']]], + ['gpureg_5f0032_1903',['GPUREG_0032',['../registers_8h.html#ae9e1c9c43221f0077bf54aad09b0b9ec',1,'registers.h']]], + ['gpureg_5f0033_1904',['GPUREG_0033',['../registers_8h.html#a2e0c71ee1984d99a0cd5844433870b63',1,'registers.h']]], + ['gpureg_5f0034_1905',['GPUREG_0034',['../registers_8h.html#abac15d172a66284dfe92e652cefc50e8',1,'registers.h']]], + ['gpureg_5f0035_1906',['GPUREG_0035',['../registers_8h.html#a3bbf9524b16b2a34152c8b2c9541e587',1,'registers.h']]], + ['gpureg_5f0036_1907',['GPUREG_0036',['../registers_8h.html#a95fe5f84919a1b6f420584a98b8a010e',1,'registers.h']]], + ['gpureg_5f0037_1908',['GPUREG_0037',['../registers_8h.html#a56e72d92a5f26b8d3b8c0fb06f406466',1,'registers.h']]], + ['gpureg_5f0038_1909',['GPUREG_0038',['../registers_8h.html#a7802be1fb9fd4cad10b940e3c3d27feb',1,'registers.h']]], + ['gpureg_5f0039_1910',['GPUREG_0039',['../registers_8h.html#abee9bd8fdb5c54f1c9cfb07cadd2cefd',1,'registers.h']]], + ['gpureg_5f003a_1911',['GPUREG_003A',['../registers_8h.html#a97f5fe482fe922498c3fda1cf9772ed2',1,'registers.h']]], + ['gpureg_5f003b_1912',['GPUREG_003B',['../registers_8h.html#a36502cbcffcc2f9422cf883d14fc6289',1,'registers.h']]], + ['gpureg_5f003c_1913',['GPUREG_003C',['../registers_8h.html#a67bc71d41fd566da955aa235a93517b3',1,'registers.h']]], + ['gpureg_5f003d_1914',['GPUREG_003D',['../registers_8h.html#a5347ce63e783a436278e4a25f9c918e8',1,'registers.h']]], + ['gpureg_5f003e_1915',['GPUREG_003E',['../registers_8h.html#a325ad8ecb003b06c3b4d4e56f4b91711',1,'registers.h']]], + ['gpureg_5f003f_1916',['GPUREG_003F',['../registers_8h.html#abb359f286794e8ab5d20b339b3f72337',1,'registers.h']]], + ['gpureg_5f0045_1917',['GPUREG_0045',['../registers_8h.html#a7f5b0c550279bb59b6d6ba1cc7244e68',1,'registers.h']]], + ['gpureg_5f0046_1918',['GPUREG_0046',['../registers_8h.html#ae6e84495db866b33fcd336ef0d678a07',1,'registers.h']]], + ['gpureg_5f004c_1919',['GPUREG_004C',['../registers_8h.html#a7e1924037c48d472a2d279afa20f6cb1',1,'registers.h']]], + ['gpureg_5f0057_1920',['GPUREG_0057',['../registers_8h.html#a21f3a8278d8c91805d14825a6748a4ca',1,'registers.h']]], + ['gpureg_5f0058_1921',['GPUREG_0058',['../registers_8h.html#a1fa784143c374fa2bf0a7d9efe3f10b0',1,'registers.h']]], + ['gpureg_5f0059_1922',['GPUREG_0059',['../registers_8h.html#afa5eecf4038f0bc351ad16347fd9293e',1,'registers.h']]], + ['gpureg_5f005a_1923',['GPUREG_005A',['../registers_8h.html#a6a9048054b79a71d02c031031fb11d3e',1,'registers.h']]], + ['gpureg_5f005b_1924',['GPUREG_005B',['../registers_8h.html#a0a788663d16689f597059ea6d1e416b4',1,'registers.h']]], + ['gpureg_5f005c_1925',['GPUREG_005C',['../registers_8h.html#a49c261490aa34d410cff9dc7d4fae351',1,'registers.h']]], + ['gpureg_5f005d_1926',['GPUREG_005D',['../registers_8h.html#a0d91417a7a646a5cf524ecaec65b9552',1,'registers.h']]], + ['gpureg_5f005e_1927',['GPUREG_005E',['../registers_8h.html#a764dd5dd01a2d7343ea01183799eec5f',1,'registers.h']]], + ['gpureg_5f005f_1928',['GPUREG_005F',['../registers_8h.html#a7787ec51a5c259477403046b78055bc0',1,'registers.h']]], + ['gpureg_5f0060_1929',['GPUREG_0060',['../registers_8h.html#a4b8ac340760a38ce4794700c592dc2ac',1,'registers.h']]], + ['gpureg_5f0069_1930',['GPUREG_0069',['../registers_8h.html#ab183712784688ccaae279df924fbd03e',1,'registers.h']]], + ['gpureg_5f006b_1931',['GPUREG_006B',['../registers_8h.html#ad26f7b6caec4188a322b090c69481f00',1,'registers.h']]], + ['gpureg_5f006c_1932',['GPUREG_006C',['../registers_8h.html#a9005dee28399d5308ecb2157cfd0817c',1,'registers.h']]], + ['gpureg_5f0070_1933',['GPUREG_0070',['../registers_8h.html#a4fdc8dd83c9a80bbac7af5be685f860f',1,'registers.h']]], + ['gpureg_5f0071_1934',['GPUREG_0071',['../registers_8h.html#a16d5cf4a05116ccd8012563f9546527d',1,'registers.h']]], + ['gpureg_5f0072_1935',['GPUREG_0072',['../registers_8h.html#a1f2663645886a6bfac3ce8760ba6b451',1,'registers.h']]], + ['gpureg_5f0073_1936',['GPUREG_0073',['../registers_8h.html#a0fbc53aa7b97e7fc9563cfe9a0484c8b',1,'registers.h']]], + ['gpureg_5f0074_1937',['GPUREG_0074',['../registers_8h.html#a6c4f93f5d4a355d658799da07863a363',1,'registers.h']]], + ['gpureg_5f0075_1938',['GPUREG_0075',['../registers_8h.html#a31cf5961814a1fbd61b9c6a1b64f7905',1,'registers.h']]], + ['gpureg_5f0076_1939',['GPUREG_0076',['../registers_8h.html#aa310088d68c2185d195a10e5d0cedccf',1,'registers.h']]], + ['gpureg_5f0077_1940',['GPUREG_0077',['../registers_8h.html#ab2c1f8116784e1c3090f524b0b81f9f7',1,'registers.h']]], + ['gpureg_5f0078_1941',['GPUREG_0078',['../registers_8h.html#ad6bef640afd81f6c1f8df012d570b4ac',1,'registers.h']]], + ['gpureg_5f0079_1942',['GPUREG_0079',['../registers_8h.html#aa4d49b2a060ce128f17f78d5f6a04305',1,'registers.h']]], + ['gpureg_5f007a_1943',['GPUREG_007A',['../registers_8h.html#aeff5be5c4b775d4c97a6d4da0d717ace',1,'registers.h']]], + ['gpureg_5f007b_1944',['GPUREG_007B',['../registers_8h.html#a6612757b531c3ad747ca4ffebca7f827',1,'registers.h']]], + ['gpureg_5f007c_1945',['GPUREG_007C',['../registers_8h.html#a3029ea723c3aeee53518d9a957311e24',1,'registers.h']]], + ['gpureg_5f007d_1946',['GPUREG_007D',['../registers_8h.html#acd23ad06784d1cd2b192360708a62112',1,'registers.h']]], + ['gpureg_5f007e_1947',['GPUREG_007E',['../registers_8h.html#ade3484bd59758da28afd4f88a91b7b7b',1,'registers.h']]], + ['gpureg_5f007f_1948',['GPUREG_007F',['../registers_8h.html#ad45bd6c0bd0266c11e0029e3b9958f1a',1,'registers.h']]], + ['gpureg_5f008c_1949',['GPUREG_008C',['../registers_8h.html#aa08280fdedc3ab48e0053fa5904a426f',1,'registers.h']]], + ['gpureg_5f008d_1950',['GPUREG_008D',['../registers_8h.html#a57f8af8e9aa536be4110b62730e2217c',1,'registers.h']]], + ['gpureg_5f0090_1951',['GPUREG_0090',['../registers_8h.html#a5704b3eaf12caa0029cf49f6695a5a88',1,'registers.h']]], + ['gpureg_5f0097_1952',['GPUREG_0097',['../registers_8h.html#a71286488a8143a294b3283cdea446084',1,'registers.h']]], + ['gpureg_5f0098_1953',['GPUREG_0098',['../registers_8h.html#a4738e4f70758a379a7b6df64b0ae3599',1,'registers.h']]], + ['gpureg_5f009f_1954',['GPUREG_009F',['../registers_8h.html#a6d848ef44c505903a0f649e678569d36',1,'registers.h']]], + ['gpureg_5f00a0_1955',['GPUREG_00A0',['../registers_8h.html#a82fed812412cbddd79dd7c2d5559910d',1,'registers.h']]], + ['gpureg_5f00a1_1956',['GPUREG_00A1',['../registers_8h.html#ac415b73ed641ba601a073f3f7d48f788',1,'registers.h']]], + ['gpureg_5f00a2_1957',['GPUREG_00A2',['../registers_8h.html#abc88740ac9d2011f9326b7b15d2e2d1d',1,'registers.h']]], + ['gpureg_5f00a3_1958',['GPUREG_00A3',['../registers_8h.html#aefa44265d6cbfc97cde57e633b6589e8',1,'registers.h']]], + ['gpureg_5f00a4_1959',['GPUREG_00A4',['../registers_8h.html#ae4cd02b07aa9256b735a9ccb7dd8829a',1,'registers.h']]], + ['gpureg_5f00a5_1960',['GPUREG_00A5',['../registers_8h.html#a267443363103de90479007434074d388',1,'registers.h']]], + ['gpureg_5f00a6_1961',['GPUREG_00A6',['../registers_8h.html#aa94d730bd076ac0bf3dc107fdd372635',1,'registers.h']]], + ['gpureg_5f00a7_1962',['GPUREG_00A7',['../registers_8h.html#a1485588a8e71c610f6b2f77703f921fe',1,'registers.h']]], + ['gpureg_5f00ae_1963',['GPUREG_00AE',['../registers_8h.html#a000706d66b716f1ae5271e8248ceb781',1,'registers.h']]], + ['gpureg_5f00b8_1964',['GPUREG_00B8',['../registers_8h.html#a9ed9ae0d5b6c161090ce0e4e308a2ab3',1,'registers.h']]], + ['gpureg_5f00b9_1965',['GPUREG_00B9',['../registers_8h.html#a77156336dc7b3d4b9b03e88921323d05',1,'registers.h']]], + ['gpureg_5f00ba_1966',['GPUREG_00BA',['../registers_8h.html#ac13ca773a52bb189382482821ee96ce1',1,'registers.h']]], + ['gpureg_5f00bb_1967',['GPUREG_00BB',['../registers_8h.html#a2c2e760cc5fdb68d233a3e3696a8bbc9',1,'registers.h']]], + ['gpureg_5f00bc_1968',['GPUREG_00BC',['../registers_8h.html#ac68e5c26a2291a04480845d4a77b8d19',1,'registers.h']]], + ['gpureg_5f00bd_1969',['GPUREG_00BD',['../registers_8h.html#abd5786aa155f1f1aee2c6b12d4ca656c',1,'registers.h']]], + ['gpureg_5f00be_1970',['GPUREG_00BE',['../registers_8h.html#ac365cd27bad02cc12bca36670a143ed1',1,'registers.h']]], + ['gpureg_5f00bf_1971',['GPUREG_00BF',['../registers_8h.html#a551f667f81b849788dbf55fc8edc6561',1,'registers.h']]], + ['gpureg_5f00c5_1972',['GPUREG_00C5',['../registers_8h.html#a0674f4767d836dedf8e1ea8fc603b929',1,'registers.h']]], + ['gpureg_5f00c6_1973',['GPUREG_00C6',['../registers_8h.html#a465c5eee49afdf1fde33af9642c744db',1,'registers.h']]], + ['gpureg_5f00c7_1974',['GPUREG_00C7',['../registers_8h.html#ac038d3f0af68051be1b0381f952fc988',1,'registers.h']]], + ['gpureg_5f00cd_1975',['GPUREG_00CD',['../registers_8h.html#aac0633bc5549f962ed21b64abc720807',1,'registers.h']]], + ['gpureg_5f00ce_1976',['GPUREG_00CE',['../registers_8h.html#a4e7c963ab1e5ac6b657f33491ff8557c',1,'registers.h']]], + ['gpureg_5f00cf_1977',['GPUREG_00CF',['../registers_8h.html#a2ca8d947dbf41591d6b84bf5fd53607a',1,'registers.h']]], + ['gpureg_5f00d5_1978',['GPUREG_00D5',['../registers_8h.html#a49d30ce44e4fbe36e707e51f62d23604',1,'registers.h']]], + ['gpureg_5f00d6_1979',['GPUREG_00D6',['../registers_8h.html#aeba682f3a3d9dd18f19aeb020c9ddc5e',1,'registers.h']]], + ['gpureg_5f00d7_1980',['GPUREG_00D7',['../registers_8h.html#af46e0915d4f3ac3bcd0fd5d8c78f7acb',1,'registers.h']]], + ['gpureg_5f00dd_1981',['GPUREG_00DD',['../registers_8h.html#a7f9f129181ad4ea51057e3c955bffa77',1,'registers.h']]], + ['gpureg_5f00de_1982',['GPUREG_00DE',['../registers_8h.html#a06b1d1d898a39526674ae13e50624abb',1,'registers.h']]], + ['gpureg_5f00df_1983',['GPUREG_00DF',['../registers_8h.html#a9d681c26c1d755d4673e3fa116865e9b',1,'registers.h']]], + ['gpureg_5f00e2_1984',['GPUREG_00E2',['../registers_8h.html#a6243988f20b8fc927a354a48d98eec93',1,'registers.h']]], + ['gpureg_5f00e3_1985',['GPUREG_00E3',['../registers_8h.html#a4bd4a53369619a047a9e711f6da74d98',1,'registers.h']]], + ['gpureg_5f00e7_1986',['GPUREG_00E7',['../registers_8h.html#aee09093555b11b0b3dcf4b570558a1ab',1,'registers.h']]], + ['gpureg_5f00f5_1987',['GPUREG_00F5',['../registers_8h.html#a000dffdee94dd7d4768dded2136b557d',1,'registers.h']]], + ['gpureg_5f00f6_1988',['GPUREG_00F6',['../registers_8h.html#a97eaf77557b5e81301c08db285e7a44d',1,'registers.h']]], + ['gpureg_5f00f7_1989',['GPUREG_00F7',['../registers_8h.html#a1849725257cde69541d73d438f12c985',1,'registers.h']]], + ['gpureg_5f00fe_1990',['GPUREG_00FE',['../registers_8h.html#aed1aeea949181449c53da6e3f76da3d1',1,'registers.h']]], + ['gpureg_5f00ff_1991',['GPUREG_00FF',['../registers_8h.html#af174348044c56bf58395fa5e48e33c2c',1,'registers.h']]], + ['gpureg_5f0108_1992',['GPUREG_0108',['../registers_8h.html#a8d9a819ef933f796946665059a0195ed',1,'registers.h']]], + ['gpureg_5f0109_1993',['GPUREG_0109',['../registers_8h.html#a5d21a61fa2ecdbccaaad3484a816a998',1,'registers.h']]], + ['gpureg_5f010a_1994',['GPUREG_010A',['../registers_8h.html#a5250befa187f43864c02d39104e363ce',1,'registers.h']]], + ['gpureg_5f010b_1995',['GPUREG_010B',['../registers_8h.html#aeaa7b3549bf479f6d3671b8cdafcdc30',1,'registers.h']]], + ['gpureg_5f010c_1996',['GPUREG_010C',['../registers_8h.html#aa8b84f3aa30241503e09c7108a24f052',1,'registers.h']]], + ['gpureg_5f010d_1997',['GPUREG_010D',['../registers_8h.html#ac9ef0c9d52e9cf939cc57a885ef38fee',1,'registers.h']]], + ['gpureg_5f010e_1998',['GPUREG_010E',['../registers_8h.html#a9ed357bf9f1b110aab1b0c9702134a7e',1,'registers.h']]], + ['gpureg_5f010f_1999',['GPUREG_010F',['../registers_8h.html#ac8dda0236163bcb2af6a0401d60f124c',1,'registers.h']]], + ['gpureg_5f0119_2000',['GPUREG_0119',['../registers_8h.html#a0eeb5d65d1e3869c24056d6d3e8a8b35',1,'registers.h']]], + ['gpureg_5f011a_2001',['GPUREG_011A',['../registers_8h.html#a0d8067d13849fa235db0c168e560514a',1,'registers.h']]], + ['gpureg_5f011f_2002',['GPUREG_011F',['../registers_8h.html#afe292ece1e62c7720e7909bf6977f290',1,'registers.h']]], + ['gpureg_5f0127_2003',['GPUREG_0127',['../registers_8h.html#aaed1d6abcf58f0a4fc15298101a9a54f',1,'registers.h']]], + ['gpureg_5f0128_2004',['GPUREG_0128',['../registers_8h.html#a6cebdbf9d7963c94736dc5e7565cbe26',1,'registers.h']]], + ['gpureg_5f0129_2005',['GPUREG_0129',['../registers_8h.html#a0f13e57ce2479d4b2f97344a5ccd9c0b',1,'registers.h']]], + ['gpureg_5f012a_2006',['GPUREG_012A',['../registers_8h.html#a932f829bbc5ce44cee3e1266af3f6f41',1,'registers.h']]], + ['gpureg_5f012b_2007',['GPUREG_012B',['../registers_8h.html#aeb098050745a697983c158ab7827ecad',1,'registers.h']]], + ['gpureg_5f012c_2008',['GPUREG_012C',['../registers_8h.html#a1189bbf0c2f52a98275b51430c72231a',1,'registers.h']]], + ['gpureg_5f012d_2009',['GPUREG_012D',['../registers_8h.html#ac6f066dfe82bfc3d0a62421c913b89db',1,'registers.h']]], + ['gpureg_5f012e_2010',['GPUREG_012E',['../registers_8h.html#ad6a1f9be654b9278eff21e269ff82be8',1,'registers.h']]], + ['gpureg_5f012f_2011',['GPUREG_012F',['../registers_8h.html#a20f31704e8f59c674f62f09529650604',1,'registers.h']]], + ['gpureg_5f0131_2012',['GPUREG_0131',['../registers_8h.html#a88c253b815ce2eb18bda89d1599a9d41',1,'registers.h']]], + ['gpureg_5f0132_2013',['GPUREG_0132',['../registers_8h.html#af686ef26945145c1555c28135d28c53d',1,'registers.h']]], + ['gpureg_5f0133_2014',['GPUREG_0133',['../registers_8h.html#a55b984522940857b34e921415301a4b4',1,'registers.h']]], + ['gpureg_5f0134_2015',['GPUREG_0134',['../registers_8h.html#a89ec807c2293d296fddf6d7ee202e50e',1,'registers.h']]], + ['gpureg_5f0135_2016',['GPUREG_0135',['../registers_8h.html#ae0f7499f0c01d49ab6e68f86ee500a7e',1,'registers.h']]], + ['gpureg_5f0136_2017',['GPUREG_0136',['../registers_8h.html#a2eda0eb8a13c0711108c514e62dde2d9',1,'registers.h']]], + ['gpureg_5f0137_2018',['GPUREG_0137',['../registers_8h.html#a4293a6858edc07874627539d61584cb0',1,'registers.h']]], + ['gpureg_5f0138_2019',['GPUREG_0138',['../registers_8h.html#aab26b206eb66da6938cc97aed59516b4',1,'registers.h']]], + ['gpureg_5f0139_2020',['GPUREG_0139',['../registers_8h.html#a3d7f1398aa4fc715b8065c2297a1758d',1,'registers.h']]], + ['gpureg_5f013a_2021',['GPUREG_013A',['../registers_8h.html#aa74a485ba87d6c548d926ce702c1caac',1,'registers.h']]], + ['gpureg_5f013b_2022',['GPUREG_013B',['../registers_8h.html#a2d644410e3338dfca40dfaa9ad8fcede',1,'registers.h']]], + ['gpureg_5f013c_2023',['GPUREG_013C',['../registers_8h.html#aece3c7ddb7daca9b7d552f3f3780a407',1,'registers.h']]], + ['gpureg_5f013d_2024',['GPUREG_013D',['../registers_8h.html#aa4fb02bfde5c96668eea07e357763d15',1,'registers.h']]], + ['gpureg_5f013e_2025',['GPUREG_013E',['../registers_8h.html#a0c7204fddfc98d02d0ee45a33821980e',1,'registers.h']]], + ['gpureg_5f013f_2026',['GPUREG_013F',['../registers_8h.html#a7a1e65cff1070b3aa21d971b9e23f5fe',1,'registers.h']]], + ['gpureg_5f0148_2027',['GPUREG_0148',['../registers_8h.html#a220f77f997b3546e4cfd34c4785ea14e',1,'registers.h']]], + ['gpureg_5f014c_2028',['GPUREG_014C',['../registers_8h.html#a03053c6aab9710be2094d5ae84a376c5',1,'registers.h']]], + ['gpureg_5f014d_2029',['GPUREG_014D',['../registers_8h.html#a6b0c5b1ecca2248e120e846117ca9903',1,'registers.h']]], + ['gpureg_5f014e_2030',['GPUREG_014E',['../registers_8h.html#aefcf9df18a2245e45a5dbe372da9712e',1,'registers.h']]], + ['gpureg_5f014f_2031',['GPUREG_014F',['../registers_8h.html#a07992b1b3fe32967acde07607b2cf45c',1,'registers.h']]], + ['gpureg_5f0158_2032',['GPUREG_0158',['../registers_8h.html#abd5178a1ef976a8542eb69b8c9dcfc2f',1,'registers.h']]], + ['gpureg_5f015c_2033',['GPUREG_015C',['../registers_8h.html#a988f3ccfe28e5572c3af0b4b98848ead',1,'registers.h']]], + ['gpureg_5f015d_2034',['GPUREG_015D',['../registers_8h.html#a15fca57460a9e156cf53173ba3a2ee1c',1,'registers.h']]], + ['gpureg_5f015e_2035',['GPUREG_015E',['../registers_8h.html#afcd02a83fa32855e332f5fdb5fa49d64',1,'registers.h']]], + ['gpureg_5f015f_2036',['GPUREG_015F',['../registers_8h.html#a62cfa249b9fe33d6e80b638d27e87b20',1,'registers.h']]], + ['gpureg_5f0168_2037',['GPUREG_0168',['../registers_8h.html#a8c222f8c44faa875bd8360c22179eda8',1,'registers.h']]], + ['gpureg_5f016c_2038',['GPUREG_016C',['../registers_8h.html#a7e62fd37ab6bda409e62893f6d14952d',1,'registers.h']]], + ['gpureg_5f016d_2039',['GPUREG_016D',['../registers_8h.html#a485f6d032ec80ee8d68c97a6d9389a38',1,'registers.h']]], + ['gpureg_5f016e_2040',['GPUREG_016E',['../registers_8h.html#a9235c9d88273dbe032d9a046cb849ffc',1,'registers.h']]], + ['gpureg_5f016f_2041',['GPUREG_016F',['../registers_8h.html#a23ece2e049e4069afa97f26a1dd7cc84',1,'registers.h']]], + ['gpureg_5f0178_2042',['GPUREG_0178',['../registers_8h.html#ac9ea71d38396e22007650043100e245a',1,'registers.h']]], + ['gpureg_5f017c_2043',['GPUREG_017C',['../registers_8h.html#a3272491eb008b1618bd05177cd74583d',1,'registers.h']]], + ['gpureg_5f017d_2044',['GPUREG_017D',['../registers_8h.html#acbc2b727720f0e4609a8ce25596957b7',1,'registers.h']]], + ['gpureg_5f017e_2045',['GPUREG_017E',['../registers_8h.html#a95a613e6c9c7e444a83ba2ea7b1ef08e',1,'registers.h']]], + ['gpureg_5f017f_2046',['GPUREG_017F',['../registers_8h.html#ab20d526f2b0c42d6c3f37fc459383db2',1,'registers.h']]], + ['gpureg_5f0188_2047',['GPUREG_0188',['../registers_8h.html#abb1f18cc9aa00b4d70a2e4ba4df56786',1,'registers.h']]], + ['gpureg_5f018c_2048',['GPUREG_018C',['../registers_8h.html#a062e2e023ee24f8f7ee038875949eaf3',1,'registers.h']]], + ['gpureg_5f018d_2049',['GPUREG_018D',['../registers_8h.html#ab89fc4d12323efa78273b2958456c767',1,'registers.h']]], + ['gpureg_5f018e_2050',['GPUREG_018E',['../registers_8h.html#a0f9129fabdd4c6de5606d90deb0b993e',1,'registers.h']]], + ['gpureg_5f018f_2051',['GPUREG_018F',['../registers_8h.html#a8d7e958717c25f80e62912c0a64ae515',1,'registers.h']]], + ['gpureg_5f0198_2052',['GPUREG_0198',['../registers_8h.html#a022e41389eab6833560aefdc97632c3d',1,'registers.h']]], + ['gpureg_5f019c_2053',['GPUREG_019C',['../registers_8h.html#af38c026c73ed34b3054428b3e74c199a',1,'registers.h']]], + ['gpureg_5f019d_2054',['GPUREG_019D',['../registers_8h.html#aeeada8542567dbca904c7a360a9d57f9',1,'registers.h']]], + ['gpureg_5f019e_2055',['GPUREG_019E',['../registers_8h.html#a729f0fb78db5ca5b1878c7bdacba2c26',1,'registers.h']]], + ['gpureg_5f019f_2056',['GPUREG_019F',['../registers_8h.html#a10c099d5a1f9fe80d9d971c0c3514384',1,'registers.h']]], + ['gpureg_5f01a8_2057',['GPUREG_01A8',['../registers_8h.html#ac6abaa1dcc201490012fafa85e29ae86',1,'registers.h']]], + ['gpureg_5f01ac_2058',['GPUREG_01AC',['../registers_8h.html#a48911228a2fe3437ec53c5989f5eb293',1,'registers.h']]], + ['gpureg_5f01ad_2059',['GPUREG_01AD',['../registers_8h.html#a16be464395dd4f5f36039f721d1751d6',1,'registers.h']]], + ['gpureg_5f01ae_2060',['GPUREG_01AE',['../registers_8h.html#ac680458d7850d4abbcdd4b9e274ca514',1,'registers.h']]], + ['gpureg_5f01af_2061',['GPUREG_01AF',['../registers_8h.html#a074cb1add11f95e8ed8380b17995bd7f',1,'registers.h']]], + ['gpureg_5f01b8_2062',['GPUREG_01B8',['../registers_8h.html#a57d93b1c4881e31a49cd537f17d478f5',1,'registers.h']]], + ['gpureg_5f01bc_2063',['GPUREG_01BC',['../registers_8h.html#aab7acdba8f96781970230e404fe7989b',1,'registers.h']]], + ['gpureg_5f01bd_2064',['GPUREG_01BD',['../registers_8h.html#af76240e6b9dafc51e41d35ee6f6d6fce',1,'registers.h']]], + ['gpureg_5f01be_2065',['GPUREG_01BE',['../registers_8h.html#af4e8b9efa7d44f241cce78d565443431',1,'registers.h']]], + ['gpureg_5f01bf_2066',['GPUREG_01BF',['../registers_8h.html#a798c60acf3e3fa4e64cbe1a6090e2a6a',1,'registers.h']]], + ['gpureg_5f01c1_2067',['GPUREG_01C1',['../registers_8h.html#a0ed2dd873a3095eb3a220c7b7cec0fd6',1,'registers.h']]], + ['gpureg_5f01c7_2068',['GPUREG_01C7',['../registers_8h.html#ae2a4a6252cac0c54597d123243f85fde',1,'registers.h']]], + ['gpureg_5f01d3_2069',['GPUREG_01D3',['../registers_8h.html#a52128fcbdb2b4aec28ecedc0e031485a',1,'registers.h']]], + ['gpureg_5f01d4_2070',['GPUREG_01D4',['../registers_8h.html#a66b79a7ad1dabf6ca86e29608c7c890a',1,'registers.h']]], + ['gpureg_5f01d5_2071',['GPUREG_01D5',['../registers_8h.html#acb1bbaff6ef3536a727ddf2e4a63f52f',1,'registers.h']]], + ['gpureg_5f01d6_2072',['GPUREG_01D6',['../registers_8h.html#ad8cfdf43d4b7eac6288fb8a4289da6ea',1,'registers.h']]], + ['gpureg_5f01d7_2073',['GPUREG_01D7',['../registers_8h.html#a2ba57073a3bac9c599c72c9d981aeb6b',1,'registers.h']]], + ['gpureg_5f01d8_2074',['GPUREG_01D8',['../registers_8h.html#a9fdec55e842d44938f5e16e15e023853',1,'registers.h']]], + ['gpureg_5f01da_2075',['GPUREG_01DA',['../registers_8h.html#a6367d49e3047bbdac69d4bbb7b7e5b7a',1,'registers.h']]], + ['gpureg_5f01db_2076',['GPUREG_01DB',['../registers_8h.html#afa81e22abed6329798c9628bb9b83e51',1,'registers.h']]], + ['gpureg_5f01dc_2077',['GPUREG_01DC',['../registers_8h.html#a45cfb0dd52f9b7f85a7c2fb8939bb1c3',1,'registers.h']]], + ['gpureg_5f01dd_2078',['GPUREG_01DD',['../registers_8h.html#ae8b630b73a4805227f1efade92c4d71c',1,'registers.h']]], + ['gpureg_5f01de_2079',['GPUREG_01DE',['../registers_8h.html#aa5c84afe61eb1b4cd0d311ffe0072abc',1,'registers.h']]], + ['gpureg_5f01df_2080',['GPUREG_01DF',['../registers_8h.html#a021b733d3abad05957f300d92433a245',1,'registers.h']]], + ['gpureg_5f01e0_2081',['GPUREG_01E0',['../registers_8h.html#aa4c542caa1fa8d288638ab2edb0c2d9b',1,'registers.h']]], + ['gpureg_5f01e1_2082',['GPUREG_01E1',['../registers_8h.html#abc29b720b398eef87924617ec48f3050',1,'registers.h']]], + ['gpureg_5f01e2_2083',['GPUREG_01E2',['../registers_8h.html#acc579defc066ba9e16724e1049a7709a',1,'registers.h']]], + ['gpureg_5f01e3_2084',['GPUREG_01E3',['../registers_8h.html#abf70280cccb46a8411482c7221352e1e',1,'registers.h']]], + ['gpureg_5f01e4_2085',['GPUREG_01E4',['../registers_8h.html#a760dd9a219490790a40ba2d76d9258e1',1,'registers.h']]], + ['gpureg_5f01e5_2086',['GPUREG_01E5',['../registers_8h.html#a5fa3dc2f7b57e212e61ce2dc3c655b20',1,'registers.h']]], + ['gpureg_5f01e6_2087',['GPUREG_01E6',['../registers_8h.html#a2b920cd07ff82ab1f868dd07869c497a',1,'registers.h']]], + ['gpureg_5f01e7_2088',['GPUREG_01E7',['../registers_8h.html#ad16ea511aee8e3bafc99a8d9fe1bdf1a',1,'registers.h']]], + ['gpureg_5f01e8_2089',['GPUREG_01E8',['../registers_8h.html#ad0b39dd6466b56d971038e8bf37acc8e',1,'registers.h']]], + ['gpureg_5f01e9_2090',['GPUREG_01E9',['../registers_8h.html#a2639eeb6c9ed1f5fe98ec6f5b8aa435a',1,'registers.h']]], + ['gpureg_5f01ea_2091',['GPUREG_01EA',['../registers_8h.html#ab6a27addc880a2fcfb7e77659c2bf9d1',1,'registers.h']]], + ['gpureg_5f01eb_2092',['GPUREG_01EB',['../registers_8h.html#a1db5008bff828438fc4b4d1dc717d14d',1,'registers.h']]], + ['gpureg_5f01ec_2093',['GPUREG_01EC',['../registers_8h.html#a07da4e68b849145dc1eca3ebb6e1ce09',1,'registers.h']]], + ['gpureg_5f01ed_2094',['GPUREG_01ED',['../registers_8h.html#a8e28dd30bbe1d74101d8de68ffeefc6f',1,'registers.h']]], + ['gpureg_5f01ee_2095',['GPUREG_01EE',['../registers_8h.html#ab6e2ca4c29d1b19a9a5ad21e2bb0499e',1,'registers.h']]], + ['gpureg_5f01ef_2096',['GPUREG_01EF',['../registers_8h.html#a32982f51b3d018f315a9c6cd7ed180cd',1,'registers.h']]], + ['gpureg_5f01f0_2097',['GPUREG_01F0',['../registers_8h.html#afc56ffdb6d4de286808e7d0860f24b97',1,'registers.h']]], + ['gpureg_5f01f1_2098',['GPUREG_01F1',['../registers_8h.html#af3df1274e5d836c7807727e4278f66a2',1,'registers.h']]], + ['gpureg_5f01f2_2099',['GPUREG_01F2',['../registers_8h.html#a2f1c0f4458a214fe03bd5dade27201fc',1,'registers.h']]], + ['gpureg_5f01f3_2100',['GPUREG_01F3',['../registers_8h.html#af52c5fb2c8c490f20abed207f00756a9',1,'registers.h']]], + ['gpureg_5f01f4_2101',['GPUREG_01F4',['../registers_8h.html#a07834cc329001d5f6e9f16b92a270786',1,'registers.h']]], + ['gpureg_5f01f5_2102',['GPUREG_01F5',['../registers_8h.html#a86b51d8c138836cee918b0cb07cd9c96',1,'registers.h']]], + ['gpureg_5f01f6_2103',['GPUREG_01F6',['../registers_8h.html#ad12127e9e957f825c90f0cb5eddbc6d8',1,'registers.h']]], + ['gpureg_5f01f7_2104',['GPUREG_01F7',['../registers_8h.html#a558f4c35eb738a842c7d3b9b6889d3a4',1,'registers.h']]], + ['gpureg_5f01f8_2105',['GPUREG_01F8',['../registers_8h.html#ab59a623506300cffcedd232918664c39',1,'registers.h']]], + ['gpureg_5f01f9_2106',['GPUREG_01F9',['../registers_8h.html#a9db9ef51a6dbf6137dded51b006c85b4',1,'registers.h']]], + ['gpureg_5f01fa_2107',['GPUREG_01FA',['../registers_8h.html#a529c4a900eab43c2813807c2855d1766',1,'registers.h']]], + ['gpureg_5f01fb_2108',['GPUREG_01FB',['../registers_8h.html#ab88f3ee256ab0caa0d8f42962499357d',1,'registers.h']]], + ['gpureg_5f01fc_2109',['GPUREG_01FC',['../registers_8h.html#ad9463abc5dc18cc4ae3edbf5177ff592',1,'registers.h']]], + ['gpureg_5f01fd_2110',['GPUREG_01FD',['../registers_8h.html#ad05268d7277efaad4c481283d07d4412',1,'registers.h']]], + ['gpureg_5f01fe_2111',['GPUREG_01FE',['../registers_8h.html#a62e99d9fc044240c579ead6a06485943',1,'registers.h']]], + ['gpureg_5f01ff_2112',['GPUREG_01FF',['../registers_8h.html#ae6399073f57afafe1781798c88d057a0',1,'registers.h']]], + ['gpureg_5f022b_2113',['GPUREG_022B',['../registers_8h.html#acc35cdfac774d25127cd0fb9d533e487',1,'registers.h']]], + ['gpureg_5f022c_2114',['GPUREG_022C',['../registers_8h.html#a93dc4c5267c9347336ca6bb47a9688b3',1,'registers.h']]], + ['gpureg_5f0230_2115',['GPUREG_0230',['../registers_8h.html#abc1c2f2591469a4774fd701f4ae30480',1,'registers.h']]], + ['gpureg_5f0236_2116',['GPUREG_0236',['../registers_8h.html#a937f4b9ec9d31c82bcaa922560c9f937',1,'registers.h']]], + ['gpureg_5f0237_2117',['GPUREG_0237',['../registers_8h.html#a5658f4fc77cdb0f9773bf372a40276eb',1,'registers.h']]], + ['gpureg_5f023e_2118',['GPUREG_023E',['../registers_8h.html#a7238ed2417e87733aa89d1aa3440a808',1,'registers.h']]], + ['gpureg_5f023f_2119',['GPUREG_023F',['../registers_8h.html#ab1691f3b4f55bce535fd6faa82aebddf',1,'registers.h']]], + ['gpureg_5f0240_2120',['GPUREG_0240',['../registers_8h.html#a357070df757ee90a4cde170f3266dd6d',1,'registers.h']]], + ['gpureg_5f0241_2121',['GPUREG_0241',['../registers_8h.html#a06fccaa8b2c82da5e1d5c570f378bca6',1,'registers.h']]], + ['gpureg_5f0243_2122',['GPUREG_0243',['../registers_8h.html#a6d65ad6aaed6c7c32b07964af392fb59',1,'registers.h']]], + ['gpureg_5f0246_2123',['GPUREG_0246',['../registers_8h.html#a473eb7e2cbe7eec0cd96142c31309ac4',1,'registers.h']]], + ['gpureg_5f0247_2124',['GPUREG_0247',['../registers_8h.html#a8f748c94d0d46f3b283d48d2b4512e99',1,'registers.h']]], + ['gpureg_5f0248_2125',['GPUREG_0248',['../registers_8h.html#a0e7f138787705bf322362575f6998a20',1,'registers.h']]], + ['gpureg_5f0249_2126',['GPUREG_0249',['../registers_8h.html#a39f3f60ea80ab67d8010d73f7656fc36',1,'registers.h']]], + ['gpureg_5f024b_2127',['GPUREG_024B',['../registers_8h.html#a0c9443f90fde39a60ee91d9012e2c6d6',1,'registers.h']]], + ['gpureg_5f024c_2128',['GPUREG_024C',['../registers_8h.html#a0fd727463182de1807f5fb2494ca6f45',1,'registers.h']]], + ['gpureg_5f024d_2129',['GPUREG_024D',['../registers_8h.html#aa0b23a32993f2b1815eaab16c1a8f234',1,'registers.h']]], + ['gpureg_5f024e_2130',['GPUREG_024E',['../registers_8h.html#a49ca337eb54d2bdb56b110e2b23f5ed6',1,'registers.h']]], + ['gpureg_5f024f_2131',['GPUREG_024F',['../registers_8h.html#a81af608654931d1e97d1c2953c21b428',1,'registers.h']]], + ['gpureg_5f0250_2132',['GPUREG_0250',['../registers_8h.html#a696a3715fc8286330329a3408b0e0e99',1,'registers.h']]], + ['gpureg_5f0255_2133',['GPUREG_0255',['../registers_8h.html#a576b10dc396b9b5e6df1f749a307dd71',1,'registers.h']]], + ['gpureg_5f0256_2134',['GPUREG_0256',['../registers_8h.html#a610ba683eaa6a3e9213bf517df15b0c4',1,'registers.h']]], + ['gpureg_5f0257_2135',['GPUREG_0257',['../registers_8h.html#ad6dd7215b370accf8c83a7ad9b14f79e',1,'registers.h']]], + ['gpureg_5f0258_2136',['GPUREG_0258',['../registers_8h.html#aa7f87c0d232e169372879b543f1e0b4b',1,'registers.h']]], + ['gpureg_5f0259_2137',['GPUREG_0259',['../registers_8h.html#ace29b72dfc91ecf3a563ef41b9c03132',1,'registers.h']]], + ['gpureg_5f025a_2138',['GPUREG_025A',['../registers_8h.html#aded520b22020996eb48ed6c449043f48',1,'registers.h']]], + ['gpureg_5f025b_2139',['GPUREG_025B',['../registers_8h.html#a31650cbf054d1492eb06c17ae718ca09',1,'registers.h']]], + ['gpureg_5f025c_2140',['GPUREG_025C',['../registers_8h.html#a90f4b34103baead5b492a9550712385c',1,'registers.h']]], + ['gpureg_5f025d_2141',['GPUREG_025D',['../registers_8h.html#a980afabd157e8d7b39e1b7ce690ea098',1,'registers.h']]], + ['gpureg_5f0260_2142',['GPUREG_0260',['../registers_8h.html#a0d3e52e98871e943ef80966ab361b4f5',1,'registers.h']]], + ['gpureg_5f0261_2143',['GPUREG_0261',['../registers_8h.html#a12256c4f68daa7c06564defd042847dd',1,'registers.h']]], + ['gpureg_5f0262_2144',['GPUREG_0262',['../registers_8h.html#a0653dd99fbe6f81854a10332f71cad98',1,'registers.h']]], + ['gpureg_5f0263_2145',['GPUREG_0263',['../registers_8h.html#a94be18bfd3e77448fea67aa23c53bc7e',1,'registers.h']]], + ['gpureg_5f0264_2146',['GPUREG_0264',['../registers_8h.html#af13c0c676f1bc701e07448f19443e99a',1,'registers.h']]], + ['gpureg_5f0265_2147',['GPUREG_0265',['../registers_8h.html#a5cde74ed63e97bacad811c18a4996c48',1,'registers.h']]], + ['gpureg_5f0266_2148',['GPUREG_0266',['../registers_8h.html#af916923ceb24541a4b79182653f4195a',1,'registers.h']]], + ['gpureg_5f0267_2149',['GPUREG_0267',['../registers_8h.html#acf7b936d40d450e108435e86229f6d29',1,'registers.h']]], + ['gpureg_5f0268_2150',['GPUREG_0268',['../registers_8h.html#aaeb5319a6f7697134d8c8d91f9d06f98',1,'registers.h']]], + ['gpureg_5f0269_2151',['GPUREG_0269',['../registers_8h.html#ae1cbc9e8fc0f22862373d6c116e5178d',1,'registers.h']]], + ['gpureg_5f026a_2152',['GPUREG_026A',['../registers_8h.html#a8c0a66890b16fd03b897c3c4d463832d',1,'registers.h']]], + ['gpureg_5f026b_2153',['GPUREG_026B',['../registers_8h.html#a7a75c35aa7950cc15beda92cd6e3a55e',1,'registers.h']]], + ['gpureg_5f026c_2154',['GPUREG_026C',['../registers_8h.html#a969fa83a14fa933333346583e35d9e52',1,'registers.h']]], + ['gpureg_5f026d_2155',['GPUREG_026D',['../registers_8h.html#ab7a5deb9ad8a4ba3e16cbaac5f42fc8a',1,'registers.h']]], + ['gpureg_5f026e_2156',['GPUREG_026E',['../registers_8h.html#a4bc96fffd59da275756359acc15337d9',1,'registers.h']]], + ['gpureg_5f026f_2157',['GPUREG_026F',['../registers_8h.html#a12b7a5ac54643c57096d466b5071b2f4',1,'registers.h']]], + ['gpureg_5f0270_2158',['GPUREG_0270',['../registers_8h.html#ad346321a156f63da0378204ff1e4df02',1,'registers.h']]], + ['gpureg_5f0271_2159',['GPUREG_0271',['../registers_8h.html#ad86b77b906c44db5001d9c86b6276e1d',1,'registers.h']]], + ['gpureg_5f0272_2160',['GPUREG_0272',['../registers_8h.html#a901452bfddd34c19ef025c5a74aac4da',1,'registers.h']]], + ['gpureg_5f0273_2161',['GPUREG_0273',['../registers_8h.html#aad6ec2ed88bb249171a68324f6c8f467',1,'registers.h']]], + ['gpureg_5f0274_2162',['GPUREG_0274',['../registers_8h.html#aa358f55f5d9fb6dd88e5fe5f1c9c353c',1,'registers.h']]], + ['gpureg_5f0275_2163',['GPUREG_0275',['../registers_8h.html#a55c093792bd98fb38576efbc5b08b7c2',1,'registers.h']]], + ['gpureg_5f0276_2164',['GPUREG_0276',['../registers_8h.html#a9da65c2ad059f7a7103723f2f510cc0e',1,'registers.h']]], + ['gpureg_5f0277_2165',['GPUREG_0277',['../registers_8h.html#af4efd88a22cc8bb2e662aa7b936fd9e2',1,'registers.h']]], + ['gpureg_5f0278_2166',['GPUREG_0278',['../registers_8h.html#a38b2d6e8e2dd58682bf2750ac769b9bc',1,'registers.h']]], + ['gpureg_5f0279_2167',['GPUREG_0279',['../registers_8h.html#a258d2a8c3dccbeb4477cf6ea82c54f2d',1,'registers.h']]], + ['gpureg_5f027a_2168',['GPUREG_027A',['../registers_8h.html#a7c4cafee689585614b53e7cf20d47472',1,'registers.h']]], + ['gpureg_5f027b_2169',['GPUREG_027B',['../registers_8h.html#a0e2feb61acc71cc5d3de6e717a2a2891',1,'registers.h']]], + ['gpureg_5f027c_2170',['GPUREG_027C',['../registers_8h.html#a76932e5ac6f049bab8b35195c2f55716',1,'registers.h']]], + ['gpureg_5f027d_2171',['GPUREG_027D',['../registers_8h.html#a33ac75c00df2b00ca918ca8c37af7282',1,'registers.h']]], + ['gpureg_5f027e_2172',['GPUREG_027E',['../registers_8h.html#ae8f00ffdf26f2cc6676c052557002f4d',1,'registers.h']]], + ['gpureg_5f027f_2173',['GPUREG_027F',['../registers_8h.html#ae45ac617f0a751b62a0be804e3649e24',1,'registers.h']]], + ['gpureg_5f0285_2174',['GPUREG_0285',['../registers_8h.html#ac99017d46a07c7c5c5ed7ce84fab4c9e',1,'registers.h']]], + ['gpureg_5f0286_2175',['GPUREG_0286',['../registers_8h.html#a850046c71f495ce98f911955b3e0a809',1,'registers.h']]], + ['gpureg_5f0287_2176',['GPUREG_0287',['../registers_8h.html#a872ca892f9bdcf3a9f8fcd2e0c957a78',1,'registers.h']]], + ['gpureg_5f0288_2177',['GPUREG_0288',['../registers_8h.html#a335964e96f751b9c96c08be070ae92e8',1,'registers.h']]], + ['gpureg_5f028e_2178',['GPUREG_028E',['../registers_8h.html#a24e676c3979d590de291065cff4385dd',1,'registers.h']]], + ['gpureg_5f0299_2179',['GPUREG_0299',['../registers_8h.html#a2778bfed0c96c84ba43962ab3ab95e85',1,'registers.h']]], + ['gpureg_5f029a_2180',['GPUREG_029A',['../registers_8h.html#aa4a6355e44058a495412c7bc821c31d9',1,'registers.h']]], + ['gpureg_5f02a4_2181',['GPUREG_02A4',['../registers_8h.html#af2a0aa9e9da4106d1739716bb99e347d',1,'registers.h']]], + ['gpureg_5f02ae_2182',['GPUREG_02AE',['../registers_8h.html#adbc3b2824be82f03ff90eebbdf736196',1,'registers.h']]], + ['gpureg_5f02af_2183',['GPUREG_02AF',['../registers_8h.html#a4cd35739f94cf6ecccf031578892b664',1,'registers.h']]], + ['gpureg_5f02b5_2184',['GPUREG_02B5',['../registers_8h.html#ae776eea798234e5073b14bea5b28e1f0',1,'registers.h']]], + ['gpureg_5f02b6_2185',['GPUREG_02B6',['../registers_8h.html#add69ee8b951dcee5b41bbf1bd8a6ba42',1,'registers.h']]], + ['gpureg_5f02b7_2186',['GPUREG_02B7',['../registers_8h.html#a088249d9220e391c8455361b9564532f',1,'registers.h']]], + ['gpureg_5f02b8_2187',['GPUREG_02B8',['../registers_8h.html#a08a2ac2304793161c3eae08c42ce553d',1,'registers.h']]], + ['gpureg_5f02be_2188',['GPUREG_02BE',['../registers_8h.html#aa09ffcce9d9aeee521111873352b8aee',1,'registers.h']]], + ['gpureg_5f02c9_2189',['GPUREG_02C9',['../registers_8h.html#ada0a23b2268e9e726eea211a59834335',1,'registers.h']]], + ['gpureg_5f02ca_2190',['GPUREG_02CA',['../registers_8h.html#aa608e73e9c3c600e86585f7c33bd5fba',1,'registers.h']]], + ['gpureg_5f02d4_2191',['GPUREG_02D4',['../registers_8h.html#a2c9f9fb7552e654f1e64e28904e55277',1,'registers.h']]], + ['gpureg_5f02de_2192',['GPUREG_02DE',['../registers_8h.html#adfe50399ffe8c16d960a3ffe94ee0f56',1,'registers.h']]], + ['gpureg_5f02df_2193',['GPUREG_02DF',['../registers_8h.html#a089316d148d922bff40c50d7e02ae5b4',1,'registers.h']]], + ['gpureg_5f02e0_2194',['GPUREG_02E0',['../registers_8h.html#a90bc1921e40cb48ae6cd28e27a4419b1',1,'registers.h']]], + ['gpureg_5f02e1_2195',['GPUREG_02E1',['../registers_8h.html#a1656b31a905b1c9ae687e9f5c9756a57',1,'registers.h']]], + ['gpureg_5f02e2_2196',['GPUREG_02E2',['../registers_8h.html#a889cb92329609e8b05db6515b4d3d2e3',1,'registers.h']]], + ['gpureg_5f02e3_2197',['GPUREG_02E3',['../registers_8h.html#a5bbca5e2454a1ccc27a3bdd00cbf377c',1,'registers.h']]], + ['gpureg_5f02e4_2198',['GPUREG_02E4',['../registers_8h.html#a854923f731eb8d3f5c7a4f6d6d759504',1,'registers.h']]], + ['gpureg_5f02e5_2199',['GPUREG_02E5',['../registers_8h.html#a9a71c8fcf0366fe222ce48e4fef36743',1,'registers.h']]], + ['gpureg_5f02e6_2200',['GPUREG_02E6',['../registers_8h.html#af7ce5bbb4d75a35e7dc1354ac365caeb',1,'registers.h']]], + ['gpureg_5f02e7_2201',['GPUREG_02E7',['../registers_8h.html#a42175fa45913396d0a693b501d74bd93',1,'registers.h']]], + ['gpureg_5f02e8_2202',['GPUREG_02E8',['../registers_8h.html#a23a4ab91e43dbe0e8d4077e698e3ebc1',1,'registers.h']]], + ['gpureg_5f02e9_2203',['GPUREG_02E9',['../registers_8h.html#a2a88de400132465443a5a488a454716f',1,'registers.h']]], + ['gpureg_5f02ea_2204',['GPUREG_02EA',['../registers_8h.html#a73d5afa67cd9112661f55f3e704e9b92',1,'registers.h']]], + ['gpureg_5f02eb_2205',['GPUREG_02EB',['../registers_8h.html#af888481ba933228c7582e664e99f33a3',1,'registers.h']]], + ['gpureg_5f02ec_2206',['GPUREG_02EC',['../registers_8h.html#a48b2a467168280f0732dcea3dc9f47da',1,'registers.h']]], + ['gpureg_5f02ed_2207',['GPUREG_02ED',['../registers_8h.html#ac4f52913f6c9f754f7cd403860636792',1,'registers.h']]], + ['gpureg_5f02ee_2208',['GPUREG_02EE',['../registers_8h.html#a36f1a3549ca3631baffcff7a0b5b759e',1,'registers.h']]], + ['gpureg_5f02ef_2209',['GPUREG_02EF',['../registers_8h.html#acb3c00d3b06c6157ad1515a76595259c',1,'registers.h']]], + ['gpureg_5f02f0_2210',['GPUREG_02F0',['../registers_8h.html#aa9818bb7483b628839b9ebb768a62588',1,'registers.h']]], + ['gpureg_5f02f1_2211',['GPUREG_02F1',['../registers_8h.html#ad38128d4331e3b16f7b9a1465e6b4b6e',1,'registers.h']]], + ['gpureg_5f02f2_2212',['GPUREG_02F2',['../registers_8h.html#a4de82ceb6aaca99de3dde86c664c88fd',1,'registers.h']]], + ['gpureg_5f02f3_2213',['GPUREG_02F3',['../registers_8h.html#a469533e59c6fabea8395abaf10335268',1,'registers.h']]], + ['gpureg_5f02f4_2214',['GPUREG_02F4',['../registers_8h.html#a00afd2d27de007d06e6136323d362038',1,'registers.h']]], + ['gpureg_5f02f5_2215',['GPUREG_02F5',['../registers_8h.html#ad2a60e32a021abddd095c934e99b0846',1,'registers.h']]], + ['gpureg_5f02f6_2216',['GPUREG_02F6',['../registers_8h.html#a20c6b8fc2bd4bb07d1122943baa8a577',1,'registers.h']]], + ['gpureg_5f02f7_2217',['GPUREG_02F7',['../registers_8h.html#a6f9803dbaf6c67d0b0d7f423b70cd2fd',1,'registers.h']]], + ['gpureg_5f02f8_2218',['GPUREG_02F8',['../registers_8h.html#a94c9fc49602a193a691e587c50cd419e',1,'registers.h']]], + ['gpureg_5f02f9_2219',['GPUREG_02F9',['../registers_8h.html#aad48426a277636d970d29f4d42f7cd5f',1,'registers.h']]], + ['gpureg_5f02fa_2220',['GPUREG_02FA',['../registers_8h.html#a4b9e9296cbfbe70e8ff02286bfe57c46',1,'registers.h']]], + ['gpureg_5f02fb_2221',['GPUREG_02FB',['../registers_8h.html#a7ec40558fd2019e84c5588fd3096ac27',1,'registers.h']]], + ['gpureg_5f02fc_2222',['GPUREG_02FC',['../registers_8h.html#acb08eefda7c62e68fce8db7341ae93e8',1,'registers.h']]], + ['gpureg_5f02fd_2223',['GPUREG_02FD',['../registers_8h.html#a87667d2146d0245313e1053d7879833b',1,'registers.h']]], + ['gpureg_5f02fe_2224',['GPUREG_02FE',['../registers_8h.html#ab2fbb064f90bf7d29173b3c5499017ae',1,'registers.h']]], + ['gpureg_5f02ff_2225',['GPUREG_02FF',['../registers_8h.html#a92927124b50079d7dc43520f858ad972',1,'registers.h']]], + ['gpureg_5fattribbuffer0_5fconfig1_2226',['GPUREG_ATTRIBBUFFER0_CONFIG1',['../registers_8h.html#a525c7c45fcc5c70c5382081166b35dc3',1,'registers.h']]], + ['gpureg_5fattribbuffer0_5fconfig2_2227',['GPUREG_ATTRIBBUFFER0_CONFIG2',['../registers_8h.html#a08aa4fcd2e92fb968882c314e50d572d',1,'registers.h']]], + ['gpureg_5fattribbuffer0_5foffset_2228',['GPUREG_ATTRIBBUFFER0_OFFSET',['../registers_8h.html#ac62216fa9f51a313c5bb20a7e5c11d28',1,'registers.h']]], + ['gpureg_5fattribbuffer1_5fconfig1_2229',['GPUREG_ATTRIBBUFFER1_CONFIG1',['../registers_8h.html#a0bc2125585abc85b9c92c0d5ff8e8410',1,'registers.h']]], + ['gpureg_5fattribbuffer1_5fconfig2_2230',['GPUREG_ATTRIBBUFFER1_CONFIG2',['../registers_8h.html#a4c1516e1562c9380464a87fc2615fb15',1,'registers.h']]], + ['gpureg_5fattribbuffer1_5foffset_2231',['GPUREG_ATTRIBBUFFER1_OFFSET',['../registers_8h.html#a372dd72c2fbcdad31516e426cd54b004',1,'registers.h']]], + ['gpureg_5fattribbuffer2_5fconfig1_2232',['GPUREG_ATTRIBBUFFER2_CONFIG1',['../registers_8h.html#a09ff327d148dca59ead6533b1fb8d414',1,'registers.h']]], + ['gpureg_5fattribbuffer2_5fconfig2_2233',['GPUREG_ATTRIBBUFFER2_CONFIG2',['../registers_8h.html#a63fb28abf41deb49fd02bcf0960c672c',1,'registers.h']]], + ['gpureg_5fattribbuffer2_5foffset_2234',['GPUREG_ATTRIBBUFFER2_OFFSET',['../registers_8h.html#a15f0c55664ba3d29ca23a198c579e15e',1,'registers.h']]], + ['gpureg_5fattribbuffer3_5fconfig1_2235',['GPUREG_ATTRIBBUFFER3_CONFIG1',['../registers_8h.html#aecde3511a622c48f9d9a8c16eaa1c402',1,'registers.h']]], + ['gpureg_5fattribbuffer3_5fconfig2_2236',['GPUREG_ATTRIBBUFFER3_CONFIG2',['../registers_8h.html#a1f17dd927627edad39a97a56bf94f60e',1,'registers.h']]], + ['gpureg_5fattribbuffer3_5foffset_2237',['GPUREG_ATTRIBBUFFER3_OFFSET',['../registers_8h.html#ab9e6b91fce83737428c52b7ea8bb6d87',1,'registers.h']]], + ['gpureg_5fattribbuffer4_5fconfig1_2238',['GPUREG_ATTRIBBUFFER4_CONFIG1',['../registers_8h.html#ae6e6096f87071e0722fc43f79664dd93',1,'registers.h']]], + ['gpureg_5fattribbuffer4_5fconfig2_2239',['GPUREG_ATTRIBBUFFER4_CONFIG2',['../registers_8h.html#a8d645b98827b71abef9a767d8e0bb195',1,'registers.h']]], + ['gpureg_5fattribbuffer4_5foffset_2240',['GPUREG_ATTRIBBUFFER4_OFFSET',['../registers_8h.html#abc929a470a7734ce68f69b1f0140668a',1,'registers.h']]], + ['gpureg_5fattribbuffer5_5fconfig1_2241',['GPUREG_ATTRIBBUFFER5_CONFIG1',['../registers_8h.html#ae36c97cbf3a70cf427f9431dbe8fe0f3',1,'registers.h']]], + ['gpureg_5fattribbuffer5_5fconfig2_2242',['GPUREG_ATTRIBBUFFER5_CONFIG2',['../registers_8h.html#a1a84c045700c91bd206fd2465cb48dcd',1,'registers.h']]], + ['gpureg_5fattribbuffer5_5foffset_2243',['GPUREG_ATTRIBBUFFER5_OFFSET',['../registers_8h.html#a3f1808578e0aec3b0b11508f1ed9541f',1,'registers.h']]], + ['gpureg_5fattribbuffer6_5fconfig1_2244',['GPUREG_ATTRIBBUFFER6_CONFIG1',['../registers_8h.html#a97bf2b52e24104e579ffd41800bf5992',1,'registers.h']]], + ['gpureg_5fattribbuffer6_5fconfig2_2245',['GPUREG_ATTRIBBUFFER6_CONFIG2',['../registers_8h.html#a2e11b10bcaacb4a8d345b65a2566018c',1,'registers.h']]], + ['gpureg_5fattribbuffer6_5foffset_2246',['GPUREG_ATTRIBBUFFER6_OFFSET',['../registers_8h.html#afec6131a71422c6d3ac7930050e8b00a',1,'registers.h']]], + ['gpureg_5fattribbuffer7_5fconfig1_2247',['GPUREG_ATTRIBBUFFER7_CONFIG1',['../registers_8h.html#a94141df36bc59d7fef354c99620cf13c',1,'registers.h']]], + ['gpureg_5fattribbuffer7_5fconfig2_2248',['GPUREG_ATTRIBBUFFER7_CONFIG2',['../registers_8h.html#a22372bc09059d741f82ef28d8910a707',1,'registers.h']]], + ['gpureg_5fattribbuffer7_5foffset_2249',['GPUREG_ATTRIBBUFFER7_OFFSET',['../registers_8h.html#a351117780703b1b7108cf87e8ebabb5d',1,'registers.h']]], + ['gpureg_5fattribbuffer8_5fconfig1_2250',['GPUREG_ATTRIBBUFFER8_CONFIG1',['../registers_8h.html#aa7fac66bf44ab3244345dd99e1215b01',1,'registers.h']]], + ['gpureg_5fattribbuffer8_5fconfig2_2251',['GPUREG_ATTRIBBUFFER8_CONFIG2',['../registers_8h.html#a1630dbf3958b83d1b9fcb4dc85fdc022',1,'registers.h']]], + ['gpureg_5fattribbuffer8_5foffset_2252',['GPUREG_ATTRIBBUFFER8_OFFSET',['../registers_8h.html#ac11f78c35ceaf2511356f89813f30710',1,'registers.h']]], + ['gpureg_5fattribbuffer9_5fconfig1_2253',['GPUREG_ATTRIBBUFFER9_CONFIG1',['../registers_8h.html#a9171ad710005361836c2a22c1c99895f',1,'registers.h']]], + ['gpureg_5fattribbuffer9_5fconfig2_2254',['GPUREG_ATTRIBBUFFER9_CONFIG2',['../registers_8h.html#a6e5be3011e027b3e77e1622153cb4d94',1,'registers.h']]], + ['gpureg_5fattribbuffer9_5foffset_2255',['GPUREG_ATTRIBBUFFER9_OFFSET',['../registers_8h.html#a1e3806b0cf81eea61820ac082928fbac',1,'registers.h']]], + ['gpureg_5fattribbuffera_5fconfig1_2256',['GPUREG_ATTRIBBUFFERA_CONFIG1',['../registers_8h.html#ab76f019f978555dcef007c753d372754',1,'registers.h']]], + ['gpureg_5fattribbuffera_5fconfig2_2257',['GPUREG_ATTRIBBUFFERA_CONFIG2',['../registers_8h.html#a58eab456b7d4205a25c9f7ae0ef43040',1,'registers.h']]], + ['gpureg_5fattribbuffera_5foffset_2258',['GPUREG_ATTRIBBUFFERA_OFFSET',['../registers_8h.html#acc6736e7e9d8934050f0ee5a7449f9ee',1,'registers.h']]], + ['gpureg_5fattribbufferb_5fconfig1_2259',['GPUREG_ATTRIBBUFFERB_CONFIG1',['../registers_8h.html#a100647f30213b1f038c8ce18823d6be2',1,'registers.h']]], + ['gpureg_5fattribbufferb_5fconfig2_2260',['GPUREG_ATTRIBBUFFERB_CONFIG2',['../registers_8h.html#ac56f03fbd03324f0f25243422c74d7f7',1,'registers.h']]], + ['gpureg_5fattribbufferb_5foffset_2261',['GPUREG_ATTRIBBUFFERB_OFFSET',['../registers_8h.html#a4c1ee12b662ddf1767c6e4b4269af630',1,'registers.h']]], + ['gpureg_5fattribbuffers_5fformat_5fhigh_2262',['GPUREG_ATTRIBBUFFERS_FORMAT_HIGH',['../registers_8h.html#aa46e5b844849ab0f3fd31e84753b76c6',1,'registers.h']]], + ['gpureg_5fattribbuffers_5fformat_5flow_2263',['GPUREG_ATTRIBBUFFERS_FORMAT_LOW',['../registers_8h.html#a911e339b770236b6d6d3cb6d3674bfc3',1,'registers.h']]], + ['gpureg_5fattribbuffers_5floc_2264',['GPUREG_ATTRIBBUFFERS_LOC',['../registers_8h.html#a3cc0046ef692970df082b991ee58b4be',1,'registers.h']]], + ['gpureg_5fblend_5fcolor_2265',['GPUREG_BLEND_COLOR',['../registers_8h.html#a9c7c3523ca9bd7dad52b4bb1f2bbdbf7',1,'registers.h']]], + ['gpureg_5fblend_5ffunc_2266',['GPUREG_BLEND_FUNC',['../registers_8h.html#a13049056efa37362eeb1e591096139d1',1,'registers.h']]], + ['gpureg_5fcmdbuf_5faddr0_2267',['GPUREG_CMDBUF_ADDR0',['../registers_8h.html#ae9e5bc42962484dc3933c25aae1b3d7c',1,'registers.h']]], + ['gpureg_5fcmdbuf_5faddr1_2268',['GPUREG_CMDBUF_ADDR1',['../registers_8h.html#a7071dad42d45251d3c18bb18d0603b12',1,'registers.h']]], + ['gpureg_5fcmdbuf_5fjump0_2269',['GPUREG_CMDBUF_JUMP0',['../registers_8h.html#a88aec48894554819a817eb668f32f57a',1,'registers.h']]], + ['gpureg_5fcmdbuf_5fjump1_2270',['GPUREG_CMDBUF_JUMP1',['../registers_8h.html#a6fc07bbb2f657e73c514a3261e478cb5',1,'registers.h']]], + ['gpureg_5fcmdbuf_5fsize0_2271',['GPUREG_CMDBUF_SIZE0',['../registers_8h.html#a42076e936b6b485130e9c3f8c7d96723',1,'registers.h']]], + ['gpureg_5fcmdbuf_5fsize1_2272',['GPUREG_CMDBUF_SIZE1',['../registers_8h.html#a7ff91f8b5b1f1200c6255e6dcd016fe1',1,'registers.h']]], + ['gpureg_5fcolor_5foperation_2273',['GPUREG_COLOR_OPERATION',['../registers_8h.html#a6b5cc4de7761b084e50b728dcc838f4c',1,'registers.h']]], + ['gpureg_5fcolorbuffer_5fformat_2274',['GPUREG_COLORBUFFER_FORMAT',['../registers_8h.html#ab5f8d6059cdf749768f43fe03ba0a795',1,'registers.h']]], + ['gpureg_5fcolorbuffer_5floc_2275',['GPUREG_COLORBUFFER_LOC',['../registers_8h.html#a62da95740457429ddc8430ed3cf1159b',1,'registers.h']]], + ['gpureg_5fcolorbuffer_5fread_2276',['GPUREG_COLORBUFFER_READ',['../registers_8h.html#ab00d6deb7eda60f88ba60befac4f8ca7',1,'registers.h']]], + ['gpureg_5fcolorbuffer_5fwrite_2277',['GPUREG_COLORBUFFER_WRITE',['../registers_8h.html#a5fb160fc9d23374249a0d68294f77c84',1,'registers.h']]], + ['gpureg_5fdepth_5fcolor_5fmask_2278',['GPUREG_DEPTH_COLOR_MASK',['../registers_8h.html#a44e043a6774595bc645c8eefca8b81da',1,'registers.h']]], + ['gpureg_5fdepthbuffer_5fformat_2279',['GPUREG_DEPTHBUFFER_FORMAT',['../registers_8h.html#a70189a6d6bb585d3574541ae6c1a9acb',1,'registers.h']]], + ['gpureg_5fdepthbuffer_5floc_2280',['GPUREG_DEPTHBUFFER_LOC',['../registers_8h.html#a4bdc81f5aac24026b59452e07ddec700',1,'registers.h']]], + ['gpureg_5fdepthbuffer_5fread_2281',['GPUREG_DEPTHBUFFER_READ',['../registers_8h.html#aa3f498e0a8c69c88e7d8eba3fd3269b0',1,'registers.h']]], + ['gpureg_5fdepthbuffer_5fwrite_2282',['GPUREG_DEPTHBUFFER_WRITE',['../registers_8h.html#a3fdde5a54edc827d55a458016ed5204b',1,'registers.h']]], + ['gpureg_5fdepthmap_5fenable_2283',['GPUREG_DEPTHMAP_ENABLE',['../registers_8h.html#afaa52390d16c941e231a4243346142ba',1,'registers.h']]], + ['gpureg_5fdepthmap_5foffset_2284',['GPUREG_DEPTHMAP_OFFSET',['../registers_8h.html#a7e0a51c4cc4d37fb101ea9ad7c6b5fa0',1,'registers.h']]], + ['gpureg_5fdepthmap_5fscale_2285',['GPUREG_DEPTHMAP_SCALE',['../registers_8h.html#a50e29539d9834a1d238e26182e4144db',1,'registers.h']]], + ['gpureg_5fdrawarrays_2286',['GPUREG_DRAWARRAYS',['../registers_8h.html#aa1f5c5b53e01c3d7d8a919888d0b0333',1,'registers.h']]], + ['gpureg_5fdrawelements_2287',['GPUREG_DRAWELEMENTS',['../registers_8h.html#a9480289920472bd64f4044daac6152fb',1,'registers.h']]], + ['gpureg_5fearlydepth_5fclear_2288',['GPUREG_EARLYDEPTH_CLEAR',['../registers_8h.html#aeac0b6649c513717c2a7af911219cb95',1,'registers.h']]], + ['gpureg_5fearlydepth_5fdata_2289',['GPUREG_EARLYDEPTH_DATA',['../registers_8h.html#a4525b90f0212c7fb71cee4a169473868',1,'registers.h']]], + ['gpureg_5fearlydepth_5ffunc_2290',['GPUREG_EARLYDEPTH_FUNC',['../registers_8h.html#aa7dd528c2805067071d72bb9eb157469',1,'registers.h']]], + ['gpureg_5fearlydepth_5ftest1_2291',['GPUREG_EARLYDEPTH_TEST1',['../registers_8h.html#a799a26b6e6915c6f6fcd4e37fe784fe2',1,'registers.h']]], + ['gpureg_5fearlydepth_5ftest2_2292',['GPUREG_EARLYDEPTH_TEST2',['../registers_8h.html#abdf8ee79933d25d62aabfe433aaa64bf',1,'registers.h']]], + ['gpureg_5ffaceculling_5fconfig_2293',['GPUREG_FACECULLING_CONFIG',['../registers_8h.html#ab972a1c2532c0b3415e4087a4c30fe36',1,'registers.h']]], + ['gpureg_5ffinalize_2294',['GPUREG_FINALIZE',['../registers_8h.html#a1c13f6894c6910997963f4c8660ad666',1,'registers.h']]], + ['gpureg_5ffixedattrib_5fdata0_2295',['GPUREG_FIXEDATTRIB_DATA0',['../registers_8h.html#afd4bdb0ea1b07c717c9740c15726a756',1,'registers.h']]], + ['gpureg_5ffixedattrib_5fdata1_2296',['GPUREG_FIXEDATTRIB_DATA1',['../registers_8h.html#a98149e7da6a7d0c224e3f463815f9a42',1,'registers.h']]], + ['gpureg_5ffixedattrib_5fdata2_2297',['GPUREG_FIXEDATTRIB_DATA2',['../registers_8h.html#aa29bad84377b42c53bbbf4199610363a',1,'registers.h']]], + ['gpureg_5ffixedattrib_5findex_2298',['GPUREG_FIXEDATTRIB_INDEX',['../registers_8h.html#ae2a5bcbf6c86ba0dcc9c06e4a5b8c69a',1,'registers.h']]], + ['gpureg_5ffog_5fcolor_2299',['GPUREG_FOG_COLOR',['../registers_8h.html#ab71ba06ead26d00f3ff896f4bd76cb6d',1,'registers.h']]], + ['gpureg_5ffog_5flut_5fdata0_2300',['GPUREG_FOG_LUT_DATA0',['../registers_8h.html#ae839200d6a3ba33e9efa12230abff225',1,'registers.h']]], + ['gpureg_5ffog_5flut_5fdata1_2301',['GPUREG_FOG_LUT_DATA1',['../registers_8h.html#a06c509f07de0ffe833e64a4b2f665708',1,'registers.h']]], + ['gpureg_5ffog_5flut_5fdata2_2302',['GPUREG_FOG_LUT_DATA2',['../registers_8h.html#a9901e025af932bd6fb323f6f6da2933a',1,'registers.h']]], + ['gpureg_5ffog_5flut_5fdata3_2303',['GPUREG_FOG_LUT_DATA3',['../registers_8h.html#af0929bbc11488d04d7c879344726dad0',1,'registers.h']]], + ['gpureg_5ffog_5flut_5fdata4_2304',['GPUREG_FOG_LUT_DATA4',['../registers_8h.html#a4455d6d635291410d42790da1eb6b7a4',1,'registers.h']]], + ['gpureg_5ffog_5flut_5fdata5_2305',['GPUREG_FOG_LUT_DATA5',['../registers_8h.html#a5d1959226c816065ec734c29f889343e',1,'registers.h']]], + ['gpureg_5ffog_5flut_5fdata6_2306',['GPUREG_FOG_LUT_DATA6',['../registers_8h.html#a02149c2ed234d1540b03230958ec6c3d',1,'registers.h']]], + ['gpureg_5ffog_5flut_5fdata7_2307',['GPUREG_FOG_LUT_DATA7',['../registers_8h.html#a08517b67f60896eac30b625609a1fcd1',1,'registers.h']]], + ['gpureg_5ffog_5flut_5findex_2308',['GPUREG_FOG_LUT_INDEX',['../registers_8h.html#af8a50e47893fd3403d43426d64fff7b4',1,'registers.h']]], + ['gpureg_5ffragop_5falpha_5ftest_2309',['GPUREG_FRAGOP_ALPHA_TEST',['../registers_8h.html#a2cdfee392d161eee590dd98028f3d7fe',1,'registers.h']]], + ['gpureg_5ffragop_5fclip_2310',['GPUREG_FRAGOP_CLIP',['../registers_8h.html#a3c5bf4901f11816a8fe534a9f93ea7ed',1,'registers.h']]], + ['gpureg_5ffragop_5fclip_5fdata0_2311',['GPUREG_FRAGOP_CLIP_DATA0',['../registers_8h.html#a5596176ad13e4e7bb902c2ea100b827c',1,'registers.h']]], + ['gpureg_5ffragop_5fclip_5fdata1_2312',['GPUREG_FRAGOP_CLIP_DATA1',['../registers_8h.html#ab1071cb7612c6d9398aba530b3c06c1c',1,'registers.h']]], + ['gpureg_5ffragop_5fclip_5fdata2_2313',['GPUREG_FRAGOP_CLIP_DATA2',['../registers_8h.html#ab810f89021f5497a8404f5f0ec7e14ab',1,'registers.h']]], + ['gpureg_5ffragop_5fclip_5fdata3_2314',['GPUREG_FRAGOP_CLIP_DATA3',['../registers_8h.html#acd2c81c42efa0e00af1146dde1876430',1,'registers.h']]], + ['gpureg_5ffragop_5fshadow_2315',['GPUREG_FRAGOP_SHADOW',['../registers_8h.html#a0516406f5ed071129f069595f67b595e',1,'registers.h']]], + ['gpureg_5fframebuffer_5fblock32_2316',['GPUREG_FRAMEBUFFER_BLOCK32',['../registers_8h.html#a9b4fb24866a8ec84f959887f90d6cf41',1,'registers.h']]], + ['gpureg_5fframebuffer_5fdim_2317',['GPUREG_FRAMEBUFFER_DIM',['../registers_8h.html#af70c155342642ffbd710fcba14e14839',1,'registers.h']]], + ['gpureg_5fframebuffer_5fflush_2318',['GPUREG_FRAMEBUFFER_FLUSH',['../registers_8h.html#a062b043d961e20f4942ad7a209fb6cb9',1,'registers.h']]], + ['gpureg_5fframebuffer_5finvalidate_2319',['GPUREG_FRAMEBUFFER_INVALIDATE',['../registers_8h.html#aa7efb6f25035d3fc756f8d54f9b400d3',1,'registers.h']]], + ['gpureg_5fgas_5faccmax_2320',['GPUREG_GAS_ACCMAX',['../registers_8h.html#ac9cf8a6d35fa70cbcf115bdcfd25b14a',1,'registers.h']]], + ['gpureg_5fgas_5faccmax_5ffeedback_2321',['GPUREG_GAS_ACCMAX_FEEDBACK',['../registers_8h.html#a65a0fb8cc7222e3845e25622f6203853',1,'registers.h']]], + ['gpureg_5fgas_5fattenuation_2322',['GPUREG_GAS_ATTENUATION',['../registers_8h.html#af255c6a2fabd62c167f05a39b5462585',1,'registers.h']]], + ['gpureg_5fgas_5fdeltaz_5fdepth_2323',['GPUREG_GAS_DELTAZ_DEPTH',['../registers_8h.html#afa64d919c8e1aa229e3a85a652998740',1,'registers.h']]], + ['gpureg_5fgas_5flight_5fxy_2324',['GPUREG_GAS_LIGHT_XY',['../registers_8h.html#a56ef401c82bd35c7389de1e50ebbaadf',1,'registers.h']]], + ['gpureg_5fgas_5flight_5fz_2325',['GPUREG_GAS_LIGHT_Z',['../registers_8h.html#a98c266c6152ff24c8e7f140b40744df2',1,'registers.h']]], + ['gpureg_5fgas_5flight_5fz_5fcolor_2326',['GPUREG_GAS_LIGHT_Z_COLOR',['../registers_8h.html#adfa3c0654e52355d085b4bf131418fcd',1,'registers.h']]], + ['gpureg_5fgas_5flut_5fdata_2327',['GPUREG_GAS_LUT_DATA',['../registers_8h.html#ab33ef1fad7c99d029ce1a73f932f5230',1,'registers.h']]], + ['gpureg_5fgas_5flut_5findex_2328',['GPUREG_GAS_LUT_INDEX',['../registers_8h.html#a3ded7ca833658d7afbf599a35209d287',1,'registers.h']]], + ['gpureg_5fgeostage_5fconfig_2329',['GPUREG_GEOSTAGE_CONFIG',['../registers_8h.html#aace41d4b8f0655bf38a69bf6e27c34e4',1,'registers.h']]], + ['gpureg_5fgeostage_5fconfig2_2330',['GPUREG_GEOSTAGE_CONFIG2',['../registers_8h.html#aa05cb2bb450d1d0ed046cab4af8b7c70',1,'registers.h']]], + ['gpureg_5fgsh_5fattributes_5fpermutation_5fhigh_2331',['GPUREG_GSH_ATTRIBUTES_PERMUTATION_HIGH',['../registers_8h.html#a230e7002267731db80077aef6a9862fa',1,'registers.h']]], + ['gpureg_5fgsh_5fattributes_5fpermutation_5flow_2332',['GPUREG_GSH_ATTRIBUTES_PERMUTATION_LOW',['../registers_8h.html#a49d3f041752fcbaba4faaba6f2f09699',1,'registers.h']]], + ['gpureg_5fgsh_5fbooluniform_2333',['GPUREG_GSH_BOOLUNIFORM',['../registers_8h.html#ab31d6b6b0731da0056e64ef358432c0c',1,'registers.h']]], + ['gpureg_5fgsh_5fcodetransfer_5fconfig_2334',['GPUREG_GSH_CODETRANSFER_CONFIG',['../registers_8h.html#abd898520a6a4d5d99d7292edd8c6b676',1,'registers.h']]], + ['gpureg_5fgsh_5fcodetransfer_5fdata_2335',['GPUREG_GSH_CODETRANSFER_DATA',['../registers_8h.html#a06ec9c5c43f54de5d72c27092af4d0ec',1,'registers.h']]], + ['gpureg_5fgsh_5fcodetransfer_5fend_2336',['GPUREG_GSH_CODETRANSFER_END',['../registers_8h.html#aa688d95ba10fdfc1aa78367c06123f61',1,'registers.h']]], + ['gpureg_5fgsh_5fentrypoint_2337',['GPUREG_GSH_ENTRYPOINT',['../registers_8h.html#a489c6e6a73ccb51991e21993f2fdb265',1,'registers.h']]], + ['gpureg_5fgsh_5ffloatuniform_5fconfig_2338',['GPUREG_GSH_FLOATUNIFORM_CONFIG',['../registers_8h.html#a040c316fb4d7f105486290252a797760',1,'registers.h']]], + ['gpureg_5fgsh_5ffloatuniform_5fdata_2339',['GPUREG_GSH_FLOATUNIFORM_DATA',['../registers_8h.html#a391e5d9193105e4bbd67f683f835ac58',1,'registers.h']]], + ['gpureg_5fgsh_5finputbuffer_5fconfig_2340',['GPUREG_GSH_INPUTBUFFER_CONFIG',['../registers_8h.html#a30b36bd8d0a51fe559a44836938a7f86',1,'registers.h']]], + ['gpureg_5fgsh_5fintuniform_5fi0_2341',['GPUREG_GSH_INTUNIFORM_I0',['../registers_8h.html#a1db387408e4ffdf9dabc92b9721dde33',1,'registers.h']]], + ['gpureg_5fgsh_5fintuniform_5fi1_2342',['GPUREG_GSH_INTUNIFORM_I1',['../registers_8h.html#ab96635383fdaec2e474694144a7a2288',1,'registers.h']]], + ['gpureg_5fgsh_5fintuniform_5fi2_2343',['GPUREG_GSH_INTUNIFORM_I2',['../registers_8h.html#a7d2571e722f468d9d05b2ef3d48d1c4d',1,'registers.h']]], + ['gpureg_5fgsh_5fintuniform_5fi3_2344',['GPUREG_GSH_INTUNIFORM_I3',['../registers_8h.html#a4fc67b2837fc93dde7825dc8627f71d9',1,'registers.h']]], + ['gpureg_5fgsh_5fmisc0_2345',['GPUREG_GSH_MISC0',['../registers_8h.html#ac3f1af9fb245dd1b55f0e9f2ee991342',1,'registers.h']]], + ['gpureg_5fgsh_5fmisc1_2346',['GPUREG_GSH_MISC1',['../registers_8h.html#a953afe43e77757a26c964cec34e86979',1,'registers.h']]], + ['gpureg_5fgsh_5fopdescs_5fconfig_2347',['GPUREG_GSH_OPDESCS_CONFIG',['../registers_8h.html#adc8871be93262cc21c16d4a8f53316d9',1,'registers.h']]], + ['gpureg_5fgsh_5fopdescs_5fdata_2348',['GPUREG_GSH_OPDESCS_DATA',['../registers_8h.html#af84e86ff061af1b4e5554cb897a1f577',1,'registers.h']]], + ['gpureg_5fgsh_5foutmap_5fmask_2349',['GPUREG_GSH_OUTMAP_MASK',['../registers_8h.html#ae27b83420c29f6a4a4ac25b535f40e9a',1,'registers.h']]], + ['gpureg_5findexbuffer_5fconfig_2350',['GPUREG_INDEXBUFFER_CONFIG',['../registers_8h.html#a71da4904f7bb90de35e6fdb641cb4b05',1,'registers.h']]], + ['gpureg_5flight0_5fambient_2351',['GPUREG_LIGHT0_AMBIENT',['../registers_8h.html#a8ca3e9eb494025034fa2ad1b45b0b3fb',1,'registers.h']]], + ['gpureg_5flight0_5fattenuation_5fbias_2352',['GPUREG_LIGHT0_ATTENUATION_BIAS',['../registers_8h.html#a772761ebe5427096a2ad30f88476e2b3',1,'registers.h']]], + ['gpureg_5flight0_5fattenuation_5fscale_2353',['GPUREG_LIGHT0_ATTENUATION_SCALE',['../registers_8h.html#a60aef4f399485693c7ac9fd15ae2cd97',1,'registers.h']]], + ['gpureg_5flight0_5fconfig_2354',['GPUREG_LIGHT0_CONFIG',['../registers_8h.html#a31fd472c9b65e27f7f607849cbc134fb',1,'registers.h']]], + ['gpureg_5flight0_5fdiffuse_2355',['GPUREG_LIGHT0_DIFFUSE',['../registers_8h.html#a1687be2c19ee779f9d989c2be09b14f5',1,'registers.h']]], + ['gpureg_5flight0_5fspecular0_2356',['GPUREG_LIGHT0_SPECULAR0',['../registers_8h.html#af619f280d7bf9ec9d885973ff25483a9',1,'registers.h']]], + ['gpureg_5flight0_5fspecular1_2357',['GPUREG_LIGHT0_SPECULAR1',['../registers_8h.html#a1880f6dc7c43fc9eed71e0eca9fbdb70',1,'registers.h']]], + ['gpureg_5flight0_5fspotdir_5fxy_2358',['GPUREG_LIGHT0_SPOTDIR_XY',['../registers_8h.html#ac840dc6462b6c095633277390e62bdb9',1,'registers.h']]], + ['gpureg_5flight0_5fspotdir_5fz_2359',['GPUREG_LIGHT0_SPOTDIR_Z',['../registers_8h.html#a7f325a6fa5dd5ce7520aecf1711f68a1',1,'registers.h']]], + ['gpureg_5flight0_5fxy_2360',['GPUREG_LIGHT0_XY',['../registers_8h.html#a2b58a9ee9c15b901b517937579e478e8',1,'registers.h']]], + ['gpureg_5flight0_5fz_2361',['GPUREG_LIGHT0_Z',['../registers_8h.html#affd06357e4e52d1730f8e151cdb38aaf',1,'registers.h']]], + ['gpureg_5flight1_5fambient_2362',['GPUREG_LIGHT1_AMBIENT',['../registers_8h.html#ac2f35fc02117b20999099f0498471e86',1,'registers.h']]], + ['gpureg_5flight1_5fattenuation_5fbias_2363',['GPUREG_LIGHT1_ATTENUATION_BIAS',['../registers_8h.html#a52d3bb32a42d5de56b2ff2ffdad73bdd',1,'registers.h']]], + ['gpureg_5flight1_5fattenuation_5fscale_2364',['GPUREG_LIGHT1_ATTENUATION_SCALE',['../registers_8h.html#a748aa816d6f918434a66f614816691df',1,'registers.h']]], + ['gpureg_5flight1_5fconfig_2365',['GPUREG_LIGHT1_CONFIG',['../registers_8h.html#a5e7b98f6b9f61e463abcc441713a04da',1,'registers.h']]], + ['gpureg_5flight1_5fdiffuse_2366',['GPUREG_LIGHT1_DIFFUSE',['../registers_8h.html#a2890f3fb918977ae06d73c6c1885e258',1,'registers.h']]], + ['gpureg_5flight1_5fspecular0_2367',['GPUREG_LIGHT1_SPECULAR0',['../registers_8h.html#a9ac7eaadd65146c213d5f89049139847',1,'registers.h']]], + ['gpureg_5flight1_5fspecular1_2368',['GPUREG_LIGHT1_SPECULAR1',['../registers_8h.html#a4330b82eeeb6c85357a699639890936d',1,'registers.h']]], + ['gpureg_5flight1_5fspotdir_5fxy_2369',['GPUREG_LIGHT1_SPOTDIR_XY',['../registers_8h.html#a9505b521c35cde51cf11b5bbdc2a2352',1,'registers.h']]], + ['gpureg_5flight1_5fspotdir_5fz_2370',['GPUREG_LIGHT1_SPOTDIR_Z',['../registers_8h.html#af13020a491001fe512aeff4f114e4274',1,'registers.h']]], + ['gpureg_5flight1_5fxy_2371',['GPUREG_LIGHT1_XY',['../registers_8h.html#ab6e2e0a142bf9acf6af8bbfdfde145d7',1,'registers.h']]], + ['gpureg_5flight1_5fz_2372',['GPUREG_LIGHT1_Z',['../registers_8h.html#a98194bc60b99aaf54a738576ce055196',1,'registers.h']]], + ['gpureg_5flight2_5fambient_2373',['GPUREG_LIGHT2_AMBIENT',['../registers_8h.html#a1737ee256559f717ba852fcd2abe19d0',1,'registers.h']]], + ['gpureg_5flight2_5fattenuation_5fbias_2374',['GPUREG_LIGHT2_ATTENUATION_BIAS',['../registers_8h.html#ac86ce7de697bafd7d385929b58c95a31',1,'registers.h']]], + ['gpureg_5flight2_5fattenuation_5fscale_2375',['GPUREG_LIGHT2_ATTENUATION_SCALE',['../registers_8h.html#a754342cd4527cbac0b13c3b4894aa87b',1,'registers.h']]], + ['gpureg_5flight2_5fconfig_2376',['GPUREG_LIGHT2_CONFIG',['../registers_8h.html#ac4e3a867c8a9d1ed503c100460b9436a',1,'registers.h']]], + ['gpureg_5flight2_5fdiffuse_2377',['GPUREG_LIGHT2_DIFFUSE',['../registers_8h.html#a4ce0de4bc55172590e5426751026d0b4',1,'registers.h']]], + ['gpureg_5flight2_5fspecular0_2378',['GPUREG_LIGHT2_SPECULAR0',['../registers_8h.html#a40322f9937b4bc6757803c5d4722ef09',1,'registers.h']]], + ['gpureg_5flight2_5fspecular1_2379',['GPUREG_LIGHT2_SPECULAR1',['../registers_8h.html#a68e9f7156d953e1098a49b294ed166fe',1,'registers.h']]], + ['gpureg_5flight2_5fspotdir_5fxy_2380',['GPUREG_LIGHT2_SPOTDIR_XY',['../registers_8h.html#af23327c5b63b52f9ce4a857280f6640e',1,'registers.h']]], + ['gpureg_5flight2_5fspotdir_5fz_2381',['GPUREG_LIGHT2_SPOTDIR_Z',['../registers_8h.html#a803662ccfde31c7dfc25feb2cf0662c5',1,'registers.h']]], + ['gpureg_5flight2_5fxy_2382',['GPUREG_LIGHT2_XY',['../registers_8h.html#a232b3ce18c131b01248f99184a1d189b',1,'registers.h']]], + ['gpureg_5flight2_5fz_2383',['GPUREG_LIGHT2_Z',['../registers_8h.html#ac4b1c1773ec74e1a98abe0c9924a6519',1,'registers.h']]], + ['gpureg_5flight3_5fambient_2384',['GPUREG_LIGHT3_AMBIENT',['../registers_8h.html#a4b4c061525f0201774564c2e0b32c2cd',1,'registers.h']]], + ['gpureg_5flight3_5fattenuation_5fbias_2385',['GPUREG_LIGHT3_ATTENUATION_BIAS',['../registers_8h.html#a331a3a06c0e4354c0dcf2b7f96c42610',1,'registers.h']]], + ['gpureg_5flight3_5fattenuation_5fscale_2386',['GPUREG_LIGHT3_ATTENUATION_SCALE',['../registers_8h.html#a60b4f9595b40c8ec3607f9b0ddd8e356',1,'registers.h']]], + ['gpureg_5flight3_5fconfig_2387',['GPUREG_LIGHT3_CONFIG',['../registers_8h.html#a948d9a544b6c8fcc1c1461ef49b5f57d',1,'registers.h']]], + ['gpureg_5flight3_5fdiffuse_2388',['GPUREG_LIGHT3_DIFFUSE',['../registers_8h.html#a332310219bbae9ca02793a27834c3209',1,'registers.h']]], + ['gpureg_5flight3_5fspecular0_2389',['GPUREG_LIGHT3_SPECULAR0',['../registers_8h.html#af37247830e8f4e90428fc9bb07fef564',1,'registers.h']]], + ['gpureg_5flight3_5fspecular1_2390',['GPUREG_LIGHT3_SPECULAR1',['../registers_8h.html#a5c72899b479bca8d4452fd976d5272ff',1,'registers.h']]], + ['gpureg_5flight3_5fspotdir_5fxy_2391',['GPUREG_LIGHT3_SPOTDIR_XY',['../registers_8h.html#a860bd060856b16bbd59ec685095b7e35',1,'registers.h']]], + ['gpureg_5flight3_5fspotdir_5fz_2392',['GPUREG_LIGHT3_SPOTDIR_Z',['../registers_8h.html#ad8876d134f39e0bf26c6fbf58c949522',1,'registers.h']]], + ['gpureg_5flight3_5fxy_2393',['GPUREG_LIGHT3_XY',['../registers_8h.html#ad940422f082d61c470f588728fa45039',1,'registers.h']]], + ['gpureg_5flight3_5fz_2394',['GPUREG_LIGHT3_Z',['../registers_8h.html#aba995c93a164abd58064d9af7769c429',1,'registers.h']]], + ['gpureg_5flight4_5fambient_2395',['GPUREG_LIGHT4_AMBIENT',['../registers_8h.html#a61b0d30135759793e5e33f1213e50c37',1,'registers.h']]], + ['gpureg_5flight4_5fattenuation_5fbias_2396',['GPUREG_LIGHT4_ATTENUATION_BIAS',['../registers_8h.html#ad9fdd0c981ee366d8f0566af7382bb76',1,'registers.h']]], + ['gpureg_5flight4_5fattenuation_5fscale_2397',['GPUREG_LIGHT4_ATTENUATION_SCALE',['../registers_8h.html#a45a92cdf81b6d1546b74f5a7e399432c',1,'registers.h']]], + ['gpureg_5flight4_5fconfig_2398',['GPUREG_LIGHT4_CONFIG',['../registers_8h.html#af1f6f007dd20633364c1d55e0f902ef6',1,'registers.h']]], + ['gpureg_5flight4_5fdiffuse_2399',['GPUREG_LIGHT4_DIFFUSE',['../registers_8h.html#afa1e23f8aefd9432842fe9a5602da49f',1,'registers.h']]], + ['gpureg_5flight4_5fspecular0_2400',['GPUREG_LIGHT4_SPECULAR0',['../registers_8h.html#a686531b2e03490fab9b44f003c8e5454',1,'registers.h']]], + ['gpureg_5flight4_5fspecular1_2401',['GPUREG_LIGHT4_SPECULAR1',['../registers_8h.html#a848f18b2db1dd8a10134b8eace47b5d3',1,'registers.h']]], + ['gpureg_5flight4_5fspotdir_5fxy_2402',['GPUREG_LIGHT4_SPOTDIR_XY',['../registers_8h.html#a567780659f0b0c11782e580df00e3a9b',1,'registers.h']]], + ['gpureg_5flight4_5fspotdir_5fz_2403',['GPUREG_LIGHT4_SPOTDIR_Z',['../registers_8h.html#a1cb7d96e920882d616abdad51c8b164c',1,'registers.h']]], + ['gpureg_5flight4_5fxy_2404',['GPUREG_LIGHT4_XY',['../registers_8h.html#a923a3c4ddc3d111f90deeec1c0b28b9b',1,'registers.h']]], + ['gpureg_5flight4_5fz_2405',['GPUREG_LIGHT4_Z',['../registers_8h.html#abb41d38b61a5ba5cd643e19586bbb722',1,'registers.h']]], + ['gpureg_5flight5_5fambient_2406',['GPUREG_LIGHT5_AMBIENT',['../registers_8h.html#a376830660334301ea13039887d040df6',1,'registers.h']]], + ['gpureg_5flight5_5fattenuation_5fbias_2407',['GPUREG_LIGHT5_ATTENUATION_BIAS',['../registers_8h.html#a975adc4f2030bfa0a1316db3381c86e0',1,'registers.h']]], + ['gpureg_5flight5_5fattenuation_5fscale_2408',['GPUREG_LIGHT5_ATTENUATION_SCALE',['../registers_8h.html#a7cd1240cc57c673ca85544b277935853',1,'registers.h']]], + ['gpureg_5flight5_5fconfig_2409',['GPUREG_LIGHT5_CONFIG',['../registers_8h.html#a02b393e960401c0cc438fcaa024ca850',1,'registers.h']]], + ['gpureg_5flight5_5fdiffuse_2410',['GPUREG_LIGHT5_DIFFUSE',['../registers_8h.html#ae24299c5c807cf36e38a9941142aa386',1,'registers.h']]], + ['gpureg_5flight5_5fspecular0_2411',['GPUREG_LIGHT5_SPECULAR0',['../registers_8h.html#a99d30e446a1f24865822eabaab4e2174',1,'registers.h']]], + ['gpureg_5flight5_5fspecular1_2412',['GPUREG_LIGHT5_SPECULAR1',['../registers_8h.html#ae1233edbf5838822aed5905d22fba0ea',1,'registers.h']]], + ['gpureg_5flight5_5fspotdir_5fxy_2413',['GPUREG_LIGHT5_SPOTDIR_XY',['../registers_8h.html#a3de3054e1404077b6213ad8bf6fdd1d3',1,'registers.h']]], + ['gpureg_5flight5_5fspotdir_5fz_2414',['GPUREG_LIGHT5_SPOTDIR_Z',['../registers_8h.html#a34002b028b6be094f95ff667929719ee',1,'registers.h']]], + ['gpureg_5flight5_5fxy_2415',['GPUREG_LIGHT5_XY',['../registers_8h.html#a68529727e70c3aee5967241dbf871cb6',1,'registers.h']]], + ['gpureg_5flight5_5fz_2416',['GPUREG_LIGHT5_Z',['../registers_8h.html#aa8bcb266edfcd7682cdf9b4589a41d58',1,'registers.h']]], + ['gpureg_5flight6_5fambient_2417',['GPUREG_LIGHT6_AMBIENT',['../registers_8h.html#ab07765d306e04604c241e2b3c6834c06',1,'registers.h']]], + ['gpureg_5flight6_5fattenuation_5fbias_2418',['GPUREG_LIGHT6_ATTENUATION_BIAS',['../registers_8h.html#af52b59910dc65a706f68aca8e5dc8f4c',1,'registers.h']]], + ['gpureg_5flight6_5fattenuation_5fscale_2419',['GPUREG_LIGHT6_ATTENUATION_SCALE',['../registers_8h.html#ac57efdf0fae5fcc9ed37ed7689250239',1,'registers.h']]], + ['gpureg_5flight6_5fconfig_2420',['GPUREG_LIGHT6_CONFIG',['../registers_8h.html#a8d84a6603d9e38f928d1ded6d90ad52c',1,'registers.h']]], + ['gpureg_5flight6_5fdiffuse_2421',['GPUREG_LIGHT6_DIFFUSE',['../registers_8h.html#a4d935c70e78861962fbfca7fa4ba7e6b',1,'registers.h']]], + ['gpureg_5flight6_5fspecular0_2422',['GPUREG_LIGHT6_SPECULAR0',['../registers_8h.html#a93d2e8e9cdd66babbff38cd018d09e6e',1,'registers.h']]], + ['gpureg_5flight6_5fspecular1_2423',['GPUREG_LIGHT6_SPECULAR1',['../registers_8h.html#aef785760f0d2bbcf75a2b168c6a8cfd4',1,'registers.h']]], + ['gpureg_5flight6_5fspotdir_5fxy_2424',['GPUREG_LIGHT6_SPOTDIR_XY',['../registers_8h.html#a6351a376369271d3b13caa22dfd6dbcf',1,'registers.h']]], + ['gpureg_5flight6_5fspotdir_5fz_2425',['GPUREG_LIGHT6_SPOTDIR_Z',['../registers_8h.html#a642ac632ef5cf1ff67bc08f2b6707070',1,'registers.h']]], + ['gpureg_5flight6_5fxy_2426',['GPUREG_LIGHT6_XY',['../registers_8h.html#a9768415d7ef8d604e14542038f52274a',1,'registers.h']]], + ['gpureg_5flight6_5fz_2427',['GPUREG_LIGHT6_Z',['../registers_8h.html#a45a858f208f8ee34971a4fb4747074da',1,'registers.h']]], + ['gpureg_5flight7_5fambient_2428',['GPUREG_LIGHT7_AMBIENT',['../registers_8h.html#ae2fea4e32197a882cbff735c79580936',1,'registers.h']]], + ['gpureg_5flight7_5fattenuation_5fbias_2429',['GPUREG_LIGHT7_ATTENUATION_BIAS',['../registers_8h.html#a90f526d189e2070d5b469d057a8bf2f2',1,'registers.h']]], + ['gpureg_5flight7_5fattenuation_5fscale_2430',['GPUREG_LIGHT7_ATTENUATION_SCALE',['../registers_8h.html#aab7e5b8c5f071eb7d6ee4af3decb97f2',1,'registers.h']]], + ['gpureg_5flight7_5fconfig_2431',['GPUREG_LIGHT7_CONFIG',['../registers_8h.html#a6c61b3c7623862a4fc51606023f6ff1c',1,'registers.h']]], + ['gpureg_5flight7_5fdiffuse_2432',['GPUREG_LIGHT7_DIFFUSE',['../registers_8h.html#a90e86f7a23a710915220d375c85de7ad',1,'registers.h']]], + ['gpureg_5flight7_5fspecular0_2433',['GPUREG_LIGHT7_SPECULAR0',['../registers_8h.html#aeed9e255daee5dfd428e91b79ed2847a',1,'registers.h']]], + ['gpureg_5flight7_5fspecular1_2434',['GPUREG_LIGHT7_SPECULAR1',['../registers_8h.html#a53223e5aa0ceaf51beeef27d655c09e4',1,'registers.h']]], + ['gpureg_5flight7_5fspotdir_5fxy_2435',['GPUREG_LIGHT7_SPOTDIR_XY',['../registers_8h.html#afb277351ad390041b7008ad7f1c17e18',1,'registers.h']]], + ['gpureg_5flight7_5fspotdir_5fz_2436',['GPUREG_LIGHT7_SPOTDIR_Z',['../registers_8h.html#a74ca5d6647a52d4fcb128fa2236ae94d',1,'registers.h']]], + ['gpureg_5flight7_5fxy_2437',['GPUREG_LIGHT7_XY',['../registers_8h.html#a9128c39389ab66076722fba3ac866ff1',1,'registers.h']]], + ['gpureg_5flight7_5fz_2438',['GPUREG_LIGHT7_Z',['../registers_8h.html#aacd6264396b13079beb53f22ade29256',1,'registers.h']]], + ['gpureg_5flighting_5fambient_2439',['GPUREG_LIGHTING_AMBIENT',['../registers_8h.html#af578d88c4541da1e13299a6a1624f34f',1,'registers.h']]], + ['gpureg_5flighting_5fconfig0_2440',['GPUREG_LIGHTING_CONFIG0',['../registers_8h.html#a0fc3660f9618cc7e021e900a14887303',1,'registers.h']]], + ['gpureg_5flighting_5fconfig1_2441',['GPUREG_LIGHTING_CONFIG1',['../registers_8h.html#af3f4617c58413f0385894cb96fdacca5',1,'registers.h']]], + ['gpureg_5flighting_5fenable0_2442',['GPUREG_LIGHTING_ENABLE0',['../registers_8h.html#a22e6fa7243ba45f06bc21456719d47ab',1,'registers.h']]], + ['gpureg_5flighting_5fenable1_2443',['GPUREG_LIGHTING_ENABLE1',['../registers_8h.html#a6b5aac11510ab1ea06b36d1e0f2706bc',1,'registers.h']]], + ['gpureg_5flighting_5flight_5fpermutation_2444',['GPUREG_LIGHTING_LIGHT_PERMUTATION',['../registers_8h.html#a349d9e6b73a4010ceeef8836ec73ab0a',1,'registers.h']]], + ['gpureg_5flighting_5flut_5fdata0_2445',['GPUREG_LIGHTING_LUT_DATA0',['../registers_8h.html#aab6612a03bda7efe03d49f2fd5369e08',1,'registers.h']]], + ['gpureg_5flighting_5flut_5fdata1_2446',['GPUREG_LIGHTING_LUT_DATA1',['../registers_8h.html#a86ab3c2fc3969a519b7f0cf50459f735',1,'registers.h']]], + ['gpureg_5flighting_5flut_5fdata2_2447',['GPUREG_LIGHTING_LUT_DATA2',['../registers_8h.html#a166d7bef485297303bb0904eb21d52ad',1,'registers.h']]], + ['gpureg_5flighting_5flut_5fdata3_2448',['GPUREG_LIGHTING_LUT_DATA3',['../registers_8h.html#a88e8abb02eda3fe7253c79a29b120cdb',1,'registers.h']]], + ['gpureg_5flighting_5flut_5fdata4_2449',['GPUREG_LIGHTING_LUT_DATA4',['../registers_8h.html#ac1101e03d9fe5554701472a6490e8631',1,'registers.h']]], + ['gpureg_5flighting_5flut_5fdata5_2450',['GPUREG_LIGHTING_LUT_DATA5',['../registers_8h.html#a85e447c1f382f37462dd4aeae2657d67',1,'registers.h']]], + ['gpureg_5flighting_5flut_5fdata6_2451',['GPUREG_LIGHTING_LUT_DATA6',['../registers_8h.html#a006f525c2a11f4f7e5f7e9b1947308e8',1,'registers.h']]], + ['gpureg_5flighting_5flut_5fdata7_2452',['GPUREG_LIGHTING_LUT_DATA7',['../registers_8h.html#a1e6f0dd4ad09461637aca2a34e3e2c8b',1,'registers.h']]], + ['gpureg_5flighting_5flut_5findex_2453',['GPUREG_LIGHTING_LUT_INDEX',['../registers_8h.html#a28fdf4020863eb8fc7bf2d33ee050d3f',1,'registers.h']]], + ['gpureg_5flighting_5flutinput_5fabs_2454',['GPUREG_LIGHTING_LUTINPUT_ABS',['../registers_8h.html#a7af2a97e273f42ecf47b46ad54801e13',1,'registers.h']]], + ['gpureg_5flighting_5flutinput_5fscale_2455',['GPUREG_LIGHTING_LUTINPUT_SCALE',['../registers_8h.html#a414f778f7bba1eea3da109dc6ab16973',1,'registers.h']]], + ['gpureg_5flighting_5flutinput_5fselect_2456',['GPUREG_LIGHTING_LUTINPUT_SELECT',['../registers_8h.html#a256423b743bd47bf86e95ca390f1bf41',1,'registers.h']]], + ['gpureg_5flighting_5fnum_5flights_2457',['GPUREG_LIGHTING_NUM_LIGHTS',['../registers_8h.html#a2646a6cb7b81f485d6ad0812e3919105',1,'registers.h']]], + ['gpureg_5flogic_5fop_2458',['GPUREG_LOGIC_OP',['../registers_8h.html#ad4f3ff79fd6e236bb7fdf4749e768a8c',1,'registers.h']]], + ['gpureg_5fnumvertices_2459',['GPUREG_NUMVERTICES',['../registers_8h.html#a87d3b42f4d5265b2b5d2abb0df5065a1',1,'registers.h']]], + ['gpureg_5fpost_5fvertex_5fcache_5fnum_2460',['GPUREG_POST_VERTEX_CACHE_NUM',['../registers_8h.html#a1b6947bf0b48a1ea13fed91961f6927a',1,'registers.h']]], + ['gpureg_5fprimitive_5fconfig_2461',['GPUREG_PRIMITIVE_CONFIG',['../registers_8h.html#a7d5c9328a6ba4143703686493e352ef7',1,'registers.h']]], + ['gpureg_5fproctex_5flut_2462',['GPUREG_PROCTEX_LUT',['../registers_8h.html#abc3abcee4680d457cf200c6b4ee0ea58',1,'registers.h']]], + ['gpureg_5fproctex_5flut_5fdata0_2463',['GPUREG_PROCTEX_LUT_DATA0',['../registers_8h.html#a261d1fa8efdbeadfc9a53fa131246c47',1,'registers.h']]], + ['gpureg_5fproctex_5flut_5fdata1_2464',['GPUREG_PROCTEX_LUT_DATA1',['../registers_8h.html#a7db9ba84302fd85d1934b281a6334f41',1,'registers.h']]], + ['gpureg_5fproctex_5flut_5fdata2_2465',['GPUREG_PROCTEX_LUT_DATA2',['../registers_8h.html#a56333dd2cce1e92fcac06e6fb9002330',1,'registers.h']]], + ['gpureg_5fproctex_5flut_5fdata3_2466',['GPUREG_PROCTEX_LUT_DATA3',['../registers_8h.html#a121db9281c513c16b04ed7943859c3ea',1,'registers.h']]], + ['gpureg_5fproctex_5flut_5fdata4_2467',['GPUREG_PROCTEX_LUT_DATA4',['../registers_8h.html#ac45ae14fe13d32d90615dde3f65ff997',1,'registers.h']]], + ['gpureg_5fproctex_5flut_5fdata5_2468',['GPUREG_PROCTEX_LUT_DATA5',['../registers_8h.html#a3c6e1ccd3241e91d04afff6e26635d6e',1,'registers.h']]], + ['gpureg_5fproctex_5flut_5fdata6_2469',['GPUREG_PROCTEX_LUT_DATA6',['../registers_8h.html#ad4a5bd5ca19a6e6eccf2f070d11e35a2',1,'registers.h']]], + ['gpureg_5fproctex_5flut_5fdata7_2470',['GPUREG_PROCTEX_LUT_DATA7',['../registers_8h.html#a2df304f37bbf1e4b8c726900c986e1e5',1,'registers.h']]], + ['gpureg_5frenderbuf_5fdim_2471',['GPUREG_RENDERBUF_DIM',['../registers_8h.html#ac42032f17e975a5a42f8865b798f02da',1,'registers.h']]], + ['gpureg_5frestart_5fprimitive_2472',['GPUREG_RESTART_PRIMITIVE',['../registers_8h.html#a9306c2f185b485888c85445ccd813b00',1,'registers.h']]], + ['gpureg_5fscissortest_5fdim_2473',['GPUREG_SCISSORTEST_DIM',['../registers_8h.html#aa393ab61199ec7c7e66100d425eaeaf5',1,'registers.h']]], + ['gpureg_5fscissortest_5fmode_2474',['GPUREG_SCISSORTEST_MODE',['../registers_8h.html#abda9094d803b9bd685a705e710920d14',1,'registers.h']]], + ['gpureg_5fscissortest_5fpos_2475',['GPUREG_SCISSORTEST_POS',['../registers_8h.html#a5d20b87b4cb3e6924bd2eb09f3808493',1,'registers.h']]], + ['gpureg_5fsh_5foutattr_5fclock_2476',['GPUREG_SH_OUTATTR_CLOCK',['../registers_8h.html#abea0382ba3568ecdc591fae22b45babb',1,'registers.h']]], + ['gpureg_5fsh_5foutattr_5fmode_2477',['GPUREG_SH_OUTATTR_MODE',['../registers_8h.html#aa617b5a86cca9c12455d3152ea80a0f4',1,'registers.h']]], + ['gpureg_5fsh_5foutmap_5fo0_2478',['GPUREG_SH_OUTMAP_O0',['../registers_8h.html#a3f55a88680ddd5cbbcc760438b47c0ac',1,'registers.h']]], + ['gpureg_5fsh_5foutmap_5fo1_2479',['GPUREG_SH_OUTMAP_O1',['../registers_8h.html#a8138a0b59addeedd64c5981c542c9d57',1,'registers.h']]], + ['gpureg_5fsh_5foutmap_5fo2_2480',['GPUREG_SH_OUTMAP_O2',['../registers_8h.html#ae655dfb179cb88b06969d706b61c00b6',1,'registers.h']]], + ['gpureg_5fsh_5foutmap_5fo3_2481',['GPUREG_SH_OUTMAP_O3',['../registers_8h.html#ae2168f7597c894a513b406cccece6dd4',1,'registers.h']]], + ['gpureg_5fsh_5foutmap_5fo4_2482',['GPUREG_SH_OUTMAP_O4',['../registers_8h.html#a73ce920f2c30a006ac55cec616950072',1,'registers.h']]], + ['gpureg_5fsh_5foutmap_5fo5_2483',['GPUREG_SH_OUTMAP_O5',['../registers_8h.html#af49ed620e178fe77fd2324099139c2dd',1,'registers.h']]], + ['gpureg_5fsh_5foutmap_5fo6_2484',['GPUREG_SH_OUTMAP_O6',['../registers_8h.html#a250e076588aa4c3682b3f23414140cc8',1,'registers.h']]], + ['gpureg_5fsh_5foutmap_5ftotal_2485',['GPUREG_SH_OUTMAP_TOTAL',['../registers_8h.html#ab69e1f3d80581ad5c89eea42f0514cb8',1,'registers.h']]], + ['gpureg_5fstart_5fdraw_5ffunc0_2486',['GPUREG_START_DRAW_FUNC0',['../registers_8h.html#a54f8c8191c396189f0cd003124b4f4ec',1,'registers.h']]], + ['gpureg_5fstencil_5fop_2487',['GPUREG_STENCIL_OP',['../registers_8h.html#adf3614b3f5a2e2454b3495a2a55ce9db',1,'registers.h']]], + ['gpureg_5fstencil_5ftest_2488',['GPUREG_STENCIL_TEST',['../registers_8h.html#abc4bfd594ae7140e7901904594a978e2',1,'registers.h']]], + ['gpureg_5ftexenv0_5fcolor_2489',['GPUREG_TEXENV0_COLOR',['../registers_8h.html#a9d977b973396e05c264ea9294b8439e1',1,'registers.h']]], + ['gpureg_5ftexenv0_5fcombiner_2490',['GPUREG_TEXENV0_COMBINER',['../registers_8h.html#a6f23c2f17d21b5d86c9705a14bfac331',1,'registers.h']]], + ['gpureg_5ftexenv0_5foperand_2491',['GPUREG_TEXENV0_OPERAND',['../registers_8h.html#a0040e9836fffbcde22fac38016fbff7e',1,'registers.h']]], + ['gpureg_5ftexenv0_5fscale_2492',['GPUREG_TEXENV0_SCALE',['../registers_8h.html#a2095ccb24c180c7ff0360f5d135072e5',1,'registers.h']]], + ['gpureg_5ftexenv0_5fsource_2493',['GPUREG_TEXENV0_SOURCE',['../registers_8h.html#a3a6b9b914da78e686550ced1a4324c7c',1,'registers.h']]], + ['gpureg_5ftexenv1_5fcolor_2494',['GPUREG_TEXENV1_COLOR',['../registers_8h.html#a30673832397f30e5b5aa2a9a98d18f67',1,'registers.h']]], + ['gpureg_5ftexenv1_5fcombiner_2495',['GPUREG_TEXENV1_COMBINER',['../registers_8h.html#ae30fcfd3c4b9818edcedfe83af1093ae',1,'registers.h']]], + ['gpureg_5ftexenv1_5foperand_2496',['GPUREG_TEXENV1_OPERAND',['../registers_8h.html#a032f0c59235944f70d632ad7aea25147',1,'registers.h']]], + ['gpureg_5ftexenv1_5fscale_2497',['GPUREG_TEXENV1_SCALE',['../registers_8h.html#a7ccb3622fa36db3bcbf45769445a1a97',1,'registers.h']]], + ['gpureg_5ftexenv1_5fsource_2498',['GPUREG_TEXENV1_SOURCE',['../registers_8h.html#a51d0e2fcca6bea790d9977bc0cbbc3b4',1,'registers.h']]], + ['gpureg_5ftexenv2_5fcolor_2499',['GPUREG_TEXENV2_COLOR',['../registers_8h.html#a433947d71ea07f34b8ce1d211d118551',1,'registers.h']]], + ['gpureg_5ftexenv2_5fcombiner_2500',['GPUREG_TEXENV2_COMBINER',['../registers_8h.html#af486bb2a2dbc90f66ffdd5b329d3ebf7',1,'registers.h']]], + ['gpureg_5ftexenv2_5foperand_2501',['GPUREG_TEXENV2_OPERAND',['../registers_8h.html#a0785eb52f19be5344b69dbe1503e6041',1,'registers.h']]], + ['gpureg_5ftexenv2_5fscale_2502',['GPUREG_TEXENV2_SCALE',['../registers_8h.html#aae807203fbe505e5738d5eb766b8b384',1,'registers.h']]], + ['gpureg_5ftexenv2_5fsource_2503',['GPUREG_TEXENV2_SOURCE',['../registers_8h.html#ac9571ce5a6a2bca0666d9919af1adf04',1,'registers.h']]], + ['gpureg_5ftexenv3_5fcolor_2504',['GPUREG_TEXENV3_COLOR',['../registers_8h.html#a529a542f498370b9f015622748b252bd',1,'registers.h']]], + ['gpureg_5ftexenv3_5fcombiner_2505',['GPUREG_TEXENV3_COMBINER',['../registers_8h.html#a94bd4d0d6c47eb5f7cc88d6aef9e46c6',1,'registers.h']]], + ['gpureg_5ftexenv3_5foperand_2506',['GPUREG_TEXENV3_OPERAND',['../registers_8h.html#a802a933c77df976ea0998452105f52b1',1,'registers.h']]], + ['gpureg_5ftexenv3_5fscale_2507',['GPUREG_TEXENV3_SCALE',['../registers_8h.html#a26230da9a8f58ff220fa1bc01b0fd465',1,'registers.h']]], + ['gpureg_5ftexenv3_5fsource_2508',['GPUREG_TEXENV3_SOURCE',['../registers_8h.html#a41a9c2abe16071a070b48fc58956a4b5',1,'registers.h']]], + ['gpureg_5ftexenv4_5fcolor_2509',['GPUREG_TEXENV4_COLOR',['../registers_8h.html#aaad983934a9dea4006f81c6143646ece',1,'registers.h']]], + ['gpureg_5ftexenv4_5fcombiner_2510',['GPUREG_TEXENV4_COMBINER',['../registers_8h.html#aa23afcb525824e626d03e65237b234d1',1,'registers.h']]], + ['gpureg_5ftexenv4_5foperand_2511',['GPUREG_TEXENV4_OPERAND',['../registers_8h.html#a6cdedcbcef643a43e2414af2458685ae',1,'registers.h']]], + ['gpureg_5ftexenv4_5fscale_2512',['GPUREG_TEXENV4_SCALE',['../registers_8h.html#a5da494d841a27a727c1b475d52eadb95',1,'registers.h']]], + ['gpureg_5ftexenv4_5fsource_2513',['GPUREG_TEXENV4_SOURCE',['../registers_8h.html#a72fe4e1218462ff5ecbb7a22b749bc9e',1,'registers.h']]], + ['gpureg_5ftexenv5_5fcolor_2514',['GPUREG_TEXENV5_COLOR',['../registers_8h.html#ac20f4346e319937708b9d41c3f863034',1,'registers.h']]], + ['gpureg_5ftexenv5_5fcombiner_2515',['GPUREG_TEXENV5_COMBINER',['../registers_8h.html#a02df5df17c7fa66205588c6f02520c78',1,'registers.h']]], + ['gpureg_5ftexenv5_5foperand_2516',['GPUREG_TEXENV5_OPERAND',['../registers_8h.html#abba63f7138fd47b41b0e6bbe2c975e48',1,'registers.h']]], + ['gpureg_5ftexenv5_5fscale_2517',['GPUREG_TEXENV5_SCALE',['../registers_8h.html#a69cc5bc39bac069200747780508c9afc',1,'registers.h']]], + ['gpureg_5ftexenv5_5fsource_2518',['GPUREG_TEXENV5_SOURCE',['../registers_8h.html#a46e97bc12133dc8884aa69717bd428ce',1,'registers.h']]], + ['gpureg_5ftexenv_5fbuffer_5fcolor_2519',['GPUREG_TEXENV_BUFFER_COLOR',['../registers_8h.html#adf949659d44201af313e96311454b052',1,'registers.h']]], + ['gpureg_5ftexenv_5fupdate_5fbuffer_2520',['GPUREG_TEXENV_UPDATE_BUFFER',['../registers_8h.html#a4b8ab3a82405f2fe061c2306e98e4187',1,'registers.h']]], + ['gpureg_5ftexunit0_5faddr1_2521',['GPUREG_TEXUNIT0_ADDR1',['../registers_8h.html#a57cb6e4cdd8b42714b33ebd5a4a38c98',1,'registers.h']]], + ['gpureg_5ftexunit0_5faddr2_2522',['GPUREG_TEXUNIT0_ADDR2',['../registers_8h.html#a50be82403aab695e1124e865852b2e14',1,'registers.h']]], + ['gpureg_5ftexunit0_5faddr3_2523',['GPUREG_TEXUNIT0_ADDR3',['../registers_8h.html#ac10cf6b015f63fd3855d6746ebed2645',1,'registers.h']]], + ['gpureg_5ftexunit0_5faddr4_2524',['GPUREG_TEXUNIT0_ADDR4',['../registers_8h.html#ab6e3fe6e153d167bc2232e1326fc8daa',1,'registers.h']]], + ['gpureg_5ftexunit0_5faddr5_2525',['GPUREG_TEXUNIT0_ADDR5',['../registers_8h.html#a37a0e6a2664d9af06214f3929bab8194',1,'registers.h']]], + ['gpureg_5ftexunit0_5faddr6_2526',['GPUREG_TEXUNIT0_ADDR6',['../registers_8h.html#adafd4c674a516cc6495f5f4ec04383df',1,'registers.h']]], + ['gpureg_5ftexunit0_5fborder_5fcolor_2527',['GPUREG_TEXUNIT0_BORDER_COLOR',['../registers_8h.html#a8daa88c8b167fbe2fa35bdfb0a11376b',1,'registers.h']]], + ['gpureg_5ftexunit0_5fdim_2528',['GPUREG_TEXUNIT0_DIM',['../registers_8h.html#a4f1439c7a9ca11e1b3ec0a6a046a7f32',1,'registers.h']]], + ['gpureg_5ftexunit0_5flod_2529',['GPUREG_TEXUNIT0_LOD',['../registers_8h.html#a1ccc8e073391ef3383bcd56745b32f81',1,'registers.h']]], + ['gpureg_5ftexunit0_5fparam_2530',['GPUREG_TEXUNIT0_PARAM',['../registers_8h.html#a2d36dddc04355ba91ab3aa44004706c6',1,'registers.h']]], + ['gpureg_5ftexunit0_5fshadow_2531',['GPUREG_TEXUNIT0_SHADOW',['../registers_8h.html#a8b1c458f7a802aed0ff1e6557223726e',1,'registers.h']]], + ['gpureg_5ftexunit0_5ftype_2532',['GPUREG_TEXUNIT0_TYPE',['../registers_8h.html#a560a9ff2c7f09d5ea0d9d076b3ecc6c9',1,'registers.h']]], + ['gpureg_5ftexunit1_5faddr_2533',['GPUREG_TEXUNIT1_ADDR',['../registers_8h.html#ab1a08e8a5396659811258524fb0ed602',1,'registers.h']]], + ['gpureg_5ftexunit1_5fborder_5fcolor_2534',['GPUREG_TEXUNIT1_BORDER_COLOR',['../registers_8h.html#a885c42cf9f34bd52e8963ef05705ff67',1,'registers.h']]], + ['gpureg_5ftexunit1_5fdim_2535',['GPUREG_TEXUNIT1_DIM',['../registers_8h.html#aae1b8b619ff5fd47e51eef86f78f2885',1,'registers.h']]], + ['gpureg_5ftexunit1_5flod_2536',['GPUREG_TEXUNIT1_LOD',['../registers_8h.html#a0aaf1e48ae5ba27f0aa26c35845debca',1,'registers.h']]], + ['gpureg_5ftexunit1_5fparam_2537',['GPUREG_TEXUNIT1_PARAM',['../registers_8h.html#a7ee90f9886573e3806b8d20c7e8adc31',1,'registers.h']]], + ['gpureg_5ftexunit1_5ftype_2538',['GPUREG_TEXUNIT1_TYPE',['../registers_8h.html#a90eca8eafbda9d597541d1c72dca3d45',1,'registers.h']]], + ['gpureg_5ftexunit2_5faddr_2539',['GPUREG_TEXUNIT2_ADDR',['../registers_8h.html#a6e3950c445f1f8fced62806aef865f92',1,'registers.h']]], + ['gpureg_5ftexunit2_5fborder_5fcolor_2540',['GPUREG_TEXUNIT2_BORDER_COLOR',['../registers_8h.html#a10521fba33932bd10c05695ad3766d19',1,'registers.h']]], + ['gpureg_5ftexunit2_5fdim_2541',['GPUREG_TEXUNIT2_DIM',['../registers_8h.html#accae312ffda0c0552290d111a00f99f6',1,'registers.h']]], + ['gpureg_5ftexunit2_5flod_2542',['GPUREG_TEXUNIT2_LOD',['../registers_8h.html#af56e18de934881c1047f2c011835708b',1,'registers.h']]], + ['gpureg_5ftexunit2_5fparam_2543',['GPUREG_TEXUNIT2_PARAM',['../registers_8h.html#a9ca73b49539c0e55b5c02ada86b0374d',1,'registers.h']]], + ['gpureg_5ftexunit2_5ftype_2544',['GPUREG_TEXUNIT2_TYPE',['../registers_8h.html#a8e98d48ef42d81b96d17c6233898e369',1,'registers.h']]], + ['gpureg_5ftexunit3_5fproctex0_2545',['GPUREG_TEXUNIT3_PROCTEX0',['../registers_8h.html#af3fa5eb463b13f439c1175e0f38f3e11',1,'registers.h']]], + ['gpureg_5ftexunit3_5fproctex1_2546',['GPUREG_TEXUNIT3_PROCTEX1',['../registers_8h.html#a74d99afe12934147eab833c32db44772',1,'registers.h']]], + ['gpureg_5ftexunit3_5fproctex2_2547',['GPUREG_TEXUNIT3_PROCTEX2',['../registers_8h.html#a7f4d64a7a8d2fcef7d0287c8aa9c82e6',1,'registers.h']]], + ['gpureg_5ftexunit3_5fproctex3_2548',['GPUREG_TEXUNIT3_PROCTEX3',['../registers_8h.html#a5e098c9f8c9758819c9ab00f8f32068a',1,'registers.h']]], + ['gpureg_5ftexunit3_5fproctex4_2549',['GPUREG_TEXUNIT3_PROCTEX4',['../registers_8h.html#a82ee2f931fe1a8f855ccbb05d0d49db7',1,'registers.h']]], + ['gpureg_5ftexunit3_5fproctex5_2550',['GPUREG_TEXUNIT3_PROCTEX5',['../registers_8h.html#a1a29619676a6e2fe41e4f79e57e8baf8',1,'registers.h']]], + ['gpureg_5ftexunit_5fconfig_2551',['GPUREG_TEXUNIT_CONFIG',['../registers_8h.html#a9b06c577c3e874f56e9597b2eca65db0',1,'registers.h']]], + ['gpureg_5fvertex_5foffset_2552',['GPUREG_VERTEX_OFFSET',['../registers_8h.html#a5612f66bbcc522c08a2e461c3dfd005c',1,'registers.h']]], + ['gpureg_5fviewport_5fheight_2553',['GPUREG_VIEWPORT_HEIGHT',['../registers_8h.html#a72e2258e1b0a28dcc08a5b4c827e6ea6',1,'registers.h']]], + ['gpureg_5fviewport_5finvh_2554',['GPUREG_VIEWPORT_INVH',['../registers_8h.html#ad84cbbc16ada726ad8147bd4ca224ba6',1,'registers.h']]], + ['gpureg_5fviewport_5finvw_2555',['GPUREG_VIEWPORT_INVW',['../registers_8h.html#acf7793e237c949143c6351d211297b94',1,'registers.h']]], + ['gpureg_5fviewport_5fwidth_2556',['GPUREG_VIEWPORT_WIDTH',['../registers_8h.html#a12c4108c84b195d940e84149d5b5b25d',1,'registers.h']]], + ['gpureg_5fviewport_5fxy_2557',['GPUREG_VIEWPORT_XY',['../registers_8h.html#aa325c7a4921e62e275e0f4c3e4f241ae',1,'registers.h']]], + ['gpureg_5fvsh_5fattributes_5fpermutation_5fhigh_2558',['GPUREG_VSH_ATTRIBUTES_PERMUTATION_HIGH',['../registers_8h.html#ab7c0527bf13d3f12457ceaff97b9a348',1,'registers.h']]], + ['gpureg_5fvsh_5fattributes_5fpermutation_5flow_2559',['GPUREG_VSH_ATTRIBUTES_PERMUTATION_LOW',['../registers_8h.html#ae0e7bdf93753d063656e2ef9f906a62e',1,'registers.h']]], + ['gpureg_5fvsh_5fbooluniform_2560',['GPUREG_VSH_BOOLUNIFORM',['../registers_8h.html#a65095ab2d7393da1b8a2df78c94cfd91',1,'registers.h']]], + ['gpureg_5fvsh_5fcodetransfer_5fconfig_2561',['GPUREG_VSH_CODETRANSFER_CONFIG',['../registers_8h.html#a35b9ccd0750f4e2fcd5b20abaad0d3fc',1,'registers.h']]], + ['gpureg_5fvsh_5fcodetransfer_5fdata_2562',['GPUREG_VSH_CODETRANSFER_DATA',['../registers_8h.html#acc06d42bedc8781699f6d3d3fedeb2f9',1,'registers.h']]], + ['gpureg_5fvsh_5fcodetransfer_5fend_2563',['GPUREG_VSH_CODETRANSFER_END',['../registers_8h.html#a1667038160eea1de00f085f29200432d',1,'registers.h']]], + ['gpureg_5fvsh_5fcom_5fmode_2564',['GPUREG_VSH_COM_MODE',['../registers_8h.html#a4299a2e3692a1a0fc5ffbe3c7c8fe88b',1,'registers.h']]], + ['gpureg_5fvsh_5fentrypoint_2565',['GPUREG_VSH_ENTRYPOINT',['../registers_8h.html#a99d927679d2e17a1424818ec012f8aec',1,'registers.h']]], + ['gpureg_5fvsh_5ffloatuniform_5fconfig_2566',['GPUREG_VSH_FLOATUNIFORM_CONFIG',['../registers_8h.html#a27e290edc49ad9f021d521a99623ffaa',1,'registers.h']]], + ['gpureg_5fvsh_5ffloatuniform_5fdata_2567',['GPUREG_VSH_FLOATUNIFORM_DATA',['../registers_8h.html#a35d7d5921a2db6fd20660699e90a887a',1,'registers.h']]], + ['gpureg_5fvsh_5finputbuffer_5fconfig_2568',['GPUREG_VSH_INPUTBUFFER_CONFIG',['../registers_8h.html#abb0f442c82b8cc8c1d97c3d63a0216b7',1,'registers.h']]], + ['gpureg_5fvsh_5fintuniform_5fi0_2569',['GPUREG_VSH_INTUNIFORM_I0',['../registers_8h.html#a4a500ab76441c5efc58a14a97b78912a',1,'registers.h']]], + ['gpureg_5fvsh_5fintuniform_5fi1_2570',['GPUREG_VSH_INTUNIFORM_I1',['../registers_8h.html#a32dc1c26e50ede0f704dbfefbf84b44d',1,'registers.h']]], + ['gpureg_5fvsh_5fintuniform_5fi2_2571',['GPUREG_VSH_INTUNIFORM_I2',['../registers_8h.html#a8dec7eb9d3b90e53ffdfc2596e8f7764',1,'registers.h']]], + ['gpureg_5fvsh_5fintuniform_5fi3_2572',['GPUREG_VSH_INTUNIFORM_I3',['../registers_8h.html#a959d548f12721538039014cd81a01ca3',1,'registers.h']]], + ['gpureg_5fvsh_5fnum_5fattr_2573',['GPUREG_VSH_NUM_ATTR',['../registers_8h.html#adae9f37beda3967ab92abf326b9c8cb8',1,'registers.h']]], + ['gpureg_5fvsh_5fopdescs_5fconfig_2574',['GPUREG_VSH_OPDESCS_CONFIG',['../registers_8h.html#a7548a0b3329042a39ca5e7ae377a3895',1,'registers.h']]], + ['gpureg_5fvsh_5fopdescs_5fdata_2575',['GPUREG_VSH_OPDESCS_DATA',['../registers_8h.html#a2dffc01bdac0bd0b3cef856e24f5ac4d',1,'registers.h']]], + ['gpureg_5fvsh_5foutmap_5fmask_2576',['GPUREG_VSH_OUTMAP_MASK',['../registers_8h.html#a1e4dda0b9256622e7ae616cc5a730778',1,'registers.h']]], + ['gpureg_5fvsh_5foutmap_5ftotal1_2577',['GPUREG_VSH_OUTMAP_TOTAL1',['../registers_8h.html#a160bd3120fc5b3d21f43c5aa6c1a7dc5',1,'registers.h']]], + ['gpureg_5fvsh_5foutmap_5ftotal2_2578',['GPUREG_VSH_OUTMAP_TOTAL2',['../registers_8h.html#a6b0cf4143229c57fc50942a7b69fe64d',1,'registers.h']]], + ['gpureg_5fvtx_5ffunc_2579',['GPUREG_VTX_FUNC',['../registers_8h.html#ab0598306186cded73b0478246fe6d06c',1,'registers.h']]], + ['gsh_5ffixed_5fprim_2580',['GSH_FIXED_PRIM',['../shbin_8h.html#ab6f0a4e64f7ec402eef735474591e21ea6a30a5b1a9e76013f934700874014ac0',1,'shbin.h']]], + ['gsh_5fpoint_2581',['GSH_POINT',['../shbin_8h.html#ab6f0a4e64f7ec402eef735474591e21ea68878fe0f5ad091d4f91b6cbcf223a5f',1,'shbin.h']]], + ['gsh_5fvariable_5fprim_2582',['GSH_VARIABLE_PRIM',['../shbin_8h.html#ab6f0a4e64f7ec402eef735474591e21ea628f99d5a2ba9db446c5f9c79130ddfc',1,'shbin.h']]], + ['gshfixedvtxnum_2583',['gshFixedVtxNum',['../structDVLE__s.html#a565739c888fc201b77d66973be06105c',1,'DVLE_s']]], + ['gshfixedvtxstart_2584',['gshFixedVtxStart',['../structDVLE__s.html#a5f55a6b075729760d173c66c9f915a69',1,'DVLE_s']]], + ['gshmode_2585',['gshMode',['../structDVLE__s.html#a38e6e929cc6f014f6fd24f56ff868db3',1,'DVLE_s']]], + ['gshvariablevtxnum_2586',['gshVariableVtxNum',['../structDVLE__s.html#ad428ca730018d56fafecaa6855910b69',1,'DVLE_s']]], + ['gsp_5fbgr8_5foes_2587',['GSP_BGR8_OES',['../gspgpu_8h.html#ade9eea08a2ad835b9c5d0f7a9164f36ba7e2e54f5d000504cd971d23bf2d2b58f',1,'gspgpu.h']]], + ['gsp_5frgb565_5foes_2588',['GSP_RGB565_OES',['../gspgpu_8h.html#ade9eea08a2ad835b9c5d0f7a9164f36baf2acd7de248add1481404d4cd1fdf816',1,'gspgpu.h']]], + ['gsp_5frgb5_5fa1_5foes_2589',['GSP_RGB5_A1_OES',['../gspgpu_8h.html#ade9eea08a2ad835b9c5d0f7a9164f36ba6262e1f07384fcc538113978d5c8a6b8',1,'gspgpu.h']]], + ['gsp_5frgba4_5foes_2590',['GSP_RGBA4_OES',['../gspgpu_8h.html#ade9eea08a2ad835b9c5d0f7a9164f36ba7d05a3900d34338a30c681f67c35093b',1,'gspgpu.h']]], + ['gsp_5frgba8_5foes_2591',['GSP_RGBA8_OES',['../gspgpu_8h.html#ade9eea08a2ad835b9c5d0f7a9164f36babcae9c454df64644542ee85d4460647f',1,'gspgpu.h']]], + ['gsp_5fscreen_5fbottom_2592',['GSP_SCREEN_BOTTOM',['../gspgpu_8h.html#a1fc769abd26ac3eb5e84fb88447c5628',1,'gspgpu.h']]], + ['gsp_5fscreen_5fheight_5fbottom_2593',['GSP_SCREEN_HEIGHT_BOTTOM',['../gspgpu_8h.html#ab0cb156cd5b9715768787f063e761a04',1,'gspgpu.h']]], + ['gsp_5fscreen_5fheight_5ftop_2594',['GSP_SCREEN_HEIGHT_TOP',['../gspgpu_8h.html#abfc0d039acdc290e47c773d43b1d68fa',1,'gspgpu.h']]], + ['gsp_5fscreen_5fheight_5ftop_5f2x_2595',['GSP_SCREEN_HEIGHT_TOP_2X',['../gspgpu_8h.html#a793006fa469cb1bc7e09db8cf6e07c81',1,'gspgpu.h']]], + ['gsp_5fscreen_5ftop_2596',['GSP_SCREEN_TOP',['../gspgpu_8h.html#a69ce16dabc811ea71517f94b24d3cb73',1,'gspgpu.h']]], + ['gsp_5fscreen_5fwidth_2597',['GSP_SCREEN_WIDTH',['../gspgpu_8h.html#a18a802efce37d4517fa69e09a142b7da',1,'gspgpu.h']]], + ['gspexit_2598',['gspExit',['../gspgpu_8h.html#a1de71253d8f3e3ea0f504ab6cc621f98',1,'gspgpu.h']]], + ['gspgetbytesperpixel_2599',['gspGetBytesPerPixel',['../gspgpu_8h.html#a7d03f7255091e4cfe52d423903085b24',1,'gspgpu.h']]], + ['gspgetsessionhandle_2600',['gspGetSessionHandle',['../gspgpu_8h.html#a4e7a35446a15c2cbe6f37109f2c9ff4c',1,'gspgpu.h']]], + ['gspgpu_2eh_2601',['gspgpu.h',['../gspgpu_8h.html',1,'']]], + ['gspgpu_5facquireright_2602',['GSPGPU_AcquireRight',['../gspgpu_8h.html#a317950e5ea5dabed8569ae5683075fc6',1,'gspgpu.h']]], + ['gspgpu_5fcaptureinfo_2603',['GSPGPU_CaptureInfo',['../structGSPGPU__CaptureInfo.html',1,'']]], + ['gspgpu_5fcaptureinfoentry_2604',['GSPGPU_CaptureInfoEntry',['../structGSPGPU__CaptureInfoEntry.html',1,'']]], + ['gspgpu_5fevent_2605',['GSPGPU_Event',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cb',1,'gspgpu.h']]], + ['gspgpu_5fevent_5fdma_2606',['GSPGPU_EVENT_DMA',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cba767fab5a8e58912ea84f192dff6926af',1,'gspgpu.h']]], + ['gspgpu_5fevent_5fmax_2607',['GSPGPU_EVENT_MAX',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cba1bf23df97456715e279a4254b39c49b2',1,'gspgpu.h']]], + ['gspgpu_5fevent_5fp3d_2608',['GSPGPU_EVENT_P3D',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cbae99eb38dedd3b63fb501bb4c0a2d644e',1,'gspgpu.h']]], + ['gspgpu_5fevent_5fppf_2609',['GSPGPU_EVENT_PPF',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cba5f7bd78a3019e3d57bac1cfee8cef768',1,'gspgpu.h']]], + ['gspgpu_5fevent_5fpsc0_2610',['GSPGPU_EVENT_PSC0',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cba8df851fc136cf036038889661d574a78',1,'gspgpu.h']]], + ['gspgpu_5fevent_5fpsc1_2611',['GSPGPU_EVENT_PSC1',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cba96ec398a3845579fe3bdb7259ec8b8b2',1,'gspgpu.h']]], + ['gspgpu_5fevent_5fvblank0_2612',['GSPGPU_EVENT_VBlank0',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cba6b9085683ccf233f10da885153998dc6',1,'gspgpu.h']]], + ['gspgpu_5fevent_5fvblank1_2613',['GSPGPU_EVENT_VBlank1',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cbac37987948ea2cd5ff82bd428857ee95f',1,'gspgpu.h']]], + ['gspgpu_5fflushdatacache_2614',['GSPGPU_FlushDataCache',['../gspgpu_8h.html#a24f1c78fad4e1108ddc56fb3674cdba2',1,'gspgpu.h']]], + ['gspgpu_5fframebufferformat_2615',['GSPGPU_FramebufferFormat',['../gspgpu_8h.html#ade9eea08a2ad835b9c5d0f7a9164f36b',1,'gspgpu.h']]], + ['gspgpu_5fframebufferinfo_2616',['GSPGPU_FramebufferInfo',['../structGSPGPU__FramebufferInfo.html',1,'']]], + ['gspgpu_5fimportdisplaycaptureinfo_2617',['GSPGPU_ImportDisplayCaptureInfo',['../gspgpu_8h.html#a6677e4b4467934a07320c556f4d103f2',1,'gspgpu.h']]], + ['gspgpu_5finvalidatedatacache_2618',['GSPGPU_InvalidateDataCache',['../gspgpu_8h.html#abfd8bb5bde8d3072a9041884d599665e',1,'gspgpu.h']]], + ['gspgpu_5freadhwregs_2619',['GSPGPU_ReadHWRegs',['../gspgpu_8h.html#ae554cb598da7d9be11dd4345902c43a5',1,'gspgpu.h']]], + ['gspgpu_5fregisterinterruptrelayqueue_2620',['GSPGPU_RegisterInterruptRelayQueue',['../gspgpu_8h.html#a5ebccf501024a721b2f1ff96abe397ff',1,'gspgpu.h']]], + ['gspgpu_5freleaseright_2621',['GSPGPU_ReleaseRight',['../gspgpu_8h.html#aa163710b32591debd191e2cbf04e5374',1,'gspgpu.h']]], + ['gspgpu_5fresetgpucore_2622',['GSPGPU_ResetGpuCore',['../gspgpu_8h.html#ae4c31cd3321a5f5c5811ba3bdd3e200d',1,'gspgpu.h']]], + ['gspgpu_5frestorevramsysarea_2623',['GSPGPU_RestoreVramSysArea',['../gspgpu_8h.html#a663f1bd4b15c96bf426ccbda06810fba',1,'gspgpu.h']]], + ['gspgpu_5fsavevramsysarea_2624',['GSPGPU_SaveVramSysArea',['../gspgpu_8h.html#a6217cefdce79c05f2ae4fdadfac817b0',1,'gspgpu.h']]], + ['gspgpu_5fsetbufferswap_2625',['GSPGPU_SetBufferSwap',['../gspgpu_8h.html#aee48318b76d5ef9257940b4e35eaf375',1,'gspgpu.h']]], + ['gspgpu_5fsetlcdforceblack_2626',['GSPGPU_SetLcdForceBlack',['../gspgpu_8h.html#a0be2d830a9eccca7b59bf927b7c5e002',1,'gspgpu.h']]], + ['gspgpu_5fsetledforceoff_2627',['GSPGPU_SetLedForceOff',['../gspgpu_8h.html#a5ded369891b53dc76be633e690cb13d1',1,'gspgpu.h']]], + ['gspgpu_5ftriggercmdreqqueue_2628',['GSPGPU_TriggerCmdReqQueue',['../gspgpu_8h.html#aa5d37db7ffdd14031b5f19c6de49f933',1,'gspgpu.h']]], + ['gspgpu_5funregisterinterruptrelayqueue_2629',['GSPGPU_UnregisterInterruptRelayQueue',['../gspgpu_8h.html#a70ca61cd22140cadbf54c55da13eb48c',1,'gspgpu.h']]], + ['gspgpu_5fwritehwregs_2630',['GSPGPU_WriteHWRegs',['../gspgpu_8h.html#a67587eb02d2f0c7e3097e7c79ed04019',1,'gspgpu.h']]], + ['gspgpu_5fwritehwregswithmask_2631',['GSPGPU_WriteHWRegsWithMask',['../gspgpu_8h.html#ad72f4c2b9e9027265e7050d9f38c4293',1,'gspgpu.h']]], + ['gsphasgpuright_2632',['gspHasGpuRight',['../gspgpu_8h.html#aa72b3de059f90ef6d07672269381686f',1,'gspgpu.h']]], + ['gspinit_2633',['gspInit',['../gspgpu_8h.html#a0156b0b24d27e1e93f6c92e75c1addd3',1,'gspgpu.h']]], + ['gspispresentpending_2634',['gspIsPresentPending',['../gspgpu_8h.html#a00c4c184a1c48cca1e823debcfe80aeb',1,'gspgpu.h']]], + ['gsplcd_2eh_2635',['gsplcd.h',['../gsplcd_8h.html',1,'']]], + ['gsplcd_5fgetbrightness_2636',['GSPLCD_GetBrightness',['../gsplcd_8h.html#a9027215d731dc3b50381b9dc7062449f',1,'gsplcd.h']]], + ['gsplcd_5fgetvendors_2637',['GSPLCD_GetVendors',['../gsplcd_8h.html#a8c84f813827b95a184b1c46799d50130',1,'gsplcd.h']]], + ['gsplcd_5fpoweroffallbacklights_2638',['GSPLCD_PowerOffAllBacklights',['../gsplcd_8h.html#a4ecd2027d6d2a80daf9e48d9e26bb81b',1,'gsplcd.h']]], + ['gsplcd_5fpoweroffbacklight_2639',['GSPLCD_PowerOffBacklight',['../gsplcd_8h.html#aab37be3b12c37b40fb8cc8b80a3bfb30',1,'gsplcd.h']]], + ['gsplcd_5fpoweronallbacklights_2640',['GSPLCD_PowerOnAllBacklights',['../gsplcd_8h.html#ade2e3c688755da31ac267e61456ad57d',1,'gsplcd.h']]], + ['gsplcd_5fpoweronbacklight_2641',['GSPLCD_PowerOnBacklight',['../gsplcd_8h.html#a4ece665f46dd144bd1c68613edaa1fe0',1,'gsplcd.h']]], + ['gsplcd_5fscreen_5fboth_2642',['GSPLCD_SCREEN_BOTH',['../gsplcd_8h.html#af8654c714018c6241d9ebd01f3fb5a26a49ac08560fa661b7c86e311926b76d4d',1,'gsplcd.h']]], + ['gsplcd_5fscreen_5fbottom_2643',['GSPLCD_SCREEN_BOTTOM',['../gsplcd_8h.html#af8654c714018c6241d9ebd01f3fb5a26ae14f08de247111d7fe5383abf98fc696',1,'gsplcd.h']]], + ['gsplcd_5fscreen_5ftop_2644',['GSPLCD_SCREEN_TOP',['../gsplcd_8h.html#af8654c714018c6241d9ebd01f3fb5a26aa521a448545bff0e825425341cd58bba',1,'gsplcd.h']]], + ['gsplcd_5fsetbrightness_2645',['GSPLCD_SetBrightness',['../gsplcd_8h.html#ae3abf4198e52eafdb83c6f685dd145c8',1,'gsplcd.h']]], + ['gsplcd_5fsetbrightnessraw_2646',['GSPLCD_SetBrightnessRaw',['../gsplcd_8h.html#a73f48a8c76053ad53406f70620f00bd9',1,'gsplcd.h']]], + ['gsplcd_5fsetledforceoff_2647',['GSPLCD_SetLedForceOff',['../gsplcd_8h.html#a792c8f402b30a4e880faea70b8add21f',1,'gsplcd.h']]], + ['gsplcdexit_2648',['gspLcdExit',['../gsplcd_8h.html#a4e28e055a6f4c781180300f12326d09f',1,'gsplcd.h']]], + ['gsplcdgetsessionhandle_2649',['gspLcdGetSessionHandle',['../gsplcd_8h.html#a108cd9d4ff09bef3f341607bd418399a',1,'gsplcd.h']]], + ['gsplcdinit_2650',['gspLcdInit',['../gsplcd_8h.html#a3e3d897ec34cb4f64efd6dbfed777f0c',1,'gsplcd.h']]], + ['gsppresentbuffer_2651',['gspPresentBuffer',['../gspgpu_8h.html#ac09cf36ea68fa2b035bb898e7a4cc333',1,'gspgpu.h']]], + ['gspseteventcallback_2652',['gspSetEventCallback',['../gspgpu_8h.html#a38080f47e69bd240156ca043c7946b29',1,'gspgpu.h']]], + ['gspsubmitgxcommand_2653',['gspSubmitGxCommand',['../gspgpu_8h.html#a4b46f68de3b67e3ed9a7c5125cb12d8e',1,'gspgpu.h']]], + ['gspwaitforanyevent_2654',['gspWaitForAnyEvent',['../gspgpu_8h.html#a7280943da0262bb75eacc779bf54be87',1,'gspgpu.h']]], + ['gspwaitfordma_2655',['gspWaitForDMA',['../gspgpu_8h.html#a95267f3508badebdcd0788cf262c99d8',1,'gspgpu.h']]], + ['gspwaitforevent_2656',['gspWaitForEvent',['../gspgpu_8h.html#a91a03ad378747bc554ff611742727958',1,'gspgpu.h']]], + ['gspwaitforp3d_2657',['gspWaitForP3D',['../gspgpu_8h.html#aba84a82e0137f5dc7a5c9d0ece41d9b7',1,'gspgpu.h']]], + ['gspwaitforppf_2658',['gspWaitForPPF',['../gspgpu_8h.html#a2f2aca81b76a88b6ebb121ec54f76b7e',1,'gspgpu.h']]], + ['gspwaitforpsc0_2659',['gspWaitForPSC0',['../gspgpu_8h.html#a704e891a5d988f4964c24dc2b8bac787',1,'gspgpu.h']]], + ['gspwaitforpsc1_2660',['gspWaitForPSC1',['../gspgpu_8h.html#a8a6e23746817c80d092cefd439d490f6',1,'gspgpu.h']]], + ['gspwaitforvblank_2661',['gspWaitForVBlank',['../gspgpu_8h.html#abf0a992835649b5fe90e95d8a58b8c45',1,'gspgpu.h']]], + ['gspwaitforvblank0_2662',['gspWaitForVBlank0',['../gspgpu_8h.html#ac999e7889bfe880d47ef787aa4ad36ff',1,'gspgpu.h']]], + ['gspwaitforvblank1_2663',['gspWaitForVBlank1',['../gspgpu_8h.html#a109b22fd311cb108387d59c298d5acef',1,'gspgpu.h']]], + ['guest_5fmii_5findex_2664',['guest_mii_index',['../structMiiSelectorReturn.html#ae33689c2871ba9a26ad9df9d2714bc21',1,'MiiSelectorReturn']]], + ['guest_5fmii_5fname_2665',['guest_mii_name',['../structMiiSelectorReturn.html#ac93a228ed21de887f4baf0bf53becee9',1,'MiiSelectorReturn']]], + ['guest_5fmii_5fwas_5fselected_2666',['guest_mii_was_selected',['../structMiiSelectorReturn.html#a5835cb97c73227d48a9addb7087d6638',1,'MiiSelectorReturn']]], + ['gx_2eh_2667',['gx.h',['../gx_8h.html',1,'']]], + ['gx_5fbindqueue_2668',['GX_BindQueue',['../gx_8h.html#a119c56e2949ac765e14a315e43d761d9',1,'gx.h']]], + ['gx_5fbuffer_5fdim_2669',['GX_BUFFER_DIM',['../gx_8h.html#ad34237bd30a2a96a6074e8967840d4fc',1,'gx.h']]], + ['gx_5fcmdlist_5fflush_2670',['GX_CMDLIST_FLUSH',['../gx_8h.html#addcc38194ba3a4bf1322b698d19936bc',1,'gx.h']]], + ['gx_5fcmdlist_5fupdate_5fgas_5facc_2671',['GX_CMDLIST_UPDATE_GAS_ACC',['../gx_8h.html#a9c6c9d17fff0a2ec233a3d0120a0f142',1,'gx.h']]], + ['gx_5fdisplaytransfer_2672',['GX_DisplayTransfer',['../gx_8h.html#a4de1f2c27d7984b8cf5b93c8913a499b',1,'gx.h']]], + ['gx_5ffill_5f16bit_5fdepth_2673',['GX_FILL_16BIT_DEPTH',['../gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2bc635a0bd73fdcc6aea5c25c1e2430c',1,'gx.h']]], + ['gx_5ffill_5f24bit_5fdepth_2674',['GX_FILL_24BIT_DEPTH',['../gx_8h.html#af2a0de60baddb7fc1528a62e4e555273aee8f4636ba155f050ccc5028f1c8a46e',1,'gx.h']]], + ['gx_5ffill_5f32bit_5fdepth_2675',['GX_FILL_32BIT_DEPTH',['../gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d',1,'gx.h']]], + ['gx_5ffill_5fcontrol_2676',['GX_FILL_CONTROL',['../gx_8h.html#af2a0de60baddb7fc1528a62e4e555273',1,'gx.h']]], + ['gx_5ffill_5ffinished_2677',['GX_FILL_FINISHED',['../gx_8h.html#af2a0de60baddb7fc1528a62e4e555273ae4dea50c92ea821ef9d147b53b5815bf',1,'gx.h']]], + ['gx_5ffill_5ftrigger_2678',['GX_FILL_TRIGGER',['../gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd',1,'gx.h']]], + ['gx_5fflushcacheregions_2679',['GX_FlushCacheRegions',['../gx_8h.html#ae5b03c7f32e45b00293e7150a1bc9810',1,'gx.h']]], + ['gx_5fmemoryfill_2680',['GX_MemoryFill',['../gx_8h.html#aa6e39b328383930b64eaa230bc9bc6a0',1,'gx.h']]], + ['gx_5fprocesscommandlist_2681',['GX_ProcessCommandList',['../gx_8h.html#a2346e838070d5029faf7e57a9fdf69bf',1,'gx.h']]], + ['gx_5frequestdma_2682',['GX_RequestDma',['../gx_8h.html#a7020531dad937eb0d9dc0e22a557285e',1,'gx.h']]], + ['gx_5ftexturecopy_2683',['GX_TextureCopy',['../gx_8h.html#a2c1286f84675137eeeadc589654976a2',1,'gx.h']]], + ['gx_5ftransfer_5fflip_5fvert_2684',['GX_TRANSFER_FLIP_VERT',['../gx_8h.html#a19b4c4ad91299256a7c285e9ba7673b9',1,'gx.h']]], + ['gx_5ftransfer_5ffmt_5frgb565_2685',['GX_TRANSFER_FMT_RGB565',['../gx_8h.html#aca790f0cdfea04833518556b8a1682f3a257646681fb4c1dd4b4f0efbc42a6969',1,'gx.h']]], + ['gx_5ftransfer_5ffmt_5frgb5a1_2686',['GX_TRANSFER_FMT_RGB5A1',['../gx_8h.html#aca790f0cdfea04833518556b8a1682f3ac52c38b6270090935348440f97113aae',1,'gx.h']]], + ['gx_5ftransfer_5ffmt_5frgb8_2687',['GX_TRANSFER_FMT_RGB8',['../gx_8h.html#aca790f0cdfea04833518556b8a1682f3accbc07083d7f644b5b162170bafe1dec',1,'gx.h']]], + ['gx_5ftransfer_5ffmt_5frgba4_2688',['GX_TRANSFER_FMT_RGBA4',['../gx_8h.html#aca790f0cdfea04833518556b8a1682f3aeb91dd279d4b69a708cd1cb335981d85',1,'gx.h']]], + ['gx_5ftransfer_5ffmt_5frgba8_2689',['GX_TRANSFER_FMT_RGBA8',['../gx_8h.html#aca790f0cdfea04833518556b8a1682f3af7d586734e0807a190bf75602fea93fd',1,'gx.h']]], + ['gx_5ftransfer_5fformat_2690',['GX_TRANSFER_FORMAT',['../gx_8h.html#aca790f0cdfea04833518556b8a1682f3',1,'gx.h']]], + ['gx_5ftransfer_5fin_5fformat_2691',['GX_TRANSFER_IN_FORMAT',['../gx_8h.html#ae325a34e9b8fb5288de35ee469dfe214',1,'gx.h']]], + ['gx_5ftransfer_5fout_5fformat_2692',['GX_TRANSFER_OUT_FORMAT',['../gx_8h.html#ab80b0d3eac6026af376128823e1ef8b6',1,'gx.h']]], + ['gx_5ftransfer_5fout_5ftiled_2693',['GX_TRANSFER_OUT_TILED',['../gx_8h.html#af921823b2f2e0cfcd521bea00a2b07b5',1,'gx.h']]], + ['gx_5ftransfer_5fraw_5fcopy_2694',['GX_TRANSFER_RAW_COPY',['../gx_8h.html#a60e17ab935c82208ef88ef28b4e397fe',1,'gx.h']]], + ['gx_5ftransfer_5fscale_2695',['GX_TRANSFER_SCALE',['../gx_8h.html#a248b09e90905d8c0622fdfee77880aba',1,'gx.h']]], + ['gx_5ftransfer_5fscale_5fno_2696',['GX_TRANSFER_SCALE_NO',['../gx_8h.html#a248b09e90905d8c0622fdfee77880abaa2fe64f5849a1d5806575a9379f81dfff',1,'gx.h']]], + ['gx_5ftransfer_5fscale_5fx_2697',['GX_TRANSFER_SCALE_X',['../gx_8h.html#a248b09e90905d8c0622fdfee77880abaa332fea39c9f9533f8ab5780a9543ba30',1,'gx.h']]], + ['gx_5ftransfer_5fscale_5fxy_2698',['GX_TRANSFER_SCALE_XY',['../gx_8h.html#a248b09e90905d8c0622fdfee77880abaa23da8dd0a0ff54432347bf36e9bf4c5f',1,'gx.h']]], + ['gx_5ftransfer_5fscaling_2699',['GX_TRANSFER_SCALING',['../gx_8h.html#aa5306b6b3789ce892d24d43fe9207534',1,'gx.h']]], + ['gxcmdentry_5fs_2700',['gxCmdEntry_s',['../uniongxCmdEntry__s.html',1,'']]], + ['gxcmdqueue_5fs_2701',['gxCmdQueue_s',['../structgxCmdQueue__s.html',1,'']]], + ['gxcmdqueueadd_2702',['gxCmdQueueAdd',['../gx_8h.html#a49f4260c00c2517a50a6967fc2335e28',1,'gx.h']]], + ['gxcmdqueueclear_2703',['gxCmdQueueClear',['../gx_8h.html#aa40b6e85bbb30d85c5e1c7b298868a90',1,'gx.h']]], + ['gxcmdqueuerun_2704',['gxCmdQueueRun',['../gx_8h.html#aaec48f0e503a76a62827305917445d11',1,'gx.h']]], + ['gxcmdqueuesetcallback_2705',['gxCmdQueueSetCallback',['../gx_8h.html#a72c4009dfc0fb8a6e43b7e8e0126a366',1,'gx.h']]], + ['gxcmdqueuestop_2706',['gxCmdQueueStop',['../gx_8h.html#aee8d9de4784ce0864c776780c3bd45fe',1,'gx.h']]], + ['gxcmdqueuewait_2707',['gxCmdQueueWait',['../gx_8h.html#ac00678a0216e7279bef18d9b7b41fbd9',1,'gx.h']]] +]; diff --git a/search/all_9.html b/search/all_9.html new file mode 100644 index 000000000..1e263c134 --- /dev/null +++ b/search/all_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_9.js b/search/all_9.js new file mode 100644 index 000000000..39b2681f3 --- /dev/null +++ b/search/all_9.js @@ -0,0 +1,87 @@ +var searchData= +[ + ['hair_5fdetails_2708',['hair_details',['../structMiiData.html#a19aed0648eec9f21dd27a4363bc8e73a',1,'MiiData']]], + ['handle_2709',['Handle',['../types_8h.html#ab6d744c6b5de129f12937e482dc674fb',1,'types.h']]], + ['headersize_2710',['headerSize',['../structCFNT__s.html#a61e7d785ff05936bfe3ffb2f783044aa',1,'CFNT_s::headerSize()'],['../structromfs__header.html#a0220f706da46dd2510866e6b38fec94e',1,'romfs_header::headerSize()']]], + ['height_2711',['height',['../structFINF__s.html#a8e89c34a08bac3c5732e4eea700b9a5d',1,'FINF_s::height()'],['../structMiiData.html#a492cdd3c4c858165749cef745a16dce7',1,'MiiData::height()'],['../structCAMU__PackageParameterContextDetail.html#a92deb0a00b8e2d291f96d4c41747a727',1,'CAMU_PackageParameterContextDetail::height()']]], + ['hid_2eh_2712',['hid.h',['../hid_8h.html',1,'']]], + ['hid_5fevent_2713',['HID_Event',['../hid_8h.html#aa6eff5e15e98cebd0012c1f2ae96cc78',1,'hid.h']]], + ['hidaccelread_2714',['hidAccelRead',['../hid_8h.html#adb6764e07c888b3094ad32b09071efe9',1,'hid.h']]], + ['hidcircleread_2715',['hidCircleRead',['../hid_8h.html#a54c0f28a80c0bac4d16afbb7fd06c49b',1,'hid.h']]], + ['hidcstickread_2716',['hidCstickRead',['../irrst_8h.html#ae7c1e131af85608a182ace6cda524095',1,'irrst.h']]], + ['hidevent_5faccel_2717',['HIDEVENT_Accel',['../hid_8h.html#aa6eff5e15e98cebd0012c1f2ae96cc78a37118d72625429b9097abcede7dad8e3',1,'hid.h']]], + ['hidevent_5fdebugpad_2718',['HIDEVENT_DebugPad',['../hid_8h.html#aa6eff5e15e98cebd0012c1f2ae96cc78a1dde14c17cc553f4d6304cad94f7389c',1,'hid.h']]], + ['hidevent_5fgyro_2719',['HIDEVENT_Gyro',['../hid_8h.html#aa6eff5e15e98cebd0012c1f2ae96cc78a1182fb43bc99418ff2fd4d6eab3163a2',1,'hid.h']]], + ['hidevent_5fmax_2720',['HIDEVENT_MAX',['../hid_8h.html#aa6eff5e15e98cebd0012c1f2ae96cc78a532a5a1c265afd939f945836e2ff68ed',1,'hid.h']]], + ['hidevent_5fpad0_2721',['HIDEVENT_PAD0',['../hid_8h.html#aa6eff5e15e98cebd0012c1f2ae96cc78aef24b7f682103500bd42daf6d17690a4',1,'hid.h']]], + ['hidevent_5fpad1_2722',['HIDEVENT_PAD1',['../hid_8h.html#aa6eff5e15e98cebd0012c1f2ae96cc78a5a886f067880b2931251b0d78d5728f1',1,'hid.h']]], + ['hidexit_2723',['hidExit',['../hid_8h.html#ad09721bcf85875a352deb851e1030899',1,'hid.h']]], + ['hidgyroread_2724',['hidGyroRead',['../hid_8h.html#a4c1997053e9484b870e03ed163ae4f09',1,'hid.h']]], + ['hidinit_2725',['hidInit',['../hid_8h.html#a4b0cdecfbd911a3af3fc5990120707e8',1,'hid.h']]], + ['hidkeysdown_2726',['hidKeysDown',['../hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76',1,'hid.h']]], + ['hidkeysdownrepeat_2727',['hidKeysDownRepeat',['../hid_8h.html#aa2bc068fbdc1a6d005ea29e89e110f87',1,'hid.h']]], + ['hidkeysheld_2728',['hidKeysHeld',['../hid_8h.html#a68e8fd75a99650db835f045676a47949',1,'hid.h']]], + ['hidkeysup_2729',['hidKeysUp',['../hid_8h.html#acefc6e65ac14a7e02c1c1fd72279eed4',1,'hid.h']]], + ['hidmemhandle_2730',['hidMemHandle',['../hid_8h.html#a3d4f4dbade7cf795ae547e57cc65fae3',1,'hid.h']]], + ['hidscaninput_2731',['hidScanInput',['../hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6',1,'hid.h']]], + ['hidsetrepeatparameters_2732',['hidSetRepeatParameters',['../hid_8h.html#afbe7314c5eed5e65e3e7f13cb34d7526',1,'hid.h']]], + ['hidsharedmem_2733',['hidSharedMem',['../hid_8h.html#ace06068f77e18a81596565ee45fbc68e',1,'hid.h']]], + ['hidtouchread_2734',['hidTouchRead',['../hid_8h.html#acbeb326bdd6790f15684c70908403bb8',1,'hid.h']]], + ['hiduser_5fdisableaccelerometer_2735',['HIDUSER_DisableAccelerometer',['../hid_8h.html#a06e44d41ee1e3ed205b58382f0bbc132',1,'hid.h']]], + ['hiduser_5fdisablegyroscope_2736',['HIDUSER_DisableGyroscope',['../hid_8h.html#a57c237b84e47fff05c698be25ac88927',1,'hid.h']]], + ['hiduser_5fenableaccelerometer_2737',['HIDUSER_EnableAccelerometer',['../hid_8h.html#a3e9c47ede52ae0e580df37aa363803ff',1,'hid.h']]], + ['hiduser_5fenablegyroscope_2738',['HIDUSER_EnableGyroscope',['../hid_8h.html#ae3584bb4b9c889158cbe1bafde2507d3',1,'hid.h']]], + ['hiduser_5fgetgyroscoperawtodpscoefficient_2739',['HIDUSER_GetGyroscopeRawToDpsCoefficient',['../hid_8h.html#a02034074323f739bca6217df53206c48',1,'hid.h']]], + ['hiduser_5fgethandles_2740',['HIDUSER_GetHandles',['../hid_8h.html#a8a9406b839e0a81f25216edee4ca5244',1,'hid.h']]], + ['hiduser_5fgetsoundvolume_2741',['HIDUSER_GetSoundVolume',['../hid_8h.html#a60fd42a4ece1353f425d5b73207a330e',1,'hid.h']]], + ['hidwaitforanyevent_2742',['hidWaitForAnyEvent',['../hid_8h.html#a8f8284ca7ac2589b9d948295227ce678',1,'hid.h']]], + ['hidwaitforevent_2743',['hidWaitForEvent',['../hid_8h.html#aedaa5be3b6bcf878907c11d76dc545a3',1,'hid.h']]], + ['highspeedmodeenabled_2744',['highSpeedModeEnabled',['../structFS__SdMmcSpeedInfo.html#a62d023fca0398c3a191000077723742f',1,'FS_SdMmcSpeedInfo']]], + ['history0_2745',['history0',['../structndspAdpcmData.html#a8cb7064cd24c0a9af97652d5d6886fa7',1,'ndspAdpcmData']]], + ['history1_2746',['history1',['../structndspAdpcmData.html#aa1c3f2d84437b3c73114274d1e57a374',1,'ndspAdpcmData']]], + ['hostent_2747',['hostent',['../structhostent.html',1,'']]], + ['httpc_2eh_2748',['httpc.h',['../httpc_8h.html',1,'']]], + ['httpc_5fkeepalive_2749',['HTTPC_KeepAlive',['../httpc_8h.html#a745527cd864f2240d767d85b8479a6bd',1,'httpc.h']]], + ['httpc_5frequestmethod_2750',['HTTPC_RequestMethod',['../httpc_8h.html#a8d04e9f19b82970a3260b6f361c079dd',1,'httpc.h']]], + ['httpc_5frequeststatus_2751',['HTTPC_RequestStatus',['../httpc_8h.html#acf1d4f75e50ea1f3d391d4260f91d64d',1,'httpc.h']]], + ['httpc_5fresultcode_5fdownloadpending_2752',['HTTPC_RESULTCODE_DOWNLOADPENDING',['../httpc_8h.html#a8dcddd501cd54b29b9289394ba04945c',1,'httpc.h']]], + ['httpc_5fstatus_5fdownload_5fready_2753',['HTTPC_STATUS_DOWNLOAD_READY',['../httpc_8h.html#acf1d4f75e50ea1f3d391d4260f91d64da2e62946f93c0092d62c20577c6be1c19',1,'httpc.h']]], + ['httpc_5fstatus_5frequest_5fin_5fprogress_2754',['HTTPC_STATUS_REQUEST_IN_PROGRESS',['../httpc_8h.html#acf1d4f75e50ea1f3d391d4260f91d64dad210be04b032dbcebec1d139ec446885',1,'httpc.h']]], + ['httpcadddefaultcert_2755',['httpcAddDefaultCert',['../httpc_8h.html#a2cab0161a0658a3710697ee9c0423d05',1,'httpc.h']]], + ['httpcaddpostdataascii_2756',['httpcAddPostDataAscii',['../httpc_8h.html#a24454dec91560ebb36daa0d53f147428',1,'httpc.h']]], + ['httpcaddpostdatabinary_2757',['httpcAddPostDataBinary',['../httpc_8h.html#a0eaca70f8e0ea6568106993d108bce11',1,'httpc.h']]], + ['httpcaddpostdataraw_2758',['httpcAddPostDataRaw',['../httpc_8h.html#a7c5b528743e6462893d7bd9ecd11bca1',1,'httpc.h']]], + ['httpcaddrequestheaderfield_2759',['httpcAddRequestHeaderField',['../httpc_8h.html#a518ad8e0992bd341c489d5ae0b2fe7aa',1,'httpc.h']]], + ['httpcaddtrustedrootca_2760',['httpcAddTrustedRootCA',['../httpc_8h.html#a1e1a5c6166a3b7bfaa5f452acd764c04',1,'httpc.h']]], + ['httpcbeginrequest_2761',['httpcBeginRequest',['../httpc_8h.html#a004e59467a69491deb1f4fa44b160c81',1,'httpc.h']]], + ['httpccancelconnection_2762',['httpcCancelConnection',['../httpc_8h.html#a8f8158cc91ea695edf2d4fe506f8a8b6',1,'httpc.h']]], + ['httpccloseclientcertcontext_2763',['httpcCloseClientCertContext',['../httpc_8h.html#a4a33b1dbb404c4f78b9ec0b7a5b02ee1',1,'httpc.h']]], + ['httpcclosecontext_2764',['httpcCloseContext',['../httpc_8h.html#ade878d05b08d6c761e165cae4e63ea49',1,'httpc.h']]], + ['httpccontext_2765',['httpcContext',['../structhttpcContext.html',1,'']]], + ['httpccreaterootcertchain_2766',['httpcCreateRootCertChain',['../httpc_8h.html#af22f3288fe1b978fb1c1e7088b024f2d',1,'httpc.h']]], + ['httpcdestroyrootcertchain_2767',['httpcDestroyRootCertChain',['../httpc_8h.html#a413541946669b0f85f07002a5dfa0fe7',1,'httpc.h']]], + ['httpcdownloaddata_2768',['httpcDownloadData',['../httpc_8h.html#a62e3e9bfa4c07393a3c149a825451da5',1,'httpc.h']]], + ['httpcexit_2769',['httpcExit',['../httpc_8h.html#a7b4d4079c3afac6ce38dc1244a6d0be1',1,'httpc.h']]], + ['httpcgetdownloadsizestate_2770',['httpcGetDownloadSizeState',['../httpc_8h.html#a1b8077d1e1f871f340f6d93d4731c666',1,'httpc.h']]], + ['httpcgetrequeststate_2771',['httpcGetRequestState',['../httpc_8h.html#a70a9e219190bacbb11eb95094ee8c3f1',1,'httpc.h']]], + ['httpcgetresponseheader_2772',['httpcGetResponseHeader',['../httpc_8h.html#a08124d231e4fd936c516d90e481c1352',1,'httpc.h']]], + ['httpcgetresponsestatuscode_2773',['httpcGetResponseStatusCode',['../httpc_8h.html#a004025b7a5c5ae003e42bebbbdc73952',1,'httpc.h']]], + ['httpcgetresponsestatuscodetimeout_2774',['httpcGetResponseStatusCodeTimeout',['../httpc_8h.html#acdecef13551522531ce287d019326057',1,'httpc.h']]], + ['httpcinit_2775',['httpcInit',['../httpc_8h.html#a5f28efe4eea836febc6ae618200ba7a1',1,'httpc.h']]], + ['httpcopenclientcertcontext_2776',['httpcOpenClientCertContext',['../httpc_8h.html#a07190e9fc2a2f50a097e0cb92e0c87c0',1,'httpc.h']]], + ['httpcopencontext_2777',['httpcOpenContext',['../httpc_8h.html#a6ed4daffa542d35e3a9cd33f61738545',1,'httpc.h']]], + ['httpcopendefaultclientcertcontext_2778',['httpcOpenDefaultClientCertContext',['../httpc_8h.html#a0b37506a0414ea48b9b098ae598bec7f',1,'httpc.h']]], + ['httpcreceivedata_2779',['httpcReceiveData',['../httpc_8h.html#a6af4c5a10432a68c705adac29c50e1e4',1,'httpc.h']]], + ['httpcreceivedatatimeout_2780',['httpcReceiveDataTimeout',['../httpc_8h.html#a5159d5a5198e932ac8f2f13d40ef89cf',1,'httpc.h']]], + ['httpcrootcertchainaddcert_2781',['httpcRootCertChainAddCert',['../httpc_8h.html#afb5aa819772f7aa0540a304425f8c566',1,'httpc.h']]], + ['httpcrootcertchainadddefaultcert_2782',['httpcRootCertChainAddDefaultCert',['../httpc_8h.html#a9336148bc6194431bbe9b46e52ac291d',1,'httpc.h']]], + ['httpcrootcertchainremovecert_2783',['httpcRootCertChainRemoveCert',['../httpc_8h.html#af29138760e47d6d90bd47577d17d07cf',1,'httpc.h']]], + ['httpcselectrootcertchain_2784',['httpcSelectRootCertChain',['../httpc_8h.html#a4b60b715a3729fa085517b4c973d174b',1,'httpc.h']]], + ['httpcsetclientcert_2785',['httpcSetClientCert',['../httpc_8h.html#a971cee3c9136cd37ced5422ba6ef76dc',1,'httpc.h']]], + ['httpcsetclientcertcontext_2786',['httpcSetClientCertContext',['../httpc_8h.html#ab60cd535a6b0b6eb9d785b3e17caab02',1,'httpc.h']]], + ['httpcsetclientcertdefault_2787',['httpcSetClientCertDefault',['../httpc_8h.html#a65b01b4c2c3c8d3805698d682417cb64',1,'httpc.h']]], + ['httpcsetkeepalive_2788',['httpcSetKeepAlive',['../httpc_8h.html#a1be3e33a15f9edd323a56d52b1124fdd',1,'httpc.h']]], + ['httpcsetsslclearopt_2789',['httpcSetSSLClearOpt',['../httpc_8h.html#ac93d03fa9a93a73c18edd53208d28939',1,'httpc.h']]], + ['httpcsetsslopt_2790',['httpcSetSSLOpt',['../httpc_8h.html#ab2942f552241a762fad2894da6657d42',1,'httpc.h']]], + ['httphandle_2791',['httphandle',['../structhttpcContext.html#af77b3063ba2ea67ee4971a8a5407cb88',1,'httpcContext']]] +]; diff --git a/search/all_a.html b/search/all_a.html new file mode 100644 index 000000000..3a6cac108 --- /dev/null +++ b/search/all_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_a.js b/search/all_a.js new file mode 100644 index 000000000..875b57008 --- /dev/null +++ b/search/all_a.js @@ -0,0 +1,79 @@ +var searchData= +[ + ['id_2792',['id',['../structfloat24Uniform__s.html#ad48e556dddf7db4c9432e3835c51274e',1,'float24Uniform_s::id()'],['../structDVLE__constEntry__s.html#a411654e97b5b84b2e945c3c0dbdca99a',1,'DVLE_constEntry_s::id()']]], + ['ideal_5fprocessor_2793',['ideal_processor',['../structExHeader__Arm11CoreInfo.html#a43702dfec56fb3b15346947d04298a21',1,'ExHeader_Arm11CoreInfo']]], + ['im_5fdefault_2794',['IM_DEFAULT',['../nim_8h.html#afe2032f64d1715e952d818170fc1d8e8ad02ef05ea4bcac268ab8d4c5d7211d6d',1,'nim.h']]], + ['im_5freinstall_2795',['IM_REINSTALL',['../nim_8h.html#afe2032f64d1715e952d818170fc1d8e8a73f9f1db542d2575d1c93c58fc32699a',1,'nim.h']]], + ['im_5funknown1_2796',['IM_UNKNOWN1',['../nim_8h.html#afe2032f64d1715e952d818170fc1d8e8a67a5609e16b26a010a29809ea2e8061b',1,'nim.h']]], + ['im_5funknown2_2797',['IM_UNKNOWN2',['../nim_8h.html#afe2032f64d1715e952d818170fc1d8e8afad513e33d908de7591fa5413d9033d5',1,'nim.h']]], + ['imageheight_2798',['imageHeight',['../structCAMU__StereoCameraCalibrationData.html#a4fc58597bbe040943f6e48daac1119ad',1,'CAMU_StereoCameraCalibrationData']]], + ['imagewidth_2799',['imageWidth',['../structCAMU__StereoCameraCalibrationData.html#ae0cd994c062b2005cd981a69219d2e37',1,'CAMU_StereoCameraCalibrationData']]], + ['in_5faddr_2800',['in_addr',['../structin__addr.html',1,'']]], + ['index_2801',['index',['../structndspAdpcmData.html#aec31f142f53dead462fe78e16b43c8da',1,'ndspAdpcmData::index()'],['../structAM__ContentInfo.html#a3a787726f8c54f426d4937c0763c05af',1,'AM_ContentInfo::index()'],['../structarchive__dir__t.html#a8dcad37586509976c812a79253ccb9f2',1,'archive_dir_t::index()']]], + ['indexoffset_2802',['indexOffset',['../structtag__CMAP__s.html#a6aa0b93d46a622e7061304c90662c3ee',1,'tag_CMAP_s']]], + ['indextable_2803',['indexTable',['../structtag__CMAP__s.html#a1512ce9a72ee632c20d8cf7660628d10',1,'tag_CMAP_s']]], + ['info_2804',['info',['../structExHeader.html#a1e27abb77f2827c2a0edfe1040eb7e4f',1,'ExHeader']]], + ['inheight_2805',['inheight',['../structMVDSTD__Config.html#a7ff4a05a674f504a7586c2620acc0985',1,'MVDSTD_Config']]], + ['initial_5findex_2806',['initial_index',['../structMiiSelectorConf.html#af25e3bbd55383bd88b99343cdbd4c2a1',1,'MiiSelectorConf']]], + ['input_5fformat_2807',['input_format',['../structY2RU__ConversionParams.html#ac4bbba8371c0235f667e46c3986bb2f4',1,'Y2RU_ConversionParams']]], + ['input_5fline_5fwidth_2808',['input_line_width',['../structY2RU__ConversionParams.html#aab88b121cfe0e184e347c95695cbd4a6',1,'Y2RU_ConversionParams']]], + ['input_5flines_2809',['input_lines',['../structY2RU__ConversionParams.html#a6ab3ccc7ca88ecefe3b06694e55701c1',1,'Y2RU_ConversionParams']]], + ['input_5ftype_2810',['input_type',['../structMVDSTD__Config.html#a171165800b9d0bd0e4778c0bbd52f93c',1,'MVDSTD_Config']]], + ['input_5fyuv420_5findiv_5f16_2811',['INPUT_YUV420_INDIV_16',['../y2r_8h.html#ab62334088de74eccf13fb1b0c5912ffca0585a6a62e46252f9da274d0059064f4',1,'y2r.h']]], + ['input_5fyuv420_5findiv_5f8_2812',['INPUT_YUV420_INDIV_8',['../y2r_8h.html#ab62334088de74eccf13fb1b0c5912ffcaf196137c968ea887987411dd5f24ad3e',1,'y2r.h']]], + ['input_5fyuv422_5fbatch_2813',['INPUT_YUV422_BATCH',['../y2r_8h.html#ab62334088de74eccf13fb1b0c5912ffca5c1827fb0d430e5a33a00af2f62cfef7',1,'y2r.h']]], + ['input_5fyuv422_5findiv_5f16_2814',['INPUT_YUV422_INDIV_16',['../y2r_8h.html#ab62334088de74eccf13fb1b0c5912ffca1b751709bc04bbe2b6bafc6b2237c3f0',1,'y2r.h']]], + ['input_5fyuv422_5findiv_5f8_2815',['INPUT_YUV422_INDIV_8',['../y2r_8h.html#ab62334088de74eccf13fb1b0c5912ffca972ba69e974377648a8cb65d19739496',1,'y2r.h']]], + ['intuniformmask_2816',['intUniformMask',['../structshaderInstance__s.html#a528b3299faaa0a2d5598a5f4c1fda316',1,'shaderInstance_s']]], + ['intuniforms_2817',['intUniforms',['../structshaderInstance__s.html#a7418f1bc7845340bba728698a83d789b',1,'shaderInstance_s']]], + ['inwidth_2818',['inwidth',['../structMVDSTD__Config.html#ae0e0ca7079f9e3d880683595b1ff5be9',1,'MVDSTD_Config']]], + ['ip_2819',['ip',['../structSOCU__DNSTableEntry.html#a3fb90bfa23683903abf06bd832dc0ba5',1,'SOCU_DNSTableEntry::ip()'],['../structSOCU__IPInfo.html#aca1d15bae55b2990f3d3309d1921ed65',1,'SOCU_IPInfo::ip()'],['../structSOCU__ARPTableEntry.html#aeae0365091b9d10c2c017d0d9e105199',1,'SOCU_ARPTableEntry::ip()']]], + ['ip_5fmreq_2820',['ip_mreq',['../structip__mreq.html',1,'']]], + ['ipc_2eh_2821',['ipc.h',['../ipc_8h.html',1,'']]], + ['ipc_5fbuffer_5fr_2822',['IPC_BUFFER_R',['../ipc_8h.html#ae0ccf9e363a4bd3b070762b57ffc8783aa8137b3b700afc9926ead9fcffaff34f',1,'ipc.h']]], + ['ipc_5fbuffer_5frw_2823',['IPC_BUFFER_RW',['../ipc_8h.html#ae0ccf9e363a4bd3b070762b57ffc8783a9052ab0f3610999bf1b79e277ba9b4a0',1,'ipc.h']]], + ['ipc_5fbuffer_5fw_2824',['IPC_BUFFER_W',['../ipc_8h.html#ae0ccf9e363a4bd3b070762b57ffc8783a121e561528ed18b70a5fd5a927d82e43',1,'ipc.h']]], + ['ipc_5fbufferrights_2825',['IPC_BufferRights',['../ipc_8h.html#ae0ccf9e363a4bd3b070762b57ffc8783',1,'ipc.h']]], + ['ipc_5fdesc_5fbuffer_2826',['IPC_Desc_Buffer',['../ipc_8h.html#a950aa9372b06df242eac7f4225ef6f94',1,'ipc.h']]], + ['ipc_5fdesc_5fcurprocessid_2827',['IPC_Desc_CurProcessId',['../ipc_8h.html#a41e3037b6f035d4bc441dae38517366c',1,'ipc.h']]], + ['ipc_5fdesc_5fmovehandles_2828',['IPC_Desc_MoveHandles',['../ipc_8h.html#a17bec8eebca6a31b5561637b63bfcc51',1,'ipc.h']]], + ['ipc_5fdesc_5fpxibuffer_2829',['IPC_Desc_PXIBuffer',['../ipc_8h.html#ae1337c1e25042c4e50f1491747354a41',1,'ipc.h']]], + ['ipc_5fdesc_5fsharedhandles_2830',['IPC_Desc_SharedHandles',['../ipc_8h.html#a0b7ef8528054a032da9d91b79ab5dd2f',1,'ipc.h']]], + ['ipc_5fdesc_5fstaticbuffer_2831',['IPC_Desc_StaticBuffer',['../ipc_8h.html#a173742ba4cc19c4bb4f588e2afdd8d46',1,'ipc.h']]], + ['ipc_5fmakeheader_2832',['IPC_MakeHeader',['../ipc_8h.html#a5fab7f34fb1ec8651bc8645930eeb432',1,'ipc.h']]], + ['ir_2eh_2833',['ir.h',['../ir_8h.html',1,'']]], + ['irrst_2eh_2834',['irrst.h',['../irrst_8h.html',1,'']]], + ['irrst_5fgethandles_2835',['IRRST_GetHandles',['../irrst_8h.html#ae13dd3f91f553c59c929714ff61a0d7f',1,'irrst.h']]], + ['irrst_5finitialize_2836',['IRRST_Initialize',['../irrst_8h.html#a91189b34ca23140216288798510ccf37',1,'irrst.h']]], + ['irrst_5fshutdown_2837',['IRRST_Shutdown',['../irrst_8h.html#a73d3e631a1c1e21e7390436c2329985d',1,'irrst.h']]], + ['irrstcstickread_2838',['irrstCstickRead',['../irrst_8h.html#a4120b5fd220f1c0dc973d8154b975b48',1,'irrst.h']]], + ['irrstevent_2839',['irrstEvent',['../irrst_8h.html#a0dc8751e66c41c8fb3185955418e506f',1,'irrst.h']]], + ['irrstexit_2840',['irrstExit',['../irrst_8h.html#ae208aace95de96c4a609626feade344b',1,'irrst.h']]], + ['irrstinit_2841',['irrstInit',['../irrst_8h.html#a698caec5300ae01893e5ba5098de834b',1,'irrst.h']]], + ['irrstkeysheld_2842',['irrstKeysHeld',['../irrst_8h.html#a48182185c763fcdca0c0f32daafe0213',1,'irrst.h']]], + ['irrstmemhandle_2843',['irrstMemHandle',['../irrst_8h.html#a4de48cede60d01dde7da165b6d3dc9f1',1,'irrst.h']]], + ['irrstscaninput_2844',['irrstScanInput',['../irrst_8h.html#a35f403f8df0133df67dda4d52cbc04e8',1,'irrst.h']]], + ['irrstsharedmem_2845',['irrstSharedMem',['../irrst_8h.html#a6ec11113e52350b578816d784829ad42',1,'irrst.h']]], + ['irrstwaitforevent_2846',['irrstWaitForEvent',['../irrst_8h.html#a064e532f7919489e9b1ca82b37340126',1,'irrst.h']]], + ['iru_5fgetbitrate_2847',['IRU_GetBitRate',['../ir_8h.html#af225f13215ddeae367cea4a214a81d8c',1,'ir.h']]], + ['iru_5fgetirledrecvstate_2848',['IRU_GetIRLEDRecvState',['../ir_8h.html#a08cbd4c0783aa431a9b135ed73fe3e5e',1,'ir.h']]], + ['iru_5fgetrecvfinishedevent_2849',['IRU_GetRecvFinishedEvent',['../ir_8h.html#aca2abd4a54c1e3269dbd504e09c8ee0e',1,'ir.h']]], + ['iru_5fgetsendfinishedevent_2850',['IRU_GetSendFinishedEvent',['../ir_8h.html#a167c2251aeb6d0f3d606167a9c301ebc',1,'ir.h']]], + ['iru_5finitialize_2851',['IRU_Initialize',['../ir_8h.html#a57f549bf235cca5da4539ebaee290e93',1,'ir.h']]], + ['iru_5fsetbitrate_2852',['IRU_SetBitRate',['../ir_8h.html#aa4383437d6b0eae7e988c1238a999c8d',1,'ir.h']]], + ['iru_5fsetirledstate_2853',['IRU_SetIRLEDState',['../ir_8h.html#a10b042e43f7ba5e032ebca1566eff158',1,'ir.h']]], + ['iru_5fshutdown_2854',['IRU_Shutdown',['../ir_8h.html#a234f44bd07c0d841858856a451259a37',1,'ir.h']]], + ['iru_5fstartrecvtransfer_2855',['IRU_StartRecvTransfer',['../ir_8h.html#aec19f868632807e0d00c08398d3090c0',1,'ir.h']]], + ['iru_5fstartsendtransfer_2856',['IRU_StartSendTransfer',['../ir_8h.html#add5d0a1c7c738e562db26f3008ed90e2',1,'ir.h']]], + ['iru_5fwaitrecvtransfer_2857',['IRU_WaitRecvTransfer',['../ir_8h.html#a77af2111f453b24084f2666f49e64e62',1,'ir.h']]], + ['iru_5fwaitsendtransfer_2858',['IRU_WaitSendTransfer',['../ir_8h.html#a051bd29b973cc9abbd47cb8149111ada',1,'ir.h']]], + ['iruexit_2859',['iruExit',['../ir_8h.html#a0bb9984d1c401b874964811c6c0b1474',1,'ir.h']]], + ['irugetservhandle_2860',['iruGetServHandle',['../ir_8h.html#a55275125e6beaa8cab539fee3f6c3272',1,'ir.h']]], + ['iruinit_2861',['iruInit',['../ir_8h.html#a0264bd7e7221e35fd291d3601e4661ca',1,'ir.h']]], + ['irurecvdata_2862',['iruRecvData',['../ir_8h.html#a33c1841c23388e9498ff8a1f9a25d7ac',1,'ir.h']]], + ['irusenddata_2863',['iruSendData',['../ir_8h.html#ab1742628da85cddf5953345a36f24361',1,'ir.h']]], + ['is_5fprivate_5fname_2864',['is_private_name',['../structMiiData.html#a1604f31051750e6c4a1a0de5cc7804af',1,'MiiData']]], + ['is_5fsd_5fapplication_2865',['is_sd_application',['../structExHeader__SystemInfoFlags.html#a0ca439a793ded3d383b1b5c4cb3d3895',1,'ExHeader_SystemInfoFlags']]], + ['isvalidrotationxy_2866',['isValidRotationXY',['../structCAMU__StereoCameraCalibrationData.html#a61454743016d8fa6658a700d0c3039ca',1,'CAMU_StereoCameraCalibrationData']]], + ['ivs_2867',['ivs',['../structFS__DeviceMoveContext.html#a16f06d589079f9a705d2a63ed26bde19',1,'FS_DeviceMoveContext']]] +]; diff --git a/search/all_b.html b/search/all_b.html new file mode 100644 index 000000000..130deb4ed --- /dev/null +++ b/search/all_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_b.js b/search/all_b.js new file mode 100644 index 000000000..4cabbae9f --- /dev/null +++ b/search/all_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['jump_5fid_2868',['jump_id',['../structExHeader__SystemInfo.html#aeb79c8684325cb75cde25fc55178947e',1,'ExHeader_SystemInfo']]] +]; diff --git a/search/all_c.html b/search/all_c.html new file mode 100644 index 000000000..3dd5af06d --- /dev/null +++ b/search/all_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_c.js b/search/all_c.js new file mode 100644 index 000000000..e4aec556b --- /dev/null +++ b/search/all_c.js @@ -0,0 +1,37 @@ +var searchData= +[ + ['kbl_2869',['kBL',['../structCAMU__ImageQualityCalibrationData.html#aca34569b0802753164a7fd3cb96babeb',1,'CAMU_ImageQualityCalibrationData']]], + ['kernel_5fcaps_2870',['kernel_caps',['../structExHeader__AccessControlInfo.html#a9e4232569651618ffce2181768d86dad',1,'ExHeader_AccessControlInfo']]], + ['key_5fa_2871',['KEY_A',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3aa7b3a3d0503a46bec51c6e3da95747cc',1,'hid.h']]], + ['key_5fb_2872',['KEY_B',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a10072b5ee7aa1faf316434ecc9e2bb3a',1,'hid.h']]], + ['key_5fcpad_5fdown_2873',['KEY_CPAD_DOWN',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3aef41de89d32dc8afb1fcdcfd6d7cf105',1,'hid.h']]], + ['key_5fcpad_5fleft_2874',['KEY_CPAD_LEFT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3afdcba13a850cf9c1895714fa274a8d85',1,'hid.h']]], + ['key_5fcpad_5fright_2875',['KEY_CPAD_RIGHT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a25b2630e92ccaf32456e950de62a487c',1,'hid.h']]], + ['key_5fcpad_5fup_2876',['KEY_CPAD_UP',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3ab0170312a08a34b722713daa47227d5b',1,'hid.h']]], + ['key_5fcstick_5fdown_2877',['KEY_CSTICK_DOWN',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3afccf9b0d9adf1864a6671e05d3bb52c9',1,'hid.h']]], + ['key_5fcstick_5fleft_2878',['KEY_CSTICK_LEFT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3ac8e7137365ed080f5ec917ce06fb4e56',1,'hid.h']]], + ['key_5fcstick_5fright_2879',['KEY_CSTICK_RIGHT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a557de4e103c1e2c316b9e0962c221ab6',1,'hid.h']]], + ['key_5fcstick_5fup_2880',['KEY_CSTICK_UP',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a14185dd404b66154316668c11981f7ba',1,'hid.h']]], + ['key_5fddown_2881',['KEY_DDOWN',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a0864766d4b6c65f9678c36493438bebe',1,'hid.h']]], + ['key_5fdleft_2882',['KEY_DLEFT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3af824136f61c487d8ead496b07e094bfc',1,'hid.h']]], + ['key_5fdown_2883',['KEY_DOWN',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3aa9cdac7967bf7d88fdb761138a2a3416',1,'hid.h']]], + ['key_5fdright_2884',['KEY_DRIGHT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a46f267098a4b14fbabc9ffe3ebada7d0',1,'hid.h']]], + ['key_5fdup_2885',['KEY_DUP',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a71eb64b66b1b1838d510919ac34b23e6',1,'hid.h']]], + ['key_5fl_2886',['KEY_L',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3aece16de35a5ea11f9b228c9376bebc62',1,'hid.h']]], + ['key_5fleft_2887',['KEY_LEFT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a612120b69c7dfd46086db7aaebdbcf65',1,'hid.h']]], + ['key_5fr_2888',['KEY_R',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3aa3ec8a2ffd5b0e200db5ebe7b65515ff',1,'hid.h']]], + ['key_5fright_2889',['KEY_RIGHT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a6504370d9c6391e1a9da6a1a529b089d',1,'hid.h']]], + ['key_5fselect_2890',['KEY_SELECT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a3b37a163628bc7015aac5efab4a66ef5',1,'hid.h']]], + ['key_5fstart_2891',['KEY_START',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a616a1f5c4ed36080ca954453084aea3b',1,'hid.h']]], + ['key_5ftouch_2892',['KEY_TOUCH',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a0509af8005e4af9e51a2b84474da1bd8',1,'hid.h']]], + ['key_5fup_2893',['KEY_UP',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a0848a442d907968b211b97bc2bd88acd',1,'hid.h']]], + ['key_5fx_2894',['KEY_X',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a480a807305121d41673b8c208898f497',1,'hid.h']]], + ['key_5fy_2895',['KEY_Y',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a5d44524b2a6090fa97aa9353d69f67a3',1,'hid.h']]], + ['key_5fzl_2896',['KEY_ZL',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a72a8d499bf463cfaa531c781f72e536a',1,'hid.h']]], + ['key_5fzr_2897',['KEY_ZR',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a4e27d906c879950f8c46632ca1b4b48f',1,'hid.h']]], + ['keysdown_2898',['keysDown',['../hid_8h.html#a920053cc92e61ee16e567109f428a530',1,'hid.h']]], + ['keysheld_2899',['keysHeld',['../hid_8h.html#ab34b448187933ef0752cac666453a6e4',1,'hid.h']]], + ['keysup_2900',['keysUp',['../hid_8h.html#aac1a8dd21e4c41f9a9a3edaeb9f48dd5',1,'hid.h']]], + ['kgl_2901',['kGL',['../structCAMU__ImageQualityCalibrationData.html#a5da6013cd8a54aea4e5193787d4d6394',1,'CAMU_ImageQualityCalibrationData']]], + ['krl_2902',['kRL',['../structCAMU__ImageQualityCalibrationData.html#afe1d7567b2dd1ba2824023c208137de5',1,'CAMU_ImageQualityCalibrationData']]] +]; diff --git a/search/all_d.html b/search/all_d.html new file mode 100644 index 000000000..af7f2f0f5 --- /dev/null +++ b/search/all_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_d.js b/search/all_d.js new file mode 100644 index 000000000..bdeb2b080 --- /dev/null +++ b/search/all_d.js @@ -0,0 +1,64 @@ +var searchData= +[ + ['language_2903',['language',['../structSwkbdDictWord.html#aaa1ff887f1d888595340ad2fa60a1d09',1,'SwkbdDictWord::language()'],['../structFriendProfile.html#acd0c5cfc685f6384f26c0d55bca0f611',1,'FriendProfile::language()']]], + ['lastentry_2904',['lastEntry',['../structgxCmdQueue__s.html#a8bf3daf45d08546c0162d754ab66ad96',1,'gxCmdQueue_s']]], + ['lastresult_2905',['lastResult',['../structNIM__TitleProgress.html#ab3a428ec2477ee4bd75ab781f5b654d1',1,'NIM_TitleProgress']]], + ['led_5fblink_5fred_2906',['LED_BLINK_RED',['../mcuhwc_8h.html#a4d0ecf130d757d1097b02791affd59f3a05db5006cefc8596f609ed1efe3834d8',1,'mcuhwc.h']]], + ['led_5fblue_2907',['LED_BLUE',['../mcuhwc_8h.html#a4d0ecf130d757d1097b02791affd59f3aa67c57c0ff22a2772cb6a5751a3327bf',1,'mcuhwc.h']]], + ['led_5fnormal_2908',['LED_NORMAL',['../mcuhwc_8h.html#a4d0ecf130d757d1097b02791affd59f3a052ec9418815c097e290abeb03f91c14',1,'mcuhwc.h']]], + ['led_5foff_2909',['LED_OFF',['../mcuhwc_8h.html#a4d0ecf130d757d1097b02791affd59f3afc0ca8cc6cbe215fd3f1ae6d40255b40',1,'mcuhwc.h']]], + ['led_5fred_2910',['LED_RED',['../mcuhwc_8h.html#a4d0ecf130d757d1097b02791affd59f3ad80f13022b6d309268fadc7b1da89cb9',1,'mcuhwc.h']]], + ['led_5fsleep_5fmode_2911',['LED_SLEEP_MODE',['../mcuhwc_8h.html#a4d0ecf130d757d1097b02791affd59f3ae9f8f9f5a62af88aac710a7bfa21bdd0',1,'mcuhwc.h']]], + ['left_2912',['left',['../structcharWidthInfo__s.html#a7c05ffca23db8b34c4acea4b4e5fc8e0',1,'charWidthInfo_s']]], + ['lens_5fcorrection_5fbright_2913',['LENS_CORRECTION_BRIGHT',['../cam_8h.html#a495e5c707772c7bfb891444bc4970a49a50b6c261601994f3f39562e8c68b166c',1,'cam.h']]], + ['lens_5fcorrection_5fdark_2914',['LENS_CORRECTION_DARK',['../cam_8h.html#a495e5c707772c7bfb891444bc4970a49a589d6c4e00af85e1c28244cd8b9325c8',1,'cam.h']]], + ['lens_5fcorrection_5fnormal_2915',['LENS_CORRECTION_NORMAL',['../cam_8h.html#a495e5c707772c7bfb891444bc4970a49a334122eb084386c9dcf0096cbc83e7e3',1,'cam.h']]], + ['lens_5fcorrection_5foff_2916',['LENS_CORRECTION_OFF',['../cam_8h.html#a495e5c707772c7bfb891444bc4970a49a8518f89c41ce03aa345f2307fa276c04',1,'cam.h']]], + ['lens_5fcorrection_5fon_5f70_2917',['LENS_CORRECTION_ON_70',['../cam_8h.html#a495e5c707772c7bfb891444bc4970a49a0b7004b2934d3c999050a9b9f9111cb6',1,'cam.h']]], + ['lens_5fcorrection_5fon_5f90_2918',['LENS_CORRECTION_ON_90',['../cam_8h.html#a495e5c707772c7bfb891444bc4970a49a34e657cc94977e4fe52536d391869f36',1,'cam.h']]], + ['lenscorrection_2919',['lensCorrection',['../structCAMU__PackageParameterCameraSelect.html#af3de38877056496facb20c3eaf5eaadd',1,'CAMU_PackageParameterCameraSelect']]], + ['libctru_20_2d_20ctr_20user_20library_2920',['libctru - CTR User Library',['../index.html',1,'']]], + ['lightevent_2921',['LightEvent',['../structLightEvent.html',1,'']]], + ['lightevent_5fclear_2922',['LightEvent_Clear',['../synchronization_8h.html#a6c6fd28b9c7fd324c3e70d30118a06ce',1,'synchronization.h']]], + ['lightevent_5finit_2923',['LightEvent_Init',['../synchronization_8h.html#a2c159aa9078752dbd82da805539b2041',1,'synchronization.h']]], + ['lightevent_5fpulse_2924',['LightEvent_Pulse',['../synchronization_8h.html#a3a54526dc1d5f9e1d84b92ce10194a2d',1,'synchronization.h']]], + ['lightevent_5fsignal_2925',['LightEvent_Signal',['../synchronization_8h.html#acad8ac29952dad0bb22d2453afd38277',1,'synchronization.h']]], + ['lightevent_5ftrywait_2926',['LightEvent_TryWait',['../synchronization_8h.html#a347ff040af029b4bbaae6f65f0e48de9',1,'synchronization.h']]], + ['lightevent_5fwait_2927',['LightEvent_Wait',['../synchronization_8h.html#a0cb8fd551e01b94cd6d0ae23da6a1074',1,'synchronization.h']]], + ['lightevent_5fwaittimeout_2928',['LightEvent_WaitTimeout',['../synchronization_8h.html#aac847c6acd805d89a04984f166349098',1,'synchronization.h']]], + ['lightlock_2929',['LightLock',['../synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e',1,'synchronization.h']]], + ['lightlock_5finit_2930',['LightLock_Init',['../synchronization_8h.html#a81f625fde46405c1d539b1581d54fb05',1,'synchronization.h']]], + ['lightlock_5flock_2931',['LightLock_Lock',['../synchronization_8h.html#ae75aac6e4bfe30037c8a9de916a6ddb8',1,'synchronization.h']]], + ['lightlock_5ftrylock_2932',['LightLock_TryLock',['../synchronization_8h.html#a1a1d677c021a8487d567f832dea9d9db',1,'synchronization.h']]], + ['lightlock_5funlock_2933',['LightLock_Unlock',['../synchronization_8h.html#a82283ae772ec2eac3a193b1431a681af',1,'synchronization.h']]], + ['lightsemaphore_2934',['LightSemaphore',['../structLightSemaphore.html',1,'']]], + ['lightsemaphore_5facquire_2935',['LightSemaphore_Acquire',['../synchronization_8h.html#ad45ead296d3c1a87bd4e4cc0fb271040',1,'synchronization.h']]], + ['lightsemaphore_5finit_2936',['LightSemaphore_Init',['../synchronization_8h.html#acf3e0856c84bcdfd25c389fe5dd8663d',1,'synchronization.h']]], + ['lightsemaphore_5frelease_2937',['LightSemaphore_Release',['../synchronization_8h.html#a3f99c1cb0adc57d94823312b81e5518c',1,'synchronization.h']]], + ['lightsemaphore_5ftryacquire_2938',['LightSemaphore_TryAcquire',['../synchronization_8h.html#a45ee3fb7b594430648015119f0f6c352',1,'synchronization.h']]], + ['linear_2eh_2939',['linear.h',['../linear_8h.html',1,'']]], + ['linearalloc_2940',['linearAlloc',['../linear_8h.html#a73a6bd0b398a08f695e16e07267a7424',1,'linear.h']]], + ['linearfree_2941',['linearFree',['../linear_8h.html#aeb28d4069fd209e0067ac185fb9b83e2',1,'linear.h']]], + ['lineargetsize_2942',['linearGetSize',['../linear_8h.html#a39e3e3dd46f82252a4470f84d75c8f47',1,'linear.h']]], + ['linearmemalign_2943',['linearMemAlign',['../linear_8h.html#a9fe68cfcd17878cbcd7f6d08d846798d',1,'linear.h']]], + ['linearrealloc_2944',['linearRealloc',['../linear_8h.html#a4e40b7ae9d3faccf4fcd137cf1952b92',1,'linear.h']]], + ['linearspacefree_2945',['linearSpaceFree',['../linear_8h.html#ab8d8493cef4d6b8b58e2f07f12f5e090',1,'linear.h']]], + ['linefeed_2946',['lineFeed',['../structFINF__s.html#a61c7d30b360074723a75335ebc1de1d7',1,'FINF_s']]], + ['linger_2947',['linger',['../structlinger.html',1,'']]], + ['link3ds_5fcomm_5fport_2948',['LINK3DS_COMM_PORT',['../3dslink_8h.html#aa4098b9693935197a8b839b7e789d3b2',1,'3dslink.h']]], + ['link3dsconnecttohost_2949',['link3dsConnectToHost',['../3dslink_8h.html#a36e97864ece00580f644ba39d2e0b8fe',1,'3dslink.h']]], + ['link3dsstdio_2950',['link3dsStdio',['../3dslink_8h.html#a53eba8d89b5d8a17f91a4a84e3904ed2',1,'3dslink.h']]], + ['link3dsstdiofordebug_2951',['link3dsStdioForDebug',['../3dslink_8h.html#accd3d099fe5f87e7fa884a739c220ade',1,'3dslink.h']]], + ['loader_2eh_2952',['loader.h',['../loader_8h.html',1,'']]], + ['loader_5fgetprograminfo_2953',['LOADER_GetProgramInfo',['../loader_8h.html#a681745c9fd51ef6f2339dfec753555f4',1,'loader.h']]], + ['loader_5floadprocess_2954',['LOADER_LoadProcess',['../loader_8h.html#a201c006d0bd37577563e228e1ab7166f',1,'loader.h']]], + ['loader_5fregisterprogram_2955',['LOADER_RegisterProgram',['../loader_8h.html#a88f34584ea1e64478a8e19ff0cc1cc84',1,'loader.h']]], + ['loader_5funregisterprogram_2956',['LOADER_UnregisterProgram',['../loader_8h.html#a92acb8ea4312f21ef0c591f883ef48bc',1,'loader.h']]], + ['loaderexit_2957',['loaderExit',['../loader_8h.html#a7265d2b7f9f9bb34110650c207549ffc',1,'loader.h']]], + ['loaderinit_2958',['loaderInit',['../loader_8h.html#a8a4ba25f161b1784615c95ce07b99993',1,'loader.h']]], + ['local_2959',['local',['../structSOCU__UDPTableEntry.html#ab06e381a05a80b2907f62ad72208e1fa',1,'SOCU_UDPTableEntry::local()'],['../structSOCU__TCPTableEntry.html#a77ef4f04db3d5705452ce8dd32ed9d70',1,'SOCU_TCPTableEntry::local()']]], + ['local_5fcaps_2960',['local_caps',['../structExHeader__AccessControlInfo.html#a44195b3bef441a827d56fda1c8baa0f1',1,'ExHeader_AccessControlInfo']]], + ['lock_2961',['lock',['../structLightEvent.html#aa903d9a20aebc10972fac85def48f1ac',1,'LightEvent']]], + ['looping_2962',['looping',['../structtag__ndspWaveBuf.html#a3c7ea7f11f9e714c385befa490f5079b',1,'tag_ndspWaveBuf']]], + ['lr_2963',['lr',['../structCpuRegisters.html#af39510a91f0cb45bf16fa21644d14245',1,'CpuRegisters']]] +]; diff --git a/search/all_e.html b/search/all_e.html new file mode 100644 index 000000000..e25df423a --- /dev/null +++ b/search/all_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_e.js b/search/all_e.js new file mode 100644 index 000000000..4ef4cc0e8 --- /dev/null +++ b/search/all_e.js @@ -0,0 +1,177 @@ +var searchData= +[ + ['mac_2964',['mac',['../structSOCU__ARPTableEntry.html#a0d9eb352aaf52e23de092ba6514f3d20',1,'SOCU_ARPTableEntry::mac()'],['../structMiiData.html#a42bc101a1158d1d7fd9af81b1d370d73',1,'MiiData::mac()']]], + ['magic_2965',['magic',['../structMiiData.html#a4309c96022a757a571c94714f822597d',1,'MiiData::magic()'],['../structMiiSelectorConf.html#a4b3cba7a66b8156a987f76b3271bd59e',1,'MiiSelectorConf::magic()']]], + ['mainoffset_2966',['mainOffset',['../structDVLE__s.html#a3dbfa9a4ac73eae2fe750862bfa27fa7',1,'DVLE_s']]], + ['makeresult_2967',['MAKERESULT',['../result_8h.html#aa242dc94c5c3f0ba7d38430e2fe6d691',1,'result.h']]], + ['map_2968',['map',['../structDebugEventInfo.html#aecf8557cfd95b333e68028131750e829',1,'DebugEventInfo']]], + ['mapevent_2969',['MapEvent',['../structMapEvent.html',1,'']]], + ['mappable_2eh_2970',['mappable.h',['../mappable_8h.html',1,'']]], + ['mappablealloc_2971',['mappableAlloc',['../mappable_8h.html#aa57924376b36c85a8aea0c57eeff5ce0',1,'mappable.h']]], + ['mappablefree_2972',['mappableFree',['../mappable_8h.html#ae5c4f0ba891e3a82b8f76253a8e3ac13',1,'mappable.h']]], + ['mappableinit_2973',['mappableInit',['../mappable_8h.html#a50f2df49d6712a44793033f6a3dfc07a',1,'mappable.h']]], + ['mapped_5faddr_2974',['mapped_addr',['../structMapEvent.html#aaecb80deb0ad7177c80263c4b6bd83cd',1,'MapEvent']]], + ['mapped_5fsize_2975',['mapped_size',['../structMapEvent.html#ae034793f645417e52c2892851c54cb80',1,'MapEvent']]], + ['mappingmethod_2976',['mappingMethod',['../structtag__CMAP__s.html#a3ef412b95185d5cd6e2a2c7870d9ad8b',1,'tag_CMAP_s']]], + ['mask_2977',['mask',['../structDVLE__outEntry__s.html#a36213505244a811f39b60e0b46cd63f7',1,'DVLE_outEntry_s']]], + ['max_5fcount_2978',['max_count',['../structLightSemaphore.html#a614ad70962a29c7b0bbe7a43450ff686',1,'LightSemaphore']]], + ['maxcharwidth_2979',['maxCharWidth',['../structTGLP__s.html#add588f1c7ef1ff921ba6fa1cc519675f',1,'TGLP_s']]], + ['maxentries_2980',['maxEntries',['../structgxCmdQueue__s.html#abbd998741caf292f1808e0f7fa56de77',1,'gxCmdQueue_s']]], + ['mcu_5finterupt_5fmask_2981',['mcu_interupt_mask',['../structPtmWakeEvents.html#a6204f98da6304879d009a27831f7b331',1,'PtmWakeEvents']]], + ['mcuhwc_2eh_2982',['mcuhwc.h',['../mcuhwc_8h.html',1,'']]], + ['mcuhwc_5fget3dsliderlevel_2983',['MCUHWC_Get3dSliderLevel',['../mcuhwc_8h.html#aba220bd0c1621ac22d59a054b47dd7d9',1,'mcuhwc.h']]], + ['mcuhwc_5fgetbatterylevel_2984',['MCUHWC_GetBatteryLevel',['../mcuhwc_8h.html#a389c0cd8f4b0d664a72bd3b0ff40a359',1,'mcuhwc.h']]], + ['mcuhwc_5fgetbatteryvoltage_2985',['MCUHWC_GetBatteryVoltage',['../mcuhwc_8h.html#a8d802328caeb7b975e92d8dc99ea8e5a',1,'mcuhwc.h']]], + ['mcuhwc_5fgetfwverhigh_2986',['MCUHWC_GetFwVerHigh',['../mcuhwc_8h.html#a96c894a412095aed6ba108ff3ea0dcf4',1,'mcuhwc.h']]], + ['mcuhwc_5fgetfwverlow_2987',['MCUHWC_GetFwVerLow',['../mcuhwc_8h.html#a38c45aafa4ff30ca18273d310b7bddaa',1,'mcuhwc.h']]], + ['mcuhwc_5fgetsoundsliderlevel_2988',['MCUHWC_GetSoundSliderLevel',['../mcuhwc_8h.html#a7bfe72c086ad88cae962c156fc8fdd18',1,'mcuhwc.h']]], + ['mcuhwc_5freadregister_2989',['MCUHWC_ReadRegister',['../mcuhwc_8h.html#a2c3df587f208073b09386754c8c49cc7',1,'mcuhwc.h']]], + ['mcuhwc_5fsetpowerledstate_2990',['MCUHWC_SetPowerLedState',['../mcuhwc_8h.html#a6193c9f5b52bf44c15b1456811137670',1,'mcuhwc.h']]], + ['mcuhwc_5fsetwifiledstate_2991',['MCUHWC_SetWifiLedState',['../mcuhwc_8h.html#ada094d994f3ff3fb16c7084a0a109bc0',1,'mcuhwc.h']]], + ['mcuhwc_5fwriteregister_2992',['MCUHWC_WriteRegister',['../mcuhwc_8h.html#a5e720a5410b1dd0e65493b5332c587f2',1,'mcuhwc.h']]], + ['mcuhwcexit_2993',['mcuHwcExit',['../mcuhwc_8h.html#adc434fe29cd5d664fe7559a904da5c07',1,'mcuhwc.h']]], + ['mcuhwcgetsessionhandle_2994',['mcuHwcGetSessionHandle',['../mcuhwc_8h.html#ad8f961927d162f978bf37d5925e5608a',1,'mcuhwc.h']]], + ['mcuhwcinit_2995',['mcuHwcInit',['../mcuhwc_8h.html#a45296be24ea40904294e466245052200',1,'mcuhwc.h']]], + ['mediatype_2996',['mediaType',['../structFS__SystemSaveDataInfo.html#a0ce2a7ecf07e19ea37b27c15059c045a',1,'FS_SystemSaveDataInfo::mediaType()'],['../structFS__ProgramInfo.html#a6d5658b85ba89db7b6555a41419c8e3a',1,'FS_ProgramInfo::mediaType()'],['../structNIM__TitleConfig.html#a61fac82a665ea6fc5495aca1a0fbb6ba',1,'NIM_TitleConfig::mediaType()'],['../structFS__ExtSaveDataInfo.html#a8201d5dcae3f8d06c52179a672f2e4b5',1,'FS_ExtSaveDataInfo::mediaType()']]], + ['mediatype_5fgame_5fcard_2997',['MEDIATYPE_GAME_CARD',['../fs_8h.html#a3526d37c529b39a862b9b7371a53e137a35710db5adf72c7b0b1775f87051e4b0',1,'fs.h']]], + ['mediatype_5fnand_2998',['MEDIATYPE_NAND',['../fs_8h.html#a3526d37c529b39a862b9b7371a53e137ae1d592f99c375473d1e05bec79ddde26',1,'fs.h']]], + ['mediatype_5fsd_2999',['MEDIATYPE_SD',['../fs_8h.html#a3526d37c529b39a862b9b7371a53e137a7dd335c377a12223f9588649066e80c7',1,'fs.h']]], + ['meminfo_3000',['MemInfo',['../structMemInfo.html',1,'']]], + ['memop_3001',['MemOp',['../svc_8h.html#a754721841a571940880975d2191f3e0f',1,'svc.h']]], + ['memop_5falloc_3002',['MEMOP_ALLOC',['../svc_8h.html#a754721841a571940880975d2191f3e0fa204affee42a49e0da0c743a910e9ebed',1,'svc.h']]], + ['memop_5falloc_5flinear_3003',['MEMOP_ALLOC_LINEAR',['../svc_8h.html#a754721841a571940880975d2191f3e0fac0a3b46ec2c6ead43fb1de9772729595',1,'svc.h']]], + ['memop_5ffree_3004',['MEMOP_FREE',['../svc_8h.html#a754721841a571940880975d2191f3e0fa0277897bdb24ec61ebe721b6e2213393',1,'svc.h']]], + ['memop_5flinear_5fflag_3005',['MEMOP_LINEAR_FLAG',['../svc_8h.html#a754721841a571940880975d2191f3e0fa38d1aa9f77dfede9f2bb50aa7c39ffd7',1,'svc.h']]], + ['memop_5fmap_3006',['MEMOP_MAP',['../svc_8h.html#a754721841a571940880975d2191f3e0fad3419008fb719308be57a96f7dbc1a07',1,'svc.h']]], + ['memop_5fop_5fmask_3007',['MEMOP_OP_MASK',['../svc_8h.html#a754721841a571940880975d2191f3e0fa09aacdab03ccb3fe52723ee25e105329',1,'svc.h']]], + ['memop_5fprot_3008',['MEMOP_PROT',['../svc_8h.html#a754721841a571940880975d2191f3e0fa19d01531a81ab0476a6977ea5c4f8eb1',1,'svc.h']]], + ['memop_5fregion_5fapp_3009',['MEMOP_REGION_APP',['../svc_8h.html#a754721841a571940880975d2191f3e0fad4d969ef37e24230f5f66b1700634763',1,'svc.h']]], + ['memop_5fregion_5fbase_3010',['MEMOP_REGION_BASE',['../svc_8h.html#a754721841a571940880975d2191f3e0fa3be4e93c776697aeedd82f51b28f21ed',1,'svc.h']]], + ['memop_5fregion_5fmask_3011',['MEMOP_REGION_MASK',['../svc_8h.html#a754721841a571940880975d2191f3e0fa58a22e2d8cd7250a43819805757e4413',1,'svc.h']]], + ['memop_5fregion_5fsystem_3012',['MEMOP_REGION_SYSTEM',['../svc_8h.html#a754721841a571940880975d2191f3e0fae9985e0572e18a1f8334ab8887bfa50d',1,'svc.h']]], + ['memop_5freserve_3013',['MEMOP_RESERVE',['../svc_8h.html#a754721841a571940880975d2191f3e0faa08bd2ac9bdfc6a958ef71a6d4615f88',1,'svc.h']]], + ['memop_5funmap_3014',['MEMOP_UNMAP',['../svc_8h.html#a754721841a571940880975d2191f3e0faebba281d2e3a26717e803b22cb4f6951',1,'svc.h']]], + ['memperm_3015',['memperm',['../structMapEvent.html#acfa673343ba42dc41f5e9b23aa5645f8',1,'MapEvent']]], + ['memperm_3016',['MemPerm',['../svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8',1,'svc.h']]], + ['memperm_5fdontcare_3017',['MEMPERM_DONTCARE',['../svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8a00b3d9ebe75e827a690b181275e36285',1,'svc.h']]], + ['memperm_5fexecute_3018',['MEMPERM_EXECUTE',['../svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8a95166c88c977b8f6621cc3fddfbef097',1,'svc.h']]], + ['memperm_5fread_3019',['MEMPERM_READ',['../svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8a94982bf2da2aa85b256d272073d8a3b2',1,'svc.h']]], + ['memperm_5freadexecute_3020',['MEMPERM_READEXECUTE',['../svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8aec242833b7930ca0c26c9a82cc0106f0',1,'svc.h']]], + ['memperm_5freadwrite_3021',['MEMPERM_READWRITE',['../svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8a6a38ed1f87f49fe7db01ad467e5bdf11',1,'svc.h']]], + ['memperm_5fwrite_3022',['MEMPERM_WRITE',['../svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8a1cd211ea237b7a2f9d79784ad80381ef',1,'svc.h']]], + ['memregion_3023',['MemRegion',['../svc_8h.html#ac4f63d4e584005af063b41bc55bb92eb',1,'svc.h']]], + ['memregion_5fall_3024',['MEMREGION_ALL',['../svc_8h.html#ac4f63d4e584005af063b41bc55bb92eba87d800dfa880eb2c7606cbc6e88cdfc9',1,'svc.h']]], + ['memregion_5fapplication_3025',['MEMREGION_APPLICATION',['../svc_8h.html#ac4f63d4e584005af063b41bc55bb92ebaa6dca7f0283dc36043000cf009b3037d',1,'svc.h']]], + ['memregion_5fbase_3026',['MEMREGION_BASE',['../svc_8h.html#ac4f63d4e584005af063b41bc55bb92eba71250d7c703bed890cb5c41e6a04b292',1,'svc.h']]], + ['memregion_5fsystem_3027',['MEMREGION_SYSTEM',['../svc_8h.html#ac4f63d4e584005af063b41bc55bb92eba3593cd195de87cfb8d9ef3a8d4aa4d61',1,'svc.h']]], + ['memstate_3028',['MemState',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7',1,'svc.h']]], + ['memstate_3029',['memstate',['../structMapEvent.html#a25ebd56741175c344531039dd8850333',1,'MapEvent']]], + ['memstate_5falias_3030',['MEMSTATE_ALIAS',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a26e7ac8c3e0c4a0ed3f77d0bd9788ac5',1,'svc.h']]], + ['memstate_5faliascode_3031',['MEMSTATE_ALIASCODE',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a59073efd4c26f46fee26de08c255e0b2',1,'svc.h']]], + ['memstate_5faliased_3032',['MEMSTATE_ALIASED',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a5e54fc6b8c3f3090eba67147f3000d31',1,'svc.h']]], + ['memstate_5fcode_3033',['MEMSTATE_CODE',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a271fa8404bb634409a54c9d4f5f35627',1,'svc.h']]], + ['memstate_5fcontinuous_3034',['MEMSTATE_CONTINUOUS',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a4dd019bd15843b85ba5b2e980816df50',1,'svc.h']]], + ['memstate_5ffree_3035',['MEMSTATE_FREE',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a28319451e29cd1d428cb794e452c755b',1,'svc.h']]], + ['memstate_5fio_3036',['MEMSTATE_IO',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a99d241b8c1e39f56cc62c0ae8f0a1a49',1,'svc.h']]], + ['memstate_5flocked_3037',['MEMSTATE_LOCKED',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7ae339e1d3911aeadbe94cffaa8e27436b',1,'svc.h']]], + ['memstate_5fprivate_3038',['MEMSTATE_PRIVATE',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a728b20cb6be4b28ab6694984b7e79018',1,'svc.h']]], + ['memstate_5freserved_3039',['MEMSTATE_RESERVED',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7ac0adf485622be6e0fbbdc7cbb8c47117',1,'svc.h']]], + ['memstate_5fshared_3040',['MEMSTATE_SHARED',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a46982bcef4b1151bc212a8ae7b9605eb',1,'svc.h']]], + ['memstate_5fstatic_3041',['MEMSTATE_STATIC',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7aaca66457f6d543c2b19b0430590fc143',1,'svc.h']]], + ['mergeoutmaps_3042',['mergeOutmaps',['../structDVLE__s.html#ac94ddc9959fbf9c60b5aa68fa0347443',1,'DVLE_s']]], + ['mic_2eh_3043',['mic.h',['../mic_8h.html',1,'']]], + ['micexit_3044',['micExit',['../mic_8h.html#a5de3831a1aa13b444a812ebfef218361',1,'mic.h']]], + ['micgetlastsampleoffset_3045',['micGetLastSampleOffset',['../mic_8h.html#aa2590afec7ac205e877ab94c9203a4c9',1,'mic.h']]], + ['micgetsampledatasize_3046',['micGetSampleDataSize',['../mic_8h.html#a09361b33179e9ca5fd099161cf25d70a',1,'mic.h']]], + ['micinit_3047',['micInit',['../mic_8h.html#a01ab8a1440cd4d38855336e47e5ae380',1,'mic.h']]], + ['micu_5fadjustsampling_3048',['MICU_AdjustSampling',['../mic_8h.html#afdc168c4f160192b7b3b04e49d15ec86',1,'mic.h']]], + ['micu_5fencoding_3049',['MICU_Encoding',['../mic_8h.html#a3ead458d1aabf74550446b463b4fb54f',1,'mic.h']]], + ['micu_5fencoding_5fpcm16_3050',['MICU_ENCODING_PCM16',['../mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa31b7d400f110e7c1e6c7b48d019435a2',1,'mic.h']]], + ['micu_5fencoding_5fpcm16_5fsigned_3051',['MICU_ENCODING_PCM16_SIGNED',['../mic_8h.html#a3ead458d1aabf74550446b463b4fb54fab94c760d37cb05a0f9b35dfe308adf92',1,'mic.h']]], + ['micu_5fencoding_5fpcm8_3052',['MICU_ENCODING_PCM8',['../mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa52c56be2bb309b8f9c90ef50df2e3aac',1,'mic.h']]], + ['micu_5fencoding_5fpcm8_5fsigned_3053',['MICU_ENCODING_PCM8_SIGNED',['../mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa6cfc9ded08c2da0254777e294feae5dc',1,'mic.h']]], + ['micu_5fgetclamp_3054',['MICU_GetClamp',['../mic_8h.html#aed8b72fbff68362b9c6a047a0b0c7307',1,'mic.h']]], + ['micu_5fgeteventhandle_3055',['MICU_GetEventHandle',['../mic_8h.html#a8f17c21f1420682eb699cf39adf537b2',1,'mic.h']]], + ['micu_5fgetgain_3056',['MICU_GetGain',['../mic_8h.html#add912c11a5b5ff8dabe224e2f380be9b',1,'mic.h']]], + ['micu_5fgetpower_3057',['MICU_GetPower',['../mic_8h.html#a38f4599e0d974a89a4448b3a53360cc6',1,'mic.h']]], + ['micu_5fissampling_3058',['MICU_IsSampling',['../mic_8h.html#a42078893931d09a8b27f3306c7f13a29',1,'mic.h']]], + ['micu_5fmapsharedmem_3059',['MICU_MapSharedMem',['../mic_8h.html#a3dd3e9152bbddcafe2babc371c210222',1,'mic.h']]], + ['micu_5fsample_5frate_5f10910_3060',['MICU_SAMPLE_RATE_10910',['../mic_8h.html#ae126d52922918356ed810bcc398ad62bafeff0b1c15a58a63e8321c19a0c33130',1,'mic.h']]], + ['micu_5fsample_5frate_5f16360_3061',['MICU_SAMPLE_RATE_16360',['../mic_8h.html#ae126d52922918356ed810bcc398ad62ba2b9d600ba6fd888107ddcf0fabc1f5bf',1,'mic.h']]], + ['micu_5fsample_5frate_5f32730_3062',['MICU_SAMPLE_RATE_32730',['../mic_8h.html#ae126d52922918356ed810bcc398ad62bac8da93f3cdac62489f4551f4a47856d8',1,'mic.h']]], + ['micu_5fsample_5frate_5f8180_3063',['MICU_SAMPLE_RATE_8180',['../mic_8h.html#ae126d52922918356ed810bcc398ad62bac2a768cc557b9c41aef9028824906fb0',1,'mic.h']]], + ['micu_5fsamplerate_3064',['MICU_SampleRate',['../mic_8h.html#ae126d52922918356ed810bcc398ad62b',1,'mic.h']]], + ['micu_5fsetallowshellclosed_3065',['MICU_SetAllowShellClosed',['../mic_8h.html#a913ee846ab9633883625e6477ae10cdf',1,'mic.h']]], + ['micu_5fsetclamp_3066',['MICU_SetClamp',['../mic_8h.html#a0a156a0b69714f334c004c7137a7592c',1,'mic.h']]], + ['micu_5fsetgain_3067',['MICU_SetGain',['../mic_8h.html#a0c29ffb2d0addbaca328d8aad082e3bf',1,'mic.h']]], + ['micu_5fsetpower_3068',['MICU_SetPower',['../mic_8h.html#a3a26bd2ff5eeaaf538df29230b3fda61',1,'mic.h']]], + ['micu_5fstartsampling_3069',['MICU_StartSampling',['../mic_8h.html#a79266af4aa50d790fba3680d423f6ff0',1,'mic.h']]], + ['micu_5fstopsampling_3070',['MICU_StopSampling',['../mic_8h.html#a7ea7f514ee9e50db3bc49bd3106fa967',1,'mic.h']]], + ['micu_5funmapsharedmem_3071',['MICU_UnmapSharedMem',['../mic_8h.html#ab728c230d454422b4fdc119eec7f0510',1,'mic.h']]], + ['mii_3072',['mii',['../structMiiSelectorReturn.html#a7cace8f0f54a22fa1f08fbedaf6cad25',1,'MiiSelectorReturn']]], + ['mii_2eh_3073',['mii.h',['../mii_8h.html',1,'']]], + ['mii_5fdetails_3074',['mii_details',['../structMiiData.html#ae1cf97d67779c99a80d4c4f16d26229e',1,'MiiData']]], + ['mii_5fguest_5fwhitelist_3075',['mii_guest_whitelist',['../structMiiSelectorConf.html#a85206451ab6612b5b1fda138c61b99d4',1,'MiiSelectorConf']]], + ['mii_5fid_3076',['mii_id',['../structMiiData.html#a616754183e54317a95bd052df4c0be13',1,'MiiData']]], + ['mii_5fname_3077',['mii_name',['../structMiiData.html#a8c03f37afe40e2f1dff3ef5dfc6caffd',1,'MiiData']]], + ['mii_5foptions_3078',['mii_options',['../structMiiData.html#a49d1aedfca09f6b3c58d916cef0d5c22',1,'MiiData']]], + ['mii_5fpos_3079',['mii_pos',['../structMiiData.html#a5e947411ff836b3795cc3d6195fb8f17',1,'MiiData']]], + ['mii_5fwhitelist_3080',['mii_whitelist',['../structMiiSelectorConf.html#a293f5f8466c5a01e08b82e1eb0a7f912',1,'MiiSelectorConf']]], + ['miidata_3081',['MiiData',['../structMiiData.html',1,'']]], + ['miiselector_2eh_3082',['miiselector.h',['../miiselector_8h.html',1,'']]], + ['miiselector_5fcancel_3083',['MIISELECTOR_CANCEL',['../miiselector_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a812bd83265af41310ce6fa90c5f16c5b',1,'miiselector.h']]], + ['miiselector_5fguestmii_5fname_5flen_3084',['MIISELECTOR_GUESTMII_NAME_LEN',['../miiselector_8h.html#afaab15cb73c631d935e39e717b961ae4',1,'miiselector.h']]], + ['miiselector_5fguestmii_5fslots_3085',['MIISELECTOR_GUESTMII_SLOTS',['../miiselector_8h.html#a62fc50cefec472291631e79a62e082e0',1,'miiselector.h']]], + ['miiselector_5fguests_3086',['MIISELECTOR_GUESTS',['../miiselector_8h.html#adf764cbdea00d65edcd07bb9953ad2b7aadcc61d7561902fb0f2d5fa85374ed07',1,'miiselector.h']]], + ['miiselector_5fgueststart_3087',['MIISELECTOR_GUESTSTART',['../miiselector_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a0df6be0527ccbf51f6bdaba521a61465',1,'miiselector.h']]], + ['miiselector_5fmagic_3088',['MIISELECTOR_MAGIC',['../miiselector_8h.html#a7bbdd7bc52a9f7cdeb613216e146ceab',1,'miiselector.h']]], + ['miiselector_5ftitle_5flen_3089',['MIISELECTOR_TITLE_LEN',['../miiselector_8h.html#a4cfd7d346ed3e48e609a7615780009d0',1,'miiselector.h']]], + ['miiselector_5ftop_3090',['MIISELECTOR_TOP',['../miiselector_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a7d6740c262e341414d0760e23dd0f4ef',1,'miiselector.h']]], + ['miiselector_5fusermii_5fslots_3091',['MIISELECTOR_USERMII_SLOTS',['../miiselector_8h.html#abd2981cd9f069780140d912907805202',1,'miiselector.h']]], + ['miiselectorblacklistguestmii_3092',['miiSelectorBlacklistGuestMii',['../miiselector_8h.html#a275f55a37cdd2184d30ee15e4968ed7e',1,'miiselector.h']]], + ['miiselectorblacklistusermii_3093',['miiSelectorBlacklistUserMii',['../miiselector_8h.html#ac31b08d33d6a52b13135014c26a2da3c',1,'miiselector.h']]], + ['miiselectorchecksumisvalid_3094',['miiSelectorChecksumIsValid',['../miiselector_8h.html#af45eab5584694b1eafa9705de33f8414',1,'miiselector.h']]], + ['miiselectorconf_3095',['MiiSelectorConf',['../structMiiSelectorConf.html',1,'']]], + ['miiselectorinit_3096',['miiSelectorInit',['../miiselector_8h.html#aee7ebbbc0e2a6194b82afaab0114bc82',1,'miiselector.h']]], + ['miiselectorlaunch_3097',['miiSelectorLaunch',['../miiselector_8h.html#a5e87bea7849b1c5df0fc98a4ff13c47a',1,'miiselector.h']]], + ['miiselectorreturn_3098',['MiiSelectorReturn',['../structMiiSelectorReturn.html',1,'']]], + ['miiselectorreturngetauthor_3099',['miiSelectorReturnGetAuthor',['../miiselector_8h.html#af334a980703d5f15bfff9aae8e8e1721',1,'miiselector.h']]], + ['miiselectorreturngetname_3100',['miiSelectorReturnGetName',['../miiselector_8h.html#a5549d566f70eda93494a7c54e55dbbf7',1,'miiselector.h']]], + ['miiselectorsetinitialindex_3101',['miiSelectorSetInitialIndex',['../miiselector_8h.html#a47913b909a7fdd0df4d0e331717e2ee2',1,'miiselector.h']]], + ['miiselectorsetoptions_3102',['miiSelectorSetOptions',['../miiselector_8h.html#a7e092174e706fcdff31b3f6542030de2',1,'miiselector.h']]], + ['miiselectorsettitle_3103',['miiSelectorSetTitle',['../miiselector_8h.html#aa83accf80223e94897553b9c7552af7c',1,'miiselector.h']]], + ['miiselectorwhitelistguestmii_3104',['miiSelectorWhitelistGuestMii',['../miiselector_8h.html#ae9388f43048f217ea6fe3a6eb9e3c7ed',1,'miiselector.h']]], + ['miiselectorwhitelistusermii_3105',['miiSelectorWhitelistUserMii',['../miiselector_8h.html#a0037dcd54349053a1e0147c614f354f8',1,'miiselector.h']]], + ['mole_5fdetails_3106',['mole_details',['../structMiiData.html#a3289182d8500ae92b487ba1f5b0badb7',1,'MiiData']]], + ['mouth_5fdetails_3107',['mouth_details',['../structMiiData.html#a2ff43925f586ec79434a581d742abab8',1,'MiiData']]], + ['movablesed_3108',['movableSed',['../structFS__IntegrityVerificationSeed.html#a0bece8ca3e843d78a2ad8f7c282990d9',1,'FS_IntegrityVerificationSeed']]], + ['mustache_5fdetails_3109',['mustache_details',['../structMiiData.html#ae14dcd015a3607c7947e75320127d0ce',1,'MiiData']]], + ['mvd_2eh_3110',['mvd.h',['../mvd_8h.html',1,'']]], + ['mvd_5fchecknaluproc_5fsuccess_3111',['MVD_CHECKNALUPROC_SUCCESS',['../mvd_8h.html#a788267f8f5eaba57aeaea4b7c514a90d',1,'mvd.h']]], + ['mvd_5fdefault_5fworkbuf_5fsize_3112',['MVD_DEFAULT_WORKBUF_SIZE',['../mvd_8h.html#a469adc5b4ae6402f2f762504efcb28f6',1,'mvd.h']]], + ['mvd_5finput_5fh264_3113',['MVD_INPUT_H264',['../mvd_8h.html#abcd3d62338d21a3b7d26bd96fd850f29a8487699e0ef9c80df41d1ae321a509ac',1,'mvd.h']]], + ['mvd_5finput_5fyuyv422_3114',['MVD_INPUT_YUYV422',['../mvd_8h.html#abcd3d62338d21a3b7d26bd96fd850f29aacf22aec18ff7e379b7b1578f9e10b12',1,'mvd.h']]], + ['mvd_5foutput_5fbgr565_3115',['MVD_OUTPUT_BGR565',['../mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644abc211cc1ddeb33aa942e33bbada487b6',1,'mvd.h']]], + ['mvd_5foutput_5frgb565_3116',['MVD_OUTPUT_RGB565',['../mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644a46a87383a22fc66ee051a77455f774b3',1,'mvd.h']]], + ['mvd_5foutput_5fyuyv422_3117',['MVD_OUTPUT_YUYV422',['../mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644ac3c8c4b72f05742531a4135ccd80e71e',1,'mvd.h']]], + ['mvd_5fstatus_5fok_3118',['MVD_STATUS_OK',['../mvd_8h.html#a6bf61258865ef1ef89c538f128a2ad7b',1,'mvd.h']]], + ['mvdmode_5fcolorformatconv_3119',['MVDMODE_COLORFORMATCONV',['../mvd_8h.html#a3a1b3742822153a4f62c1f79d228a861a60d87a7f2151cd67f8b0710ec39f7583',1,'mvd.h']]], + ['mvdmode_5fvideoprocessing_3120',['MVDMODE_VIDEOPROCESSING',['../mvd_8h.html#a3a1b3742822153a4f62c1f79d228a861a4a87a822d91b28e9468c0147c90be30f',1,'mvd.h']]], + ['mvdstd_5fconfig_3121',['MVDSTD_Config',['../structMVDSTD__Config.html',1,'']]], + ['mvdstd_5finitstruct_3122',['MVDSTD_InitStruct',['../structMVDSTD__InitStruct.html',1,'']]], + ['mvdstd_5finputformat_3123',['MVDSTD_InputFormat',['../mvd_8h.html#abcd3d62338d21a3b7d26bd96fd850f29',1,'mvd.h']]], + ['mvdstd_5fmode_3124',['MVDSTD_Mode',['../mvd_8h.html#a3a1b3742822153a4f62c1f79d228a861',1,'mvd.h']]], + ['mvdstd_5foutputbuffersentry_3125',['MVDSTD_OutputBuffersEntry',['../structMVDSTD__OutputBuffersEntry.html',1,'']]], + ['mvdstd_5foutputbuffersentrylist_3126',['MVDSTD_OutputBuffersEntryList',['../structMVDSTD__OutputBuffersEntryList.html',1,'']]], + ['mvdstd_5foutputformat_3127',['MVDSTD_OutputFormat',['../mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644',1,'mvd.h']]], + ['mvdstd_5fprocessnalunitout_3128',['MVDSTD_ProcessNALUnitOut',['../structMVDSTD__ProcessNALUnitOut.html',1,'']]], + ['mvdstd_5fsetconfig_3129',['MVDSTD_SetConfig',['../mvd_8h.html#a0d0db5e2224e50518ceb498847a0f17b',1,'mvd.h']]], + ['mvdstdconvertimage_3130',['mvdstdConvertImage',['../mvd_8h.html#af0dbfd085a2f01e66820d2883a5e6231',1,'mvd.h']]], + ['mvdstdexit_3131',['mvdstdExit',['../mvd_8h.html#a0268fc860c200937a3519b8aba79af95',1,'mvd.h']]], + ['mvdstdgeneratedefaultconfig_3132',['mvdstdGenerateDefaultConfig',['../mvd_8h.html#a8d335b785a9731e0184c5975c59ed1d8',1,'mvd.h']]], + ['mvdstdinit_3133',['mvdstdInit',['../mvd_8h.html#ab03653fc6535a3eea8df35fd232a6074',1,'mvd.h']]], + ['mvdstdoverrideoutputbuffers_3134',['mvdstdOverrideOutputBuffers',['../mvd_8h.html#adb7636ba2c6192d82923f13b6d4c73ea',1,'mvd.h']]], + ['mvdstdprocessvideoframe_3135',['mvdstdProcessVideoFrame',['../mvd_8h.html#afa23e5c76c315a032cf010a335669015',1,'mvd.h']]], + ['mvdstdrendervideoframe_3136',['mvdstdRenderVideoFrame',['../mvd_8h.html#a540d504cc4bbe5f199bc32d32a5a87e1',1,'mvd.h']]], + ['mvdstdsetupoutputbuffers_3137',['mvdstdSetupOutputBuffers',['../mvd_8h.html#a200b8c00ddffc127e6d7f47152974d54',1,'mvd.h']]] +]; diff --git a/search/all_f.html b/search/all_f.html new file mode 100644 index 000000000..b23da6ce4 --- /dev/null +++ b/search/all_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_f.js b/search/all_f.js new file mode 100644 index 000000000..8fcd3cbf4 --- /dev/null +++ b/search/all_f.js @@ -0,0 +1,247 @@ +var searchData= +[ + ['n3ds_5fsystem_5fmode_3138',['n3ds_system_mode',['../structExHeader__Arm11CoreInfo.html#a5d04507523e6fe5866f9a09ed13e36a8',1,'ExHeader_Arm11CoreInfo']]], + ['name_3139',['name',['../structromfs__dir.html#a07d2028d8d26a190dbb0fefd5aa15e13',1,'romfs_dir::name()'],['../structExHeader__CodeSetInfo.html#abac02edc5873ad9e096fbba2b85593c4',1,'ExHeader_CodeSetInfo::name()'],['../structromfs__file.html#a3006ecde26b50c2d30f7bed33db10e73',1,'romfs_file::name()'],['../structFS__DirectoryEntry.html#a25cdaf849c043d127ac5e9c96fa39f62',1,'FS_DirectoryEntry::name()'],['../structCodeSetHeader.html#a47a95fef04977b164bf47d42e0a50004',1,'CodeSetHeader::name()']]], + ['namelen_3140',['nameLen',['../structromfs__dir.html#a23aa470d929a32b6dfd11ae63fa2d933',1,'romfs_dir::nameLen()'],['../structromfs__file.html#a690d35645dd2a707bfb7ed4e2425b6b6',1,'romfs_file::nameLen()']]], + ['nblocks_3141',['nBlocks',['../structCFNT__s.html#a8234a7f3ae4c53208893a81c65e5f712',1,'CFNT_s']]], + ['ncchmodulus_3142',['ncchModulus',['../structExHeader__AccessDescriptor.html#a4f11fd10ca9b8ebdf10201977df84a82',1,'ExHeader_AccessDescriptor']]], + ['ndm_2eh_3143',['ndm.h',['../ndm_8h.html',1,'']]], + ['ndmdaemonmask_3144',['ndmDaemonMask',['../ndm_8h.html#a157ae107f2a89d5bc1e7df963807affc',1,'ndm.h']]], + ['ndmexclusivestate_3145',['ndmExclusiveState',['../ndm_8h.html#ac449fc980e0f697f0b8757312e478b05',1,'ndm.h']]], + ['ndmstate_3146',['ndmState',['../ndm_8h.html#a28030aff40d77f43a6cc48a37246a53f',1,'ndm.h']]], + ['ndmu_5fclearmacfilter_3147',['NDMU_ClearMacFilter',['../ndm_8h.html#ac9fbd18b9eb14c05bf660fab6f9c3845',1,'ndm.h']]], + ['ndmu_5fenterexclusivestate_3148',['NDMU_EnterExclusiveState',['../ndm_8h.html#a5c21fd857b7a3753924da6ad481ce002',1,'ndm.h']]], + ['ndmu_5fgetcurrentstate_3149',['NDMU_GetCurrentState',['../ndm_8h.html#a83703bddc92c4cb754288513f339d48a',1,'ndm.h']]], + ['ndmu_5fgetdefaultdaemons_3150',['NDMU_GetDefaultDaemons',['../ndm_8h.html#a2c6075c27969b4fd4a34c7b1a798a132',1,'ndm.h']]], + ['ndmu_5fgetexclusivestate_3151',['NDMU_GetExclusiveState',['../ndm_8h.html#a1771a0b2d8335258dac1516c075c6479',1,'ndm.h']]], + ['ndmu_5fgetretryinterval_3152',['NDMU_GetRetryInterval',['../ndm_8h.html#a0bfdcfa3a1404b602401a28f9862ab2c',1,'ndm.h']]], + ['ndmu_5fgetscaninterval_3153',['NDMU_GetScanInterval',['../ndm_8h.html#a605a5043fb2a8fa9472b902db55662b9',1,'ndm.h']]], + ['ndmu_5fleaveexclusivestate_3154',['NDMU_LeaveExclusiveState',['../ndm_8h.html#a15a77b103022b32b142000584fb7d72c',1,'ndm.h']]], + ['ndmu_5flockstate_3155',['NDMU_LockState',['../ndm_8h.html#a53d48b44be668e44985b2de992f123b1',1,'ndm.h']]], + ['ndmu_5fquerystatus_3156',['NDMU_QueryStatus',['../ndm_8h.html#a7a64430fda1f35ff7f8f35e9690fae8a',1,'ndm.h']]], + ['ndmu_5fresetdaemons_3157',['NDMU_ResetDaemons',['../ndm_8h.html#aa265df104d1d158a55a921ad26fef7f4',1,'ndm.h']]], + ['ndmu_5fresumedaemons_3158',['NDMU_ResumeDaemons',['../ndm_8h.html#af7abcdefe0c10daf73a8f99bf34f9976',1,'ndm.h']]], + ['ndmu_5fresumescheduler_3159',['NDMU_ResumeScheduler',['../ndm_8h.html#a6bad2398748f41fc90eec02105ce7817',1,'ndm.h']]], + ['ndmu_5fsetscaninterval_3160',['NDMU_SetScanInterval',['../ndm_8h.html#aabb6e8ebbfd11bf8f153e98141db0fb8',1,'ndm.h']]], + ['ndmu_5fsuspenddaemons_3161',['NDMU_SuspendDaemons',['../ndm_8h.html#a1f6ba2302d593958ef4b044c31a2d85f',1,'ndm.h']]], + ['ndmu_5fsuspendscheduler_3162',['NDMU_SuspendScheduler',['../ndm_8h.html#a7bf60778681c0e7935b58adbe1ec1640',1,'ndm.h']]], + ['ndmu_5funlockstate_3163',['NDMU_UnlockState',['../ndm_8h.html#a644c0558c348d3ed63f21294afc7c570',1,'ndm.h']]], + ['ndmuexit_3164',['ndmuExit',['../ndm_8h.html#ab1eb884a130b4d224fe9575622e43c5b',1,'ndm.h']]], + ['ndmuinit_3165',['ndmuInit',['../ndm_8h.html#ac2f23c69f3da35fe520d1c5e9a0a0af3',1,'ndm.h']]], + ['ndsp_2eh_3166',['ndsp.h',['../ndsp_8h.html',1,'']]], + ['ndsp_5f3d_5fsurround_5fpreprocessed_3167',['NDSP_3D_SURROUND_PREPROCESSED',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562a7af2e3b4de379053f3edde298c3391ed',1,'channel.h']]], + ['ndsp_5fchannels_3168',['NDSP_CHANNELS',['../channel_8h.html#ab722b50ffe7e9b2f87e2fb5200c2638d',1,'channel.h']]], + ['ndsp_5fclip_5fnormal_3169',['NDSP_CLIP_NORMAL',['../ndsp_8h.html#a256d7e48bf7174660fc538ac396b9b19a188005687d5eb075cfcd78016371c893',1,'ndsp.h']]], + ['ndsp_5fclip_5fsoft_3170',['NDSP_CLIP_SOFT',['../ndsp_8h.html#a256d7e48bf7174660fc538ac396b9b19abf0c921ecef3f50bb4b9efb8338aa94a',1,'ndsp.h']]], + ['ndsp_5fencoding_3171',['NDSP_ENCODING',['../channel_8h.html#a6a3d697b96706c5e9750122d9db592cd',1,'channel.h']]], + ['ndsp_5fencoding_5fadpcm_3172',['NDSP_ENCODING_ADPCM',['../channel_8h.html#a458e651af6690959efa2afb96be7d609ac588413fc3520d386b805e6db0c23c96',1,'channel.h']]], + ['ndsp_5fencoding_5fpcm16_3173',['NDSP_ENCODING_PCM16',['../channel_8h.html#a458e651af6690959efa2afb96be7d609a641b555f1e09eb8ab7e684df4cdd463a',1,'channel.h']]], + ['ndsp_5fencoding_5fpcm8_3174',['NDSP_ENCODING_PCM8',['../channel_8h.html#a458e651af6690959efa2afb96be7d609ae4f3bbb73c75334eed7c63bb947e3ec1',1,'channel.h']]], + ['ndsp_5fformat_5fadpcm_3175',['NDSP_FORMAT_ADPCM',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562a4b28453b73b164bd85d5deaa084c357e',1,'channel.h']]], + ['ndsp_5fformat_5fmono_5fadpcm_3176',['NDSP_FORMAT_MONO_ADPCM',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562a9e89ff35ab28474c60a4a642b3da2494',1,'channel.h']]], + ['ndsp_5fformat_5fmono_5fpcm16_3177',['NDSP_FORMAT_MONO_PCM16',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562af9368c39428fe9513f993ee4e9444cb6',1,'channel.h']]], + ['ndsp_5fformat_5fmono_5fpcm8_3178',['NDSP_FORMAT_MONO_PCM8',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562a4d9a3eff8fae0658ed120ebadd5c6f42',1,'channel.h']]], + ['ndsp_5fformat_5fpcm16_3179',['NDSP_FORMAT_PCM16',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562a462360a2e9ccc2ccd634f1751c653477',1,'channel.h']]], + ['ndsp_5fformat_5fpcm8_3180',['NDSP_FORMAT_PCM8',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562afa20b191a6601f6634c5851b685da433',1,'channel.h']]], + ['ndsp_5fformat_5fstereo_5fpcm16_3181',['NDSP_FORMAT_STEREO_PCM16',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562a834e1e072bc81fa728389d8759fc51b3',1,'channel.h']]], + ['ndsp_5fformat_5fstereo_5fpcm8_3182',['NDSP_FORMAT_STEREO_PCM8',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562a5c451e1cb286465f8467767bc33696a3',1,'channel.h']]], + ['ndsp_5ffront_5fbypass_3183',['NDSP_FRONT_BYPASS',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562a21a2e8f1b3fea65d9d636ebae1df2533',1,'channel.h']]], + ['ndsp_5finterp_5flinear_3184',['NDSP_INTERP_LINEAR',['../channel_8h.html#a6319005cb21b18395a1452e95aabbec3a0d5a9ea8e53a246b1ac65dc294a5fd53',1,'channel.h']]], + ['ndsp_5finterp_5fnone_3185',['NDSP_INTERP_NONE',['../channel_8h.html#a6319005cb21b18395a1452e95aabbec3ad9872be8d23d3d2023e205d5f5fb388c',1,'channel.h']]], + ['ndsp_5finterp_5fpolyphase_3186',['NDSP_INTERP_POLYPHASE',['../channel_8h.html#a6319005cb21b18395a1452e95aabbec3ac8e204d77e18ef8913e2eab1b18e002b',1,'channel.h']]], + ['ndsp_5foutput_5fmono_3187',['NDSP_OUTPUT_MONO',['../ndsp_8h.html#aa9cfcfee3c85f67dadf1091b9b8bdcfda901dbb3dd6f7588228ca0052b3b5ca55',1,'ndsp.h']]], + ['ndsp_5foutput_5fstereo_3188',['NDSP_OUTPUT_STEREO',['../ndsp_8h.html#aa9cfcfee3c85f67dadf1091b9b8bdcfdad0643ea33ee4590c7239f1eec1fe9fd1',1,'ndsp.h']]], + ['ndsp_5foutput_5fsurround_3189',['NDSP_OUTPUT_SURROUND',['../ndsp_8h.html#aa9cfcfee3c85f67dadf1091b9b8bdcfdae0c412a650b7b63783a8e0a3d84666e4',1,'ndsp.h']]], + ['ndsp_5fspkpos_5fnum_3190',['NDSP_SPKPOS_NUM',['../ndsp_8h.html#aaa155e6e3bd6e21c43a7bbf7466f26d4a3be9513896beef2994022864ed335911',1,'ndsp.h']]], + ['ndsp_5fspkpos_5fsquare_3191',['NDSP_SPKPOS_SQUARE',['../ndsp_8h.html#aaa155e6e3bd6e21c43a7bbf7466f26d4a6534cb3b5d41add240139d97c0d92cef',1,'ndsp.h']]], + ['ndsp_5fspkpos_5fwide_3192',['NDSP_SPKPOS_WIDE',['../ndsp_8h.html#aaa155e6e3bd6e21c43a7bbf7466f26d4a26bcddb04c06a3e782b84c43edd98d4c',1,'ndsp.h']]], + ['ndsp_5fwbuf_5fdone_3193',['NDSP_WBUF_DONE',['../ndsp_8h.html#a77867ab4129f63159b37bca3b652a798ad47b533bf89b23c67243aa19e889bd68',1,'ndsp.h']]], + ['ndsp_5fwbuf_5ffree_3194',['NDSP_WBUF_FREE',['../ndsp_8h.html#a77867ab4129f63159b37bca3b652a798a723dbfb7dc9c50cb1ff5a3fda4f4dfe1',1,'ndsp.h']]], + ['ndsp_5fwbuf_5fplaying_3195',['NDSP_WBUF_PLAYING',['../ndsp_8h.html#a77867ab4129f63159b37bca3b652a798ab703579b9808d95a1c231452e70948a8',1,'ndsp.h']]], + ['ndsp_5fwbuf_5fqueued_3196',['NDSP_WBUF_QUEUED',['../ndsp_8h.html#a77867ab4129f63159b37bca3b652a798a35e846d5d3a0c40a9009efe2096381c2',1,'ndsp.h']]], + ['ndspadpcmdata_3197',['ndspAdpcmData',['../structndspAdpcmData.html',1,'']]], + ['ndspauxcallback_3198',['ndspAuxCallback',['../ndsp_8h.html#ac7a08ac8efd0376efd6a6e1b1a064ca8',1,'ndsp.h']]], + ['ndspauxgetfrontbypass_3199',['ndspAuxGetFrontBypass',['../ndsp_8h.html#a08dfa162e7c8b645b4bcf6a30cc89d33',1,'ndsp.h']]], + ['ndspauxgetvolume_3200',['ndspAuxGetVolume',['../ndsp_8h.html#a0a794d7a270ea45152aee0cb627ad5c9',1,'ndsp.h']]], + ['ndspauxisenabled_3201',['ndspAuxIsEnabled',['../ndsp_8h.html#a32b7786e218a8478446d943cf4d8fa99',1,'ndsp.h']]], + ['ndspauxsetcallback_3202',['ndspAuxSetCallback',['../ndsp_8h.html#a3d50a5aefd0c07489db48c012f14743d',1,'ndsp.h']]], + ['ndspauxsetenable_3203',['ndspAuxSetEnable',['../ndsp_8h.html#a97972972fe7da567764ea131cc24839e',1,'ndsp.h']]], + ['ndspauxsetfrontbypass_3204',['ndspAuxSetFrontBypass',['../ndsp_8h.html#a6afdf67a090c45e19cf3c520978fdbb3',1,'ndsp.h']]], + ['ndspauxsetvolume_3205',['ndspAuxSetVolume',['../ndsp_8h.html#ac9cef68b897e24ba19f734879b5866da',1,'ndsp.h']]], + ['ndspcallback_3206',['ndspCallback',['../ndsp_8h.html#a7b56d354bc3e6300c2463e54cdc5c29f',1,'ndsp.h']]], + ['ndspchngetformat_3207',['ndspChnGetFormat',['../channel_8h.html#a10f1f8593e8df973c62a16367731c590',1,'channel.h']]], + ['ndspchngetinterp_3208',['ndspChnGetInterp',['../channel_8h.html#a5b51c4320d90814f037c1d58140ff17f',1,'channel.h']]], + ['ndspchngetmix_3209',['ndspChnGetMix',['../channel_8h.html#a42c4aac60efde6f7b5ab273aee906a62',1,'channel.h']]], + ['ndspchngetrate_3210',['ndspChnGetRate',['../channel_8h.html#afc939493191883e908783048fa0216b4',1,'channel.h']]], + ['ndspchngetsamplepos_3211',['ndspChnGetSamplePos',['../channel_8h.html#a827bf43cb8dd8ccaa74a29456589a39d',1,'channel.h']]], + ['ndspchngetwavebufseq_3212',['ndspChnGetWaveBufSeq',['../channel_8h.html#a17607395e3725f7a35b4395cbd59cb60',1,'channel.h']]], + ['ndspchniirbiquadsetenable_3213',['ndspChnIirBiquadSetEnable',['../channel_8h.html#aafb95ce3188816694c51e30d7a64d8af',1,'channel.h']]], + ['ndspchniirbiquadsetparamsbandpassfilter_3214',['ndspChnIirBiquadSetParamsBandPassFilter',['../channel_8h.html#af6c9d1d59c93164aae5a54ee7e8db2a9',1,'channel.h']]], + ['ndspchniirbiquadsetparamscustomfilter_3215',['ndspChnIirBiquadSetParamsCustomFilter',['../channel_8h.html#a7334f9d5dc89a43a5a78877665281fdc',1,'channel.h']]], + ['ndspchniirbiquadsetparamshighpassfilter_3216',['ndspChnIirBiquadSetParamsHighPassFilter',['../channel_8h.html#a8f543d0b8a10acbfb380b93b7bd47a75',1,'channel.h']]], + ['ndspchniirbiquadsetparamslowpassfilter_3217',['ndspChnIirBiquadSetParamsLowPassFilter',['../channel_8h.html#a78516636efb5eacd7b88ee54bd15bfb3',1,'channel.h']]], + ['ndspchniirbiquadsetparamsnotchfilter_3218',['ndspChnIirBiquadSetParamsNotchFilter',['../channel_8h.html#a671f5c90eb859c13eab4adf29f7943b3',1,'channel.h']]], + ['ndspchniirbiquadsetparamspeakingequalizer_3219',['ndspChnIirBiquadSetParamsPeakingEqualizer',['../channel_8h.html#a9ebeb91e95d5146358d0923a9d6fee0a',1,'channel.h']]], + ['ndspchniirmonosetenable_3220',['ndspChnIirMonoSetEnable',['../channel_8h.html#a1da3b363c2edfd318c92276b527daae6',1,'channel.h']]], + ['ndspchniirmonosetparamscustomfilter_3221',['ndspChnIirMonoSetParamsCustomFilter',['../channel_8h.html#a4b7db8c300510523f0d13b4a88416c4d',1,'channel.h']]], + ['ndspchniirmonosetparamshighpassfilter_3222',['ndspChnIirMonoSetParamsHighPassFilter',['../channel_8h.html#a7e45d6a7193825ea7cd9bf9c6b8a6548',1,'channel.h']]], + ['ndspchniirmonosetparamslowpassfilter_3223',['ndspChnIirMonoSetParamsLowPassFilter',['../channel_8h.html#abebeff0925fc86405750720efc11a7d0',1,'channel.h']]], + ['ndspchninitparams_3224',['ndspChnInitParams',['../channel_8h.html#a0936956c6d5700cdbab4ea3e3304f19d',1,'channel.h']]], + ['ndspchnispaused_3225',['ndspChnIsPaused',['../channel_8h.html#a8a14aa007d2ca0d6e87a90edf64e03b5',1,'channel.h']]], + ['ndspchnisplaying_3226',['ndspChnIsPlaying',['../channel_8h.html#a0eee6c9ebf357c8d55d087a378178f9b',1,'channel.h']]], + ['ndspchnreset_3227',['ndspChnReset',['../channel_8h.html#a7b755904976d3b04b3303475d9605bd8',1,'channel.h']]], + ['ndspchnsetadpcmcoefs_3228',['ndspChnSetAdpcmCoefs',['../channel_8h.html#adbd48651f22341bb93cb9b7f1304a00f',1,'channel.h']]], + ['ndspchnsetformat_3229',['ndspChnSetFormat',['../channel_8h.html#a7986171c79c227443ef5ea60c464de23',1,'channel.h']]], + ['ndspchnsetinterp_3230',['ndspChnSetInterp',['../channel_8h.html#ac98e0b63e35e22aeea5265fd93f5206f',1,'channel.h']]], + ['ndspchnsetmix_3231',['ndspChnSetMix',['../channel_8h.html#a30eb26f1972cc3ec28370263796c0444',1,'channel.h']]], + ['ndspchnsetpaused_3232',['ndspChnSetPaused',['../channel_8h.html#acdd5e211d825656d78503e111e98de6e',1,'channel.h']]], + ['ndspchnsetrate_3233',['ndspChnSetRate',['../channel_8h.html#a6f1076a8981a5b6722b912ca969162ea',1,'channel.h']]], + ['ndspchnwavebufadd_3234',['ndspChnWaveBufAdd',['../channel_8h.html#a354a90dd921879724d62d325c0128d6b',1,'channel.h']]], + ['ndspchnwavebufclear_3235',['ndspChnWaveBufClear',['../channel_8h.html#a054a58a102d00590a33101fe0de516e6',1,'channel.h']]], + ['ndspclippingmode_3236',['ndspClippingMode',['../ndsp_8h.html#a256d7e48bf7174660fc538ac396b9b19',1,'ndsp.h']]], + ['ndspexit_3237',['ndspExit',['../ndsp_8h.html#aa677674b20004d3d5fd620bdc1cb8afa',1,'ndsp.h']]], + ['ndspgetclippingmode_3238',['ndspGetClippingMode',['../ndsp_8h.html#a727572e06db906509d900c9a763bc7d3',1,'ndsp.h']]], + ['ndspgetdroppedframes_3239',['ndspGetDroppedFrames',['../ndsp_8h.html#a103449d7ddeb2814f6105916f3dfd11f',1,'ndsp.h']]], + ['ndspgetframecount_3240',['ndspGetFrameCount',['../ndsp_8h.html#a8b7e40b247efd6949e4a18a81895739e',1,'ndsp.h']]], + ['ndspgetmastervol_3241',['ndspGetMasterVol',['../ndsp_8h.html#a48a77b511ac2dd67fbe75c759f1ab53d',1,'ndsp.h']]], + ['ndspgetoutputcount_3242',['ndspGetOutputCount',['../ndsp_8h.html#aca1e2aa8184a66fd6d0640672fae7c54',1,'ndsp.h']]], + ['ndspgetoutputmode_3243',['ndspGetOutputMode',['../ndsp_8h.html#a92e686cb96ab1ad4271dab11b85e98e3',1,'ndsp.h']]], + ['ndspinit_3244',['ndspInit',['../ndsp_8h.html#af291186c61a1899c748aac58662d7ba4',1,'ndsp.h']]], + ['ndspinterptype_3245',['ndspInterpType',['../channel_8h.html#a6319005cb21b18395a1452e95aabbec3',1,'channel.h']]], + ['ndspoutputmode_3246',['ndspOutputMode',['../ndsp_8h.html#aa9cfcfee3c85f67dadf1091b9b8bdcfd',1,'ndsp.h']]], + ['ndspsetcallback_3247',['ndspSetCallback',['../ndsp_8h.html#a6e54ee9185248b1d4a120396bfbf5603',1,'ndsp.h']]], + ['ndspsetcapture_3248',['ndspSetCapture',['../ndsp_8h.html#ac5271edca9a280bca385295aea413a84',1,'ndsp.h']]], + ['ndspsetclippingmode_3249',['ndspSetClippingMode',['../ndsp_8h.html#ad294c6cec5824d53a92a2a9db43f672a',1,'ndsp.h']]], + ['ndspsetmastervol_3250',['ndspSetMasterVol',['../ndsp_8h.html#aa9c115610bf7827b73edbc2579e4b18b',1,'ndsp.h']]], + ['ndspsetoutputcount_3251',['ndspSetOutputCount',['../ndsp_8h.html#a15e3d9f39a89eb0231dc4f9b272e42be',1,'ndsp.h']]], + ['ndspsetoutputmode_3252',['ndspSetOutputMode',['../ndsp_8h.html#a49a1a618032d220adf0007353273ebc0',1,'ndsp.h']]], + ['ndspspeakerpos_3253',['ndspSpeakerPos',['../ndsp_8h.html#aaa155e6e3bd6e21c43a7bbf7466f26d4',1,'ndsp.h']]], + ['ndspsurroundgetdepth_3254',['ndspSurroundGetDepth',['../ndsp_8h.html#a759dcdad6b63562605ce74526d57a0a5',1,'ndsp.h']]], + ['ndspsurroundgetpos_3255',['ndspSurroundGetPos',['../ndsp_8h.html#a29442221a5f36528788951f2c7bd4fff',1,'ndsp.h']]], + ['ndspsurroundgetrearratio_3256',['ndspSurroundGetRearRatio',['../ndsp_8h.html#a34bd63715a28ab4f8faa367d841b4904',1,'ndsp.h']]], + ['ndspsurroundsetdepth_3257',['ndspSurroundSetDepth',['../ndsp_8h.html#ac2490547f4cc87ce71bd22aa49366649',1,'ndsp.h']]], + ['ndspsurroundsetpos_3258',['ndspSurroundSetPos',['../ndsp_8h.html#a4a946928ccdd63672289b74302a39dfa',1,'ndsp.h']]], + ['ndspsurroundsetrearratio_3259',['ndspSurroundSetRearRatio',['../ndsp_8h.html#afbada5995eafed2c04a12a124e752fa1',1,'ndsp.h']]], + ['ndspusecomponent_3260',['ndspUseComponent',['../ndsp_8h.html#a50a0fa4fb97bbab2d0b862d0e1c2a341',1,'ndsp.h']]], + ['netmask_3261',['netmask',['../structSOCU__IPInfo.html#abf4f6a9cbda4c0d0b053f94413669df9',1,'SOCU_IPInfo::netmask()'],['../structSOCU__RoutingTableEntry.html#a1a23b0bdc866127a3c85189c7a55667e',1,'SOCU_RoutingTableEntry::netmask()']]], + ['netopt_5farp_5ftable_3262',['NETOPT_ARP_TABLE',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195bad54186bb5d20deb3f23f4f68af9bb46f',1,'soc.h']]], + ['netopt_5fdhcp_5flease_5ftime_3263',['NETOPT_DHCP_LEASE_TIME',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195ba6c2850ad357b5e7c3d4b7fed113066fe',1,'soc.h']]], + ['netopt_5fdns_5ftable_3264',['NETOPT_DNS_TABLE',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195ba54167541fe52565a71798a1de933a03e',1,'soc.h']]], + ['netopt_5fip_5finfo_3265',['NETOPT_IP_INFO',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195bad87e12b1a746874485def4698fc299d6',1,'soc.h']]], + ['netopt_5fip_5fmtu_3266',['NETOPT_IP_MTU',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195baf40c8ab5617941e0c2688330404b432e',1,'soc.h']]], + ['netopt_5fmac_5faddress_3267',['NETOPT_MAC_ADDRESS',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195ba151701448597b75b590349b671df99d9',1,'soc.h']]], + ['netopt_5frouting_5ftable_3268',['NETOPT_ROUTING_TABLE',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195ba84ecb7d26ff74c7e92d7b6837d83c9b3',1,'soc.h']]], + ['netopt_5ftcp_5fnumber_3269',['NETOPT_TCP_NUMBER',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195ba5def01a955bd5ccbd6f8bb5ff6fa585c',1,'soc.h']]], + ['netopt_5ftcp_5ftable_3270',['NETOPT_TCP_TABLE',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195ba7de29cd696b4bbafac7255ba4e86b806',1,'soc.h']]], + ['netopt_5fudp_5fnumber_3271',['NETOPT_UDP_NUMBER',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195ba9e1b6ce01f6201e942cf9f3d73f0dc15',1,'soc.h']]], + ['netopt_5fudp_5ftable_3272',['NETOPT_UDP_TABLE',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195bacf2e5444441f93c89d89eceda5eebf4c',1,'soc.h']]], + ['networkopt_3273',['NetworkOpt',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195b',1,'soc.h']]], + ['news_2eh_3274',['news.h',['../news_8h.html',1,'']]], + ['news_5faddnotification_3275',['NEWS_AddNotification',['../news_8h.html#a30e06799b2696add95150e6118a461d9',1,'news.h']]], + ['news_5fgetnotificationheader_3276',['NEWS_GetNotificationHeader',['../news_8h.html#a5665c31905bc14e022c3b2fec23e1e59',1,'news.h']]], + ['news_5fgetnotificationimage_3277',['NEWS_GetNotificationImage',['../news_8h.html#a3d4541cfc3e4adf22d71a304715a7e52',1,'news.h']]], + ['news_5fgetnotificationmessage_3278',['NEWS_GetNotificationMessage',['../news_8h.html#a342d7f3c7169e0aec161bf1c5c75ac19',1,'news.h']]], + ['news_5fgettotalnotifications_3279',['NEWS_GetTotalNotifications',['../news_8h.html#a07345dad4ba2b7440c75914d2f1121fb',1,'news.h']]], + ['news_5fsetnotificationheader_3280',['NEWS_SetNotificationHeader',['../news_8h.html#a97cb83db73c7b92077febb9e296b9709',1,'news.h']]], + ['news_5fsetnotificationimage_3281',['NEWS_SetNotificationImage',['../news_8h.html#a29892d78e9e4d55dfc26e4498d748531',1,'news.h']]], + ['news_5fsetnotificationmessage_3282',['NEWS_SetNotificationMessage',['../news_8h.html#a8c44f1783dda6c1e8460f188190a8562',1,'news.h']]], + ['newsexit_3283',['newsExit',['../news_8h.html#aa23120983d46631b08ac6205a55124bd',1,'news.h']]], + ['newsinit_3284',['newsInit',['../news_8h.html#a3c194c45cf4af52ee77038055569be7d',1,'news.h']]], + ['next_3285',['next',['../structdspHookCookie.html#aaaa2ec6d05daa82cba31ee125d0a3f69',1,'dspHookCookie::next()'],['../structaptHookCookie.html#a33a1ae3e3190e03beaa711bda3f4fc95',1,'aptHookCookie::next()'],['../structtag__ndspWaveBuf.html#a227ff854f75d71f04bbea7fc48b364f6',1,'tag_ndspWaveBuf::next()'],['../structtag__CMAP__s.html#ae6f0e5b3ffc51bf172d704fdebd60306',1,'tag_CMAP_s::next()'],['../structtag__CWDH__s.html#add2dc81b2f75381299bd1211ba279b7f',1,'tag_CWDH_s::next()']]], + ['nexthash_3286',['nextHash',['../structromfs__file.html#a6cedcd73580bdbd9370f2131eaeac43c',1,'romfs_file::nextHash()'],['../structromfs__dir.html#af957c0dda90285806b9973b29552781c',1,'romfs_dir::nextHash()']]], + ['nfc_2eh_3287',['nfc.h',['../nfc_8h.html',1,'']]], + ['nfc_5famiiboconfig_3288',['NFC_AmiiboConfig',['../structNFC__AmiiboConfig.html',1,'']]], + ['nfc_5famiiboflag_5fappdatasetup_3289',['NFC_amiiboFlag_AppDataSetup',['../nfc_8h.html#a531c35e38ede3ea4e5ba5afb24b29493a16ce51e6a1dce2256d7a988d1dd9add4',1,'nfc.h']]], + ['nfc_5famiibosettings_3290',['NFC_AmiiboSettings',['../structNFC__AmiiboSettings.html',1,'']]], + ['nfc_5fappdatainitstruct_3291',['NFC_AppDataInitStruct',['../structNFC__AppDataInitStruct.html',1,'']]], + ['nfc_5fappdatawritestruct_3292',['NFC_AppDataWriteStruct',['../structNFC__AppDataWriteStruct.html',1,'']]], + ['nfc_5ferr_5famiibo_5fnotsetup_3293',['NFC_ERR_AMIIBO_NOTSETUP',['../nfc_8h.html#a1933b382f5960700e016b8f5a20c420b',1,'nfc.h']]], + ['nfc_5ferr_5fappdata_5funinitialized_3294',['NFC_ERR_APPDATA_UNINITIALIZED',['../nfc_8h.html#a874ef45433da4582948a692fab7225ba',1,'nfc.h']]], + ['nfc_5ferr_5fappid_5fmismatch_3295',['NFC_ERR_APPID_MISMATCH',['../nfc_8h.html#af62d4461851c683739a4154a95bcbe64',1,'nfc.h']]], + ['nfc_5ferr_5fdatacorruption0_3296',['NFC_ERR_DATACORRUPTION0',['../nfc_8h.html#a71f20a0149822130f47496369e8ac446',1,'nfc.h']]], + ['nfc_5ferr_5fdatacorruption1_3297',['NFC_ERR_DATACORRUPTION1',['../nfc_8h.html#a07acea106acdf958061b9b8e74fa05d0',1,'nfc.h']]], + ['nfc_5ferr_5finvalid_5fstate_3298',['NFC_ERR_INVALID_STATE',['../nfc_8h.html#ad13ff10463dc54dafdb68fe33f97fa72',1,'nfc.h']]], + ['nfc_5foptype_3299',['NFC_OpType',['../nfc_8h.html#a9eece04c91681b888fb1fa0744944cd7',1,'nfc.h']]], + ['nfc_5foptype_5fnfctag_3300',['NFC_OpType_NFCTag',['../nfc_8h.html#a9eece04c91681b888fb1fa0744944cd7a0cd7ce431e3b1f84d93ae5f1c60fa8b7',1,'nfc.h']]], + ['nfc_5foptype_5frawnfc_3301',['NFC_OpType_RawNFC',['../nfc_8h.html#a9eece04c91681b888fb1fa0744944cd7a4dfe8836eb56105d0b7a3f84c615ffb3',1,'nfc.h']]], + ['nfc_5fstartscan_5fdefaultinput_3302',['NFC_STARTSCAN_DEFAULTINPUT',['../nfc_8h.html#a74193ef260c5a8942d77835636e4f36c',1,'nfc.h']]], + ['nfc_5ftaginfo_3303',['NFC_TagInfo',['../structNFC__TagInfo.html',1,'']]], + ['nfc_5ftagstate_3304',['NFC_TagState',['../nfc_8h.html#a69a16164e08b77836ef1bc9482f16d48',1,'nfc.h']]], + ['nfc_5ftagstate_5fdataready_3305',['NFC_TagState_DataReady',['../nfc_8h.html#a69a16164e08b77836ef1bc9482f16d48a05ee15a8c4822b2cfe6d5c609ef02069',1,'nfc.h']]], + ['nfc_5ftagstate_5finrange_3306',['NFC_TagState_InRange',['../nfc_8h.html#a69a16164e08b77836ef1bc9482f16d48af5614df893e8dff6bed2e253e869073a',1,'nfc.h']]], + ['nfc_5ftagstate_5foutofrange_3307',['NFC_TagState_OutOfRange',['../nfc_8h.html#a69a16164e08b77836ef1bc9482f16d48a3724306f91d953f27676392d586144ed',1,'nfc.h']]], + ['nfc_5ftagstate_5fscanning_3308',['NFC_TagState_Scanning',['../nfc_8h.html#a69a16164e08b77836ef1bc9482f16d48aafac0dbd5b19fe620065ee0e0594e182',1,'nfc.h']]], + ['nfc_5ftagstate_5fscanningstopped_3309',['NFC_TagState_ScanningStopped',['../nfc_8h.html#a69a16164e08b77836ef1bc9482f16d48ab8076e3eb5dae8b8a6039bd5216bc00b',1,'nfc.h']]], + ['nfccmd21_3310',['nfcCmd21',['../nfc_8h.html#a24c86d1a32ec011bad1c2bdae1eb8e26',1,'nfc.h']]], + ['nfccmd22_3311',['nfcCmd22',['../nfc_8h.html#a0c46ce5e0bb848fc966821278a76646c',1,'nfc.h']]], + ['nfcexit_3312',['nfcExit',['../nfc_8h.html#a28d582228da24339528ddb84ab6224f8',1,'nfc.h']]], + ['nfcgetamiiboconfig_3313',['nfcGetAmiiboConfig',['../nfc_8h.html#a26dccce0f9fa807abf31ffa5cf5c28e7',1,'nfc.h']]], + ['nfcgetamiibosettings_3314',['nfcGetAmiiboSettings',['../nfc_8h.html#ab3072a287fd53717e05c8aca7265ad1c',1,'nfc.h']]], + ['nfcgetsessionhandle_3315',['nfcGetSessionHandle',['../nfc_8h.html#acd3f71363e602913e0a5f3b980fa09e3',1,'nfc.h']]], + ['nfcgettaginfo_3316',['nfcGetTagInfo',['../nfc_8h.html#a10329321c3f31c5b4c5f273c54497b1f',1,'nfc.h']]], + ['nfcgettagstate_3317',['nfcGetTagState',['../nfc_8h.html#a7e0e09ac27a6ceefea37fa33c0330b7b',1,'nfc.h']]], + ['nfcinit_3318',['nfcInit',['../nfc_8h.html#a7596b3f973da03255dc6528bf1000092',1,'nfc.h']]], + ['nfcinitializewriteappdata_3319',['nfcInitializeWriteAppData',['../nfc_8h.html#adba9904e5419fd1116639802ee4f3976',1,'nfc.h']]], + ['nfcloadamiibodata_3320',['nfcLoadAmiiboData',['../nfc_8h.html#a56c7173fe91f49f79098da6db466df1b',1,'nfc.h']]], + ['nfcopenappdata_3321',['nfcOpenAppData',['../nfc_8h.html#a9a0588d2d7bf6174b21fdb1d18d325b7',1,'nfc.h']]], + ['nfcreadappdata_3322',['nfcReadAppData',['../nfc_8h.html#a96eaa70e51883928d1289391ac6d0e99',1,'nfc.h']]], + ['nfcresettagscanstate_3323',['nfcResetTagScanState',['../nfc_8h.html#a9d3c5604801770e2e8b9ae1298c4834d',1,'nfc.h']]], + ['nfcsendtagcommand_3324',['nfcSendTagCommand',['../nfc_8h.html#a927cd24bd9c4018521ff205b8603c1cb',1,'nfc.h']]], + ['nfcstartothertagscanning_3325',['nfcStartOtherTagScanning',['../nfc_8h.html#abc0100533e84183043289003958ea15a',1,'nfc.h']]], + ['nfcstartscanning_3326',['nfcStartScanning',['../nfc_8h.html#ac3ef0b90950c2111d60dce85bcebbc25',1,'nfc.h']]], + ['nfcstopscanning_3327',['nfcStopScanning',['../nfc_8h.html#aed548d946f176cb58d27f02eb3f8788b',1,'nfc.h']]], + ['nfcupdatestoredamiibodata_3328',['nfcUpdateStoredAmiiboData',['../nfc_8h.html#a25d99d1157eba6cd04662e73bfad21d7',1,'nfc.h']]], + ['nfcwriteappdata_3329',['nfcWriteAppData',['../nfc_8h.html#ae123ea01db425b1a36f3d423a058f3a3',1,'nfc.h']]], + ['nickname_3330',['nickname',['../structNFC__AmiiboSettings.html#a8af186bc8f48b4b07a06553e3c1fbd96',1,'NFC_AmiiboSettings']]], + ['nim_2eh_3331',['nim.h',['../nim_8h.html',1,'']]], + ['nim_5fdownloadstate_3332',['NIM_DownloadState',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99',1,'nim.h']]], + ['nim_5finstallationmode_3333',['NIM_InstallationMode',['../nim_8h.html#afe2032f64d1715e952d818170fc1d8e8',1,'nim.h']]], + ['nim_5ftitleconfig_3334',['NIM_TitleConfig',['../structNIM__TitleConfig.html',1,'']]], + ['nim_5ftitleprogress_3335',['NIM_TitleProgress',['../structNIM__TitleProgress.html',1,'']]], + ['nims_5fcanceldownload_3336',['NIMS_CancelDownload',['../nim_8h.html#acf484fbb6635b63ab2847b296779c9f8',1,'nim.h']]], + ['nims_5fgetprogress_3337',['NIMS_GetProgress',['../nim_8h.html#a0ef7f8459de9f4958d1e253e3c694729',1,'nim.h']]], + ['nims_5fistaskregistered_3338',['NIMS_IsTaskRegistered',['../nim_8h.html#a4b5c1dac154b7404026f80f236b2680e',1,'nim.h']]], + ['nims_5fmaketitleconfig_3339',['NIMS_MakeTitleConfig',['../nim_8h.html#a7857353d69c545e7344ce0bb02c7a3fb',1,'nim.h']]], + ['nims_5fregistertask_3340',['NIMS_RegisterTask',['../nim_8h.html#a527810dd91a67958db3ee33f983cd096',1,'nim.h']]], + ['nims_5fsetattribute_3341',['NIMS_SetAttribute',['../nim_8h.html#a264e9755efb053f7f17a885ed063b1f2',1,'nim.h']]], + ['nims_5fstartdownload_3342',['NIMS_StartDownload',['../nim_8h.html#a61f586836dbf5d41371bd2bd486fe6d3',1,'nim.h']]], + ['nims_5fstartdownloadsimple_3343',['NIMS_StartDownloadSimple',['../nim_8h.html#a325728e8375e66624684dad64c9f5e40',1,'nim.h']]], + ['nims_5funregistertask_3344',['NIMS_UnregisterTask',['../nim_8h.html#a143b0d7bc64225a9880c63f85678ec6d',1,'nim.h']]], + ['nims_5fwantupdate_3345',['NIMS_WantUpdate',['../nim_8h.html#ae79e9ff71afc4b4ab1ca30721c82cff1',1,'nim.h']]], + ['nimsexit_3346',['nimsExit',['../nim_8h.html#ab0f1115938ab76c143bf32263c0fe540',1,'nim.h']]], + ['nimsgetsessionhandle_3347',['nimsGetSessionHandle',['../nim_8h.html#ae12ebc36a717c32ad90685d3b7bd1030',1,'nim.h']]], + ['nimsinit_3348',['nimsInit',['../nim_8h.html#aa65aaa1ba6a79aead24799ee7eae042b',1,'nim.h']]], + ['nimsinitwithtin_3349',['nimsInitWithTIN',['../nim_8h.html#a19695db5f26a4bae2adef4e31f3c2288',1,'nim.h']]], + ['nlines_3350',['nLines',['../structTGLP__s.html#a5e200983d2972701c7d24adcd772dca9',1,'TGLP_s']]], + ['no_5fmii_5fselected_3351',['no_mii_selected',['../structMiiSelectorReturn.html#a2d8585d2854d04534d0604451105896e',1,'MiiSelectorReturn']]], + ['no_5fromfs_3352',['no_romfs',['../structExHeader__Arm11StorageInfo.html#a044acc191cd2de0075d7bab34933c6f7',1,'ExHeader_Arm11StorageInfo']]], + ['noisefilteron_3353',['noiseFilterOn',['../structCAMU__PackageParameterCameraSelect.html#ada6b842c20d0ad14a348556f65ac25ca',1,'CAMU_PackageParameterCameraSelect']]], + ['nose_5fdetails_3354',['nose_details',['../structMiiData.html#afbdc06676761b70bd22c5bf0ab28d25f',1,'MiiData']]], + ['notificationevent_3355',['NotificationEvent',['../structNotificationEvent.html',1,'']]], + ['notificationheader_3356',['NotificationHeader',['../structNotificationHeader.html',1,'']]], + ['notificationtypes_3357',['NotificationTypes',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210ce',1,'frd.h']]], + ['nrows_3358',['nRows',['../structTGLP__s.html#ac78f50b102feed3a26511522446186da',1,'TGLP_s']]], + ['ns_2eh_3359',['ns.h',['../ns_8h.html',1,'']]], + ['ns_5fappid_3360',['NS_APPID',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867',1,'apt.h']]], + ['ns_5flaunchapplicationfirm_3361',['NS_LaunchApplicationFIRM',['../ns_8h.html#a01293499195c2b40a46bf68941008fd6',1,'ns.h']]], + ['ns_5flaunchfirm_3362',['NS_LaunchFIRM',['../ns_8h.html#a918d9ee332a423e8b0ac9c7fd7043781',1,'ns.h']]], + ['ns_5flaunchtitle_3363',['NS_LaunchTitle',['../ns_8h.html#a6a9f9fa41eae5ab2378c1ab269ad0a96',1,'ns.h']]], + ['ns_5frebootsystem_3364',['NS_RebootSystem',['../ns_8h.html#a31e34f83a443c013f62393050638a581',1,'ns.h']]], + ['ns_5freboottotitle_3365',['NS_RebootToTitle',['../ns_8h.html#a06e05e3cb511baecbb7a6d245c188df0',1,'ns.h']]], + ['ns_5fterminateprocesstid_3366',['NS_TerminateProcessTID',['../ns_8h.html#aa451e546d4aa3cb2692767f0a20c63c3',1,'ns.h']]], + ['ns_5fterminatetitle_3367',['NS_TerminateTitle',['../ns_8h.html#a7c6a744f3bb54027c9d40b0e72b4bfae',1,'ns.h']]], + ['nsamples_3368',['nsamples',['../structtag__ndspWaveBuf.html#a8be46881ae491c7e7df54e81289c7a96',1,'tag_ndspWaveBuf']]], + ['nscanentries_3369',['nScanEntries',['../structtag__CMAP__s.html#ac579a3eab9f9f5eaa4417e86c71a0a8d',1,'tag_CMAP_s']]], + ['nsexit_3370',['nsExit',['../ns_8h.html#a410b45f7f12874e4ccf6bc21e80e4568',1,'ns.h']]], + ['nsheets_3371',['nSheets',['../structTGLP__s.html#a276a1b85878f441a69c044959a2f64ed',1,'TGLP_s']]], + ['nsinit_3372',['nsInit',['../ns_8h.html#aa3e020968b46610d05db16f1249a6650',1,'ns.h']]], + ['num_5fpages_3373',['num_pages',['../structExHeader__CodeSectionInfo.html#a4c8ea4358e183644cedf8ba84241c6d0',1,'ExHeader_CodeSectionInfo']]], + ['num_5fthreads_5facq_3374',['num_threads_acq',['../structLightSemaphore.html#a5f507ade6f7fe63190d268ccc9f83126',1,'LightSemaphore']]], + ['numchars_3375',['numChars',['../structConsoleFont.html#a741f70973f2dd71acdd7153ef3f7336d',1,'ConsoleFont']]], + ['numdvle_3376',['numDVLE',['../structDVLB__s.html#ac2b7148545a0f90613898c5052299be0',1,'DVLB_s']]], + ['numentries_3377',['numEntries',['../structgxCmdQueue__s.html#a2d96579b5e31f3cd9377f5b41e0fe659',1,'gxCmdQueue_s']]], + ['numfloat24uniforms_3378',['numFloat24Uniforms',['../structshaderInstance__s.html#acea4d3b5b3767e7047e42eddc1907937',1,'shaderInstance_s']]], + ['nwmbeacondatareplyentry_3379',['nwmBeaconDataReplyEntry',['../structnwmBeaconDataReplyEntry.html',1,'']]], + ['nwmbeacondatareplyheader_3380',['nwmBeaconDataReplyHeader',['../structnwmBeaconDataReplyHeader.html',1,'']]], + ['nwmscaninputstruct_3381',['nwmScanInputStruct',['../structnwmScanInputStruct.html',1,'']]] +]; diff --git a/search/classes_0.html b/search/classes_0.html new file mode 100644 index 000000000..af8159ee6 --- /dev/null +++ b/search/classes_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_0.js b/search/classes_0.js new file mode 100644 index 000000000..b45c5360f --- /dev/null +++ b/search/classes_0.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['accelvector_4447',['accelVector',['../structaccelVector.html',1,'']]], + ['acuconfig_4448',['acuConfig',['../structacuConfig.html',1,'']]], + ['addrinfo_4449',['addrinfo',['../structaddrinfo.html',1,'']]], + ['am_5fcontentinfo_4450',['AM_ContentInfo',['../structAM__ContentInfo.html',1,'']]], + ['am_5fpendingtitleentry_4451',['AM_PendingTitleEntry',['../structAM__PendingTitleEntry.html',1,'']]], + ['am_5ftitleentry_4452',['AM_TitleEntry',['../structAM__TitleEntry.html',1,'']]], + ['am_5ftwlpartitioninfo_4453',['AM_TWLPartitionInfo',['../structAM__TWLPartitionInfo.html',1,'']]], + ['angularrate_4454',['angularRate',['../structangularRate.html',1,'']]], + ['aptcapturebufinfo_4455',['aptCaptureBufInfo',['../structaptCaptureBufInfo.html',1,'']]], + ['apthookcookie_4456',['aptHookCookie',['../structaptHookCookie.html',1,'']]], + ['archive_5fdir_5ft_4457',['archive_dir_t',['../structarchive__dir__t.html',1,'']]], + ['attachprocessevent_4458',['AttachProcessEvent',['../structAttachProcessEvent.html',1,'']]], + ['attachthreadevent_4459',['AttachThreadEvent',['../structAttachThreadEvent.html',1,'']]] +]; diff --git a/search/classes_1.html b/search/classes_1.html new file mode 100644 index 000000000..576e91689 --- /dev/null +++ b/search/classes_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_1.js b/search/classes_1.js new file mode 100644 index 000000000..07d07854c --- /dev/null +++ b/search/classes_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bosscontext_4460',['bossContext',['../structbossContext.html',1,'']]] +]; diff --git a/search/classes_10.html b/search/classes_10.html new file mode 100644 index 000000000..4af2c805a --- /dev/null +++ b/search/classes_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_10.js b/search/classes_10.js new file mode 100644 index 000000000..7ca39e424 --- /dev/null +++ b/search/classes_10.js @@ -0,0 +1,24 @@ +var searchData= +[ + ['scheduleinoutevent_4579',['ScheduleInOutEvent',['../structScheduleInOutEvent.html',1,'']]], + ['shaderinstance_5fs_4580',['shaderInstance_s',['../structshaderInstance__s.html',1,'']]], + ['shaderprogram_5fs_4581',['shaderProgram_s',['../structshaderProgram__s.html',1,'']]], + ['sockaddr_4582',['sockaddr',['../structsockaddr.html',1,'']]], + ['sockaddr_5fin_4583',['sockaddr_in',['../structsockaddr__in.html',1,'']]], + ['sockaddr_5fstorage_4584',['sockaddr_storage',['../structsockaddr__storage.html',1,'']]], + ['socu_5farptableentry_4585',['SOCU_ARPTableEntry',['../structSOCU__ARPTableEntry.html',1,'']]], + ['socu_5fdnstableentry_4586',['SOCU_DNSTableEntry',['../structSOCU__DNSTableEntry.html',1,'']]], + ['socu_5fipinfo_4587',['SOCU_IPInfo',['../structSOCU__IPInfo.html',1,'']]], + ['socu_5froutingtableentry_4588',['SOCU_RoutingTableEntry',['../structSOCU__RoutingTableEntry.html',1,'']]], + ['socu_5ftcptableentry_4589',['SOCU_TCPTableEntry',['../structSOCU__TCPTableEntry.html',1,'']]], + ['socu_5fudptableentry_4590',['SOCU_UDPTableEntry',['../structSOCU__UDPTableEntry.html',1,'']]], + ['sslccontext_4591',['sslcContext',['../structsslcContext.html',1,'']]], + ['startupinfo_4592',['StartupInfo',['../structStartupInfo.html',1,'']]], + ['stoppointexceptionevent_4593',['StopPointExceptionEvent',['../structStopPointExceptionEvent.html',1,'']]], + ['swkbddictword_4594',['SwkbdDictWord',['../structSwkbdDictWord.html',1,'']]], + ['swkbdextra_4595',['SwkbdExtra',['../structSwkbdExtra.html',1,'']]], + ['swkbdlearningdata_4596',['SwkbdLearningData',['../structSwkbdLearningData.html',1,'']]], + ['swkbdstate_4597',['SwkbdState',['../structSwkbdState.html',1,'']]], + ['swkbdstatusdata_4598',['SwkbdStatusData',['../structSwkbdStatusData.html',1,'']]], + ['syscallinoutevent_4599',['SyscallInOutEvent',['../structSyscallInOutEvent.html',1,'']]] +]; diff --git a/search/classes_11.html b/search/classes_11.html new file mode 100644 index 000000000..ed167c849 --- /dev/null +++ b/search/classes_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_11.js b/search/classes_11.js new file mode 100644 index 000000000..2f202f9d1 --- /dev/null +++ b/search/classes_11.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['tag_5fcmap_5fs_4600',['tag_CMAP_s',['../structtag__CMAP__s.html',1,'']]], + ['tag_5fcwdh_5fs_4601',['tag_CWDH_s',['../structtag__CWDH__s.html',1,'']]], + ['tag_5fndspwavebuf_4602',['tag_ndspWaveBuf',['../structtag__ndspWaveBuf.html',1,'']]], + ['tglp_5fs_4603',['TGLP_s',['../structTGLP__s.html',1,'']]], + ['threadcontext_4604',['ThreadContext',['../structThreadContext.html',1,'']]], + ['tickcounter_4605',['TickCounter',['../structTickCounter.html',1,'']]], + ['titledata_4606',['TitleData',['../structTitleData.html',1,'']]], + ['touchposition_4607',['touchPosition',['../structtouchPosition.html',1,'']]] +]; diff --git a/search/classes_12.html b/search/classes_12.html new file mode 100644 index 000000000..90bc9f579 --- /dev/null +++ b/search/classes_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_12.js b/search/classes_12.js new file mode 100644 index 000000000..5eeb5f305 --- /dev/null +++ b/search/classes_12.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['udsbindcontext_4608',['udsBindContext',['../structudsBindContext.html',1,'']]], + ['udsconnectionstatus_4609',['udsConnectionStatus',['../structudsConnectionStatus.html',1,'']]], + ['udsnetworkscaninfo_4610',['udsNetworkScanInfo',['../structudsNetworkScanInfo.html',1,'']]], + ['udsnetworkstruct_4611',['udsNetworkStruct',['../structudsNetworkStruct.html',1,'']]], + ['udsnodeinfo_4612',['udsNodeInfo',['../structudsNodeInfo.html',1,'']]], + ['userbreakexceptionevent_4613',['UserBreakExceptionEvent',['../structUserBreakExceptionEvent.html',1,'']]] +]; diff --git a/search/classes_13.html b/search/classes_13.html new file mode 100644 index 000000000..fadc16048 --- /dev/null +++ b/search/classes_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_13.js b/search/classes_13.js new file mode 100644 index 000000000..2acb40729 --- /dev/null +++ b/search/classes_13.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['y2ru_5fcolorcoefficients_4614',['Y2RU_ColorCoefficients',['../structY2RU__ColorCoefficients.html',1,'']]], + ['y2ru_5fconversionparams_4615',['Y2RU_ConversionParams',['../structY2RU__ConversionParams.html',1,'']]], + ['y2ru_5fditheringweightparams_4616',['Y2RU_DitheringWeightParams',['../structY2RU__DitheringWeightParams.html',1,'']]] +]; diff --git a/search/classes_2.html b/search/classes_2.html new file mode 100644 index 000000000..956405e5a --- /dev/null +++ b/search/classes_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_2.js b/search/classes_2.js new file mode 100644 index 000000000..ec9a391f3 --- /dev/null +++ b/search/classes_2.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['camu_5fimagequalitycalibrationdata_4461',['CAMU_ImageQualityCalibrationData',['../structCAMU__ImageQualityCalibrationData.html',1,'']]], + ['camu_5fpackageparametercameraselect_4462',['CAMU_PackageParameterCameraSelect',['../structCAMU__PackageParameterCameraSelect.html',1,'']]], + ['camu_5fpackageparametercontext_4463',['CAMU_PackageParameterContext',['../structCAMU__PackageParameterContext.html',1,'']]], + ['camu_5fpackageparametercontextdetail_4464',['CAMU_PackageParameterContextDetail',['../structCAMU__PackageParameterContextDetail.html',1,'']]], + ['camu_5fstereocameracalibrationdata_4465',['CAMU_StereoCameraCalibrationData',['../structCAMU__StereoCameraCalibrationData.html',1,'']]], + ['cfnt_5fs_4466',['CFNT_s',['../structCFNT__s.html',1,'']]], + ['charwidthinfo_5fs_4467',['charWidthInfo_s',['../structcharWidthInfo__s.html',1,'']]], + ['circleposition_4468',['circlePosition',['../structcirclePosition.html',1,'']]], + ['codesetheader_4469',['CodeSetHeader',['../structCodeSetHeader.html',1,'']]], + ['consolefont_4470',['ConsoleFont',['../structConsoleFont.html',1,'']]], + ['cpuregisters_4471',['CpuRegisters',['../structCpuRegisters.html',1,'']]], + ['csnd_5fcapinfo_4472',['CSND_CapInfo',['../unionCSND__CapInfo.html',1,'']]], + ['csnd_5fchninfo_4473',['CSND_ChnInfo',['../unionCSND__ChnInfo.html',1,'']]] +]; diff --git a/search/classes_3.html b/search/classes_3.html new file mode 100644 index 000000000..d33343bc1 --- /dev/null +++ b/search/classes_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_3.js b/search/classes_3.js new file mode 100644 index 000000000..8016905d1 --- /dev/null +++ b/search/classes_3.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['debugeventinfo_4474',['DebugEventInfo',['../structDebugEventInfo.html',1,'']]], + ['debuggerbreakexceptionevent_4475',['DebuggerBreakExceptionEvent',['../structDebuggerBreakExceptionEvent.html',1,'']]], + ['decompressiovec_4476',['decompressIOVec',['../structdecompressIOVec.html',1,'']]], + ['dmaconfig_4477',['DmaConfig',['../structDmaConfig.html',1,'']]], + ['dmadeviceconfig_4478',['DmaDeviceConfig',['../structDmaDeviceConfig.html',1,'']]], + ['dsphookcookie_4479',['dspHookCookie',['../structdspHookCookie.html',1,'']]], + ['dvlb_5fs_4480',['DVLB_s',['../structDVLB__s.html',1,'']]], + ['dvle_5fconstentry_5fs_4481',['DVLE_constEntry_s',['../structDVLE__constEntry__s.html',1,'']]], + ['dvle_5foutentry_5fs_4482',['DVLE_outEntry_s',['../structDVLE__outEntry__s.html',1,'']]], + ['dvle_5fs_4483',['DVLE_s',['../structDVLE__s.html',1,'']]], + ['dvle_5funiformentry_5fs_4484',['DVLE_uniformEntry_s',['../structDVLE__uniformEntry__s.html',1,'']]], + ['dvlp_5fs_4485',['DVLP_s',['../structDVLP__s.html',1,'']]] +]; diff --git a/search/classes_4.html b/search/classes_4.html new file mode 100644 index 000000000..8430b07fe --- /dev/null +++ b/search/classes_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_4.js b/search/classes_4.js new file mode 100644 index 000000000..8ebe59d3e --- /dev/null +++ b/search/classes_4.js @@ -0,0 +1,24 @@ +var searchData= +[ + ['errf_5fexceptiondata_4486',['ERRF_ExceptionData',['../structERRF__ExceptionData.html',1,'']]], + ['errf_5fexceptioninfo_4487',['ERRF_ExceptionInfo',['../structERRF__ExceptionInfo.html',1,'']]], + ['errf_5ffatalerrinfo_4488',['ERRF_FatalErrInfo',['../structERRF__FatalErrInfo.html',1,'']]], + ['errorconf_4489',['errorConf',['../structerrorConf.html',1,'']]], + ['exceptionevent_4490',['ExceptionEvent',['../structExceptionEvent.html',1,'']]], + ['exheader_4491',['ExHeader',['../structExHeader.html',1,'']]], + ['exheader_5faccesscontrolinfo_4492',['ExHeader_AccessControlInfo',['../structExHeader__AccessControlInfo.html',1,'']]], + ['exheader_5faccessdescriptor_4493',['ExHeader_AccessDescriptor',['../structExHeader__AccessDescriptor.html',1,'']]], + ['exheader_5farm11coreinfo_4494',['ExHeader_Arm11CoreInfo',['../structExHeader__Arm11CoreInfo.html',1,'']]], + ['exheader_5farm11kernelcapabilities_4495',['ExHeader_Arm11KernelCapabilities',['../structExHeader__Arm11KernelCapabilities.html',1,'']]], + ['exheader_5farm11storageinfo_4496',['ExHeader_Arm11StorageInfo',['../structExHeader__Arm11StorageInfo.html',1,'']]], + ['exheader_5farm11systemlocalcapabilities_4497',['ExHeader_Arm11SystemLocalCapabilities',['../structExHeader__Arm11SystemLocalCapabilities.html',1,'']]], + ['exheader_5farm9accesscontrol_4498',['ExHeader_Arm9AccessControl',['../structExHeader__Arm9AccessControl.html',1,'']]], + ['exheader_5fcodesectioninfo_4499',['ExHeader_CodeSectionInfo',['../structExHeader__CodeSectionInfo.html',1,'']]], + ['exheader_5fcodesetinfo_4500',['ExHeader_CodeSetInfo',['../structExHeader__CodeSetInfo.html',1,'']]], + ['exheader_5finfo_4501',['ExHeader_Info',['../structExHeader__Info.html',1,'']]], + ['exheader_5fsystemcontrolinfo_4502',['ExHeader_SystemControlInfo',['../structExHeader__SystemControlInfo.html',1,'']]], + ['exheader_5fsysteminfo_4503',['ExHeader_SystemInfo',['../structExHeader__SystemInfo.html',1,'']]], + ['exheader_5fsysteminfoflags_4504',['ExHeader_SystemInfoFlags',['../structExHeader__SystemInfoFlags.html',1,'']]], + ['exitprocessevent_4505',['ExitProcessEvent',['../structExitProcessEvent.html',1,'']]], + ['exitthreadevent_4506',['ExitThreadEvent',['../structExitThreadEvent.html',1,'']]] +]; diff --git a/search/classes_5.html b/search/classes_5.html new file mode 100644 index 000000000..c2f1b767b --- /dev/null +++ b/search/classes_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_5.js b/search/classes_5.js new file mode 100644 index 000000000..49956f59f --- /dev/null +++ b/search/classes_5.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['faultexceptionevent_4507',['FaultExceptionEvent',['../structFaultExceptionEvent.html',1,'']]], + ['finf_5fs_4508',['FINF_s',['../structFINF__s.html',1,'']]], + ['float24uniform_5fs_4509',['float24Uniform_s',['../structfloat24Uniform__s.html',1,'']]], + ['fontglyphpos_5fs_4510',['fontGlyphPos_s',['../structfontGlyphPos__s.html',1,'']]], + ['fpuregisters_4511',['FpuRegisters',['../structFpuRegisters.html',1,'']]], + ['friendkey_4512',['FriendKey',['../structFriendKey.html',1,'']]], + ['friendprofile_4513',['FriendProfile',['../structFriendProfile.html',1,'']]], + ['fs_5farchiveresource_4514',['FS_ArchiveResource',['../structFS__ArchiveResource.html',1,'']]], + ['fs_5fdevicemovecontext_4515',['FS_DeviceMoveContext',['../structFS__DeviceMoveContext.html',1,'']]], + ['fs_5fdirectoryentry_4516',['FS_DirectoryEntry',['../structFS__DirectoryEntry.html',1,'']]], + ['fs_5fextsavedatainfo_4517',['FS_ExtSaveDataInfo',['../structFS__ExtSaveDataInfo.html',1,'']]], + ['fs_5fintegrityverificationseed_4518',['FS_IntegrityVerificationSeed',['../structFS__IntegrityVerificationSeed.html',1,'']]], + ['fs_5fpath_4519',['FS_Path',['../structFS__Path.html',1,'']]], + ['fs_5fproductinfo_4520',['FS_ProductInfo',['../structFS__ProductInfo.html',1,'']]], + ['fs_5fprograminfo_4521',['FS_ProgramInfo',['../structFS__ProgramInfo.html',1,'']]], + ['fs_5fsdmmcspeedinfo_4522',['FS_SdMmcSpeedInfo',['../structFS__SdMmcSpeedInfo.html',1,'']]], + ['fs_5fsystemsavedatainfo_4523',['FS_SystemSaveDataInfo',['../structFS__SystemSaveDataInfo.html',1,'']]] +]; diff --git a/search/classes_6.html b/search/classes_6.html new file mode 100644 index 000000000..e39847ce8 --- /dev/null +++ b/search/classes_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_6.js b/search/classes_6.js new file mode 100644 index 000000000..2831631a3 --- /dev/null +++ b/search/classes_6.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['gamedescription_4524',['GameDescription',['../structGameDescription.html',1,'']]], + ['gspgpu_5fcaptureinfo_4525',['GSPGPU_CaptureInfo',['../structGSPGPU__CaptureInfo.html',1,'']]], + ['gspgpu_5fcaptureinfoentry_4526',['GSPGPU_CaptureInfoEntry',['../structGSPGPU__CaptureInfoEntry.html',1,'']]], + ['gspgpu_5fframebufferinfo_4527',['GSPGPU_FramebufferInfo',['../structGSPGPU__FramebufferInfo.html',1,'']]], + ['gxcmdentry_5fs_4528',['gxCmdEntry_s',['../uniongxCmdEntry__s.html',1,'']]], + ['gxcmdqueue_5fs_4529',['gxCmdQueue_s',['../structgxCmdQueue__s.html',1,'']]] +]; diff --git a/search/classes_7.html b/search/classes_7.html new file mode 100644 index 000000000..a2c4d1a39 --- /dev/null +++ b/search/classes_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_7.js b/search/classes_7.js new file mode 100644 index 000000000..22fceae5e --- /dev/null +++ b/search/classes_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['hostent_4530',['hostent',['../structhostent.html',1,'']]], + ['httpccontext_4531',['httpcContext',['../structhttpcContext.html',1,'']]] +]; diff --git a/search/classes_8.html b/search/classes_8.html new file mode 100644 index 000000000..17003e480 --- /dev/null +++ b/search/classes_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_8.js b/search/classes_8.js new file mode 100644 index 000000000..fe50b487e --- /dev/null +++ b/search/classes_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['in_5faddr_4532',['in_addr',['../structin__addr.html',1,'']]], + ['ip_5fmreq_4533',['ip_mreq',['../structip__mreq.html',1,'']]] +]; diff --git a/search/classes_9.html b/search/classes_9.html new file mode 100644 index 000000000..b8afa8cba --- /dev/null +++ b/search/classes_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_9.js b/search/classes_9.js new file mode 100644 index 000000000..df2a4405d --- /dev/null +++ b/search/classes_9.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['lightevent_4534',['LightEvent',['../structLightEvent.html',1,'']]], + ['lightsemaphore_4535',['LightSemaphore',['../structLightSemaphore.html',1,'']]], + ['linger_4536',['linger',['../structlinger.html',1,'']]] +]; diff --git a/search/classes_a.html b/search/classes_a.html new file mode 100644 index 000000000..6788af270 --- /dev/null +++ b/search/classes_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_a.js b/search/classes_a.js new file mode 100644 index 000000000..9c36d9e80 --- /dev/null +++ b/search/classes_a.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['mapevent_4537',['MapEvent',['../structMapEvent.html',1,'']]], + ['meminfo_4538',['MemInfo',['../structMemInfo.html',1,'']]], + ['miidata_4539',['MiiData',['../structMiiData.html',1,'']]], + ['miiselectorconf_4540',['MiiSelectorConf',['../structMiiSelectorConf.html',1,'']]], + ['miiselectorreturn_4541',['MiiSelectorReturn',['../structMiiSelectorReturn.html',1,'']]], + ['mvdstd_5fconfig_4542',['MVDSTD_Config',['../structMVDSTD__Config.html',1,'']]], + ['mvdstd_5finitstruct_4543',['MVDSTD_InitStruct',['../structMVDSTD__InitStruct.html',1,'']]], + ['mvdstd_5foutputbuffersentry_4544',['MVDSTD_OutputBuffersEntry',['../structMVDSTD__OutputBuffersEntry.html',1,'']]], + ['mvdstd_5foutputbuffersentrylist_4545',['MVDSTD_OutputBuffersEntryList',['../structMVDSTD__OutputBuffersEntryList.html',1,'']]], + ['mvdstd_5fprocessnalunitout_4546',['MVDSTD_ProcessNALUnitOut',['../structMVDSTD__ProcessNALUnitOut.html',1,'']]] +]; diff --git a/search/classes_b.html b/search/classes_b.html new file mode 100644 index 000000000..3fcb49858 --- /dev/null +++ b/search/classes_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_b.js b/search/classes_b.js new file mode 100644 index 000000000..ad7a70b5b --- /dev/null +++ b/search/classes_b.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['ndspadpcmdata_4547',['ndspAdpcmData',['../structndspAdpcmData.html',1,'']]], + ['nfc_5famiiboconfig_4548',['NFC_AmiiboConfig',['../structNFC__AmiiboConfig.html',1,'']]], + ['nfc_5famiibosettings_4549',['NFC_AmiiboSettings',['../structNFC__AmiiboSettings.html',1,'']]], + ['nfc_5fappdatainitstruct_4550',['NFC_AppDataInitStruct',['../structNFC__AppDataInitStruct.html',1,'']]], + ['nfc_5fappdatawritestruct_4551',['NFC_AppDataWriteStruct',['../structNFC__AppDataWriteStruct.html',1,'']]], + ['nfc_5ftaginfo_4552',['NFC_TagInfo',['../structNFC__TagInfo.html',1,'']]], + ['nim_5ftitleconfig_4553',['NIM_TitleConfig',['../structNIM__TitleConfig.html',1,'']]], + ['nim_5ftitleprogress_4554',['NIM_TitleProgress',['../structNIM__TitleProgress.html',1,'']]], + ['notificationevent_4555',['NotificationEvent',['../structNotificationEvent.html',1,'']]], + ['notificationheader_4556',['NotificationHeader',['../structNotificationHeader.html',1,'']]], + ['nwmbeacondatareplyentry_4557',['nwmBeaconDataReplyEntry',['../structnwmBeaconDataReplyEntry.html',1,'']]], + ['nwmbeacondatareplyheader_4558',['nwmBeaconDataReplyHeader',['../structnwmBeaconDataReplyHeader.html',1,'']]], + ['nwmscaninputstruct_4559',['nwmScanInputStruct',['../structnwmScanInputStruct.html',1,'']]] +]; diff --git a/search/classes_c.html b/search/classes_c.html new file mode 100644 index 000000000..2f7b1f3da --- /dev/null +++ b/search/classes_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_c.js b/search/classes_c.js new file mode 100644 index 000000000..192cda397 --- /dev/null +++ b/search/classes_c.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['os_5fversionbin_4560',['OS_VersionBin',['../structOS__VersionBin.html',1,'']]], + ['oskernelconfig_5fs_4561',['osKernelConfig_s',['../structosKernelConfig__s.html',1,'']]], + ['ossharedconfig_5fs_4562',['osSharedConfig_s',['../structosSharedConfig__s.html',1,'']]], + ['ostimeref_5fs_4563',['osTimeRef_s',['../structosTimeRef__s.html',1,'']]], + ['outputstringevent_4564',['OutputStringEvent',['../structOutputStringEvent.html',1,'']]] +]; diff --git a/search/classes_d.html b/search/classes_d.html new file mode 100644 index 000000000..f9011e70f --- /dev/null +++ b/search/classes_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_d.js b/search/classes_d.js new file mode 100644 index 000000000..4a4f5b830 --- /dev/null +++ b/search/classes_d.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['pageinfo_4565',['PageInfo',['../structPageInfo.html',1,'']]], + ['pollfd_4566',['pollfd',['../structpollfd.html',1,'']]], + ['printconsole_4567',['PrintConsole',['../structPrintConsole.html',1,'']]], + ['psrsacontext_4568',['psRSAContext',['../structpsRSAContext.html',1,'']]], + ['ptmsleepconfig_4569',['PtmSleepConfig',['../structPtmSleepConfig.html',1,'']]], + ['ptmwakeevents_4570',['PtmWakeEvents',['../structPtmWakeEvents.html',1,'']]], + ['pxidev_5fspibuffer_4571',['PXIDEV_SPIBuffer',['../structPXIDEV__SPIBuffer.html',1,'']]] +]; diff --git a/search/classes_e.html b/search/classes_e.html new file mode 100644 index 000000000..bb33dcfa5 --- /dev/null +++ b/search/classes_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_e.js b/search/classes_e.js new file mode 100644 index 000000000..d7295fdb3 --- /dev/null +++ b/search/classes_e.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['qtm_5fheadtrackinginfo_4572',['QTM_HeadTrackingInfo',['../structQTM__HeadTrackingInfo.html',1,'']]], + ['qtm_5fheadtrackinginfocoord_4573',['QTM_HeadTrackingInfoCoord',['../structQTM__HeadTrackingInfoCoord.html',1,'']]] +]; diff --git a/search/classes_f.html b/search/classes_f.html new file mode 100644 index 000000000..d1b67daa6 --- /dev/null +++ b/search/classes_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_f.js b/search/classes_f.js new file mode 100644 index 000000000..1ff504886 --- /dev/null +++ b/search/classes_f.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['rbtree_4574',['rbtree',['../structrbtree.html',1,'']]], + ['rbtree_5fnode_4575',['rbtree_node',['../structrbtree__node.html',1,'']]], + ['romfs_5fdir_4576',['romfs_dir',['../structromfs__dir.html',1,'']]], + ['romfs_5ffile_4577',['romfs_file',['../structromfs__file.html',1,'']]], + ['romfs_5fheader_4578',['romfs_header',['../structromfs__header.html',1,'']]] +]; diff --git a/search/close.svg b/search/close.svg new file mode 100644 index 000000000..a933eea1a --- /dev/null +++ b/search/close.svg @@ -0,0 +1,31 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/search/defines_0.html b/search/defines_0.html new file mode 100644 index 000000000..15cc3de38 --- /dev/null +++ b/search/defines_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_0.js b/search/defines_0.js new file mode 100644 index 000000000..844fd33e9 --- /dev/null +++ b/search/defines_0.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['arbitration_5fsignal_5fall_7993',['ARBITRATION_SIGNAL_ALL',['../svc_8h.html#acca9c678c119f4d1291e09c58f9ccaf5',1,'svc.h']]], + ['atomicdecrement_7994',['AtomicDecrement',['../synchronization_8h.html#a609965cc7d1f801675ef5901dbe07a15',1,'synchronization.h']]], + ['atomicincrement_7995',['AtomicIncrement',['../synchronization_8h.html#a77f9a3fcb480540a1cfc0891f00963ed',1,'synchronization.h']]], + ['atomicpostdecrement_7996',['AtomicPostDecrement',['../synchronization_8h.html#a76bf51e5d535d5bd3d2f34eee9ca4956',1,'synchronization.h']]], + ['atomicpostincrement_7997',['AtomicPostIncrement',['../synchronization_8h.html#a191063fc32cdc8187a24b44cb48ff324',1,'synchronization.h']]], + ['atomicswap_7998',['AtomicSwap',['../synchronization_8h.html#a5bc74ad985f95799e927cc50a4ebd9c3',1,'synchronization.h']]] +]; diff --git a/search/defines_1.html b/search/defines_1.html new file mode 100644 index 000000000..c49009c71 --- /dev/null +++ b/search/defines_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_1.js b/search/defines_1.js new file mode 100644 index 000000000..9bb4f282f --- /dev/null +++ b/search/defines_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bit_7999',['BIT',['../types_8h.html#a3a8ea58898cb58fc96013383d39f482c',1,'types.h']]] +]; diff --git a/search/defines_2.html b/search/defines_2.html new file mode 100644 index 000000000..c55101115 --- /dev/null +++ b/search/defines_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_2.js b/search/defines_2.js new file mode 100644 index 000000000..de558ce62 --- /dev/null +++ b/search/defines_2.js @@ -0,0 +1,22 @@ +var searchData= +[ + ['circleread_8000',['circleRead',['../hid_8h.html#a751cac06ba698c5e7122876c091584a0',1,'hid.h']]], + ['console_5fbg_5fcustom_8001',['CONSOLE_BG_CUSTOM',['../console_8h.html#a2bc490632f54b282103853fa573a1d0a',1,'console.h']]], + ['console_5fblink_5ffast_8002',['CONSOLE_BLINK_FAST',['../console_8h.html#a7afdfddea655f10c609d05b686ce36f9',1,'console.h']]], + ['console_5fblink_5fslow_8003',['CONSOLE_BLINK_SLOW',['../console_8h.html#adb7259b545cc753eca543d28074c4389',1,'console.h']]], + ['console_5fcolor_5fbold_8004',['CONSOLE_COLOR_BOLD',['../console_8h.html#a41fe600f48a6367d8807559efec50c23',1,'console.h']]], + ['console_5fcolor_5ffaint_8005',['CONSOLE_COLOR_FAINT',['../console_8h.html#a2b150f5112f253251b71c0e20691b8f6',1,'console.h']]], + ['console_5fcolor_5freverse_8006',['CONSOLE_COLOR_REVERSE',['../console_8h.html#a0c2c4bcacad671310f6a2e19a9dd920e',1,'console.h']]], + ['console_5fconceal_8007',['CONSOLE_CONCEAL',['../console_8h.html#a5f2b14ddb935b78bd666e5ec560d39c1',1,'console.h']]], + ['console_5fcrossed_5fout_8008',['CONSOLE_CROSSED_OUT',['../console_8h.html#a5ff7f67fc2b49604335c850701a49404',1,'console.h']]], + ['console_5ffg_5fcustom_8009',['CONSOLE_FG_CUSTOM',['../console_8h.html#aae0fa7e2d9d00e9a9032cb27b3ea2b89',1,'console.h']]], + ['console_5fitalic_8010',['CONSOLE_ITALIC',['../console_8h.html#ab42f3fc96a41cf751ec6971091495d77',1,'console.h']]], + ['console_5funderline_8011',['CONSOLE_UNDERLINE',['../console_8h.html#a3d8177cdd85a63ef7836efe4e00871e0',1,'console.h']]], + ['csnd_5fnum_5fchannels_8012',['CSND_NUM_CHANNELS',['../csnd_8h.html#ae9650d170b002a0a8607808d946cfdbf',1,'csnd.h']]], + ['csnd_5ftimer_8013',['CSND_TIMER',['../csnd_8h.html#a925a677aedfae9d62cc8e916605e95ea',1,'csnd.h']]], + ['ctr_5falign_8014',['CTR_ALIGN',['../types_8h.html#a5dfe86471c81b4e4f303dcbdefbb6871',1,'types.h']]], + ['ctr_5fdeprecated_8015',['CTR_DEPRECATED',['../types_8h.html#a22a95c6b9c6cb449bd02bf919f01896f',1,'types.h']]], + ['ctr_5fpacked_8016',['CTR_PACKED',['../types_8h.html#a4215ddf9849dc161ef8ba507ea8f0fdb',1,'types.h']]], + ['cur_5fprocess_5fhandle_8017',['CUR_PROCESS_HANDLE',['../svc_8h.html#a0b30bcbc98ad85fe81ac6de8ea464276',1,'svc.h']]], + ['cur_5fthread_5fhandle_8018',['CUR_THREAD_HANDLE',['../svc_8h.html#a848b6094dcf31bfb0fa5cc999348c2d4',1,'svc.h']]] +]; diff --git a/search/defines_3.html b/search/defines_3.html new file mode 100644 index 000000000..8c6d21536 --- /dev/null +++ b/search/defines_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_3.js b/search/defines_3.js new file mode 100644 index 000000000..7fdf334de --- /dev/null +++ b/search/defines_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['friend_5fcomment_5fsize_8019',['FRIEND_COMMENT_SIZE',['../frd_8h.html#ac300c5a4b565eaaf656d7fc6a82dd10b',1,'frd.h']]], + ['friend_5flist_5fsize_8020',['FRIEND_LIST_SIZE',['../frd_8h.html#a4426da9cb91df71e799ca69d9ed40a4e',1,'frd.h']]], + ['friend_5fscreen_5fname_5fsize_8021',['FRIEND_SCREEN_NAME_SIZE',['../frd_8h.html#ad2feecb713f820cbcd168f19e4f55866',1,'frd.h']]] +]; diff --git a/search/defines_4.html b/search/defines_4.html new file mode 100644 index 000000000..f4afac124 --- /dev/null +++ b/search/defines_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_4.js b/search/defines_4.js new file mode 100644 index 000000000..58b3045be --- /dev/null +++ b/search/defines_4.js @@ -0,0 +1,784 @@ +var searchData= +[ + ['get_5fversion_5fmajor_8022',['GET_VERSION_MAJOR',['../os_8h.html#a0bd5e5709b15356ed59ca500ddfa1522',1,'os.h']]], + ['get_5fversion_5fminor_8023',['GET_VERSION_MINOR',['../os_8h.html#a6cfa84144d8bb77e77a734012549090f',1,'os.h']]], + ['get_5fversion_5frevision_8024',['GET_VERSION_REVISION',['../os_8h.html#ac7e2448695a0c735dee58ad61f73f172',1,'os.h']]], + ['gpu_5fattribfmt_8025',['GPU_ATTRIBFMT',['../enums_8h.html#aaa7337c142b909e470bbf1ce3c8e9e03',1,'enums.h']]], + ['gpu_5flc1_5fattnbit_8026',['GPU_LC1_ATTNBIT',['../enums_8h.html#a72ece02dbe202375c41656f008862e61',1,'enums.h']]], + ['gpu_5flc1_5flutbit_8027',['GPU_LC1_LUTBIT',['../enums_8h.html#a268cd64156ab80fbc9d5276ebfd2e036',1,'enums.h']]], + ['gpu_5flc1_5fshadowbit_8028',['GPU_LC1_SHADOWBIT',['../enums_8h.html#a56f7ef42a30cacadcff715897749b9bb',1,'enums.h']]], + ['gpu_5flc1_5fspotbit_8029',['GPU_LC1_SPOTBIT',['../enums_8h.html#ae728b373883e45faa2b07f09a666493e',1,'enums.h']]], + ['gpu_5flight_5fenv_5flayer_5fconfig_8030',['GPU_LIGHT_ENV_LAYER_CONFIG',['../enums_8h.html#a9311f56ead3e954035f1e7822fd4975b',1,'enums.h']]], + ['gpu_5flightcolor_8031',['GPU_LIGHTCOLOR',['../enums_8h.html#aea79eb97268953065d78b396cf3f01e0',1,'enums.h']]], + ['gpu_5flightlutidx_8032',['GPU_LIGHTLUTIDX',['../enums_8h.html#a1be564c4c4b7bea48173dc004321038f',1,'enums.h']]], + ['gpu_5flightlutinput_8033',['GPU_LIGHTLUTINPUT',['../enums_8h.html#a87ae80eec69e98d7859716697fffaa8d',1,'enums.h']]], + ['gpu_5flightperm_8034',['GPU_LIGHTPERM',['../enums_8h.html#acc3d77ddd288c9166ce21a70329ffda3',1,'enums.h']]], + ['gpu_5fmakegasdepthfunc_8035',['GPU_MAKEGASDEPTHFUNC',['../enums_8h.html#af29f76f2be89c5bfb0ec27336eddf4d2',1,'enums.h']]], + ['gpu_5ftev_5fbuffer_5fwrite_5fconfig_8036',['GPU_TEV_BUFFER_WRITE_CONFIG',['../enums_8h.html#a2c504de99ace4dbeb8e7d3af041f5f2c',1,'enums.h']]], + ['gpu_5ftevoperands_8037',['GPU_TEVOPERANDS',['../enums_8h.html#a4f2c9311619707a1276457d94b06a983',1,'enums.h']]], + ['gpu_5ftevsources_8038',['GPU_TEVSOURCES',['../enums_8h.html#abb62754733c37a8490767fd8e004b903',1,'enums.h']]], + ['gpu_5ftexture_5fetc1_5fparam_8039',['GPU_TEXTURE_ETC1_PARAM',['../enums_8h.html#a8264c1e1a98d1c15cff6c02b6bbde8d3',1,'enums.h']]], + ['gpu_5ftexture_5fmag_5ffilter_8040',['GPU_TEXTURE_MAG_FILTER',['../enums_8h.html#a136a68611d2edcd5e875cbe6b2ffc14a',1,'enums.h']]], + ['gpu_5ftexture_5fmin_5ffilter_8041',['GPU_TEXTURE_MIN_FILTER',['../enums_8h.html#ab2b47d3f4f1835fd29bfbda8f0aafd50',1,'enums.h']]], + ['gpu_5ftexture_5fmip_5ffilter_8042',['GPU_TEXTURE_MIP_FILTER',['../enums_8h.html#a156eff7e27f6091bbcd89b60527e4c25',1,'enums.h']]], + ['gpu_5ftexture_5fmode_8043',['GPU_TEXTURE_MODE',['../enums_8h.html#add2eb6c4e4912e6ecff2901456bde38f',1,'enums.h']]], + ['gpu_5ftexture_5fshadow_5fparam_8044',['GPU_TEXTURE_SHADOW_PARAM',['../enums_8h.html#ae9cde489546a47b594bec7afd43a44b2',1,'enums.h']]], + ['gpu_5ftexture_5fwrap_5fs_8045',['GPU_TEXTURE_WRAP_S',['../enums_8h.html#a7fa899389868967dda12bca2b6dbb6d3',1,'enums.h']]], + ['gpu_5ftexture_5fwrap_5ft_8046',['GPU_TEXTURE_WRAP_T',['../enums_8h.html#ab166b84891109ccf8031a1280616784a',1,'enums.h']]], + ['gpucmd_5faddincrementalwrites_8047',['GPUCMD_AddIncrementalWrites',['../gpu_8h.html#a356802c7598a632a356417466f8137da',1,'gpu.h']]], + ['gpucmd_5faddmaskedincrementalwrites_8048',['GPUCMD_AddMaskedIncrementalWrites',['../gpu_8h.html#ab8af84a6eb8bc51add463e0269084413',1,'gpu.h']]], + ['gpucmd_5faddmaskedwrite_8049',['GPUCMD_AddMaskedWrite',['../gpu_8h.html#a9042ca3f0e361abe2a2ede7206376cb5',1,'gpu.h']]], + ['gpucmd_5faddmaskedwrites_8050',['GPUCMD_AddMaskedWrites',['../gpu_8h.html#aebed2367475fe34eee4b76095e141bc2',1,'gpu.h']]], + ['gpucmd_5faddwrite_8051',['GPUCMD_AddWrite',['../gpu_8h.html#a1251c8456a0f92b49eecbe2c21f0a9a0',1,'gpu.h']]], + ['gpucmd_5faddwrites_8052',['GPUCMD_AddWrites',['../gpu_8h.html#a752c8a6b19caed0f212e6cf74f7de39d',1,'gpu.h']]], + ['gpucmd_5fheader_8053',['GPUCMD_HEADER',['../gpu_8h.html#a53d850bb4682f7a192c19156e95da49b',1,'gpu.h']]], + ['gpureg_5f0000_8054',['GPUREG_0000',['../registers_8h.html#a513798eb3531b6522046f6ca9fc03250',1,'registers.h']]], + ['gpureg_5f0001_8055',['GPUREG_0001',['../registers_8h.html#a209a940dc94c2d4705de0843333d682a',1,'registers.h']]], + ['gpureg_5f0002_8056',['GPUREG_0002',['../registers_8h.html#a962660a0999fedc4a98979a5656161e6',1,'registers.h']]], + ['gpureg_5f0003_8057',['GPUREG_0003',['../registers_8h.html#a16773a191e8c942c8f9dab98deeebb85',1,'registers.h']]], + ['gpureg_5f0004_8058',['GPUREG_0004',['../registers_8h.html#afb9c0ee4b5980b23e5d0abd2a312db74',1,'registers.h']]], + ['gpureg_5f0005_8059',['GPUREG_0005',['../registers_8h.html#a2c70de00c0dc5e8699ede8c6ecec0857',1,'registers.h']]], + ['gpureg_5f0006_8060',['GPUREG_0006',['../registers_8h.html#a28e391b24fcd928cdc3e4ef75bf1b000',1,'registers.h']]], + ['gpureg_5f0007_8061',['GPUREG_0007',['../registers_8h.html#a8c00635186d052813cded47dbad5be9c',1,'registers.h']]], + ['gpureg_5f0008_8062',['GPUREG_0008',['../registers_8h.html#a667634160c85049f17906ea6c01332db',1,'registers.h']]], + ['gpureg_5f0009_8063',['GPUREG_0009',['../registers_8h.html#aeb23a10ec06cb81d6507252c161ec471',1,'registers.h']]], + ['gpureg_5f000a_8064',['GPUREG_000A',['../registers_8h.html#ac58015c9c7e203763578de6b842d70ed',1,'registers.h']]], + ['gpureg_5f000b_8065',['GPUREG_000B',['../registers_8h.html#a5fb62710c82c115f2c563be66d4b9f99',1,'registers.h']]], + ['gpureg_5f000c_8066',['GPUREG_000C',['../registers_8h.html#a23730f11c7bc59c9b61201915ab25623',1,'registers.h']]], + ['gpureg_5f000d_8067',['GPUREG_000D',['../registers_8h.html#add7054685d6d3cac88c273131c5541d5',1,'registers.h']]], + ['gpureg_5f000e_8068',['GPUREG_000E',['../registers_8h.html#acc3be790f7001b0615ed4c4f5ed7e2f6',1,'registers.h']]], + ['gpureg_5f000f_8069',['GPUREG_000F',['../registers_8h.html#afc1b3cddefbaf8c6024334778901c45a',1,'registers.h']]], + ['gpureg_5f0011_8070',['GPUREG_0011',['../registers_8h.html#a016230ae7ff5c89098b434f455c780db',1,'registers.h']]], + ['gpureg_5f0012_8071',['GPUREG_0012',['../registers_8h.html#a3dbfebe3618f06e1366e1068fcdedd2f',1,'registers.h']]], + ['gpureg_5f0013_8072',['GPUREG_0013',['../registers_8h.html#aaac9a3aa23bd6613410984cc16d233fc',1,'registers.h']]], + ['gpureg_5f0014_8073',['GPUREG_0014',['../registers_8h.html#a8ad31e931a9e762e57558af4f8664f9e',1,'registers.h']]], + ['gpureg_5f0015_8074',['GPUREG_0015',['../registers_8h.html#a718d040454286b8b517bf6f6f1172e76',1,'registers.h']]], + ['gpureg_5f0016_8075',['GPUREG_0016',['../registers_8h.html#a07484fe56577ec189d14f3f169646796',1,'registers.h']]], + ['gpureg_5f0017_8076',['GPUREG_0017',['../registers_8h.html#a4cd9018a2406fe82ae4b17a9a862fc3e',1,'registers.h']]], + ['gpureg_5f0018_8077',['GPUREG_0018',['../registers_8h.html#a4bd8c9c7b26e34d4aa57e3433a0b5ab3',1,'registers.h']]], + ['gpureg_5f0019_8078',['GPUREG_0019',['../registers_8h.html#a264f5e0c30582f59cfd8bee109d9fed8',1,'registers.h']]], + ['gpureg_5f001a_8079',['GPUREG_001A',['../registers_8h.html#a464d55316b1db5be7e64a3da02111848',1,'registers.h']]], + ['gpureg_5f001b_8080',['GPUREG_001B',['../registers_8h.html#acbb441e3aded699a9019f34800330740',1,'registers.h']]], + ['gpureg_5f001c_8081',['GPUREG_001C',['../registers_8h.html#a42d7c37c9d17f03cbe48f183522ba3dc',1,'registers.h']]], + ['gpureg_5f001d_8082',['GPUREG_001D',['../registers_8h.html#a01aa2b10ebb7da0ba70cf7017b17888c',1,'registers.h']]], + ['gpureg_5f001e_8083',['GPUREG_001E',['../registers_8h.html#a774d4cb5b2fadd285c4b612bfebafa89',1,'registers.h']]], + ['gpureg_5f001f_8084',['GPUREG_001F',['../registers_8h.html#ab0f81d83269be22d86fe94fa1f62941b',1,'registers.h']]], + ['gpureg_5f0020_8085',['GPUREG_0020',['../registers_8h.html#a4ef9a8d25fd655000c7919651609a165',1,'registers.h']]], + ['gpureg_5f0021_8086',['GPUREG_0021',['../registers_8h.html#a4e90141cc0f0f70e1de108059b94eac3',1,'registers.h']]], + ['gpureg_5f0022_8087',['GPUREG_0022',['../registers_8h.html#a7bbd0bfafdc22c892aa7dc4266bb1246',1,'registers.h']]], + ['gpureg_5f0023_8088',['GPUREG_0023',['../registers_8h.html#a5132377a8cc0d8a7fdaeb70497d8da4d',1,'registers.h']]], + ['gpureg_5f0024_8089',['GPUREG_0024',['../registers_8h.html#a4f99dc6582444314ea1983d4e82a11ce',1,'registers.h']]], + ['gpureg_5f0025_8090',['GPUREG_0025',['../registers_8h.html#a55f7e602dfe55f7f9c1015faa5d8903b',1,'registers.h']]], + ['gpureg_5f0026_8091',['GPUREG_0026',['../registers_8h.html#aa9bdf9af37603b53df2e58a25faa6985',1,'registers.h']]], + ['gpureg_5f0027_8092',['GPUREG_0027',['../registers_8h.html#ab58b659d0795528e2de298b19ba387c1',1,'registers.h']]], + ['gpureg_5f0028_8093',['GPUREG_0028',['../registers_8h.html#a6196dd57ba970a8ea2f159d211d1311d',1,'registers.h']]], + ['gpureg_5f0029_8094',['GPUREG_0029',['../registers_8h.html#a2fc53c171e1f42705e5256930e7ecafa',1,'registers.h']]], + ['gpureg_5f002a_8095',['GPUREG_002A',['../registers_8h.html#a388781fc37c8185f51cfed0523ee1799',1,'registers.h']]], + ['gpureg_5f002b_8096',['GPUREG_002B',['../registers_8h.html#a955d512608ea947f3bf50eaf634466ee',1,'registers.h']]], + ['gpureg_5f002c_8097',['GPUREG_002C',['../registers_8h.html#adf2fe0655387ac4c3fcd96908a33bc6c',1,'registers.h']]], + ['gpureg_5f002d_8098',['GPUREG_002D',['../registers_8h.html#afc06e403488c0893548b9aac740cb1c6',1,'registers.h']]], + ['gpureg_5f002e_8099',['GPUREG_002E',['../registers_8h.html#ad8780ef2520d2c12436dc5983186724d',1,'registers.h']]], + ['gpureg_5f002f_8100',['GPUREG_002F',['../registers_8h.html#afa8eb8989380742dae268e437bd7b617',1,'registers.h']]], + ['gpureg_5f0030_8101',['GPUREG_0030',['../registers_8h.html#a33c64e2f9179cc59ed2885e3535dcb10',1,'registers.h']]], + ['gpureg_5f0031_8102',['GPUREG_0031',['../registers_8h.html#afd9d8ed8df2c1cfe3a6ea1150d41ecff',1,'registers.h']]], + ['gpureg_5f0032_8103',['GPUREG_0032',['../registers_8h.html#ae9e1c9c43221f0077bf54aad09b0b9ec',1,'registers.h']]], + ['gpureg_5f0033_8104',['GPUREG_0033',['../registers_8h.html#a2e0c71ee1984d99a0cd5844433870b63',1,'registers.h']]], + ['gpureg_5f0034_8105',['GPUREG_0034',['../registers_8h.html#abac15d172a66284dfe92e652cefc50e8',1,'registers.h']]], + ['gpureg_5f0035_8106',['GPUREG_0035',['../registers_8h.html#a3bbf9524b16b2a34152c8b2c9541e587',1,'registers.h']]], + ['gpureg_5f0036_8107',['GPUREG_0036',['../registers_8h.html#a95fe5f84919a1b6f420584a98b8a010e',1,'registers.h']]], + ['gpureg_5f0037_8108',['GPUREG_0037',['../registers_8h.html#a56e72d92a5f26b8d3b8c0fb06f406466',1,'registers.h']]], + ['gpureg_5f0038_8109',['GPUREG_0038',['../registers_8h.html#a7802be1fb9fd4cad10b940e3c3d27feb',1,'registers.h']]], + ['gpureg_5f0039_8110',['GPUREG_0039',['../registers_8h.html#abee9bd8fdb5c54f1c9cfb07cadd2cefd',1,'registers.h']]], + ['gpureg_5f003a_8111',['GPUREG_003A',['../registers_8h.html#a97f5fe482fe922498c3fda1cf9772ed2',1,'registers.h']]], + ['gpureg_5f003b_8112',['GPUREG_003B',['../registers_8h.html#a36502cbcffcc2f9422cf883d14fc6289',1,'registers.h']]], + ['gpureg_5f003c_8113',['GPUREG_003C',['../registers_8h.html#a67bc71d41fd566da955aa235a93517b3',1,'registers.h']]], + ['gpureg_5f003d_8114',['GPUREG_003D',['../registers_8h.html#a5347ce63e783a436278e4a25f9c918e8',1,'registers.h']]], + ['gpureg_5f003e_8115',['GPUREG_003E',['../registers_8h.html#a325ad8ecb003b06c3b4d4e56f4b91711',1,'registers.h']]], + ['gpureg_5f003f_8116',['GPUREG_003F',['../registers_8h.html#abb359f286794e8ab5d20b339b3f72337',1,'registers.h']]], + ['gpureg_5f0045_8117',['GPUREG_0045',['../registers_8h.html#a7f5b0c550279bb59b6d6ba1cc7244e68',1,'registers.h']]], + ['gpureg_5f0046_8118',['GPUREG_0046',['../registers_8h.html#ae6e84495db866b33fcd336ef0d678a07',1,'registers.h']]], + ['gpureg_5f004c_8119',['GPUREG_004C',['../registers_8h.html#a7e1924037c48d472a2d279afa20f6cb1',1,'registers.h']]], + ['gpureg_5f0057_8120',['GPUREG_0057',['../registers_8h.html#a21f3a8278d8c91805d14825a6748a4ca',1,'registers.h']]], + ['gpureg_5f0058_8121',['GPUREG_0058',['../registers_8h.html#a1fa784143c374fa2bf0a7d9efe3f10b0',1,'registers.h']]], + ['gpureg_5f0059_8122',['GPUREG_0059',['../registers_8h.html#afa5eecf4038f0bc351ad16347fd9293e',1,'registers.h']]], + ['gpureg_5f005a_8123',['GPUREG_005A',['../registers_8h.html#a6a9048054b79a71d02c031031fb11d3e',1,'registers.h']]], + ['gpureg_5f005b_8124',['GPUREG_005B',['../registers_8h.html#a0a788663d16689f597059ea6d1e416b4',1,'registers.h']]], + ['gpureg_5f005c_8125',['GPUREG_005C',['../registers_8h.html#a49c261490aa34d410cff9dc7d4fae351',1,'registers.h']]], + ['gpureg_5f005d_8126',['GPUREG_005D',['../registers_8h.html#a0d91417a7a646a5cf524ecaec65b9552',1,'registers.h']]], + ['gpureg_5f005e_8127',['GPUREG_005E',['../registers_8h.html#a764dd5dd01a2d7343ea01183799eec5f',1,'registers.h']]], + ['gpureg_5f005f_8128',['GPUREG_005F',['../registers_8h.html#a7787ec51a5c259477403046b78055bc0',1,'registers.h']]], + ['gpureg_5f0060_8129',['GPUREG_0060',['../registers_8h.html#a4b8ac340760a38ce4794700c592dc2ac',1,'registers.h']]], + ['gpureg_5f0069_8130',['GPUREG_0069',['../registers_8h.html#ab183712784688ccaae279df924fbd03e',1,'registers.h']]], + ['gpureg_5f006b_8131',['GPUREG_006B',['../registers_8h.html#ad26f7b6caec4188a322b090c69481f00',1,'registers.h']]], + ['gpureg_5f006c_8132',['GPUREG_006C',['../registers_8h.html#a9005dee28399d5308ecb2157cfd0817c',1,'registers.h']]], + ['gpureg_5f0070_8133',['GPUREG_0070',['../registers_8h.html#a4fdc8dd83c9a80bbac7af5be685f860f',1,'registers.h']]], + ['gpureg_5f0071_8134',['GPUREG_0071',['../registers_8h.html#a16d5cf4a05116ccd8012563f9546527d',1,'registers.h']]], + ['gpureg_5f0072_8135',['GPUREG_0072',['../registers_8h.html#a1f2663645886a6bfac3ce8760ba6b451',1,'registers.h']]], + ['gpureg_5f0073_8136',['GPUREG_0073',['../registers_8h.html#a0fbc53aa7b97e7fc9563cfe9a0484c8b',1,'registers.h']]], + ['gpureg_5f0074_8137',['GPUREG_0074',['../registers_8h.html#a6c4f93f5d4a355d658799da07863a363',1,'registers.h']]], + ['gpureg_5f0075_8138',['GPUREG_0075',['../registers_8h.html#a31cf5961814a1fbd61b9c6a1b64f7905',1,'registers.h']]], + ['gpureg_5f0076_8139',['GPUREG_0076',['../registers_8h.html#aa310088d68c2185d195a10e5d0cedccf',1,'registers.h']]], + ['gpureg_5f0077_8140',['GPUREG_0077',['../registers_8h.html#ab2c1f8116784e1c3090f524b0b81f9f7',1,'registers.h']]], + ['gpureg_5f0078_8141',['GPUREG_0078',['../registers_8h.html#ad6bef640afd81f6c1f8df012d570b4ac',1,'registers.h']]], + ['gpureg_5f0079_8142',['GPUREG_0079',['../registers_8h.html#aa4d49b2a060ce128f17f78d5f6a04305',1,'registers.h']]], + ['gpureg_5f007a_8143',['GPUREG_007A',['../registers_8h.html#aeff5be5c4b775d4c97a6d4da0d717ace',1,'registers.h']]], + ['gpureg_5f007b_8144',['GPUREG_007B',['../registers_8h.html#a6612757b531c3ad747ca4ffebca7f827',1,'registers.h']]], + ['gpureg_5f007c_8145',['GPUREG_007C',['../registers_8h.html#a3029ea723c3aeee53518d9a957311e24',1,'registers.h']]], + ['gpureg_5f007d_8146',['GPUREG_007D',['../registers_8h.html#acd23ad06784d1cd2b192360708a62112',1,'registers.h']]], + ['gpureg_5f007e_8147',['GPUREG_007E',['../registers_8h.html#ade3484bd59758da28afd4f88a91b7b7b',1,'registers.h']]], + ['gpureg_5f007f_8148',['GPUREG_007F',['../registers_8h.html#ad45bd6c0bd0266c11e0029e3b9958f1a',1,'registers.h']]], + ['gpureg_5f008c_8149',['GPUREG_008C',['../registers_8h.html#aa08280fdedc3ab48e0053fa5904a426f',1,'registers.h']]], + ['gpureg_5f008d_8150',['GPUREG_008D',['../registers_8h.html#a57f8af8e9aa536be4110b62730e2217c',1,'registers.h']]], + ['gpureg_5f0090_8151',['GPUREG_0090',['../registers_8h.html#a5704b3eaf12caa0029cf49f6695a5a88',1,'registers.h']]], + ['gpureg_5f0097_8152',['GPUREG_0097',['../registers_8h.html#a71286488a8143a294b3283cdea446084',1,'registers.h']]], + ['gpureg_5f0098_8153',['GPUREG_0098',['../registers_8h.html#a4738e4f70758a379a7b6df64b0ae3599',1,'registers.h']]], + ['gpureg_5f009f_8154',['GPUREG_009F',['../registers_8h.html#a6d848ef44c505903a0f649e678569d36',1,'registers.h']]], + ['gpureg_5f00a0_8155',['GPUREG_00A0',['../registers_8h.html#a82fed812412cbddd79dd7c2d5559910d',1,'registers.h']]], + ['gpureg_5f00a1_8156',['GPUREG_00A1',['../registers_8h.html#ac415b73ed641ba601a073f3f7d48f788',1,'registers.h']]], + ['gpureg_5f00a2_8157',['GPUREG_00A2',['../registers_8h.html#abc88740ac9d2011f9326b7b15d2e2d1d',1,'registers.h']]], + ['gpureg_5f00a3_8158',['GPUREG_00A3',['../registers_8h.html#aefa44265d6cbfc97cde57e633b6589e8',1,'registers.h']]], + ['gpureg_5f00a4_8159',['GPUREG_00A4',['../registers_8h.html#ae4cd02b07aa9256b735a9ccb7dd8829a',1,'registers.h']]], + ['gpureg_5f00a5_8160',['GPUREG_00A5',['../registers_8h.html#a267443363103de90479007434074d388',1,'registers.h']]], + ['gpureg_5f00a6_8161',['GPUREG_00A6',['../registers_8h.html#aa94d730bd076ac0bf3dc107fdd372635',1,'registers.h']]], + ['gpureg_5f00a7_8162',['GPUREG_00A7',['../registers_8h.html#a1485588a8e71c610f6b2f77703f921fe',1,'registers.h']]], + ['gpureg_5f00ae_8163',['GPUREG_00AE',['../registers_8h.html#a000706d66b716f1ae5271e8248ceb781',1,'registers.h']]], + ['gpureg_5f00b8_8164',['GPUREG_00B8',['../registers_8h.html#a9ed9ae0d5b6c161090ce0e4e308a2ab3',1,'registers.h']]], + ['gpureg_5f00b9_8165',['GPUREG_00B9',['../registers_8h.html#a77156336dc7b3d4b9b03e88921323d05',1,'registers.h']]], + ['gpureg_5f00ba_8166',['GPUREG_00BA',['../registers_8h.html#ac13ca773a52bb189382482821ee96ce1',1,'registers.h']]], + ['gpureg_5f00bb_8167',['GPUREG_00BB',['../registers_8h.html#a2c2e760cc5fdb68d233a3e3696a8bbc9',1,'registers.h']]], + ['gpureg_5f00bc_8168',['GPUREG_00BC',['../registers_8h.html#ac68e5c26a2291a04480845d4a77b8d19',1,'registers.h']]], + ['gpureg_5f00bd_8169',['GPUREG_00BD',['../registers_8h.html#abd5786aa155f1f1aee2c6b12d4ca656c',1,'registers.h']]], + ['gpureg_5f00be_8170',['GPUREG_00BE',['../registers_8h.html#ac365cd27bad02cc12bca36670a143ed1',1,'registers.h']]], + ['gpureg_5f00bf_8171',['GPUREG_00BF',['../registers_8h.html#a551f667f81b849788dbf55fc8edc6561',1,'registers.h']]], + ['gpureg_5f00c5_8172',['GPUREG_00C5',['../registers_8h.html#a0674f4767d836dedf8e1ea8fc603b929',1,'registers.h']]], + ['gpureg_5f00c6_8173',['GPUREG_00C6',['../registers_8h.html#a465c5eee49afdf1fde33af9642c744db',1,'registers.h']]], + ['gpureg_5f00c7_8174',['GPUREG_00C7',['../registers_8h.html#ac038d3f0af68051be1b0381f952fc988',1,'registers.h']]], + ['gpureg_5f00cd_8175',['GPUREG_00CD',['../registers_8h.html#aac0633bc5549f962ed21b64abc720807',1,'registers.h']]], + ['gpureg_5f00ce_8176',['GPUREG_00CE',['../registers_8h.html#a4e7c963ab1e5ac6b657f33491ff8557c',1,'registers.h']]], + ['gpureg_5f00cf_8177',['GPUREG_00CF',['../registers_8h.html#a2ca8d947dbf41591d6b84bf5fd53607a',1,'registers.h']]], + ['gpureg_5f00d5_8178',['GPUREG_00D5',['../registers_8h.html#a49d30ce44e4fbe36e707e51f62d23604',1,'registers.h']]], + ['gpureg_5f00d6_8179',['GPUREG_00D6',['../registers_8h.html#aeba682f3a3d9dd18f19aeb020c9ddc5e',1,'registers.h']]], + ['gpureg_5f00d7_8180',['GPUREG_00D7',['../registers_8h.html#af46e0915d4f3ac3bcd0fd5d8c78f7acb',1,'registers.h']]], + ['gpureg_5f00dd_8181',['GPUREG_00DD',['../registers_8h.html#a7f9f129181ad4ea51057e3c955bffa77',1,'registers.h']]], + ['gpureg_5f00de_8182',['GPUREG_00DE',['../registers_8h.html#a06b1d1d898a39526674ae13e50624abb',1,'registers.h']]], + ['gpureg_5f00df_8183',['GPUREG_00DF',['../registers_8h.html#a9d681c26c1d755d4673e3fa116865e9b',1,'registers.h']]], + ['gpureg_5f00e2_8184',['GPUREG_00E2',['../registers_8h.html#a6243988f20b8fc927a354a48d98eec93',1,'registers.h']]], + ['gpureg_5f00e3_8185',['GPUREG_00E3',['../registers_8h.html#a4bd4a53369619a047a9e711f6da74d98',1,'registers.h']]], + ['gpureg_5f00e7_8186',['GPUREG_00E7',['../registers_8h.html#aee09093555b11b0b3dcf4b570558a1ab',1,'registers.h']]], + ['gpureg_5f00f5_8187',['GPUREG_00F5',['../registers_8h.html#a000dffdee94dd7d4768dded2136b557d',1,'registers.h']]], + ['gpureg_5f00f6_8188',['GPUREG_00F6',['../registers_8h.html#a97eaf77557b5e81301c08db285e7a44d',1,'registers.h']]], + ['gpureg_5f00f7_8189',['GPUREG_00F7',['../registers_8h.html#a1849725257cde69541d73d438f12c985',1,'registers.h']]], + ['gpureg_5f00fe_8190',['GPUREG_00FE',['../registers_8h.html#aed1aeea949181449c53da6e3f76da3d1',1,'registers.h']]], + ['gpureg_5f00ff_8191',['GPUREG_00FF',['../registers_8h.html#af174348044c56bf58395fa5e48e33c2c',1,'registers.h']]], + ['gpureg_5f0108_8192',['GPUREG_0108',['../registers_8h.html#a8d9a819ef933f796946665059a0195ed',1,'registers.h']]], + ['gpureg_5f0109_8193',['GPUREG_0109',['../registers_8h.html#a5d21a61fa2ecdbccaaad3484a816a998',1,'registers.h']]], + ['gpureg_5f010a_8194',['GPUREG_010A',['../registers_8h.html#a5250befa187f43864c02d39104e363ce',1,'registers.h']]], + ['gpureg_5f010b_8195',['GPUREG_010B',['../registers_8h.html#aeaa7b3549bf479f6d3671b8cdafcdc30',1,'registers.h']]], + ['gpureg_5f010c_8196',['GPUREG_010C',['../registers_8h.html#aa8b84f3aa30241503e09c7108a24f052',1,'registers.h']]], + ['gpureg_5f010d_8197',['GPUREG_010D',['../registers_8h.html#ac9ef0c9d52e9cf939cc57a885ef38fee',1,'registers.h']]], + ['gpureg_5f010e_8198',['GPUREG_010E',['../registers_8h.html#a9ed357bf9f1b110aab1b0c9702134a7e',1,'registers.h']]], + ['gpureg_5f010f_8199',['GPUREG_010F',['../registers_8h.html#ac8dda0236163bcb2af6a0401d60f124c',1,'registers.h']]], + ['gpureg_5f0119_8200',['GPUREG_0119',['../registers_8h.html#a0eeb5d65d1e3869c24056d6d3e8a8b35',1,'registers.h']]], + ['gpureg_5f011a_8201',['GPUREG_011A',['../registers_8h.html#a0d8067d13849fa235db0c168e560514a',1,'registers.h']]], + ['gpureg_5f011f_8202',['GPUREG_011F',['../registers_8h.html#afe292ece1e62c7720e7909bf6977f290',1,'registers.h']]], + ['gpureg_5f0127_8203',['GPUREG_0127',['../registers_8h.html#aaed1d6abcf58f0a4fc15298101a9a54f',1,'registers.h']]], + ['gpureg_5f0128_8204',['GPUREG_0128',['../registers_8h.html#a6cebdbf9d7963c94736dc5e7565cbe26',1,'registers.h']]], + ['gpureg_5f0129_8205',['GPUREG_0129',['../registers_8h.html#a0f13e57ce2479d4b2f97344a5ccd9c0b',1,'registers.h']]], + ['gpureg_5f012a_8206',['GPUREG_012A',['../registers_8h.html#a932f829bbc5ce44cee3e1266af3f6f41',1,'registers.h']]], + ['gpureg_5f012b_8207',['GPUREG_012B',['../registers_8h.html#aeb098050745a697983c158ab7827ecad',1,'registers.h']]], + ['gpureg_5f012c_8208',['GPUREG_012C',['../registers_8h.html#a1189bbf0c2f52a98275b51430c72231a',1,'registers.h']]], + ['gpureg_5f012d_8209',['GPUREG_012D',['../registers_8h.html#ac6f066dfe82bfc3d0a62421c913b89db',1,'registers.h']]], + ['gpureg_5f012e_8210',['GPUREG_012E',['../registers_8h.html#ad6a1f9be654b9278eff21e269ff82be8',1,'registers.h']]], + ['gpureg_5f012f_8211',['GPUREG_012F',['../registers_8h.html#a20f31704e8f59c674f62f09529650604',1,'registers.h']]], + ['gpureg_5f0131_8212',['GPUREG_0131',['../registers_8h.html#a88c253b815ce2eb18bda89d1599a9d41',1,'registers.h']]], + ['gpureg_5f0132_8213',['GPUREG_0132',['../registers_8h.html#af686ef26945145c1555c28135d28c53d',1,'registers.h']]], + ['gpureg_5f0133_8214',['GPUREG_0133',['../registers_8h.html#a55b984522940857b34e921415301a4b4',1,'registers.h']]], + ['gpureg_5f0134_8215',['GPUREG_0134',['../registers_8h.html#a89ec807c2293d296fddf6d7ee202e50e',1,'registers.h']]], + ['gpureg_5f0135_8216',['GPUREG_0135',['../registers_8h.html#ae0f7499f0c01d49ab6e68f86ee500a7e',1,'registers.h']]], + ['gpureg_5f0136_8217',['GPUREG_0136',['../registers_8h.html#a2eda0eb8a13c0711108c514e62dde2d9',1,'registers.h']]], + ['gpureg_5f0137_8218',['GPUREG_0137',['../registers_8h.html#a4293a6858edc07874627539d61584cb0',1,'registers.h']]], + ['gpureg_5f0138_8219',['GPUREG_0138',['../registers_8h.html#aab26b206eb66da6938cc97aed59516b4',1,'registers.h']]], + ['gpureg_5f0139_8220',['GPUREG_0139',['../registers_8h.html#a3d7f1398aa4fc715b8065c2297a1758d',1,'registers.h']]], + ['gpureg_5f013a_8221',['GPUREG_013A',['../registers_8h.html#aa74a485ba87d6c548d926ce702c1caac',1,'registers.h']]], + ['gpureg_5f013b_8222',['GPUREG_013B',['../registers_8h.html#a2d644410e3338dfca40dfaa9ad8fcede',1,'registers.h']]], + ['gpureg_5f013c_8223',['GPUREG_013C',['../registers_8h.html#aece3c7ddb7daca9b7d552f3f3780a407',1,'registers.h']]], + ['gpureg_5f013d_8224',['GPUREG_013D',['../registers_8h.html#aa4fb02bfde5c96668eea07e357763d15',1,'registers.h']]], + ['gpureg_5f013e_8225',['GPUREG_013E',['../registers_8h.html#a0c7204fddfc98d02d0ee45a33821980e',1,'registers.h']]], + ['gpureg_5f013f_8226',['GPUREG_013F',['../registers_8h.html#a7a1e65cff1070b3aa21d971b9e23f5fe',1,'registers.h']]], + ['gpureg_5f0148_8227',['GPUREG_0148',['../registers_8h.html#a220f77f997b3546e4cfd34c4785ea14e',1,'registers.h']]], + ['gpureg_5f014c_8228',['GPUREG_014C',['../registers_8h.html#a03053c6aab9710be2094d5ae84a376c5',1,'registers.h']]], + ['gpureg_5f014d_8229',['GPUREG_014D',['../registers_8h.html#a6b0c5b1ecca2248e120e846117ca9903',1,'registers.h']]], + ['gpureg_5f014e_8230',['GPUREG_014E',['../registers_8h.html#aefcf9df18a2245e45a5dbe372da9712e',1,'registers.h']]], + ['gpureg_5f014f_8231',['GPUREG_014F',['../registers_8h.html#a07992b1b3fe32967acde07607b2cf45c',1,'registers.h']]], + ['gpureg_5f0158_8232',['GPUREG_0158',['../registers_8h.html#abd5178a1ef976a8542eb69b8c9dcfc2f',1,'registers.h']]], + ['gpureg_5f015c_8233',['GPUREG_015C',['../registers_8h.html#a988f3ccfe28e5572c3af0b4b98848ead',1,'registers.h']]], + ['gpureg_5f015d_8234',['GPUREG_015D',['../registers_8h.html#a15fca57460a9e156cf53173ba3a2ee1c',1,'registers.h']]], + ['gpureg_5f015e_8235',['GPUREG_015E',['../registers_8h.html#afcd02a83fa32855e332f5fdb5fa49d64',1,'registers.h']]], + ['gpureg_5f015f_8236',['GPUREG_015F',['../registers_8h.html#a62cfa249b9fe33d6e80b638d27e87b20',1,'registers.h']]], + ['gpureg_5f0168_8237',['GPUREG_0168',['../registers_8h.html#a8c222f8c44faa875bd8360c22179eda8',1,'registers.h']]], + ['gpureg_5f016c_8238',['GPUREG_016C',['../registers_8h.html#a7e62fd37ab6bda409e62893f6d14952d',1,'registers.h']]], + ['gpureg_5f016d_8239',['GPUREG_016D',['../registers_8h.html#a485f6d032ec80ee8d68c97a6d9389a38',1,'registers.h']]], + ['gpureg_5f016e_8240',['GPUREG_016E',['../registers_8h.html#a9235c9d88273dbe032d9a046cb849ffc',1,'registers.h']]], + ['gpureg_5f016f_8241',['GPUREG_016F',['../registers_8h.html#a23ece2e049e4069afa97f26a1dd7cc84',1,'registers.h']]], + ['gpureg_5f0178_8242',['GPUREG_0178',['../registers_8h.html#ac9ea71d38396e22007650043100e245a',1,'registers.h']]], + ['gpureg_5f017c_8243',['GPUREG_017C',['../registers_8h.html#a3272491eb008b1618bd05177cd74583d',1,'registers.h']]], + ['gpureg_5f017d_8244',['GPUREG_017D',['../registers_8h.html#acbc2b727720f0e4609a8ce25596957b7',1,'registers.h']]], + ['gpureg_5f017e_8245',['GPUREG_017E',['../registers_8h.html#a95a613e6c9c7e444a83ba2ea7b1ef08e',1,'registers.h']]], + ['gpureg_5f017f_8246',['GPUREG_017F',['../registers_8h.html#ab20d526f2b0c42d6c3f37fc459383db2',1,'registers.h']]], + ['gpureg_5f0188_8247',['GPUREG_0188',['../registers_8h.html#abb1f18cc9aa00b4d70a2e4ba4df56786',1,'registers.h']]], + ['gpureg_5f018c_8248',['GPUREG_018C',['../registers_8h.html#a062e2e023ee24f8f7ee038875949eaf3',1,'registers.h']]], + ['gpureg_5f018d_8249',['GPUREG_018D',['../registers_8h.html#ab89fc4d12323efa78273b2958456c767',1,'registers.h']]], + ['gpureg_5f018e_8250',['GPUREG_018E',['../registers_8h.html#a0f9129fabdd4c6de5606d90deb0b993e',1,'registers.h']]], + ['gpureg_5f018f_8251',['GPUREG_018F',['../registers_8h.html#a8d7e958717c25f80e62912c0a64ae515',1,'registers.h']]], + ['gpureg_5f0198_8252',['GPUREG_0198',['../registers_8h.html#a022e41389eab6833560aefdc97632c3d',1,'registers.h']]], + ['gpureg_5f019c_8253',['GPUREG_019C',['../registers_8h.html#af38c026c73ed34b3054428b3e74c199a',1,'registers.h']]], + ['gpureg_5f019d_8254',['GPUREG_019D',['../registers_8h.html#aeeada8542567dbca904c7a360a9d57f9',1,'registers.h']]], + ['gpureg_5f019e_8255',['GPUREG_019E',['../registers_8h.html#a729f0fb78db5ca5b1878c7bdacba2c26',1,'registers.h']]], + ['gpureg_5f019f_8256',['GPUREG_019F',['../registers_8h.html#a10c099d5a1f9fe80d9d971c0c3514384',1,'registers.h']]], + ['gpureg_5f01a8_8257',['GPUREG_01A8',['../registers_8h.html#ac6abaa1dcc201490012fafa85e29ae86',1,'registers.h']]], + ['gpureg_5f01ac_8258',['GPUREG_01AC',['../registers_8h.html#a48911228a2fe3437ec53c5989f5eb293',1,'registers.h']]], + ['gpureg_5f01ad_8259',['GPUREG_01AD',['../registers_8h.html#a16be464395dd4f5f36039f721d1751d6',1,'registers.h']]], + ['gpureg_5f01ae_8260',['GPUREG_01AE',['../registers_8h.html#ac680458d7850d4abbcdd4b9e274ca514',1,'registers.h']]], + ['gpureg_5f01af_8261',['GPUREG_01AF',['../registers_8h.html#a074cb1add11f95e8ed8380b17995bd7f',1,'registers.h']]], + ['gpureg_5f01b8_8262',['GPUREG_01B8',['../registers_8h.html#a57d93b1c4881e31a49cd537f17d478f5',1,'registers.h']]], + ['gpureg_5f01bc_8263',['GPUREG_01BC',['../registers_8h.html#aab7acdba8f96781970230e404fe7989b',1,'registers.h']]], + ['gpureg_5f01bd_8264',['GPUREG_01BD',['../registers_8h.html#af76240e6b9dafc51e41d35ee6f6d6fce',1,'registers.h']]], + ['gpureg_5f01be_8265',['GPUREG_01BE',['../registers_8h.html#af4e8b9efa7d44f241cce78d565443431',1,'registers.h']]], + ['gpureg_5f01bf_8266',['GPUREG_01BF',['../registers_8h.html#a798c60acf3e3fa4e64cbe1a6090e2a6a',1,'registers.h']]], + ['gpureg_5f01c1_8267',['GPUREG_01C1',['../registers_8h.html#a0ed2dd873a3095eb3a220c7b7cec0fd6',1,'registers.h']]], + ['gpureg_5f01c7_8268',['GPUREG_01C7',['../registers_8h.html#ae2a4a6252cac0c54597d123243f85fde',1,'registers.h']]], + ['gpureg_5f01d3_8269',['GPUREG_01D3',['../registers_8h.html#a52128fcbdb2b4aec28ecedc0e031485a',1,'registers.h']]], + ['gpureg_5f01d4_8270',['GPUREG_01D4',['../registers_8h.html#a66b79a7ad1dabf6ca86e29608c7c890a',1,'registers.h']]], + ['gpureg_5f01d5_8271',['GPUREG_01D5',['../registers_8h.html#acb1bbaff6ef3536a727ddf2e4a63f52f',1,'registers.h']]], + ['gpureg_5f01d6_8272',['GPUREG_01D6',['../registers_8h.html#ad8cfdf43d4b7eac6288fb8a4289da6ea',1,'registers.h']]], + ['gpureg_5f01d7_8273',['GPUREG_01D7',['../registers_8h.html#a2ba57073a3bac9c599c72c9d981aeb6b',1,'registers.h']]], + ['gpureg_5f01d8_8274',['GPUREG_01D8',['../registers_8h.html#a9fdec55e842d44938f5e16e15e023853',1,'registers.h']]], + ['gpureg_5f01da_8275',['GPUREG_01DA',['../registers_8h.html#a6367d49e3047bbdac69d4bbb7b7e5b7a',1,'registers.h']]], + ['gpureg_5f01db_8276',['GPUREG_01DB',['../registers_8h.html#afa81e22abed6329798c9628bb9b83e51',1,'registers.h']]], + ['gpureg_5f01dc_8277',['GPUREG_01DC',['../registers_8h.html#a45cfb0dd52f9b7f85a7c2fb8939bb1c3',1,'registers.h']]], + ['gpureg_5f01dd_8278',['GPUREG_01DD',['../registers_8h.html#ae8b630b73a4805227f1efade92c4d71c',1,'registers.h']]], + ['gpureg_5f01de_8279',['GPUREG_01DE',['../registers_8h.html#aa5c84afe61eb1b4cd0d311ffe0072abc',1,'registers.h']]], + ['gpureg_5f01df_8280',['GPUREG_01DF',['../registers_8h.html#a021b733d3abad05957f300d92433a245',1,'registers.h']]], + ['gpureg_5f01e0_8281',['GPUREG_01E0',['../registers_8h.html#aa4c542caa1fa8d288638ab2edb0c2d9b',1,'registers.h']]], + ['gpureg_5f01e1_8282',['GPUREG_01E1',['../registers_8h.html#abc29b720b398eef87924617ec48f3050',1,'registers.h']]], + ['gpureg_5f01e2_8283',['GPUREG_01E2',['../registers_8h.html#acc579defc066ba9e16724e1049a7709a',1,'registers.h']]], + ['gpureg_5f01e3_8284',['GPUREG_01E3',['../registers_8h.html#abf70280cccb46a8411482c7221352e1e',1,'registers.h']]], + ['gpureg_5f01e4_8285',['GPUREG_01E4',['../registers_8h.html#a760dd9a219490790a40ba2d76d9258e1',1,'registers.h']]], + ['gpureg_5f01e5_8286',['GPUREG_01E5',['../registers_8h.html#a5fa3dc2f7b57e212e61ce2dc3c655b20',1,'registers.h']]], + ['gpureg_5f01e6_8287',['GPUREG_01E6',['../registers_8h.html#a2b920cd07ff82ab1f868dd07869c497a',1,'registers.h']]], + ['gpureg_5f01e7_8288',['GPUREG_01E7',['../registers_8h.html#ad16ea511aee8e3bafc99a8d9fe1bdf1a',1,'registers.h']]], + ['gpureg_5f01e8_8289',['GPUREG_01E8',['../registers_8h.html#ad0b39dd6466b56d971038e8bf37acc8e',1,'registers.h']]], + ['gpureg_5f01e9_8290',['GPUREG_01E9',['../registers_8h.html#a2639eeb6c9ed1f5fe98ec6f5b8aa435a',1,'registers.h']]], + ['gpureg_5f01ea_8291',['GPUREG_01EA',['../registers_8h.html#ab6a27addc880a2fcfb7e77659c2bf9d1',1,'registers.h']]], + ['gpureg_5f01eb_8292',['GPUREG_01EB',['../registers_8h.html#a1db5008bff828438fc4b4d1dc717d14d',1,'registers.h']]], + ['gpureg_5f01ec_8293',['GPUREG_01EC',['../registers_8h.html#a07da4e68b849145dc1eca3ebb6e1ce09',1,'registers.h']]], + ['gpureg_5f01ed_8294',['GPUREG_01ED',['../registers_8h.html#a8e28dd30bbe1d74101d8de68ffeefc6f',1,'registers.h']]], + ['gpureg_5f01ee_8295',['GPUREG_01EE',['../registers_8h.html#ab6e2ca4c29d1b19a9a5ad21e2bb0499e',1,'registers.h']]], + ['gpureg_5f01ef_8296',['GPUREG_01EF',['../registers_8h.html#a32982f51b3d018f315a9c6cd7ed180cd',1,'registers.h']]], + ['gpureg_5f01f0_8297',['GPUREG_01F0',['../registers_8h.html#afc56ffdb6d4de286808e7d0860f24b97',1,'registers.h']]], + ['gpureg_5f01f1_8298',['GPUREG_01F1',['../registers_8h.html#af3df1274e5d836c7807727e4278f66a2',1,'registers.h']]], + ['gpureg_5f01f2_8299',['GPUREG_01F2',['../registers_8h.html#a2f1c0f4458a214fe03bd5dade27201fc',1,'registers.h']]], + ['gpureg_5f01f3_8300',['GPUREG_01F3',['../registers_8h.html#af52c5fb2c8c490f20abed207f00756a9',1,'registers.h']]], + ['gpureg_5f01f4_8301',['GPUREG_01F4',['../registers_8h.html#a07834cc329001d5f6e9f16b92a270786',1,'registers.h']]], + ['gpureg_5f01f5_8302',['GPUREG_01F5',['../registers_8h.html#a86b51d8c138836cee918b0cb07cd9c96',1,'registers.h']]], + ['gpureg_5f01f6_8303',['GPUREG_01F6',['../registers_8h.html#ad12127e9e957f825c90f0cb5eddbc6d8',1,'registers.h']]], + ['gpureg_5f01f7_8304',['GPUREG_01F7',['../registers_8h.html#a558f4c35eb738a842c7d3b9b6889d3a4',1,'registers.h']]], + ['gpureg_5f01f8_8305',['GPUREG_01F8',['../registers_8h.html#ab59a623506300cffcedd232918664c39',1,'registers.h']]], + ['gpureg_5f01f9_8306',['GPUREG_01F9',['../registers_8h.html#a9db9ef51a6dbf6137dded51b006c85b4',1,'registers.h']]], + ['gpureg_5f01fa_8307',['GPUREG_01FA',['../registers_8h.html#a529c4a900eab43c2813807c2855d1766',1,'registers.h']]], + ['gpureg_5f01fb_8308',['GPUREG_01FB',['../registers_8h.html#ab88f3ee256ab0caa0d8f42962499357d',1,'registers.h']]], + ['gpureg_5f01fc_8309',['GPUREG_01FC',['../registers_8h.html#ad9463abc5dc18cc4ae3edbf5177ff592',1,'registers.h']]], + ['gpureg_5f01fd_8310',['GPUREG_01FD',['../registers_8h.html#ad05268d7277efaad4c481283d07d4412',1,'registers.h']]], + ['gpureg_5f01fe_8311',['GPUREG_01FE',['../registers_8h.html#a62e99d9fc044240c579ead6a06485943',1,'registers.h']]], + ['gpureg_5f01ff_8312',['GPUREG_01FF',['../registers_8h.html#ae6399073f57afafe1781798c88d057a0',1,'registers.h']]], + ['gpureg_5f022b_8313',['GPUREG_022B',['../registers_8h.html#acc35cdfac774d25127cd0fb9d533e487',1,'registers.h']]], + ['gpureg_5f022c_8314',['GPUREG_022C',['../registers_8h.html#a93dc4c5267c9347336ca6bb47a9688b3',1,'registers.h']]], + ['gpureg_5f0230_8315',['GPUREG_0230',['../registers_8h.html#abc1c2f2591469a4774fd701f4ae30480',1,'registers.h']]], + ['gpureg_5f0236_8316',['GPUREG_0236',['../registers_8h.html#a937f4b9ec9d31c82bcaa922560c9f937',1,'registers.h']]], + ['gpureg_5f0237_8317',['GPUREG_0237',['../registers_8h.html#a5658f4fc77cdb0f9773bf372a40276eb',1,'registers.h']]], + ['gpureg_5f023e_8318',['GPUREG_023E',['../registers_8h.html#a7238ed2417e87733aa89d1aa3440a808',1,'registers.h']]], + ['gpureg_5f023f_8319',['GPUREG_023F',['../registers_8h.html#ab1691f3b4f55bce535fd6faa82aebddf',1,'registers.h']]], + ['gpureg_5f0240_8320',['GPUREG_0240',['../registers_8h.html#a357070df757ee90a4cde170f3266dd6d',1,'registers.h']]], + ['gpureg_5f0241_8321',['GPUREG_0241',['../registers_8h.html#a06fccaa8b2c82da5e1d5c570f378bca6',1,'registers.h']]], + ['gpureg_5f0243_8322',['GPUREG_0243',['../registers_8h.html#a6d65ad6aaed6c7c32b07964af392fb59',1,'registers.h']]], + ['gpureg_5f0246_8323',['GPUREG_0246',['../registers_8h.html#a473eb7e2cbe7eec0cd96142c31309ac4',1,'registers.h']]], + ['gpureg_5f0247_8324',['GPUREG_0247',['../registers_8h.html#a8f748c94d0d46f3b283d48d2b4512e99',1,'registers.h']]], + ['gpureg_5f0248_8325',['GPUREG_0248',['../registers_8h.html#a0e7f138787705bf322362575f6998a20',1,'registers.h']]], + ['gpureg_5f0249_8326',['GPUREG_0249',['../registers_8h.html#a39f3f60ea80ab67d8010d73f7656fc36',1,'registers.h']]], + ['gpureg_5f024b_8327',['GPUREG_024B',['../registers_8h.html#a0c9443f90fde39a60ee91d9012e2c6d6',1,'registers.h']]], + ['gpureg_5f024c_8328',['GPUREG_024C',['../registers_8h.html#a0fd727463182de1807f5fb2494ca6f45',1,'registers.h']]], + ['gpureg_5f024d_8329',['GPUREG_024D',['../registers_8h.html#aa0b23a32993f2b1815eaab16c1a8f234',1,'registers.h']]], + ['gpureg_5f024e_8330',['GPUREG_024E',['../registers_8h.html#a49ca337eb54d2bdb56b110e2b23f5ed6',1,'registers.h']]], + ['gpureg_5f024f_8331',['GPUREG_024F',['../registers_8h.html#a81af608654931d1e97d1c2953c21b428',1,'registers.h']]], + ['gpureg_5f0250_8332',['GPUREG_0250',['../registers_8h.html#a696a3715fc8286330329a3408b0e0e99',1,'registers.h']]], + ['gpureg_5f0255_8333',['GPUREG_0255',['../registers_8h.html#a576b10dc396b9b5e6df1f749a307dd71',1,'registers.h']]], + ['gpureg_5f0256_8334',['GPUREG_0256',['../registers_8h.html#a610ba683eaa6a3e9213bf517df15b0c4',1,'registers.h']]], + ['gpureg_5f0257_8335',['GPUREG_0257',['../registers_8h.html#ad6dd7215b370accf8c83a7ad9b14f79e',1,'registers.h']]], + ['gpureg_5f0258_8336',['GPUREG_0258',['../registers_8h.html#aa7f87c0d232e169372879b543f1e0b4b',1,'registers.h']]], + ['gpureg_5f0259_8337',['GPUREG_0259',['../registers_8h.html#ace29b72dfc91ecf3a563ef41b9c03132',1,'registers.h']]], + ['gpureg_5f025a_8338',['GPUREG_025A',['../registers_8h.html#aded520b22020996eb48ed6c449043f48',1,'registers.h']]], + ['gpureg_5f025b_8339',['GPUREG_025B',['../registers_8h.html#a31650cbf054d1492eb06c17ae718ca09',1,'registers.h']]], + ['gpureg_5f025c_8340',['GPUREG_025C',['../registers_8h.html#a90f4b34103baead5b492a9550712385c',1,'registers.h']]], + ['gpureg_5f025d_8341',['GPUREG_025D',['../registers_8h.html#a980afabd157e8d7b39e1b7ce690ea098',1,'registers.h']]], + ['gpureg_5f0260_8342',['GPUREG_0260',['../registers_8h.html#a0d3e52e98871e943ef80966ab361b4f5',1,'registers.h']]], + ['gpureg_5f0261_8343',['GPUREG_0261',['../registers_8h.html#a12256c4f68daa7c06564defd042847dd',1,'registers.h']]], + ['gpureg_5f0262_8344',['GPUREG_0262',['../registers_8h.html#a0653dd99fbe6f81854a10332f71cad98',1,'registers.h']]], + ['gpureg_5f0263_8345',['GPUREG_0263',['../registers_8h.html#a94be18bfd3e77448fea67aa23c53bc7e',1,'registers.h']]], + ['gpureg_5f0264_8346',['GPUREG_0264',['../registers_8h.html#af13c0c676f1bc701e07448f19443e99a',1,'registers.h']]], + ['gpureg_5f0265_8347',['GPUREG_0265',['../registers_8h.html#a5cde74ed63e97bacad811c18a4996c48',1,'registers.h']]], + ['gpureg_5f0266_8348',['GPUREG_0266',['../registers_8h.html#af916923ceb24541a4b79182653f4195a',1,'registers.h']]], + ['gpureg_5f0267_8349',['GPUREG_0267',['../registers_8h.html#acf7b936d40d450e108435e86229f6d29',1,'registers.h']]], + ['gpureg_5f0268_8350',['GPUREG_0268',['../registers_8h.html#aaeb5319a6f7697134d8c8d91f9d06f98',1,'registers.h']]], + ['gpureg_5f0269_8351',['GPUREG_0269',['../registers_8h.html#ae1cbc9e8fc0f22862373d6c116e5178d',1,'registers.h']]], + ['gpureg_5f026a_8352',['GPUREG_026A',['../registers_8h.html#a8c0a66890b16fd03b897c3c4d463832d',1,'registers.h']]], + ['gpureg_5f026b_8353',['GPUREG_026B',['../registers_8h.html#a7a75c35aa7950cc15beda92cd6e3a55e',1,'registers.h']]], + ['gpureg_5f026c_8354',['GPUREG_026C',['../registers_8h.html#a969fa83a14fa933333346583e35d9e52',1,'registers.h']]], + ['gpureg_5f026d_8355',['GPUREG_026D',['../registers_8h.html#ab7a5deb9ad8a4ba3e16cbaac5f42fc8a',1,'registers.h']]], + ['gpureg_5f026e_8356',['GPUREG_026E',['../registers_8h.html#a4bc96fffd59da275756359acc15337d9',1,'registers.h']]], + ['gpureg_5f026f_8357',['GPUREG_026F',['../registers_8h.html#a12b7a5ac54643c57096d466b5071b2f4',1,'registers.h']]], + ['gpureg_5f0270_8358',['GPUREG_0270',['../registers_8h.html#ad346321a156f63da0378204ff1e4df02',1,'registers.h']]], + ['gpureg_5f0271_8359',['GPUREG_0271',['../registers_8h.html#ad86b77b906c44db5001d9c86b6276e1d',1,'registers.h']]], + ['gpureg_5f0272_8360',['GPUREG_0272',['../registers_8h.html#a901452bfddd34c19ef025c5a74aac4da',1,'registers.h']]], + ['gpureg_5f0273_8361',['GPUREG_0273',['../registers_8h.html#aad6ec2ed88bb249171a68324f6c8f467',1,'registers.h']]], + ['gpureg_5f0274_8362',['GPUREG_0274',['../registers_8h.html#aa358f55f5d9fb6dd88e5fe5f1c9c353c',1,'registers.h']]], + ['gpureg_5f0275_8363',['GPUREG_0275',['../registers_8h.html#a55c093792bd98fb38576efbc5b08b7c2',1,'registers.h']]], + ['gpureg_5f0276_8364',['GPUREG_0276',['../registers_8h.html#a9da65c2ad059f7a7103723f2f510cc0e',1,'registers.h']]], + ['gpureg_5f0277_8365',['GPUREG_0277',['../registers_8h.html#af4efd88a22cc8bb2e662aa7b936fd9e2',1,'registers.h']]], + ['gpureg_5f0278_8366',['GPUREG_0278',['../registers_8h.html#a38b2d6e8e2dd58682bf2750ac769b9bc',1,'registers.h']]], + ['gpureg_5f0279_8367',['GPUREG_0279',['../registers_8h.html#a258d2a8c3dccbeb4477cf6ea82c54f2d',1,'registers.h']]], + ['gpureg_5f027a_8368',['GPUREG_027A',['../registers_8h.html#a7c4cafee689585614b53e7cf20d47472',1,'registers.h']]], + ['gpureg_5f027b_8369',['GPUREG_027B',['../registers_8h.html#a0e2feb61acc71cc5d3de6e717a2a2891',1,'registers.h']]], + ['gpureg_5f027c_8370',['GPUREG_027C',['../registers_8h.html#a76932e5ac6f049bab8b35195c2f55716',1,'registers.h']]], + ['gpureg_5f027d_8371',['GPUREG_027D',['../registers_8h.html#a33ac75c00df2b00ca918ca8c37af7282',1,'registers.h']]], + ['gpureg_5f027e_8372',['GPUREG_027E',['../registers_8h.html#ae8f00ffdf26f2cc6676c052557002f4d',1,'registers.h']]], + ['gpureg_5f027f_8373',['GPUREG_027F',['../registers_8h.html#ae45ac617f0a751b62a0be804e3649e24',1,'registers.h']]], + ['gpureg_5f0285_8374',['GPUREG_0285',['../registers_8h.html#ac99017d46a07c7c5c5ed7ce84fab4c9e',1,'registers.h']]], + ['gpureg_5f0286_8375',['GPUREG_0286',['../registers_8h.html#a850046c71f495ce98f911955b3e0a809',1,'registers.h']]], + ['gpureg_5f0287_8376',['GPUREG_0287',['../registers_8h.html#a872ca892f9bdcf3a9f8fcd2e0c957a78',1,'registers.h']]], + ['gpureg_5f0288_8377',['GPUREG_0288',['../registers_8h.html#a335964e96f751b9c96c08be070ae92e8',1,'registers.h']]], + ['gpureg_5f028e_8378',['GPUREG_028E',['../registers_8h.html#a24e676c3979d590de291065cff4385dd',1,'registers.h']]], + ['gpureg_5f0299_8379',['GPUREG_0299',['../registers_8h.html#a2778bfed0c96c84ba43962ab3ab95e85',1,'registers.h']]], + ['gpureg_5f029a_8380',['GPUREG_029A',['../registers_8h.html#aa4a6355e44058a495412c7bc821c31d9',1,'registers.h']]], + ['gpureg_5f02a4_8381',['GPUREG_02A4',['../registers_8h.html#af2a0aa9e9da4106d1739716bb99e347d',1,'registers.h']]], + ['gpureg_5f02ae_8382',['GPUREG_02AE',['../registers_8h.html#adbc3b2824be82f03ff90eebbdf736196',1,'registers.h']]], + ['gpureg_5f02af_8383',['GPUREG_02AF',['../registers_8h.html#a4cd35739f94cf6ecccf031578892b664',1,'registers.h']]], + ['gpureg_5f02b5_8384',['GPUREG_02B5',['../registers_8h.html#ae776eea798234e5073b14bea5b28e1f0',1,'registers.h']]], + ['gpureg_5f02b6_8385',['GPUREG_02B6',['../registers_8h.html#add69ee8b951dcee5b41bbf1bd8a6ba42',1,'registers.h']]], + ['gpureg_5f02b7_8386',['GPUREG_02B7',['../registers_8h.html#a088249d9220e391c8455361b9564532f',1,'registers.h']]], + ['gpureg_5f02b8_8387',['GPUREG_02B8',['../registers_8h.html#a08a2ac2304793161c3eae08c42ce553d',1,'registers.h']]], + ['gpureg_5f02be_8388',['GPUREG_02BE',['../registers_8h.html#aa09ffcce9d9aeee521111873352b8aee',1,'registers.h']]], + ['gpureg_5f02c9_8389',['GPUREG_02C9',['../registers_8h.html#ada0a23b2268e9e726eea211a59834335',1,'registers.h']]], + ['gpureg_5f02ca_8390',['GPUREG_02CA',['../registers_8h.html#aa608e73e9c3c600e86585f7c33bd5fba',1,'registers.h']]], + ['gpureg_5f02d4_8391',['GPUREG_02D4',['../registers_8h.html#a2c9f9fb7552e654f1e64e28904e55277',1,'registers.h']]], + ['gpureg_5f02de_8392',['GPUREG_02DE',['../registers_8h.html#adfe50399ffe8c16d960a3ffe94ee0f56',1,'registers.h']]], + ['gpureg_5f02df_8393',['GPUREG_02DF',['../registers_8h.html#a089316d148d922bff40c50d7e02ae5b4',1,'registers.h']]], + ['gpureg_5f02e0_8394',['GPUREG_02E0',['../registers_8h.html#a90bc1921e40cb48ae6cd28e27a4419b1',1,'registers.h']]], + ['gpureg_5f02e1_8395',['GPUREG_02E1',['../registers_8h.html#a1656b31a905b1c9ae687e9f5c9756a57',1,'registers.h']]], + ['gpureg_5f02e2_8396',['GPUREG_02E2',['../registers_8h.html#a889cb92329609e8b05db6515b4d3d2e3',1,'registers.h']]], + ['gpureg_5f02e3_8397',['GPUREG_02E3',['../registers_8h.html#a5bbca5e2454a1ccc27a3bdd00cbf377c',1,'registers.h']]], + ['gpureg_5f02e4_8398',['GPUREG_02E4',['../registers_8h.html#a854923f731eb8d3f5c7a4f6d6d759504',1,'registers.h']]], + ['gpureg_5f02e5_8399',['GPUREG_02E5',['../registers_8h.html#a9a71c8fcf0366fe222ce48e4fef36743',1,'registers.h']]], + ['gpureg_5f02e6_8400',['GPUREG_02E6',['../registers_8h.html#af7ce5bbb4d75a35e7dc1354ac365caeb',1,'registers.h']]], + ['gpureg_5f02e7_8401',['GPUREG_02E7',['../registers_8h.html#a42175fa45913396d0a693b501d74bd93',1,'registers.h']]], + ['gpureg_5f02e8_8402',['GPUREG_02E8',['../registers_8h.html#a23a4ab91e43dbe0e8d4077e698e3ebc1',1,'registers.h']]], + ['gpureg_5f02e9_8403',['GPUREG_02E9',['../registers_8h.html#a2a88de400132465443a5a488a454716f',1,'registers.h']]], + ['gpureg_5f02ea_8404',['GPUREG_02EA',['../registers_8h.html#a73d5afa67cd9112661f55f3e704e9b92',1,'registers.h']]], + ['gpureg_5f02eb_8405',['GPUREG_02EB',['../registers_8h.html#af888481ba933228c7582e664e99f33a3',1,'registers.h']]], + ['gpureg_5f02ec_8406',['GPUREG_02EC',['../registers_8h.html#a48b2a467168280f0732dcea3dc9f47da',1,'registers.h']]], + ['gpureg_5f02ed_8407',['GPUREG_02ED',['../registers_8h.html#ac4f52913f6c9f754f7cd403860636792',1,'registers.h']]], + ['gpureg_5f02ee_8408',['GPUREG_02EE',['../registers_8h.html#a36f1a3549ca3631baffcff7a0b5b759e',1,'registers.h']]], + ['gpureg_5f02ef_8409',['GPUREG_02EF',['../registers_8h.html#acb3c00d3b06c6157ad1515a76595259c',1,'registers.h']]], + ['gpureg_5f02f0_8410',['GPUREG_02F0',['../registers_8h.html#aa9818bb7483b628839b9ebb768a62588',1,'registers.h']]], + ['gpureg_5f02f1_8411',['GPUREG_02F1',['../registers_8h.html#ad38128d4331e3b16f7b9a1465e6b4b6e',1,'registers.h']]], + ['gpureg_5f02f2_8412',['GPUREG_02F2',['../registers_8h.html#a4de82ceb6aaca99de3dde86c664c88fd',1,'registers.h']]], + ['gpureg_5f02f3_8413',['GPUREG_02F3',['../registers_8h.html#a469533e59c6fabea8395abaf10335268',1,'registers.h']]], + ['gpureg_5f02f4_8414',['GPUREG_02F4',['../registers_8h.html#a00afd2d27de007d06e6136323d362038',1,'registers.h']]], + ['gpureg_5f02f5_8415',['GPUREG_02F5',['../registers_8h.html#ad2a60e32a021abddd095c934e99b0846',1,'registers.h']]], + ['gpureg_5f02f6_8416',['GPUREG_02F6',['../registers_8h.html#a20c6b8fc2bd4bb07d1122943baa8a577',1,'registers.h']]], + ['gpureg_5f02f7_8417',['GPUREG_02F7',['../registers_8h.html#a6f9803dbaf6c67d0b0d7f423b70cd2fd',1,'registers.h']]], + ['gpureg_5f02f8_8418',['GPUREG_02F8',['../registers_8h.html#a94c9fc49602a193a691e587c50cd419e',1,'registers.h']]], + ['gpureg_5f02f9_8419',['GPUREG_02F9',['../registers_8h.html#aad48426a277636d970d29f4d42f7cd5f',1,'registers.h']]], + ['gpureg_5f02fa_8420',['GPUREG_02FA',['../registers_8h.html#a4b9e9296cbfbe70e8ff02286bfe57c46',1,'registers.h']]], + ['gpureg_5f02fb_8421',['GPUREG_02FB',['../registers_8h.html#a7ec40558fd2019e84c5588fd3096ac27',1,'registers.h']]], + ['gpureg_5f02fc_8422',['GPUREG_02FC',['../registers_8h.html#acb08eefda7c62e68fce8db7341ae93e8',1,'registers.h']]], + ['gpureg_5f02fd_8423',['GPUREG_02FD',['../registers_8h.html#a87667d2146d0245313e1053d7879833b',1,'registers.h']]], + ['gpureg_5f02fe_8424',['GPUREG_02FE',['../registers_8h.html#ab2fbb064f90bf7d29173b3c5499017ae',1,'registers.h']]], + ['gpureg_5f02ff_8425',['GPUREG_02FF',['../registers_8h.html#a92927124b50079d7dc43520f858ad972',1,'registers.h']]], + ['gpureg_5fattribbuffer0_5fconfig1_8426',['GPUREG_ATTRIBBUFFER0_CONFIG1',['../registers_8h.html#a525c7c45fcc5c70c5382081166b35dc3',1,'registers.h']]], + ['gpureg_5fattribbuffer0_5fconfig2_8427',['GPUREG_ATTRIBBUFFER0_CONFIG2',['../registers_8h.html#a08aa4fcd2e92fb968882c314e50d572d',1,'registers.h']]], + ['gpureg_5fattribbuffer0_5foffset_8428',['GPUREG_ATTRIBBUFFER0_OFFSET',['../registers_8h.html#ac62216fa9f51a313c5bb20a7e5c11d28',1,'registers.h']]], + ['gpureg_5fattribbuffer1_5fconfig1_8429',['GPUREG_ATTRIBBUFFER1_CONFIG1',['../registers_8h.html#a0bc2125585abc85b9c92c0d5ff8e8410',1,'registers.h']]], + ['gpureg_5fattribbuffer1_5fconfig2_8430',['GPUREG_ATTRIBBUFFER1_CONFIG2',['../registers_8h.html#a4c1516e1562c9380464a87fc2615fb15',1,'registers.h']]], + ['gpureg_5fattribbuffer1_5foffset_8431',['GPUREG_ATTRIBBUFFER1_OFFSET',['../registers_8h.html#a372dd72c2fbcdad31516e426cd54b004',1,'registers.h']]], + ['gpureg_5fattribbuffer2_5fconfig1_8432',['GPUREG_ATTRIBBUFFER2_CONFIG1',['../registers_8h.html#a09ff327d148dca59ead6533b1fb8d414',1,'registers.h']]], + ['gpureg_5fattribbuffer2_5fconfig2_8433',['GPUREG_ATTRIBBUFFER2_CONFIG2',['../registers_8h.html#a63fb28abf41deb49fd02bcf0960c672c',1,'registers.h']]], + ['gpureg_5fattribbuffer2_5foffset_8434',['GPUREG_ATTRIBBUFFER2_OFFSET',['../registers_8h.html#a15f0c55664ba3d29ca23a198c579e15e',1,'registers.h']]], + ['gpureg_5fattribbuffer3_5fconfig1_8435',['GPUREG_ATTRIBBUFFER3_CONFIG1',['../registers_8h.html#aecde3511a622c48f9d9a8c16eaa1c402',1,'registers.h']]], + ['gpureg_5fattribbuffer3_5fconfig2_8436',['GPUREG_ATTRIBBUFFER3_CONFIG2',['../registers_8h.html#a1f17dd927627edad39a97a56bf94f60e',1,'registers.h']]], + ['gpureg_5fattribbuffer3_5foffset_8437',['GPUREG_ATTRIBBUFFER3_OFFSET',['../registers_8h.html#ab9e6b91fce83737428c52b7ea8bb6d87',1,'registers.h']]], + ['gpureg_5fattribbuffer4_5fconfig1_8438',['GPUREG_ATTRIBBUFFER4_CONFIG1',['../registers_8h.html#ae6e6096f87071e0722fc43f79664dd93',1,'registers.h']]], + ['gpureg_5fattribbuffer4_5fconfig2_8439',['GPUREG_ATTRIBBUFFER4_CONFIG2',['../registers_8h.html#a8d645b98827b71abef9a767d8e0bb195',1,'registers.h']]], + ['gpureg_5fattribbuffer4_5foffset_8440',['GPUREG_ATTRIBBUFFER4_OFFSET',['../registers_8h.html#abc929a470a7734ce68f69b1f0140668a',1,'registers.h']]], + ['gpureg_5fattribbuffer5_5fconfig1_8441',['GPUREG_ATTRIBBUFFER5_CONFIG1',['../registers_8h.html#ae36c97cbf3a70cf427f9431dbe8fe0f3',1,'registers.h']]], + ['gpureg_5fattribbuffer5_5fconfig2_8442',['GPUREG_ATTRIBBUFFER5_CONFIG2',['../registers_8h.html#a1a84c045700c91bd206fd2465cb48dcd',1,'registers.h']]], + ['gpureg_5fattribbuffer5_5foffset_8443',['GPUREG_ATTRIBBUFFER5_OFFSET',['../registers_8h.html#a3f1808578e0aec3b0b11508f1ed9541f',1,'registers.h']]], + ['gpureg_5fattribbuffer6_5fconfig1_8444',['GPUREG_ATTRIBBUFFER6_CONFIG1',['../registers_8h.html#a97bf2b52e24104e579ffd41800bf5992',1,'registers.h']]], + ['gpureg_5fattribbuffer6_5fconfig2_8445',['GPUREG_ATTRIBBUFFER6_CONFIG2',['../registers_8h.html#a2e11b10bcaacb4a8d345b65a2566018c',1,'registers.h']]], + ['gpureg_5fattribbuffer6_5foffset_8446',['GPUREG_ATTRIBBUFFER6_OFFSET',['../registers_8h.html#afec6131a71422c6d3ac7930050e8b00a',1,'registers.h']]], + ['gpureg_5fattribbuffer7_5fconfig1_8447',['GPUREG_ATTRIBBUFFER7_CONFIG1',['../registers_8h.html#a94141df36bc59d7fef354c99620cf13c',1,'registers.h']]], + ['gpureg_5fattribbuffer7_5fconfig2_8448',['GPUREG_ATTRIBBUFFER7_CONFIG2',['../registers_8h.html#a22372bc09059d741f82ef28d8910a707',1,'registers.h']]], + ['gpureg_5fattribbuffer7_5foffset_8449',['GPUREG_ATTRIBBUFFER7_OFFSET',['../registers_8h.html#a351117780703b1b7108cf87e8ebabb5d',1,'registers.h']]], + ['gpureg_5fattribbuffer8_5fconfig1_8450',['GPUREG_ATTRIBBUFFER8_CONFIG1',['../registers_8h.html#aa7fac66bf44ab3244345dd99e1215b01',1,'registers.h']]], + ['gpureg_5fattribbuffer8_5fconfig2_8451',['GPUREG_ATTRIBBUFFER8_CONFIG2',['../registers_8h.html#a1630dbf3958b83d1b9fcb4dc85fdc022',1,'registers.h']]], + ['gpureg_5fattribbuffer8_5foffset_8452',['GPUREG_ATTRIBBUFFER8_OFFSET',['../registers_8h.html#ac11f78c35ceaf2511356f89813f30710',1,'registers.h']]], + ['gpureg_5fattribbuffer9_5fconfig1_8453',['GPUREG_ATTRIBBUFFER9_CONFIG1',['../registers_8h.html#a9171ad710005361836c2a22c1c99895f',1,'registers.h']]], + ['gpureg_5fattribbuffer9_5fconfig2_8454',['GPUREG_ATTRIBBUFFER9_CONFIG2',['../registers_8h.html#a6e5be3011e027b3e77e1622153cb4d94',1,'registers.h']]], + ['gpureg_5fattribbuffer9_5foffset_8455',['GPUREG_ATTRIBBUFFER9_OFFSET',['../registers_8h.html#a1e3806b0cf81eea61820ac082928fbac',1,'registers.h']]], + ['gpureg_5fattribbuffera_5fconfig1_8456',['GPUREG_ATTRIBBUFFERA_CONFIG1',['../registers_8h.html#ab76f019f978555dcef007c753d372754',1,'registers.h']]], + ['gpureg_5fattribbuffera_5fconfig2_8457',['GPUREG_ATTRIBBUFFERA_CONFIG2',['../registers_8h.html#a58eab456b7d4205a25c9f7ae0ef43040',1,'registers.h']]], + ['gpureg_5fattribbuffera_5foffset_8458',['GPUREG_ATTRIBBUFFERA_OFFSET',['../registers_8h.html#acc6736e7e9d8934050f0ee5a7449f9ee',1,'registers.h']]], + ['gpureg_5fattribbufferb_5fconfig1_8459',['GPUREG_ATTRIBBUFFERB_CONFIG1',['../registers_8h.html#a100647f30213b1f038c8ce18823d6be2',1,'registers.h']]], + ['gpureg_5fattribbufferb_5fconfig2_8460',['GPUREG_ATTRIBBUFFERB_CONFIG2',['../registers_8h.html#ac56f03fbd03324f0f25243422c74d7f7',1,'registers.h']]], + ['gpureg_5fattribbufferb_5foffset_8461',['GPUREG_ATTRIBBUFFERB_OFFSET',['../registers_8h.html#a4c1ee12b662ddf1767c6e4b4269af630',1,'registers.h']]], + ['gpureg_5fattribbuffers_5fformat_5fhigh_8462',['GPUREG_ATTRIBBUFFERS_FORMAT_HIGH',['../registers_8h.html#aa46e5b844849ab0f3fd31e84753b76c6',1,'registers.h']]], + ['gpureg_5fattribbuffers_5fformat_5flow_8463',['GPUREG_ATTRIBBUFFERS_FORMAT_LOW',['../registers_8h.html#a911e339b770236b6d6d3cb6d3674bfc3',1,'registers.h']]], + ['gpureg_5fattribbuffers_5floc_8464',['GPUREG_ATTRIBBUFFERS_LOC',['../registers_8h.html#a3cc0046ef692970df082b991ee58b4be',1,'registers.h']]], + ['gpureg_5fblend_5fcolor_8465',['GPUREG_BLEND_COLOR',['../registers_8h.html#a9c7c3523ca9bd7dad52b4bb1f2bbdbf7',1,'registers.h']]], + ['gpureg_5fblend_5ffunc_8466',['GPUREG_BLEND_FUNC',['../registers_8h.html#a13049056efa37362eeb1e591096139d1',1,'registers.h']]], + ['gpureg_5fcmdbuf_5faddr0_8467',['GPUREG_CMDBUF_ADDR0',['../registers_8h.html#ae9e5bc42962484dc3933c25aae1b3d7c',1,'registers.h']]], + ['gpureg_5fcmdbuf_5faddr1_8468',['GPUREG_CMDBUF_ADDR1',['../registers_8h.html#a7071dad42d45251d3c18bb18d0603b12',1,'registers.h']]], + ['gpureg_5fcmdbuf_5fjump0_8469',['GPUREG_CMDBUF_JUMP0',['../registers_8h.html#a88aec48894554819a817eb668f32f57a',1,'registers.h']]], + ['gpureg_5fcmdbuf_5fjump1_8470',['GPUREG_CMDBUF_JUMP1',['../registers_8h.html#a6fc07bbb2f657e73c514a3261e478cb5',1,'registers.h']]], + ['gpureg_5fcmdbuf_5fsize0_8471',['GPUREG_CMDBUF_SIZE0',['../registers_8h.html#a42076e936b6b485130e9c3f8c7d96723',1,'registers.h']]], + ['gpureg_5fcmdbuf_5fsize1_8472',['GPUREG_CMDBUF_SIZE1',['../registers_8h.html#a7ff91f8b5b1f1200c6255e6dcd016fe1',1,'registers.h']]], + ['gpureg_5fcolor_5foperation_8473',['GPUREG_COLOR_OPERATION',['../registers_8h.html#a6b5cc4de7761b084e50b728dcc838f4c',1,'registers.h']]], + ['gpureg_5fcolorbuffer_5fformat_8474',['GPUREG_COLORBUFFER_FORMAT',['../registers_8h.html#ab5f8d6059cdf749768f43fe03ba0a795',1,'registers.h']]], + ['gpureg_5fcolorbuffer_5floc_8475',['GPUREG_COLORBUFFER_LOC',['../registers_8h.html#a62da95740457429ddc8430ed3cf1159b',1,'registers.h']]], + ['gpureg_5fcolorbuffer_5fread_8476',['GPUREG_COLORBUFFER_READ',['../registers_8h.html#ab00d6deb7eda60f88ba60befac4f8ca7',1,'registers.h']]], + ['gpureg_5fcolorbuffer_5fwrite_8477',['GPUREG_COLORBUFFER_WRITE',['../registers_8h.html#a5fb160fc9d23374249a0d68294f77c84',1,'registers.h']]], + ['gpureg_5fdepth_5fcolor_5fmask_8478',['GPUREG_DEPTH_COLOR_MASK',['../registers_8h.html#a44e043a6774595bc645c8eefca8b81da',1,'registers.h']]], + ['gpureg_5fdepthbuffer_5fformat_8479',['GPUREG_DEPTHBUFFER_FORMAT',['../registers_8h.html#a70189a6d6bb585d3574541ae6c1a9acb',1,'registers.h']]], + ['gpureg_5fdepthbuffer_5floc_8480',['GPUREG_DEPTHBUFFER_LOC',['../registers_8h.html#a4bdc81f5aac24026b59452e07ddec700',1,'registers.h']]], + ['gpureg_5fdepthbuffer_5fread_8481',['GPUREG_DEPTHBUFFER_READ',['../registers_8h.html#aa3f498e0a8c69c88e7d8eba3fd3269b0',1,'registers.h']]], + ['gpureg_5fdepthbuffer_5fwrite_8482',['GPUREG_DEPTHBUFFER_WRITE',['../registers_8h.html#a3fdde5a54edc827d55a458016ed5204b',1,'registers.h']]], + ['gpureg_5fdepthmap_5fenable_8483',['GPUREG_DEPTHMAP_ENABLE',['../registers_8h.html#afaa52390d16c941e231a4243346142ba',1,'registers.h']]], + ['gpureg_5fdepthmap_5foffset_8484',['GPUREG_DEPTHMAP_OFFSET',['../registers_8h.html#a7e0a51c4cc4d37fb101ea9ad7c6b5fa0',1,'registers.h']]], + ['gpureg_5fdepthmap_5fscale_8485',['GPUREG_DEPTHMAP_SCALE',['../registers_8h.html#a50e29539d9834a1d238e26182e4144db',1,'registers.h']]], + ['gpureg_5fdrawarrays_8486',['GPUREG_DRAWARRAYS',['../registers_8h.html#aa1f5c5b53e01c3d7d8a919888d0b0333',1,'registers.h']]], + ['gpureg_5fdrawelements_8487',['GPUREG_DRAWELEMENTS',['../registers_8h.html#a9480289920472bd64f4044daac6152fb',1,'registers.h']]], + ['gpureg_5fearlydepth_5fclear_8488',['GPUREG_EARLYDEPTH_CLEAR',['../registers_8h.html#aeac0b6649c513717c2a7af911219cb95',1,'registers.h']]], + ['gpureg_5fearlydepth_5fdata_8489',['GPUREG_EARLYDEPTH_DATA',['../registers_8h.html#a4525b90f0212c7fb71cee4a169473868',1,'registers.h']]], + ['gpureg_5fearlydepth_5ffunc_8490',['GPUREG_EARLYDEPTH_FUNC',['../registers_8h.html#aa7dd528c2805067071d72bb9eb157469',1,'registers.h']]], + ['gpureg_5fearlydepth_5ftest1_8491',['GPUREG_EARLYDEPTH_TEST1',['../registers_8h.html#a799a26b6e6915c6f6fcd4e37fe784fe2',1,'registers.h']]], + ['gpureg_5fearlydepth_5ftest2_8492',['GPUREG_EARLYDEPTH_TEST2',['../registers_8h.html#abdf8ee79933d25d62aabfe433aaa64bf',1,'registers.h']]], + ['gpureg_5ffaceculling_5fconfig_8493',['GPUREG_FACECULLING_CONFIG',['../registers_8h.html#ab972a1c2532c0b3415e4087a4c30fe36',1,'registers.h']]], + ['gpureg_5ffinalize_8494',['GPUREG_FINALIZE',['../registers_8h.html#a1c13f6894c6910997963f4c8660ad666',1,'registers.h']]], + ['gpureg_5ffixedattrib_5fdata0_8495',['GPUREG_FIXEDATTRIB_DATA0',['../registers_8h.html#afd4bdb0ea1b07c717c9740c15726a756',1,'registers.h']]], + ['gpureg_5ffixedattrib_5fdata1_8496',['GPUREG_FIXEDATTRIB_DATA1',['../registers_8h.html#a98149e7da6a7d0c224e3f463815f9a42',1,'registers.h']]], + ['gpureg_5ffixedattrib_5fdata2_8497',['GPUREG_FIXEDATTRIB_DATA2',['../registers_8h.html#aa29bad84377b42c53bbbf4199610363a',1,'registers.h']]], + ['gpureg_5ffixedattrib_5findex_8498',['GPUREG_FIXEDATTRIB_INDEX',['../registers_8h.html#ae2a5bcbf6c86ba0dcc9c06e4a5b8c69a',1,'registers.h']]], + ['gpureg_5ffog_5fcolor_8499',['GPUREG_FOG_COLOR',['../registers_8h.html#ab71ba06ead26d00f3ff896f4bd76cb6d',1,'registers.h']]], + ['gpureg_5ffog_5flut_5fdata0_8500',['GPUREG_FOG_LUT_DATA0',['../registers_8h.html#ae839200d6a3ba33e9efa12230abff225',1,'registers.h']]], + ['gpureg_5ffog_5flut_5fdata1_8501',['GPUREG_FOG_LUT_DATA1',['../registers_8h.html#a06c509f07de0ffe833e64a4b2f665708',1,'registers.h']]], + ['gpureg_5ffog_5flut_5fdata2_8502',['GPUREG_FOG_LUT_DATA2',['../registers_8h.html#a9901e025af932bd6fb323f6f6da2933a',1,'registers.h']]], + ['gpureg_5ffog_5flut_5fdata3_8503',['GPUREG_FOG_LUT_DATA3',['../registers_8h.html#af0929bbc11488d04d7c879344726dad0',1,'registers.h']]], + ['gpureg_5ffog_5flut_5fdata4_8504',['GPUREG_FOG_LUT_DATA4',['../registers_8h.html#a4455d6d635291410d42790da1eb6b7a4',1,'registers.h']]], + ['gpureg_5ffog_5flut_5fdata5_8505',['GPUREG_FOG_LUT_DATA5',['../registers_8h.html#a5d1959226c816065ec734c29f889343e',1,'registers.h']]], + ['gpureg_5ffog_5flut_5fdata6_8506',['GPUREG_FOG_LUT_DATA6',['../registers_8h.html#a02149c2ed234d1540b03230958ec6c3d',1,'registers.h']]], + ['gpureg_5ffog_5flut_5fdata7_8507',['GPUREG_FOG_LUT_DATA7',['../registers_8h.html#a08517b67f60896eac30b625609a1fcd1',1,'registers.h']]], + ['gpureg_5ffog_5flut_5findex_8508',['GPUREG_FOG_LUT_INDEX',['../registers_8h.html#af8a50e47893fd3403d43426d64fff7b4',1,'registers.h']]], + ['gpureg_5ffragop_5falpha_5ftest_8509',['GPUREG_FRAGOP_ALPHA_TEST',['../registers_8h.html#a2cdfee392d161eee590dd98028f3d7fe',1,'registers.h']]], + ['gpureg_5ffragop_5fclip_8510',['GPUREG_FRAGOP_CLIP',['../registers_8h.html#a3c5bf4901f11816a8fe534a9f93ea7ed',1,'registers.h']]], + ['gpureg_5ffragop_5fclip_5fdata0_8511',['GPUREG_FRAGOP_CLIP_DATA0',['../registers_8h.html#a5596176ad13e4e7bb902c2ea100b827c',1,'registers.h']]], + ['gpureg_5ffragop_5fclip_5fdata1_8512',['GPUREG_FRAGOP_CLIP_DATA1',['../registers_8h.html#ab1071cb7612c6d9398aba530b3c06c1c',1,'registers.h']]], + ['gpureg_5ffragop_5fclip_5fdata2_8513',['GPUREG_FRAGOP_CLIP_DATA2',['../registers_8h.html#ab810f89021f5497a8404f5f0ec7e14ab',1,'registers.h']]], + ['gpureg_5ffragop_5fclip_5fdata3_8514',['GPUREG_FRAGOP_CLIP_DATA3',['../registers_8h.html#acd2c81c42efa0e00af1146dde1876430',1,'registers.h']]], + ['gpureg_5ffragop_5fshadow_8515',['GPUREG_FRAGOP_SHADOW',['../registers_8h.html#a0516406f5ed071129f069595f67b595e',1,'registers.h']]], + ['gpureg_5fframebuffer_5fblock32_8516',['GPUREG_FRAMEBUFFER_BLOCK32',['../registers_8h.html#a9b4fb24866a8ec84f959887f90d6cf41',1,'registers.h']]], + ['gpureg_5fframebuffer_5fdim_8517',['GPUREG_FRAMEBUFFER_DIM',['../registers_8h.html#af70c155342642ffbd710fcba14e14839',1,'registers.h']]], + ['gpureg_5fframebuffer_5fflush_8518',['GPUREG_FRAMEBUFFER_FLUSH',['../registers_8h.html#a062b043d961e20f4942ad7a209fb6cb9',1,'registers.h']]], + ['gpureg_5fframebuffer_5finvalidate_8519',['GPUREG_FRAMEBUFFER_INVALIDATE',['../registers_8h.html#aa7efb6f25035d3fc756f8d54f9b400d3',1,'registers.h']]], + ['gpureg_5fgas_5faccmax_8520',['GPUREG_GAS_ACCMAX',['../registers_8h.html#ac9cf8a6d35fa70cbcf115bdcfd25b14a',1,'registers.h']]], + ['gpureg_5fgas_5faccmax_5ffeedback_8521',['GPUREG_GAS_ACCMAX_FEEDBACK',['../registers_8h.html#a65a0fb8cc7222e3845e25622f6203853',1,'registers.h']]], + ['gpureg_5fgas_5fattenuation_8522',['GPUREG_GAS_ATTENUATION',['../registers_8h.html#af255c6a2fabd62c167f05a39b5462585',1,'registers.h']]], + ['gpureg_5fgas_5fdeltaz_5fdepth_8523',['GPUREG_GAS_DELTAZ_DEPTH',['../registers_8h.html#afa64d919c8e1aa229e3a85a652998740',1,'registers.h']]], + ['gpureg_5fgas_5flight_5fxy_8524',['GPUREG_GAS_LIGHT_XY',['../registers_8h.html#a56ef401c82bd35c7389de1e50ebbaadf',1,'registers.h']]], + ['gpureg_5fgas_5flight_5fz_8525',['GPUREG_GAS_LIGHT_Z',['../registers_8h.html#a98c266c6152ff24c8e7f140b40744df2',1,'registers.h']]], + ['gpureg_5fgas_5flight_5fz_5fcolor_8526',['GPUREG_GAS_LIGHT_Z_COLOR',['../registers_8h.html#adfa3c0654e52355d085b4bf131418fcd',1,'registers.h']]], + ['gpureg_5fgas_5flut_5fdata_8527',['GPUREG_GAS_LUT_DATA',['../registers_8h.html#ab33ef1fad7c99d029ce1a73f932f5230',1,'registers.h']]], + ['gpureg_5fgas_5flut_5findex_8528',['GPUREG_GAS_LUT_INDEX',['../registers_8h.html#a3ded7ca833658d7afbf599a35209d287',1,'registers.h']]], + ['gpureg_5fgeostage_5fconfig_8529',['GPUREG_GEOSTAGE_CONFIG',['../registers_8h.html#aace41d4b8f0655bf38a69bf6e27c34e4',1,'registers.h']]], + ['gpureg_5fgeostage_5fconfig2_8530',['GPUREG_GEOSTAGE_CONFIG2',['../registers_8h.html#aa05cb2bb450d1d0ed046cab4af8b7c70',1,'registers.h']]], + ['gpureg_5fgsh_5fattributes_5fpermutation_5fhigh_8531',['GPUREG_GSH_ATTRIBUTES_PERMUTATION_HIGH',['../registers_8h.html#a230e7002267731db80077aef6a9862fa',1,'registers.h']]], + ['gpureg_5fgsh_5fattributes_5fpermutation_5flow_8532',['GPUREG_GSH_ATTRIBUTES_PERMUTATION_LOW',['../registers_8h.html#a49d3f041752fcbaba4faaba6f2f09699',1,'registers.h']]], + ['gpureg_5fgsh_5fbooluniform_8533',['GPUREG_GSH_BOOLUNIFORM',['../registers_8h.html#ab31d6b6b0731da0056e64ef358432c0c',1,'registers.h']]], + ['gpureg_5fgsh_5fcodetransfer_5fconfig_8534',['GPUREG_GSH_CODETRANSFER_CONFIG',['../registers_8h.html#abd898520a6a4d5d99d7292edd8c6b676',1,'registers.h']]], + ['gpureg_5fgsh_5fcodetransfer_5fdata_8535',['GPUREG_GSH_CODETRANSFER_DATA',['../registers_8h.html#a06ec9c5c43f54de5d72c27092af4d0ec',1,'registers.h']]], + ['gpureg_5fgsh_5fcodetransfer_5fend_8536',['GPUREG_GSH_CODETRANSFER_END',['../registers_8h.html#aa688d95ba10fdfc1aa78367c06123f61',1,'registers.h']]], + ['gpureg_5fgsh_5fentrypoint_8537',['GPUREG_GSH_ENTRYPOINT',['../registers_8h.html#a489c6e6a73ccb51991e21993f2fdb265',1,'registers.h']]], + ['gpureg_5fgsh_5ffloatuniform_5fconfig_8538',['GPUREG_GSH_FLOATUNIFORM_CONFIG',['../registers_8h.html#a040c316fb4d7f105486290252a797760',1,'registers.h']]], + ['gpureg_5fgsh_5ffloatuniform_5fdata_8539',['GPUREG_GSH_FLOATUNIFORM_DATA',['../registers_8h.html#a391e5d9193105e4bbd67f683f835ac58',1,'registers.h']]], + ['gpureg_5fgsh_5finputbuffer_5fconfig_8540',['GPUREG_GSH_INPUTBUFFER_CONFIG',['../registers_8h.html#a30b36bd8d0a51fe559a44836938a7f86',1,'registers.h']]], + ['gpureg_5fgsh_5fintuniform_5fi0_8541',['GPUREG_GSH_INTUNIFORM_I0',['../registers_8h.html#a1db387408e4ffdf9dabc92b9721dde33',1,'registers.h']]], + ['gpureg_5fgsh_5fintuniform_5fi1_8542',['GPUREG_GSH_INTUNIFORM_I1',['../registers_8h.html#ab96635383fdaec2e474694144a7a2288',1,'registers.h']]], + ['gpureg_5fgsh_5fintuniform_5fi2_8543',['GPUREG_GSH_INTUNIFORM_I2',['../registers_8h.html#a7d2571e722f468d9d05b2ef3d48d1c4d',1,'registers.h']]], + ['gpureg_5fgsh_5fintuniform_5fi3_8544',['GPUREG_GSH_INTUNIFORM_I3',['../registers_8h.html#a4fc67b2837fc93dde7825dc8627f71d9',1,'registers.h']]], + ['gpureg_5fgsh_5fmisc0_8545',['GPUREG_GSH_MISC0',['../registers_8h.html#ac3f1af9fb245dd1b55f0e9f2ee991342',1,'registers.h']]], + ['gpureg_5fgsh_5fmisc1_8546',['GPUREG_GSH_MISC1',['../registers_8h.html#a953afe43e77757a26c964cec34e86979',1,'registers.h']]], + ['gpureg_5fgsh_5fopdescs_5fconfig_8547',['GPUREG_GSH_OPDESCS_CONFIG',['../registers_8h.html#adc8871be93262cc21c16d4a8f53316d9',1,'registers.h']]], + ['gpureg_5fgsh_5fopdescs_5fdata_8548',['GPUREG_GSH_OPDESCS_DATA',['../registers_8h.html#af84e86ff061af1b4e5554cb897a1f577',1,'registers.h']]], + ['gpureg_5fgsh_5foutmap_5fmask_8549',['GPUREG_GSH_OUTMAP_MASK',['../registers_8h.html#ae27b83420c29f6a4a4ac25b535f40e9a',1,'registers.h']]], + ['gpureg_5findexbuffer_5fconfig_8550',['GPUREG_INDEXBUFFER_CONFIG',['../registers_8h.html#a71da4904f7bb90de35e6fdb641cb4b05',1,'registers.h']]], + ['gpureg_5flight0_5fambient_8551',['GPUREG_LIGHT0_AMBIENT',['../registers_8h.html#a8ca3e9eb494025034fa2ad1b45b0b3fb',1,'registers.h']]], + ['gpureg_5flight0_5fattenuation_5fbias_8552',['GPUREG_LIGHT0_ATTENUATION_BIAS',['../registers_8h.html#a772761ebe5427096a2ad30f88476e2b3',1,'registers.h']]], + ['gpureg_5flight0_5fattenuation_5fscale_8553',['GPUREG_LIGHT0_ATTENUATION_SCALE',['../registers_8h.html#a60aef4f399485693c7ac9fd15ae2cd97',1,'registers.h']]], + ['gpureg_5flight0_5fconfig_8554',['GPUREG_LIGHT0_CONFIG',['../registers_8h.html#a31fd472c9b65e27f7f607849cbc134fb',1,'registers.h']]], + ['gpureg_5flight0_5fdiffuse_8555',['GPUREG_LIGHT0_DIFFUSE',['../registers_8h.html#a1687be2c19ee779f9d989c2be09b14f5',1,'registers.h']]], + ['gpureg_5flight0_5fspecular0_8556',['GPUREG_LIGHT0_SPECULAR0',['../registers_8h.html#af619f280d7bf9ec9d885973ff25483a9',1,'registers.h']]], + ['gpureg_5flight0_5fspecular1_8557',['GPUREG_LIGHT0_SPECULAR1',['../registers_8h.html#a1880f6dc7c43fc9eed71e0eca9fbdb70',1,'registers.h']]], + ['gpureg_5flight0_5fspotdir_5fxy_8558',['GPUREG_LIGHT0_SPOTDIR_XY',['../registers_8h.html#ac840dc6462b6c095633277390e62bdb9',1,'registers.h']]], + ['gpureg_5flight0_5fspotdir_5fz_8559',['GPUREG_LIGHT0_SPOTDIR_Z',['../registers_8h.html#a7f325a6fa5dd5ce7520aecf1711f68a1',1,'registers.h']]], + ['gpureg_5flight0_5fxy_8560',['GPUREG_LIGHT0_XY',['../registers_8h.html#a2b58a9ee9c15b901b517937579e478e8',1,'registers.h']]], + ['gpureg_5flight0_5fz_8561',['GPUREG_LIGHT0_Z',['../registers_8h.html#affd06357e4e52d1730f8e151cdb38aaf',1,'registers.h']]], + ['gpureg_5flight1_5fambient_8562',['GPUREG_LIGHT1_AMBIENT',['../registers_8h.html#ac2f35fc02117b20999099f0498471e86',1,'registers.h']]], + ['gpureg_5flight1_5fattenuation_5fbias_8563',['GPUREG_LIGHT1_ATTENUATION_BIAS',['../registers_8h.html#a52d3bb32a42d5de56b2ff2ffdad73bdd',1,'registers.h']]], + ['gpureg_5flight1_5fattenuation_5fscale_8564',['GPUREG_LIGHT1_ATTENUATION_SCALE',['../registers_8h.html#a748aa816d6f918434a66f614816691df',1,'registers.h']]], + ['gpureg_5flight1_5fconfig_8565',['GPUREG_LIGHT1_CONFIG',['../registers_8h.html#a5e7b98f6b9f61e463abcc441713a04da',1,'registers.h']]], + ['gpureg_5flight1_5fdiffuse_8566',['GPUREG_LIGHT1_DIFFUSE',['../registers_8h.html#a2890f3fb918977ae06d73c6c1885e258',1,'registers.h']]], + ['gpureg_5flight1_5fspecular0_8567',['GPUREG_LIGHT1_SPECULAR0',['../registers_8h.html#a9ac7eaadd65146c213d5f89049139847',1,'registers.h']]], + ['gpureg_5flight1_5fspecular1_8568',['GPUREG_LIGHT1_SPECULAR1',['../registers_8h.html#a4330b82eeeb6c85357a699639890936d',1,'registers.h']]], + ['gpureg_5flight1_5fspotdir_5fxy_8569',['GPUREG_LIGHT1_SPOTDIR_XY',['../registers_8h.html#a9505b521c35cde51cf11b5bbdc2a2352',1,'registers.h']]], + ['gpureg_5flight1_5fspotdir_5fz_8570',['GPUREG_LIGHT1_SPOTDIR_Z',['../registers_8h.html#af13020a491001fe512aeff4f114e4274',1,'registers.h']]], + ['gpureg_5flight1_5fxy_8571',['GPUREG_LIGHT1_XY',['../registers_8h.html#ab6e2e0a142bf9acf6af8bbfdfde145d7',1,'registers.h']]], + ['gpureg_5flight1_5fz_8572',['GPUREG_LIGHT1_Z',['../registers_8h.html#a98194bc60b99aaf54a738576ce055196',1,'registers.h']]], + ['gpureg_5flight2_5fambient_8573',['GPUREG_LIGHT2_AMBIENT',['../registers_8h.html#a1737ee256559f717ba852fcd2abe19d0',1,'registers.h']]], + ['gpureg_5flight2_5fattenuation_5fbias_8574',['GPUREG_LIGHT2_ATTENUATION_BIAS',['../registers_8h.html#ac86ce7de697bafd7d385929b58c95a31',1,'registers.h']]], + ['gpureg_5flight2_5fattenuation_5fscale_8575',['GPUREG_LIGHT2_ATTENUATION_SCALE',['../registers_8h.html#a754342cd4527cbac0b13c3b4894aa87b',1,'registers.h']]], + ['gpureg_5flight2_5fconfig_8576',['GPUREG_LIGHT2_CONFIG',['../registers_8h.html#ac4e3a867c8a9d1ed503c100460b9436a',1,'registers.h']]], + ['gpureg_5flight2_5fdiffuse_8577',['GPUREG_LIGHT2_DIFFUSE',['../registers_8h.html#a4ce0de4bc55172590e5426751026d0b4',1,'registers.h']]], + ['gpureg_5flight2_5fspecular0_8578',['GPUREG_LIGHT2_SPECULAR0',['../registers_8h.html#a40322f9937b4bc6757803c5d4722ef09',1,'registers.h']]], + ['gpureg_5flight2_5fspecular1_8579',['GPUREG_LIGHT2_SPECULAR1',['../registers_8h.html#a68e9f7156d953e1098a49b294ed166fe',1,'registers.h']]], + ['gpureg_5flight2_5fspotdir_5fxy_8580',['GPUREG_LIGHT2_SPOTDIR_XY',['../registers_8h.html#af23327c5b63b52f9ce4a857280f6640e',1,'registers.h']]], + ['gpureg_5flight2_5fspotdir_5fz_8581',['GPUREG_LIGHT2_SPOTDIR_Z',['../registers_8h.html#a803662ccfde31c7dfc25feb2cf0662c5',1,'registers.h']]], + ['gpureg_5flight2_5fxy_8582',['GPUREG_LIGHT2_XY',['../registers_8h.html#a232b3ce18c131b01248f99184a1d189b',1,'registers.h']]], + ['gpureg_5flight2_5fz_8583',['GPUREG_LIGHT2_Z',['../registers_8h.html#ac4b1c1773ec74e1a98abe0c9924a6519',1,'registers.h']]], + ['gpureg_5flight3_5fambient_8584',['GPUREG_LIGHT3_AMBIENT',['../registers_8h.html#a4b4c061525f0201774564c2e0b32c2cd',1,'registers.h']]], + ['gpureg_5flight3_5fattenuation_5fbias_8585',['GPUREG_LIGHT3_ATTENUATION_BIAS',['../registers_8h.html#a331a3a06c0e4354c0dcf2b7f96c42610',1,'registers.h']]], + ['gpureg_5flight3_5fattenuation_5fscale_8586',['GPUREG_LIGHT3_ATTENUATION_SCALE',['../registers_8h.html#a60b4f9595b40c8ec3607f9b0ddd8e356',1,'registers.h']]], + ['gpureg_5flight3_5fconfig_8587',['GPUREG_LIGHT3_CONFIG',['../registers_8h.html#a948d9a544b6c8fcc1c1461ef49b5f57d',1,'registers.h']]], + ['gpureg_5flight3_5fdiffuse_8588',['GPUREG_LIGHT3_DIFFUSE',['../registers_8h.html#a332310219bbae9ca02793a27834c3209',1,'registers.h']]], + ['gpureg_5flight3_5fspecular0_8589',['GPUREG_LIGHT3_SPECULAR0',['../registers_8h.html#af37247830e8f4e90428fc9bb07fef564',1,'registers.h']]], + ['gpureg_5flight3_5fspecular1_8590',['GPUREG_LIGHT3_SPECULAR1',['../registers_8h.html#a5c72899b479bca8d4452fd976d5272ff',1,'registers.h']]], + ['gpureg_5flight3_5fspotdir_5fxy_8591',['GPUREG_LIGHT3_SPOTDIR_XY',['../registers_8h.html#a860bd060856b16bbd59ec685095b7e35',1,'registers.h']]], + ['gpureg_5flight3_5fspotdir_5fz_8592',['GPUREG_LIGHT3_SPOTDIR_Z',['../registers_8h.html#ad8876d134f39e0bf26c6fbf58c949522',1,'registers.h']]], + ['gpureg_5flight3_5fxy_8593',['GPUREG_LIGHT3_XY',['../registers_8h.html#ad940422f082d61c470f588728fa45039',1,'registers.h']]], + ['gpureg_5flight3_5fz_8594',['GPUREG_LIGHT3_Z',['../registers_8h.html#aba995c93a164abd58064d9af7769c429',1,'registers.h']]], + ['gpureg_5flight4_5fambient_8595',['GPUREG_LIGHT4_AMBIENT',['../registers_8h.html#a61b0d30135759793e5e33f1213e50c37',1,'registers.h']]], + ['gpureg_5flight4_5fattenuation_5fbias_8596',['GPUREG_LIGHT4_ATTENUATION_BIAS',['../registers_8h.html#ad9fdd0c981ee366d8f0566af7382bb76',1,'registers.h']]], + ['gpureg_5flight4_5fattenuation_5fscale_8597',['GPUREG_LIGHT4_ATTENUATION_SCALE',['../registers_8h.html#a45a92cdf81b6d1546b74f5a7e399432c',1,'registers.h']]], + ['gpureg_5flight4_5fconfig_8598',['GPUREG_LIGHT4_CONFIG',['../registers_8h.html#af1f6f007dd20633364c1d55e0f902ef6',1,'registers.h']]], + ['gpureg_5flight4_5fdiffuse_8599',['GPUREG_LIGHT4_DIFFUSE',['../registers_8h.html#afa1e23f8aefd9432842fe9a5602da49f',1,'registers.h']]], + ['gpureg_5flight4_5fspecular0_8600',['GPUREG_LIGHT4_SPECULAR0',['../registers_8h.html#a686531b2e03490fab9b44f003c8e5454',1,'registers.h']]], + ['gpureg_5flight4_5fspecular1_8601',['GPUREG_LIGHT4_SPECULAR1',['../registers_8h.html#a848f18b2db1dd8a10134b8eace47b5d3',1,'registers.h']]], + ['gpureg_5flight4_5fspotdir_5fxy_8602',['GPUREG_LIGHT4_SPOTDIR_XY',['../registers_8h.html#a567780659f0b0c11782e580df00e3a9b',1,'registers.h']]], + ['gpureg_5flight4_5fspotdir_5fz_8603',['GPUREG_LIGHT4_SPOTDIR_Z',['../registers_8h.html#a1cb7d96e920882d616abdad51c8b164c',1,'registers.h']]], + ['gpureg_5flight4_5fxy_8604',['GPUREG_LIGHT4_XY',['../registers_8h.html#a923a3c4ddc3d111f90deeec1c0b28b9b',1,'registers.h']]], + ['gpureg_5flight4_5fz_8605',['GPUREG_LIGHT4_Z',['../registers_8h.html#abb41d38b61a5ba5cd643e19586bbb722',1,'registers.h']]], + ['gpureg_5flight5_5fambient_8606',['GPUREG_LIGHT5_AMBIENT',['../registers_8h.html#a376830660334301ea13039887d040df6',1,'registers.h']]], + ['gpureg_5flight5_5fattenuation_5fbias_8607',['GPUREG_LIGHT5_ATTENUATION_BIAS',['../registers_8h.html#a975adc4f2030bfa0a1316db3381c86e0',1,'registers.h']]], + ['gpureg_5flight5_5fattenuation_5fscale_8608',['GPUREG_LIGHT5_ATTENUATION_SCALE',['../registers_8h.html#a7cd1240cc57c673ca85544b277935853',1,'registers.h']]], + ['gpureg_5flight5_5fconfig_8609',['GPUREG_LIGHT5_CONFIG',['../registers_8h.html#a02b393e960401c0cc438fcaa024ca850',1,'registers.h']]], + ['gpureg_5flight5_5fdiffuse_8610',['GPUREG_LIGHT5_DIFFUSE',['../registers_8h.html#ae24299c5c807cf36e38a9941142aa386',1,'registers.h']]], + ['gpureg_5flight5_5fspecular0_8611',['GPUREG_LIGHT5_SPECULAR0',['../registers_8h.html#a99d30e446a1f24865822eabaab4e2174',1,'registers.h']]], + ['gpureg_5flight5_5fspecular1_8612',['GPUREG_LIGHT5_SPECULAR1',['../registers_8h.html#ae1233edbf5838822aed5905d22fba0ea',1,'registers.h']]], + ['gpureg_5flight5_5fspotdir_5fxy_8613',['GPUREG_LIGHT5_SPOTDIR_XY',['../registers_8h.html#a3de3054e1404077b6213ad8bf6fdd1d3',1,'registers.h']]], + ['gpureg_5flight5_5fspotdir_5fz_8614',['GPUREG_LIGHT5_SPOTDIR_Z',['../registers_8h.html#a34002b028b6be094f95ff667929719ee',1,'registers.h']]], + ['gpureg_5flight5_5fxy_8615',['GPUREG_LIGHT5_XY',['../registers_8h.html#a68529727e70c3aee5967241dbf871cb6',1,'registers.h']]], + ['gpureg_5flight5_5fz_8616',['GPUREG_LIGHT5_Z',['../registers_8h.html#aa8bcb266edfcd7682cdf9b4589a41d58',1,'registers.h']]], + ['gpureg_5flight6_5fambient_8617',['GPUREG_LIGHT6_AMBIENT',['../registers_8h.html#ab07765d306e04604c241e2b3c6834c06',1,'registers.h']]], + ['gpureg_5flight6_5fattenuation_5fbias_8618',['GPUREG_LIGHT6_ATTENUATION_BIAS',['../registers_8h.html#af52b59910dc65a706f68aca8e5dc8f4c',1,'registers.h']]], + ['gpureg_5flight6_5fattenuation_5fscale_8619',['GPUREG_LIGHT6_ATTENUATION_SCALE',['../registers_8h.html#ac57efdf0fae5fcc9ed37ed7689250239',1,'registers.h']]], + ['gpureg_5flight6_5fconfig_8620',['GPUREG_LIGHT6_CONFIG',['../registers_8h.html#a8d84a6603d9e38f928d1ded6d90ad52c',1,'registers.h']]], + ['gpureg_5flight6_5fdiffuse_8621',['GPUREG_LIGHT6_DIFFUSE',['../registers_8h.html#a4d935c70e78861962fbfca7fa4ba7e6b',1,'registers.h']]], + ['gpureg_5flight6_5fspecular0_8622',['GPUREG_LIGHT6_SPECULAR0',['../registers_8h.html#a93d2e8e9cdd66babbff38cd018d09e6e',1,'registers.h']]], + ['gpureg_5flight6_5fspecular1_8623',['GPUREG_LIGHT6_SPECULAR1',['../registers_8h.html#aef785760f0d2bbcf75a2b168c6a8cfd4',1,'registers.h']]], + ['gpureg_5flight6_5fspotdir_5fxy_8624',['GPUREG_LIGHT6_SPOTDIR_XY',['../registers_8h.html#a6351a376369271d3b13caa22dfd6dbcf',1,'registers.h']]], + ['gpureg_5flight6_5fspotdir_5fz_8625',['GPUREG_LIGHT6_SPOTDIR_Z',['../registers_8h.html#a642ac632ef5cf1ff67bc08f2b6707070',1,'registers.h']]], + ['gpureg_5flight6_5fxy_8626',['GPUREG_LIGHT6_XY',['../registers_8h.html#a9768415d7ef8d604e14542038f52274a',1,'registers.h']]], + ['gpureg_5flight6_5fz_8627',['GPUREG_LIGHT6_Z',['../registers_8h.html#a45a858f208f8ee34971a4fb4747074da',1,'registers.h']]], + ['gpureg_5flight7_5fambient_8628',['GPUREG_LIGHT7_AMBIENT',['../registers_8h.html#ae2fea4e32197a882cbff735c79580936',1,'registers.h']]], + ['gpureg_5flight7_5fattenuation_5fbias_8629',['GPUREG_LIGHT7_ATTENUATION_BIAS',['../registers_8h.html#a90f526d189e2070d5b469d057a8bf2f2',1,'registers.h']]], + ['gpureg_5flight7_5fattenuation_5fscale_8630',['GPUREG_LIGHT7_ATTENUATION_SCALE',['../registers_8h.html#aab7e5b8c5f071eb7d6ee4af3decb97f2',1,'registers.h']]], + ['gpureg_5flight7_5fconfig_8631',['GPUREG_LIGHT7_CONFIG',['../registers_8h.html#a6c61b3c7623862a4fc51606023f6ff1c',1,'registers.h']]], + ['gpureg_5flight7_5fdiffuse_8632',['GPUREG_LIGHT7_DIFFUSE',['../registers_8h.html#a90e86f7a23a710915220d375c85de7ad',1,'registers.h']]], + ['gpureg_5flight7_5fspecular0_8633',['GPUREG_LIGHT7_SPECULAR0',['../registers_8h.html#aeed9e255daee5dfd428e91b79ed2847a',1,'registers.h']]], + ['gpureg_5flight7_5fspecular1_8634',['GPUREG_LIGHT7_SPECULAR1',['../registers_8h.html#a53223e5aa0ceaf51beeef27d655c09e4',1,'registers.h']]], + ['gpureg_5flight7_5fspotdir_5fxy_8635',['GPUREG_LIGHT7_SPOTDIR_XY',['../registers_8h.html#afb277351ad390041b7008ad7f1c17e18',1,'registers.h']]], + ['gpureg_5flight7_5fspotdir_5fz_8636',['GPUREG_LIGHT7_SPOTDIR_Z',['../registers_8h.html#a74ca5d6647a52d4fcb128fa2236ae94d',1,'registers.h']]], + ['gpureg_5flight7_5fxy_8637',['GPUREG_LIGHT7_XY',['../registers_8h.html#a9128c39389ab66076722fba3ac866ff1',1,'registers.h']]], + ['gpureg_5flight7_5fz_8638',['GPUREG_LIGHT7_Z',['../registers_8h.html#aacd6264396b13079beb53f22ade29256',1,'registers.h']]], + ['gpureg_5flighting_5fambient_8639',['GPUREG_LIGHTING_AMBIENT',['../registers_8h.html#af578d88c4541da1e13299a6a1624f34f',1,'registers.h']]], + ['gpureg_5flighting_5fconfig0_8640',['GPUREG_LIGHTING_CONFIG0',['../registers_8h.html#a0fc3660f9618cc7e021e900a14887303',1,'registers.h']]], + ['gpureg_5flighting_5fconfig1_8641',['GPUREG_LIGHTING_CONFIG1',['../registers_8h.html#af3f4617c58413f0385894cb96fdacca5',1,'registers.h']]], + ['gpureg_5flighting_5fenable0_8642',['GPUREG_LIGHTING_ENABLE0',['../registers_8h.html#a22e6fa7243ba45f06bc21456719d47ab',1,'registers.h']]], + ['gpureg_5flighting_5fenable1_8643',['GPUREG_LIGHTING_ENABLE1',['../registers_8h.html#a6b5aac11510ab1ea06b36d1e0f2706bc',1,'registers.h']]], + ['gpureg_5flighting_5flight_5fpermutation_8644',['GPUREG_LIGHTING_LIGHT_PERMUTATION',['../registers_8h.html#a349d9e6b73a4010ceeef8836ec73ab0a',1,'registers.h']]], + ['gpureg_5flighting_5flut_5fdata0_8645',['GPUREG_LIGHTING_LUT_DATA0',['../registers_8h.html#aab6612a03bda7efe03d49f2fd5369e08',1,'registers.h']]], + ['gpureg_5flighting_5flut_5fdata1_8646',['GPUREG_LIGHTING_LUT_DATA1',['../registers_8h.html#a86ab3c2fc3969a519b7f0cf50459f735',1,'registers.h']]], + ['gpureg_5flighting_5flut_5fdata2_8647',['GPUREG_LIGHTING_LUT_DATA2',['../registers_8h.html#a166d7bef485297303bb0904eb21d52ad',1,'registers.h']]], + ['gpureg_5flighting_5flut_5fdata3_8648',['GPUREG_LIGHTING_LUT_DATA3',['../registers_8h.html#a88e8abb02eda3fe7253c79a29b120cdb',1,'registers.h']]], + ['gpureg_5flighting_5flut_5fdata4_8649',['GPUREG_LIGHTING_LUT_DATA4',['../registers_8h.html#ac1101e03d9fe5554701472a6490e8631',1,'registers.h']]], + ['gpureg_5flighting_5flut_5fdata5_8650',['GPUREG_LIGHTING_LUT_DATA5',['../registers_8h.html#a85e447c1f382f37462dd4aeae2657d67',1,'registers.h']]], + ['gpureg_5flighting_5flut_5fdata6_8651',['GPUREG_LIGHTING_LUT_DATA6',['../registers_8h.html#a006f525c2a11f4f7e5f7e9b1947308e8',1,'registers.h']]], + ['gpureg_5flighting_5flut_5fdata7_8652',['GPUREG_LIGHTING_LUT_DATA7',['../registers_8h.html#a1e6f0dd4ad09461637aca2a34e3e2c8b',1,'registers.h']]], + ['gpureg_5flighting_5flut_5findex_8653',['GPUREG_LIGHTING_LUT_INDEX',['../registers_8h.html#a28fdf4020863eb8fc7bf2d33ee050d3f',1,'registers.h']]], + ['gpureg_5flighting_5flutinput_5fabs_8654',['GPUREG_LIGHTING_LUTINPUT_ABS',['../registers_8h.html#a7af2a97e273f42ecf47b46ad54801e13',1,'registers.h']]], + ['gpureg_5flighting_5flutinput_5fscale_8655',['GPUREG_LIGHTING_LUTINPUT_SCALE',['../registers_8h.html#a414f778f7bba1eea3da109dc6ab16973',1,'registers.h']]], + ['gpureg_5flighting_5flutinput_5fselect_8656',['GPUREG_LIGHTING_LUTINPUT_SELECT',['../registers_8h.html#a256423b743bd47bf86e95ca390f1bf41',1,'registers.h']]], + ['gpureg_5flighting_5fnum_5flights_8657',['GPUREG_LIGHTING_NUM_LIGHTS',['../registers_8h.html#a2646a6cb7b81f485d6ad0812e3919105',1,'registers.h']]], + ['gpureg_5flogic_5fop_8658',['GPUREG_LOGIC_OP',['../registers_8h.html#ad4f3ff79fd6e236bb7fdf4749e768a8c',1,'registers.h']]], + ['gpureg_5fnumvertices_8659',['GPUREG_NUMVERTICES',['../registers_8h.html#a87d3b42f4d5265b2b5d2abb0df5065a1',1,'registers.h']]], + ['gpureg_5fpost_5fvertex_5fcache_5fnum_8660',['GPUREG_POST_VERTEX_CACHE_NUM',['../registers_8h.html#a1b6947bf0b48a1ea13fed91961f6927a',1,'registers.h']]], + ['gpureg_5fprimitive_5fconfig_8661',['GPUREG_PRIMITIVE_CONFIG',['../registers_8h.html#a7d5c9328a6ba4143703686493e352ef7',1,'registers.h']]], + ['gpureg_5fproctex_5flut_8662',['GPUREG_PROCTEX_LUT',['../registers_8h.html#abc3abcee4680d457cf200c6b4ee0ea58',1,'registers.h']]], + ['gpureg_5fproctex_5flut_5fdata0_8663',['GPUREG_PROCTEX_LUT_DATA0',['../registers_8h.html#a261d1fa8efdbeadfc9a53fa131246c47',1,'registers.h']]], + ['gpureg_5fproctex_5flut_5fdata1_8664',['GPUREG_PROCTEX_LUT_DATA1',['../registers_8h.html#a7db9ba84302fd85d1934b281a6334f41',1,'registers.h']]], + ['gpureg_5fproctex_5flut_5fdata2_8665',['GPUREG_PROCTEX_LUT_DATA2',['../registers_8h.html#a56333dd2cce1e92fcac06e6fb9002330',1,'registers.h']]], + ['gpureg_5fproctex_5flut_5fdata3_8666',['GPUREG_PROCTEX_LUT_DATA3',['../registers_8h.html#a121db9281c513c16b04ed7943859c3ea',1,'registers.h']]], + ['gpureg_5fproctex_5flut_5fdata4_8667',['GPUREG_PROCTEX_LUT_DATA4',['../registers_8h.html#ac45ae14fe13d32d90615dde3f65ff997',1,'registers.h']]], + ['gpureg_5fproctex_5flut_5fdata5_8668',['GPUREG_PROCTEX_LUT_DATA5',['../registers_8h.html#a3c6e1ccd3241e91d04afff6e26635d6e',1,'registers.h']]], + ['gpureg_5fproctex_5flut_5fdata6_8669',['GPUREG_PROCTEX_LUT_DATA6',['../registers_8h.html#ad4a5bd5ca19a6e6eccf2f070d11e35a2',1,'registers.h']]], + ['gpureg_5fproctex_5flut_5fdata7_8670',['GPUREG_PROCTEX_LUT_DATA7',['../registers_8h.html#a2df304f37bbf1e4b8c726900c986e1e5',1,'registers.h']]], + ['gpureg_5frenderbuf_5fdim_8671',['GPUREG_RENDERBUF_DIM',['../registers_8h.html#ac42032f17e975a5a42f8865b798f02da',1,'registers.h']]], + ['gpureg_5frestart_5fprimitive_8672',['GPUREG_RESTART_PRIMITIVE',['../registers_8h.html#a9306c2f185b485888c85445ccd813b00',1,'registers.h']]], + ['gpureg_5fscissortest_5fdim_8673',['GPUREG_SCISSORTEST_DIM',['../registers_8h.html#aa393ab61199ec7c7e66100d425eaeaf5',1,'registers.h']]], + ['gpureg_5fscissortest_5fmode_8674',['GPUREG_SCISSORTEST_MODE',['../registers_8h.html#abda9094d803b9bd685a705e710920d14',1,'registers.h']]], + ['gpureg_5fscissortest_5fpos_8675',['GPUREG_SCISSORTEST_POS',['../registers_8h.html#a5d20b87b4cb3e6924bd2eb09f3808493',1,'registers.h']]], + ['gpureg_5fsh_5foutattr_5fclock_8676',['GPUREG_SH_OUTATTR_CLOCK',['../registers_8h.html#abea0382ba3568ecdc591fae22b45babb',1,'registers.h']]], + ['gpureg_5fsh_5foutattr_5fmode_8677',['GPUREG_SH_OUTATTR_MODE',['../registers_8h.html#aa617b5a86cca9c12455d3152ea80a0f4',1,'registers.h']]], + ['gpureg_5fsh_5foutmap_5fo0_8678',['GPUREG_SH_OUTMAP_O0',['../registers_8h.html#a3f55a88680ddd5cbbcc760438b47c0ac',1,'registers.h']]], + ['gpureg_5fsh_5foutmap_5fo1_8679',['GPUREG_SH_OUTMAP_O1',['../registers_8h.html#a8138a0b59addeedd64c5981c542c9d57',1,'registers.h']]], + ['gpureg_5fsh_5foutmap_5fo2_8680',['GPUREG_SH_OUTMAP_O2',['../registers_8h.html#ae655dfb179cb88b06969d706b61c00b6',1,'registers.h']]], + ['gpureg_5fsh_5foutmap_5fo3_8681',['GPUREG_SH_OUTMAP_O3',['../registers_8h.html#ae2168f7597c894a513b406cccece6dd4',1,'registers.h']]], + ['gpureg_5fsh_5foutmap_5fo4_8682',['GPUREG_SH_OUTMAP_O4',['../registers_8h.html#a73ce920f2c30a006ac55cec616950072',1,'registers.h']]], + ['gpureg_5fsh_5foutmap_5fo5_8683',['GPUREG_SH_OUTMAP_O5',['../registers_8h.html#af49ed620e178fe77fd2324099139c2dd',1,'registers.h']]], + ['gpureg_5fsh_5foutmap_5fo6_8684',['GPUREG_SH_OUTMAP_O6',['../registers_8h.html#a250e076588aa4c3682b3f23414140cc8',1,'registers.h']]], + ['gpureg_5fsh_5foutmap_5ftotal_8685',['GPUREG_SH_OUTMAP_TOTAL',['../registers_8h.html#ab69e1f3d80581ad5c89eea42f0514cb8',1,'registers.h']]], + ['gpureg_5fstart_5fdraw_5ffunc0_8686',['GPUREG_START_DRAW_FUNC0',['../registers_8h.html#a54f8c8191c396189f0cd003124b4f4ec',1,'registers.h']]], + ['gpureg_5fstencil_5fop_8687',['GPUREG_STENCIL_OP',['../registers_8h.html#adf3614b3f5a2e2454b3495a2a55ce9db',1,'registers.h']]], + ['gpureg_5fstencil_5ftest_8688',['GPUREG_STENCIL_TEST',['../registers_8h.html#abc4bfd594ae7140e7901904594a978e2',1,'registers.h']]], + ['gpureg_5ftexenv0_5fcolor_8689',['GPUREG_TEXENV0_COLOR',['../registers_8h.html#a9d977b973396e05c264ea9294b8439e1',1,'registers.h']]], + ['gpureg_5ftexenv0_5fcombiner_8690',['GPUREG_TEXENV0_COMBINER',['../registers_8h.html#a6f23c2f17d21b5d86c9705a14bfac331',1,'registers.h']]], + ['gpureg_5ftexenv0_5foperand_8691',['GPUREG_TEXENV0_OPERAND',['../registers_8h.html#a0040e9836fffbcde22fac38016fbff7e',1,'registers.h']]], + ['gpureg_5ftexenv0_5fscale_8692',['GPUREG_TEXENV0_SCALE',['../registers_8h.html#a2095ccb24c180c7ff0360f5d135072e5',1,'registers.h']]], + ['gpureg_5ftexenv0_5fsource_8693',['GPUREG_TEXENV0_SOURCE',['../registers_8h.html#a3a6b9b914da78e686550ced1a4324c7c',1,'registers.h']]], + ['gpureg_5ftexenv1_5fcolor_8694',['GPUREG_TEXENV1_COLOR',['../registers_8h.html#a30673832397f30e5b5aa2a9a98d18f67',1,'registers.h']]], + ['gpureg_5ftexenv1_5fcombiner_8695',['GPUREG_TEXENV1_COMBINER',['../registers_8h.html#ae30fcfd3c4b9818edcedfe83af1093ae',1,'registers.h']]], + ['gpureg_5ftexenv1_5foperand_8696',['GPUREG_TEXENV1_OPERAND',['../registers_8h.html#a032f0c59235944f70d632ad7aea25147',1,'registers.h']]], + ['gpureg_5ftexenv1_5fscale_8697',['GPUREG_TEXENV1_SCALE',['../registers_8h.html#a7ccb3622fa36db3bcbf45769445a1a97',1,'registers.h']]], + ['gpureg_5ftexenv1_5fsource_8698',['GPUREG_TEXENV1_SOURCE',['../registers_8h.html#a51d0e2fcca6bea790d9977bc0cbbc3b4',1,'registers.h']]], + ['gpureg_5ftexenv2_5fcolor_8699',['GPUREG_TEXENV2_COLOR',['../registers_8h.html#a433947d71ea07f34b8ce1d211d118551',1,'registers.h']]], + ['gpureg_5ftexenv2_5fcombiner_8700',['GPUREG_TEXENV2_COMBINER',['../registers_8h.html#af486bb2a2dbc90f66ffdd5b329d3ebf7',1,'registers.h']]], + ['gpureg_5ftexenv2_5foperand_8701',['GPUREG_TEXENV2_OPERAND',['../registers_8h.html#a0785eb52f19be5344b69dbe1503e6041',1,'registers.h']]], + ['gpureg_5ftexenv2_5fscale_8702',['GPUREG_TEXENV2_SCALE',['../registers_8h.html#aae807203fbe505e5738d5eb766b8b384',1,'registers.h']]], + ['gpureg_5ftexenv2_5fsource_8703',['GPUREG_TEXENV2_SOURCE',['../registers_8h.html#ac9571ce5a6a2bca0666d9919af1adf04',1,'registers.h']]], + ['gpureg_5ftexenv3_5fcolor_8704',['GPUREG_TEXENV3_COLOR',['../registers_8h.html#a529a542f498370b9f015622748b252bd',1,'registers.h']]], + ['gpureg_5ftexenv3_5fcombiner_8705',['GPUREG_TEXENV3_COMBINER',['../registers_8h.html#a94bd4d0d6c47eb5f7cc88d6aef9e46c6',1,'registers.h']]], + ['gpureg_5ftexenv3_5foperand_8706',['GPUREG_TEXENV3_OPERAND',['../registers_8h.html#a802a933c77df976ea0998452105f52b1',1,'registers.h']]], + ['gpureg_5ftexenv3_5fscale_8707',['GPUREG_TEXENV3_SCALE',['../registers_8h.html#a26230da9a8f58ff220fa1bc01b0fd465',1,'registers.h']]], + ['gpureg_5ftexenv3_5fsource_8708',['GPUREG_TEXENV3_SOURCE',['../registers_8h.html#a41a9c2abe16071a070b48fc58956a4b5',1,'registers.h']]], + ['gpureg_5ftexenv4_5fcolor_8709',['GPUREG_TEXENV4_COLOR',['../registers_8h.html#aaad983934a9dea4006f81c6143646ece',1,'registers.h']]], + ['gpureg_5ftexenv4_5fcombiner_8710',['GPUREG_TEXENV4_COMBINER',['../registers_8h.html#aa23afcb525824e626d03e65237b234d1',1,'registers.h']]], + ['gpureg_5ftexenv4_5foperand_8711',['GPUREG_TEXENV4_OPERAND',['../registers_8h.html#a6cdedcbcef643a43e2414af2458685ae',1,'registers.h']]], + ['gpureg_5ftexenv4_5fscale_8712',['GPUREG_TEXENV4_SCALE',['../registers_8h.html#a5da494d841a27a727c1b475d52eadb95',1,'registers.h']]], + ['gpureg_5ftexenv4_5fsource_8713',['GPUREG_TEXENV4_SOURCE',['../registers_8h.html#a72fe4e1218462ff5ecbb7a22b749bc9e',1,'registers.h']]], + ['gpureg_5ftexenv5_5fcolor_8714',['GPUREG_TEXENV5_COLOR',['../registers_8h.html#ac20f4346e319937708b9d41c3f863034',1,'registers.h']]], + ['gpureg_5ftexenv5_5fcombiner_8715',['GPUREG_TEXENV5_COMBINER',['../registers_8h.html#a02df5df17c7fa66205588c6f02520c78',1,'registers.h']]], + ['gpureg_5ftexenv5_5foperand_8716',['GPUREG_TEXENV5_OPERAND',['../registers_8h.html#abba63f7138fd47b41b0e6bbe2c975e48',1,'registers.h']]], + ['gpureg_5ftexenv5_5fscale_8717',['GPUREG_TEXENV5_SCALE',['../registers_8h.html#a69cc5bc39bac069200747780508c9afc',1,'registers.h']]], + ['gpureg_5ftexenv5_5fsource_8718',['GPUREG_TEXENV5_SOURCE',['../registers_8h.html#a46e97bc12133dc8884aa69717bd428ce',1,'registers.h']]], + ['gpureg_5ftexenv_5fbuffer_5fcolor_8719',['GPUREG_TEXENV_BUFFER_COLOR',['../registers_8h.html#adf949659d44201af313e96311454b052',1,'registers.h']]], + ['gpureg_5ftexenv_5fupdate_5fbuffer_8720',['GPUREG_TEXENV_UPDATE_BUFFER',['../registers_8h.html#a4b8ab3a82405f2fe061c2306e98e4187',1,'registers.h']]], + ['gpureg_5ftexunit0_5faddr1_8721',['GPUREG_TEXUNIT0_ADDR1',['../registers_8h.html#a57cb6e4cdd8b42714b33ebd5a4a38c98',1,'registers.h']]], + ['gpureg_5ftexunit0_5faddr2_8722',['GPUREG_TEXUNIT0_ADDR2',['../registers_8h.html#a50be82403aab695e1124e865852b2e14',1,'registers.h']]], + ['gpureg_5ftexunit0_5faddr3_8723',['GPUREG_TEXUNIT0_ADDR3',['../registers_8h.html#ac10cf6b015f63fd3855d6746ebed2645',1,'registers.h']]], + ['gpureg_5ftexunit0_5faddr4_8724',['GPUREG_TEXUNIT0_ADDR4',['../registers_8h.html#ab6e3fe6e153d167bc2232e1326fc8daa',1,'registers.h']]], + ['gpureg_5ftexunit0_5faddr5_8725',['GPUREG_TEXUNIT0_ADDR5',['../registers_8h.html#a37a0e6a2664d9af06214f3929bab8194',1,'registers.h']]], + ['gpureg_5ftexunit0_5faddr6_8726',['GPUREG_TEXUNIT0_ADDR6',['../registers_8h.html#adafd4c674a516cc6495f5f4ec04383df',1,'registers.h']]], + ['gpureg_5ftexunit0_5fborder_5fcolor_8727',['GPUREG_TEXUNIT0_BORDER_COLOR',['../registers_8h.html#a8daa88c8b167fbe2fa35bdfb0a11376b',1,'registers.h']]], + ['gpureg_5ftexunit0_5fdim_8728',['GPUREG_TEXUNIT0_DIM',['../registers_8h.html#a4f1439c7a9ca11e1b3ec0a6a046a7f32',1,'registers.h']]], + ['gpureg_5ftexunit0_5flod_8729',['GPUREG_TEXUNIT0_LOD',['../registers_8h.html#a1ccc8e073391ef3383bcd56745b32f81',1,'registers.h']]], + ['gpureg_5ftexunit0_5fparam_8730',['GPUREG_TEXUNIT0_PARAM',['../registers_8h.html#a2d36dddc04355ba91ab3aa44004706c6',1,'registers.h']]], + ['gpureg_5ftexunit0_5fshadow_8731',['GPUREG_TEXUNIT0_SHADOW',['../registers_8h.html#a8b1c458f7a802aed0ff1e6557223726e',1,'registers.h']]], + ['gpureg_5ftexunit0_5ftype_8732',['GPUREG_TEXUNIT0_TYPE',['../registers_8h.html#a560a9ff2c7f09d5ea0d9d076b3ecc6c9',1,'registers.h']]], + ['gpureg_5ftexunit1_5faddr_8733',['GPUREG_TEXUNIT1_ADDR',['../registers_8h.html#ab1a08e8a5396659811258524fb0ed602',1,'registers.h']]], + ['gpureg_5ftexunit1_5fborder_5fcolor_8734',['GPUREG_TEXUNIT1_BORDER_COLOR',['../registers_8h.html#a885c42cf9f34bd52e8963ef05705ff67',1,'registers.h']]], + ['gpureg_5ftexunit1_5fdim_8735',['GPUREG_TEXUNIT1_DIM',['../registers_8h.html#aae1b8b619ff5fd47e51eef86f78f2885',1,'registers.h']]], + ['gpureg_5ftexunit1_5flod_8736',['GPUREG_TEXUNIT1_LOD',['../registers_8h.html#a0aaf1e48ae5ba27f0aa26c35845debca',1,'registers.h']]], + ['gpureg_5ftexunit1_5fparam_8737',['GPUREG_TEXUNIT1_PARAM',['../registers_8h.html#a7ee90f9886573e3806b8d20c7e8adc31',1,'registers.h']]], + ['gpureg_5ftexunit1_5ftype_8738',['GPUREG_TEXUNIT1_TYPE',['../registers_8h.html#a90eca8eafbda9d597541d1c72dca3d45',1,'registers.h']]], + ['gpureg_5ftexunit2_5faddr_8739',['GPUREG_TEXUNIT2_ADDR',['../registers_8h.html#a6e3950c445f1f8fced62806aef865f92',1,'registers.h']]], + ['gpureg_5ftexunit2_5fborder_5fcolor_8740',['GPUREG_TEXUNIT2_BORDER_COLOR',['../registers_8h.html#a10521fba33932bd10c05695ad3766d19',1,'registers.h']]], + ['gpureg_5ftexunit2_5fdim_8741',['GPUREG_TEXUNIT2_DIM',['../registers_8h.html#accae312ffda0c0552290d111a00f99f6',1,'registers.h']]], + ['gpureg_5ftexunit2_5flod_8742',['GPUREG_TEXUNIT2_LOD',['../registers_8h.html#af56e18de934881c1047f2c011835708b',1,'registers.h']]], + ['gpureg_5ftexunit2_5fparam_8743',['GPUREG_TEXUNIT2_PARAM',['../registers_8h.html#a9ca73b49539c0e55b5c02ada86b0374d',1,'registers.h']]], + ['gpureg_5ftexunit2_5ftype_8744',['GPUREG_TEXUNIT2_TYPE',['../registers_8h.html#a8e98d48ef42d81b96d17c6233898e369',1,'registers.h']]], + ['gpureg_5ftexunit3_5fproctex0_8745',['GPUREG_TEXUNIT3_PROCTEX0',['../registers_8h.html#af3fa5eb463b13f439c1175e0f38f3e11',1,'registers.h']]], + ['gpureg_5ftexunit3_5fproctex1_8746',['GPUREG_TEXUNIT3_PROCTEX1',['../registers_8h.html#a74d99afe12934147eab833c32db44772',1,'registers.h']]], + ['gpureg_5ftexunit3_5fproctex2_8747',['GPUREG_TEXUNIT3_PROCTEX2',['../registers_8h.html#a7f4d64a7a8d2fcef7d0287c8aa9c82e6',1,'registers.h']]], + ['gpureg_5ftexunit3_5fproctex3_8748',['GPUREG_TEXUNIT3_PROCTEX3',['../registers_8h.html#a5e098c9f8c9758819c9ab00f8f32068a',1,'registers.h']]], + ['gpureg_5ftexunit3_5fproctex4_8749',['GPUREG_TEXUNIT3_PROCTEX4',['../registers_8h.html#a82ee2f931fe1a8f855ccbb05d0d49db7',1,'registers.h']]], + ['gpureg_5ftexunit3_5fproctex5_8750',['GPUREG_TEXUNIT3_PROCTEX5',['../registers_8h.html#a1a29619676a6e2fe41e4f79e57e8baf8',1,'registers.h']]], + ['gpureg_5ftexunit_5fconfig_8751',['GPUREG_TEXUNIT_CONFIG',['../registers_8h.html#a9b06c577c3e874f56e9597b2eca65db0',1,'registers.h']]], + ['gpureg_5fvertex_5foffset_8752',['GPUREG_VERTEX_OFFSET',['../registers_8h.html#a5612f66bbcc522c08a2e461c3dfd005c',1,'registers.h']]], + ['gpureg_5fviewport_5fheight_8753',['GPUREG_VIEWPORT_HEIGHT',['../registers_8h.html#a72e2258e1b0a28dcc08a5b4c827e6ea6',1,'registers.h']]], + ['gpureg_5fviewport_5finvh_8754',['GPUREG_VIEWPORT_INVH',['../registers_8h.html#ad84cbbc16ada726ad8147bd4ca224ba6',1,'registers.h']]], + ['gpureg_5fviewport_5finvw_8755',['GPUREG_VIEWPORT_INVW',['../registers_8h.html#acf7793e237c949143c6351d211297b94',1,'registers.h']]], + ['gpureg_5fviewport_5fwidth_8756',['GPUREG_VIEWPORT_WIDTH',['../registers_8h.html#a12c4108c84b195d940e84149d5b5b25d',1,'registers.h']]], + ['gpureg_5fviewport_5fxy_8757',['GPUREG_VIEWPORT_XY',['../registers_8h.html#aa325c7a4921e62e275e0f4c3e4f241ae',1,'registers.h']]], + ['gpureg_5fvsh_5fattributes_5fpermutation_5fhigh_8758',['GPUREG_VSH_ATTRIBUTES_PERMUTATION_HIGH',['../registers_8h.html#ab7c0527bf13d3f12457ceaff97b9a348',1,'registers.h']]], + ['gpureg_5fvsh_5fattributes_5fpermutation_5flow_8759',['GPUREG_VSH_ATTRIBUTES_PERMUTATION_LOW',['../registers_8h.html#ae0e7bdf93753d063656e2ef9f906a62e',1,'registers.h']]], + ['gpureg_5fvsh_5fbooluniform_8760',['GPUREG_VSH_BOOLUNIFORM',['../registers_8h.html#a65095ab2d7393da1b8a2df78c94cfd91',1,'registers.h']]], + ['gpureg_5fvsh_5fcodetransfer_5fconfig_8761',['GPUREG_VSH_CODETRANSFER_CONFIG',['../registers_8h.html#a35b9ccd0750f4e2fcd5b20abaad0d3fc',1,'registers.h']]], + ['gpureg_5fvsh_5fcodetransfer_5fdata_8762',['GPUREG_VSH_CODETRANSFER_DATA',['../registers_8h.html#acc06d42bedc8781699f6d3d3fedeb2f9',1,'registers.h']]], + ['gpureg_5fvsh_5fcodetransfer_5fend_8763',['GPUREG_VSH_CODETRANSFER_END',['../registers_8h.html#a1667038160eea1de00f085f29200432d',1,'registers.h']]], + ['gpureg_5fvsh_5fcom_5fmode_8764',['GPUREG_VSH_COM_MODE',['../registers_8h.html#a4299a2e3692a1a0fc5ffbe3c7c8fe88b',1,'registers.h']]], + ['gpureg_5fvsh_5fentrypoint_8765',['GPUREG_VSH_ENTRYPOINT',['../registers_8h.html#a99d927679d2e17a1424818ec012f8aec',1,'registers.h']]], + ['gpureg_5fvsh_5ffloatuniform_5fconfig_8766',['GPUREG_VSH_FLOATUNIFORM_CONFIG',['../registers_8h.html#a27e290edc49ad9f021d521a99623ffaa',1,'registers.h']]], + ['gpureg_5fvsh_5ffloatuniform_5fdata_8767',['GPUREG_VSH_FLOATUNIFORM_DATA',['../registers_8h.html#a35d7d5921a2db6fd20660699e90a887a',1,'registers.h']]], + ['gpureg_5fvsh_5finputbuffer_5fconfig_8768',['GPUREG_VSH_INPUTBUFFER_CONFIG',['../registers_8h.html#abb0f442c82b8cc8c1d97c3d63a0216b7',1,'registers.h']]], + ['gpureg_5fvsh_5fintuniform_5fi0_8769',['GPUREG_VSH_INTUNIFORM_I0',['../registers_8h.html#a4a500ab76441c5efc58a14a97b78912a',1,'registers.h']]], + ['gpureg_5fvsh_5fintuniform_5fi1_8770',['GPUREG_VSH_INTUNIFORM_I1',['../registers_8h.html#a32dc1c26e50ede0f704dbfefbf84b44d',1,'registers.h']]], + ['gpureg_5fvsh_5fintuniform_5fi2_8771',['GPUREG_VSH_INTUNIFORM_I2',['../registers_8h.html#a8dec7eb9d3b90e53ffdfc2596e8f7764',1,'registers.h']]], + ['gpureg_5fvsh_5fintuniform_5fi3_8772',['GPUREG_VSH_INTUNIFORM_I3',['../registers_8h.html#a959d548f12721538039014cd81a01ca3',1,'registers.h']]], + ['gpureg_5fvsh_5fnum_5fattr_8773',['GPUREG_VSH_NUM_ATTR',['../registers_8h.html#adae9f37beda3967ab92abf326b9c8cb8',1,'registers.h']]], + ['gpureg_5fvsh_5fopdescs_5fconfig_8774',['GPUREG_VSH_OPDESCS_CONFIG',['../registers_8h.html#a7548a0b3329042a39ca5e7ae377a3895',1,'registers.h']]], + ['gpureg_5fvsh_5fopdescs_5fdata_8775',['GPUREG_VSH_OPDESCS_DATA',['../registers_8h.html#a2dffc01bdac0bd0b3cef856e24f5ac4d',1,'registers.h']]], + ['gpureg_5fvsh_5foutmap_5fmask_8776',['GPUREG_VSH_OUTMAP_MASK',['../registers_8h.html#a1e4dda0b9256622e7ae616cc5a730778',1,'registers.h']]], + ['gpureg_5fvsh_5foutmap_5ftotal1_8777',['GPUREG_VSH_OUTMAP_TOTAL1',['../registers_8h.html#a160bd3120fc5b3d21f43c5aa6c1a7dc5',1,'registers.h']]], + ['gpureg_5fvsh_5foutmap_5ftotal2_8778',['GPUREG_VSH_OUTMAP_TOTAL2',['../registers_8h.html#a6b0cf4143229c57fc50942a7b69fe64d',1,'registers.h']]], + ['gpureg_5fvtx_5ffunc_8779',['GPUREG_VTX_FUNC',['../registers_8h.html#ab0598306186cded73b0478246fe6d06c',1,'registers.h']]], + ['gsp_5fscreen_5fbottom_8780',['GSP_SCREEN_BOTTOM',['../gspgpu_8h.html#a1fc769abd26ac3eb5e84fb88447c5628',1,'gspgpu.h']]], + ['gsp_5fscreen_5fheight_5fbottom_8781',['GSP_SCREEN_HEIGHT_BOTTOM',['../gspgpu_8h.html#ab0cb156cd5b9715768787f063e761a04',1,'gspgpu.h']]], + ['gsp_5fscreen_5fheight_5ftop_8782',['GSP_SCREEN_HEIGHT_TOP',['../gspgpu_8h.html#abfc0d039acdc290e47c773d43b1d68fa',1,'gspgpu.h']]], + ['gsp_5fscreen_5fheight_5ftop_5f2x_8783',['GSP_SCREEN_HEIGHT_TOP_2X',['../gspgpu_8h.html#a793006fa469cb1bc7e09db8cf6e07c81',1,'gspgpu.h']]], + ['gsp_5fscreen_5ftop_8784',['GSP_SCREEN_TOP',['../gspgpu_8h.html#a69ce16dabc811ea71517f94b24d3cb73',1,'gspgpu.h']]], + ['gsp_5fscreen_5fwidth_8785',['GSP_SCREEN_WIDTH',['../gspgpu_8h.html#a18a802efce37d4517fa69e09a142b7da',1,'gspgpu.h']]], + ['gspwaitfordma_8786',['gspWaitForDMA',['../gspgpu_8h.html#a95267f3508badebdcd0788cf262c99d8',1,'gspgpu.h']]], + ['gspwaitforp3d_8787',['gspWaitForP3D',['../gspgpu_8h.html#aba84a82e0137f5dc7a5c9d0ece41d9b7',1,'gspgpu.h']]], + ['gspwaitforppf_8788',['gspWaitForPPF',['../gspgpu_8h.html#a2f2aca81b76a88b6ebb121ec54f76b7e',1,'gspgpu.h']]], + ['gspwaitforpsc0_8789',['gspWaitForPSC0',['../gspgpu_8h.html#a704e891a5d988f4964c24dc2b8bac787',1,'gspgpu.h']]], + ['gspwaitforpsc1_8790',['gspWaitForPSC1',['../gspgpu_8h.html#a8a6e23746817c80d092cefd439d490f6',1,'gspgpu.h']]], + ['gspwaitforvblank_8791',['gspWaitForVBlank',['../gspgpu_8h.html#abf0a992835649b5fe90e95d8a58b8c45',1,'gspgpu.h']]], + ['gspwaitforvblank0_8792',['gspWaitForVBlank0',['../gspgpu_8h.html#ac999e7889bfe880d47ef787aa4ad36ff',1,'gspgpu.h']]], + ['gspwaitforvblank1_8793',['gspWaitForVBlank1',['../gspgpu_8h.html#a109b22fd311cb108387d59c298d5acef',1,'gspgpu.h']]], + ['gx_5fbuffer_5fdim_8794',['GX_BUFFER_DIM',['../gx_8h.html#ad34237bd30a2a96a6074e8967840d4fc',1,'gx.h']]], + ['gx_5fcmdlist_5fflush_8795',['GX_CMDLIST_FLUSH',['../gx_8h.html#addcc38194ba3a4bf1322b698d19936bc',1,'gx.h']]], + ['gx_5fcmdlist_5fupdate_5fgas_5facc_8796',['GX_CMDLIST_UPDATE_GAS_ACC',['../gx_8h.html#a9c6c9d17fff0a2ec233a3d0120a0f142',1,'gx.h']]], + ['gx_5ftransfer_5fflip_5fvert_8797',['GX_TRANSFER_FLIP_VERT',['../gx_8h.html#a19b4c4ad91299256a7c285e9ba7673b9',1,'gx.h']]], + ['gx_5ftransfer_5fin_5fformat_8798',['GX_TRANSFER_IN_FORMAT',['../gx_8h.html#ae325a34e9b8fb5288de35ee469dfe214',1,'gx.h']]], + ['gx_5ftransfer_5fout_5fformat_8799',['GX_TRANSFER_OUT_FORMAT',['../gx_8h.html#ab80b0d3eac6026af376128823e1ef8b6',1,'gx.h']]], + ['gx_5ftransfer_5fout_5ftiled_8800',['GX_TRANSFER_OUT_TILED',['../gx_8h.html#af921823b2f2e0cfcd521bea00a2b07b5',1,'gx.h']]], + ['gx_5ftransfer_5fraw_5fcopy_8801',['GX_TRANSFER_RAW_COPY',['../gx_8h.html#a60e17ab935c82208ef88ef28b4e397fe',1,'gx.h']]], + ['gx_5ftransfer_5fscaling_8802',['GX_TRANSFER_SCALING',['../gx_8h.html#aa5306b6b3789ce892d24d43fe9207534',1,'gx.h']]] +]; diff --git a/search/defines_5.html b/search/defines_5.html new file mode 100644 index 000000000..8c40d123b --- /dev/null +++ b/search/defines_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_5.js b/search/defines_5.js new file mode 100644 index 000000000..2b2b1cd4c --- /dev/null +++ b/search/defines_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['hidcstickread_8803',['hidCstickRead',['../irrst_8h.html#ae7c1e131af85608a182ace6cda524095',1,'irrst.h']]], + ['httpc_5fresultcode_5fdownloadpending_8804',['HTTPC_RESULTCODE_DOWNLOADPENDING',['../httpc_8h.html#a8dcddd501cd54b29b9289394ba04945c',1,'httpc.h']]] +]; diff --git a/search/defines_6.html b/search/defines_6.html new file mode 100644 index 000000000..c6c0f4894 --- /dev/null +++ b/search/defines_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_6.js b/search/defines_6.js new file mode 100644 index 000000000..e39745f09 --- /dev/null +++ b/search/defines_6.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['keysdown_8805',['keysDown',['../hid_8h.html#a920053cc92e61ee16e567109f428a530',1,'hid.h']]], + ['keysheld_8806',['keysHeld',['../hid_8h.html#ab34b448187933ef0752cac666453a6e4',1,'hid.h']]], + ['keysup_8807',['keysUp',['../hid_8h.html#aac1a8dd21e4c41f9a9a3edaeb9f48dd5',1,'hid.h']]] +]; diff --git a/search/defines_7.html b/search/defines_7.html new file mode 100644 index 000000000..81d230492 --- /dev/null +++ b/search/defines_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_7.js b/search/defines_7.js new file mode 100644 index 000000000..056246078 --- /dev/null +++ b/search/defines_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['link3ds_5fcomm_5fport_8808',['LINK3DS_COMM_PORT',['../3dslink_8h.html#aa4098b9693935197a8b839b7e789d3b2',1,'3dslink.h']]] +]; diff --git a/search/defines_8.html b/search/defines_8.html new file mode 100644 index 000000000..7e7e3dc96 --- /dev/null +++ b/search/defines_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_8.js b/search/defines_8.js new file mode 100644 index 000000000..5aa4176c0 --- /dev/null +++ b/search/defines_8.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['makeresult_8809',['MAKERESULT',['../result_8h.html#aa242dc94c5c3f0ba7d38430e2fe6d691',1,'result.h']]], + ['miiselector_5fguestmii_5fname_5flen_8810',['MIISELECTOR_GUESTMII_NAME_LEN',['../miiselector_8h.html#afaab15cb73c631d935e39e717b961ae4',1,'miiselector.h']]], + ['miiselector_5fguestmii_5fslots_8811',['MIISELECTOR_GUESTMII_SLOTS',['../miiselector_8h.html#a62fc50cefec472291631e79a62e082e0',1,'miiselector.h']]], + ['miiselector_5fmagic_8812',['MIISELECTOR_MAGIC',['../miiselector_8h.html#a7bbdd7bc52a9f7cdeb613216e146ceab',1,'miiselector.h']]], + ['miiselector_5ftitle_5flen_8813',['MIISELECTOR_TITLE_LEN',['../miiselector_8h.html#a4cfd7d346ed3e48e609a7615780009d0',1,'miiselector.h']]], + ['miiselector_5fusermii_5fslots_8814',['MIISELECTOR_USERMII_SLOTS',['../miiselector_8h.html#abd2981cd9f069780140d912907805202',1,'miiselector.h']]], + ['mvd_5fchecknaluproc_5fsuccess_8815',['MVD_CHECKNALUPROC_SUCCESS',['../mvd_8h.html#a788267f8f5eaba57aeaea4b7c514a90d',1,'mvd.h']]], + ['mvd_5fdefault_5fworkbuf_5fsize_8816',['MVD_DEFAULT_WORKBUF_SIZE',['../mvd_8h.html#a469adc5b4ae6402f2f762504efcb28f6',1,'mvd.h']]], + ['mvd_5fstatus_5fok_8817',['MVD_STATUS_OK',['../mvd_8h.html#a6bf61258865ef1ef89c538f128a2ad7b',1,'mvd.h']]] +]; diff --git a/search/defines_9.html b/search/defines_9.html new file mode 100644 index 000000000..596c26f3c --- /dev/null +++ b/search/defines_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_9.js b/search/defines_9.js new file mode 100644 index 000000000..b6c08e355 --- /dev/null +++ b/search/defines_9.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['ndsp_5fchannels_8818',['NDSP_CHANNELS',['../channel_8h.html#ab722b50ffe7e9b2f87e2fb5200c2638d',1,'channel.h']]], + ['ndsp_5fencoding_8819',['NDSP_ENCODING',['../channel_8h.html#a6a3d697b96706c5e9750122d9db592cd',1,'channel.h']]], + ['nfc_5ferr_5famiibo_5fnotsetup_8820',['NFC_ERR_AMIIBO_NOTSETUP',['../nfc_8h.html#a1933b382f5960700e016b8f5a20c420b',1,'nfc.h']]], + ['nfc_5ferr_5fappdata_5funinitialized_8821',['NFC_ERR_APPDATA_UNINITIALIZED',['../nfc_8h.html#a874ef45433da4582948a692fab7225ba',1,'nfc.h']]], + ['nfc_5ferr_5fappid_5fmismatch_8822',['NFC_ERR_APPID_MISMATCH',['../nfc_8h.html#af62d4461851c683739a4154a95bcbe64',1,'nfc.h']]], + ['nfc_5ferr_5fdatacorruption0_8823',['NFC_ERR_DATACORRUPTION0',['../nfc_8h.html#a71f20a0149822130f47496369e8ac446',1,'nfc.h']]], + ['nfc_5ferr_5fdatacorruption1_8824',['NFC_ERR_DATACORRUPTION1',['../nfc_8h.html#a07acea106acdf958061b9b8e74fa05d0',1,'nfc.h']]], + ['nfc_5ferr_5finvalid_5fstate_8825',['NFC_ERR_INVALID_STATE',['../nfc_8h.html#ad13ff10463dc54dafdb68fe33f97fa72',1,'nfc.h']]], + ['nfc_5fstartscan_5fdefaultinput_8826',['NFC_STARTSCAN_DEFAULTINPUT',['../nfc_8h.html#a74193ef260c5a8942d77835636e4f36c',1,'nfc.h']]] +]; diff --git a/search/defines_a.html b/search/defines_a.html new file mode 100644 index 000000000..1fc751315 --- /dev/null +++ b/search/defines_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_a.js b/search/defines_a.js new file mode 100644 index 000000000..dfcde64b9 --- /dev/null +++ b/search/defines_a.js @@ -0,0 +1,29 @@ +var searchData= +[ + ['os_5fdspram_5fpaddr_8827',['OS_DSPRAM_PADDR',['../os_8h.html#a84c0fa82e1298c9ef6fee39e54b10b9b',1,'os.h']]], + ['os_5fdspram_5fsize_8828',['OS_DSPRAM_SIZE',['../os_8h.html#af635d5643a14dd1742f1e416e3a5cacd',1,'os.h']]], + ['os_5fdspram_5fvaddr_8829',['OS_DSPRAM_VADDR',['../os_8h.html#a85b86b666c6400935e24ccbe4d5630cd',1,'os.h']]], + ['os_5ffcram_5fpaddr_8830',['OS_FCRAM_PADDR',['../os_8h.html#ae730e758255a129b372ae7417fe235d5',1,'os.h']]], + ['os_5ffcram_5fsize_8831',['OS_FCRAM_SIZE',['../os_8h.html#aaef63c2ac4cc3aa389bdcc26911131b0',1,'os.h']]], + ['os_5ffcram_5fvaddr_8832',['OS_FCRAM_VADDR',['../os_8h.html#a3c42fad973b18285c89eb14ec0d687d4',1,'os.h']]], + ['os_5fheap_5farea_5fbegin_8833',['OS_HEAP_AREA_BEGIN',['../os_8h.html#a76d0d25e825d506e2a54f29090cd7e47',1,'os.h']]], + ['os_5fheap_5farea_5fend_8834',['OS_HEAP_AREA_END',['../os_8h.html#a63faf0db6e346d556e5be95a2acb28ad',1,'os.h']]], + ['os_5fkernelcfg_5fvaddr_8835',['OS_KERNELCFG_VADDR',['../os_8h.html#a9a79af6c4935190ea9f1e97825fdaba5',1,'os.h']]], + ['os_5fkernelconfig_8836',['OS_KernelConfig',['../os_8h.html#a110240637e208519619c37d675e0f7b0',1,'os.h']]], + ['os_5fmap_5farea_5fbegin_8837',['OS_MAP_AREA_BEGIN',['../os_8h.html#ae1d62cafe4afecb5d46186ebe5c8352f',1,'os.h']]], + ['os_5fmap_5farea_5fend_8838',['OS_MAP_AREA_END',['../os_8h.html#a47c4df507cf8cbe2e4a2d64c1df9db5a',1,'os.h']]], + ['os_5fmmio_5fpaddr_8839',['OS_MMIO_PADDR',['../os_8h.html#adcff263c48e6933220897117cd8c54c4',1,'os.h']]], + ['os_5fmmio_5fsize_8840',['OS_MMIO_SIZE',['../os_8h.html#a4dcd0e08ea665120251c0a61830bc537',1,'os.h']]], + ['os_5fmmio_5fvaddr_8841',['OS_MMIO_VADDR',['../os_8h.html#aea9394a7835afe057607234caf811b00',1,'os.h']]], + ['os_5fold_5ffcram_5fpaddr_8842',['OS_OLD_FCRAM_PADDR',['../os_8h.html#a5b5f879f4639acc7d44b8de752d7cd69',1,'os.h']]], + ['os_5fold_5ffcram_5fsize_8843',['OS_OLD_FCRAM_SIZE',['../os_8h.html#a44bd1e73ee9aec7f5c51956625cda11e',1,'os.h']]], + ['os_5fold_5ffcram_5fvaddr_8844',['OS_OLD_FCRAM_VADDR',['../os_8h.html#a204a5a08cb0308b3622358d22e41e3ad',1,'os.h']]], + ['os_5fqtmram_5fpaddr_8845',['OS_QTMRAM_PADDR',['../os_8h.html#a1db38351caf7b5db6e21718bc329ba01',1,'os.h']]], + ['os_5fqtmram_5fsize_8846',['OS_QTMRAM_SIZE',['../os_8h.html#a25d3987a690b022660a4ba5aee8cefc0',1,'os.h']]], + ['os_5fqtmram_5fvaddr_8847',['OS_QTMRAM_VADDR',['../os_8h.html#a185da471d9d52138c3eaf34605f853a8',1,'os.h']]], + ['os_5fsharedcfg_5fvaddr_8848',['OS_SHAREDCFG_VADDR',['../os_8h.html#a88de8f3029eebb77d9247b51bba3246a',1,'os.h']]], + ['os_5fsharedconfig_8849',['OS_SharedConfig',['../os_8h.html#ac8f51101cc5a2564100ed3686645151f',1,'os.h']]], + ['os_5fvram_5fpaddr_8850',['OS_VRAM_PADDR',['../os_8h.html#aaa54cb94190acf66752380c99db1b235',1,'os.h']]], + ['os_5fvram_5fsize_8851',['OS_VRAM_SIZE',['../os_8h.html#a9d114961536f1bb0385d25c433c657e5',1,'os.h']]], + ['os_5fvram_5fvaddr_8852',['OS_VRAM_VADDR',['../os_8h.html#a257f319d3665a6973ff7f6bfab034c1c',1,'os.h']]] +]; diff --git a/search/defines_b.html b/search/defines_b.html new file mode 100644 index 000000000..47d13f85c --- /dev/null +++ b/search/defines_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_b.js b/search/defines_b.js new file mode 100644 index 000000000..e04aa4e3b --- /dev/null +++ b/search/defines_b.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['r_5fdescription_8853',['R_DESCRIPTION',['../result_8h.html#a92f6ce12bd0312ba8f5252ce35ac680c',1,'result.h']]], + ['r_5ffailed_8854',['R_FAILED',['../result_8h.html#a0040b35f38c0d2fef6766d5b284fefc7',1,'result.h']]], + ['r_5flevel_8855',['R_LEVEL',['../result_8h.html#a76a94ff95d548993f99434769f20e57d',1,'result.h']]], + ['r_5fmodule_8856',['R_MODULE',['../result_8h.html#a5b0e010ac431ca11f51ae23fdf4d7af2',1,'result.h']]], + ['r_5fsucceeded_8857',['R_SUCCEEDED',['../result_8h.html#aed427354b69859fdfab4dc33706acd45',1,'result.h']]], + ['r_5fsummary_8858',['R_SUMMARY',['../result_8h.html#a61ad81540003136a10ae88f1392386a6',1,'result.h']]], + ['rbtree_5fitem_8859',['rbtree_item',['../rbtree_8h.html#a9a8909ab0b221c0c11d983a1d8746cf4',1,'rbtree.h']]], + ['rgb565_8860',['RGB565',['../gfx_8h.html#ab2ed36b98652f54ec3e1fdc8a31c8b13',1,'gfx.h']]], + ['rgb8_5fto_5f565_8861',['RGB8_to_565',['../gfx_8h.html#ab3ef2df7649f8793a88e87e345749bfc',1,'gfx.h']]], + ['routing_5fflag_5fg_8862',['ROUTING_FLAG_G',['../soc_8h.html#a9cee173a7c2a0b5b667fbce872b79a55',1,'soc.h']]], + ['run_5fhandler_5fon_5ffaulting_5fstack_8863',['RUN_HANDLER_ON_FAULTING_STACK',['../thread_8h.html#ab40408690d779ababc87bc40b105279b',1,'thread.h']]] +]; diff --git a/search/defines_c.html b/search/defines_c.html new file mode 100644 index 000000000..64f719095 --- /dev/null +++ b/search/defines_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_c.js b/search/defines_c.js new file mode 100644 index 000000000..efb009d0c --- /dev/null +++ b/search/defines_c.js @@ -0,0 +1,21 @@ +var searchData= +[ + ['scankeys_8864',['scanKeys',['../hid_8h.html#a046434fba989bef112d82f57cbe33e0c',1,'hid.h']]], + ['sol_5fconfig_8865',['SOL_CONFIG',['../soc_8h.html#abc8cb94624da1c70e1a77ad3d0a2676d',1,'soc.h']]], + ['sound_5fchannel_8866',['SOUND_CHANNEL',['../csnd_8h.html#a44625628a2c8fa9807122b8ecab52363',1,'csnd.h']]], + ['sound_5fformat_8867',['SOUND_FORMAT',['../csnd_8h.html#a1fd66ef4e1b7feffca7809a6676709ce',1,'csnd.h']]], + ['sound_5floopmode_8868',['SOUND_LOOPMODE',['../csnd_8h.html#a442ef58a644a78ba09d405be50946664',1,'csnd.h']]], + ['svc_5fstop_5fpoint_8869',['SVC_STOP_POINT',['../svc_8h.html#ada2d7dbdeeb091dc83e76117eeb5ae1f',1,'svc.h']]], + ['swkbd_5fmax_5fbutton_5ftext_5flen_8870',['SWKBD_MAX_BUTTON_TEXT_LEN',['../swkbd_8h.html#aaadedc4dededc44c16c56c71da120298',1,'swkbd.h']]], + ['swkbd_5fmax_5fcallback_5fmsg_5flen_8871',['SWKBD_MAX_CALLBACK_MSG_LEN',['../swkbd_8h.html#a151b6133d35cee6517b85dd9a03cc170',1,'swkbd.h']]], + ['swkbd_5fmax_5fhint_5ftext_5flen_8872',['SWKBD_MAX_HINT_TEXT_LEN',['../swkbd_8h.html#a52cbc334c24512e60befe6f7a57f33c4',1,'swkbd.h']]], + ['swkbd_5fmax_5fword_5flen_8873',['SWKBD_MAX_WORD_LEN',['../swkbd_8h.html#af46520bdb45806063c4f63cd7d19adce',1,'swkbd.h']]], + ['sysclock_5farm11_8874',['SYSCLOCK_ARM11',['../os_8h.html#a5f6e9f05fa950bd4fdf60f5bd8586af7',1,'os.h']]], + ['sysclock_5farm11_5flgr1_8875',['SYSCLOCK_ARM11_LGR1',['../os_8h.html#ae3600c385921844a2f11cc3e37bd63c6',1,'os.h']]], + ['sysclock_5farm11_5flgr2_8876',['SYSCLOCK_ARM11_LGR2',['../os_8h.html#a35f086625fd7891e330f89bc1ee260f6',1,'os.h']]], + ['sysclock_5farm9_8877',['SYSCLOCK_ARM9',['../os_8h.html#a1f3b7dd4e5c4f31727c18559e99233b0',1,'os.h']]], + ['sysclock_5fsdmmc_8878',['SYSCLOCK_SDMMC',['../os_8h.html#af2fd339c05f8d8e8e6b96f0b0989d8fa',1,'os.h']]], + ['sysclock_5fsoc_8879',['SYSCLOCK_SOC',['../os_8h.html#a54dfa9664a5032211d512fb04fcd7cac',1,'os.h']]], + ['sysclock_5fsys_8880',['SYSCLOCK_SYS',['../os_8h.html#adcef538e8f16a2abba193c704e87cf96',1,'os.h']]], + ['system_5fversion_8881',['SYSTEM_VERSION',['../os_8h.html#aceac399d08eb60be9497b16a9bc7c287',1,'os.h']]] +]; diff --git a/search/defines_d.html b/search/defines_d.html new file mode 100644 index 000000000..3b6825f76 --- /dev/null +++ b/search/defines_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_d.js b/search/defines_d.js new file mode 100644 index 000000000..71a93726a --- /dev/null +++ b/search/defines_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['touchread_8882',['touchRead',['../hid_8h.html#a3a4e42150dee0df99111c8c08de1a2c7',1,'hid.h']]] +]; diff --git a/search/defines_e.html b/search/defines_e.html new file mode 100644 index 000000000..6c8ef2d15 --- /dev/null +++ b/search/defines_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_e.js b/search/defines_e.js new file mode 100644 index 000000000..ddcec70dd --- /dev/null +++ b/search/defines_e.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['u64_5fmax_8883',['U64_MAX',['../types_8h.html#aaf73a88ad00da5c878558d6dc80b2f5c',1,'types.h']]], + ['uds_5fbroadcast_5fnetworknodeid_8884',['UDS_BROADCAST_NETWORKNODEID',['../uds_8h.html#a0716197ea3205d2c2ad802fd39d64b53',1,'uds.h']]], + ['uds_5fcheck_5fsendto_5ffatalerror_8885',['UDS_CHECK_SENDTO_FATALERROR',['../uds_8h.html#a95b9889070392e10ed0ce8eaa4680148',1,'uds.h']]], + ['uds_5fdataframe_5fmaxsize_8886',['UDS_DATAFRAME_MAXSIZE',['../uds_8h.html#a925d4cb65dc18dace5cfbd4115149a70',1,'uds.h']]], + ['uds_5fdefault_5frecvbufsize_8887',['UDS_DEFAULT_RECVBUFSIZE',['../uds_8h.html#aaa762c12085c0caf4cc3c380621a66b3',1,'uds.h']]], + ['uds_5fhost_5fnetworknodeid_8888',['UDS_HOST_NETWORKNODEID',['../uds_8h.html#a965ac901ed9240377d8fe2e0f223b033',1,'uds.h']]], + ['uds_5fmaxnodes_8889',['UDS_MAXNODES',['../uds_8h.html#af550f39aed337de1ec8f99823c3dc886',1,'uds.h']]] +]; diff --git a/search/defines_f.html b/search/defines_f.html new file mode 100644 index 000000000..993bf747a --- /dev/null +++ b/search/defines_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/defines_f.js b/search/defines_f.js new file mode 100644 index 000000000..ce4c593d5 --- /dev/null +++ b/search/defines_f.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['write_5fdata_5fto_5ffaulting_5fstack_8890',['WRITE_DATA_TO_FAULTING_STACK',['../thread_8h.html#a6bdd0577b7b6ba62b9d04602e70ec7f8',1,'thread.h']]], + ['write_5fdata_5fto_5fhandler_5fstack_8891',['WRITE_DATA_TO_HANDLER_STACK',['../thread_8h.html#a099258b92996e6da2567e3da9b2f1356',1,'thread.h']]] +]; diff --git a/search/enums_0.html b/search/enums_0.html new file mode 100644 index 000000000..141fff57b --- /dev/null +++ b/search/enums_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_0.js b/search/enums_0.js new file mode 100644 index 000000000..909c8f6b7 --- /dev/null +++ b/search/enums_0.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['acsecuritymode_6778',['acSecurityMode',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8e',1,'ac.h']]], + ['am_5fcontentinfoflags_6779',['AM_ContentInfoFlags',['../am_8h.html#a849ed6d290855a42fcb631aafd0543f9',1,'am.h']]], + ['am_5finstallstatus_6780',['AM_InstallStatus',['../am_8h.html#ad08e0e85fd84747c4f0494ec342a2297',1,'am.h']]], + ['apt_5fappletpos_6781',['APT_AppletPos',['../apt_8h.html#a9593943634f18b7678ec5dab635ff605',1,'apt.h']]], + ['apt_5fcommand_6782',['APT_Command',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98',1,'apt.h']]], + ['apt_5fhooktype_6783',['APT_HookType',['../apt_8h.html#a65688ade2995260aadd4ab7539df58a6',1,'apt.h']]], + ['apt_5fqueryreply_6784',['APT_QueryReply',['../apt_8h.html#a0c86495cfcd1fb626efeb9138cb9e622',1,'apt.h']]], + ['apt_5fsignal_6785',['APT_Signal',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873',1,'apt.h']]], + ['arbitrationtype_6786',['ArbitrationType',['../svc_8h.html#a00f5b708129ef172b59197a775b533ec',1,'svc.h']]] +]; diff --git a/search/enums_1.html b/search/enums_1.html new file mode 100644 index 000000000..d29f3b16d --- /dev/null +++ b/search/enums_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_1.js b/search/enums_1.js new file mode 100644 index 000000000..fad1d8904 --- /dev/null +++ b/search/enums_1.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['bossnsdataheaderinfotypes_6787',['bossNsDataHeaderInfoTypes',['../boss_8h.html#a0f6b869f490eafd03cb0eb2c42d1201b',1,'boss.h']]], + ['bossnsdataheaderinfotypesizes_6788',['bossNsDataHeaderInfoTypeSizes',['../boss_8h.html#adfd491a7e4241dc9d3528d026cd54812',1,'boss.h']]], + ['bosstaskstatus_6789',['bossTaskStatus',['../boss_8h.html#a8d1917af6ca0f9217e8c45469c16fa8b',1,'boss.h']]] +]; diff --git a/search/enums_10.html b/search/enums_10.html new file mode 100644 index 000000000..702ab0f29 --- /dev/null +++ b/search/enums_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_10.js b/search/enums_10.js new file mode 100644 index 000000000..ce4b73fda --- /dev/null +++ b/search/enums_10.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['y2ru_5fblockalignment_6936',['Y2RU_BlockAlignment',['../y2r_8h.html#aa7589f9deb9d69ff3067b7a9e100841b',1,'y2r.h']]], + ['y2ru_5finputformat_6937',['Y2RU_InputFormat',['../y2r_8h.html#ab62334088de74eccf13fb1b0c5912ffc',1,'y2r.h']]], + ['y2ru_5foutputformat_6938',['Y2RU_OutputFormat',['../y2r_8h.html#ac49b25aec022b69a1df125f1fb9abd46',1,'y2r.h']]], + ['y2ru_5frotation_6939',['Y2RU_Rotation',['../y2r_8h.html#a007b376798d35d4236c26916d52bbd0e',1,'y2r.h']]], + ['y2ru_5fstandardcoefficient_6940',['Y2RU_StandardCoefficient',['../y2r_8h.html#a4d268580b18b07f348fe7ee8c72fac31',1,'y2r.h']]] +]; diff --git a/search/enums_2.html b/search/enums_2.html new file mode 100644 index 000000000..59aadf2cb --- /dev/null +++ b/search/enums_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_2.js b/search/enums_2.js new file mode 100644 index 000000000..bb7f38534 --- /dev/null +++ b/search/enums_2.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['camu_5fcontext_6790',['CAMU_Context',['../cam_8h.html#a67d15fdc4b48f745530df1f27f3d5255',1,'cam.h']]], + ['camu_5fcontrast_6791',['CAMU_Contrast',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072a',1,'cam.h']]], + ['camu_5feffect_6792',['CAMU_Effect',['../cam_8h.html#a7e400ffb69486cc57f317d94eca445bf',1,'cam.h']]], + ['camu_5fflip_6793',['CAMU_Flip',['../cam_8h.html#a1cbc2ccd7803b8b7ff4f23446b94030e',1,'cam.h']]], + ['camu_5fframerate_6794',['CAMU_FrameRate',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688',1,'cam.h']]], + ['camu_5flenscorrection_6795',['CAMU_LensCorrection',['../cam_8h.html#a495e5c707772c7bfb891444bc4970a49',1,'cam.h']]], + ['camu_5foutputformat_6796',['CAMU_OutputFormat',['../cam_8h.html#a3984303a5065c81cd8a565489c8fff85',1,'cam.h']]], + ['camu_5fphotomode_6797',['CAMU_PhotoMode',['../cam_8h.html#ac14ae4089f708477afcc56dad7762a8a',1,'cam.h']]], + ['camu_5fshuttersoundtype_6798',['CAMU_ShutterSoundType',['../cam_8h.html#a5059b91f27e994c2f4ef4a6c9d454675',1,'cam.h']]], + ['camu_5fsize_6799',['CAMU_Size',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895a',1,'cam.h']]], + ['camu_5fwhitebalance_6800',['CAMU_WhiteBalance',['../cam_8h.html#a5d3bf5af790ab2c2bbbfedf46d756c53',1,'cam.h']]], + ['cfg_5flanguage_6801',['CFG_Language',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987',1,'cfgu.h']]], + ['cfg_5fregion_6802',['CFG_Region',['../cfgu_8h.html#ac4de11c312084202d4b7a8fe791f4d2e',1,'cfgu.h']]], + ['cfg_5fsystemmodel_6803',['CFG_SystemModel',['../cfgu_8h.html#aa4975dc0dcd8fee9fd825ef12b268aed',1,'cfgu.h']]], + ['codeci2sline_6804',['CodecI2sLine',['../cdcchk_8h.html#acc55325867b86cf82d6b299496de7768',1,'cdcchk.h']]], + ['csnd_5fdutycycle_6805',['CSND_DutyCycle',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473b',1,'csnd.h']]] +]; diff --git a/search/enums_3.html b/search/enums_3.html new file mode 100644 index 000000000..87c174430 --- /dev/null +++ b/search/enums_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_3.js b/search/enums_3.js new file mode 100644 index 000000000..ada8c2ac6 --- /dev/null +++ b/search/enums_3.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['debugdevice_6806',['debugDevice',['../console_8h.html#ab80a9da3fec1fbf425035eeaa9b51c28',1,'console.h']]], + ['debugeventtype_6807',['DebugEventType',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754',1,'svc.h']]], + ['debugflags_6808',['DebugFlags',['../svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10',1,'svc.h']]], + ['debugthreadparameter_6809',['DebugThreadParameter',['../svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2',1,'svc.h']]], + ['decompresstype_6810',['decompressType',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47',1,'decompress.h']]], + ['dmastate_6811',['DmaState',['../svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebf',1,'svc.h']]], + ['dsp_5fhooktype_6812',['DSP_HookType',['../dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149',1,'dsp.h']]], + ['dsp_5finterrupttype_6813',['DSP_InterruptType',['../dsp_8h.html#ab0628a987bd913080b9aaf672737061e',1,'dsp.h']]], + ['dvle_5fconstanttype_6814',['DVLE_constantType',['../shbin_8h.html#a20873c765b1c44b7c07cfef62ff2cf09',1,'shbin.h']]], + ['dvle_5fgeoshadermode_6815',['DVLE_geoShaderMode',['../shbin_8h.html#ab6f0a4e64f7ec402eef735474591e21e',1,'shbin.h']]], + ['dvle_5foutputattribute_5ft_6816',['DVLE_outputAttribute_t',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457c',1,'shbin.h']]], + ['dvle_5ftype_6817',['DVLE_type',['../shbin_8h.html#aa9cc048117db5beffa628f10cad82c4c',1,'shbin.h']]] +]; diff --git a/search/enums_4.html b/search/enums_4.html new file mode 100644 index 000000000..90dda139c --- /dev/null +++ b/search/enums_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_4.js b/search/enums_4.js new file mode 100644 index 000000000..31b748daf --- /dev/null +++ b/search/enums_4.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['errf_5ferrtype_6818',['ERRF_ErrType',['../errf_8h.html#a61a0c7d3c30f1082f5ca26644873e9f1',1,'errf.h']]], + ['errf_5fexceptiontype_6819',['ERRF_ExceptionType',['../errf_8h.html#a8b4fd015c0f15a8c060a4dcd4d385fb4',1,'errf.h']]], + ['errortype_6820',['errorType',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffd',1,'error.h']]], + ['exceptioneventtype_6821',['ExceptionEventType',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961',1,'svc.h']]], + ['exitprocesseventreason_6822',['ExitProcessEventReason',['../svc_8h.html#a2e62624dcd35d5795b6f1c99933c576f',1,'svc.h']]], + ['exitthreadeventreason_6823',['ExitThreadEventReason',['../svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9',1,'svc.h']]] +]; diff --git a/search/enums_5.html b/search/enums_5.html new file mode 100644 index 000000000..c57b88590 --- /dev/null +++ b/search/enums_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_5.js b/search/enums_5.js new file mode 100644 index 000000000..d72f4ce5f --- /dev/null +++ b/search/enums_5.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['fs_5faction_6824',['FS_Action',['../fs_8h.html#a49b39ca3e02c247709fececda4bbd56d',1,'fs.h']]], + ['fs_5farchiveaction_6825',['FS_ArchiveAction',['../fs_8h.html#ac3958094a809b4f036fa86e981e99352',1,'fs.h']]], + ['fs_5farchiveid_6826',['FS_ArchiveID',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803',1,'fs.h']]], + ['fs_5fcardspibaudrate_6827',['FS_CardSpiBaudRate',['../fs_8h.html#ae98658510bcc2292b74f97db91f78fe0',1,'fs.h']]], + ['fs_5fcardspibusmode_6828',['FS_CardSpiBusMode',['../fs_8h.html#a7354fc838f4b9c704685453576e41cad',1,'fs.h']]], + ['fs_5fcardtype_6829',['FS_CardType',['../fs_8h.html#ab06968444dcba08b02ed34b6db2ad5b5',1,'fs.h']]], + ['fs_5fdirectoryaction_6830',['FS_DirectoryAction',['../fs_8h.html#a4d4c6f9df0e609a0eab424c0a5748f06',1,'fs.h']]], + ['fs_5ffileaction_6831',['FS_FileAction',['../fs_8h.html#aa0cb2825503b2295a964aaaa9e348b0f',1,'fs.h']]], + ['fs_5fmediatype_6832',['FS_MediaType',['../fs_8h.html#a3526d37c529b39a862b9b7371a53e137',1,'fs.h']]], + ['fs_5fpathtype_6833',['FS_PathType',['../fs_8h.html#a2ac939166d53f34606e046ade4c937ab',1,'fs.h']]], + ['fs_5fsecuresaveaction_6834',['FS_SecureSaveAction',['../fs_8h.html#ad89293d2e11fd68de534aa0fca4f0fb2',1,'fs.h']]], + ['fs_5fsecurevalueslot_6835',['FS_SecureValueSlot',['../fs_8h.html#a906e781f277e459a15a95b1e760f3411',1,'fs.h']]], + ['fs_5fspecialcontenttype_6836',['FS_SpecialContentType',['../fs_8h.html#ae39b89424d688ec1e77986fe0f89fcce',1,'fs.h']]], + ['fs_5fsystemmediatype_6837',['FS_SystemMediaType',['../fs_8h.html#acdbf253270893656d28d7c35d7b7070c',1,'fs.h']]] +]; diff --git a/search/enums_6.html b/search/enums_6.html new file mode 100644 index 000000000..ea5e0a682 --- /dev/null +++ b/search/enums_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_6.js b/search/enums_6.js new file mode 100644 index 000000000..79fd21c4e --- /dev/null +++ b/search/enums_6.js @@ -0,0 +1,51 @@ +var searchData= +[ + ['gfx3dside_5ft_6838',['gfx3dSide_t',['../gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03',1,'gfx.h']]], + ['gfxscreen_5ft_6839',['gfxScreen_t',['../gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09c',1,'gfx.h']]], + ['gpu_5fblendequation_6840',['GPU_BLENDEQUATION',['../enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5',1,'enums.h']]], + ['gpu_5fblendfactor_6841',['GPU_BLENDFACTOR',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1',1,'enums.h']]], + ['gpu_5fbumpmode_6842',['GPU_BUMPMODE',['../enums_8h.html#a588ef2d1e18ac7aa814fc4d622213ca1',1,'enums.h']]], + ['gpu_5fcolorbuf_6843',['GPU_COLORBUF',['../enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7a',1,'enums.h']]], + ['gpu_5fcombinefunc_6844',['GPU_COMBINEFUNC',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0',1,'enums.h']]], + ['gpu_5fcullmode_6845',['GPU_CULLMODE',['../enums_8h.html#aded31eec5d2f72ea5c6141f24d8a0174',1,'enums.h']]], + ['gpu_5fdepthbuf_6846',['GPU_DEPTHBUF',['../enums_8h.html#a9b40a4b2feaec1dc4a843a908f613a3e',1,'enums.h']]], + ['gpu_5fearlydepthfunc_6847',['GPU_EARLYDEPTHFUNC',['../enums_8h.html#a92e680b4a2dac313ccd2bc5bae51b703',1,'enums.h']]], + ['gpu_5ffogmode_6848',['GPU_FOGMODE',['../enums_8h.html#a1f70bba2c275f4e43e9126e5017cc982',1,'enums.h']]], + ['gpu_5fformats_6849',['GPU_FORMATS',['../enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634',1,'enums.h']]], + ['gpu_5ffragopmode_6850',['GPU_FRAGOPMODE',['../enums_8h.html#aa788d68d2e927a5710842e69b81a588d',1,'enums.h']]], + ['gpu_5ffresnelsel_6851',['GPU_FRESNELSEL',['../enums_8h.html#a15f838c1ce92123135c7cb4cf409c745',1,'enums.h']]], + ['gpu_5fgasdepthfunc_6852',['GPU_GASDEPTHFUNC',['../enums_8h.html#a82e5ec9eedb73d135af89102d50f7574',1,'enums.h']]], + ['gpu_5fgaslutinput_6853',['GPU_GASLUTINPUT',['../enums_8h.html#adb1be3a2d383032545509998c88ac649',1,'enums.h']]], + ['gpu_5fgasmode_6854',['GPU_GASMODE',['../enums_8h.html#acc2d65787e8cddd99f2e65dd3168e388',1,'enums.h']]], + ['gpu_5flightlutid_6855',['GPU_LIGHTLUTID',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2',1,'enums.h']]], + ['gpu_5flightlutinput_6856',['GPU_LIGHTLUTINPUT',['../enums_8h.html#ac63e58430371c6fef616284076c22f90',1,'enums.h']]], + ['gpu_5flightlutscaler_6857',['GPU_LIGHTLUTSCALER',['../enums_8h.html#af61f31c26ebc63bbaf2794d42a199df4',1,'enums.h']]], + ['gpu_5flightlutselect_6858',['GPU_LIGHTLUTSELECT',['../enums_8h.html#ad7023555a35d21727eff58ae264498d1',1,'enums.h']]], + ['gpu_5flogicop_6859',['GPU_LOGICOP',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1f',1,'enums.h']]], + ['gpu_5fprimitive_5ft_6860',['GPU_Primitive_t',['../enums_8h.html#a94bdee50fa003d70dd3888f347397806',1,'enums.h']]], + ['gpu_5fproctex_5fclamp_6861',['GPU_PROCTEX_CLAMP',['../enums_8h.html#ac7003b201f809461614b0be43c7f1cb7',1,'enums.h']]], + ['gpu_5fproctex_5ffilter_6862',['GPU_PROCTEX_FILTER',['../enums_8h.html#a430c590536a256d9db4a6b8ab5abc133',1,'enums.h']]], + ['gpu_5fproctex_5flutid_6863',['GPU_PROCTEX_LUTID',['../enums_8h.html#ab864ff9d46955c2f61539b23688c99aa',1,'enums.h']]], + ['gpu_5fproctex_5fmapfunc_6864',['GPU_PROCTEX_MAPFUNC',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7',1,'enums.h']]], + ['gpu_5fproctex_5fshift_6865',['GPU_PROCTEX_SHIFT',['../enums_8h.html#a7aef13dcdf16a383d3931fe46a69eb78',1,'enums.h']]], + ['gpu_5fscissormode_6866',['GPU_SCISSORMODE',['../enums_8h.html#a3ba8ed980a4a9da6170a5fdfaad86808',1,'enums.h']]], + ['gpu_5fshader_5ftype_6867',['GPU_SHADER_TYPE',['../enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5',1,'enums.h']]], + ['gpu_5fstencilop_6868',['GPU_STENCILOP',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1',1,'enums.h']]], + ['gpu_5ftestfunc_6869',['GPU_TESTFUNC',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618',1,'enums.h']]], + ['gpu_5ftevop_5fa_6870',['GPU_TEVOP_A',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42',1,'enums.h']]], + ['gpu_5ftevop_5frgb_6871',['GPU_TEVOP_RGB',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80f',1,'enums.h']]], + ['gpu_5ftevscale_6872',['GPU_TEVSCALE',['../enums_8h.html#a08411ce4cfbf061b9f0aa1cf00890d65',1,'enums.h']]], + ['gpu_5ftevsrc_6873',['GPU_TEVSRC',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0',1,'enums.h']]], + ['gpu_5ftexcolor_6874',['GPU_TEXCOLOR',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99f',1,'enums.h']]], + ['gpu_5ftexface_6875',['GPU_TEXFACE',['../enums_8h.html#a2fac8fe6dd845ff19a9fc758c0aa8332',1,'enums.h']]], + ['gpu_5ftexture_5ffilter_5fparam_6876',['GPU_TEXTURE_FILTER_PARAM',['../enums_8h.html#a2c76780b7ff5d323daf30ea310fbc8c4',1,'enums.h']]], + ['gpu_5ftexture_5fmode_5fparam_6877',['GPU_TEXTURE_MODE_PARAM',['../enums_8h.html#a5d14598061a96db4f06bf8316156a1bb',1,'enums.h']]], + ['gpu_5ftexture_5fwrap_5fparam_6878',['GPU_TEXTURE_WRAP_PARAM',['../enums_8h.html#aca018b509809231470e5e3c3e907261d',1,'enums.h']]], + ['gpu_5ftexunit_6879',['GPU_TEXUNIT',['../enums_8h.html#a541188a9d9f32ee0f5c74b2742908cf5',1,'enums.h']]], + ['gpu_5fwritemask_6880',['GPU_WRITEMASK',['../enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3',1,'enums.h']]], + ['gspgpu_5fevent_6881',['GSPGPU_Event',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cb',1,'gspgpu.h']]], + ['gspgpu_5fframebufferformat_6882',['GSPGPU_FramebufferFormat',['../gspgpu_8h.html#ade9eea08a2ad835b9c5d0f7a9164f36b',1,'gspgpu.h']]], + ['gx_5ffill_5fcontrol_6883',['GX_FILL_CONTROL',['../gx_8h.html#af2a0de60baddb7fc1528a62e4e555273',1,'gx.h']]], + ['gx_5ftransfer_5fformat_6884',['GX_TRANSFER_FORMAT',['../gx_8h.html#aca790f0cdfea04833518556b8a1682f3',1,'gx.h']]], + ['gx_5ftransfer_5fscale_6885',['GX_TRANSFER_SCALE',['../gx_8h.html#a248b09e90905d8c0622fdfee77880aba',1,'gx.h']]] +]; diff --git a/search/enums_7.html b/search/enums_7.html new file mode 100644 index 000000000..d18087574 --- /dev/null +++ b/search/enums_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_7.js b/search/enums_7.js new file mode 100644 index 000000000..8d97fbfa2 --- /dev/null +++ b/search/enums_7.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['hid_5fevent_6886',['HID_Event',['../hid_8h.html#aa6eff5e15e98cebd0012c1f2ae96cc78',1,'hid.h']]], + ['httpc_5fkeepalive_6887',['HTTPC_KeepAlive',['../httpc_8h.html#a745527cd864f2240d767d85b8479a6bd',1,'httpc.h']]], + ['httpc_5frequestmethod_6888',['HTTPC_RequestMethod',['../httpc_8h.html#a8d04e9f19b82970a3260b6f361c079dd',1,'httpc.h']]], + ['httpc_5frequeststatus_6889',['HTTPC_RequestStatus',['../httpc_8h.html#acf1d4f75e50ea1f3d391d4260f91d64d',1,'httpc.h']]] +]; diff --git a/search/enums_8.html b/search/enums_8.html new file mode 100644 index 000000000..71aad59ed --- /dev/null +++ b/search/enums_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_8.js b/search/enums_8.js new file mode 100644 index 000000000..71875176b --- /dev/null +++ b/search/enums_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ipc_5fbufferrights_6890',['IPC_BufferRights',['../ipc_8h.html#ae0ccf9e363a4bd3b070762b57ffc8783',1,'ipc.h']]] +]; diff --git a/search/enums_9.html b/search/enums_9.html new file mode 100644 index 000000000..22c3d51d5 --- /dev/null +++ b/search/enums_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_9.js b/search/enums_9.js new file mode 100644 index 000000000..63bf84e63 --- /dev/null +++ b/search/enums_9.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['memop_6891',['MemOp',['../svc_8h.html#a754721841a571940880975d2191f3e0f',1,'svc.h']]], + ['memperm_6892',['MemPerm',['../svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8',1,'svc.h']]], + ['memregion_6893',['MemRegion',['../svc_8h.html#ac4f63d4e584005af063b41bc55bb92eb',1,'svc.h']]], + ['memstate_6894',['MemState',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7',1,'svc.h']]], + ['micu_5fencoding_6895',['MICU_Encoding',['../mic_8h.html#a3ead458d1aabf74550446b463b4fb54f',1,'mic.h']]], + ['micu_5fsamplerate_6896',['MICU_SampleRate',['../mic_8h.html#ae126d52922918356ed810bcc398ad62b',1,'mic.h']]], + ['mvdstd_5finputformat_6897',['MVDSTD_InputFormat',['../mvd_8h.html#abcd3d62338d21a3b7d26bd96fd850f29',1,'mvd.h']]], + ['mvdstd_5fmode_6898',['MVDSTD_Mode',['../mvd_8h.html#a3a1b3742822153a4f62c1f79d228a861',1,'mvd.h']]], + ['mvdstd_5foutputformat_6899',['MVDSTD_OutputFormat',['../mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644',1,'mvd.h']]] +]; diff --git a/search/enums_a.html b/search/enums_a.html new file mode 100644 index 000000000..ca3b60e26 --- /dev/null +++ b/search/enums_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_a.js b/search/enums_a.js new file mode 100644 index 000000000..a5ecb4f44 --- /dev/null +++ b/search/enums_a.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['ndmdaemonmask_6900',['ndmDaemonMask',['../ndm_8h.html#a157ae107f2a89d5bc1e7df963807affc',1,'ndm.h']]], + ['ndmexclusivestate_6901',['ndmExclusiveState',['../ndm_8h.html#ac449fc980e0f697f0b8757312e478b05',1,'ndm.h']]], + ['ndmstate_6902',['ndmState',['../ndm_8h.html#a28030aff40d77f43a6cc48a37246a53f',1,'ndm.h']]], + ['ndspclippingmode_6903',['ndspClippingMode',['../ndsp_8h.html#a256d7e48bf7174660fc538ac396b9b19',1,'ndsp.h']]], + ['ndspinterptype_6904',['ndspInterpType',['../channel_8h.html#a6319005cb21b18395a1452e95aabbec3',1,'channel.h']]], + ['ndspoutputmode_6905',['ndspOutputMode',['../ndsp_8h.html#aa9cfcfee3c85f67dadf1091b9b8bdcfd',1,'ndsp.h']]], + ['ndspspeakerpos_6906',['ndspSpeakerPos',['../ndsp_8h.html#aaa155e6e3bd6e21c43a7bbf7466f26d4',1,'ndsp.h']]], + ['networkopt_6907',['NetworkOpt',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195b',1,'soc.h']]], + ['nfc_5foptype_6908',['NFC_OpType',['../nfc_8h.html#a9eece04c91681b888fb1fa0744944cd7',1,'nfc.h']]], + ['nfc_5ftagstate_6909',['NFC_TagState',['../nfc_8h.html#a69a16164e08b77836ef1bc9482f16d48',1,'nfc.h']]], + ['nim_5fdownloadstate_6910',['NIM_DownloadState',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99',1,'nim.h']]], + ['nim_5finstallationmode_6911',['NIM_InstallationMode',['../nim_8h.html#afe2032f64d1715e952d818170fc1d8e8',1,'nim.h']]], + ['notificationtypes_6912',['NotificationTypes',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210ce',1,'frd.h']]], + ['ns_5fappid_6913',['NS_APPID',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867',1,'apt.h']]] +]; diff --git a/search/enums_b.html b/search/enums_b.html new file mode 100644 index 000000000..e85817bad --- /dev/null +++ b/search/enums_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_b.js b/search/enums_b.js new file mode 100644 index 000000000..4a92b07d8 --- /dev/null +++ b/search/enums_b.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['perfcounterevent_6914',['PerfCounterEvent',['../svc_8h.html#a6604864f5e881a7ec7ad67737b936db2',1,'svc.h']]], + ['perfcounteroperation_6915',['PerfCounterOperation',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084',1,'svc.h']]], + ['perfcounterregister_6916',['PerfCounterRegister',['../svc_8h.html#af19b39931820deecca7704fe82695c25',1,'svc.h']]], + ['powerledstate_6917',['powerLedState',['../mcuhwc_8h.html#a4d0ecf130d757d1097b02791affd59f3',1,'mcuhwc.h']]], + ['ps_5faesalgorithm_6918',['PS_AESAlgorithm',['../ps_8h.html#ab10858511e98add85a2b5ec56feb0287',1,'ps.h']]], + ['ps_5faeskeytype_6919',['PS_AESKeyType',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8',1,'ps.h']]], + ['pxidev_5fdeasserttype_6920',['PXIDEV_DeassertType',['../pxidev_8h.html#a4692731299afc422de8e2c7956636ebe',1,'pxidev.h']]], + ['pxidev_5fwaittype_6921',['PXIDEV_WaitType',['../pxidev_8h.html#a987e6b1d64faec3c5d859a4aaeba28d0',1,'pxidev.h']]] +]; diff --git a/search/enums_c.html b/search/enums_c.html new file mode 100644 index 000000000..2228acf1c --- /dev/null +++ b/search/enums_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_c.js b/search/enums_c.js new file mode 100644 index 000000000..b842c528c --- /dev/null +++ b/search/enums_c.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['resettype_6922',['ResetType',['../svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdf',1,'svc.h']]], + ['resourcelimitcategory_6923',['ResourceLimitCategory',['../exheader_8h.html#a25547bc5f736c5989f48d33a546dcea6',1,'exheader.h']]], + ['resourcelimittype_6924',['ResourceLimitType',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780a',1,'svc.h']]] +]; diff --git a/search/enums_d.html b/search/enums_d.html new file mode 100644 index 000000000..e6cbbbad1 --- /dev/null +++ b/search/enums_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_d.js b/search/enums_d.js new file mode 100644 index 000000000..967f31964 --- /dev/null +++ b/search/enums_d.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['stoppointtype_6925',['StopPointType',['../svc_8h.html#a41645e97dc3a37acd97b0f0f13be76e9',1,'svc.h']]], + ['swkbdbutton_6926',['SwkbdButton',['../swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29c',1,'swkbd.h']]], + ['swkbdcallbackresult_6927',['SwkbdCallbackResult',['../swkbd_8h.html#a12d91ff65b198511e8d26960577d2c7a',1,'swkbd.h']]], + ['swkbdpasswordmode_6928',['SwkbdPasswordMode',['../swkbd_8h.html#a7dddf239d1add2f4a68d79ca0e64c1b9',1,'swkbd.h']]], + ['swkbdresult_6929',['SwkbdResult',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93',1,'swkbd.h']]], + ['swkbdtype_6930',['SwkbdType',['../swkbd_8h.html#ad88d214560b9bbaf1391cc7013ab4387',1,'swkbd.h']]], + ['swkbdvalidinput_6931',['SwkbdValidInput',['../swkbd_8h.html#a9c2863f4e484d07ba6be8fdf84bb96a1',1,'swkbd.h']]], + ['systemmode_6932',['SystemMode',['../exheader_8h.html#a3456fcc306743731aa6560a59c3e25bb',1,'exheader.h']]] +]; diff --git a/search/enums_e.html b/search/enums_e.html new file mode 100644 index 000000000..9f0c37beb --- /dev/null +++ b/search/enums_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_e.js b/search/enums_e.js new file mode 100644 index 000000000..fff44f90b --- /dev/null +++ b/search/enums_e.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['threadcontextcontrolflags_6933',['ThreadContextControlFlags',['../svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742',1,'svc.h']]], + ['threadinfotype_6934',['ThreadInfoType',['../svc_8h.html#a112aee8cca0c18b91f98d39db55c4807',1,'svc.h']]] +]; diff --git a/search/enums_f.html b/search/enums_f.html new file mode 100644 index 000000000..b96aac6c5 --- /dev/null +++ b/search/enums_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_f.js b/search/enums_f.js new file mode 100644 index 000000000..f6561a2c1 --- /dev/null +++ b/search/enums_f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['userbreaktype_6935',['UserBreakType',['../svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12',1,'svc.h']]] +]; diff --git a/search/enumvalues_0.html b/search/enumvalues_0.html new file mode 100644 index 000000000..0d131d95b --- /dev/null +++ b/search/enumvalues_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_0.js b/search/enumvalues_0.js new file mode 100644 index 000000000..674eb5123 --- /dev/null +++ b/search/enumvalues_0.js @@ -0,0 +1,124 @@ +var searchData= +[ + ['ac_5fopen_6941',['AC_OPEN',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8eaaf75c25d420c2cf9f34767f1aaa27d31',1,'ac.h']]], + ['ac_5fwep_5f104bit_6942',['AC_WEP_104BIT',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8eae63b160691480c1a3d5cb100a4f6b9f7',1,'ac.h']]], + ['ac_5fwep_5f128bit_6943',['AC_WEP_128BIT',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8ea7209dcef89414d6703f1293aab766b52',1,'ac.h']]], + ['ac_5fwep_5f40bit_6944',['AC_WEP_40BIT',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8eaf7917052343f67b837a1e3dbae61ba02',1,'ac.h']]], + ['ac_5fwpa2_5faes_6945',['AC_WPA2_AES',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8ea18646b27bb7afd7c8a67bd9a30a18449',1,'ac.h']]], + ['ac_5fwpa2_5ftkip_6946',['AC_WPA2_TKIP',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8ea749e043fb4dfac6877f54112ec08bf4e',1,'ac.h']]], + ['ac_5fwpa_5faes_6947',['AC_WPA_AES',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8ea6b17fbf7c0f2e2d1c95ee07de0066873',1,'ac.h']]], + ['ac_5fwpa_5ftkip_6948',['AC_WPA_TKIP',['../ac_8h.html#a9d5d02580b7853b71335287c6bdb7a8ea144356f8aba5b9193a2dc3efdf517896',1,'ac.h']]], + ['am_5fcontent_5fdownloaded_6949',['AM_CONTENT_DOWNLOADED',['../am_8h.html#a849ed6d290855a42fcb631aafd0543f9a44a197e4447a70d4c9dc62966f97b425',1,'am.h']]], + ['am_5fcontent_5fowned_6950',['AM_CONTENT_OWNED',['../am_8h.html#a849ed6d290855a42fcb631aafd0543f9a4635253c6bd4c24ab4bf189cb7b26d00',1,'am.h']]], + ['am_5fdelete_5fpending_5fnon_5fsystem_6951',['AM_DELETE_PENDING_NON_SYSTEM',['../am_8h.html#a84627a72058502328269676b81780f89afbebba2c1332ef434ecb8f130eda8c77',1,'am.h']]], + ['am_5fdelete_5fpending_5fsystem_6952',['AM_DELETE_PENDING_SYSTEM',['../am_8h.html#a84627a72058502328269676b81780f89ab011acd76ab87c7deb26ae057b8a32ba',1,'am.h']]], + ['am_5fstatus_5faborted_6953',['AM_STATUS_ABORTED',['../am_8h.html#ad08e0e85fd84747c4f0494ec342a2297ae8c008fbcadfa942abaaeed9ac956d9d',1,'am.h']]], + ['am_5fstatus_5fawaiting_5ffinalization_6954',['AM_STATUS_AWAITING_FINALIZATION',['../am_8h.html#ad08e0e85fd84747c4f0494ec342a2297a1e6f25470d821241a4a492bc5a6364e2',1,'am.h']]], + ['am_5fstatus_5finstall_5fin_5fprogress_6955',['AM_STATUS_INSTALL_IN_PROGRESS',['../am_8h.html#ad08e0e85fd84747c4f0494ec342a2297af9d2a6421a1e0f2387e863158eb4403e',1,'am.h']]], + ['am_5fstatus_5fmask_5fawaiting_5ffinalization_6956',['AM_STATUS_MASK_AWAITING_FINALIZATION',['../am_8h.html#a1fb9092bcdeada2d206bdc74afbbe122a613bdea6a05c208de0ef424d2010ff03',1,'am.h']]], + ['am_5fstatus_5fmask_5finstalling_6957',['AM_STATUS_MASK_INSTALLING',['../am_8h.html#a1fb9092bcdeada2d206bdc74afbbe122a0d762c7cbb70351b96aa7b2f5c3a63f2',1,'am.h']]], + ['am_5fstatus_5fsaved_6958',['AM_STATUS_SAVED',['../am_8h.html#ad08e0e85fd84747c4f0494ec342a2297ac0a6fbc2498ba7d6cfbe8f6c28716fb4',1,'am.h']]], + ['appid_5famiibo_5fsettings_6959',['APPID_AMIIBO_SETTINGS',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a4ef448d27710631a82b64e46de9a1a15',1,'apt.h']]], + ['appid_5fappleted_6960',['APPID_APPLETED',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a3e2137770c1124d177b66a5782359372',1,'apt.h']]], + ['appid_5fapplication_6961',['APPID_APPLICATION',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a260f2cb2e29d19f8cd84aa697b1caa13',1,'apt.h']]], + ['appid_5fcamera_6962',['APPID_CAMERA',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a87b7c295b2b641f99a0575b75158588d',1,'apt.h']]], + ['appid_5ferror_6963',['APPID_ERROR',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867ae0bf4eb0ea9ca71a5a638103db329b5f',1,'apt.h']]], + ['appid_5feshop_6964',['APPID_ESHOP',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867ac41e966590cd3025fc3b640911e21ef1',1,'apt.h']]], + ['appid_5fextrapad_6965',['APPID_EXTRAPAD',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a2d87855eb66c1fe1b1548efc3b3679ab',1,'apt.h']]], + ['appid_5ffriends_5flist_6966',['APPID_FRIENDS_LIST',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a90342df4a473f4f863bf6579de5d5da1',1,'apt.h']]], + ['appid_5fgame_5fnotes_6967',['APPID_GAME_NOTES',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867ad0474ca4114b58b35412ed2d4b47e568',1,'apt.h']]], + ['appid_5fhomemenu_6968',['APPID_HOMEMENU',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a8f37528864cd8f92fda4cfe47683fbc0',1,'apt.h']]], + ['appid_5finstruction_5fmanual_6969',['APPID_INSTRUCTION_MANUAL',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a01396b5773be96d22c1eed608fb6f445',1,'apt.h']]], + ['appid_5fmemolib_6970',['APPID_MEMOLIB',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a5fbb4942d8f6db49a8888fc1f8b9cc0c',1,'apt.h']]], + ['appid_5fmiiverse_6971',['APPID_MIIVERSE',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a3b79a475a545d9cf0590ecee5377562d',1,'apt.h']]], + ['appid_5fmiiverse_5fposting_6972',['APPID_MIIVERSE_POSTING',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a0efd9e13f5bbc4af83b3a456a120d6e5',1,'apt.h']]], + ['appid_5fmint_6973',['APPID_MINT',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867ab568d9496ed24b47b99ce5e2b243a669',1,'apt.h']]], + ['appid_5fnotifications_6974',['APPID_NOTIFICATIONS',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867aa109ff5c86fb8397ba9c228633e3ec52',1,'apt.h']]], + ['appid_5fpnote_5fap_6975',['APPID_PNOTE_AP',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a0770880454dc111c42f7c2e2538a5c44',1,'apt.h']]], + ['appid_5fsnote_5fap_6976',['APPID_SNOTE_AP',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867acbdb6b2cd70fa978172a3598fad63a9d',1,'apt.h']]], + ['appid_5fsoftware_5fkeyboard_6977',['APPID_SOFTWARE_KEYBOARD',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a97db91b5a638760fa79f1303cc229fd6',1,'apt.h']]], + ['appid_5fweb_6978',['APPID_WEB',['../apt_8h.html#a932c939a3c27fefb8eadfd97704f8867a012c2e84072c16e1c9b6507a667dedd2',1,'apt.h']]], + ['aptcmd_5fdsp_5fsleep_6979',['APTCMD_DSP_SLEEP',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98abf92d20842377e320af3600c988214ba',1,'apt.h']]], + ['aptcmd_5fdsp_5fwakeup_6980',['APTCMD_DSP_WAKEUP',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a60799b8b19f407a933f011c866080177',1,'apt.h']]], + ['aptcmd_5fexit_6981',['APTCMD_EXIT',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98aed556f2642b7fbb365e40f87fb9eeffe',1,'apt.h']]], + ['aptcmd_5fhomebutton_5fonce_6982',['APTCMD_HOMEBUTTON_ONCE',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98ad6adf059866d4fb59b64228a4c4e2b66',1,'apt.h']]], + ['aptcmd_5fhomebutton_5ftwice_6983',['APTCMD_HOMEBUTTON_TWICE',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98aa1577c79c042852dddf9f92ef0c52189',1,'apt.h']]], + ['aptcmd_5fmessage_6984',['APTCMD_MESSAGE',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a13c0d5dff50a550511757236fa98971f',1,'apt.h']]], + ['aptcmd_5fnone_6985',['APTCMD_NONE',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a4828d70ecbf7985d44cd63de6431acf0',1,'apt.h']]], + ['aptcmd_5frequest_6986',['APTCMD_REQUEST',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98ad7861a838f4deee180c2dbc55e7aec68',1,'apt.h']]], + ['aptcmd_5fresponse_6987',['APTCMD_RESPONSE',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a5ec2e2a17f83ac6e130d8d6a15ba6f08',1,'apt.h']]], + ['aptcmd_5fsysapplet_5frequest_6988',['APTCMD_SYSAPPLET_REQUEST',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a1439e48aa862f1ce6291048671e62394',1,'apt.h']]], + ['aptcmd_5fwakeup_6989',['APTCMD_WAKEUP',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a6f0b299aa97c2b50152d97fd7dea7312',1,'apt.h']]], + ['aptcmd_5fwakeup_5fcancel_6990',['APTCMD_WAKEUP_CANCEL',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a060497755405133e686228db3b06d160',1,'apt.h']]], + ['aptcmd_5fwakeup_5fcancelall_6991',['APTCMD_WAKEUP_CANCELALL',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98ae9358e35be3c5ad8a819bde43617f714',1,'apt.h']]], + ['aptcmd_5fwakeup_5fexit_6992',['APTCMD_WAKEUP_EXIT',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a06af48051928930b73dccc4c1b65bba5',1,'apt.h']]], + ['aptcmd_5fwakeup_5fjumptohome_6993',['APTCMD_WAKEUP_JUMPTOHOME',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a4d6812d6d3b54ae24281701bd07d0245',1,'apt.h']]], + ['aptcmd_5fwakeup_5flaunchapp_6994',['APTCMD_WAKEUP_LAUNCHAPP',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98ae5722f8f2e3793dcd0545036db78b7a8',1,'apt.h']]], + ['aptcmd_5fwakeup_5fpause_6995',['APTCMD_WAKEUP_PAUSE',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98abfb2f5fc31f8c850c77ffbd5e544579a',1,'apt.h']]], + ['aptcmd_5fwakeup_5fpowerbutton_6996',['APTCMD_WAKEUP_POWERBUTTON',['../apt_8h.html#a8542622c76d76df7e17b1a1b05033d98a39a88a412587a5b98fb7e7ed84766b94',1,'apt.h']]], + ['apthook_5fcount_6997',['APTHOOK_COUNT',['../apt_8h.html#a65688ade2995260aadd4ab7539df58a6aea6700f7e5b06741e63478592f756645',1,'apt.h']]], + ['apthook_5fonexit_6998',['APTHOOK_ONEXIT',['../apt_8h.html#a65688ade2995260aadd4ab7539df58a6a0dad384082914a54947b2407dc5edf75',1,'apt.h']]], + ['apthook_5fonrestore_6999',['APTHOOK_ONRESTORE',['../apt_8h.html#a65688ade2995260aadd4ab7539df58a6aa8d5c3b92880336828fd56f93993d3a4',1,'apt.h']]], + ['apthook_5fonsleep_7000',['APTHOOK_ONSLEEP',['../apt_8h.html#a65688ade2995260aadd4ab7539df58a6a4446865116acaacdf4a8ccf2b5623fbc',1,'apt.h']]], + ['apthook_5fonsuspend_7001',['APTHOOK_ONSUSPEND',['../apt_8h.html#a65688ade2995260aadd4ab7539df58a6a13c5520f05c890c64de9cd26a46e5ce6',1,'apt.h']]], + ['apthook_5fonwakeup_7002',['APTHOOK_ONWAKEUP',['../apt_8h.html#a65688ade2995260aadd4ab7539df58a6a7ef5107c13070dc06c86ad334b78d6bd',1,'apt.h']]], + ['aptpos_5fapp_7003',['APTPOS_APP',['../apt_8h.html#a9593943634f18b7678ec5dab635ff605ae4531c99a0a8f8803fd75296a4b65227',1,'apt.h']]], + ['aptpos_5fapplib_7004',['APTPOS_APPLIB',['../apt_8h.html#a9593943634f18b7678ec5dab635ff605aeadeceaba1dcca5d89aa8d24963a3fdb',1,'apt.h']]], + ['aptpos_5fnone_7005',['APTPOS_NONE',['../apt_8h.html#a9593943634f18b7678ec5dab635ff605a24ea14a4343ca2b4b534b5da32772688',1,'apt.h']]], + ['aptpos_5fresident_7006',['APTPOS_RESIDENT',['../apt_8h.html#a9593943634f18b7678ec5dab635ff605a34acfdba1f4294f8d91bb6cf83beda46',1,'apt.h']]], + ['aptpos_5fsys_7007',['APTPOS_SYS',['../apt_8h.html#a9593943634f18b7678ec5dab635ff605ae501a457f683909c1f53d62408d0c677',1,'apt.h']]], + ['aptpos_5fsyslib_7008',['APTPOS_SYSLIB',['../apt_8h.html#a9593943634f18b7678ec5dab635ff605a2fc1817b3a3a4157f90271fc5a1346d6',1,'apt.h']]], + ['aptsignal_5fhomebutton_7009',['APTSIGNAL_HOMEBUTTON',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873ae56c10181fe655bfd60690c5d32866a2',1,'apt.h']]], + ['aptsignal_5fhomebutton2_7010',['APTSIGNAL_HOMEBUTTON2',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873ad085835392043f93d9e5e10204c35e1b',1,'apt.h']]], + ['aptsignal_5fnone_7011',['APTSIGNAL_NONE',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873acd8c323472bd444cb228cec75d548c4e',1,'apt.h']]], + ['aptsignal_5fordertoclose_7012',['APTSIGNAL_ORDERTOCLOSE',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873aababf297798d5d07e7c4e5ee2fb284f1',1,'apt.h']]], + ['aptsignal_5fpowerbutton_7013',['APTSIGNAL_POWERBUTTON',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873a079561f459d1f1838a33834beffb8aed',1,'apt.h']]], + ['aptsignal_5fpowerbutton2_7014',['APTSIGNAL_POWERBUTTON2',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873aa517964f8ed1d6e340feaf7b7bc0f645',1,'apt.h']]], + ['aptsignal_5fshutdown_7015',['APTSIGNAL_SHUTDOWN',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873ab87eaa3f2baff06850ff8625b1450cec',1,'apt.h']]], + ['aptsignal_5fsleep_5fcancel_7016',['APTSIGNAL_SLEEP_CANCEL',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873aeb102d4c3a815b2f5dc8b0d620b7baf2',1,'apt.h']]], + ['aptsignal_5fsleep_5fenter_7017',['APTSIGNAL_SLEEP_ENTER',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873ae09630e05e425bdd78326593a5211c23',1,'apt.h']]], + ['aptsignal_5fsleep_5fquery_7018',['APTSIGNAL_SLEEP_QUERY',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873a03000a0f1fad0511a293d88a72176c4f',1,'apt.h']]], + ['aptsignal_5fsleep_5fwakeup_7019',['APTSIGNAL_SLEEP_WAKEUP',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873a5cf102854cc06805f4997227fc7df22b',1,'apt.h']]], + ['aptsignal_5ftry_5fsleep_7020',['APTSIGNAL_TRY_SLEEP',['../apt_8h.html#a2722d05c62173b5d6e4a22a4666a6873abbbda6364522d06886da35341bc44f78',1,'apt.h']]], + ['arbitration_5fdecrement_5fand_5fwait_5fif_5fless_5fthan_7021',['ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN',['../svc_8h.html#a00f5b708129ef172b59197a775b533eca551c32ebca2151dc1fed5450d458433f',1,'svc.h']]], + ['arbitration_5fdecrement_5fand_5fwait_5fif_5fless_5fthan_5ftimeout_7022',['ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN_TIMEOUT',['../svc_8h.html#a00f5b708129ef172b59197a775b533ecab503e618303a55b029bda8eef14776e9',1,'svc.h']]], + ['arbitration_5fsignal_7023',['ARBITRATION_SIGNAL',['../svc_8h.html#a00f5b708129ef172b59197a775b533eca503fb7656e3429195054786b8779cbd6',1,'svc.h']]], + ['arbitration_5fwait_5fif_5fless_5fthan_7024',['ARBITRATION_WAIT_IF_LESS_THAN',['../svc_8h.html#a00f5b708129ef172b59197a775b533eca9416744f50ce5abc375c88692271c751',1,'svc.h']]], + ['arbitration_5fwait_5fif_5fless_5fthan_5ftimeout_7025',['ARBITRATION_WAIT_IF_LESS_THAN_TIMEOUT',['../svc_8h.html#a00f5b708129ef172b59197a775b533ecafe6754c50fcd095096605d9587188970',1,'svc.h']]], + ['archive_5faction_5fcommit_5fsave_5fdata_7026',['ARCHIVE_ACTION_COMMIT_SAVE_DATA',['../fs_8h.html#ac3958094a809b4f036fa86e981e99352a2ed7d0364b825ccc9fd618015658f939',1,'fs.h']]], + ['archive_5faction_5fget_5ftimestamp_7027',['ARCHIVE_ACTION_GET_TIMESTAMP',['../fs_8h.html#ac3958094a809b4f036fa86e981e99352ae95b76e781ad4f27ec67940472a00c24',1,'fs.h']]], + ['archive_5fboss_5fextdata_7028',['ARCHIVE_BOSS_EXTDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803acc1b04b0577e28fef9412e67500f7743',1,'fs.h']]], + ['archive_5fcard_5fspifs_7029',['ARCHIVE_CARD_SPIFS',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803ac9efee7e24c6232dc7c34247003fe708',1,'fs.h']]], + ['archive_5fdemo_5fsavedata_7030',['ARCHIVE_DEMO_SAVEDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803ae307f1ce8adfa9086d67b8e5ea6e2758',1,'fs.h']]], + ['archive_5fextdata_7031',['ARCHIVE_EXTDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803af9cc9399218ac2553d7d314110b46c62',1,'fs.h']]], + ['archive_5fextdata_5fand_5fboss_5fextdata_7032',['ARCHIVE_EXTDATA_AND_BOSS_EXTDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a68cc0c6b5fd1a502fb90ba7ac35260e4',1,'fs.h']]], + ['archive_5fgamecard_5fsavedata_7033',['ARCHIVE_GAMECARD_SAVEDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803ac5d8d6724ccaef3780f35233fd90447b',1,'fs.h']]], + ['archive_5fnand_5fctr_5ffs_7034',['ARCHIVE_NAND_CTR_FS',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a96f8512c05e296beb21d3c6822280b28',1,'fs.h']]], + ['archive_5fnand_5fro_7035',['ARCHIVE_NAND_RO',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a57526ab0d89e8bc95839e197d5657359',1,'fs.h']]], + ['archive_5fnand_5fro_5fwrite_5faccess_7036',['ARCHIVE_NAND_RO_WRITE_ACCESS',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803ab2b49fb4501746f96d7a07c78e63fb8f',1,'fs.h']]], + ['archive_5fnand_5frw_7037',['ARCHIVE_NAND_RW',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803abedefd87615b5a909f436d01d43c749a',1,'fs.h']]], + ['archive_5fnand_5ftwl_5ffs_7038',['ARCHIVE_NAND_TWL_FS',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803afebe77c83017f58bec3c61f3050dc505',1,'fs.h']]], + ['archive_5fnand_5fw_5ffs_7039',['ARCHIVE_NAND_W_FS',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a09ab29487ddce35470b5c9a62dd16742',1,'fs.h']]], + ['archive_5fromfs_7040',['ARCHIVE_ROMFS',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a4492905cbe9982d7748d2afc7343e409',1,'fs.h']]], + ['archive_5fsavedata_7041',['ARCHIVE_SAVEDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803aa66062bfe6cb97c865ea72d9b552aff8',1,'fs.h']]], + ['archive_5fsavedata_5fand_5fcontent_7042',['ARCHIVE_SAVEDATA_AND_CONTENT',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a536c2ae4866cffca06c3cab9cbd99912',1,'fs.h']]], + ['archive_5fsavedata_5fand_5fcontent2_7043',['ARCHIVE_SAVEDATA_AND_CONTENT2',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803aa6e26a2e31e1c5cd74d73d88b43f4b41',1,'fs.h']]], + ['archive_5fsdmc_7044',['ARCHIVE_SDMC',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a2bd1443d3828250e0c858080ae70e5b0',1,'fs.h']]], + ['archive_5fsdmc_5fwrite_5fonly_7045',['ARCHIVE_SDMC_WRITE_ONLY',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a8e7945f1bc93adff2156b9523f8eda2c',1,'fs.h']]], + ['archive_5fshared_5fextdata_7046',['ARCHIVE_SHARED_EXTDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a35e8fc67ce8615886c3150808ec595b4',1,'fs.h']]], + ['archive_5fsystem_5fsavedata_7047',['ARCHIVE_SYSTEM_SAVEDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803aa728094b43b743b4a5f3a6968187e272',1,'fs.h']]], + ['archive_5fsystem_5fsavedata2_7048',['ARCHIVE_SYSTEM_SAVEDATA2',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a27ee29d8cfd1baacd3b34cba7b0ce61f',1,'fs.h']]], + ['archive_5ftwl_5fphoto_7049',['ARCHIVE_TWL_PHOTO',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a799eead9b7a4b20cdcbdf0a4f6750ccc',1,'fs.h']]], + ['archive_5ftwl_5fsound_7050',['ARCHIVE_TWL_SOUND',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a527f3a6f54aab2efe7537bf4df9bdb21',1,'fs.h']]], + ['archive_5fuser_5fsavedata_7051',['ARCHIVE_USER_SAVEDATA',['../fs_8h.html#a24416208e0f4c6c6efc3b2118a2d8803a323f96e584ab5f690b4cd2915ba32581',1,'fs.h']]], + ['arm9desc_5fcreate_5fseed_7052',['ARM9DESC_CREATE_SEED',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600aafd1d9c385dfbf3bb1addb9ff179747e',1,'exheader.h']]], + ['arm9desc_5fmount_5fcardspi_7053',['ARM9DESC_MOUNT_CARDSPI',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600a43362295e2be9dd49ea4499ea85c650e',1,'exheader.h']]], + ['arm9desc_5fmount_5fnand_7054',['ARM9DESC_MOUNT_NAND',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600a2bc3c6e2ecd0a313ca15a76a0965b403',1,'exheader.h']]], + ['arm9desc_5fmount_5fnandro_5frw_7055',['ARM9DESC_MOUNT_NANDRO_RW',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600a0663bbbc420341e8afea22cde501807c',1,'exheader.h']]], + ['arm9desc_5fmount_5fsdmc_5frw_7056',['ARM9DESC_MOUNT_SDMC_RW',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600a3584b6a734a9b738818bc987e628c97e',1,'exheader.h']]], + ['arm9desc_5fmount_5ftwln_7057',['ARM9DESC_MOUNT_TWLN',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600adfa4798594dfebe5e166e30344b2a238',1,'exheader.h']]], + ['arm9desc_5fmount_5fwnand_7058',['ARM9DESC_MOUNT_WNAND',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600a3775ec868ccb8057d0f1751ad8dc6e43',1,'exheader.h']]], + ['arm9desc_5fsd_5fapplication_7059',['ARM9DESC_SD_APPLICATION',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600a2449c55a62280316bcd4ee8fc1b032d2',1,'exheader.h']]], + ['arm9desc_5fuse_5fcard_5fspi_7060',['ARM9DESC_USE_CARD_SPI',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600a7c649e0f7482508ddd1b3ad140794c66',1,'exheader.h']]], + ['arm9desc_5fuse_5fsdif3_7061',['ARM9DESC_USE_SDIF3',['../exheader_8h.html#abed82baf7f470b522273a3e37c24c600aa914bea66448d5f1bd9e5f45fc0245df',1,'exheader.h']]] +]; diff --git a/search/enumvalues_1.html b/search/enumvalues_1.html new file mode 100644 index 000000000..cd9187ab3 --- /dev/null +++ b/search/enumvalues_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_1.js b/search/enumvalues_1.js new file mode 100644 index 000000000..046ed38ad --- /dev/null +++ b/search/enumvalues_1.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['baudrate_5f16mhz_7062',['BAUDRATE_16MHZ',['../fs_8h.html#ae98658510bcc2292b74f97db91f78fe0a6bef330e175fffba3b1768ce3502e829',1,'fs.h']]], + ['baudrate_5f1mhz_7063',['BAUDRATE_1MHZ',['../fs_8h.html#ae98658510bcc2292b74f97db91f78fe0a84244342ee8eac1ecff7ba9d194fb75e',1,'fs.h']]], + ['baudrate_5f2mhz_7064',['BAUDRATE_2MHZ',['../fs_8h.html#ae98658510bcc2292b74f97db91f78fe0a0de65280157a97cad8da344622c4b4ae',1,'fs.h']]], + ['baudrate_5f4mhz_7065',['BAUDRATE_4MHZ',['../fs_8h.html#ae98658510bcc2292b74f97db91f78fe0a07c1319db7f439da552628d24bee430c',1,'fs.h']]], + ['baudrate_5f512khz_7066',['BAUDRATE_512KHZ',['../fs_8h.html#ae98658510bcc2292b74f97db91f78fe0aea6b143a9713c25e2f786c7c39514c69',1,'fs.h']]], + ['baudrate_5f8mhz_7067',['BAUDRATE_8MHZ',['../fs_8h.html#ae98658510bcc2292b74f97db91f78fe0a7791c3667f17451e4ed22363d759f89a',1,'fs.h']]], + ['block_5f8_5fby_5f8_7068',['BLOCK_8_BY_8',['../y2r_8h.html#aa7589f9deb9d69ff3067b7a9e100841ba0e31e018289f6de5125b0266d0bfc803',1,'y2r.h']]], + ['block_5fline_7069',['BLOCK_LINE',['../y2r_8h.html#aa7589f9deb9d69ff3067b7a9e100841ba793e2bf96468610373854c55b6847736',1,'y2r.h']]], + ['busmode_5f1bit_7070',['BUSMODE_1BIT',['../fs_8h.html#a7354fc838f4b9c704685453576e41cadaf8f53e9b6d40d66f34d95b37073321a4',1,'fs.h']]], + ['busmode_5f4bit_7071',['BUSMODE_4BIT',['../fs_8h.html#a7354fc838f4b9c704685453576e41cadad8c138fd30a7d426c814f9ee6ab96f77',1,'fs.h']]] +]; diff --git a/search/enumvalues_10.html b/search/enumvalues_10.html new file mode 100644 index 000000000..dee29ccbe --- /dev/null +++ b/search/enumvalues_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_10.js b/search/enumvalues_10.js new file mode 100644 index 000000000..d743ded7b --- /dev/null +++ b/search/enumvalues_10.js @@ -0,0 +1,99 @@ +var searchData= +[ + ['securesave_5faction_5fdelete_7871',['SECURESAVE_ACTION_DELETE',['../fs_8h.html#ad89293d2e11fd68de534aa0fca4f0fb2afdd1688c611184b4bd76d7b4742ce234',1,'fs.h']]], + ['securesave_5faction_5fformat_7872',['SECURESAVE_ACTION_FORMAT',['../fs_8h.html#ad89293d2e11fd68de534aa0fca4f0fb2aa3858d5d6ae3a519f3d9285eee0377a0',1,'fs.h']]], + ['securevalue_5fslot_5fsd_7873',['SECUREVALUE_SLOT_SD',['../fs_8h.html#a906e781f277e459a15a95b1e760f3411a6361cb9651dedf6aa5dce71d42903316',1,'fs.h']]], + ['select_5fall_7874',['SELECT_ALL',['../cam_8h.html#af715e26dfffd1f8de1c18449e2770cffabed2268a81494490a6ab7030e751876e',1,'cam.h']]], + ['select_5fin1_7875',['SELECT_IN1',['../cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa982e5c6846fc876cc32d5fa5a34c45f7',1,'cam.h']]], + ['select_5fin1_5fout1_7876',['SELECT_IN1_OUT1',['../cam_8h.html#af715e26dfffd1f8de1c18449e2770cffad72a88152472d1f2e55b59c540fba86a',1,'cam.h']]], + ['select_5fin1_5fout2_7877',['SELECT_IN1_OUT2',['../cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa6f1a562c8186872e9601956605ebce4f',1,'cam.h']]], + ['select_5fnone_7878',['SELECT_NONE',['../cam_8h.html#af715e26dfffd1f8de1c18449e2770cffac1719a15be93e987683f7a8e817c16f9',1,'cam.h']]], + ['select_5fout1_7879',['SELECT_OUT1',['../cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa218ada760e4ddb14099afb5d6ea88f9a',1,'cam.h']]], + ['select_5fout1_5fout2_7880',['SELECT_OUT1_OUT2',['../cam_8h.html#af715e26dfffd1f8de1c18449e2770cffae1e625e63a3c56c0d29626709b6f13ad',1,'cam.h']]], + ['select_5fout2_7881',['SELECT_OUT2',['../cam_8h.html#af715e26dfffd1f8de1c18449e2770cffa23c791f6f4305b8c3cc776f1d81dd2c7',1,'cam.h']]], + ['shutter_5fsound_5ftype_5fmovie_7882',['SHUTTER_SOUND_TYPE_MOVIE',['../cam_8h.html#a5059b91f27e994c2f4ef4a6c9d454675a5ade087b3d19f8d00ce15420304f0b8c',1,'cam.h']]], + ['shutter_5fsound_5ftype_5fmovie_5fend_7883',['SHUTTER_SOUND_TYPE_MOVIE_END',['../cam_8h.html#a5059b91f27e994c2f4ef4a6c9d454675a06c884998c91cf857b250d416e2cc2f0',1,'cam.h']]], + ['shutter_5fsound_5ftype_5fnormal_7884',['SHUTTER_SOUND_TYPE_NORMAL',['../cam_8h.html#a5059b91f27e994c2f4ef4a6c9d454675a7040268ea714fb4a174ea01ef98f38db',1,'cam.h']]], + ['size_5fcif_7885',['SIZE_CIF',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aa622922de8a405ce15132982372f5ef7f',1,'cam.h']]], + ['size_5fctr_5fbottom_5flcd_7886',['SIZE_CTR_BOTTOM_LCD',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aa7a9039073a01c6be686e5542da91357d',1,'cam.h']]], + ['size_5fctr_5ftop_5flcd_7887',['SIZE_CTR_TOP_LCD',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aa5323d2323661285fdd5bd9cb3548c752',1,'cam.h']]], + ['size_5fds_5flcd_7888',['SIZE_DS_LCD',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aa5a3c19f94414111dd8de2e8dd95f2123',1,'cam.h']]], + ['size_5fds_5flcdx4_7889',['SIZE_DS_LCDx4',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aaa094da448b2b08d860df88319df1a20f',1,'cam.h']]], + ['size_5fqcif_7890',['SIZE_QCIF',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aa7a0d20d7cafd6ce3380e320fb17fa166',1,'cam.h']]], + ['size_5fqqvga_7891',['SIZE_QQVGA',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aabeb43838326d0e0f888832f578cd7579',1,'cam.h']]], + ['size_5fqvga_7892',['SIZE_QVGA',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aa62c0656c8d79f5bb763100e0081a173f',1,'cam.h']]], + ['size_5fvga_7893',['SIZE_VGA',['../cam_8h.html#a2139d384c0e657ddb21ab0ca5697895aa053bb6c18c1cc5ff2b3caff33d22a73b',1,'cam.h']]], + ['sound_5fenable_7894',['SOUND_ENABLE',['../csnd_8h.html#a7cc2e4244ca368f68e5746185eda6c4aac7d0b635fc605d7b57214c394e4d859d',1,'csnd.h']]], + ['sound_5fformat_5f16bit_7895',['SOUND_FORMAT_16BIT',['../csnd_8h.html#a7cc2e4244ca368f68e5746185eda6c4aa5f8b8383f728e9dabef5efa486e08fd4',1,'csnd.h']]], + ['sound_5fformat_5f8bit_7896',['SOUND_FORMAT_8BIT',['../csnd_8h.html#a7cc2e4244ca368f68e5746185eda6c4aa3ddf118603afd88ae09b0ce14877ead4',1,'csnd.h']]], + ['sound_5fformat_5fadpcm_7897',['SOUND_FORMAT_ADPCM',['../csnd_8h.html#a7cc2e4244ca368f68e5746185eda6c4aa06d7272986b2e9e3d0c444a83af104f6',1,'csnd.h']]], + ['sound_5fformat_5fpsg_7898',['SOUND_FORMAT_PSG',['../csnd_8h.html#a7cc2e4244ca368f68e5746185eda6c4aa89368ff82f9173e08af8215c5d9d0385',1,'csnd.h']]], + ['sound_5flinear_5finterp_7899',['SOUND_LINEAR_INTERP',['../csnd_8h.html#a7cc2e4244ca368f68e5746185eda6c4aac15e44f48227d2c1034b0a793b8b075d',1,'csnd.h']]], + ['sound_5fone_5fshot_7900',['SOUND_ONE_SHOT',['../csnd_8h.html#a7cc2e4244ca368f68e5746185eda6c4aaf96c5965b6990d82a1db630720c904b0',1,'csnd.h']]], + ['sound_5frepeat_7901',['SOUND_REPEAT',['../csnd_8h.html#a7cc2e4244ca368f68e5746185eda6c4aa304fe16fcff907da3e0b9d78fba7c922',1,'csnd.h']]], + ['specialcontent_5fdlp_5fchild_7902',['SPECIALCONTENT_DLP_CHILD',['../fs_8h.html#ae39b89424d688ec1e77986fe0f89fccea7e7a81e5534010e6f3f815751d93f01f',1,'fs.h']]], + ['specialcontent_5fmanual_7903',['SPECIALCONTENT_MANUAL',['../fs_8h.html#ae39b89424d688ec1e77986fe0f89fcceafc811b2d3243550ee5ba254f566a05f5',1,'fs.h']]], + ['specialcontent_5fupdate_7904',['SPECIALCONTENT_UPDATE',['../fs_8h.html#ae39b89424d688ec1e77986fe0f89fccea4f35a0a657d11baac621f73bcef9ee23',1,'fs.h']]], + ['stoppoint_5fbreakpoint_7905',['STOPPOINT_BREAKPOINT',['../svc_8h.html#a41645e97dc3a37acd97b0f0f13be76e9ab0418158fb52e5f649f8695a747620b9',1,'svc.h']]], + ['stoppoint_5fsvc_5fff_7906',['STOPPOINT_SVC_FF',['../svc_8h.html#a41645e97dc3a37acd97b0f0f13be76e9af2bda711cb2e87898ee01c75aa6eb461',1,'svc.h']]], + ['stoppoint_5fwatchpoint_7907',['STOPPOINT_WATCHPOINT',['../svc_8h.html#a41645e97dc3a37acd97b0f0f13be76e9ae012399e05b534e04b300fdc210debdd',1,'svc.h']]], + ['swkbd_5fallow_5fhome_7908',['SWKBD_ALLOW_HOME',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04aac6fa4f37d2db0c7ee8a0b247ebc2cf1',1,'swkbd.h']]], + ['swkbd_5fallow_5fpower_7909',['SWKBD_ALLOW_POWER',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04a22cc81cb2524dbcedf88ecd51d6174e4',1,'swkbd.h']]], + ['swkbd_5fallow_5freset_7910',['SWKBD_ALLOW_RESET',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04a82d4882b4e8e601e82dbf301be793e0e',1,'swkbd.h']]], + ['swkbd_5fanything_7911',['SWKBD_ANYTHING',['../swkbd_8h.html#a9c2863f4e484d07ba6be8fdf84bb96a1adf5ca7a645dea83448551248be05bc35',1,'swkbd.h']]], + ['swkbd_5fbanned_5finput_7912',['SWKBD_BANNED_INPUT',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a2b71a09c9b94f64e6f51cb927646c8eb',1,'swkbd.h']]], + ['swkbd_5fbutton_5fleft_7913',['SWKBD_BUTTON_LEFT',['../swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29ca04b5951221df3ade6e04447b590d1fd4',1,'swkbd.h']]], + ['swkbd_5fbutton_5fmiddle_7914',['SWKBD_BUTTON_MIDDLE',['../swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29ca7fbeb491bb84654eabad38826a00edd5',1,'swkbd.h']]], + ['swkbd_5fbutton_5fnone_7915',['SWKBD_BUTTON_NONE',['../swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29caa7a4d5142a471089f281173d35f52675',1,'swkbd.h']]], + ['swkbd_5fbutton_5fright_7916',['SWKBD_BUTTON_RIGHT',['../swkbd_8h.html#a94ea720afdaf86a4be385aa913c6a29ca2754579a6b7bf2b751751b5a9ca8c4b3',1,'swkbd.h']]], + ['swkbd_5fcallback_5fclose_7917',['SWKBD_CALLBACK_CLOSE',['../swkbd_8h.html#a12d91ff65b198511e8d26960577d2c7aa9238474d1113e68576271d5c1e87aa2c',1,'swkbd.h']]], + ['swkbd_5fcallback_5fcontinue_7918',['SWKBD_CALLBACK_CONTINUE',['../swkbd_8h.html#a12d91ff65b198511e8d26960577d2c7aaf65d5b95476c302b9201d1278761275b',1,'swkbd.h']]], + ['swkbd_5fcallback_5fok_7919',['SWKBD_CALLBACK_OK',['../swkbd_8h.html#a12d91ff65b198511e8d26960577d2c7aaec9de9f165d0d788152aa5d3dfc21327',1,'swkbd.h']]], + ['swkbd_5fd0_5fclick_7920',['SWKBD_D0_CLICK',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a76d54e4492757452c7c20aad596bc037',1,'swkbd.h']]], + ['swkbd_5fd1_5fclick0_7921',['SWKBD_D1_CLICK0',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93aecf7620ac2b17d05dd2583785e4fe67d',1,'swkbd.h']]], + ['swkbd_5fd1_5fclick1_7922',['SWKBD_D1_CLICK1',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93ac39a32d53c9e3f20017492d0b521a936',1,'swkbd.h']]], + ['swkbd_5fd2_5fclick0_7923',['SWKBD_D2_CLICK0',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a0225d1a05505f3439832d3a5b6c12095',1,'swkbd.h']]], + ['swkbd_5fd2_5fclick1_7924',['SWKBD_D2_CLICK1',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a9761ef300b084cda9feff81657bb3783',1,'swkbd.h']]], + ['swkbd_5fd2_5fclick2_7925',['SWKBD_D2_CLICK2',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a199451004dc9755c37f34cba29089817',1,'swkbd.h']]], + ['swkbd_5fdarken_5ftop_5fscreen_7926',['SWKBD_DARKEN_TOP_SCREEN',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04ab7aec191ef2d5df62291a011f5c0a4e7',1,'swkbd.h']]], + ['swkbd_5fdefault_5fqwerty_7927',['SWKBD_DEFAULT_QWERTY',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04ac44a4dee33fa25059f283be8e241fc62',1,'swkbd.h']]], + ['swkbd_5ffilter_5fat_7928',['SWKBD_FILTER_AT',['../swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5a556df4c35b36612b092e414600e30eed',1,'swkbd.h']]], + ['swkbd_5ffilter_5fbackslash_7929',['SWKBD_FILTER_BACKSLASH',['../swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5a8385e631b1b3313c05a2f80097021af6',1,'swkbd.h']]], + ['swkbd_5ffilter_5fcallback_7930',['SWKBD_FILTER_CALLBACK',['../swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5a791a253769fb274e58d0edc5b69f44c5',1,'swkbd.h']]], + ['swkbd_5ffilter_5fdigits_7931',['SWKBD_FILTER_DIGITS',['../swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5aa03c93ae6d25484d672a409bec1c79ef',1,'swkbd.h']]], + ['swkbd_5ffilter_5fpercent_7932',['SWKBD_FILTER_PERCENT',['../swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5ab4a359ee3ad3a4394c186bd6ba676d37',1,'swkbd.h']]], + ['swkbd_5ffilter_5fprofanity_7933',['SWKBD_FILTER_PROFANITY',['../swkbd_8h.html#a99fb83031ce9923c84392b4e92f956b5a241d66f1b98f9de0da217356d5b2e4bf',1,'swkbd.h']]], + ['swkbd_5ffixed_5fwidth_7934',['SWKBD_FIXED_WIDTH',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04aae3631524844bce7fb3aceb10416391f',1,'swkbd.h']]], + ['swkbd_5ffixedlen_7935',['SWKBD_FIXEDLEN',['../swkbd_8h.html#a9c2863f4e484d07ba6be8fdf84bb96a1a39be8bd578ff7ffad04190228e60a1a9',1,'swkbd.h']]], + ['swkbd_5fhomepressed_7936',['SWKBD_HOMEPRESSED',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93aac0b81dd3cf9855a464ae1429d4dde44',1,'swkbd.h']]], + ['swkbd_5finvalid_5finput_7937',['SWKBD_INVALID_INPUT',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93abd740c8d864f5c00d81c1cf31144eaef',1,'swkbd.h']]], + ['swkbd_5fmultiline_7938',['SWKBD_MULTILINE',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04ab38ff5f2098240b8fc288a0df7b41ac5',1,'swkbd.h']]], + ['swkbd_5fnone_7939',['SWKBD_NONE',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a59071ee22605a66a8ca2700a9c1ae77d',1,'swkbd.h']]], + ['swkbd_5fnotblank_7940',['SWKBD_NOTBLANK',['../swkbd_8h.html#a9c2863f4e484d07ba6be8fdf84bb96a1a1025cd177247c0b2482c0bbac789f798',1,'swkbd.h']]], + ['swkbd_5fnotempty_7941',['SWKBD_NOTEMPTY',['../swkbd_8h.html#a9c2863f4e484d07ba6be8fdf84bb96a1a9d1709266de5138ac0a0fb415b62935e',1,'swkbd.h']]], + ['swkbd_5fnotempty_5fnotblank_7942',['SWKBD_NOTEMPTY_NOTBLANK',['../swkbd_8h.html#a9c2863f4e484d07ba6be8fdf84bb96a1a1caa32cefb6ab95f86a42b4dbd137feb',1,'swkbd.h']]], + ['swkbd_5foutofmem_7943',['SWKBD_OUTOFMEM',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93aaac828716362cc53057fbcaf731b2c25',1,'swkbd.h']]], + ['swkbd_5fparental_7944',['SWKBD_PARENTAL',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04a70304b094e5acd73deb9bb8b27128e7a',1,'swkbd.h']]], + ['swkbd_5fparental_5ffail_7945',['SWKBD_PARENTAL_FAIL',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93af5061a0c471654f4dd68cc59519f7188',1,'swkbd.h']]], + ['swkbd_5fparental_5fok_7946',['SWKBD_PARENTAL_OK',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a1ed59bc024b62a5b6c075dfc8a0534d6',1,'swkbd.h']]], + ['swkbd_5fpassword_5fhide_7947',['SWKBD_PASSWORD_HIDE',['../swkbd_8h.html#a7dddf239d1add2f4a68d79ca0e64c1b9a1da6c004e85d5d11b798c5805ea2f3dc',1,'swkbd.h']]], + ['swkbd_5fpassword_5fhide_5fdelay_7948',['SWKBD_PASSWORD_HIDE_DELAY',['../swkbd_8h.html#a7dddf239d1add2f4a68d79ca0e64c1b9aa2ec3ada05cfa6de081da8288635d110',1,'swkbd.h']]], + ['swkbd_5fpassword_5fnone_7949',['SWKBD_PASSWORD_NONE',['../swkbd_8h.html#a7dddf239d1add2f4a68d79ca0e64c1b9aa862068a3d6d1d30c9c2343025368d56',1,'swkbd.h']]], + ['swkbd_5fpowerpressed_7950',['SWKBD_POWERPRESSED',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93aa4458c14c72bfd33d3bd1c1c832bef00',1,'swkbd.h']]], + ['swkbd_5fpredictive_5finput_7951',['SWKBD_PREDICTIVE_INPUT',['../swkbd_8h.html#abc6126af1d45847bc59afa0aa3216b04adf8b88dbe0a36d524a5cde8e7af45bd4',1,'swkbd.h']]], + ['swkbd_5fresetpressed_7952',['SWKBD_RESETPRESSED',['../swkbd_8h.html#aa02a4a80747eb05ddb85235a0a41ee93a76e7d6d7ebf659dd635fb8ca4cfa919b',1,'swkbd.h']]], + ['swkbd_5ftype_5fnormal_7953',['SWKBD_TYPE_NORMAL',['../swkbd_8h.html#ad88d214560b9bbaf1391cc7013ab4387a09e29e270f59d0b17f06c8455d6a836c',1,'swkbd.h']]], + ['swkbd_5ftype_5fnumpad_7954',['SWKBD_TYPE_NUMPAD',['../swkbd_8h.html#ad88d214560b9bbaf1391cc7013ab4387a5802f3a1eabee6305045ed5cd57ae5b9',1,'swkbd.h']]], + ['swkbd_5ftype_5fqwerty_7955',['SWKBD_TYPE_QWERTY',['../swkbd_8h.html#ad88d214560b9bbaf1391cc7013ab4387afb5f26b787995fc4b88a1668e4a99c09',1,'swkbd.h']]], + ['swkbd_5ftype_5fwestern_7956',['SWKBD_TYPE_WESTERN',['../swkbd_8h.html#ad88d214560b9bbaf1391cc7013ab4387a0f871d4bbdd45581d73f4877fafdb002',1,'swkbd.h']]], + ['sysmode_5fdev1_7957',['SYSMODE_DEV1',['../exheader_8h.html#a3456fcc306743731aa6560a59c3e25bba7fd13067f9d2788b701b283b81a3ab42',1,'exheader.h']]], + ['sysmode_5fdev2_7958',['SYSMODE_DEV2',['../exheader_8h.html#a3456fcc306743731aa6560a59c3e25bbad4fd371ac2f7dcdff5bd109464dbddcd',1,'exheader.h']]], + ['sysmode_5fdev3_7959',['SYSMODE_DEV3',['../exheader_8h.html#a3456fcc306743731aa6560a59c3e25bba9fd4fb6fb368a5d773af0c2f72b77d46',1,'exheader.h']]], + ['sysmode_5fdev4_7960',['SYSMODE_DEV4',['../exheader_8h.html#a3456fcc306743731aa6560a59c3e25bba03a3f4f42aa9da683ffcb6fd4a9e861d',1,'exheader.h']]], + ['sysmode_5fn3ds_5fprod_7961',['SYSMODE_N3DS_PROD',['../exheader_8h.html#a3456fcc306743731aa6560a59c3e25bba7f8f18bb417367ca06afcf3e879c8524',1,'exheader.h']]], + ['sysmode_5fo3ds_5fprod_7962',['SYSMODE_O3DS_PROD',['../exheader_8h.html#a3456fcc306743731aa6560a59c3e25bba6415f6446d7ef3f7a214f1ae77fb6061',1,'exheader.h']]], + ['system_5fmediatype_5fctr_5fnand_7963',['SYSTEM_MEDIATYPE_CTR_NAND',['../fs_8h.html#acdbf253270893656d28d7c35d7b7070ca250d43fc8ba9189c116e8911033f147c',1,'fs.h']]], + ['system_5fmediatype_5fsd_7964',['SYSTEM_MEDIATYPE_SD',['../fs_8h.html#acdbf253270893656d28d7c35d7b7070ca74e138a7903a41a31666eb6a3a9daed8',1,'fs.h']]], + ['system_5fmediatype_5ftwl_5fnand_7965',['SYSTEM_MEDIATYPE_TWL_NAND',['../fs_8h.html#acdbf253270893656d28d7c35d7b7070ca27732504585449ac9b1b127f2ae8cc18',1,'fs.h']]], + ['system_5fmediatype_5ftwl_5fphoto_7966',['SYSTEM_MEDIATYPE_TWL_PHOTO',['../fs_8h.html#acdbf253270893656d28d7c35d7b7070ca8bd94eae78baf5bad5e62b2e6e00d43b',1,'fs.h']]] +]; diff --git a/search/enumvalues_11.html b/search/enumvalues_11.html new file mode 100644 index 000000000..6d0e91871 --- /dev/null +++ b/search/enumvalues_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_11.js b/search/enumvalues_11.js new file mode 100644 index 000000000..36998b941 --- /dev/null +++ b/search/enumvalues_11.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['threadcontext_5fcontrol_5fall_7967',['THREADCONTEXT_CONTROL_ALL',['../svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742a03849f12becc677a30246a307c3b9670',1,'svc.h']]], + ['threadcontext_5fcontrol_5fcpu_5fgprs_7968',['THREADCONTEXT_CONTROL_CPU_GPRS',['../svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742ae09b0f61029f9fdf0b4ea02c41fa13e5',1,'svc.h']]], + ['threadcontext_5fcontrol_5fcpu_5fregs_7969',['THREADCONTEXT_CONTROL_CPU_REGS',['../svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742a313d7fc004fc7a953e10b08fccbd21ab',1,'svc.h']]], + ['threadcontext_5fcontrol_5fcpu_5fsprs_7970',['THREADCONTEXT_CONTROL_CPU_SPRS',['../svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742aa8407752003ccddf5fc32867e67037cf',1,'svc.h']]], + ['threadcontext_5fcontrol_5ffpu_5fgprs_7971',['THREADCONTEXT_CONTROL_FPU_GPRS',['../svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742a2d5de33762b476d2926b7cfb7f3be89b',1,'svc.h']]], + ['threadcontext_5fcontrol_5ffpu_5fregs_7972',['THREADCONTEXT_CONTROL_FPU_REGS',['../svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742ae77e6ad949115f805c2a35ba85cce3f9',1,'svc.h']]], + ['threadcontext_5fcontrol_5ffpu_5fsprs_7973',['THREADCONTEXT_CONTROL_FPU_SPRS',['../svc_8h.html#a19ce0516fc6c9dc090735a831ab7a742ae68cca5d6bd39c7225566ae87c541f8e',1,'svc.h']]], + ['threadinfo_5ftype_5funknown_7974',['THREADINFO_TYPE_UNKNOWN',['../svc_8h.html#a112aee8cca0c18b91f98d39db55c4807a5e0a7120c0d6495acc852bc43a3ea851',1,'svc.h']]] +]; diff --git a/search/enumvalues_12.html b/search/enumvalues_12.html new file mode 100644 index 000000000..6a98dc84c --- /dev/null +++ b/search/enumvalues_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_12.js b/search/enumvalues_12.js new file mode 100644 index 000000000..2f6dbe982 --- /dev/null +++ b/search/enumvalues_12.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['user_5fwent_5foffline_7975',['USER_WENT_OFFLINE',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210cead6309cdfe3bd67e4b93cf4e569ecde99',1,'frd.h']]], + ['user_5fwent_5fonline_7976',['USER_WENT_ONLINE',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210ceac207d63c32cf5df4f16d86d424eeaaad',1,'frd.h']]], + ['userbreak_5fassert_7977',['USERBREAK_ASSERT',['../svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12ab8652e6cba764ad8b8b205981fa10a2d',1,'svc.h']]], + ['userbreak_5fload_5fro_7978',['USERBREAK_LOAD_RO',['../svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12a218f8d14ce85ff686531587f41271b91',1,'svc.h']]], + ['userbreak_5fpanic_7979',['USERBREAK_PANIC',['../svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12a75d115aed8adc334b86762004550130e',1,'svc.h']]], + ['userbreak_5funload_5fro_7980',['USERBREAK_UNLOAD_RO',['../svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12ab82dbfb966f5522c2e5bfbdf1949d5a9',1,'svc.h']]], + ['userbreak_5fuser_7981',['USERBREAK_USER',['../svc_8h.html#a1fff1d6b844aedbb1babaa23e0292a12a7989abf688e2db27610f1cdf30ddf553',1,'svc.h']]] +]; diff --git a/search/enumvalues_13.html b/search/enumvalues_13.html new file mode 100644 index 000000000..5faeaf819 --- /dev/null +++ b/search/enumvalues_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_13.js b/search/enumvalues_13.js new file mode 100644 index 000000000..539aa893c --- /dev/null +++ b/search/enumvalues_13.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['vertex_5fshdr_7982',['VERTEX_SHDR',['../shbin_8h.html#aa9cc048117db5beffa628f10cad82c4ca8ea9e921757d6c5b4d30ccedee5d55b4',1,'shbin.h']]] +]; diff --git a/search/enumvalues_14.html b/search/enumvalues_14.html new file mode 100644 index 000000000..3ee3508fa --- /dev/null +++ b/search/enumvalues_14.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_14.js b/search/enumvalues_14.js new file mode 100644 index 000000000..7f6fa66db --- /dev/null +++ b/search/enumvalues_14.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['wait_5fireq_5fcontinue_7983',['WAIT_IREQ_CONTINUE',['../pxidev_8h.html#a987e6b1d64faec3c5d859a4aaeba28d0ade5da7924abfa6cbfebdd0a324b67a2e',1,'pxidev.h']]], + ['wait_5fireq_5freturn_7984',['WAIT_IREQ_RETURN',['../pxidev_8h.html#a987e6b1d64faec3c5d859a4aaeba28d0a8f8e02dd1bab14ac23b5700ae2cde685',1,'pxidev.h']]], + ['wait_5fnone_7985',['WAIT_NONE',['../pxidev_8h.html#a987e6b1d64faec3c5d859a4aaeba28d0a80efdad4345938c13cd7a4ce22c96e8b',1,'pxidev.h']]], + ['wait_5fsleep_7986',['WAIT_SLEEP',['../pxidev_8h.html#a987e6b1d64faec3c5d859a4aaeba28d0aba38b69975f43bd51ea57b09fa62253d',1,'pxidev.h']]], + ['white_5fbalance_5f3200k_7987',['WHITE_BALANCE_3200K',['../cam_8h.html#a5d3bf5af790ab2c2bbbfedf46d756c53a1fa318450ad625598ddd1fa3e35a5551',1,'cam.h']]], + ['white_5fbalance_5f4150k_7988',['WHITE_BALANCE_4150K',['../cam_8h.html#a5d3bf5af790ab2c2bbbfedf46d756c53ac4b48d3b0c6162f679686d7ad1847356',1,'cam.h']]], + ['white_5fbalance_5f5200k_7989',['WHITE_BALANCE_5200K',['../cam_8h.html#a5d3bf5af790ab2c2bbbfedf46d756c53a0b494b8641ef33c086c3c8a70e44b611',1,'cam.h']]], + ['white_5fbalance_5f6000k_7990',['WHITE_BALANCE_6000K',['../cam_8h.html#a5d3bf5af790ab2c2bbbfedf46d756c53a2a287460cb7b5dc9cfe1ffc06b9f9907',1,'cam.h']]], + ['white_5fbalance_5f7000k_7991',['WHITE_BALANCE_7000K',['../cam_8h.html#a5d3bf5af790ab2c2bbbfedf46d756c53a43c3c6a8a436215dcc6a8c7ad8329b5e',1,'cam.h']]], + ['white_5fbalance_5fauto_7992',['WHITE_BALANCE_AUTO',['../cam_8h.html#a5d3bf5af790ab2c2bbbfedf46d756c53a3717ab57229df203301993822e7863ae',1,'cam.h']]] +]; diff --git a/search/enumvalues_2.html b/search/enumvalues_2.html new file mode 100644 index 000000000..2b95d9204 --- /dev/null +++ b/search/enumvalues_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_2.js b/search/enumvalues_2.js new file mode 100644 index 000000000..e57dfbed0 --- /dev/null +++ b/search/enumvalues_2.js @@ -0,0 +1,70 @@ +var searchData= +[ + ['capture_5fenable_7072',['CAPTURE_ENABLE',['../csnd_8h.html#aedcf2109f459315e1a7f2af73ec9b603acec68f59b76a91b4347cba0f1123e192',1,'csnd.h']]], + ['capture_5fformat_5f16bit_7073',['CAPTURE_FORMAT_16BIT',['../csnd_8h.html#aedcf2109f459315e1a7f2af73ec9b603a4669f25cd65a30bb965aa908930f91e2',1,'csnd.h']]], + ['capture_5fformat_5f8bit_7074',['CAPTURE_FORMAT_8BIT',['../csnd_8h.html#aedcf2109f459315e1a7f2af73ec9b603a12c8375814ed36ae92e5917674f6aa33',1,'csnd.h']]], + ['capture_5fone_5fshot_7075',['CAPTURE_ONE_SHOT',['../csnd_8h.html#aedcf2109f459315e1a7f2af73ec9b603a7254fd1b7ef674d8509472f924569d66',1,'csnd.h']]], + ['capture_5frepeat_7076',['CAPTURE_REPEAT',['../csnd_8h.html#aedcf2109f459315e1a7f2af73ec9b603a67e19d25612016e24117411de7768c6d',1,'csnd.h']]], + ['card_5fctr_7077',['CARD_CTR',['../fs_8h.html#ab06968444dcba08b02ed34b6db2ad5b5a829e56a89aacfb45210067057ad3fb75',1,'fs.h']]], + ['card_5ftwl_7078',['CARD_TWL',['../fs_8h.html#ab06968444dcba08b02ed34b6db2ad5b5ab04c6851c0501f8526011c06660e788c',1,'fs.h']]], + ['cfg_5flanguage_5fde_7079',['CFG_LANGUAGE_DE',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a3d7156b5e6b7cc53a7842507cba73d08',1,'cfgu.h']]], + ['cfg_5flanguage_5fen_7080',['CFG_LANGUAGE_EN',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a5ba00b3043b5155e98e85f2fcd305fb3',1,'cfgu.h']]], + ['cfg_5flanguage_5fes_7081',['CFG_LANGUAGE_ES',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a8dd34c2e8ef29ad153e0148a3e9642a2',1,'cfgu.h']]], + ['cfg_5flanguage_5ffr_7082',['CFG_LANGUAGE_FR',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a888d712f5a9f0a66540c86523e9ba166',1,'cfgu.h']]], + ['cfg_5flanguage_5fit_7083',['CFG_LANGUAGE_IT',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a4be7b419afda5c65353d7ec177b4a4c8',1,'cfgu.h']]], + ['cfg_5flanguage_5fjp_7084',['CFG_LANGUAGE_JP',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987add48bdfbf138bc2c828621b8935a3126',1,'cfgu.h']]], + ['cfg_5flanguage_5fko_7085',['CFG_LANGUAGE_KO',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a4b64eccef8c6b40f312ef7cd663054b9',1,'cfgu.h']]], + ['cfg_5flanguage_5fnl_7086',['CFG_LANGUAGE_NL',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a09ff72faf2dc9971a331ee4f01b2b21e',1,'cfgu.h']]], + ['cfg_5flanguage_5fpt_7087',['CFG_LANGUAGE_PT',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987ac528d041885bc5b3712f73d05527c319',1,'cfgu.h']]], + ['cfg_5flanguage_5fru_7088',['CFG_LANGUAGE_RU',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987abc96dd42a988f43850fb8281b116fb2e',1,'cfgu.h']]], + ['cfg_5flanguage_5ftw_7089',['CFG_LANGUAGE_TW',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a12c9a232716708d4717a1eb46b30a681',1,'cfgu.h']]], + ['cfg_5flanguage_5fzh_7090',['CFG_LANGUAGE_ZH',['../cfgu_8h.html#ac27a9ea95e702ef4a43794b0ac950987a808b24331450bf9a74d22d3910ae67cf',1,'cfgu.h']]], + ['cfg_5fmodel_5f2ds_7091',['CFG_MODEL_2DS',['../cfgu_8h.html#aa4975dc0dcd8fee9fd825ef12b268aeda83dc5bb89c43599861a6f037b00d7703',1,'cfgu.h']]], + ['cfg_5fmodel_5f3ds_7092',['CFG_MODEL_3DS',['../cfgu_8h.html#aa4975dc0dcd8fee9fd825ef12b268aedaa8fbf86f8116e7b2af0c8b1b01d4c928',1,'cfgu.h']]], + ['cfg_5fmodel_5f3dsxl_7093',['CFG_MODEL_3DSXL',['../cfgu_8h.html#aa4975dc0dcd8fee9fd825ef12b268aeda3b74ad9d03b7ba33b70572470bc6b870',1,'cfgu.h']]], + ['cfg_5fmodel_5fn2dsxl_7094',['CFG_MODEL_N2DSXL',['../cfgu_8h.html#aa4975dc0dcd8fee9fd825ef12b268aedacddb239aa16fdbf946d1b495262c1ed0',1,'cfgu.h']]], + ['cfg_5fmodel_5fn3ds_7095',['CFG_MODEL_N3DS',['../cfgu_8h.html#aa4975dc0dcd8fee9fd825ef12b268aeda35a10564712cffd1fe99be696295ce63',1,'cfgu.h']]], + ['cfg_5fmodel_5fn3dsxl_7096',['CFG_MODEL_N3DSXL',['../cfgu_8h.html#aa4975dc0dcd8fee9fd825ef12b268aeda5d06b3bcecc9a5dd8b569e09a17467a4',1,'cfgu.h']]], + ['cfg_5fregion_5faus_7097',['CFG_REGION_AUS',['../cfgu_8h.html#ac4de11c312084202d4b7a8fe791f4d2ea16925137207a16a2c167218b7c7378fd',1,'cfgu.h']]], + ['cfg_5fregion_5fchn_7098',['CFG_REGION_CHN',['../cfgu_8h.html#ac4de11c312084202d4b7a8fe791f4d2eae93697c1c0710ec2de91493f2ff3d1f6',1,'cfgu.h']]], + ['cfg_5fregion_5feur_7099',['CFG_REGION_EUR',['../cfgu_8h.html#ac4de11c312084202d4b7a8fe791f4d2ea6a0858bc1d4908af0d97c05ee9671f5d',1,'cfgu.h']]], + ['cfg_5fregion_5fjpn_7100',['CFG_REGION_JPN',['../cfgu_8h.html#ac4de11c312084202d4b7a8fe791f4d2eaca14cab9b45a0abf30b5e7ac911ef618',1,'cfgu.h']]], + ['cfg_5fregion_5fkor_7101',['CFG_REGION_KOR',['../cfgu_8h.html#ac4de11c312084202d4b7a8fe791f4d2eae8bd73e7bd4d21b1dee34cb54e2acdd6',1,'cfgu.h']]], + ['cfg_5fregion_5ftwn_7102',['CFG_REGION_TWN',['../cfgu_8h.html#ac4de11c312084202d4b7a8fe791f4d2eaa3986ce070823aa582b4a9ce02318966',1,'cfgu.h']]], + ['cfg_5fregion_5fusa_7103',['CFG_REGION_USA',['../cfgu_8h.html#ac4de11c312084202d4b7a8fe791f4d2ea82b52c553f9de6b24b71420fc5e7e3f7',1,'cfgu.h']]], + ['cmap_5ftype_5fdirect_7104',['CMAP_TYPE_DIRECT',['../font_8h.html#a385c44f6fb256e5716a2302a5b940388ab934cc1b3642ca4b85a380f70f78f584',1,'font.h']]], + ['cmap_5ftype_5fscan_7105',['CMAP_TYPE_SCAN',['../font_8h.html#a385c44f6fb256e5716a2302a5b940388a4c4f3ae6d286dd2699ab5ea3d8477b28',1,'font.h']]], + ['cmap_5ftype_5ftable_7106',['CMAP_TYPE_TABLE',['../font_8h.html#a385c44f6fb256e5716a2302a5b940388ab411b81a853ac8a0f76b5f7b228e663c',1,'font.h']]], + ['codec_5fi2s_5fline_5f1_7107',['CODEC_I2S_LINE_1',['../cdcchk_8h.html#acc55325867b86cf82d6b299496de7768a9ef9a126363cbb8fc542f5e33b32e59e',1,'cdcchk.h']]], + ['codec_5fi2s_5fline_5f2_7108',['CODEC_I2S_LINE_2',['../cdcchk_8h.html#acc55325867b86cf82d6b299496de7768aa6131ebafb00e3392251270cb7f9f4a3',1,'cdcchk.h']]], + ['coefficient_5fitu_5fr_5fbt_5f601_7109',['COEFFICIENT_ITU_R_BT_601',['../y2r_8h.html#a4d268580b18b07f348fe7ee8c72fac31ac632db40e0f6998029f47642cb1240db',1,'y2r.h']]], + ['coefficient_5fitu_5fr_5fbt_5f601_5fscaling_7110',['COEFFICIENT_ITU_R_BT_601_SCALING',['../y2r_8h.html#a4d268580b18b07f348fe7ee8c72fac31a42ac04bda184cacdf355208866500739',1,'y2r.h']]], + ['coefficient_5fitu_5fr_5fbt_5f709_7111',['COEFFICIENT_ITU_R_BT_709',['../y2r_8h.html#a4d268580b18b07f348fe7ee8c72fac31affe5da13e1b3876b55b3742b60d6b941',1,'y2r.h']]], + ['coefficient_5fitu_5fr_5fbt_5f709_5fscaling_7112',['COEFFICIENT_ITU_R_BT_709_SCALING',['../y2r_8h.html#a4d268580b18b07f348fe7ee8c72fac31a798f4362c48425f315ca076d65353f08',1,'y2r.h']]], + ['context_5fa_7113',['CONTEXT_A',['../cam_8h.html#a67d15fdc4b48f745530df1f27f3d5255a4c8b59d076b8ec347a3e1967408c4fa6',1,'cam.h']]], + ['context_5fb_7114',['CONTEXT_B',['../cam_8h.html#a67d15fdc4b48f745530df1f27f3d5255a4dcd1e5e98db8371be3abf56c31cdcfa',1,'cam.h']]], + ['context_5fboth_7115',['CONTEXT_BOTH',['../cam_8h.html#a67d15fdc4b48f745530df1f27f3d5255ae3a7377e4ec34d0b4eb263d39c539e7d',1,'cam.h']]], + ['context_5fnone_7116',['CONTEXT_NONE',['../cam_8h.html#a67d15fdc4b48f745530df1f27f3d5255ac24319930c0604b6fd7e77d4966a4c38',1,'cam.h']]], + ['contrast_5fhigh_7117',['CONTRAST_HIGH',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aa68678a5b3814abdbde37a51ec7caf9e8',1,'cam.h']]], + ['contrast_5flow_7118',['CONTRAST_LOW',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aa1ef8d568d8f4092a6082c7a7b6e57377',1,'cam.h']]], + ['contrast_5fnormal_7119',['CONTRAST_NORMAL',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aa90f772d81310ff6aee03665c4fea5b1d',1,'cam.h']]], + ['contrast_5fpattern_5f01_7120',['CONTRAST_PATTERN_01',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aab69ef9fcd292df37898cb0b40a3cc778',1,'cam.h']]], + ['contrast_5fpattern_5f02_7121',['CONTRAST_PATTERN_02',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aa1ed9c4d91ab7e8e21f2fd4a0e3802c80',1,'cam.h']]], + ['contrast_5fpattern_5f03_7122',['CONTRAST_PATTERN_03',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aafdb976805d957d4cc47eff493108932f',1,'cam.h']]], + ['contrast_5fpattern_5f04_7123',['CONTRAST_PATTERN_04',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aab4e47b20190c5ab93a7c54d6759a1367',1,'cam.h']]], + ['contrast_5fpattern_5f05_7124',['CONTRAST_PATTERN_05',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aa1da00615d6abc2afcafe31c4d031e075',1,'cam.h']]], + ['contrast_5fpattern_5f06_7125',['CONTRAST_PATTERN_06',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aa91d07c5d297f5c4f8ce18103dcb40108',1,'cam.h']]], + ['contrast_5fpattern_5f07_7126',['CONTRAST_PATTERN_07',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aad83171a2a85b367e58e4da0cf90af0f7',1,'cam.h']]], + ['contrast_5fpattern_5f08_7127',['CONTRAST_PATTERN_08',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aa18b7880a028826976e69d6c7e61afd8d',1,'cam.h']]], + ['contrast_5fpattern_5f09_7128',['CONTRAST_PATTERN_09',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aac20e5f4314e063f2a415a474e905c0b3',1,'cam.h']]], + ['contrast_5fpattern_5f10_7129',['CONTRAST_PATTERN_10',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aaf78ad2da749bb344ae210fc29b3b6a6b',1,'cam.h']]], + ['contrast_5fpattern_5f11_7130',['CONTRAST_PATTERN_11',['../cam_8h.html#a11111884781ecb9e9ffc2d86aa90072aa7324fe6cada96aa147869a5dd23246ed',1,'cam.h']]], + ['csnd_5fencoding_5fadpcm_7131',['CSND_ENCODING_ADPCM',['../csnd_8h.html#afb730582952b7ceec73d7dc9bf7bef39a582f62792044dd0e04d049c46c703e05',1,'csnd.h']]], + ['csnd_5fencoding_5fpcm16_7132',['CSND_ENCODING_PCM16',['../csnd_8h.html#afb730582952b7ceec73d7dc9bf7bef39ad47c5d413a01044335b3c67fa246abd0',1,'csnd.h']]], + ['csnd_5fencoding_5fpcm8_7133',['CSND_ENCODING_PCM8',['../csnd_8h.html#afb730582952b7ceec73d7dc9bf7bef39a6e356f44fa879a30ba88773f3bdca555',1,'csnd.h']]], + ['csnd_5fencoding_5fpsg_7134',['CSND_ENCODING_PSG',['../csnd_8h.html#afb730582952b7ceec73d7dc9bf7bef39a0f1435e30f89c19ba51b7c41ba17b44c',1,'csnd.h']]], + ['csnd_5floopmode_5fmanual_7135',['CSND_LOOPMODE_MANUAL',['../csnd_8h.html#afccd240f973cf154952fb917c9209719adfce2b3aaa42695a4cff0f3ab60affdb',1,'csnd.h']]], + ['csnd_5floopmode_5fnoreload_7136',['CSND_LOOPMODE_NORELOAD',['../csnd_8h.html#afccd240f973cf154952fb917c9209719ad71adeb437770dd4a31f2b76c696e26a',1,'csnd.h']]], + ['csnd_5floopmode_5fnormal_7137',['CSND_LOOPMODE_NORMAL',['../csnd_8h.html#afccd240f973cf154952fb917c9209719a2942c4a7f73f6df778630df049a241d5',1,'csnd.h']]], + ['csnd_5floopmode_5foneshot_7138',['CSND_LOOPMODE_ONESHOT',['../csnd_8h.html#afccd240f973cf154952fb917c9209719afa9f7251be9d150db5382d273c993fad',1,'csnd.h']]] +]; diff --git a/search/enumvalues_3.html b/search/enumvalues_3.html new file mode 100644 index 000000000..bc0ac8a97 --- /dev/null +++ b/search/enumvalues_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_3.js b/search/enumvalues_3.js new file mode 100644 index 000000000..c6800d12c --- /dev/null +++ b/search/enumvalues_3.js @@ -0,0 +1,85 @@ +var searchData= +[ + ['dbg_5finhibit_5fuser_5fcpu_5fexception_5fhandlers_7139',['DBG_INHIBIT_USER_CPU_EXCEPTION_HANDLERS',['../svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10a829566e4baa8029d6ae3ff75ab847966',1,'svc.h']]], + ['dbg_5fsignal_5ffault_5fexception_5fevents_7140',['DBG_SIGNAL_FAULT_EXCEPTION_EVENTS',['../svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10a684e18527dea1cd28cc7cd31a1b72c6d',1,'svc.h']]], + ['dbg_5fsignal_5fmap_5fevents_7141',['DBG_SIGNAL_MAP_EVENTS',['../svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10a4e4de28dc35f3748319a155b3a5e561c',1,'svc.h']]], + ['dbg_5fsignal_5fschedule_5fevents_7142',['DBG_SIGNAL_SCHEDULE_EVENTS',['../svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10a0870552809a38121a3f9f8bfac2a7ab5',1,'svc.h']]], + ['dbg_5fsignal_5fsyscall_5fevents_7143',['DBG_SIGNAL_SYSCALL_EVENTS',['../svc_8h.html#a83538f74b19d2e9f22e2630c77d54a10a54c6d15e4546cac787bfe3fd7511d7c9',1,'svc.h']]], + ['dbgevent_5fattach_5fprocess_7144',['DBGEVENT_ATTACH_PROCESS',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754ac0a513ef6cb7b18b882ca3b4484be376',1,'svc.h']]], + ['dbgevent_5fattach_5fthread_7145',['DBGEVENT_ATTACH_THREAD',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754ab39b8b0c362f20d8f3b6a789684ad382',1,'svc.h']]], + ['dbgevent_5fdll_5fload_7146',['DBGEVENT_DLL_LOAD',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754afa511c30bbe05ddaad3c96c2fe2237dc',1,'svc.h']]], + ['dbgevent_5fdll_5funload_7147',['DBGEVENT_DLL_UNLOAD',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a167c6fa74bcf640f56641a04983627f9',1,'svc.h']]], + ['dbgevent_5fexception_7148',['DBGEVENT_EXCEPTION',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a208e5e5396544ebdbca5c2683b496a3a',1,'svc.h']]], + ['dbgevent_5fexit_5fprocess_7149',['DBGEVENT_EXIT_PROCESS',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a2635a9230834ce193ced7e11ad3d719a',1,'svc.h']]], + ['dbgevent_5fexit_5fthread_7150',['DBGEVENT_EXIT_THREAD',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754acec82ab612fb6a61454e6acf13d9535d',1,'svc.h']]], + ['dbgevent_5fmap_7151',['DBGEVENT_MAP',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a63a5ec76f06ef716a8ba8b1ab9c0e5de',1,'svc.h']]], + ['dbgevent_5foutput_5fstring_7152',['DBGEVENT_OUTPUT_STRING',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754abee1dd8bd40f035cdb41dd2f8c4ad11c',1,'svc.h']]], + ['dbgevent_5fschedule_5fin_7153',['DBGEVENT_SCHEDULE_IN',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a07ea6a6fba8ff752c67e2c00425d3ac8',1,'svc.h']]], + ['dbgevent_5fschedule_5fout_7154',['DBGEVENT_SCHEDULE_OUT',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a62cf6b93175e700b82259c66273eb0b3',1,'svc.h']]], + ['dbgevent_5fsyscall_5fin_7155',['DBGEVENT_SYSCALL_IN',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a5357e98f2337ea80ce759ca8ad26bc03',1,'svc.h']]], + ['dbgevent_5fsyscall_5fout_7156',['DBGEVENT_SYSCALL_OUT',['../svc_8h.html#ab1fabb8a9dfe0eca4fdd8502dbfa0754a61a1fa34dc49e06bc7e2d5941fdf2614',1,'svc.h']]], + ['dbgthread_5fparameter_5fcpu_5fcreator_7157',['DBGTHREAD_PARAMETER_CPU_CREATOR',['../svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2a4edc8a76257320fcebd0176a9a05bf6d',1,'svc.h']]], + ['dbgthread_5fparameter_5fcpu_5fideal_7158',['DBGTHREAD_PARAMETER_CPU_IDEAL',['../svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2a38a33d4f8a4da4fce35bafdeaa43deb7',1,'svc.h']]], + ['dbgthread_5fparameter_5fpriority_7159',['DBGTHREAD_PARAMETER_PRIORITY',['../svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2a97e8406ac167715321789f422a4d16c2',1,'svc.h']]], + ['dbgthread_5fparameter_5fscheduling_5fmask_5flow_7160',['DBGTHREAD_PARAMETER_SCHEDULING_MASK_LOW',['../svc_8h.html#a3b0c49c519df71cc261f32f8bbede7e2a2e0c36bd04e34f464fdc099160c2a07d',1,'svc.h']]], + ['deassert_5fafter_5fwait_7161',['DEASSERT_AFTER_WAIT',['../pxidev_8h.html#a4692731299afc422de8e2c7956636ebea1fd0ae522b445d2c19113dddaf1c646b',1,'pxidev.h']]], + ['deassert_5fbefore_5fwait_7162',['DEASSERT_BEFORE_WAIT',['../pxidev_8h.html#a4692731299afc422de8e2c7956636ebea236c0abf6bf06be30062041cb2ff1fea',1,'pxidev.h']]], + ['deassert_5fnone_7163',['DEASSERT_NONE',['../pxidev_8h.html#a4692731299afc422de8e2c7956636ebea3d516ed34741a0de767ef65218b3bb34',1,'pxidev.h']]], + ['debugdevice_5fconsole_7164',['debugDevice_CONSOLE',['../console_8h.html#ab80a9da3fec1fbf425035eeaa9b51c28ae5f4a5fe20d1b01a2e211cfe394325d7',1,'console.h']]], + ['debugdevice_5fnull_7165',['debugDevice_NULL',['../console_8h.html#ab80a9da3fec1fbf425035eeaa9b51c28af3ea53eb5c0a68a80dbeb1c0c31b6849',1,'console.h']]], + ['debugdevice_5fsvc_7166',['debugDevice_SVC',['../console_8h.html#ab80a9da3fec1fbf425035eeaa9b51c28a795dfb32f1905816a543c95e5ed17b52',1,'console.h']]], + ['decompress_5fdummy_7167',['DECOMPRESS_DUMMY',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a7e88ffc0dd6b4591500ff8d06f24901d',1,'decompress.h']]], + ['decompress_5fhuff_7168',['DECOMPRESS_HUFF',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a552ec2ffb0b59f738ead8790d726bba7',1,'decompress.h']]], + ['decompress_5fhuff1_7169',['DECOMPRESS_HUFF1',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47af85a1bd7a05035d44931e8ae2b7c959a',1,'decompress.h']]], + ['decompress_5fhuff2_7170',['DECOMPRESS_HUFF2',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a2c9180a08bf80fb3910795123607453a',1,'decompress.h']]], + ['decompress_5fhuff3_7171',['DECOMPRESS_HUFF3',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a29d334d516ddfdc7a7ace93270a95d72',1,'decompress.h']]], + ['decompress_5fhuff4_7172',['DECOMPRESS_HUFF4',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a149b900d1f0643108f3f987e30ddff1a',1,'decompress.h']]], + ['decompress_5fhuff5_7173',['DECOMPRESS_HUFF5',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a30ec47e273fc5b9dadcb98f28ff29e6f',1,'decompress.h']]], + ['decompress_5fhuff6_7174',['DECOMPRESS_HUFF6',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47adcd62d63c577651263fb6d6240c2370d',1,'decompress.h']]], + ['decompress_5fhuff7_7175',['DECOMPRESS_HUFF7',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47acfc8e3dda6f87a22010f8abdae8976a2',1,'decompress.h']]], + ['decompress_5fhuff8_7176',['DECOMPRESS_HUFF8',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a70bb6597010e5f3ae215eaa05b71f826',1,'decompress.h']]], + ['decompress_5flz10_7177',['DECOMPRESS_LZ10',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a1f5ccfe86c3c4d2efa980b1a40f2b94d',1,'decompress.h']]], + ['decompress_5flz11_7178',['DECOMPRESS_LZ11',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a7f78c3240f1cc1b6ea07e9f8c5057e10',1,'decompress.h']]], + ['decompress_5flzss_7179',['DECOMPRESS_LZSS',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a0ae27226b18f8697786ff436fecc2abb',1,'decompress.h']]], + ['decompress_5frle_7180',['DECOMPRESS_RLE',['../decompress_8h.html#af608dea9741e036c8219ca0acf41ca47a7ab5e09ffe4b9d8dc8533e8b80cfc14a',1,'decompress.h']]], + ['dmacfg_5fdst_5fis_5fdevice_7181',['DMACFG_DST_IS_DEVICE',['../svc_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa8aaca715197bd1cb3677d4a5054475e4',1,'svc.h']]], + ['dmacfg_5fkeep_5flocked_7182',['DMACFG_KEEP_LOCKED',['../svc_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aaf5ab7887ce35d2081382ebcca6f244a7',1,'svc.h']]], + ['dmacfg_5fsrc_5fis_5fdevice_7183',['DMACFG_SRC_IS_DEVICE',['../svc_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa367fac3881d4b71507ef5dedc1056daa',1,'svc.h']]], + ['dmacfg_5fuse_5fdst_5fconfig_7184',['DMACFG_USE_DST_CONFIG',['../svc_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aacec84f8191c71ebe4ee1fea21f6da313',1,'svc.h']]], + ['dmacfg_5fuse_5fsrc_5fconfig_7185',['DMACFG_USE_SRC_CONFIG',['../svc_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aa7e14b15bddd396c19222999d931c9c31',1,'svc.h']]], + ['dmacfg_5fwait_5favailable_7186',['DMACFG_WAIT_AVAILABLE',['../svc_8h.html#aa618c4d8c29ef4efe6f10c741fb1f47aabca3d1ffd34e4da56caf2b4f605bab4b',1,'svc.h']]], + ['dmarst_5fresume_5fdevice_7187',['DMARST_RESUME_DEVICE',['../svc_8h.html#ad63240694c6dc2a28c24bfc2db90ad7aafba2c004446b8bcc6c178cc2ebcc9320',1,'svc.h']]], + ['dmarst_5funlock_7188',['DMARST_UNLOCK',['../svc_8h.html#ad63240694c6dc2a28c24bfc2db90ad7aae57d3f8a94c001e6d7d3bcf05cdd91f0',1,'svc.h']]], + ['dmastate_5fdone_7189',['DMASTATE_DONE',['../svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebfadbb15c5adf95a4a14ac003c55d8c76e9',1,'svc.h']]], + ['dmastate_5frunning_7190',['DMASTATE_RUNNING',['../svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebfae44a8d9ac979aa20cd6851f8b2663291',1,'svc.h']]], + ['dmastate_5fstarting_7191',['DMASTATE_STARTING',['../svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebfa4cfd2baa9583d9e77769f5df64de91cf',1,'svc.h']]], + ['dmastate_5fwfp_5fdst_7192',['DMASTATE_WFP_DST',['../svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebfa9ba0cef50f71f9aa4206a49ec23909c1',1,'svc.h']]], + ['dmastate_5fwfp_5fsrc_7193',['DMASTATE_WFP_SRC',['../svc_8h.html#a8adb9656d6ea50580adaf9c8e7d9eebfa053576718864451c3aaee2cd88784570',1,'svc.h']]], + ['ds_5fcannot_5frecover_7194',['DS_CANNOT_RECOVER',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99a0e2a8ccc9b58047bbbd218cfbd1db315',1,'nim.h']]], + ['ds_5fcommitting_7195',['DS_COMMITTING',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99a43453458305e7a0d446d6815dc8218a8',1,'nim.h']]], + ['ds_5fcreate_5fcontext_7196',['DS_CREATE_CONTEXT',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99a43439a49311b0f5c616fe5d9b3bbcba9',1,'nim.h']]], + ['ds_5fdownload_5fcontents_7197',['DS_DOWNLOAD_CONTENTS',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99a5e4f82b39f7bc77de74a33a30b89c425',1,'nim.h']]], + ['ds_5fdownload_5ftmd_7198',['DS_DOWNLOAD_TMD',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99a87d7f0d12006b5463b74c3fd2572ab11',1,'nim.h']]], + ['ds_5ffinished_7199',['DS_FINISHED',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99aef98c6ce321fcab9027d734f756cb3e5',1,'nim.h']]], + ['ds_5finitialized_7200',['DS_INITIALIZED',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99aff967378cb9c0d0d6519eb3623868aa6',1,'nim.h']]], + ['ds_5finvalid_7201',['DS_INVALID',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99a767e5948f84135fa9d2a9e05fe1f3b9e',1,'nim.h']]], + ['ds_5fnot_5finitialized_7202',['DS_NOT_INITIALIZED',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99aedc8fb4cc47eb55375aeda921c599480',1,'nim.h']]], + ['ds_5fprepare_5fsave_5fdata_7203',['DS_PREPARE_SAVE_DATA',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99a8d76690fa959b9214d8a933534b85aad',1,'nim.h']]], + ['ds_5fversion_5ferror_7204',['DS_VERSION_ERROR',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99a8ed24d3e4c6e79c0f895214ae8934c2a',1,'nim.h']]], + ['ds_5fwait_5fcommit_7205',['DS_WAIT_COMMIT',['../nim_8h.html#afe21b8e82d3ea0c25ee8d00e9accdc99afdab30cbbb4b07b513f9c3a0675cd452',1,'nim.h']]], + ['dsp_5finterrupt_5fpipe_7206',['DSP_INTERRUPT_PIPE',['../dsp_8h.html#ab0628a987bd913080b9aaf672737061eaac8d6062e2ce93a63bf9098955b04046',1,'dsp.h']]], + ['dsphook_5foncancel_7207',['DSPHOOK_ONCANCEL',['../dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149a7e0e9212bb8a48bcfe85782714e51e0b',1,'dsp.h']]], + ['dsphook_5fonsleep_7208',['DSPHOOK_ONSLEEP',['../dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149a683e68506808fbb4cd057972f5b878be',1,'dsp.h']]], + ['dsphook_5fonwakeup_7209',['DSPHOOK_ONWAKEUP',['../dsp_8h.html#ac1a0e08bb66aa1b6bfefd1e586db2149ac0e23de4d01222d11f9cf3ae5045a633',1,'dsp.h']]], + ['dutycycle_5f0_7210',['DutyCycle_0',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473ba9d91665edbc53cb3c1b38ab65c9e148f',1,'csnd.h']]], + ['dutycycle_5f12_7211',['DutyCycle_12',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473ba97eb8f9594b0a93ede4822fff2617395',1,'csnd.h']]], + ['dutycycle_5f25_7212',['DutyCycle_25',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473ba1c2f324b689725a54bc022735077c60d',1,'csnd.h']]], + ['dutycycle_5f37_7213',['DutyCycle_37',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473ba41468ebe9f108e9e631a43f8e721f0e6',1,'csnd.h']]], + ['dutycycle_5f50_7214',['DutyCycle_50',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473ba74404af2e56a99dd7420b8a8d31bb274',1,'csnd.h']]], + ['dutycycle_5f62_7215',['DutyCycle_62',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473ba62cbe7729975083926caf9b6f86eed46',1,'csnd.h']]], + ['dutycycle_5f75_7216',['DutyCycle_75',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473ba7bfe315fdd8bb531c05d82cdf047da19',1,'csnd.h']]], + ['dutycycle_5f87_7217',['DutyCycle_87',['../csnd_8h.html#acae9c70ff02a1b5cf2521a841b11473ba0f083b7bb0225ac272a7bd937bd0b836',1,'csnd.h']]], + ['dvle_5fconst_5fbool_7218',['DVLE_CONST_BOOL',['../shbin_8h.html#a20873c765b1c44b7c07cfef62ff2cf09a8565a5d83c51b59af0a3f732d458e384',1,'shbin.h']]], + ['dvle_5fconst_5ffloat24_7219',['DVLE_CONST_FLOAT24',['../shbin_8h.html#a20873c765b1c44b7c07cfef62ff2cf09ac34fa911905a48d40d01403ab69fc438',1,'shbin.h']]], + ['dvle_5fconst_5fu8_7220',['DVLE_CONST_u8',['../shbin_8h.html#a20873c765b1c44b7c07cfef62ff2cf09acd0a71b8614aa544980ce08a846fb7e8',1,'shbin.h']]] +]; diff --git a/search/enumvalues_4.html b/search/enumvalues_4.html new file mode 100644 index 000000000..ef94dd8d7 --- /dev/null +++ b/search/enumvalues_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_4.js b/search/enumvalues_4.js new file mode 100644 index 000000000..6b995b549 --- /dev/null +++ b/search/enumvalues_4.js @@ -0,0 +1,48 @@ +var searchData= +[ + ['effect_5fmono_7221',['EFFECT_MONO',['../cam_8h.html#a7e400ffb69486cc57f317d94eca445bfa0c5e07149804680c009899630481fd25',1,'cam.h']]], + ['effect_5fnegafilm_7222',['EFFECT_NEGAFILM',['../cam_8h.html#a7e400ffb69486cc57f317d94eca445bfa2f6adb0a2d5ff94e35b286ca243fd986',1,'cam.h']]], + ['effect_5fnegative_7223',['EFFECT_NEGATIVE',['../cam_8h.html#a7e400ffb69486cc57f317d94eca445bfa2a66cf09d6b59ff74015e9e5fa3b81f3',1,'cam.h']]], + ['effect_5fnone_7224',['EFFECT_NONE',['../cam_8h.html#a7e400ffb69486cc57f317d94eca445bfad6b811c739c8c8ed4e7d5f1bcc9c0915',1,'cam.h']]], + ['effect_5fsepia_7225',['EFFECT_SEPIA',['../cam_8h.html#a7e400ffb69486cc57f317d94eca445bfaac1c03f495cf0262a3378b87944c5807',1,'cam.h']]], + ['effect_5fsepia01_7226',['EFFECT_SEPIA01',['../cam_8h.html#a7e400ffb69486cc57f317d94eca445bfac45e1b7b99506e9493c32b14aa3e6b4f',1,'cam.h']]], + ['errf_5ferrtype_5fcard_5fremoved_7227',['ERRF_ERRTYPE_CARD_REMOVED',['../errf_8h.html#a61a0c7d3c30f1082f5ca26644873e9f1a4dd431336e8dc4a819f97ace6b5c8e39',1,'errf.h']]], + ['errf_5ferrtype_5fexception_7228',['ERRF_ERRTYPE_EXCEPTION',['../errf_8h.html#a61a0c7d3c30f1082f5ca26644873e9f1a5f67936389cd0f9d0bf7d9d4060f5dcc',1,'errf.h']]], + ['errf_5ferrtype_5ffailure_7229',['ERRF_ERRTYPE_FAILURE',['../errf_8h.html#a61a0c7d3c30f1082f5ca26644873e9f1ae455818133dfc035f27bc0039496161e',1,'errf.h']]], + ['errf_5ferrtype_5fgeneric_7230',['ERRF_ERRTYPE_GENERIC',['../errf_8h.html#a61a0c7d3c30f1082f5ca26644873e9f1a974d51ce630cc09441279ab080d0e666',1,'errf.h']]], + ['errf_5ferrtype_5flog_5fonly_7231',['ERRF_ERRTYPE_LOG_ONLY',['../errf_8h.html#a61a0c7d3c30f1082f5ca26644873e9f1a45e0f0ed85c5b226806ceb98548fd5f1',1,'errf.h']]], + ['errf_5ferrtype_5fnand_5fdamaged_7232',['ERRF_ERRTYPE_NAND_DAMAGED',['../errf_8h.html#a61a0c7d3c30f1082f5ca26644873e9f1ab0243f356f22723f6a5d1ff01eff05af',1,'errf.h']]], + ['errf_5fexception_5fdata_5fabort_7233',['ERRF_EXCEPTION_DATA_ABORT',['../errf_8h.html#a8b4fd015c0f15a8c060a4dcd4d385fb4ac3fcf2185c54992445e425ca124364ba',1,'errf.h']]], + ['errf_5fexception_5fprefetch_5fabort_7234',['ERRF_EXCEPTION_PREFETCH_ABORT',['../errf_8h.html#a8b4fd015c0f15a8c060a4dcd4d385fb4a22fd747926a2427e836ca01c0f08749f',1,'errf.h']]], + ['errf_5fexception_5fundefined_7235',['ERRF_EXCEPTION_UNDEFINED',['../errf_8h.html#a8b4fd015c0f15a8c060a4dcd4d385fb4a0dc50b554bd87bac9e332a354d534426',1,'errf.h']]], + ['errf_5fexception_5fvfp_7236',['ERRF_EXCEPTION_VFP',['../errf_8h.html#a8b4fd015c0f15a8c060a4dcd4d385fb4ada008b276032c006a4963a0c21c79762',1,'errf.h']]], + ['error_5fcode_7237',['ERROR_CODE',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffdaf92feceab1e86b1db3922220d4e26664',1,'error.h']]], + ['error_5fcode_5flanguage_7238',['ERROR_CODE_LANGUAGE',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffdad4c9df6942a9735204062e56acc4ab67',1,'error.h']]], + ['error_5feula_7239',['ERROR_EULA',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffda858b3c0206d6d0f5d3cda16042e1abd8',1,'error.h']]], + ['error_5feula_5flanguage_7240',['ERROR_EULA_LANGUAGE',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffda062aae4599248eaa95d57de9ac2ee3e3',1,'error.h']]], + ['error_5flanguage_5fflag_7241',['ERROR_LANGUAGE_FLAG',['../error_8h.html#a06fc87d81c62e9abb8790b6e5713c55bafb9e7dbc738a2577514a8138ec422cc1',1,'error.h']]], + ['error_5ftext_7242',['ERROR_TEXT',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffdadedd4701f21fd3366217c2475b97def0',1,'error.h']]], + ['error_5ftext_5flanguage_7243',['ERROR_TEXT_LANGUAGE',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffdae1a094b404a29ac5e378ce171ceb58e4',1,'error.h']]], + ['error_5ftext_5flanguage_5fword_5fwrap_7244',['ERROR_TEXT_LANGUAGE_WORD_WRAP',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffdaac245e4db1720be42d78eefe9825d301',1,'error.h']]], + ['error_5ftext_5fword_5fwrap_7245',['ERROR_TEXT_WORD_WRAP',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffda0862f205f0ca80f76b49a867eed6f086',1,'error.h']]], + ['error_5ftype_5fagree_7246',['ERROR_TYPE_AGREE',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffdab240bc96ed151585772beed748a48973',1,'error.h']]], + ['error_5ftype_5feula_5fdraw_5fonly_7247',['ERROR_TYPE_EULA_DRAW_ONLY',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffda0140e9a3dec9b05cb39cbb1a98414a66',1,'error.h']]], + ['error_5ftype_5feula_5ffirst_5fboot_7248',['ERROR_TYPE_EULA_FIRST_BOOT',['../error_8h.html#a0455f547a8d97c35c868b184e0c92ffda147b3e04139b891cd7f909af63ba7505',1,'error.h']]], + ['error_5fword_5fwrap_5fflag_7249',['ERROR_WORD_WRAP_FLAG',['../error_8h.html#a06fc87d81c62e9abb8790b6e5713c55ba9dcc1643730efd181f38f6ec0601fd29',1,'error.h']]], + ['excevent_5fattach_5fbreak_7250',['EXCEVENT_ATTACH_BREAK',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a84e1ee736127c4a2fed63ba26f7f62de',1,'svc.h']]], + ['excevent_5fdata_5fabort_7251',['EXCEVENT_DATA_ABORT',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961ad0388e2bb9502bf104eeae6d61d6178d',1,'svc.h']]], + ['excevent_5fdebugger_5fbreak_7252',['EXCEVENT_DEBUGGER_BREAK',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a5447fb68701a56078c86d7c11825d4b6',1,'svc.h']]], + ['excevent_5fprefetch_5fabort_7253',['EXCEVENT_PREFETCH_ABORT',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a8a8d6492fced221e5c4fafba19af8336',1,'svc.h']]], + ['excevent_5fstop_5fpoint_7254',['EXCEVENT_STOP_POINT',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961ade5c633f2939b0c6847bf00eb191e09d',1,'svc.h']]], + ['excevent_5funaligned_5fdata_5faccess_7255',['EXCEVENT_UNALIGNED_DATA_ACCESS',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a395e456839766ff94e2ed7e62a4393a6',1,'svc.h']]], + ['excevent_5fundefined_5finstruction_7256',['EXCEVENT_UNDEFINED_INSTRUCTION',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a93595971d3fb771d02e6aed6512af6e9',1,'svc.h']]], + ['excevent_5fundefined_5fsyscall_7257',['EXCEVENT_UNDEFINED_SYSCALL',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a069cc910b91b81ad647d57eda968d6f0',1,'svc.h']]], + ['excevent_5fuser_5fbreak_7258',['EXCEVENT_USER_BREAK',['../svc_8h.html#ad31e210a0f421d1ca7f5c55c7110f961a2675f2c2f8166cebd857bf45bf200380',1,'svc.h']]], + ['exitprocess_5fevent_5fdebug_5fterminate_7259',['EXITPROCESS_EVENT_DEBUG_TERMINATE',['../svc_8h.html#a2e62624dcd35d5795b6f1c99933c576fa16ce26136f8806a56dc5419954a53010',1,'svc.h']]], + ['exitprocess_5fevent_5fexit_7260',['EXITPROCESS_EVENT_EXIT',['../svc_8h.html#a2e62624dcd35d5795b6f1c99933c576faccb26b6a0c89e63f867c8882b65f7d57',1,'svc.h']]], + ['exitprocess_5fevent_5fterminate_7261',['EXITPROCESS_EVENT_TERMINATE',['../svc_8h.html#a2e62624dcd35d5795b6f1c99933c576faefc8659c329768612032ddd127a1eade',1,'svc.h']]], + ['exitthread_5fevent_5fexit_7262',['EXITTHREAD_EVENT_EXIT',['../svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9af6e122c684d430dbf1e0154c9861da4f',1,'svc.h']]], + ['exitthread_5fevent_5fexit_5fprocess_7263',['EXITTHREAD_EVENT_EXIT_PROCESS',['../svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9a2d99741dd3861d2c2cc0ad3de081151b',1,'svc.h']]], + ['exitthread_5fevent_5fterminate_7264',['EXITTHREAD_EVENT_TERMINATE',['../svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9ad91d858c68b3f94b62fe4d275f9e9bf5',1,'svc.h']]], + ['exitthread_5fevent_5fterminate_5fprocess_7265',['EXITTHREAD_EVENT_TERMINATE_PROCESS',['../svc_8h.html#a9ab9649e4a4445bcf8cba73119895ab9ac862b5b2c7d0efb53e0f3143c7601ea4',1,'svc.h']]] +]; diff --git a/search/enumvalues_5.html b/search/enumvalues_5.html new file mode 100644 index 000000000..1c2e2f33d --- /dev/null +++ b/search/enumvalues_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_5.js b/search/enumvalues_5.js new file mode 100644 index 000000000..670556d39 --- /dev/null +++ b/search/enumvalues_5.js @@ -0,0 +1,58 @@ +var searchData= +[ + ['flip_5fhorizontal_7266',['FLIP_HORIZONTAL',['../cam_8h.html#a1cbc2ccd7803b8b7ff4f23446b94030ea608fab443d799216e7b3ea896d8cea76',1,'cam.h']]], + ['flip_5fnone_7267',['FLIP_NONE',['../cam_8h.html#a1cbc2ccd7803b8b7ff4f23446b94030ea191e8049b2acf76153552498b008545b',1,'cam.h']]], + ['flip_5freverse_7268',['FLIP_REVERSE',['../cam_8h.html#a1cbc2ccd7803b8b7ff4f23446b94030ea35eb04b18d2ef31e7904471d91062932',1,'cam.h']]], + ['flip_5fvertical_7269',['FLIP_VERTICAL',['../cam_8h.html#a1cbc2ccd7803b8b7ff4f23446b94030eab9463eeeb8c3a955fd8e453082e9e3c4',1,'cam.h']]], + ['frame_5frate_5f10_7270',['FRAME_RATE_10',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688a275a0d144555c1e6b26ad0bd21404083',1,'cam.h']]], + ['frame_5frate_5f15_7271',['FRAME_RATE_15',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688adaf74a50f89e93efd5cdba07dae49c54',1,'cam.h']]], + ['frame_5frate_5f15_5fto_5f10_7272',['FRAME_RATE_15_TO_10',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688ae655c75dbaca8df7607abc5c40aa216f',1,'cam.h']]], + ['frame_5frate_5f15_5fto_5f2_7273',['FRAME_RATE_15_TO_2',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688a466df8d915c97b77e4084b99db15257a',1,'cam.h']]], + ['frame_5frate_5f15_5fto_5f5_7274',['FRAME_RATE_15_TO_5',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688a91893eb7eb5a87de191edb6a6ca19530',1,'cam.h']]], + ['frame_5frate_5f20_7275',['FRAME_RATE_20',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688ad579560ad2ec0a3df46957d5a35d4531',1,'cam.h']]], + ['frame_5frate_5f20_5fto_5f10_7276',['FRAME_RATE_20_TO_10',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688a5da0b40cf95f2b4d9eee5a9511d98ca4',1,'cam.h']]], + ['frame_5frate_5f20_5fto_5f5_7277',['FRAME_RATE_20_TO_5',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688af35d2c6f909c71014a60896c609e3bd6',1,'cam.h']]], + ['frame_5frate_5f30_7278',['FRAME_RATE_30',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688a3acf5f2854e10db6cecf2a3b872f04ef',1,'cam.h']]], + ['frame_5frate_5f30_5fto_5f10_7279',['FRAME_RATE_30_TO_10',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688a23eb04ce83346cebc0332b573f6e7556',1,'cam.h']]], + ['frame_5frate_5f30_5fto_5f5_7280',['FRAME_RATE_30_TO_5',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688abdd3a0c22da38cd4afda4ebd74dbf070',1,'cam.h']]], + ['frame_5frate_5f5_7281',['FRAME_RATE_5',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688a6baadc794f7027aa7e2e28f62f36744d',1,'cam.h']]], + ['frame_5frate_5f8_5f5_7282',['FRAME_RATE_8_5',['../cam_8h.html#a3a68c3565d2fec0c45be091333b16688a4174bf4634a793317c5517163a6021c0',1,'cam.h']]], + ['friend_5fregistered_5fuser_7283',['FRIEND_REGISTERED_USER',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210cea89f2fe1d7eb0972ad79d8b822b9387a8',1,'frd.h']]], + ['friend_5fsent_5finvitation_7284',['FRIEND_SENT_INVITATION',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210cea581fc030260d6166264caf3cbe83da35',1,'frd.h']]], + ['friend_5fupdated_5fmii_7285',['FRIEND_UPDATED_MII',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210ceaf3308c826c2e15972dd1d636121278fc',1,'frd.h']]], + ['friend_5fupdated_5fpresence_7286',['FRIEND_UPDATED_PRESENCE',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210ceaf7ddef1f8c13f6b25212a93437950d7d',1,'frd.h']]], + ['friend_5fupdated_5fprofile_7287',['FRIEND_UPDATED_PROFILE',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210cea90345854715456864c94b5ab4d694902',1,'frd.h']]], + ['friend_5fwent_5foffline_7288',['FRIEND_WENT_OFFLINE',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210ceab26d06003a4f57acc59a3eeea44c253e',1,'frd.h']]], + ['friend_5fwent_5fonline_7289',['FRIEND_WENT_ONLINE',['../frd_8h.html#a943bc52f706bd0462355f5dc74d210ceadb9362be5e6797b2713bdf79ae917f12',1,'frd.h']]], + ['fs_5fattribute_5farchive_7290',['FS_ATTRIBUTE_ARCHIVE',['../fs_8h.html#aa156d1cebb38c8a65846c4d9c006012aa9b60bc97a4bd63ba24a3431d1905695a',1,'fs.h']]], + ['fs_5fattribute_5fdirectory_7291',['FS_ATTRIBUTE_DIRECTORY',['../fs_8h.html#aa156d1cebb38c8a65846c4d9c006012aadd210297e401efd4d60174cce2b63df6',1,'fs.h']]], + ['fs_5fattribute_5fhidden_7292',['FS_ATTRIBUTE_HIDDEN',['../fs_8h.html#aa156d1cebb38c8a65846c4d9c006012aa964ecf3f9b625100372d13418dff14bf',1,'fs.h']]], + ['fs_5fattribute_5fread_5fonly_7293',['FS_ATTRIBUTE_READ_ONLY',['../fs_8h.html#aa156d1cebb38c8a65846c4d9c006012aaeb36f9fbbc299cfedc2ed20a8adfc785',1,'fs.h']]], + ['fs_5fopen_5fcreate_7294',['FS_OPEN_CREATE',['../fs_8h.html#ae6dceca96ec2c7a1b4aa211264a87ef6a5a0af82eec8be53934152016600bea9a',1,'fs.h']]], + ['fs_5fopen_5fread_7295',['FS_OPEN_READ',['../fs_8h.html#ae6dceca96ec2c7a1b4aa211264a87ef6aebc25118925a19a2d7d8593fdb21a574',1,'fs.h']]], + ['fs_5fopen_5fwrite_7296',['FS_OPEN_WRITE',['../fs_8h.html#ae6dceca96ec2c7a1b4aa211264a87ef6a3bd1b8a673bf36d0d7aa8eb543dc3fb2',1,'fs.h']]], + ['fs_5fwrite_5fflush_7297',['FS_WRITE_FLUSH',['../fs_8h.html#a56a0f36da7f9eaaf54bd05cc2bf49173a5ca37b181e92ad91749a114aeb05325f',1,'fs.h']]], + ['fs_5fwrite_5fupdate_5ftime_7298',['FS_WRITE_UPDATE_TIME',['../fs_8h.html#a56a0f36da7f9eaaf54bd05cc2bf49173aeefbba4772c406afbefc2fdb2c05a469',1,'fs.h']]], + ['fsaccess_5fboss_7299',['FSACCESS_BOSS',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57ac1387f97bb06a92e5cc13fba9f435e42',1,'exheader.h']]], + ['fsaccess_5fcardboard_7300',['FSACCESS_CARDBOARD',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57aceae029cb4938d599aa9ec0116f6e383',1,'exheader.h']]], + ['fsaccess_5fcategory_5ffilesystem_5ftool_7301',['FSACCESS_CATEGORY_FILESYSTEM_TOOL',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57adc44da0c578decbc237d0597f6c7a501',1,'exheader.h']]], + ['fsaccess_5fcategory_5fhardware_5fcheck_7302',['FSACCESS_CATEGORY_HARDWARE_CHECK',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57aa0959ae8c785596b24e1414473616274',1,'exheader.h']]], + ['fsaccess_5fcategory_5fhome_5fmenu_7303',['FSACCESS_CATEGORY_HOME_MENU',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a37a10bb762acce357dfb4d141bffa2c1',1,'exheader.h']]], + ['fsaccess_5fcategory_5fsystem_5fapplication_7304',['FSACCESS_CATEGORY_SYSTEM_APPLICATION',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a3391909ca177f86eb076ea9c749879fc',1,'exheader.h']]], + ['fsaccess_5fcategory_5fsystem_5fsettings_7305',['FSACCESS_CATEGORY_SYSTEM_SETTINGS',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a93781bbb725ed373351d19f11e94b7c9',1,'exheader.h']]], + ['fsaccess_5fcore_7306',['FSACCESS_CORE',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a491ff123cca27e2acb3f4c3973988694',1,'exheader.h']]], + ['fsaccess_5fdebug_7307',['FSACCESS_DEBUG',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57ad79904de939173428c56126027385c55',1,'exheader.h']]], + ['fsaccess_5fexport_5fimport_5fivs_7308',['FSACCESS_EXPORT_IMPORT_IVS',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a93a0d7941489159137dda3462796e548',1,'exheader.h']]], + ['fsaccess_5fnandro_5fro_7309',['FSACCESS_NANDRO_RO',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a2451b80d2ec2b38c9902cbb6fd4b9d9d',1,'exheader.h']]], + ['fsaccess_5fnandro_5frw_7310',['FSACCESS_NANDRO_RW',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a26b7742cbbf968911e5a4e725486fcef',1,'exheader.h']]], + ['fsaccess_5fnandrw_7311',['FSACCESS_NANDRW',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a7b03cf4ecf4ad65235441b61de3533b6',1,'exheader.h']]], + ['fsaccess_5fsavedata_5fmove_7312',['FSACCESS_SAVEDATA_MOVE',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a54d3ba9faeb053367f3d492873d467f1',1,'exheader.h']]], + ['fsaccess_5fsdmc_5frw_7313',['FSACCESS_SDMC_RW',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a852b9a0e174eb406202271f9b4ccedd7',1,'exheader.h']]], + ['fsaccess_5fsdmc_5fwo_7314',['FSACCESS_SDMC_WO',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a6cbc234d93610f080818d274b0afa7ec',1,'exheader.h']]], + ['fsaccess_5fseeddb_7315',['FSACCESS_SEEDDB',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57aec3ccd193a9ac3f8196ca299ec1da28e',1,'exheader.h']]], + ['fsaccess_5fshell_7316',['FSACCESS_SHELL',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a37cb32efcdf2207ec26946bf46ac1ab9',1,'exheader.h']]], + ['fsaccess_5fshop_7317',['FSACCESS_SHOP',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57ab25c3e03ec7b756162b99c33d1a44ae1',1,'exheader.h']]], + ['fsaccess_5fswitch_5fcleanup_7318',['FSACCESS_SWITCH_CLEANUP',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a98fc4b76813ffff268121edd9d05da02',1,'exheader.h']]], + ['fsaccess_5ftwlcard_5fbackup_7319',['FSACCESS_TWLCARD_BACKUP',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a4ef52e7f6e7051b83882fdab5d03ea18',1,'exheader.h']]], + ['fsaccess_5ftwlnand_5fdata_7320',['FSACCESS_TWLNAND_DATA',['../exheader_8h.html#ab04a0655cd1e3bcac5e8f48c18df1a57a2568ff0356be7dcfdb57ed6239cd4d88',1,'exheader.h']]] +]; diff --git a/search/enumvalues_6.html b/search/enumvalues_6.html new file mode 100644 index 000000000..f985df91d --- /dev/null +++ b/search/enumvalues_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_6.js b/search/enumvalues_6.js new file mode 100644 index 000000000..96f082085 --- /dev/null +++ b/search/enumvalues_6.js @@ -0,0 +1,286 @@ +var searchData= +[ + ['geometry_5fshdr_7321',['GEOMETRY_SHDR',['../shbin_8h.html#aa9cc048117db5beffa628f10cad82c4ca49b1cd670a0a77f2ffb9b42f82b7d8de',1,'shbin.h']]], + ['gfx_5fbottom_7322',['GFX_BOTTOM',['../gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09cac1be8c2dee1ab5520b30ba069afa7541',1,'gfx.h']]], + ['gfx_5fleft_7323',['GFX_LEFT',['../gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1bfda6a35adc49eb4631246ea4e637e1',1,'gfx.h']]], + ['gfx_5fright_7324',['GFX_RIGHT',['../gfx_8h.html#ab9bacc1d598f0f6e4d5ef8bbeb466b03a1e16d704e9b5a318e3f73aaaba2f38f9',1,'gfx.h']]], + ['gfx_5ftop_7325',['GFX_TOP',['../gfx_8h.html#a356112d87f5cf6bbba3ea3b6b010e09caf9d44178134d07cf9c5923200e14af09',1,'gfx.h']]], + ['glyph_5fpos_5fat_5fbaseline_7326',['GLYPH_POS_AT_BASELINE',['../font_8h.html#abc5c98fcc1211af2b80116dd6e0a035da3cd48e7e3e19c1d32f290014dab28f09',1,'font.h']]], + ['glyph_5fpos_5fcalc_5fvtxcoord_7327',['GLYPH_POS_CALC_VTXCOORD',['../font_8h.html#abc5c98fcc1211af2b80116dd6e0a035da88a29166abd827d076f67a0a47d5cae9',1,'font.h']]], + ['glyph_5fpos_5fy_5fpoints_5fup_7328',['GLYPH_POS_Y_POINTS_UP',['../font_8h.html#abc5c98fcc1211af2b80116dd6e0a035da54a245d51be82c46be1820a2b6e0fcba',1,'font.h']]], + ['gpu_5fa4_7329',['GPU_A4',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa647b190ec1a8ab75fd9636d4a24e5866',1,'enums.h']]], + ['gpu_5fa8_7330',['GPU_A8',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa41201ba554a4b11bb1f76985b89a256e',1,'enums.h']]], + ['gpu_5fadd_7331',['GPU_ADD',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1a76c8833caf6cd58a784b748d7428c4',1,'enums.h']]], + ['gpu_5fadd_5fmultiply_7332',['GPU_ADD_MULTIPLY',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a61abe2d997b39204c0f6c38621ff2003',1,'enums.h']]], + ['gpu_5fadd_5fsigned_7333',['GPU_ADD_SIGNED',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a15b65d45e41a2baa040e85257461b402',1,'enums.h']]], + ['gpu_5falways_7334',['GPU_ALWAYS',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a2021d04562bc3b47a305c57dff840c2e',1,'enums.h']]], + ['gpu_5fblend_5fadd_7335',['GPU_BLEND_ADD',['../enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5a39318f81ae768d8a6119e7965a11bd50',1,'enums.h']]], + ['gpu_5fblend_5fmax_7336',['GPU_BLEND_MAX',['../enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5a66ec6a506d2bd5578f0ef3bf01c7b0ab',1,'enums.h']]], + ['gpu_5fblend_5fmin_7337',['GPU_BLEND_MIN',['../enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5a636cea674887f52c3e28e87a8753d2ef',1,'enums.h']]], + ['gpu_5fblend_5freverse_5fsubtract_7338',['GPU_BLEND_REVERSE_SUBTRACT',['../enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5af7637331691d24e497db545393bd34ec',1,'enums.h']]], + ['gpu_5fblend_5fsubtract_7339',['GPU_BLEND_SUBTRACT',['../enums_8h.html#ade416bc8de7b235e270c76f371d3cfb5ad56ffa827b7981cecf31c0928c54d040',1,'enums.h']]], + ['gpu_5fbump_5fas_5fbump_7340',['GPU_BUMP_AS_BUMP',['../enums_8h.html#a588ef2d1e18ac7aa814fc4d622213ca1a525c1422911b4064f106267d9557e51f',1,'enums.h']]], + ['gpu_5fbump_5fas_5ftang_7341',['GPU_BUMP_AS_TANG',['../enums_8h.html#a588ef2d1e18ac7aa814fc4d622213ca1a9ccd510128e43e5f42311458e1fba8ff',1,'enums.h']]], + ['gpu_5fbump_5fnot_5fused_7342',['GPU_BUMP_NOT_USED',['../enums_8h.html#a588ef2d1e18ac7aa814fc4d622213ca1a340b69d02a957b6556404b7df9bddd0d',1,'enums.h']]], + ['gpu_5fbyte_7343',['GPU_BYTE',['../enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634acc2974dd261d7a390aac2babaad46640',1,'enums.h']]], + ['gpu_5fclamp_5fto_5fborder_7344',['GPU_CLAMP_TO_BORDER',['../enums_8h.html#aca018b509809231470e5e3c3e907261da5d965e5704025c431c991699e4cead2b',1,'enums.h']]], + ['gpu_5fclamp_5fto_5fedge_7345',['GPU_CLAMP_TO_EDGE',['../enums_8h.html#aca018b509809231470e5e3c3e907261dab68d9e2eed2fb75fe89951c05df69c79',1,'enums.h']]], + ['gpu_5fconstant_7346',['GPU_CONSTANT',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a37bfec97f47be51bf6fe40b1e14b49de',1,'enums.h']]], + ['gpu_5fconstant_5falpha_7347',['GPU_CONSTANT_ALPHA',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a11295c7ef5d463ff189f5e6db6c0acab',1,'enums.h']]], + ['gpu_5fconstant_5fcolor_7348',['GPU_CONSTANT_COLOR',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a62b0f2652c0a1a95921646e9742c2f27',1,'enums.h']]], + ['gpu_5fcull_5fback_5fccw_7349',['GPU_CULL_BACK_CCW',['../enums_8h.html#aded31eec5d2f72ea5c6141f24d8a0174a5f4f59f8f711f0bcfa9ca8b87f169ee0',1,'enums.h']]], + ['gpu_5fcull_5ffront_5fccw_7350',['GPU_CULL_FRONT_CCW',['../enums_8h.html#aded31eec5d2f72ea5c6141f24d8a0174a151b7ec784380eafec6f470004f4602a',1,'enums.h']]], + ['gpu_5fcull_5fnone_7351',['GPU_CULL_NONE',['../enums_8h.html#aded31eec5d2f72ea5c6141f24d8a0174a70eae790d781d0f3d13d46e690ed1aa4',1,'enums.h']]], + ['gpu_5fdepth_5fdensity_7352',['GPU_DEPTH_DENSITY',['../enums_8h.html#acc2d65787e8cddd99f2e65dd3168e388a057252437cf16b266488ee1e74b20b7b',1,'enums.h']]], + ['gpu_5fdot3_5frgb_7353',['GPU_DOT3_RGB',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a062362f28e57250addb5bc53ecdbe4a1',1,'enums.h']]], + ['gpu_5fdot3_5frgba_7354',['GPU_DOT3_RGBA',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0ab763fa4a5a5b0abdba7593b3434271a5',1,'enums.h']]], + ['gpu_5fdst_5falpha_7355',['GPU_DST_ALPHA',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1aa84fea7593472196159145c433d23fd2',1,'enums.h']]], + ['gpu_5fdst_5fcolor_7356',['GPU_DST_COLOR',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1af0fd393f08a1f49c4b6567fc914b1735',1,'enums.h']]], + ['gpu_5fearlydepth_5fgequal_7357',['GPU_EARLYDEPTH_GEQUAL',['../enums_8h.html#a92e680b4a2dac313ccd2bc5bae51b703adddf1707b708673afdefd9b85a31bccf',1,'enums.h']]], + ['gpu_5fearlydepth_5fgreater_7358',['GPU_EARLYDEPTH_GREATER',['../enums_8h.html#a92e680b4a2dac313ccd2bc5bae51b703a101542f7bdac5811ad4fb59fc4346b07',1,'enums.h']]], + ['gpu_5fearlydepth_5flequal_7359',['GPU_EARLYDEPTH_LEQUAL',['../enums_8h.html#a92e680b4a2dac313ccd2bc5bae51b703aa2086b2123f5249827db0c7017f25558',1,'enums.h']]], + ['gpu_5fearlydepth_5fless_7360',['GPU_EARLYDEPTH_LESS',['../enums_8h.html#a92e680b4a2dac313ccd2bc5bae51b703a9d81ab2ccfcaad15ddbfc8a2f0ce2ff8',1,'enums.h']]], + ['gpu_5fequal_7361',['GPU_EQUAL',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a4671d63afefdc08bec5fbc1a3a6ff3c0',1,'enums.h']]], + ['gpu_5fetc1_7362',['GPU_ETC1',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa112e7167e91aadecc9c0465b248522f9',1,'enums.h']]], + ['gpu_5fetc1a4_7363',['GPU_ETC1A4',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa8bb36c2a5ddec806f6b26e093a0d4c2a',1,'enums.h']]], + ['gpu_5ffloat_7364',['GPU_FLOAT',['../enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634af3631e2c847a62946c82604c2faec246',1,'enums.h']]], + ['gpu_5ffog_7365',['GPU_FOG',['../enums_8h.html#a1f70bba2c275f4e43e9126e5017cc982aceb18d741d8a74b7ade87e126dcb0a72',1,'enums.h']]], + ['gpu_5ffragment_5fprimary_5fcolor_7366',['GPU_FRAGMENT_PRIMARY_COLOR',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a0bbc8695a5f516fd20607b11d04a4c3c',1,'enums.h']]], + ['gpu_5ffragment_5fsecondary_5fcolor_7367',['GPU_FRAGMENT_SECONDARY_COLOR',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0ab32b4d5fc6dfdbc4706f2d6ff955b12a',1,'enums.h']]], + ['gpu_5ffragopmode_5fgas_5facc_7368',['GPU_FRAGOPMODE_GAS_ACC',['../enums_8h.html#aa788d68d2e927a5710842e69b81a588da959ebe049acd41da9ddd9066002c05b6',1,'enums.h']]], + ['gpu_5ffragopmode_5fgl_7369',['GPU_FRAGOPMODE_GL',['../enums_8h.html#aa788d68d2e927a5710842e69b81a588da0cb1291aade10f659db55a8f919906a7',1,'enums.h']]], + ['gpu_5ffragopmode_5fshadow_7370',['GPU_FRAGOPMODE_SHADOW',['../enums_8h.html#aa788d68d2e927a5710842e69b81a588da484d2f1cb17de8f3e81123f45a795062',1,'enums.h']]], + ['gpu_5fgas_7371',['GPU_GAS',['../enums_8h.html#a1f70bba2c275f4e43e9126e5017cc982a4f31c8ba6139734c419de68ad530e7e3',1,'enums.h']]], + ['gpu_5fgas_5falways_7372',['GPU_GAS_ALWAYS',['../enums_8h.html#a82e5ec9eedb73d135af89102d50f7574a40fbf273f375c55096441c729ef26587',1,'enums.h']]], + ['gpu_5fgas_5fdensity_7373',['GPU_GAS_DENSITY',['../enums_8h.html#adb1be3a2d383032545509998c88ac649a85420feac47692869927f28d48fc9249',1,'enums.h']]], + ['gpu_5fgas_5fgreater_7374',['GPU_GAS_GREATER',['../enums_8h.html#a82e5ec9eedb73d135af89102d50f7574a22904d5e53e914818134e361448265fb',1,'enums.h']]], + ['gpu_5fgas_5fless_7375',['GPU_GAS_LESS',['../enums_8h.html#a82e5ec9eedb73d135af89102d50f7574a7b148f86599ef8065f06021d38be4641',1,'enums.h']]], + ['gpu_5fgas_5flight_5ffactor_7376',['GPU_GAS_LIGHT_FACTOR',['../enums_8h.html#adb1be3a2d383032545509998c88ac649a40342631dfb48f76188a413867864b8b',1,'enums.h']]], + ['gpu_5fgas_5fnever_7377',['GPU_GAS_NEVER',['../enums_8h.html#a82e5ec9eedb73d135af89102d50f7574a6e2b94106eeb8ece959501257fb5ee33',1,'enums.h']]], + ['gpu_5fgeometry_5fprim_7378',['GPU_GEOMETRY_PRIM',['../enums_8h.html#a94bdee50fa003d70dd3888f347397806aa5510b7bf1f022edd1a180a2b111cf53',1,'enums.h']]], + ['gpu_5fgeometry_5fshader_7379',['GPU_GEOMETRY_SHADER',['../enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a3a5aa450c7d22bbeb9252de319c635db',1,'enums.h']]], + ['gpu_5fgequal_7380',['GPU_GEQUAL',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a1160361c130e3b1bd576cbab921fe719',1,'enums.h']]], + ['gpu_5fgreater_7381',['GPU_GREATER',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a939d397eee5556dccc012bddfd0dd46a',1,'enums.h']]], + ['gpu_5fhilo8_7382',['GPU_HILO8',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa65d74b1c0549f143a4fc03bb17ff3686',1,'enums.h']]], + ['gpu_5finterpolate_7383',['GPU_INTERPOLATE',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0ac2a62c0fbb389fbfaee8e4ceae1d8f1b',1,'enums.h']]], + ['gpu_5fl4_7384',['GPU_L4',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fae4fc6df7ea70f19b233a2e6b7e20f8d8',1,'enums.h']]], + ['gpu_5fl8_7385',['GPU_L8',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fae5bb3a21caf6d417d59ec5a6561ca391',1,'enums.h']]], + ['gpu_5fla4_7386',['GPU_LA4',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa9d3e5b37323a5a79ccedba6bdffe8dc8',1,'enums.h']]], + ['gpu_5fla8_7387',['GPU_LA8',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa5099b3e9e8676a0b586606d746a2eaf0',1,'enums.h']]], + ['gpu_5flequal_7388',['GPU_LEQUAL',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a72babe8417e362834ebded77f4e23f19',1,'enums.h']]], + ['gpu_5fless_7389',['GPU_LESS',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a920cd8cf2d5c77216b9bf8b05fc3a8f9',1,'enums.h']]], + ['gpu_5flinear_7390',['GPU_LINEAR',['../enums_8h.html#a2c76780b7ff5d323daf30ea310fbc8c4a18f85af3bd3785e9463dae917436cb6f',1,'enums.h']]], + ['gpu_5flogicop_5fand_7391',['GPU_LOGICOP_AND',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fa669db488a47f10aabc8041a5fe81e361',1,'enums.h']]], + ['gpu_5flogicop_5fand_5finverted_7392',['GPU_LOGICOP_AND_INVERTED',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1faf38aee32d588c06ca0706c00902b9574',1,'enums.h']]], + ['gpu_5flogicop_5fand_5freverse_7393',['GPU_LOGICOP_AND_REVERSE',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fa083b4c982093cb4cb3c3eedba2a7d724',1,'enums.h']]], + ['gpu_5flogicop_5fclear_7394',['GPU_LOGICOP_CLEAR',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fab3f75794e2bd60907e43ed44f3f4c348',1,'enums.h']]], + ['gpu_5flogicop_5fcopy_7395',['GPU_LOGICOP_COPY',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1facdaa97128b15191ed7fa1f132faf86a3',1,'enums.h']]], + ['gpu_5flogicop_5fcopy_5finverted_7396',['GPU_LOGICOP_COPY_INVERTED',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fa3514fe8d6a7f761ff9d692826b45f657',1,'enums.h']]], + ['gpu_5flogicop_5fequiv_7397',['GPU_LOGICOP_EQUIV',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fabecc177368ade7e3cca9caf8f08d1853',1,'enums.h']]], + ['gpu_5flogicop_5finvert_7398',['GPU_LOGICOP_INVERT',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1facdfe4bbc8d4f9b7b79589e04224ba295',1,'enums.h']]], + ['gpu_5flogicop_5fnand_7399',['GPU_LOGICOP_NAND',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fa9ba10ed8907976bb793a5844b126d686',1,'enums.h']]], + ['gpu_5flogicop_5fnoop_7400',['GPU_LOGICOP_NOOP',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fac2fead501131d7f44bc0f820aa2e03d8',1,'enums.h']]], + ['gpu_5flogicop_5fnor_7401',['GPU_LOGICOP_NOR',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1faff77c7c229d503eb41cb05b21ad597e1',1,'enums.h']]], + ['gpu_5flogicop_5for_7402',['GPU_LOGICOP_OR',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fa20d0171a0d84a028852ef9676226c297',1,'enums.h']]], + ['gpu_5flogicop_5for_5finverted_7403',['GPU_LOGICOP_OR_INVERTED',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1faaf2038e83b4e7bb53d4693099f6c9e36',1,'enums.h']]], + ['gpu_5flogicop_5for_5freverse_7404',['GPU_LOGICOP_OR_REVERSE',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fa4cca5525365d829d4d468b8434354238',1,'enums.h']]], + ['gpu_5flogicop_5fset_7405',['GPU_LOGICOP_SET',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fa5b065a9230362b838b27ab817d9f826a',1,'enums.h']]], + ['gpu_5flogicop_5fxor_7406',['GPU_LOGICOP_XOR',['../enums_8h.html#a55b65550b3921c9e2e94797e3c9ccc1fa1a2d7482e87230c7b7327b1e69e40515',1,'enums.h']]], + ['gpu_5flut_5falphamap_7407',['GPU_LUT_ALPHAMAP',['../enums_8h.html#ab864ff9d46955c2f61539b23688c99aaa53afe5693c1be7c949cb8f079cb69714',1,'enums.h']]], + ['gpu_5flut_5fcolor_7408',['GPU_LUT_COLOR',['../enums_8h.html#ab864ff9d46955c2f61539b23688c99aaaac64001d8c0dc2401767b95ca05f9544',1,'enums.h']]], + ['gpu_5flut_5fcolordif_7409',['GPU_LUT_COLORDIF',['../enums_8h.html#ab864ff9d46955c2f61539b23688c99aaaeb69dab228eff315d3c99bdb36f88e7f',1,'enums.h']]], + ['gpu_5flut_5fd0_7410',['GPU_LUT_D0',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2afadcb590d677a876167c3965c1d9e325',1,'enums.h']]], + ['gpu_5flut_5fd1_7411',['GPU_LUT_D1',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2a4a731b618dca703ece58e17a717147b5',1,'enums.h']]], + ['gpu_5flut_5fda_7412',['GPU_LUT_DA',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2a823bb38a12c68691fd6cdd157ce57b2e',1,'enums.h']]], + ['gpu_5flut_5ffr_7413',['GPU_LUT_FR',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2a83763faae2b0c60f8e55c6fc9da14d35',1,'enums.h']]], + ['gpu_5flut_5fnoise_7414',['GPU_LUT_NOISE',['../enums_8h.html#ab864ff9d46955c2f61539b23688c99aaa2475efd7159236c56c6e9118adc16c51',1,'enums.h']]], + ['gpu_5flut_5frb_7415',['GPU_LUT_RB',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2a09d22b332d64cd71c2d237357b86b0c8',1,'enums.h']]], + ['gpu_5flut_5frg_7416',['GPU_LUT_RG',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2a181e8ebfceab1ff67aaa3f462ef4f5b9',1,'enums.h']]], + ['gpu_5flut_5frgbmap_7417',['GPU_LUT_RGBMAP',['../enums_8h.html#ab864ff9d46955c2f61539b23688c99aaad7cce5a3ddbbb5a7f53ebb031c9f9633',1,'enums.h']]], + ['gpu_5flut_5frr_7418',['GPU_LUT_RR',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2a25132fe53ebb9513c1dcd5d8ccff3826',1,'enums.h']]], + ['gpu_5flut_5fsp_7419',['GPU_LUT_SP',['../enums_8h.html#a207e4181777d84b837218fdeb61825b2a649639e392ace5dbe5cb7f89874d270a',1,'enums.h']]], + ['gpu_5flutinput_5fcp_7420',['GPU_LUTINPUT_CP',['../enums_8h.html#ac63e58430371c6fef616284076c22f90a81a83d02ca7bc41ba2188022b5fcfa73',1,'enums.h']]], + ['gpu_5flutinput_5fln_7421',['GPU_LUTINPUT_LN',['../enums_8h.html#ac63e58430371c6fef616284076c22f90a542a9d0845299b89d2cd65de9ed29ad0',1,'enums.h']]], + ['gpu_5flutinput_5fnh_7422',['GPU_LUTINPUT_NH',['../enums_8h.html#ac63e58430371c6fef616284076c22f90ad88041c4ccf42b38fa7d8d65158b7b9c',1,'enums.h']]], + ['gpu_5flutinput_5fnv_7423',['GPU_LUTINPUT_NV',['../enums_8h.html#ac63e58430371c6fef616284076c22f90a11084d3b333f1a8fa956e6c74cc076ff',1,'enums.h']]], + ['gpu_5flutinput_5fsp_7424',['GPU_LUTINPUT_SP',['../enums_8h.html#ac63e58430371c6fef616284076c22f90a9e89e7427dd00d369039c838414d8e2f',1,'enums.h']]], + ['gpu_5flutinput_5fvh_7425',['GPU_LUTINPUT_VH',['../enums_8h.html#ac63e58430371c6fef616284076c22f90af3d848cdaced604e33ed232a8ed34e63',1,'enums.h']]], + ['gpu_5flutscaler_5f0_5f25x_7426',['GPU_LUTSCALER_0_25x',['../enums_8h.html#af61f31c26ebc63bbaf2794d42a199df4aeaf9260070f55743a10d9611146f9cd2',1,'enums.h']]], + ['gpu_5flutscaler_5f0_5f5x_7427',['GPU_LUTSCALER_0_5x',['../enums_8h.html#af61f31c26ebc63bbaf2794d42a199df4a55b685d8d53c1e9fcba582a705cf6526',1,'enums.h']]], + ['gpu_5flutscaler_5f1x_7428',['GPU_LUTSCALER_1x',['../enums_8h.html#af61f31c26ebc63bbaf2794d42a199df4afd33788f407fbbdce2941d8577e6dd53',1,'enums.h']]], + ['gpu_5flutscaler_5f2x_7429',['GPU_LUTSCALER_2x',['../enums_8h.html#af61f31c26ebc63bbaf2794d42a199df4acb21cd7d6831ad6f1cec0100f2635462',1,'enums.h']]], + ['gpu_5flutscaler_5f4x_7430',['GPU_LUTSCALER_4x',['../enums_8h.html#af61f31c26ebc63bbaf2794d42a199df4a2597280e34ec8d7a21160e7bd73b1336',1,'enums.h']]], + ['gpu_5flutscaler_5f8x_7431',['GPU_LUTSCALER_8x',['../enums_8h.html#af61f31c26ebc63bbaf2794d42a199df4afa0cd9ff8b8aa92294583c5532940c8a',1,'enums.h']]], + ['gpu_5flutselect_5fcommon_7432',['GPU_LUTSELECT_COMMON',['../enums_8h.html#ad7023555a35d21727eff58ae264498d1a57c74e3de1155040edd14ffee4df006a',1,'enums.h']]], + ['gpu_5flutselect_5fda_7433',['GPU_LUTSELECT_DA',['../enums_8h.html#ad7023555a35d21727eff58ae264498d1a56725b18221532c56d8169b3561e73f8',1,'enums.h']]], + ['gpu_5flutselect_5fsp_7434',['GPU_LUTSELECT_SP',['../enums_8h.html#ad7023555a35d21727eff58ae264498d1ab78dff1d0a3e7c280e59d7cfb30ad03b',1,'enums.h']]], + ['gpu_5fmirrored_5frepeat_7435',['GPU_MIRRORED_REPEAT',['../enums_8h.html#aca018b509809231470e5e3c3e907261dac52004d96f64b6a43145077387eba61f',1,'enums.h']]], + ['gpu_5fmodulate_7436',['GPU_MODULATE',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0af18e74afecfedc6e3feca318e1d7dd21',1,'enums.h']]], + ['gpu_5fmultiply_5fadd_7437',['GPU_MULTIPLY_ADD',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a6d6faa3cba435da6be5d71b7cdab472a',1,'enums.h']]], + ['gpu_5fnearest_7438',['GPU_NEAREST',['../enums_8h.html#a2c76780b7ff5d323daf30ea310fbc8c4a916807475bc96900be35e0b8035845d0',1,'enums.h']]], + ['gpu_5fnegative_5fx_7439',['GPU_NEGATIVE_X',['../enums_8h.html#a2fac8fe6dd845ff19a9fc758c0aa8332a60b46c0623b707b852394b99a34fa6f6',1,'enums.h']]], + ['gpu_5fnegative_5fy_7440',['GPU_NEGATIVE_Y',['../enums_8h.html#a2fac8fe6dd845ff19a9fc758c0aa8332a0e79145560b5ed81c3810c48b9c62bdb',1,'enums.h']]], + ['gpu_5fnegative_5fz_7441',['GPU_NEGATIVE_Z',['../enums_8h.html#a2fac8fe6dd845ff19a9fc758c0aa8332a4407ca9fb8ae5553fc9972db8dbc8436',1,'enums.h']]], + ['gpu_5fnever_7442',['GPU_NEVER',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618a1a1e13674c5991364c888e646d74a311',1,'enums.h']]], + ['gpu_5fno_5ffog_7443',['GPU_NO_FOG',['../enums_8h.html#a1f70bba2c275f4e43e9126e5017cc982a9cc54bda4b4512da364324b6c7070bbd',1,'enums.h']]], + ['gpu_5fno_5ffresnel_7444',['GPU_NO_FRESNEL',['../enums_8h.html#a15f838c1ce92123135c7cb4cf409c745a904b12f76e2f97b1ccbf2cb00dc72b0b',1,'enums.h']]], + ['gpu_5fnotequal_7445',['GPU_NOTEQUAL',['../enums_8h.html#ad964a2dd9f856d413d01dc81d5712618aca4cc7c342b61f03d76d9294ee273f83',1,'enums.h']]], + ['gpu_5fone_7446',['GPU_ONE',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a863804f02d43c8991e9b697ce4449947',1,'enums.h']]], + ['gpu_5fone_5fminus_5fconstant_5falpha_7447',['GPU_ONE_MINUS_CONSTANT_ALPHA',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a6e5a84133317e2197d4440a8d45c78ce',1,'enums.h']]], + ['gpu_5fone_5fminus_5fconstant_5fcolor_7448',['GPU_ONE_MINUS_CONSTANT_COLOR',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1ad1df6fbe660faa7fb66bd6f14e6b0337',1,'enums.h']]], + ['gpu_5fone_5fminus_5fdst_5falpha_7449',['GPU_ONE_MINUS_DST_ALPHA',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1aac15b95095467d0c05e89b44651edd6e',1,'enums.h']]], + ['gpu_5fone_5fminus_5fdst_5fcolor_7450',['GPU_ONE_MINUS_DST_COLOR',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1ad0ffe5255d4895f3d85c203c6e692fa7',1,'enums.h']]], + ['gpu_5fone_5fminus_5fsrc_5falpha_7451',['GPU_ONE_MINUS_SRC_ALPHA',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a7bf978d71679e5507689e4570d3d85b2',1,'enums.h']]], + ['gpu_5fone_5fminus_5fsrc_5fcolor_7452',['GPU_ONE_MINUS_SRC_COLOR',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a6f2135fe7d67e8403982b238edfae06d',1,'enums.h']]], + ['gpu_5fplain_5fdensity_7453',['GPU_PLAIN_DENSITY',['../enums_8h.html#acc2d65787e8cddd99f2e65dd3168e388ac28f3063a3c622292bcb9c05be76c229',1,'enums.h']]], + ['gpu_5fpositive_5fx_7454',['GPU_POSITIVE_X',['../enums_8h.html#a2fac8fe6dd845ff19a9fc758c0aa8332ac49bd4f84d24107cef684af4bbedc77d',1,'enums.h']]], + ['gpu_5fpositive_5fy_7455',['GPU_POSITIVE_Y',['../enums_8h.html#a2fac8fe6dd845ff19a9fc758c0aa8332a66a2220297d89575ec6eee46f809dd63',1,'enums.h']]], + ['gpu_5fpositive_5fz_7456',['GPU_POSITIVE_Z',['../enums_8h.html#a2fac8fe6dd845ff19a9fc758c0aa8332acd8651b177f45d9a38be369e999b2669',1,'enums.h']]], + ['gpu_5fprevious_7457',['GPU_PREVIOUS',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a1b960db2c45d309c5e4d9c899d051936',1,'enums.h']]], + ['gpu_5fprevious_5fbuffer_7458',['GPU_PREVIOUS_BUFFER',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a2affeac860991540b5d85dfcf2b7766d',1,'enums.h']]], + ['gpu_5fpri_5falpha_5ffresnel_7459',['GPU_PRI_ALPHA_FRESNEL',['../enums_8h.html#a15f838c1ce92123135c7cb4cf409c745ac57505a7b6ba964ff1a944f54e62117d',1,'enums.h']]], + ['gpu_5fpri_5fsec_5falpha_5ffresnel_7460',['GPU_PRI_SEC_ALPHA_FRESNEL',['../enums_8h.html#a15f838c1ce92123135c7cb4cf409c745a151f7d3bf955a9218b2292bf1cee72ab',1,'enums.h']]], + ['gpu_5fprimary_5fcolor_7461',['GPU_PRIMARY_COLOR',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a73b71da440440b42a6c282c39e566a0d',1,'enums.h']]], + ['gpu_5fpt_5fadd_7462',['GPU_PT_ADD',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7a0fbd6841d168a4a0242a657dfc33e3b7',1,'enums.h']]], + ['gpu_5fpt_5fadd2_7463',['GPU_PT_ADD2',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7a244895a2cb72e8124c04f040dad8e75c',1,'enums.h']]], + ['gpu_5fpt_5fclamp_5fto_5fedge_7464',['GPU_PT_CLAMP_TO_EDGE',['../enums_8h.html#ac7003b201f809461614b0be43c7f1cb7a72bb684ef9b26ef47dd5d0ad67b1f644',1,'enums.h']]], + ['gpu_5fpt_5fclamp_5fto_5fzero_7465',['GPU_PT_CLAMP_TO_ZERO',['../enums_8h.html#ac7003b201f809461614b0be43c7f1cb7ab67f726e45ca0d8b1e3e34ff341f9bda',1,'enums.h']]], + ['gpu_5fpt_5feven_7466',['GPU_PT_EVEN',['../enums_8h.html#a7aef13dcdf16a383d3931fe46a69eb78a2632917f209fe4800152654e165b74e3',1,'enums.h']]], + ['gpu_5fpt_5flinear_7467',['GPU_PT_LINEAR',['../enums_8h.html#a430c590536a256d9db4a6b8ab5abc133a45f234fca3944d33f527bfc4512de01f',1,'enums.h']]], + ['gpu_5fpt_5flinear_5fmip_5flinear_7468',['GPU_PT_LINEAR_MIP_LINEAR',['../enums_8h.html#a430c590536a256d9db4a6b8ab5abc133aff227b58f787382c8e3d9c079d49572b',1,'enums.h']]], + ['gpu_5fpt_5flinear_5fmip_5fnearest_7469',['GPU_PT_LINEAR_MIP_NEAREST',['../enums_8h.html#a430c590536a256d9db4a6b8ab5abc133ad411202dc8a4d58764b196e286aea76c',1,'enums.h']]], + ['gpu_5fpt_5fmax_7470',['GPU_PT_MAX',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7af9b959ac8784f251a732381e447f834f',1,'enums.h']]], + ['gpu_5fpt_5fmin_7471',['GPU_PT_MIN',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7a5cfb276362ed48a809a9c6a1c2625f89',1,'enums.h']]], + ['gpu_5fpt_5fmirrored_5frepeat_7472',['GPU_PT_MIRRORED_REPEAT',['../enums_8h.html#ac7003b201f809461614b0be43c7f1cb7ac2e8d1c45fa7cf34ff63f2d1788e6580',1,'enums.h']]], + ['gpu_5fpt_5fnearest_7473',['GPU_PT_NEAREST',['../enums_8h.html#a430c590536a256d9db4a6b8ab5abc133a7e835f1a325859fe8238704003278c29',1,'enums.h']]], + ['gpu_5fpt_5fnearest_5fmip_5flinear_7474',['GPU_PT_NEAREST_MIP_LINEAR',['../enums_8h.html#a430c590536a256d9db4a6b8ab5abc133a3e27d24c01aa1180193ea670f0b0051b',1,'enums.h']]], + ['gpu_5fpt_5fnearest_5fmip_5fnearest_7475',['GPU_PT_NEAREST_MIP_NEAREST',['../enums_8h.html#a430c590536a256d9db4a6b8ab5abc133a6cdae86dbce55a1392aa01d3dba58200',1,'enums.h']]], + ['gpu_5fpt_5fnone_7476',['GPU_PT_NONE',['../enums_8h.html#a7aef13dcdf16a383d3931fe46a69eb78a966d0a2f4370eedb5ad9d3e40c3cd432',1,'enums.h']]], + ['gpu_5fpt_5fodd_7477',['GPU_PT_ODD',['../enums_8h.html#a7aef13dcdf16a383d3931fe46a69eb78a2b6694f49603d729caeef7b935a49879',1,'enums.h']]], + ['gpu_5fpt_5fpulse_7478',['GPU_PT_PULSE',['../enums_8h.html#ac7003b201f809461614b0be43c7f1cb7accbc4683ecc6f3a802a2a5b1e3eb5fb2',1,'enums.h']]], + ['gpu_5fpt_5frepeat_7479',['GPU_PT_REPEAT',['../enums_8h.html#ac7003b201f809461614b0be43c7f1cb7acb72d40a0d2a9caf4882faf7af18c24f',1,'enums.h']]], + ['gpu_5fpt_5frmax_7480',['GPU_PT_RMAX',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7a6447bc4455a0dc94ceb8cf3fc0e3f857',1,'enums.h']]], + ['gpu_5fpt_5fsqrt2_7481',['GPU_PT_SQRT2',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7a7f43089264ed898bf8b0487bede6b88f',1,'enums.h']]], + ['gpu_5fpt_5fu_7482',['GPU_PT_U',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7a0acf1e5b8ab447f94a8f251703a36e2b',1,'enums.h']]], + ['gpu_5fpt_5fu2_7483',['GPU_PT_U2',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7a9fa866b1285ae54cc0000d6049853762',1,'enums.h']]], + ['gpu_5fpt_5fv_7484',['GPU_PT_V',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7acdc52342bd71edefc62a84ad1b03d179',1,'enums.h']]], + ['gpu_5fpt_5fv2_7485',['GPU_PT_V2',['../enums_8h.html#ae0bf20f78563bc660ebcaa2079a386c7ac4949cfa2bf0e8fc5e03b707adb70632',1,'enums.h']]], + ['gpu_5frb_5fdepth16_7486',['GPU_RB_DEPTH16',['../enums_8h.html#a9b40a4b2feaec1dc4a843a908f613a3eaa7550bb98071c787c29e99c8dcd4e128',1,'enums.h']]], + ['gpu_5frb_5fdepth24_7487',['GPU_RB_DEPTH24',['../enums_8h.html#a9b40a4b2feaec1dc4a843a908f613a3ea7c561619805b2a56d4dd00b0af4c419c',1,'enums.h']]], + ['gpu_5frb_5fdepth24_5fstencil8_7488',['GPU_RB_DEPTH24_STENCIL8',['../enums_8h.html#a9b40a4b2feaec1dc4a843a908f613a3eaaa31fb7049df6c69198111e309210720',1,'enums.h']]], + ['gpu_5frb_5frgb565_7489',['GPU_RB_RGB565',['../enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7aa4d92a6e6d1b3eb9fa42abf4b388a983b',1,'enums.h']]], + ['gpu_5frb_5frgb8_7490',['GPU_RB_RGB8',['../enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7aa76bf1ee34366aa67663d2fbf8f19735b',1,'enums.h']]], + ['gpu_5frb_5frgba4_7491',['GPU_RB_RGBA4',['../enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7aa536adbb7654f186e21d42d5cde4da69a',1,'enums.h']]], + ['gpu_5frb_5frgba5551_7492',['GPU_RB_RGBA5551',['../enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7aa783efb601ce1a8de7cf5f7d8ea2b0e37',1,'enums.h']]], + ['gpu_5frb_5frgba8_7493',['GPU_RB_RGBA8',['../enums_8h.html#a1bed7c7c90b43c261c07664aef35bf7aa17f2a0c3889f7e34d720d818a61030b4',1,'enums.h']]], + ['gpu_5frepeat_7494',['GPU_REPEAT',['../enums_8h.html#aca018b509809231470e5e3c3e907261da408167b5e23912ad858dc058be1f18b3',1,'enums.h']]], + ['gpu_5freplace_7495',['GPU_REPLACE',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a1c5123d469abc61be2501b97b512cc11',1,'enums.h']]], + ['gpu_5frgb565_7496',['GPU_RGB565',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa0692eac04a26bbd69f5ce177c45e40f6',1,'enums.h']]], + ['gpu_5frgb8_7497',['GPU_RGB8',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa0900436f7baf449e07ca5f0b43454f47',1,'enums.h']]], + ['gpu_5frgba4_7498',['GPU_RGBA4',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99faded6149b108d4fa7f0f5c0041cb43067',1,'enums.h']]], + ['gpu_5frgba5551_7499',['GPU_RGBA5551',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99fa4125e411783ac9b6488032264f55b4bb',1,'enums.h']]], + ['gpu_5frgba8_7500',['GPU_RGBA8',['../enums_8h.html#a63bb2f7fceb0f356549f0be235a0f99faff51f393b902dd545e863c24679bccd2',1,'enums.h']]], + ['gpu_5fscissor_5fdisable_7501',['GPU_SCISSOR_DISABLE',['../enums_8h.html#a3ba8ed980a4a9da6170a5fdfaad86808ad29dc11dc0a4b2729b9d47fbe5c28e44',1,'enums.h']]], + ['gpu_5fscissor_5finvert_7502',['GPU_SCISSOR_INVERT',['../enums_8h.html#a3ba8ed980a4a9da6170a5fdfaad86808a1c51d4839300da9b4c46452d1f6054fd',1,'enums.h']]], + ['gpu_5fscissor_5fnormal_7503',['GPU_SCISSOR_NORMAL',['../enums_8h.html#a3ba8ed980a4a9da6170a5fdfaad86808a6e25f3c9bf478cbfd171ed8d96ca2f3c',1,'enums.h']]], + ['gpu_5fsec_5falpha_5ffresnel_7504',['GPU_SEC_ALPHA_FRESNEL',['../enums_8h.html#a15f838c1ce92123135c7cb4cf409c745a5245bfaae64a00d1b25682eb3f7d87e9',1,'enums.h']]], + ['gpu_5fshort_7505',['GPU_SHORT',['../enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634a2592d88710138b840b7b680fd30ed49e',1,'enums.h']]], + ['gpu_5fsrc_5falpha_7506',['GPU_SRC_ALPHA',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1af2ec416dc4e7e8562e61d5f7963e8a36',1,'enums.h']]], + ['gpu_5fsrc_5falpha_5fsaturate_7507',['GPU_SRC_ALPHA_SATURATE',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1a25a12d71c8b18d7ff6c55709ffa9c9b8',1,'enums.h']]], + ['gpu_5fsrc_5fcolor_7508',['GPU_SRC_COLOR',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1af78c6ed3bbdae1d90e585b9042135c2d',1,'enums.h']]], + ['gpu_5fstencil_5fdecr_7509',['GPU_STENCIL_DECR',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1ad1103ead2ecd6e48577adb1485077251',1,'enums.h']]], + ['gpu_5fstencil_5fdecr_5fwrap_7510',['GPU_STENCIL_DECR_WRAP',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1af2db3d4053336a01eb34121f48e5912a',1,'enums.h']]], + ['gpu_5fstencil_5fincr_7511',['GPU_STENCIL_INCR',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a9396c9e054881e95bb79d555ada9ac76',1,'enums.h']]], + ['gpu_5fstencil_5fincr_5fwrap_7512',['GPU_STENCIL_INCR_WRAP',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a93a20779be9ead8c0b701d8a7a15ceb0',1,'enums.h']]], + ['gpu_5fstencil_5finvert_7513',['GPU_STENCIL_INVERT',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a52ba290ffb93da67550a7fdc92e059df',1,'enums.h']]], + ['gpu_5fstencil_5fkeep_7514',['GPU_STENCIL_KEEP',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a2ef8af6e032c0cd8613259aef01f0477',1,'enums.h']]], + ['gpu_5fstencil_5freplace_7515',['GPU_STENCIL_REPLACE',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1ab287a660cfbb1accdd58f8c7fdc5f906',1,'enums.h']]], + ['gpu_5fstencil_5fzero_7516',['GPU_STENCIL_ZERO',['../enums_8h.html#ab7737bd79ec87b48dd2815e54a0f78c1a0df537f785a4a6561719f6725a90b372',1,'enums.h']]], + ['gpu_5fsubtract_7517',['GPU_SUBTRACT',['../enums_8h.html#a07c36c673c5ca75d946367821c8afdd0a46620729094b136c1f89b9f8f4b061b5',1,'enums.h']]], + ['gpu_5ftevop_5fa_5fone_5fminus_5fsrc_5falpha_7518',['GPU_TEVOP_A_ONE_MINUS_SRC_ALPHA',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42ac629b85e7c2a91b07622e2a048154cdc',1,'enums.h']]], + ['gpu_5ftevop_5fa_5fone_5fminus_5fsrc_5fb_7519',['GPU_TEVOP_A_ONE_MINUS_SRC_B',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42aa143726a4d46477e3cea8b1a706942a3',1,'enums.h']]], + ['gpu_5ftevop_5fa_5fone_5fminus_5fsrc_5fg_7520',['GPU_TEVOP_A_ONE_MINUS_SRC_G',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42af2475e6d9cf76fd496540470f1dd68d7',1,'enums.h']]], + ['gpu_5ftevop_5fa_5fone_5fminus_5fsrc_5fr_7521',['GPU_TEVOP_A_ONE_MINUS_SRC_R',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42aceb69a1c50991ccd64b6d3539ba1f684',1,'enums.h']]], + ['gpu_5ftevop_5fa_5fsrc_5falpha_7522',['GPU_TEVOP_A_SRC_ALPHA',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42a7c335ec12a7c82e6f2d282855bdd1f58',1,'enums.h']]], + ['gpu_5ftevop_5fa_5fsrc_5fb_7523',['GPU_TEVOP_A_SRC_B',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42a7a9d0b89a8da3b1f588ceeafc6aa436c',1,'enums.h']]], + ['gpu_5ftevop_5fa_5fsrc_5fg_7524',['GPU_TEVOP_A_SRC_G',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42a7489c6af71a98d3336c143c264da9d05',1,'enums.h']]], + ['gpu_5ftevop_5fa_5fsrc_5fr_7525',['GPU_TEVOP_A_SRC_R',['../enums_8h.html#a31812c01b9cbe8b050a6076efb4c0f42a46e4354f9fa9e06757587c773e94d768',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5f0x06_7526',['GPU_TEVOP_RGB_0x06',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fab63c4ccdab4fe5abb7295e49377211a8',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5f0x07_7527',['GPU_TEVOP_RGB_0x07',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fa075f2ae83ed4ea78425eb572b1d1e6bc',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5f0x0a_7528',['GPU_TEVOP_RGB_0x0A',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fa9d14844a37195710621c89678f2f14d2',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5f0x0b_7529',['GPU_TEVOP_RGB_0x0B',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fa54388c78274a1f60ff1889b06fe7ded4',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5f0x0e_7530',['GPU_TEVOP_RGB_0x0E',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fa5b781ff4b72a0533fc98f77d218b32f2',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5f0x0f_7531',['GPU_TEVOP_RGB_0x0F',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fa9c94f6d6d3380a0b58f57f6e6f476898',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fone_5fminus_5fsrc_5falpha_7532',['GPU_TEVOP_RGB_ONE_MINUS_SRC_ALPHA',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fad2a0a56eea83aceb5eded342758e46ed',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fone_5fminus_5fsrc_5fb_7533',['GPU_TEVOP_RGB_ONE_MINUS_SRC_B',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fac3ca39a75d99a676718d4f8b477857b8',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fone_5fminus_5fsrc_5fcolor_7534',['GPU_TEVOP_RGB_ONE_MINUS_SRC_COLOR',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fabfc1d0a9d943e5979e6afb451933330a',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fone_5fminus_5fsrc_5fg_7535',['GPU_TEVOP_RGB_ONE_MINUS_SRC_G',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fa87a590306389848e67a77618857044bc',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fone_5fminus_5fsrc_5fr_7536',['GPU_TEVOP_RGB_ONE_MINUS_SRC_R',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fac3adc33dfe3f52857c2304c7d46b1883',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fsrc_5falpha_7537',['GPU_TEVOP_RGB_SRC_ALPHA',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80facc48e21a8afe08fab895025295a12876',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fsrc_5fb_7538',['GPU_TEVOP_RGB_SRC_B',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fa89ea6240917be8fc6a8aed951a8eb944',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fsrc_5fcolor_7539',['GPU_TEVOP_RGB_SRC_COLOR',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fa7cde8a7d92ac7bebdf573638d000a999',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fsrc_5fg_7540',['GPU_TEVOP_RGB_SRC_G',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fafd5d8518395e2af90c1680f70933b2a6',1,'enums.h']]], + ['gpu_5ftevop_5frgb_5fsrc_5fr_7541',['GPU_TEVOP_RGB_SRC_R',['../enums_8h.html#a10399b41ca4c093e8e5e6d9f5943d80fac51c59c8001b526b509e2d2d6622115f',1,'enums.h']]], + ['gpu_5ftevscale_5f1_7542',['GPU_TEVSCALE_1',['../enums_8h.html#a08411ce4cfbf061b9f0aa1cf00890d65a74b8a560deb4acbe09ef2e9a6bd82959',1,'enums.h']]], + ['gpu_5ftevscale_5f2_7543',['GPU_TEVSCALE_2',['../enums_8h.html#a08411ce4cfbf061b9f0aa1cf00890d65a3f6e7cad36477c7727b7d9f25f173226',1,'enums.h']]], + ['gpu_5ftevscale_5f4_7544',['GPU_TEVSCALE_4',['../enums_8h.html#a08411ce4cfbf061b9f0aa1cf00890d65afa0f0614114b239e654d52ed4ec3e07b',1,'enums.h']]], + ['gpu_5ftex_5f2d_7545',['GPU_TEX_2D',['../enums_8h.html#a5d14598061a96db4f06bf8316156a1bba8a804f726dcf5b5970bd4bbac43c4a9f',1,'enums.h']]], + ['gpu_5ftex_5fcube_5fmap_7546',['GPU_TEX_CUBE_MAP',['../enums_8h.html#a5d14598061a96db4f06bf8316156a1bbae71d72f68111a38ecc683dce1ca1870c',1,'enums.h']]], + ['gpu_5ftex_5fdisabled_7547',['GPU_TEX_DISABLED',['../enums_8h.html#a5d14598061a96db4f06bf8316156a1bbae32d9a8b9bcbc69ab4eafba9b80da3e9',1,'enums.h']]], + ['gpu_5ftex_5fprojection_7548',['GPU_TEX_PROJECTION',['../enums_8h.html#a5d14598061a96db4f06bf8316156a1bba61dc1549ba35c76727dbf47149626a1f',1,'enums.h']]], + ['gpu_5ftex_5fshadow_5f2d_7549',['GPU_TEX_SHADOW_2D',['../enums_8h.html#a5d14598061a96db4f06bf8316156a1bba0343be50f0cb5e39f75eccaca6f3c986',1,'enums.h']]], + ['gpu_5ftex_5fshadow_5fcube_7550',['GPU_TEX_SHADOW_CUBE',['../enums_8h.html#a5d14598061a96db4f06bf8316156a1bba1f444548781d0bea4503e509f9370074',1,'enums.h']]], + ['gpu_5ftexface_5f2d_7551',['GPU_TEXFACE_2D',['../enums_8h.html#a2fac8fe6dd845ff19a9fc758c0aa8332a99192106b00b6493c92d3fa8a45201a0',1,'enums.h']]], + ['gpu_5ftexture0_7552',['GPU_TEXTURE0',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0ab6436a8677bfb947fd2c085d95eb2cd0',1,'enums.h']]], + ['gpu_5ftexture1_7553',['GPU_TEXTURE1',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0acfa07840cfdacbb929c35c578da2b879',1,'enums.h']]], + ['gpu_5ftexture2_7554',['GPU_TEXTURE2',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a26ae4018bd23b156d3e5917ff327d2ad',1,'enums.h']]], + ['gpu_5ftexture3_7555',['GPU_TEXTURE3',['../enums_8h.html#a43f47361b7edcab3c6b7d064c09ae7d0a96c424df55a281e059a8b63bf0cf5c79',1,'enums.h']]], + ['gpu_5ftexunit0_7556',['GPU_TEXUNIT0',['../enums_8h.html#a541188a9d9f32ee0f5c74b2742908cf5a0227367076a47599a3ebf7656ebfb95a',1,'enums.h']]], + ['gpu_5ftexunit1_7557',['GPU_TEXUNIT1',['../enums_8h.html#a541188a9d9f32ee0f5c74b2742908cf5a1cab55e9bcfa74f4526f4d3ccbfadaaf',1,'enums.h']]], + ['gpu_5ftexunit2_7558',['GPU_TEXUNIT2',['../enums_8h.html#a541188a9d9f32ee0f5c74b2742908cf5a523f3ff77075c502c6c7195293d26182',1,'enums.h']]], + ['gpu_5ftriangle_5ffan_7559',['GPU_TRIANGLE_FAN',['../enums_8h.html#a94bdee50fa003d70dd3888f347397806a7fd1d38c441743fd0671ba7d6f06bf81',1,'enums.h']]], + ['gpu_5ftriangle_5fstrip_7560',['GPU_TRIANGLE_STRIP',['../enums_8h.html#a94bdee50fa003d70dd3888f347397806abeb8d11a9f99878cfb4b97a2d00f9c9f',1,'enums.h']]], + ['gpu_5ftriangles_7561',['GPU_TRIANGLES',['../enums_8h.html#a94bdee50fa003d70dd3888f347397806abee71ba286bcf6b5222049ac7beb2d8b',1,'enums.h']]], + ['gpu_5funsigned_5fbyte_7562',['GPU_UNSIGNED_BYTE',['../enums_8h.html#a3a62c2be4e88ff3de7c69f1b660d1634ae1574a2e1f462cd4ec5916c84cfe8100',1,'enums.h']]], + ['gpu_5fvertex_5fshader_7563',['GPU_VERTEX_SHADER',['../enums_8h.html#a178882ce0f114a22e19ff7f0ee842de5a6545b908fe67bb2d298e7468135ef71f',1,'enums.h']]], + ['gpu_5fwrite_5fall_7564',['GPU_WRITE_ALL',['../enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3ae6311b606a2db6df1e7358ad79e297a0',1,'enums.h']]], + ['gpu_5fwrite_5falpha_7565',['GPU_WRITE_ALPHA',['../enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3ae6fde6efa027eb45921b97fd14e77d11',1,'enums.h']]], + ['gpu_5fwrite_5fblue_7566',['GPU_WRITE_BLUE',['../enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3a76f42da2ba768bd23123a184258f30cb',1,'enums.h']]], + ['gpu_5fwrite_5fcolor_7567',['GPU_WRITE_COLOR',['../enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3aab35493591ce4e6a89f6855c3e4f32e0',1,'enums.h']]], + ['gpu_5fwrite_5fdepth_7568',['GPU_WRITE_DEPTH',['../enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3a93226033db75b41f11d00b6329f25b16',1,'enums.h']]], + ['gpu_5fwrite_5fgreen_7569',['GPU_WRITE_GREEN',['../enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3a6680bad6c4a8464fc9cd980e2cd368b9',1,'enums.h']]], + ['gpu_5fwrite_5fred_7570',['GPU_WRITE_RED',['../enums_8h.html#a7fffcfca8e93491a90d7b54cce719cd3a1f31c5cd4df1e803e813a2381acc5b41',1,'enums.h']]], + ['gpu_5fzero_7571',['GPU_ZERO',['../enums_8h.html#a2a140d854f0e7c97cec2b38f4a226fe1aac60d6d3d8b697aa09f6bc66ccdc7d71',1,'enums.h']]], + ['gsh_5ffixed_5fprim_7572',['GSH_FIXED_PRIM',['../shbin_8h.html#ab6f0a4e64f7ec402eef735474591e21ea6a30a5b1a9e76013f934700874014ac0',1,'shbin.h']]], + ['gsh_5fpoint_7573',['GSH_POINT',['../shbin_8h.html#ab6f0a4e64f7ec402eef735474591e21ea68878fe0f5ad091d4f91b6cbcf223a5f',1,'shbin.h']]], + ['gsh_5fvariable_5fprim_7574',['GSH_VARIABLE_PRIM',['../shbin_8h.html#ab6f0a4e64f7ec402eef735474591e21ea628f99d5a2ba9db446c5f9c79130ddfc',1,'shbin.h']]], + ['gsp_5fbgr8_5foes_7575',['GSP_BGR8_OES',['../gspgpu_8h.html#ade9eea08a2ad835b9c5d0f7a9164f36ba7e2e54f5d000504cd971d23bf2d2b58f',1,'gspgpu.h']]], + ['gsp_5frgb565_5foes_7576',['GSP_RGB565_OES',['../gspgpu_8h.html#ade9eea08a2ad835b9c5d0f7a9164f36baf2acd7de248add1481404d4cd1fdf816',1,'gspgpu.h']]], + ['gsp_5frgb5_5fa1_5foes_7577',['GSP_RGB5_A1_OES',['../gspgpu_8h.html#ade9eea08a2ad835b9c5d0f7a9164f36ba6262e1f07384fcc538113978d5c8a6b8',1,'gspgpu.h']]], + ['gsp_5frgba4_5foes_7578',['GSP_RGBA4_OES',['../gspgpu_8h.html#ade9eea08a2ad835b9c5d0f7a9164f36ba7d05a3900d34338a30c681f67c35093b',1,'gspgpu.h']]], + ['gsp_5frgba8_5foes_7579',['GSP_RGBA8_OES',['../gspgpu_8h.html#ade9eea08a2ad835b9c5d0f7a9164f36babcae9c454df64644542ee85d4460647f',1,'gspgpu.h']]], + ['gspgpu_5fevent_5fdma_7580',['GSPGPU_EVENT_DMA',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cba767fab5a8e58912ea84f192dff6926af',1,'gspgpu.h']]], + ['gspgpu_5fevent_5fmax_7581',['GSPGPU_EVENT_MAX',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cba1bf23df97456715e279a4254b39c49b2',1,'gspgpu.h']]], + ['gspgpu_5fevent_5fp3d_7582',['GSPGPU_EVENT_P3D',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cbae99eb38dedd3b63fb501bb4c0a2d644e',1,'gspgpu.h']]], + ['gspgpu_5fevent_5fppf_7583',['GSPGPU_EVENT_PPF',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cba5f7bd78a3019e3d57bac1cfee8cef768',1,'gspgpu.h']]], + ['gspgpu_5fevent_5fpsc0_7584',['GSPGPU_EVENT_PSC0',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cba8df851fc136cf036038889661d574a78',1,'gspgpu.h']]], + ['gspgpu_5fevent_5fpsc1_7585',['GSPGPU_EVENT_PSC1',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cba96ec398a3845579fe3bdb7259ec8b8b2',1,'gspgpu.h']]], + ['gspgpu_5fevent_5fvblank0_7586',['GSPGPU_EVENT_VBlank0',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cba6b9085683ccf233f10da885153998dc6',1,'gspgpu.h']]], + ['gspgpu_5fevent_5fvblank1_7587',['GSPGPU_EVENT_VBlank1',['../gspgpu_8h.html#a02ba699764336c8df7f8910921d478cbac37987948ea2cd5ff82bd428857ee95f',1,'gspgpu.h']]], + ['gsplcd_5fscreen_5fboth_7588',['GSPLCD_SCREEN_BOTH',['../gsplcd_8h.html#af8654c714018c6241d9ebd01f3fb5a26a49ac08560fa661b7c86e311926b76d4d',1,'gsplcd.h']]], + ['gsplcd_5fscreen_5fbottom_7589',['GSPLCD_SCREEN_BOTTOM',['../gsplcd_8h.html#af8654c714018c6241d9ebd01f3fb5a26ae14f08de247111d7fe5383abf98fc696',1,'gsplcd.h']]], + ['gsplcd_5fscreen_5ftop_7590',['GSPLCD_SCREEN_TOP',['../gsplcd_8h.html#af8654c714018c6241d9ebd01f3fb5a26aa521a448545bff0e825425341cd58bba',1,'gsplcd.h']]], + ['gx_5ffill_5f16bit_5fdepth_7591',['GX_FILL_16BIT_DEPTH',['../gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2bc635a0bd73fdcc6aea5c25c1e2430c',1,'gx.h']]], + ['gx_5ffill_5f24bit_5fdepth_7592',['GX_FILL_24BIT_DEPTH',['../gx_8h.html#af2a0de60baddb7fc1528a62e4e555273aee8f4636ba155f050ccc5028f1c8a46e',1,'gx.h']]], + ['gx_5ffill_5f32bit_5fdepth_7593',['GX_FILL_32BIT_DEPTH',['../gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2642ecb73c80fe5272c041350c08134d',1,'gx.h']]], + ['gx_5ffill_5ffinished_7594',['GX_FILL_FINISHED',['../gx_8h.html#af2a0de60baddb7fc1528a62e4e555273ae4dea50c92ea821ef9d147b53b5815bf',1,'gx.h']]], + ['gx_5ffill_5ftrigger_7595',['GX_FILL_TRIGGER',['../gx_8h.html#af2a0de60baddb7fc1528a62e4e555273a2b6413914fd7889d0ad0610ed4bb5efd',1,'gx.h']]], + ['gx_5ftransfer_5ffmt_5frgb565_7596',['GX_TRANSFER_FMT_RGB565',['../gx_8h.html#aca790f0cdfea04833518556b8a1682f3a257646681fb4c1dd4b4f0efbc42a6969',1,'gx.h']]], + ['gx_5ftransfer_5ffmt_5frgb5a1_7597',['GX_TRANSFER_FMT_RGB5A1',['../gx_8h.html#aca790f0cdfea04833518556b8a1682f3ac52c38b6270090935348440f97113aae',1,'gx.h']]], + ['gx_5ftransfer_5ffmt_5frgb8_7598',['GX_TRANSFER_FMT_RGB8',['../gx_8h.html#aca790f0cdfea04833518556b8a1682f3accbc07083d7f644b5b162170bafe1dec',1,'gx.h']]], + ['gx_5ftransfer_5ffmt_5frgba4_7599',['GX_TRANSFER_FMT_RGBA4',['../gx_8h.html#aca790f0cdfea04833518556b8a1682f3aeb91dd279d4b69a708cd1cb335981d85',1,'gx.h']]], + ['gx_5ftransfer_5ffmt_5frgba8_7600',['GX_TRANSFER_FMT_RGBA8',['../gx_8h.html#aca790f0cdfea04833518556b8a1682f3af7d586734e0807a190bf75602fea93fd',1,'gx.h']]], + ['gx_5ftransfer_5fscale_5fno_7601',['GX_TRANSFER_SCALE_NO',['../gx_8h.html#a248b09e90905d8c0622fdfee77880abaa2fe64f5849a1d5806575a9379f81dfff',1,'gx.h']]], + ['gx_5ftransfer_5fscale_5fx_7602',['GX_TRANSFER_SCALE_X',['../gx_8h.html#a248b09e90905d8c0622fdfee77880abaa332fea39c9f9533f8ab5780a9543ba30',1,'gx.h']]], + ['gx_5ftransfer_5fscale_5fxy_7603',['GX_TRANSFER_SCALE_XY',['../gx_8h.html#a248b09e90905d8c0622fdfee77880abaa23da8dd0a0ff54432347bf36e9bf4c5f',1,'gx.h']]] +]; diff --git a/search/enumvalues_7.html b/search/enumvalues_7.html new file mode 100644 index 000000000..7fdf663dd --- /dev/null +++ b/search/enumvalues_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_7.js b/search/enumvalues_7.js new file mode 100644 index 000000000..01875a5f5 --- /dev/null +++ b/search/enumvalues_7.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['hidevent_5faccel_7604',['HIDEVENT_Accel',['../hid_8h.html#aa6eff5e15e98cebd0012c1f2ae96cc78a37118d72625429b9097abcede7dad8e3',1,'hid.h']]], + ['hidevent_5fdebugpad_7605',['HIDEVENT_DebugPad',['../hid_8h.html#aa6eff5e15e98cebd0012c1f2ae96cc78a1dde14c17cc553f4d6304cad94f7389c',1,'hid.h']]], + ['hidevent_5fgyro_7606',['HIDEVENT_Gyro',['../hid_8h.html#aa6eff5e15e98cebd0012c1f2ae96cc78a1182fb43bc99418ff2fd4d6eab3163a2',1,'hid.h']]], + ['hidevent_5fmax_7607',['HIDEVENT_MAX',['../hid_8h.html#aa6eff5e15e98cebd0012c1f2ae96cc78a532a5a1c265afd939f945836e2ff68ed',1,'hid.h']]], + ['hidevent_5fpad0_7608',['HIDEVENT_PAD0',['../hid_8h.html#aa6eff5e15e98cebd0012c1f2ae96cc78aef24b7f682103500bd42daf6d17690a4',1,'hid.h']]], + ['hidevent_5fpad1_7609',['HIDEVENT_PAD1',['../hid_8h.html#aa6eff5e15e98cebd0012c1f2ae96cc78a5a886f067880b2931251b0d78d5728f1',1,'hid.h']]], + ['httpc_5fstatus_5fdownload_5fready_7610',['HTTPC_STATUS_DOWNLOAD_READY',['../httpc_8h.html#acf1d4f75e50ea1f3d391d4260f91d64da2e62946f93c0092d62c20577c6be1c19',1,'httpc.h']]], + ['httpc_5fstatus_5frequest_5fin_5fprogress_7611',['HTTPC_STATUS_REQUEST_IN_PROGRESS',['../httpc_8h.html#acf1d4f75e50ea1f3d391d4260f91d64dad210be04b032dbcebec1d139ec446885',1,'httpc.h']]] +]; diff --git a/search/enumvalues_8.html b/search/enumvalues_8.html new file mode 100644 index 000000000..674ccda69 --- /dev/null +++ b/search/enumvalues_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_8.js b/search/enumvalues_8.js new file mode 100644 index 000000000..c4a75d706 --- /dev/null +++ b/search/enumvalues_8.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['im_5fdefault_7612',['IM_DEFAULT',['../nim_8h.html#afe2032f64d1715e952d818170fc1d8e8ad02ef05ea4bcac268ab8d4c5d7211d6d',1,'nim.h']]], + ['im_5freinstall_7613',['IM_REINSTALL',['../nim_8h.html#afe2032f64d1715e952d818170fc1d8e8a73f9f1db542d2575d1c93c58fc32699a',1,'nim.h']]], + ['im_5funknown1_7614',['IM_UNKNOWN1',['../nim_8h.html#afe2032f64d1715e952d818170fc1d8e8a67a5609e16b26a010a29809ea2e8061b',1,'nim.h']]], + ['im_5funknown2_7615',['IM_UNKNOWN2',['../nim_8h.html#afe2032f64d1715e952d818170fc1d8e8afad513e33d908de7591fa5413d9033d5',1,'nim.h']]], + ['input_5fyuv420_5findiv_5f16_7616',['INPUT_YUV420_INDIV_16',['../y2r_8h.html#ab62334088de74eccf13fb1b0c5912ffca0585a6a62e46252f9da274d0059064f4',1,'y2r.h']]], + ['input_5fyuv420_5findiv_5f8_7617',['INPUT_YUV420_INDIV_8',['../y2r_8h.html#ab62334088de74eccf13fb1b0c5912ffcaf196137c968ea887987411dd5f24ad3e',1,'y2r.h']]], + ['input_5fyuv422_5fbatch_7618',['INPUT_YUV422_BATCH',['../y2r_8h.html#ab62334088de74eccf13fb1b0c5912ffca5c1827fb0d430e5a33a00af2f62cfef7',1,'y2r.h']]], + ['input_5fyuv422_5findiv_5f16_7619',['INPUT_YUV422_INDIV_16',['../y2r_8h.html#ab62334088de74eccf13fb1b0c5912ffca1b751709bc04bbe2b6bafc6b2237c3f0',1,'y2r.h']]], + ['input_5fyuv422_5findiv_5f8_7620',['INPUT_YUV422_INDIV_8',['../y2r_8h.html#ab62334088de74eccf13fb1b0c5912ffca972ba69e974377648a8cb65d19739496',1,'y2r.h']]], + ['ipc_5fbuffer_5fr_7621',['IPC_BUFFER_R',['../ipc_8h.html#ae0ccf9e363a4bd3b070762b57ffc8783aa8137b3b700afc9926ead9fcffaff34f',1,'ipc.h']]], + ['ipc_5fbuffer_5frw_7622',['IPC_BUFFER_RW',['../ipc_8h.html#ae0ccf9e363a4bd3b070762b57ffc8783a9052ab0f3610999bf1b79e277ba9b4a0',1,'ipc.h']]], + ['ipc_5fbuffer_5fw_7623',['IPC_BUFFER_W',['../ipc_8h.html#ae0ccf9e363a4bd3b070762b57ffc8783a121e561528ed18b70a5fd5a927d82e43',1,'ipc.h']]] +]; diff --git a/search/enumvalues_9.html b/search/enumvalues_9.html new file mode 100644 index 000000000..60f15ee38 --- /dev/null +++ b/search/enumvalues_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_9.js b/search/enumvalues_9.js new file mode 100644 index 000000000..53ee03fd6 --- /dev/null +++ b/search/enumvalues_9.js @@ -0,0 +1,30 @@ +var searchData= +[ + ['key_5fa_7624',['KEY_A',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3aa7b3a3d0503a46bec51c6e3da95747cc',1,'hid.h']]], + ['key_5fb_7625',['KEY_B',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a10072b5ee7aa1faf316434ecc9e2bb3a',1,'hid.h']]], + ['key_5fcpad_5fdown_7626',['KEY_CPAD_DOWN',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3aef41de89d32dc8afb1fcdcfd6d7cf105',1,'hid.h']]], + ['key_5fcpad_5fleft_7627',['KEY_CPAD_LEFT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3afdcba13a850cf9c1895714fa274a8d85',1,'hid.h']]], + ['key_5fcpad_5fright_7628',['KEY_CPAD_RIGHT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a25b2630e92ccaf32456e950de62a487c',1,'hid.h']]], + ['key_5fcpad_5fup_7629',['KEY_CPAD_UP',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3ab0170312a08a34b722713daa47227d5b',1,'hid.h']]], + ['key_5fcstick_5fdown_7630',['KEY_CSTICK_DOWN',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3afccf9b0d9adf1864a6671e05d3bb52c9',1,'hid.h']]], + ['key_5fcstick_5fleft_7631',['KEY_CSTICK_LEFT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3ac8e7137365ed080f5ec917ce06fb4e56',1,'hid.h']]], + ['key_5fcstick_5fright_7632',['KEY_CSTICK_RIGHT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a557de4e103c1e2c316b9e0962c221ab6',1,'hid.h']]], + ['key_5fcstick_5fup_7633',['KEY_CSTICK_UP',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a14185dd404b66154316668c11981f7ba',1,'hid.h']]], + ['key_5fddown_7634',['KEY_DDOWN',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a0864766d4b6c65f9678c36493438bebe',1,'hid.h']]], + ['key_5fdleft_7635',['KEY_DLEFT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3af824136f61c487d8ead496b07e094bfc',1,'hid.h']]], + ['key_5fdown_7636',['KEY_DOWN',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3aa9cdac7967bf7d88fdb761138a2a3416',1,'hid.h']]], + ['key_5fdright_7637',['KEY_DRIGHT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a46f267098a4b14fbabc9ffe3ebada7d0',1,'hid.h']]], + ['key_5fdup_7638',['KEY_DUP',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a71eb64b66b1b1838d510919ac34b23e6',1,'hid.h']]], + ['key_5fl_7639',['KEY_L',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3aece16de35a5ea11f9b228c9376bebc62',1,'hid.h']]], + ['key_5fleft_7640',['KEY_LEFT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a612120b69c7dfd46086db7aaebdbcf65',1,'hid.h']]], + ['key_5fr_7641',['KEY_R',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3aa3ec8a2ffd5b0e200db5ebe7b65515ff',1,'hid.h']]], + ['key_5fright_7642',['KEY_RIGHT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a6504370d9c6391e1a9da6a1a529b089d',1,'hid.h']]], + ['key_5fselect_7643',['KEY_SELECT',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a3b37a163628bc7015aac5efab4a66ef5',1,'hid.h']]], + ['key_5fstart_7644',['KEY_START',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a616a1f5c4ed36080ca954453084aea3b',1,'hid.h']]], + ['key_5ftouch_7645',['KEY_TOUCH',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a0509af8005e4af9e51a2b84474da1bd8',1,'hid.h']]], + ['key_5fup_7646',['KEY_UP',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a0848a442d907968b211b97bc2bd88acd',1,'hid.h']]], + ['key_5fx_7647',['KEY_X',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a480a807305121d41673b8c208898f497',1,'hid.h']]], + ['key_5fy_7648',['KEY_Y',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a5d44524b2a6090fa97aa9353d69f67a3',1,'hid.h']]], + ['key_5fzl_7649',['KEY_ZL',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a72a8d499bf463cfaa531c781f72e536a',1,'hid.h']]], + ['key_5fzr_7650',['KEY_ZR',['../hid_8h.html#a2f80701c36e79c0640d91c788feee0b3a4e27d906c879950f8c46632ca1b4b48f',1,'hid.h']]] +]; diff --git a/search/enumvalues_a.html b/search/enumvalues_a.html new file mode 100644 index 000000000..ce1064c72 --- /dev/null +++ b/search/enumvalues_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_a.js b/search/enumvalues_a.js new file mode 100644 index 000000000..5bf59035c --- /dev/null +++ b/search/enumvalues_a.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['led_5fblink_5fred_7651',['LED_BLINK_RED',['../mcuhwc_8h.html#a4d0ecf130d757d1097b02791affd59f3a05db5006cefc8596f609ed1efe3834d8',1,'mcuhwc.h']]], + ['led_5fblue_7652',['LED_BLUE',['../mcuhwc_8h.html#a4d0ecf130d757d1097b02791affd59f3aa67c57c0ff22a2772cb6a5751a3327bf',1,'mcuhwc.h']]], + ['led_5fnormal_7653',['LED_NORMAL',['../mcuhwc_8h.html#a4d0ecf130d757d1097b02791affd59f3a052ec9418815c097e290abeb03f91c14',1,'mcuhwc.h']]], + ['led_5foff_7654',['LED_OFF',['../mcuhwc_8h.html#a4d0ecf130d757d1097b02791affd59f3afc0ca8cc6cbe215fd3f1ae6d40255b40',1,'mcuhwc.h']]], + ['led_5fred_7655',['LED_RED',['../mcuhwc_8h.html#a4d0ecf130d757d1097b02791affd59f3ad80f13022b6d309268fadc7b1da89cb9',1,'mcuhwc.h']]], + ['led_5fsleep_5fmode_7656',['LED_SLEEP_MODE',['../mcuhwc_8h.html#a4d0ecf130d757d1097b02791affd59f3ae9f8f9f5a62af88aac710a7bfa21bdd0',1,'mcuhwc.h']]], + ['lens_5fcorrection_5fbright_7657',['LENS_CORRECTION_BRIGHT',['../cam_8h.html#a495e5c707772c7bfb891444bc4970a49a50b6c261601994f3f39562e8c68b166c',1,'cam.h']]], + ['lens_5fcorrection_5fdark_7658',['LENS_CORRECTION_DARK',['../cam_8h.html#a495e5c707772c7bfb891444bc4970a49a589d6c4e00af85e1c28244cd8b9325c8',1,'cam.h']]], + ['lens_5fcorrection_5fnormal_7659',['LENS_CORRECTION_NORMAL',['../cam_8h.html#a495e5c707772c7bfb891444bc4970a49a334122eb084386c9dcf0096cbc83e7e3',1,'cam.h']]], + ['lens_5fcorrection_5foff_7660',['LENS_CORRECTION_OFF',['../cam_8h.html#a495e5c707772c7bfb891444bc4970a49a8518f89c41ce03aa345f2307fa276c04',1,'cam.h']]], + ['lens_5fcorrection_5fon_5f70_7661',['LENS_CORRECTION_ON_70',['../cam_8h.html#a495e5c707772c7bfb891444bc4970a49a0b7004b2934d3c999050a9b9f9111cb6',1,'cam.h']]], + ['lens_5fcorrection_5fon_5f90_7662',['LENS_CORRECTION_ON_90',['../cam_8h.html#a495e5c707772c7bfb891444bc4970a49a34e657cc94977e4fe52536d391869f36',1,'cam.h']]] +]; diff --git a/search/enumvalues_b.html b/search/enumvalues_b.html new file mode 100644 index 000000000..ec768e7ff --- /dev/null +++ b/search/enumvalues_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_b.js b/search/enumvalues_b.js new file mode 100644 index 000000000..32467e72a --- /dev/null +++ b/search/enumvalues_b.js @@ -0,0 +1,60 @@ +var searchData= +[ + ['mediatype_5fgame_5fcard_7663',['MEDIATYPE_GAME_CARD',['../fs_8h.html#a3526d37c529b39a862b9b7371a53e137a35710db5adf72c7b0b1775f87051e4b0',1,'fs.h']]], + ['mediatype_5fnand_7664',['MEDIATYPE_NAND',['../fs_8h.html#a3526d37c529b39a862b9b7371a53e137ae1d592f99c375473d1e05bec79ddde26',1,'fs.h']]], + ['mediatype_5fsd_7665',['MEDIATYPE_SD',['../fs_8h.html#a3526d37c529b39a862b9b7371a53e137a7dd335c377a12223f9588649066e80c7',1,'fs.h']]], + ['memop_5falloc_7666',['MEMOP_ALLOC',['../svc_8h.html#a754721841a571940880975d2191f3e0fa204affee42a49e0da0c743a910e9ebed',1,'svc.h']]], + ['memop_5falloc_5flinear_7667',['MEMOP_ALLOC_LINEAR',['../svc_8h.html#a754721841a571940880975d2191f3e0fac0a3b46ec2c6ead43fb1de9772729595',1,'svc.h']]], + ['memop_5ffree_7668',['MEMOP_FREE',['../svc_8h.html#a754721841a571940880975d2191f3e0fa0277897bdb24ec61ebe721b6e2213393',1,'svc.h']]], + ['memop_5flinear_5fflag_7669',['MEMOP_LINEAR_FLAG',['../svc_8h.html#a754721841a571940880975d2191f3e0fa38d1aa9f77dfede9f2bb50aa7c39ffd7',1,'svc.h']]], + ['memop_5fmap_7670',['MEMOP_MAP',['../svc_8h.html#a754721841a571940880975d2191f3e0fad3419008fb719308be57a96f7dbc1a07',1,'svc.h']]], + ['memop_5fop_5fmask_7671',['MEMOP_OP_MASK',['../svc_8h.html#a754721841a571940880975d2191f3e0fa09aacdab03ccb3fe52723ee25e105329',1,'svc.h']]], + ['memop_5fprot_7672',['MEMOP_PROT',['../svc_8h.html#a754721841a571940880975d2191f3e0fa19d01531a81ab0476a6977ea5c4f8eb1',1,'svc.h']]], + ['memop_5fregion_5fapp_7673',['MEMOP_REGION_APP',['../svc_8h.html#a754721841a571940880975d2191f3e0fad4d969ef37e24230f5f66b1700634763',1,'svc.h']]], + ['memop_5fregion_5fbase_7674',['MEMOP_REGION_BASE',['../svc_8h.html#a754721841a571940880975d2191f3e0fa3be4e93c776697aeedd82f51b28f21ed',1,'svc.h']]], + ['memop_5fregion_5fmask_7675',['MEMOP_REGION_MASK',['../svc_8h.html#a754721841a571940880975d2191f3e0fa58a22e2d8cd7250a43819805757e4413',1,'svc.h']]], + ['memop_5fregion_5fsystem_7676',['MEMOP_REGION_SYSTEM',['../svc_8h.html#a754721841a571940880975d2191f3e0fae9985e0572e18a1f8334ab8887bfa50d',1,'svc.h']]], + ['memop_5freserve_7677',['MEMOP_RESERVE',['../svc_8h.html#a754721841a571940880975d2191f3e0faa08bd2ac9bdfc6a958ef71a6d4615f88',1,'svc.h']]], + ['memop_5funmap_7678',['MEMOP_UNMAP',['../svc_8h.html#a754721841a571940880975d2191f3e0faebba281d2e3a26717e803b22cb4f6951',1,'svc.h']]], + ['memperm_5fdontcare_7679',['MEMPERM_DONTCARE',['../svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8a00b3d9ebe75e827a690b181275e36285',1,'svc.h']]], + ['memperm_5fexecute_7680',['MEMPERM_EXECUTE',['../svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8a95166c88c977b8f6621cc3fddfbef097',1,'svc.h']]], + ['memperm_5fread_7681',['MEMPERM_READ',['../svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8a94982bf2da2aa85b256d272073d8a3b2',1,'svc.h']]], + ['memperm_5freadexecute_7682',['MEMPERM_READEXECUTE',['../svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8aec242833b7930ca0c26c9a82cc0106f0',1,'svc.h']]], + ['memperm_5freadwrite_7683',['MEMPERM_READWRITE',['../svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8a6a38ed1f87f49fe7db01ad467e5bdf11',1,'svc.h']]], + ['memperm_5fwrite_7684',['MEMPERM_WRITE',['../svc_8h.html#a933c1284d3be96f93a10a06f9c13aef8a1cd211ea237b7a2f9d79784ad80381ef',1,'svc.h']]], + ['memregion_5fall_7685',['MEMREGION_ALL',['../svc_8h.html#ac4f63d4e584005af063b41bc55bb92eba87d800dfa880eb2c7606cbc6e88cdfc9',1,'svc.h']]], + ['memregion_5fapplication_7686',['MEMREGION_APPLICATION',['../svc_8h.html#ac4f63d4e584005af063b41bc55bb92ebaa6dca7f0283dc36043000cf009b3037d',1,'svc.h']]], + ['memregion_5fbase_7687',['MEMREGION_BASE',['../svc_8h.html#ac4f63d4e584005af063b41bc55bb92eba71250d7c703bed890cb5c41e6a04b292',1,'svc.h']]], + ['memregion_5fsystem_7688',['MEMREGION_SYSTEM',['../svc_8h.html#ac4f63d4e584005af063b41bc55bb92eba3593cd195de87cfb8d9ef3a8d4aa4d61',1,'svc.h']]], + ['memstate_5falias_7689',['MEMSTATE_ALIAS',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a26e7ac8c3e0c4a0ed3f77d0bd9788ac5',1,'svc.h']]], + ['memstate_5faliascode_7690',['MEMSTATE_ALIASCODE',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a59073efd4c26f46fee26de08c255e0b2',1,'svc.h']]], + ['memstate_5faliased_7691',['MEMSTATE_ALIASED',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a5e54fc6b8c3f3090eba67147f3000d31',1,'svc.h']]], + ['memstate_5fcode_7692',['MEMSTATE_CODE',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a271fa8404bb634409a54c9d4f5f35627',1,'svc.h']]], + ['memstate_5fcontinuous_7693',['MEMSTATE_CONTINUOUS',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a4dd019bd15843b85ba5b2e980816df50',1,'svc.h']]], + ['memstate_5ffree_7694',['MEMSTATE_FREE',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a28319451e29cd1d428cb794e452c755b',1,'svc.h']]], + ['memstate_5fio_7695',['MEMSTATE_IO',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a99d241b8c1e39f56cc62c0ae8f0a1a49',1,'svc.h']]], + ['memstate_5flocked_7696',['MEMSTATE_LOCKED',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7ae339e1d3911aeadbe94cffaa8e27436b',1,'svc.h']]], + ['memstate_5fprivate_7697',['MEMSTATE_PRIVATE',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a728b20cb6be4b28ab6694984b7e79018',1,'svc.h']]], + ['memstate_5freserved_7698',['MEMSTATE_RESERVED',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7ac0adf485622be6e0fbbdc7cbb8c47117',1,'svc.h']]], + ['memstate_5fshared_7699',['MEMSTATE_SHARED',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7a46982bcef4b1151bc212a8ae7b9605eb',1,'svc.h']]], + ['memstate_5fstatic_7700',['MEMSTATE_STATIC',['../svc_8h.html#a9475ce2cc58483c4a96c970bc6d87cf7aaca66457f6d543c2b19b0430590fc143',1,'svc.h']]], + ['micu_5fencoding_5fpcm16_7701',['MICU_ENCODING_PCM16',['../mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa31b7d400f110e7c1e6c7b48d019435a2',1,'mic.h']]], + ['micu_5fencoding_5fpcm16_5fsigned_7702',['MICU_ENCODING_PCM16_SIGNED',['../mic_8h.html#a3ead458d1aabf74550446b463b4fb54fab94c760d37cb05a0f9b35dfe308adf92',1,'mic.h']]], + ['micu_5fencoding_5fpcm8_7703',['MICU_ENCODING_PCM8',['../mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa52c56be2bb309b8f9c90ef50df2e3aac',1,'mic.h']]], + ['micu_5fencoding_5fpcm8_5fsigned_7704',['MICU_ENCODING_PCM8_SIGNED',['../mic_8h.html#a3ead458d1aabf74550446b463b4fb54fa6cfc9ded08c2da0254777e294feae5dc',1,'mic.h']]], + ['micu_5fsample_5frate_5f10910_7705',['MICU_SAMPLE_RATE_10910',['../mic_8h.html#ae126d52922918356ed810bcc398ad62bafeff0b1c15a58a63e8321c19a0c33130',1,'mic.h']]], + ['micu_5fsample_5frate_5f16360_7706',['MICU_SAMPLE_RATE_16360',['../mic_8h.html#ae126d52922918356ed810bcc398ad62ba2b9d600ba6fd888107ddcf0fabc1f5bf',1,'mic.h']]], + ['micu_5fsample_5frate_5f32730_7707',['MICU_SAMPLE_RATE_32730',['../mic_8h.html#ae126d52922918356ed810bcc398ad62bac8da93f3cdac62489f4551f4a47856d8',1,'mic.h']]], + ['micu_5fsample_5frate_5f8180_7708',['MICU_SAMPLE_RATE_8180',['../mic_8h.html#ae126d52922918356ed810bcc398ad62bac2a768cc557b9c41aef9028824906fb0',1,'mic.h']]], + ['miiselector_5fcancel_7709',['MIISELECTOR_CANCEL',['../miiselector_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a812bd83265af41310ce6fa90c5f16c5b',1,'miiselector.h']]], + ['miiselector_5fguests_7710',['MIISELECTOR_GUESTS',['../miiselector_8h.html#adf764cbdea00d65edcd07bb9953ad2b7aadcc61d7561902fb0f2d5fa85374ed07',1,'miiselector.h']]], + ['miiselector_5fgueststart_7711',['MIISELECTOR_GUESTSTART',['../miiselector_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a0df6be0527ccbf51f6bdaba521a61465',1,'miiselector.h']]], + ['miiselector_5ftop_7712',['MIISELECTOR_TOP',['../miiselector_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a7d6740c262e341414d0760e23dd0f4ef',1,'miiselector.h']]], + ['mvd_5finput_5fh264_7713',['MVD_INPUT_H264',['../mvd_8h.html#abcd3d62338d21a3b7d26bd96fd850f29a8487699e0ef9c80df41d1ae321a509ac',1,'mvd.h']]], + ['mvd_5finput_5fyuyv422_7714',['MVD_INPUT_YUYV422',['../mvd_8h.html#abcd3d62338d21a3b7d26bd96fd850f29aacf22aec18ff7e379b7b1578f9e10b12',1,'mvd.h']]], + ['mvd_5foutput_5fbgr565_7715',['MVD_OUTPUT_BGR565',['../mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644abc211cc1ddeb33aa942e33bbada487b6',1,'mvd.h']]], + ['mvd_5foutput_5frgb565_7716',['MVD_OUTPUT_RGB565',['../mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644a46a87383a22fc66ee051a77455f774b3',1,'mvd.h']]], + ['mvd_5foutput_5fyuyv422_7717',['MVD_OUTPUT_YUYV422',['../mvd_8h.html#ac91b4c4db9f9763dc972e0ca9dc70644ac3c8c4b72f05742531a4135ccd80e71e',1,'mvd.h']]], + ['mvdmode_5fcolorformatconv_7718',['MVDMODE_COLORFORMATCONV',['../mvd_8h.html#a3a1b3742822153a4f62c1f79d228a861a60d87a7f2151cd67f8b0710ec39f7583',1,'mvd.h']]], + ['mvdmode_5fvideoprocessing_7719',['MVDMODE_VIDEOPROCESSING',['../mvd_8h.html#a3a1b3742822153a4f62c1f79d228a861a4a87a822d91b28e9468c0147c90be30f',1,'mvd.h']]] +]; diff --git a/search/enumvalues_c.html b/search/enumvalues_c.html new file mode 100644 index 000000000..bdb4e1315 --- /dev/null +++ b/search/enumvalues_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_c.js b/search/enumvalues_c.js new file mode 100644 index 000000000..17a5aaeac --- /dev/null +++ b/search/enumvalues_c.js @@ -0,0 +1,50 @@ +var searchData= +[ + ['ndsp_5f3d_5fsurround_5fpreprocessed_7720',['NDSP_3D_SURROUND_PREPROCESSED',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562a7af2e3b4de379053f3edde298c3391ed',1,'channel.h']]], + ['ndsp_5fclip_5fnormal_7721',['NDSP_CLIP_NORMAL',['../ndsp_8h.html#a256d7e48bf7174660fc538ac396b9b19a188005687d5eb075cfcd78016371c893',1,'ndsp.h']]], + ['ndsp_5fclip_5fsoft_7722',['NDSP_CLIP_SOFT',['../ndsp_8h.html#a256d7e48bf7174660fc538ac396b9b19abf0c921ecef3f50bb4b9efb8338aa94a',1,'ndsp.h']]], + ['ndsp_5fencoding_5fadpcm_7723',['NDSP_ENCODING_ADPCM',['../channel_8h.html#a458e651af6690959efa2afb96be7d609ac588413fc3520d386b805e6db0c23c96',1,'channel.h']]], + ['ndsp_5fencoding_5fpcm16_7724',['NDSP_ENCODING_PCM16',['../channel_8h.html#a458e651af6690959efa2afb96be7d609a641b555f1e09eb8ab7e684df4cdd463a',1,'channel.h']]], + ['ndsp_5fencoding_5fpcm8_7725',['NDSP_ENCODING_PCM8',['../channel_8h.html#a458e651af6690959efa2afb96be7d609ae4f3bbb73c75334eed7c63bb947e3ec1',1,'channel.h']]], + ['ndsp_5fformat_5fadpcm_7726',['NDSP_FORMAT_ADPCM',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562a4b28453b73b164bd85d5deaa084c357e',1,'channel.h']]], + ['ndsp_5fformat_5fmono_5fadpcm_7727',['NDSP_FORMAT_MONO_ADPCM',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562a9e89ff35ab28474c60a4a642b3da2494',1,'channel.h']]], + ['ndsp_5fformat_5fmono_5fpcm16_7728',['NDSP_FORMAT_MONO_PCM16',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562af9368c39428fe9513f993ee4e9444cb6',1,'channel.h']]], + ['ndsp_5fformat_5fmono_5fpcm8_7729',['NDSP_FORMAT_MONO_PCM8',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562a4d9a3eff8fae0658ed120ebadd5c6f42',1,'channel.h']]], + ['ndsp_5fformat_5fpcm16_7730',['NDSP_FORMAT_PCM16',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562a462360a2e9ccc2ccd634f1751c653477',1,'channel.h']]], + ['ndsp_5fformat_5fpcm8_7731',['NDSP_FORMAT_PCM8',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562afa20b191a6601f6634c5851b685da433',1,'channel.h']]], + ['ndsp_5fformat_5fstereo_5fpcm16_7732',['NDSP_FORMAT_STEREO_PCM16',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562a834e1e072bc81fa728389d8759fc51b3',1,'channel.h']]], + ['ndsp_5fformat_5fstereo_5fpcm8_7733',['NDSP_FORMAT_STEREO_PCM8',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562a5c451e1cb286465f8467767bc33696a3',1,'channel.h']]], + ['ndsp_5ffront_5fbypass_7734',['NDSP_FRONT_BYPASS',['../channel_8h.html#a1f9aebf1de3ebbf4283a4dcf73308562a21a2e8f1b3fea65d9d636ebae1df2533',1,'channel.h']]], + ['ndsp_5finterp_5flinear_7735',['NDSP_INTERP_LINEAR',['../channel_8h.html#a6319005cb21b18395a1452e95aabbec3a0d5a9ea8e53a246b1ac65dc294a5fd53',1,'channel.h']]], + ['ndsp_5finterp_5fnone_7736',['NDSP_INTERP_NONE',['../channel_8h.html#a6319005cb21b18395a1452e95aabbec3ad9872be8d23d3d2023e205d5f5fb388c',1,'channel.h']]], + ['ndsp_5finterp_5fpolyphase_7737',['NDSP_INTERP_POLYPHASE',['../channel_8h.html#a6319005cb21b18395a1452e95aabbec3ac8e204d77e18ef8913e2eab1b18e002b',1,'channel.h']]], + ['ndsp_5foutput_5fmono_7738',['NDSP_OUTPUT_MONO',['../ndsp_8h.html#aa9cfcfee3c85f67dadf1091b9b8bdcfda901dbb3dd6f7588228ca0052b3b5ca55',1,'ndsp.h']]], + ['ndsp_5foutput_5fstereo_7739',['NDSP_OUTPUT_STEREO',['../ndsp_8h.html#aa9cfcfee3c85f67dadf1091b9b8bdcfdad0643ea33ee4590c7239f1eec1fe9fd1',1,'ndsp.h']]], + ['ndsp_5foutput_5fsurround_7740',['NDSP_OUTPUT_SURROUND',['../ndsp_8h.html#aa9cfcfee3c85f67dadf1091b9b8bdcfdae0c412a650b7b63783a8e0a3d84666e4',1,'ndsp.h']]], + ['ndsp_5fspkpos_5fnum_7741',['NDSP_SPKPOS_NUM',['../ndsp_8h.html#aaa155e6e3bd6e21c43a7bbf7466f26d4a3be9513896beef2994022864ed335911',1,'ndsp.h']]], + ['ndsp_5fspkpos_5fsquare_7742',['NDSP_SPKPOS_SQUARE',['../ndsp_8h.html#aaa155e6e3bd6e21c43a7bbf7466f26d4a6534cb3b5d41add240139d97c0d92cef',1,'ndsp.h']]], + ['ndsp_5fspkpos_5fwide_7743',['NDSP_SPKPOS_WIDE',['../ndsp_8h.html#aaa155e6e3bd6e21c43a7bbf7466f26d4a26bcddb04c06a3e782b84c43edd98d4c',1,'ndsp.h']]], + ['ndsp_5fwbuf_5fdone_7744',['NDSP_WBUF_DONE',['../ndsp_8h.html#a77867ab4129f63159b37bca3b652a798ad47b533bf89b23c67243aa19e889bd68',1,'ndsp.h']]], + ['ndsp_5fwbuf_5ffree_7745',['NDSP_WBUF_FREE',['../ndsp_8h.html#a77867ab4129f63159b37bca3b652a798a723dbfb7dc9c50cb1ff5a3fda4f4dfe1',1,'ndsp.h']]], + ['ndsp_5fwbuf_5fplaying_7746',['NDSP_WBUF_PLAYING',['../ndsp_8h.html#a77867ab4129f63159b37bca3b652a798ab703579b9808d95a1c231452e70948a8',1,'ndsp.h']]], + ['ndsp_5fwbuf_5fqueued_7747',['NDSP_WBUF_QUEUED',['../ndsp_8h.html#a77867ab4129f63159b37bca3b652a798a35e846d5d3a0c40a9009efe2096381c2',1,'ndsp.h']]], + ['netopt_5farp_5ftable_7748',['NETOPT_ARP_TABLE',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195bad54186bb5d20deb3f23f4f68af9bb46f',1,'soc.h']]], + ['netopt_5fdhcp_5flease_5ftime_7749',['NETOPT_DHCP_LEASE_TIME',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195ba6c2850ad357b5e7c3d4b7fed113066fe',1,'soc.h']]], + ['netopt_5fdns_5ftable_7750',['NETOPT_DNS_TABLE',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195ba54167541fe52565a71798a1de933a03e',1,'soc.h']]], + ['netopt_5fip_5finfo_7751',['NETOPT_IP_INFO',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195bad87e12b1a746874485def4698fc299d6',1,'soc.h']]], + ['netopt_5fip_5fmtu_7752',['NETOPT_IP_MTU',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195baf40c8ab5617941e0c2688330404b432e',1,'soc.h']]], + ['netopt_5fmac_5faddress_7753',['NETOPT_MAC_ADDRESS',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195ba151701448597b75b590349b671df99d9',1,'soc.h']]], + ['netopt_5frouting_5ftable_7754',['NETOPT_ROUTING_TABLE',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195ba84ecb7d26ff74c7e92d7b6837d83c9b3',1,'soc.h']]], + ['netopt_5ftcp_5fnumber_7755',['NETOPT_TCP_NUMBER',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195ba5def01a955bd5ccbd6f8bb5ff6fa585c',1,'soc.h']]], + ['netopt_5ftcp_5ftable_7756',['NETOPT_TCP_TABLE',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195ba7de29cd696b4bbafac7255ba4e86b806',1,'soc.h']]], + ['netopt_5fudp_5fnumber_7757',['NETOPT_UDP_NUMBER',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195ba9e1b6ce01f6201e942cf9f3d73f0dc15',1,'soc.h']]], + ['netopt_5fudp_5ftable_7758',['NETOPT_UDP_TABLE',['../soc_8h.html#a68bfdefaf8aaf20a49442b5a16bc195bacf2e5444441f93c89d89eceda5eebf4c',1,'soc.h']]], + ['nfc_5famiiboflag_5fappdatasetup_7759',['NFC_amiiboFlag_AppDataSetup',['../nfc_8h.html#a531c35e38ede3ea4e5ba5afb24b29493a16ce51e6a1dce2256d7a988d1dd9add4',1,'nfc.h']]], + ['nfc_5foptype_5fnfctag_7760',['NFC_OpType_NFCTag',['../nfc_8h.html#a9eece04c91681b888fb1fa0744944cd7a0cd7ce431e3b1f84d93ae5f1c60fa8b7',1,'nfc.h']]], + ['nfc_5foptype_5frawnfc_7761',['NFC_OpType_RawNFC',['../nfc_8h.html#a9eece04c91681b888fb1fa0744944cd7a4dfe8836eb56105d0b7a3f84c615ffb3',1,'nfc.h']]], + ['nfc_5ftagstate_5fdataready_7762',['NFC_TagState_DataReady',['../nfc_8h.html#a69a16164e08b77836ef1bc9482f16d48a05ee15a8c4822b2cfe6d5c609ef02069',1,'nfc.h']]], + ['nfc_5ftagstate_5finrange_7763',['NFC_TagState_InRange',['../nfc_8h.html#a69a16164e08b77836ef1bc9482f16d48af5614df893e8dff6bed2e253e869073a',1,'nfc.h']]], + ['nfc_5ftagstate_5foutofrange_7764',['NFC_TagState_OutOfRange',['../nfc_8h.html#a69a16164e08b77836ef1bc9482f16d48a3724306f91d953f27676392d586144ed',1,'nfc.h']]], + ['nfc_5ftagstate_5fscanning_7765',['NFC_TagState_Scanning',['../nfc_8h.html#a69a16164e08b77836ef1bc9482f16d48aafac0dbd5b19fe620065ee0e0594e182',1,'nfc.h']]], + ['nfc_5ftagstate_5fscanningstopped_7766',['NFC_TagState_ScanningStopped',['../nfc_8h.html#a69a16164e08b77836ef1bc9482f16d48ab8076e3eb5dae8b8a6039bd5216bc00b',1,'nfc.h']]] +]; diff --git a/search/enumvalues_d.html b/search/enumvalues_d.html new file mode 100644 index 000000000..47a761596 --- /dev/null +++ b/search/enumvalues_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_d.js b/search/enumvalues_d.js new file mode 100644 index 000000000..2d48981c7 --- /dev/null +++ b/search/enumvalues_d.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['output_5frgb_5f16_5f555_7767',['OUTPUT_RGB_16_555',['../y2r_8h.html#ac49b25aec022b69a1df125f1fb9abd46af1d72ce325650b7925ae45d76fbbb3c0',1,'y2r.h']]], + ['output_5frgb_5f16_5f565_7768',['OUTPUT_RGB_16_565',['../y2r_8h.html#ac49b25aec022b69a1df125f1fb9abd46aa0c508afc59c4062a31f8199032decf3',1,'y2r.h']]], + ['output_5frgb_5f24_7769',['OUTPUT_RGB_24',['../y2r_8h.html#ac49b25aec022b69a1df125f1fb9abd46a6eec4a0367cc70dc49354eaa6e81b5e8',1,'y2r.h']]], + ['output_5frgb_5f32_7770',['OUTPUT_RGB_32',['../y2r_8h.html#ac49b25aec022b69a1df125f1fb9abd46a1ac70650b6d06ae7b4b52b20a58e731e',1,'y2r.h']]], + ['output_5frgb_5f565_7771',['OUTPUT_RGB_565',['../cam_8h.html#a3984303a5065c81cd8a565489c8fff85a17d4aba3a605114a3de59c55de06e4e2',1,'cam.h']]], + ['output_5fyuv_5f422_7772',['OUTPUT_YUV_422',['../cam_8h.html#a3984303a5065c81cd8a565489c8fff85a5d1fea80d3826fb5c780091e5130dbe4',1,'cam.h']]] +]; diff --git a/search/enumvalues_e.html b/search/enumvalues_e.html new file mode 100644 index 000000000..c7b30bf3e --- /dev/null +++ b/search/enumvalues_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_e.js b/search/enumvalues_e.js new file mode 100644 index 000000000..d89bc9cbe --- /dev/null +++ b/search/enumvalues_e.js @@ -0,0 +1,67 @@ +var searchData= +[ + ['path_5fascii_7773',['PATH_ASCII',['../fs_8h.html#a2ac939166d53f34606e046ade4c937ababb1e4d40ce2b0a1510947d092780b4cf',1,'fs.h']]], + ['path_5fbinary_7774',['PATH_BINARY',['../fs_8h.html#a2ac939166d53f34606e046ade4c937aba0330efe07f703a073551310f23edc79f',1,'fs.h']]], + ['path_5fempty_7775',['PATH_EMPTY',['../fs_8h.html#a2ac939166d53f34606e046ade4c937aba1874741e017505f2ea18f01dbf62a215',1,'fs.h']]], + ['path_5finvalid_7776',['PATH_INVALID',['../fs_8h.html#a2ac939166d53f34606e046ade4c937aba087708a66f83c522faa1a8be2be798e9',1,'fs.h']]], + ['path_5futf16_7777',['PATH_UTF16',['../fs_8h.html#a2ac939166d53f34606e046ade4c937abac350e2e698ad4760db30ab793f49939d',1,'fs.h']]], + ['perfcounterevt_5fcore_5fcycle_5fcount_7778',['PERFCOUNTEREVT_CORE_CYCLE_COUNT',['../svc_8h.html#a6604864f5e881a7ec7ad67737b936db2a413cb88f85b5e31e3cfd63f85317d364',1,'svc.h']]], + ['perfcounterevt_5fcore_5fcycle_5fcount_5f64_7779',['PERFCOUNTEREVT_CORE_CYCLE_COUNT_64',['../svc_8h.html#a6604864f5e881a7ec7ad67737b936db2a666c6779ce705be7fe8bbb9996531577',1,'svc.h']]], + ['perfcounterop_5fdisable_7780',['PERFCOUNTEROP_DISABLE',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084ac4ed24fde8e2c67d1c6893e78ccbe73e',1,'svc.h']]], + ['perfcounterop_5fenable_7781',['PERFCOUNTEROP_ENABLE',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084a459599575a462e0e95444335d06e15e9',1,'svc.h']]], + ['perfcounterop_5fget_5fevent_7782',['PERFCOUNTEROP_GET_EVENT',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084a8c6f75508fbc8f1b9024a9d456dc191d',1,'svc.h']]], + ['perfcounterop_5fget_5foverflow_5fflags_7783',['PERFCOUNTEROP_GET_OVERFLOW_FLAGS',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084aa200abb919c37b196f1f3fd474b52658',1,'svc.h']]], + ['perfcounterop_5fget_5fvalue_7784',['PERFCOUNTEROP_GET_VALUE',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084ad74be58d4d109f73497a2b7187b6de75',1,'svc.h']]], + ['perfcounterop_5freset_7785',['PERFCOUNTEROP_RESET',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084af56848a9adfc24df081e54d97b313912',1,'svc.h']]], + ['perfcounterop_5fset_5fevent_7786',['PERFCOUNTEROP_SET_EVENT',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084a0f31b33961d1fb6f10b0f26aae56ea51',1,'svc.h']]], + ['perfcounterop_5fset_5fvalue_7787',['PERFCOUNTEROP_SET_VALUE',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084a8bf947d1af73e26fef6ad2682bc2ba9a',1,'svc.h']]], + ['perfcounterop_5fset_5fvirtual_5fcounter_5fenabled_7788',['PERFCOUNTEROP_SET_VIRTUAL_COUNTER_ENABLED',['../svc_8h.html#a32f1a799d8ed99f3c52be42141396084a5a97513b29876bee7af1770af3066122',1,'svc.h']]], + ['perfcounterreg_5fcore_5fcount_5freg_5f0_7789',['PERFCOUNTERREG_CORE_COUNT_REG_0',['../svc_8h.html#af19b39931820deecca7704fe82695c25ad766b5a7dbfc2146f20e1b05bec28abf',1,'svc.h']]], + ['perfcounterreg_5fcore_5fcount_5freg_5f1_7790',['PERFCOUNTERREG_CORE_COUNT_REG_1',['../svc_8h.html#af19b39931820deecca7704fe82695c25a2df47c626c6f922950c421b9b9dc25f7',1,'svc.h']]], + ['perfcounterreg_5fcore_5fcycle_5fcounter_7791',['PERFCOUNTERREG_CORE_CYCLE_COUNTER',['../svc_8h.html#af19b39931820deecca7704fe82695c25a21629d5ab07c1422ecbb559d4a11f46c',1,'svc.h']]], + ['perfcounterreg_5fscu_5f0_7792',['PERFCOUNTERREG_SCU_0',['../svc_8h.html#af19b39931820deecca7704fe82695c25a9efbd9753e6db0e05ed3530cedb02c7e',1,'svc.h']]], + ['perfcounterreg_5fscu_5f1_7793',['PERFCOUNTERREG_SCU_1',['../svc_8h.html#af19b39931820deecca7704fe82695c25a8cd0cf2d5df85b29d57a4e59b08b6c54',1,'svc.h']]], + ['perfcounterreg_5fscu_5f2_7794',['PERFCOUNTERREG_SCU_2',['../svc_8h.html#af19b39931820deecca7704fe82695c25a928354e899519d64cc2158bf6fed3fd2',1,'svc.h']]], + ['perfcounterreg_5fscu_5f3_7795',['PERFCOUNTERREG_SCU_3',['../svc_8h.html#af19b39931820deecca7704fe82695c25a7a7051dae3b036b43e26c73166263748',1,'svc.h']]], + ['perfcounterreg_5fscu_5f4_7796',['PERFCOUNTERREG_SCU_4',['../svc_8h.html#af19b39931820deecca7704fe82695c25ae23cdfca904749e817efa2171e7f98a9',1,'svc.h']]], + ['perfcounterreg_5fscu_5f5_7797',['PERFCOUNTERREG_SCU_5',['../svc_8h.html#af19b39931820deecca7704fe82695c25a7f13355747739b775648ee8802facf91',1,'svc.h']]], + ['perfcounterreg_5fscu_5f6_7798',['PERFCOUNTERREG_SCU_6',['../svc_8h.html#af19b39931820deecca7704fe82695c25a5dec0a4112ca52e49f81390da99ccf6f',1,'svc.h']]], + ['perfcounterreg_5fscu_5f7_7799',['PERFCOUNTERREG_SCU_7',['../svc_8h.html#af19b39931820deecca7704fe82695c25a5871f8bc09de26839e6b75b81b677481',1,'svc.h']]], + ['photo_5fmode_5flandscape_7800',['PHOTO_MODE_LANDSCAPE',['../cam_8h.html#ac14ae4089f708477afcc56dad7762a8aaa52cdc354642b6b6ef2f4850636abd16',1,'cam.h']]], + ['photo_5fmode_5fletter_7801',['PHOTO_MODE_LETTER',['../cam_8h.html#ac14ae4089f708477afcc56dad7762a8aa001fe9ea595e03b43777ce25eb4d646a',1,'cam.h']]], + ['photo_5fmode_5fnightview_7802',['PHOTO_MODE_NIGHTVIEW',['../cam_8h.html#ac14ae4089f708477afcc56dad7762a8aa9516a5ef718e79621273b9efbf14cb0e',1,'cam.h']]], + ['photo_5fmode_5fnormal_7803',['PHOTO_MODE_NORMAL',['../cam_8h.html#ac14ae4089f708477afcc56dad7762a8aa2bafd933f4c63d37019a1c4e6a38f7f5',1,'cam.h']]], + ['photo_5fmode_5fportrait_7804',['PHOTO_MODE_PORTRAIT',['../cam_8h.html#ac14ae4089f708477afcc56dad7762a8aa78e5da8ca0a799f19613251183efd2bb',1,'cam.h']]], + ['pmlaunchflag_5fforce_5fuse_5fo3ds_5fapp_5fmem_7805',['PMLAUNCHFLAG_FORCE_USE_O3DS_APP_MEM',['../pmapp_8h.html#a9334a5b9057f32da96db9b5c6a045d67aa12f5201b0a6172b32fdae6098d4e802',1,'pmapp.h']]], + ['pmlaunchflag_5fforce_5fuse_5fo3ds_5fmax_5fapp_5fmem_7806',['PMLAUNCHFLAG_FORCE_USE_O3DS_MAX_APP_MEM',['../pmapp_8h.html#a9334a5b9057f32da96db9b5c6a045d67ac8ef360a212e4efbbc5b9d9a2ca0049d',1,'pmapp.h']]], + ['port_5fboth_7807',['PORT_BOTH',['../cam_8h.html#ae8a3b6a5d0d3244ed73924ab2421a0d0a2e0e7944e8121739c73f311a974ee28f',1,'cam.h']]], + ['port_5fcam1_7808',['PORT_CAM1',['../cam_8h.html#ae8a3b6a5d0d3244ed73924ab2421a0d0a83fd114c6c8ad6ed0db9c579935a63ce',1,'cam.h']]], + ['port_5fcam2_7809',['PORT_CAM2',['../cam_8h.html#ae8a3b6a5d0d3244ed73924ab2421a0d0a17f56155f8d240bf81deab2f5598fe6a',1,'cam.h']]], + ['port_5fnone_7810',['PORT_NONE',['../cam_8h.html#ae8a3b6a5d0d3244ed73924ab2421a0d0afed6e4add59747a2bd292aad6d543f51',1,'cam.h']]], + ['ps_5falgorithm_5fcbc_5fdec_7811',['PS_ALGORITHM_CBC_DEC',['../ps_8h.html#ab10858511e98add85a2b5ec56feb0287adefeac6ff96b1a759d2fc08dcf2af3a0',1,'ps.h']]], + ['ps_5falgorithm_5fcbc_5fenc_7812',['PS_ALGORITHM_CBC_ENC',['../ps_8h.html#ab10858511e98add85a2b5ec56feb0287a2cd2a9861abf410b5bd2dc2fe70eb79d',1,'ps.h']]], + ['ps_5falgorithm_5fccm_5fdec_7813',['PS_ALGORITHM_CCM_DEC',['../ps_8h.html#ab10858511e98add85a2b5ec56feb0287ae1276d85a463ebaf22894e5bd7f53b92',1,'ps.h']]], + ['ps_5falgorithm_5fccm_5fenc_7814',['PS_ALGORITHM_CCM_ENC',['../ps_8h.html#ab10858511e98add85a2b5ec56feb0287afcc072da4e473ef280bad304d5251451',1,'ps.h']]], + ['ps_5falgorithm_5fctr_5fdec_7815',['PS_ALGORITHM_CTR_DEC',['../ps_8h.html#ab10858511e98add85a2b5ec56feb0287a79c9789656335faea186b63d9e60bf18',1,'ps.h']]], + ['ps_5falgorithm_5fctr_5fenc_7816',['PS_ALGORITHM_CTR_ENC',['../ps_8h.html#ab10858511e98add85a2b5ec56feb0287aab35ad00fe4831766ed846b4a703dfe8',1,'ps.h']]], + ['ps_5fkeyslot_5f0d_7817',['PS_KEYSLOT_0D',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8a39c58564adfb433d83ad7f021e315ada',1,'ps.h']]], + ['ps_5fkeyslot_5f2d_7818',['PS_KEYSLOT_2D',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8ae4d4673f644dfd1084219ade7eaa087e',1,'ps.h']]], + ['ps_5fkeyslot_5f2e_7819',['PS_KEYSLOT_2E',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8a1c8bd0a6a606c4dcfa42cb37fe1c4858',1,'ps.h']]], + ['ps_5fkeyslot_5f31_7820',['PS_KEYSLOT_31',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8a306a753ced230bb0b11bbadb05558335',1,'ps.h']]], + ['ps_5fkeyslot_5f32_7821',['PS_KEYSLOT_32',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8a9f98f9873310eafa93f805dfe2ba1eef',1,'ps.h']]], + ['ps_5fkeyslot_5f36_7822',['PS_KEYSLOT_36',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8a408de5e9c16154c81a01e38f92890126',1,'ps.h']]], + ['ps_5fkeyslot_5f38_7823',['PS_KEYSLOT_38',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8a348da9e07963d9a837765fb16a72a00e',1,'ps.h']]], + ['ps_5fkeyslot_5f39_5fdlp_7824',['PS_KEYSLOT_39_DLP',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8acecd993503602935119557e4c3a012f6',1,'ps.h']]], + ['ps_5fkeyslot_5f39_5fnfc_7825',['PS_KEYSLOT_39_NFC',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8a981e21f733cc453e94ff5836f06e2d0d',1,'ps.h']]], + ['ps_5fkeyslot_5finvalid_7826',['PS_KEYSLOT_INVALID',['../ps_8h.html#a688e29201cdfb3c66b884d125c20fce8abc9879d0b4aae6eb97b77c1a606a4197',1,'ps.h']]], + ['ptmnotifid_5fbattery_5flow_7827',['PTMNOTIFID_BATTERY_LOW',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a8ea039dbda684f986481156d5ad5f982',1,'ptmsysm.h']]], + ['ptmnotifid_5fbattery_5fvery_5flow_7828',['PTMNOTIFID_BATTERY_VERY_LOW',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a8fec2ba82ed5cda60d6e68583b20f986',1,'ptmsysm.h']]], + ['ptmnotifid_5ffully_5fawake_7829',['PTMNOTIFID_FULLY_AWAKE',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a133ae28ac9e50cdbf71c2fa6d5acb526',1,'ptmsysm.h']]], + ['ptmnotifid_5ffully_5fwaking_5fup_7830',['PTMNOTIFID_FULLY_WAKING_UP',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a5df69cbc1093d8405f4fcdd64516e03d',1,'ptmsysm.h']]], + ['ptmnotifid_5fgoing_5fto_5fsleep_7831',['PTMNOTIFID_GOING_TO_SLEEP',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a6f65fae1c0eb882a248329ef0782ed15',1,'ptmsysm.h']]], + ['ptmnotifid_5fhalf_5fawake_7832',['PTMNOTIFID_HALF_AWAKE',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a086a20094e0175f65299818a2a717906',1,'ptmsysm.h']]], + ['ptmnotifid_5fshutdown_7833',['PTMNOTIFID_SHUTDOWN',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a73e5e7474c1539db28de7cb6feda6be4',1,'ptmsysm.h']]], + ['ptmnotifid_5fsleep_5fallowed_7834',['PTMNOTIFID_SLEEP_ALLOWED',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a91a4c4b264043242d2592c0c6d74d842',1,'ptmsysm.h']]], + ['ptmnotifid_5fsleep_5fdenied_7835',['PTMNOTIFID_SLEEP_DENIED',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62aed7fc1734e7eef6708878d774ba09a26',1,'ptmsysm.h']]], + ['ptmnotifid_5fsleep_5frequested_7836',['PTMNOTIFID_SLEEP_REQUESTED',['../ptmsysm_8h.html#a8628933cde20921c453a6d2607bdad62a6490f366258c14eb20fa74f9f666dc9d',1,'ptmsysm.h']]] +]; diff --git a/search/enumvalues_f.html b/search/enumvalues_f.html new file mode 100644 index 000000000..9a7bb1266 --- /dev/null +++ b/search/enumvalues_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_f.js b/search/enumvalues_f.js new file mode 100644 index 000000000..f98b47c32 --- /dev/null +++ b/search/enumvalues_f.js @@ -0,0 +1,37 @@ +var searchData= +[ + ['reset_5foneshot_7837',['RESET_ONESHOT',['../svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdfa5e28681d7775d2a1fe89b4644ed8d57e',1,'svc.h']]], + ['reset_5fpulse_7838',['RESET_PULSE',['../svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdfa7b810dd120f32f073cf6f36de294191e',1,'svc.h']]], + ['reset_5fsticky_7839',['RESET_STICKY',['../svc_8h.html#adfe6b9db49aa88865e1fff5e559f6fdfa09868fdada28ca7c71200f2996ced929',1,'svc.h']]], + ['reslimit_5faddressarbiter_7840',['RESLIMIT_ADDRESSARBITER',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aab702ae213a302c7ae032dccd116a5d35',1,'svc.h']]], + ['reslimit_5fbit_7841',['RESLIMIT_BIT',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa81bcdab92bd58b56bf3b6096a3aaf1d4',1,'svc.h']]], + ['reslimit_5fcategory_5fapplication_7842',['RESLIMIT_CATEGORY_APPLICATION',['../exheader_8h.html#a25547bc5f736c5989f48d33a546dcea6a4c6be73538482bba5da0700a3de651a1',1,'exheader.h']]], + ['reslimit_5fcategory_5flib_5fapplet_7843',['RESLIMIT_CATEGORY_LIB_APPLET',['../exheader_8h.html#a25547bc5f736c5989f48d33a546dcea6a3c45f1b8c754acefc20e5968565ab740',1,'exheader.h']]], + ['reslimit_5fcategory_5fother_7844',['RESLIMIT_CATEGORY_OTHER',['../exheader_8h.html#a25547bc5f736c5989f48d33a546dcea6aded145ab942abf88428ad3c85cbb5b30',1,'exheader.h']]], + ['reslimit_5fcategory_5fsys_5fapplet_7845',['RESLIMIT_CATEGORY_SYS_APPLET',['../exheader_8h.html#a25547bc5f736c5989f48d33a546dcea6a81b5e25c540a1aaa5143e4b2977cfc8e',1,'exheader.h']]], + ['reslimit_5fcommit_7846',['RESLIMIT_COMMIT',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa52c9772c9039e666d86e41b791c8802c',1,'svc.h']]], + ['reslimit_5fcputime_7847',['RESLIMIT_CPUTIME',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa3aab1b0ef50ad3e6ea1ab9118f976c2b',1,'svc.h']]], + ['reslimit_5fevent_7848',['RESLIMIT_EVENT',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa80e01172679736fc55506de2383329af',1,'svc.h']]], + ['reslimit_5fmutex_7849',['RESLIMIT_MUTEX',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aac32acf08c278fbb9c5d37cd5abaa15b8',1,'svc.h']]], + ['reslimit_5fpriority_7850',['RESLIMIT_PRIORITY',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aae4775036f8b37b62df9dbb8614653bcd',1,'svc.h']]], + ['reslimit_5fsemaphore_7851',['RESLIMIT_SEMAPHORE',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa33bf64fee360e49f019fc108a12b6869',1,'svc.h']]], + ['reslimit_5fsharedmemory_7852',['RESLIMIT_SHAREDMEMORY',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aad5c0584427164249900e2957c020c7b9',1,'svc.h']]], + ['reslimit_5fthread_7853',['RESLIMIT_THREAD',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aaccd534676d1d91de2401e7810de813fb',1,'svc.h']]], + ['reslimit_5ftimer_7854',['RESLIMIT_TIMER',['../svc_8h.html#ac12c38db3ba780feb8540ed3cd0c780aa188b2b030f861dde3218e8736d8c7341',1,'svc.h']]], + ['result_5fcolor_7855',['RESULT_COLOR',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457ca6b81634995b57789b661054cc6f3f818',1,'shbin.h']]], + ['result_5fdummy_7856',['RESULT_DUMMY',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457ca16e72f6515e6c7f87e0e873f41e9a482',1,'shbin.h']]], + ['result_5fnormalquat_7857',['RESULT_NORMALQUAT',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457caaf090d8cb169300f6f5c4fc2642ea330',1,'shbin.h']]], + ['result_5fposition_7858',['RESULT_POSITION',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457ca6021eb9e55492dbae0932ab01219056e',1,'shbin.h']]], + ['result_5ftexcoord0_7859',['RESULT_TEXCOORD0',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457ca686ed8a3d0fe7df040cb19b3e1ccb675',1,'shbin.h']]], + ['result_5ftexcoord0w_7860',['RESULT_TEXCOORD0W',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457caf42f5212faa4845a7032ff0ca8029387',1,'shbin.h']]], + ['result_5ftexcoord1_7861',['RESULT_TEXCOORD1',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457ca5e378c1916a05bf9656d6e3eca373525',1,'shbin.h']]], + ['result_5ftexcoord2_7862',['RESULT_TEXCOORD2',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457ca2d020e11d0a10bf346268f1a37c82cdd',1,'shbin.h']]], + ['result_5fview_7863',['RESULT_VIEW',['../shbin_8h.html#a8051aa25e78e83fb12b45b90d4f9457ca4d549c494244eee17d7261d9bf42e463',1,'shbin.h']]], + ['rotation_5fclockwise_5f180_7864',['ROTATION_CLOCKWISE_180',['../y2r_8h.html#a007b376798d35d4236c26916d52bbd0ea52c064a159d002d5d41819fb8747371d',1,'y2r.h']]], + ['rotation_5fclockwise_5f270_7865',['ROTATION_CLOCKWISE_270',['../y2r_8h.html#a007b376798d35d4236c26916d52bbd0ea1871297dae513f029c1ea4d359b5a5fd',1,'y2r.h']]], + ['rotation_5fclockwise_5f90_7866',['ROTATION_CLOCKWISE_90',['../y2r_8h.html#a007b376798d35d4236c26916d52bbd0ead2694fe82efeff2a555a3c51b9a24259',1,'y2r.h']]], + ['rotation_5fnone_7867',['ROTATION_NONE',['../y2r_8h.html#a007b376798d35d4236c26916d52bbd0ea3c485d0686ff0555d4db0c22959f9dec',1,'y2r.h']]], + ['runflag_5faptchainload_7868',['RUNFLAG_APTCHAINLOAD',['../env_8h.html#a726ca809ffd3d67ab4b8476646f26635a5eedd97be189872a5f91a561fbe33c88',1,'env.h']]], + ['runflag_5faptreinit_7869',['RUNFLAG_APTREINIT',['../env_8h.html#a726ca809ffd3d67ab4b8476646f26635a426e94cb64bcd44449b1a13d3a977df8',1,'env.h']]], + ['runflag_5faptworkaround_7870',['RUNFLAG_APTWORKAROUND',['../env_8h.html#a726ca809ffd3d67ab4b8476646f26635ad5366df45cecac4dad1f375eaa0555ab',1,'env.h']]] +]; diff --git a/search/files_0.html b/search/files_0.html new file mode 100644 index 000000000..9498842a6 --- /dev/null +++ b/search/files_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_0.js b/search/files_0.js new file mode 100644 index 000000000..c7aa47b19 --- /dev/null +++ b/search/files_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['3ds_2eh_4617',['3ds.h',['../3ds_8h.html',1,'']]], + ['3dslink_2eh_4618',['3dslink.h',['../3dslink_8h.html',1,'']]] +]; diff --git a/search/files_1.html b/search/files_1.html new file mode 100644 index 000000000..7050ef48a --- /dev/null +++ b/search/files_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_1.js b/search/files_1.js new file mode 100644 index 000000000..2a69300e7 --- /dev/null +++ b/search/files_1.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['ac_2eh_4619',['ac.h',['../ac_8h.html',1,'']]], + ['am_2eh_4620',['am.h',['../am_8h.html',1,'']]], + ['ampxi_2eh_4621',['ampxi.h',['../ampxi_8h.html',1,'']]], + ['apt_2eh_4622',['apt.h',['../apt_8h.html',1,'']]], + ['archive_2eh_4623',['archive.h',['../archive_8h.html',1,'']]] +]; diff --git a/search/files_10.html b/search/files_10.html new file mode 100644 index 000000000..e52318ed3 --- /dev/null +++ b/search/files_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_10.js b/search/files_10.js new file mode 100644 index 000000000..9697d9d70 --- /dev/null +++ b/search/files_10.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['rbtree_2eh_4680',['rbtree.h',['../rbtree_8h.html',1,'']]], + ['registers_2eh_4681',['registers.h',['../registers_8h.html',1,'']]], + ['result_2eh_4682',['result.h',['../result_8h.html',1,'']]], + ['romfs_2eh_4683',['romfs.h',['../romfs_8h.html',1,'']]] +]; diff --git a/search/files_11.html b/search/files_11.html new file mode 100644 index 000000000..02edc0913 --- /dev/null +++ b/search/files_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_11.js b/search/files_11.js new file mode 100644 index 000000000..bd083b0de --- /dev/null +++ b/search/files_11.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['shaderprogram_2eh_4684',['shaderProgram.h',['../shaderProgram_8h.html',1,'']]], + ['shbin_2eh_4685',['shbin.h',['../shbin_8h.html',1,'']]], + ['soc_2eh_4686',['soc.h',['../soc_8h.html',1,'']]], + ['srv_2eh_4687',['srv.h',['../srv_8h.html',1,'']]], + ['srvpm_2eh_4688',['srvpm.h',['../srvpm_8h.html',1,'']]], + ['sslc_2eh_4689',['sslc.h',['../sslc_8h.html',1,'']]], + ['svc_2eh_4690',['svc.h',['../svc_8h.html',1,'']]], + ['swkbd_2eh_4691',['swkbd.h',['../swkbd_8h.html',1,'']]], + ['synchronization_2eh_4692',['synchronization.h',['../synchronization_8h.html',1,'']]] +]; diff --git a/search/files_12.html b/search/files_12.html new file mode 100644 index 000000000..bd79f3c5f --- /dev/null +++ b/search/files_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_12.js b/search/files_12.js new file mode 100644 index 000000000..86de3ba05 --- /dev/null +++ b/search/files_12.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['thread_2eh_4693',['thread.h',['../thread_8h.html',1,'']]], + ['types_2eh_4694',['types.h',['../types_8h.html',1,'']]] +]; diff --git a/search/files_13.html b/search/files_13.html new file mode 100644 index 000000000..7cbb5b01e --- /dev/null +++ b/search/files_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_13.js b/search/files_13.js new file mode 100644 index 000000000..d02012dc0 --- /dev/null +++ b/search/files_13.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['uds_2eh_4695',['uds.h',['../uds_8h.html',1,'']]], + ['utf_2eh_4696',['utf.h',['../utf_8h.html',1,'']]] +]; diff --git a/search/files_14.html b/search/files_14.html new file mode 100644 index 000000000..c8da77bcc --- /dev/null +++ b/search/files_14.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_14.js b/search/files_14.js new file mode 100644 index 000000000..26f46bf2f --- /dev/null +++ b/search/files_14.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['vram_2eh_4697',['vram.h',['../vram_8h.html',1,'']]] +]; diff --git a/search/files_15.html b/search/files_15.html new file mode 100644 index 000000000..2672868ce --- /dev/null +++ b/search/files_15.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_15.js b/search/files_15.js new file mode 100644 index 000000000..4c93323ff --- /dev/null +++ b/search/files_15.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['y2r_2eh_4698',['y2r.h',['../y2r_8h.html',1,'']]] +]; diff --git a/search/files_2.html b/search/files_2.html new file mode 100644 index 000000000..497cdf5c7 --- /dev/null +++ b/search/files_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_2.js b/search/files_2.js new file mode 100644 index 000000000..1932bcc0c --- /dev/null +++ b/search/files_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['boss_2eh_4624',['boss.h',['../boss_8h.html',1,'']]] +]; diff --git a/search/files_3.html b/search/files_3.html new file mode 100644 index 000000000..1ba106b2d --- /dev/null +++ b/search/files_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_3.js b/search/files_3.js new file mode 100644 index 000000000..9eb46f8de --- /dev/null +++ b/search/files_3.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['cam_2eh_4625',['cam.h',['../cam_8h.html',1,'']]], + ['cdcchk_2eh_4626',['cdcchk.h',['../cdcchk_8h.html',1,'']]], + ['cfgnor_2eh_4627',['cfgnor.h',['../cfgnor_8h.html',1,'']]], + ['cfgu_2eh_4628',['cfgu.h',['../cfgu_8h.html',1,'']]], + ['channel_2eh_4629',['channel.h',['../channel_8h.html',1,'']]], + ['console_2eh_4630',['console.h',['../console_8h.html',1,'']]], + ['csnd_2eh_4631',['csnd.h',['../csnd_8h.html',1,'']]] +]; diff --git a/search/files_4.html b/search/files_4.html new file mode 100644 index 000000000..753b7b109 --- /dev/null +++ b/search/files_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_4.js b/search/files_4.js new file mode 100644 index 000000000..fe1f43add --- /dev/null +++ b/search/files_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['decompress_2eh_4632',['decompress.h',['../decompress_8h.html',1,'']]], + ['dsp_2eh_4633',['dsp.h',['../dsp_8h.html',1,'']]] +]; diff --git a/search/files_5.html b/search/files_5.html new file mode 100644 index 000000000..7b6affd7f --- /dev/null +++ b/search/files_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_5.js b/search/files_5.js new file mode 100644 index 000000000..beed63ac3 --- /dev/null +++ b/search/files_5.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['enums_2eh_4634',['enums.h',['../enums_8h.html',1,'']]], + ['env_2eh_4635',['env.h',['../env_8h.html',1,'']]], + ['errf_2eh_4636',['errf.h',['../errf_8h.html',1,'']]], + ['error_2eh_4637',['error.h',['../error_8h.html',1,'']]], + ['exheader_2eh_4638',['exheader.h',['../exheader_8h.html',1,'']]] +]; diff --git a/search/files_6.html b/search/files_6.html new file mode 100644 index 000000000..802ebf715 --- /dev/null +++ b/search/files_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_6.js b/search/files_6.js new file mode 100644 index 000000000..50167a610 --- /dev/null +++ b/search/files_6.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['font_2eh_4639',['font.h',['../font_8h.html',1,'']]], + ['frd_2eh_4640',['frd.h',['../frd_8h.html',1,'']]], + ['fs_2eh_4641',['fs.h',['../fs_8h.html',1,'']]], + ['fspxi_2eh_4642',['fspxi.h',['../fspxi_8h.html',1,'']]] +]; diff --git a/search/files_7.html b/search/files_7.html new file mode 100644 index 000000000..365e6484f --- /dev/null +++ b/search/files_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_7.js b/search/files_7.js new file mode 100644 index 000000000..cf53ec7f0 --- /dev/null +++ b/search/files_7.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['gdbhio_2eh_4643',['gdbhio.h',['../gdbhio_8h.html',1,'']]], + ['gdbhio_5fdev_2eh_4644',['gdbhio_dev.h',['../gdbhio__dev_8h.html',1,'']]], + ['gfx_2eh_4645',['gfx.h',['../gfx_8h.html',1,'']]], + ['gpu_2eh_4646',['gpu.h',['../gpu_8h.html',1,'']]], + ['gspgpu_2eh_4647',['gspgpu.h',['../gspgpu_8h.html',1,'']]], + ['gsplcd_2eh_4648',['gsplcd.h',['../gsplcd_8h.html',1,'']]], + ['gx_2eh_4649',['gx.h',['../gx_8h.html',1,'']]] +]; diff --git a/search/files_8.html b/search/files_8.html new file mode 100644 index 000000000..3df0f2fae --- /dev/null +++ b/search/files_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_8.js b/search/files_8.js new file mode 100644 index 000000000..b0cbe18ea --- /dev/null +++ b/search/files_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['hid_2eh_4650',['hid.h',['../hid_8h.html',1,'']]], + ['httpc_2eh_4651',['httpc.h',['../httpc_8h.html',1,'']]] +]; diff --git a/search/files_9.html b/search/files_9.html new file mode 100644 index 000000000..52f8b6c07 --- /dev/null +++ b/search/files_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_9.js b/search/files_9.js new file mode 100644 index 000000000..361cdf1f9 --- /dev/null +++ b/search/files_9.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['ipc_2eh_4652',['ipc.h',['../ipc_8h.html',1,'']]], + ['ir_2eh_4653',['ir.h',['../ir_8h.html',1,'']]], + ['irrst_2eh_4654',['irrst.h',['../irrst_8h.html',1,'']]] +]; diff --git a/search/files_a.html b/search/files_a.html new file mode 100644 index 000000000..11d4c117b --- /dev/null +++ b/search/files_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_a.js b/search/files_a.js new file mode 100644 index 000000000..7d90375e7 --- /dev/null +++ b/search/files_a.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['linear_2eh_4655',['linear.h',['../linear_8h.html',1,'']]], + ['loader_2eh_4656',['loader.h',['../loader_8h.html',1,'']]] +]; diff --git a/search/files_b.html b/search/files_b.html new file mode 100644 index 000000000..9fc83436a --- /dev/null +++ b/search/files_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_b.js b/search/files_b.js new file mode 100644 index 000000000..37f65a86a --- /dev/null +++ b/search/files_b.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['mappable_2eh_4657',['mappable.h',['../mappable_8h.html',1,'']]], + ['mcuhwc_2eh_4658',['mcuhwc.h',['../mcuhwc_8h.html',1,'']]], + ['mic_2eh_4659',['mic.h',['../mic_8h.html',1,'']]], + ['mii_2eh_4660',['mii.h',['../mii_8h.html',1,'']]], + ['miiselector_2eh_4661',['miiselector.h',['../miiselector_8h.html',1,'']]], + ['mvd_2eh_4662',['mvd.h',['../mvd_8h.html',1,'']]] +]; diff --git a/search/files_c.html b/search/files_c.html new file mode 100644 index 000000000..c266b4c25 --- /dev/null +++ b/search/files_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_c.js b/search/files_c.js new file mode 100644 index 000000000..ab9f9b1b2 --- /dev/null +++ b/search/files_c.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['ndm_2eh_4663',['ndm.h',['../ndm_8h.html',1,'']]], + ['ndsp_2eh_4664',['ndsp.h',['../ndsp_8h.html',1,'']]], + ['news_2eh_4665',['news.h',['../news_8h.html',1,'']]], + ['nfc_2eh_4666',['nfc.h',['../nfc_8h.html',1,'']]], + ['nim_2eh_4667',['nim.h',['../nim_8h.html',1,'']]], + ['ns_2eh_4668',['ns.h',['../ns_8h.html',1,'']]] +]; diff --git a/search/files_d.html b/search/files_d.html new file mode 100644 index 000000000..d2ca3c1ca --- /dev/null +++ b/search/files_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_d.js b/search/files_d.js new file mode 100644 index 000000000..fa41eb4c8 --- /dev/null +++ b/search/files_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['os_2eh_4669',['os.h',['../os_8h.html',1,'']]] +]; diff --git a/search/files_e.html b/search/files_e.html new file mode 100644 index 000000000..9df411672 --- /dev/null +++ b/search/files_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_e.js b/search/files_e.js new file mode 100644 index 000000000..95eb9d84d --- /dev/null +++ b/search/files_e.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['pmapp_2eh_4670',['pmapp.h',['../pmapp_8h.html',1,'']]], + ['pmdbg_2eh_4671',['pmdbg.h',['../pmdbg_8h.html',1,'']]], + ['ps_2eh_4672',['ps.h',['../ps_8h.html',1,'']]], + ['ptmgets_2eh_4673',['ptmgets.h',['../ptmgets_8h.html',1,'']]], + ['ptmsets_2eh_4674',['ptmsets.h',['../ptmsets_8h.html',1,'']]], + ['ptmsysm_2eh_4675',['ptmsysm.h',['../ptmsysm_8h.html',1,'']]], + ['ptmu_2eh_4676',['ptmu.h',['../ptmu_8h.html',1,'']]], + ['pxidev_2eh_4677',['pxidev.h',['../pxidev_8h.html',1,'']]], + ['pxipm_2eh_4678',['pxipm.h',['../pxipm_8h.html',1,'']]] +]; diff --git a/search/files_f.html b/search/files_f.html new file mode 100644 index 000000000..f75258bb5 --- /dev/null +++ b/search/files_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_f.js b/search/files_f.js new file mode 100644 index 000000000..9f274e44c --- /dev/null +++ b/search/files_f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['qtm_2eh_4679',['qtm.h',['../qtm_8h.html',1,'']]] +]; diff --git a/search/functions_0.html b/search/functions_0.html new file mode 100644 index 000000000..eb4c5014c --- /dev/null +++ b/search/functions_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_0.js b/search/functions_0.js new file mode 100644 index 000000000..f4a19e9f5 --- /dev/null +++ b/search/functions_0.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['_5f_5fattribute_5f_5f_4699',['__attribute__',['../rbtree_8h.html#a797a3e1c8507a7c7b4e051d3f1349154',1,'rbtree.h']]], + ['_5f_5fclrex_4700',['__clrex',['../synchronization_8h.html#af5fdce28704bc8d418fe9aaed04d4e90',1,'synchronization.h']]], + ['_5f_5fdmb_4701',['__dmb',['../synchronization_8h.html#ab76993c9a7d0327437522dc2e53e770d',1,'synchronization.h']]], + ['_5f_5fdsb_4702',['__dsb',['../synchronization_8h.html#a4f5f4fd74aae52a2310fb2c6a5983e4d',1,'synchronization.h']]], + ['_5f_5fisb_4703',['__isb',['../synchronization_8h.html#a88917e3c9a446a5d078165af7b9c884c',1,'synchronization.h']]], + ['_5f_5fldrex_4704',['__ldrex',['../synchronization_8h.html#a9fe83ca3ec3c6ae269203acf367ad5a9',1,'synchronization.h']]], + ['_5f_5fldrexb_4705',['__ldrexb',['../synchronization_8h.html#a3edf8cb6c54dca775890c04e57919d73',1,'synchronization.h']]], + ['_5f_5fldrexh_4706',['__ldrexh',['../synchronization_8h.html#ac8b9943bc74f25d3efa4c413cd3e5be6',1,'synchronization.h']]], + ['_5f_5fstrex_4707',['__strex',['../synchronization_8h.html#ae5b6bc8b7ae74b57efbb0707c1d6cea9',1,'synchronization.h']]], + ['_5f_5fstrexb_4708',['__strexb',['../synchronization_8h.html#acd9826a3a62cf5190048acde58e69776',1,'synchronization.h']]], + ['_5f_5fstrexh_4709',['__strexh',['../synchronization_8h.html#a276f8cccf5abeb6b35f067b7a8c9a40c',1,'synchronization.h']]] +]; diff --git a/search/functions_1.html b/search/functions_1.html new file mode 100644 index 000000000..ef4088b89 --- /dev/null +++ b/search/functions_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_1.js b/search/functions_1.js new file mode 100644 index 000000000..da4f4fb84 --- /dev/null +++ b/search/functions_1.js @@ -0,0 +1,173 @@ +var searchData= +[ + ['acexit_4710',['acExit',['../ac_8h.html#ab850baa702c4063eeae48e158e4fb889',1,'ac.h']]], + ['acgetsessionhandle_4711',['acGetSessionHandle',['../ac_8h.html#a3467e291e3f1fe0c8713dae478352720',1,'ac.h']]], + ['aci_5fgetnetworkwirelessessidsecurityssid_4712',['ACI_GetNetworkWirelessEssidSecuritySsid',['../ac_8h.html#acb83ddb8056d39dab40e9e7f8837c673',1,'ac.h']]], + ['aci_5floadnetworksetting_4713',['ACI_LoadNetworkSetting',['../ac_8h.html#a7fb0e13b1f1221ad9d942ea6008fe9c2',1,'ac.h']]], + ['acinit_4714',['acInit',['../ac_8h.html#aec40390a48ac6df3cfac242613a84590',1,'ac.h']]], + ['acu_5fconnectasync_4715',['ACU_ConnectAsync',['../ac_8h.html#a3eb7bc6583a7a52b39e2ae10714aa87e',1,'ac.h']]], + ['acu_5fcreatedefaultconfig_4716',['ACU_CreateDefaultConfig',['../ac_8h.html#aadac08bf74a0e5e4c8ce5e3cd17b8e68',1,'ac.h']]], + ['acu_5fgetlastdetailerrorcode_4717',['ACU_GetLastDetailErrorCode',['../ac_8h.html#a7d526d6ee6e8aaa16efa3a2297938093',1,'ac.h']]], + ['acu_5fgetlasterrorcode_4718',['ACU_GetLastErrorCode',['../ac_8h.html#aeaa6cc46b2e3003989c56d1be5a90926',1,'ac.h']]], + ['acu_5fgetproxyenable_4719',['ACU_GetProxyEnable',['../ac_8h.html#a772b4160ee0b762c38371c1a4b321a63',1,'ac.h']]], + ['acu_5fgetproxypassword_4720',['ACU_GetProxyPassword',['../ac_8h.html#a7dbd9e29449aee0c505f3ca6b7f80c2f',1,'ac.h']]], + ['acu_5fgetproxyport_4721',['ACU_GetProxyPort',['../ac_8h.html#aa1364da739f2cd800155e62bb88250d5',1,'ac.h']]], + ['acu_5fgetproxyusername_4722',['ACU_GetProxyUserName',['../ac_8h.html#a3fe8d65bf9aa86326c83985d4e784c17',1,'ac.h']]], + ['acu_5fgetsecuritymode_4723',['ACU_GetSecurityMode',['../ac_8h.html#a6843a8dd3e923b6a1a93f669cbb67892',1,'ac.h']]], + ['acu_5fgetssid_4724',['ACU_GetSSID',['../ac_8h.html#a1855cdaca0c330ebebf0108a58095ed5',1,'ac.h']]], + ['acu_5fgetssidlength_4725',['ACU_GetSSIDLength',['../ac_8h.html#a1f339af9556334d61cc7e4340e730507',1,'ac.h']]], + ['acu_5fgetstatus_4726',['ACU_GetStatus',['../ac_8h.html#ab0a2c44b128ac33db33ffbe9a371beff',1,'ac.h']]], + ['acu_5fgetwifistatus_4727',['ACU_GetWifiStatus',['../ac_8h.html#a7493b0d60b8711ef8b4c2d495b4a4e72',1,'ac.h']]], + ['acu_5fsetallowaptype_4728',['ACU_SetAllowApType',['../ac_8h.html#ad522f962559eaf28978a3ad20ac725db',1,'ac.h']]], + ['acu_5fsetnetworkarea_4729',['ACU_SetNetworkArea',['../ac_8h.html#abb03ccbf1b33ca4f59503eff8665e08b',1,'ac.h']]], + ['acu_5fsetrequesteulaversion_4730',['ACU_SetRequestEulaVersion',['../ac_8h.html#a4c7182e903882ea9cafb06359803361f',1,'ac.h']]], + ['acwaitinternetconnection_4731',['acWaitInternetConnection',['../ac_8h.html#a7c084fac417deb278627a69115400906',1,'ac.h']]], + ['am_5fcancelciainstall_4732',['AM_CancelCIAInstall',['../am_8h.html#a5b6a50c2be5cb8e7c603df3c9da8c3b0',1,'am.h']]], + ['am_5fcommitimportprograms_4733',['AM_CommitImportPrograms',['../am_8h.html#ad78f827d766a8f16f881ac9f2ef4206e',1,'am.h']]], + ['am_5fcommitimporttitles_4734',['AM_CommitImportTitles',['../am_8h.html#ab44ef68fb044825e044359f49c39fe51',1,'am.h']]], + ['am_5fcommitimporttitlesandupdatefirmwareauto_4735',['AM_CommitImportTitlesAndUpdateFirmwareAuto',['../am_8h.html#aa2afc320f57f385b94429dbbe41abf87',1,'am.h']]], + ['am_5fcreateimportcontentcontexts_4736',['AM_CreateImportContentContexts',['../am_8h.html#aa4f2013be4ccdfebd319ae624267e26a',1,'am.h']]], + ['am_5fdeletealldemolaunchinfos_4737',['AM_DeleteAllDemoLaunchInfos',['../am_8h.html#a71727be0cabf34c0f706198a6cac16fe',1,'am.h']]], + ['am_5fdeleteallexpiredtitles_4738',['AM_DeleteAllExpiredTitles',['../am_8h.html#a387246e459e0b2640ac0d9841c8798bf',1,'am.h']]], + ['am_5fdeleteallpendingtitles_4739',['AM_DeleteAllPendingTitles',['../am_8h.html#a13f6ebf3525cfbaff6b02def5bc178eb',1,'am.h']]], + ['am_5fdeletealltemporarytitles_4740',['AM_DeleteAllTemporaryTitles',['../am_8h.html#add9bf85d453bcab771adcde9368d1083',1,'am.h']]], + ['am_5fdeletealltwltitles_4741',['AM_DeleteAllTwlTitles',['../am_8h.html#a45337bbb6c00b485f7bc18358d16d682',1,'am.h']]], + ['am_5fdeleteapptitle_4742',['AM_DeleteAppTitle',['../am_8h.html#a92904da2ef10c3e4703912b663f40443',1,'am.h']]], + ['am_5fdeletependingtitle_4743',['AM_DeletePendingTitle',['../am_8h.html#a5dc7ebf10cd514ccb1f5d73f765d6cb8',1,'am.h']]], + ['am_5fdeletependingtitles_4744',['AM_DeletePendingTitles',['../am_8h.html#a50dd0a9e9ff166a389980ae06a50073f',1,'am.h']]], + ['am_5fdeleteticket_4745',['AM_DeleteTicket',['../am_8h.html#a7bb967432b36174d1caada02f0a8eed6',1,'am.h']]], + ['am_5fdeletetitle_4746',['AM_DeleteTitle',['../am_8h.html#a06808616925fcf284d02a116b701061a',1,'am.h']]], + ['am_5fexporttwlbackup_4747',['AM_ExportTwlBackup',['../am_8h.html#a1f5010400c3cce3d9cd25a1ba5e3e8db',1,'am.h']]], + ['am_5ffinishciainstall_4748',['AM_FinishCiaInstall',['../am_8h.html#afc92a54bbefaab3ba08ba2c560f9a00a',1,'am.h']]], + ['am_5ffinishciainstallwithoutcommit_4749',['AM_FinishCiaInstallWithoutCommit',['../am_8h.html#a7bb05a3466a76447f68e5848a7c8bfbc',1,'am.h']]], + ['am_5fgetciacoreversion_4750',['AM_GetCiaCoreVersion',['../am_8h.html#a09b2e364518b0a7b111f708e1fa325e7',1,'am.h']]], + ['am_5fgetciadependencies_4751',['AM_GetCiaDependencies',['../am_8h.html#ad3141cb2c1dd8d6b83339ffe71c8c2cb',1,'am.h']]], + ['am_5fgetciafileinfo_4752',['AM_GetCiaFileInfo',['../am_8h.html#ad5bb183a0ccf528c9b682912aa14023d',1,'am.h']]], + ['am_5fgetciaicon_4753',['AM_GetCiaIcon',['../am_8h.html#acfede58c7267885b7f0b25a2c198081c',1,'am.h']]], + ['am_5fgetciametaoffset_4754',['AM_GetCiaMetaOffset',['../am_8h.html#a7063def887f6309b2c17f7eecdf395db',1,'am.h']]], + ['am_5fgetciametasection_4755',['AM_GetCiaMetaSection',['../am_8h.html#ae6d6e423f253f744cd730cfe8fe7cf78',1,'am.h']]], + ['am_5fgetciarequiredspace_4756',['AM_GetCiaRequiredSpace',['../am_8h.html#ad7b36812e4a68f5a0e0bb512b3aee1f8',1,'am.h']]], + ['am_5fgetdeviceid_4757',['AM_GetDeviceId',['../am_8h.html#a58a9c173c55a09e51691b1583d8f0a52',1,'am.h']]], + ['am_5fgetpendingtitlecount_4758',['AM_GetPendingTitleCount',['../am_8h.html#ac4a9aa575eaae640b4259ec74aade571',1,'am.h']]], + ['am_5fgetpendingtitleinfo_4759',['AM_GetPendingTitleInfo',['../am_8h.html#a35b4136412669fdc8752cefdace513ad',1,'am.h']]], + ['am_5fgetpendingtitlelist_4760',['AM_GetPendingTitleList',['../am_8h.html#a7d84003263ed7b14a97287bb647077a1',1,'am.h']]], + ['am_5fgetticketcount_4761',['AM_GetTicketCount',['../am_8h.html#a514c8c6b99536797eccb3c253109fb8f',1,'am.h']]], + ['am_5fgetticketlist_4762',['AM_GetTicketList',['../am_8h.html#acbc4a3f460235e99b4ec77f515ef2267',1,'am.h']]], + ['am_5fgettitlecount_4763',['AM_GetTitleCount',['../am_8h.html#a5bc158d4ed3d67b4e974de1d95d79908',1,'am.h']]], + ['am_5fgettitleextdataid_4764',['AM_GetTitleExtDataId',['../am_8h.html#ae73fa174fd20a1e13d95d66a3267f5d5',1,'am.h']]], + ['am_5fgettitleinfo_4765',['AM_GetTitleInfo',['../am_8h.html#ae12f3853d0225d33fca17c7535724860',1,'am.h']]], + ['am_5fgettitlelist_4766',['AM_GetTitleList',['../am_8h.html#a8f57657ee9c2de75f94b9d72d94b10a5',1,'am.h']]], + ['am_5fgettitleproductcode_4767',['AM_GetTitleProductCode',['../am_8h.html#a293f52bb07b3d52b13a5ed7e9172c89c',1,'am.h']]], + ['am_5fgettwlpartitioninfo_4768',['AM_GetTWLPartitionInfo',['../am_8h.html#aeb5dbc1540ca7326e82817a447f6f004',1,'am.h']]], + ['am_5fimportcertificate_4769',['AM_ImportCertificate',['../am_8h.html#a1e9fcc84bb1c330054576d65610d3f5d',1,'am.h']]], + ['am_5fimportcertificates_4770',['AM_ImportCertificates',['../am_8h.html#aae561396e6bf387e825df8893d73027b',1,'am.h']]], + ['am_5fimporttwlbackup_4771',['AM_ImportTwlBackup',['../am_8h.html#aa92ded78a815f83f2554c6ccc60d1837',1,'am.h']]], + ['am_5finitializeexternaltitledatabase_4772',['AM_InitializeExternalTitleDatabase',['../am_8h.html#a469ba855d3817fa86091baa17d136676',1,'am.h']]], + ['am_5finstallcontentbegin_4773',['AM_InstallContentBegin',['../am_8h.html#a67d21faf4ccbdb3052484a66b3e471b9',1,'am.h']]], + ['am_5finstallcontentcancel_4774',['AM_InstallContentCancel',['../am_8h.html#a330c8994d1cb9c013094aea1620ee8b5',1,'am.h']]], + ['am_5finstallcontentfinish_4775',['AM_InstallContentFinish',['../am_8h.html#a1a86d98c8f8431bef5882edec12947d8',1,'am.h']]], + ['am_5finstallcontentresume_4776',['AM_InstallContentResume',['../am_8h.html#ab7bf20084e797f9f5b3417aa3e725696',1,'am.h']]], + ['am_5finstallcontentstop_4777',['AM_InstallContentStop',['../am_8h.html#a95ac00888a24efa61b1c7e35d91f9786',1,'am.h']]], + ['am_5finstallfirm_4778',['AM_InstallFirm',['../am_8h.html#a04a92770482e500d5da2995e0d4a1bc1',1,'am.h']]], + ['am_5finstallnativefirm_4779',['AM_InstallNativeFirm',['../am_8h.html#a022d7fdd04454fd2300588b539a9da4a',1,'am.h']]], + ['am_5finstallticketabort_4780',['AM_InstallTicketAbort',['../am_8h.html#a2ed1e743c96f8139b8791cd32b30c59e',1,'am.h']]], + ['am_5finstallticketbegin_4781',['AM_InstallTicketBegin',['../am_8h.html#af2da013339c7d9eb1941944d803213f7',1,'am.h']]], + ['am_5finstallticketfinish_4782',['AM_InstallTicketFinish',['../am_8h.html#a8af33218aec85689a046414b43df1ad2',1,'am.h']]], + ['am_5finstalltitleabort_4783',['AM_InstallTitleAbort',['../am_8h.html#a3ec1d41b7bf3d8493c2059b3c60f28be',1,'am.h']]], + ['am_5finstalltitlebegin_4784',['AM_InstallTitleBegin',['../am_8h.html#a70a008137106f1be8952b41d2042e249',1,'am.h']]], + ['am_5finstalltitlefinish_4785',['AM_InstallTitleFinish',['../am_8h.html#afa9dc85c90337c0325ae601f77a06c4b',1,'am.h']]], + ['am_5finstalltitleresume_4786',['AM_InstallTitleResume',['../am_8h.html#ab60bf1631dfdd662101b2449ad5e0a2f',1,'am.h']]], + ['am_5finstalltitlestop_4787',['AM_InstallTitleStop',['../am_8h.html#a9aab3dd8d2ded8a6f1005230e1ac4e2a',1,'am.h']]], + ['am_5finstalltmdabort_4788',['AM_InstallTmdAbort',['../am_8h.html#a7ba0ab4df1c4eef170a6738f7cb6d11a',1,'am.h']]], + ['am_5finstalltmdbegin_4789',['AM_InstallTmdBegin',['../am_8h.html#a175f307e6b5171e706a29112f07a03c6',1,'am.h']]], + ['am_5finstalltmdfinish_4790',['AM_InstallTmdFinish',['../am_8h.html#aaee168fea61f616c5879654fc8ce03ec',1,'am.h']]], + ['am_5fqueryavailableexternaltitledatabase_4791',['AM_QueryAvailableExternalTitleDatabase',['../am_8h.html#a505ee8fcca3984f1ebc21930c5a99813',1,'am.h']]], + ['am_5freadtwlbackupinfo_4792',['AM_ReadTwlBackupInfo',['../am_8h.html#a11a390a6c4bdbb8873cfba58d82d13f1',1,'am.h']]], + ['am_5fstartciainstall_4793',['AM_StartCiaInstall',['../am_8h.html#a37b5679dc10854bd0408282cd8bf7f2a',1,'am.h']]], + ['am_5fstartdlpchildciainstall_4794',['AM_StartDlpChildCiaInstall',['../am_8h.html#a3d9438a9ed27a0372c4845520a685c9e',1,'am.h']]], + ['amapp_5fgetdlccontentinfocount_4795',['AMAPP_GetDLCContentInfoCount',['../am_8h.html#a2df33a020e3bc58064e80dea6831ad76',1,'am.h']]], + ['amapp_5flistdlccontentinfos_4796',['AMAPP_ListDLCContentInfos',['../am_8h.html#a9a7a5d70ce3fcb57a899316a7ad8f939',1,'am.h']]], + ['amappinit_4797',['amAppInit',['../am_8h.html#acf955c48344998c71c4e640b99c40dfa',1,'am.h']]], + ['amexit_4798',['amExit',['../am_8h.html#a9217b2d42efc41cee7c5d018de8aebba',1,'am.h']]], + ['amgetsessionhandle_4799',['amGetSessionHandle',['../am_8h.html#a8f9a930157ee33ea3b358bd399e1c5a9',1,'am.h']]], + ['aminit_4800',['amInit',['../am_8h.html#a00de76ec3836d1c459b4e3a2ddbe852c',1,'am.h']]], + ['ampxi_5finstalltitlesfinish_4801',['AMPXI_InstallTitlesFinish',['../ampxi_8h.html#a7b2287cd33e85fc7946da17c039c655d',1,'ampxi.h']]], + ['ampxi_5fwritetwlsavedata_4802',['AMPXI_WriteTWLSavedata',['../ampxi_8h.html#a213307af9fc81e5fd898dcceebe6e2d4',1,'ampxi.h']]], + ['ampxiexit_4803',['ampxiExit',['../ampxi_8h.html#a1a1b7485bec8d84b477834af52b25762',1,'ampxi.h']]], + ['ampxiinit_4804',['ampxiInit',['../ampxi_8h.html#a96cd88d0b7a2429ccbe29654b1231ef0',1,'ampxi.h']]], + ['apt_5fappletutility_4805',['APT_AppletUtility',['../apt_8h.html#a1d75c42d78a95795e8fa87c8b98daa26',1,'apt.h']]], + ['apt_5fcancelparameter_4806',['APT_CancelParameter',['../apt_8h.html#a3b7037c79388ac12cad20f454746bd45',1,'apt.h']]], + ['apt_5fchecknew3ds_4807',['APT_CheckNew3DS',['../apt_8h.html#ada1a13d3f49a8f40229cd2443371ddaa',1,'apt.h']]], + ['apt_5fcloseapplication_4808',['APT_CloseApplication',['../apt_8h.html#ac20bdce7b2c7ad39de790a604115fe19',1,'apt.h']]], + ['apt_5fdoapplicationjump_4809',['APT_DoApplicationJump',['../apt_8h.html#a78a840a131632e11303933edaf2e1223',1,'apt.h']]], + ['apt_5fenable_4810',['APT_Enable',['../apt_8h.html#ac7f784fef7b1e1be921778b2326cd074',1,'apt.h']]], + ['apt_5ffinalize_4811',['APT_Finalize',['../apt_8h.html#a3d69aa12d945ff02344f19edadeb5270',1,'apt.h']]], + ['apt_5fgetappcputimelimit_4812',['APT_GetAppCpuTimeLimit',['../apt_8h.html#ad356b2e371c9fa57fd3d4d039075e46a',1,'apt.h']]], + ['apt_5fgetappletinfo_4813',['APT_GetAppletInfo',['../apt_8h.html#a3ee5005a29aa032fa54e3ebddb5bacf6',1,'apt.h']]], + ['apt_5fgetappletmaninfo_4814',['APT_GetAppletManInfo',['../apt_8h.html#a84a1dd51575a98af27c2262fdc1215bc',1,'apt.h']]], + ['apt_5fgetappletprograminfo_4815',['APT_GetAppletProgramInfo',['../apt_8h.html#aeb9d76b263196257d9473234075c3fbb',1,'apt.h']]], + ['apt_5fgetlockhandle_4816',['APT_GetLockHandle',['../apt_8h.html#a445fa08d61a93c171b7b920c75261e6d',1,'apt.h']]], + ['apt_5fgetprogramid_4817',['APT_GetProgramID',['../apt_8h.html#a20023f8bb628dda7ade10cc6945f99ec',1,'apt.h']]], + ['apt_5fgetsharedfont_4818',['APT_GetSharedFont',['../apt_8h.html#a227cff8cbdfee1e6ae700ecc23a75008',1,'apt.h']]], + ['apt_5fglanceparameter_4819',['APT_GlanceParameter',['../apt_8h.html#add62abbab8218ea7a580e07ba1c065b5',1,'apt.h']]], + ['apt_5fhardwareresetasync_4820',['APT_HardwareResetAsync',['../apt_8h.html#a8f843ae7cade12403160de70ec7d6f91',1,'apt.h']]], + ['apt_5finitialize_4821',['APT_Initialize',['../apt_8h.html#aa798c78b56dcf2b451123986f087b1f4',1,'apt.h']]], + ['apt_5finquirenotification_4822',['APT_InquireNotification',['../apt_8h.html#a6d9c84201b13a43c3417d7e2f61b231b',1,'apt.h']]], + ['apt_5fisregistered_4823',['APT_IsRegistered',['../apt_8h.html#a98402a39a7476fd2fcf705688b8f8364',1,'apt.h']]], + ['apt_5fjumptoapplication_4824',['APT_JumpToApplication',['../apt_8h.html#a8ac217768d36b8c34c46bcb153cc4dd7',1,'apt.h']]], + ['apt_5fjumptohomemenu_4825',['APT_JumpToHomeMenu',['../apt_8h.html#a2f49ecfa1d838f1cb511f4258728e688',1,'apt.h']]], + ['apt_5flocktransition_4826',['APT_LockTransition',['../apt_8h.html#a72376509676049424060e3b7d37b237e',1,'apt.h']]], + ['apt_5fnotifytowait_4827',['APT_NotifyToWait',['../apt_8h.html#a99188445583d14b149c898f8fb10f16f',1,'apt.h']]], + ['apt_5fpreparetocloseapplication_4828',['APT_PrepareToCloseApplication',['../apt_8h.html#a0ff6d0e1b695cbeb832a73910c3ea857',1,'apt.h']]], + ['apt_5fpreparetodoapplicationjump_4829',['APT_PrepareToDoApplicationJump',['../apt_8h.html#aba728efcd35d8a4f6bcceee19c597c31',1,'apt.h']]], + ['apt_5fpreparetojumptoapplication_4830',['APT_PrepareToJumpToApplication',['../apt_8h.html#af778eab1656c5e01d8b03c72cfd4936a',1,'apt.h']]], + ['apt_5fpreparetojumptohomemenu_4831',['APT_PrepareToJumpToHomeMenu',['../apt_8h.html#a56bf96b3c92e926b62664df57d478a4d',1,'apt.h']]], + ['apt_5fpreparetostartlibraryapplet_4832',['APT_PrepareToStartLibraryApplet',['../apt_8h.html#af80ae4fce5a7efc802ed22f5bb87b11d',1,'apt.h']]], + ['apt_5fpreparetostartsystemapplet_4833',['APT_PrepareToStartSystemApplet',['../apt_8h.html#a9431bc6170912ea0f217b8dede0bc996',1,'apt.h']]], + ['apt_5freceivedeliverarg_4834',['APT_ReceiveDeliverArg',['../apt_8h.html#a98393611ce1e6d3712b5e6781c4b5e88',1,'apt.h']]], + ['apt_5freceiveparameter_4835',['APT_ReceiveParameter',['../apt_8h.html#a344ecade14264e6278d84f2445bfefc5',1,'apt.h']]], + ['apt_5freplysleepnotificationcomplete_4836',['APT_ReplySleepNotificationComplete',['../apt_8h.html#aa40df8aaaef30ec1f31741a9d8299592',1,'apt.h']]], + ['apt_5freplysleepquery_4837',['APT_ReplySleepQuery',['../apt_8h.html#ae6212210410280fad33f934aba6cbca7',1,'apt.h']]], + ['apt_5fsendcapturebufferinfo_4838',['APT_SendCaptureBufferInfo',['../apt_8h.html#a1bda011a9d90d72e02cd89792e6074c7',1,'apt.h']]], + ['apt_5fsendparameter_4839',['APT_SendParameter',['../apt_8h.html#a94e606e7c80be25f4fc2dd3ed90b1cdd',1,'apt.h']]], + ['apt_5fsetappcputimelimit_4840',['APT_SetAppCpuTimeLimit',['../apt_8h.html#aa83ab636d5c52e2c95eae3f3abe940e7',1,'apt.h']]], + ['apt_5fsleepifshellclosed_4841',['APT_SleepIfShellClosed',['../apt_8h.html#a344dc2220cffe3ef39975cb220d839c9',1,'apt.h']]], + ['apt_5fsleepsystem_4842',['APT_SleepSystem',['../apt_8h.html#a3a4368853462a6460b562c5888b0fc55',1,'apt.h']]], + ['apt_5fstartlibraryapplet_4843',['APT_StartLibraryApplet',['../apt_8h.html#abe759128f9e9f4c8d1875b2d54d466fe',1,'apt.h']]], + ['apt_5fstartsystemapplet_4844',['APT_StartSystemApplet',['../apt_8h.html#ad4dabcc9d42123aa58e8f10a08d730d5',1,'apt.h']]], + ['apt_5ftrylocktransition_4845',['APT_TryLockTransition',['../apt_8h.html#ab4103547c919d699bd63a73e67c4c122',1,'apt.h']]], + ['apt_5funlocktransition_4846',['APT_UnlockTransition',['../apt_8h.html#a2c39328a07c156458ca934106637c9ea',1,'apt.h']]], + ['aptcheckhomepressrejected_4847',['aptCheckHomePressRejected',['../apt_8h.html#a97393fba996f10ad8e61f56a92910fc2',1,'apt.h']]], + ['aptclearchainloader_4848',['aptClearChainloader',['../apt_8h.html#afc47bf7374741bf51d5fceabe296f12a',1,'apt.h']]], + ['aptexit_4849',['aptExit',['../apt_8h.html#a37c671bbffd1c26e381ecd38fff19ef8',1,'apt.h']]], + ['aptgetmenuappid_4850',['aptGetMenuAppID',['../apt_8h.html#a89354d3c51b1708a962df82242bdbcb4',1,'apt.h']]], + ['apthandlejumptohome_4851',['aptHandleJumpToHome',['../apt_8h.html#acfa2f3e80c79bad5d1656ce99f722f86',1,'apt.h']]], + ['apthandlesleep_4852',['aptHandleSleep',['../apt_8h.html#ac5d33d4e03c5ac078cadf4f5a75d4aa0',1,'apt.h']]], + ['apthook_4853',['aptHook',['../apt_8h.html#ab8985e95b252207e1adfa32ec8b943ea',1,'apt.h']]], + ['aptinit_4854',['aptInit',['../apt_8h.html#a948693eacbd602be749512a7c268dc4a',1,'apt.h']]], + ['aptisactive_4855',['aptIsActive',['../apt_8h.html#abe1c9774a0e4031d4b9ad4c767353d4f',1,'apt.h']]], + ['aptishomeallowed_4856',['aptIsHomeAllowed',['../apt_8h.html#af2f64b2c2a9dd00e13d1ce93aed1b326',1,'apt.h']]], + ['aptishomepressed_4857',['aptIsHomePressed',['../apt_8h.html#a5d39be2a43af69af181a8ed52e6c822b',1,'apt.h']]], + ['aptissleepallowed_4858',['aptIsSleepAllowed',['../apt_8h.html#acf1eba93df85f2c930bcd7c333a06aac',1,'apt.h']]], + ['aptjumptohomemenu_4859',['aptJumpToHomeMenu',['../apt_8h.html#adf45788328192962a21f1142820de385',1,'apt.h']]], + ['aptlaunchlibraryapplet_4860',['aptLaunchLibraryApplet',['../apt_8h.html#ae82036721a23f7b8b08eaba58b8bcf07',1,'apt.h']]], + ['aptmainloop_4861',['aptMainLoop',['../apt_8h.html#a84808c36d9a8c389896ecf241c7f89cb',1,'apt.h']]], + ['aptmakeappletattr_4862',['aptMakeAppletAttr',['../apt_8h.html#a4f47f5d5e16fd3c7f35cae7ad924ad00',1,'apt.h']]], + ['aptsendcommand_4863',['aptSendCommand',['../apt_8h.html#ad0d5e5004797d534ce0af21a3fc6cc4a',1,'apt.h']]], + ['aptsetchainloader_4864',['aptSetChainloader',['../apt_8h.html#ae608f591659981bc4bcca6329e35874a',1,'apt.h']]], + ['aptsetchainloaderargs_4865',['aptSetChainloaderArgs',['../apt_8h.html#a4019a79a43deb567c2ef90b63b6d5169',1,'apt.h']]], + ['aptsetchainloadertocaller_4866',['aptSetChainloaderToCaller',['../apt_8h.html#a0f9fff3dbcbc4ad2ce7574f0c530b486',1,'apt.h']]], + ['aptsetchainloadertoself_4867',['aptSetChainloaderToSelf',['../apt_8h.html#a3f41335fe04d1ad035f4b7bf97ebcb4b',1,'apt.h']]], + ['aptsethomeallowed_4868',['aptSetHomeAllowed',['../apt_8h.html#ab5e399b231f074316db6e0a0a2b990b1',1,'apt.h']]], + ['aptsetmessagecallback_4869',['aptSetMessageCallback',['../apt_8h.html#af138b11246928874c3a7ecb070128a43',1,'apt.h']]], + ['aptsetsleepallowed_4870',['aptSetSleepAllowed',['../apt_8h.html#a3efaaf8933a5f92b59ce0c1bf927ab69',1,'apt.h']]], + ['aptshouldclose_4871',['aptShouldClose',['../apt_8h.html#af33ab10f249e4d5f261f4534cd489037',1,'apt.h']]], + ['aptshouldjumptohome_4872',['aptShouldJumpToHome',['../apt_8h.html#a56377752c62beb135bb6caceaacaf965',1,'apt.h']]], + ['aptunhook_4873',['aptUnhook',['../apt_8h.html#a63034559615a68c7b390ac2912ad38f4',1,'apt.h']]], + ['archive_5fgetmtime_4874',['archive_getmtime',['../archive_8h.html#ae08e5e05c5940a70a931ee2c5202108a',1,'archive.h']]], + ['archivecommitsavedata_4875',['archiveCommitSaveData',['../archive_8h.html#ad1bf0c6ab382b2fdb308b674c89ec6dc',1,'archive.h']]], + ['archivemount_4876',['archiveMount',['../archive_8h.html#adbc4b0c3e005f2a443b5283b623a7b1f',1,'archive.h']]], + ['archivemountsdmc_4877',['archiveMountSdmc',['../archive_8h.html#aa89a086cebbb92b3293b203071489eb8',1,'archive.h']]], + ['archiveunmount_4878',['archiveUnmount',['../archive_8h.html#a5f89a397a31710375697b51e9f43e45f',1,'archive.h']]], + ['archiveunmountall_4879',['archiveUnmountAll',['../archive_8h.html#aea64551a14815c6499d00eb12cd38388',1,'archive.h']]] +]; diff --git a/search/functions_10.html b/search/functions_10.html new file mode 100644 index 000000000..1bdc12572 --- /dev/null +++ b/search/functions_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_10.js b/search/functions_10.js new file mode 100644 index 000000000..e50f30c18 --- /dev/null +++ b/search/functions_10.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['rbtree_5fclear_5869',['rbtree_clear',['../rbtree_8h.html#ad01c203394956d0d8d80806a0bba97ce',1,'rbtree.h']]], + ['rbtree_5fempty_5870',['rbtree_empty',['../rbtree_8h.html#adc5b8f32353f0452993aca76ae950098',1,'rbtree.h']]], + ['rbtree_5ffind_5871',['rbtree_find',['../rbtree_8h.html#aa6573b2014ed4440df29d96ecc0e7592',1,'rbtree.h']]], + ['rbtree_5finit_5872',['rbtree_init',['../rbtree_8h.html#a333d73fc305d74c1751ac89f891f7ee5',1,'rbtree.h']]], + ['rbtree_5finsert_5fmulti_5873',['rbtree_insert_multi',['../rbtree_8h.html#a5b5c543392277b07bc2dec7b1f383140',1,'rbtree.h']]], + ['rbtree_5fmax_5874',['rbtree_max',['../rbtree_8h.html#a9ecb580c8eb4e5c4c5c3c10766efe18c',1,'rbtree.h']]], + ['rbtree_5fmin_5875',['rbtree_min',['../rbtree_8h.html#a96f0e838aff7f1cdac2f09804be44aa8',1,'rbtree.h']]], + ['rbtree_5fnode_5fnext_5876',['rbtree_node_next',['../rbtree_8h.html#ae9774dcf5094b21c929defded278b5cc',1,'rbtree.h']]], + ['rbtree_5fnode_5fprev_5877',['rbtree_node_prev',['../rbtree_8h.html#a55b41ea5178a00916c2c293743ea3c7c',1,'rbtree.h']]], + ['rbtree_5fremove_5878',['rbtree_remove',['../rbtree_8h.html#aa85861ccd33a4e920aeb9f4cd3475e6f',1,'rbtree.h']]], + ['rbtree_5fsize_5879',['rbtree_size',['../rbtree_8h.html#a635c19a896c3c43bd47929fb486a388f',1,'rbtree.h']]], + ['recursivelock_5finit_5880',['RecursiveLock_Init',['../synchronization_8h.html#a1bbbe87bf212a32850ac9f0b6aa73408',1,'synchronization.h']]], + ['recursivelock_5flock_5881',['RecursiveLock_Lock',['../synchronization_8h.html#afea61e6ff137d96934bb145d44095ccb',1,'synchronization.h']]], + ['recursivelock_5ftrylock_5882',['RecursiveLock_TryLock',['../synchronization_8h.html#a8808924fdee80220f83b6992bc5e104d',1,'synchronization.h']]], + ['recursivelock_5funlock_5883',['RecursiveLock_Unlock',['../synchronization_8h.html#a529b21c4a974abeea24b1dcceb75cf62',1,'synchronization.h']]], + ['romfsexit_5884',['romfsExit',['../romfs_8h.html#ab0b28376bd1c13790398fc00fedd2feb',1,'romfs.h']]], + ['romfsinit_5885',['romfsInit',['../romfs_8h.html#a12e06b453b9b7bc98333702553572574',1,'romfs.h']]], + ['romfsmountfromcurrentprocess_5886',['romfsMountFromCurrentProcess',['../romfs_8h.html#a30019781595267e9a1396a5a5387bf45',1,'romfs.h']]], + ['romfsmountfromfile_5887',['romfsMountFromFile',['../romfs_8h.html#a6ce254a38954ddb78e99c2bb7a16a0b9',1,'romfs.h']]], + ['romfsmountfromtitle_5888',['romfsMountFromTitle',['../romfs_8h.html#a27853e37c0edae46b91d0d50b9c6d267',1,'romfs.h']]], + ['romfsmountself_5889',['romfsMountSelf',['../romfs_8h.html#a996532140f972ebd60dded2dd409396d',1,'romfs.h']]], + ['romfsunmount_5890',['romfsUnmount',['../romfs_8h.html#ad1dd7a7a199e7d6f40a3530820212357',1,'romfs.h']]] +]; diff --git a/search/functions_11.html b/search/functions_11.html new file mode 100644 index 000000000..188076ef2 --- /dev/null +++ b/search/functions_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_11.js b/search/functions_11.js new file mode 100644 index 000000000..6b40f0811 --- /dev/null +++ b/search/functions_11.js @@ -0,0 +1,183 @@ +var searchData= +[ + ['shaderinstancefree_5891',['shaderInstanceFree',['../shaderProgram_8h.html#a813803dc45a4e1232e0092cc5b92e3f2',1,'shaderProgram.h']]], + ['shaderinstancegetbool_5892',['shaderInstanceGetBool',['../shaderProgram_8h.html#aacf13693c53783f654048d33af9ff1d6',1,'shaderProgram.h']]], + ['shaderinstancegetuniformlocation_5893',['shaderInstanceGetUniformLocation',['../shaderProgram_8h.html#afc98c295e7c2634daad923f159ddf604',1,'shaderProgram.h']]], + ['shaderinstanceinit_5894',['shaderInstanceInit',['../shaderProgram_8h.html#a8e396f4e4c9dd163477afcd0ebede1e0',1,'shaderProgram.h']]], + ['shaderinstancesetbool_5895',['shaderInstanceSetBool',['../shaderProgram_8h.html#ae90a12bb32c6ff5bc2cc904ee6f16b5c',1,'shaderProgram.h']]], + ['shaderprogramconfigure_5896',['shaderProgramConfigure',['../shaderProgram_8h.html#ae086b40996896135d182f0676e4cdcfe',1,'shaderProgram.h']]], + ['shaderprogramfree_5897',['shaderProgramFree',['../shaderProgram_8h.html#a57cbd903975f5ccce6169159f89714d8',1,'shaderProgram.h']]], + ['shaderprograminit_5898',['shaderProgramInit',['../shaderProgram_8h.html#a4907e3572c644efe27c130a8c37bddf0',1,'shaderProgram.h']]], + ['shaderprogramsetgsh_5899',['shaderProgramSetGsh',['../shaderProgram_8h.html#a9dfb834657daeaa420744d0d55a857b4',1,'shaderProgram.h']]], + ['shaderprogramsetgshinputpermutation_5900',['shaderProgramSetGshInputPermutation',['../shaderProgram_8h.html#a6695d885a673c1157c9790f2a732323d',1,'shaderProgram.h']]], + ['shaderprogramsetvsh_5901',['shaderProgramSetVsh',['../shaderProgram_8h.html#a3ca416a2e6bc3c2aaae1895435e8452c',1,'shaderProgram.h']]], + ['shaderprogramuse_5902',['shaderProgramUse',['../shaderProgram_8h.html#a29749780857245eb8860fe1bda3bcc97',1,'shaderProgram.h']]], + ['socexit_5903',['socExit',['../soc_8h.html#a4c165678b18a16dccc315220ec61e1ee',1,'soc.h']]], + ['socinit_5904',['socInit',['../soc_8h.html#a0c15255d27f548252f23860e1f7fe39b',1,'soc.h']]], + ['socu_5faddglobalsocket_5905',['SOCU_AddGlobalSocket',['../soc_8h.html#a3bef58a0883bdf3000eb8466d1eedb37',1,'soc.h']]], + ['socu_5fgetipinfo_5906',['SOCU_GetIPInfo',['../soc_8h.html#a894b9a96c2a1a91d52f4a2cb54b173d1',1,'soc.h']]], + ['socu_5fgetnetworkopt_5907',['SOCU_GetNetworkOpt',['../soc_8h.html#a08ae584539cdc85bd756bcc22e9bce93',1,'soc.h']]], + ['srvenablenotification_5908',['srvEnableNotification',['../srv_8h.html#a41e92fda5c0478466bb1bc3883a7604a',1,'srv.h']]], + ['srvexit_5909',['srvExit',['../srv_8h.html#a41a1b72e01488a9d26a94421164a971a',1,'srv.h']]], + ['srvgetport_5910',['srvGetPort',['../srv_8h.html#ad74922815e49b701024fbf75f33c016c',1,'srv.h']]], + ['srvgetservicehandle_5911',['srvGetServiceHandle',['../srv_8h.html#a640c3109cd4bfa4bd226fae6485c2c38',1,'srv.h']]], + ['srvgetservicehandledirect_5912',['srvGetServiceHandleDirect',['../srv_8h.html#a2f71bee85946cbfd06a963c1845fb617',1,'srv.h']]], + ['srvgetsessionhandle_5913',['srvGetSessionHandle',['../srv_8h.html#aab6cdc04019fc64b219add4013e02b65',1,'srv.h']]], + ['srvinit_5914',['srvInit',['../srv_8h.html#ab5a2d7fec1477e7bd90c0b91095c4842',1,'srv.h']]], + ['srvisportregistered_5915',['srvIsPortRegistered',['../srv_8h.html#a71d216fb01429eaa278d7eb8330dc7bc',1,'srv.h']]], + ['srvisserviceregistered_5916',['srvIsServiceRegistered',['../srv_8h.html#a5bbf82393e861fa2d0bb8df277ee1338',1,'srv.h']]], + ['srvpm_5fpublishtoall_5917',['SRVPM_PublishToAll',['../srvpm_8h.html#a25b38afc8254d6f97c7937f817124810',1,'srvpm.h']]], + ['srvpm_5fpublishtoprocess_5918',['SRVPM_PublishToProcess',['../srvpm_8h.html#ac0aadf18e4a21fa1f88e98742c13ea99',1,'srvpm.h']]], + ['srvpm_5fregisterprocess_5919',['SRVPM_RegisterProcess',['../srvpm_8h.html#a02dfaf51d1784abd4d20fe2f25d6bf22',1,'srvpm.h']]], + ['srvpm_5funregisterprocess_5920',['SRVPM_UnregisterProcess',['../srvpm_8h.html#afbcad1f6e4c5db0b8277480460845be9',1,'srvpm.h']]], + ['srvpmexit_5921',['srvPmExit',['../srvpm_8h.html#ab84562de6bb42fc0829822cca245b9d6',1,'srvpm.h']]], + ['srvpmgetsessionhandle_5922',['srvPmGetSessionHandle',['../srvpm_8h.html#ae2c9070832f71754b2cac6d396d0d55a',1,'srvpm.h']]], + ['srvpminit_5923',['srvPmInit',['../srvpm_8h.html#a8429e3cd75bcce7049c5857cbe9c05d6',1,'srvpm.h']]], + ['srvpublishandgetsubscriber_5924',['srvPublishAndGetSubscriber',['../srv_8h.html#a16f6e1590d6143155d36e1b6f1df5a95',1,'srv.h']]], + ['srvpublishtosubscriber_5925',['srvPublishToSubscriber',['../srv_8h.html#aa7f9fb5af629f5c592100baf98ea57dc',1,'srv.h']]], + ['srvreceivenotification_5926',['srvReceiveNotification',['../srv_8h.html#afdf8849d19334d6587f8e8c50e6e0f11',1,'srv.h']]], + ['srvregisterclient_5927',['srvRegisterClient',['../srv_8h.html#aef5578aec324fdb8bcff2c9c8e31cab5',1,'srv.h']]], + ['srvregisterport_5928',['srvRegisterPort',['../srv_8h.html#a0f4cb526f8f0164a463ad912f1e31d7f',1,'srv.h']]], + ['srvregisterservice_5929',['srvRegisterService',['../srv_8h.html#ac5af17995c0fedde9fafe17db2d58969',1,'srv.h']]], + ['srvsetblockingpolicy_5930',['srvSetBlockingPolicy',['../srv_8h.html#aa90a9a963933fd6b1cf94b9d255057b7',1,'srv.h']]], + ['srvsubscribe_5931',['srvSubscribe',['../srv_8h.html#a01146e340564cb9c4966ed190c080d63',1,'srv.h']]], + ['srvunregisterport_5932',['srvUnregisterPort',['../srv_8h.html#a6f6b9bc5cbb88324dffbc8a6feda4cf8',1,'srv.h']]], + ['srvunregisterservice_5933',['srvUnregisterService',['../srv_8h.html#a578c745aede0ed8af0541ca2dcb7fe23',1,'srv.h']]], + ['srvunsubscribe_5934',['srvUnsubscribe',['../srv_8h.html#abcbdc28b99ab3a3a88cfcef53b870df8',1,'srv.h']]], + ['srvwaitforportregistered_5935',['srvWaitForPortRegistered',['../srv_8h.html#abba8cdb354ff1c96a7bed7ae01747608',1,'srv.h']]], + ['sslc8certchainaddcert_5936',['sslc8CertChainAddCert',['../sslc_8h.html#ae37a6d11fc12fef073f59d885e373351',1,'sslc.h']]], + ['sslc8certchainadddefaultcert_5937',['sslc8CertChainAddDefaultCert',['../sslc_8h.html#a83d99170901000ca4510765795f4e519',1,'sslc.h']]], + ['sslc8certchainremovecert_5938',['sslc8CertChainRemoveCert',['../sslc_8h.html#ad27c8440e8abfe0c4335fe416f7f0af3',1,'sslc.h']]], + ['sslcaddtrustedrootca_5939',['sslcAddTrustedRootCA',['../sslc_8h.html#ad04b03961883840d46abdf4a4dd7336a',1,'sslc.h']]], + ['sslccloseclientcertcontext_5940',['sslcCloseClientCertContext',['../sslc_8h.html#a5e3618bb74cdcd613aee6ad52b979aad',1,'sslc.h']]], + ['sslccreate8certchain_5941',['sslcCreate8CertChain',['../sslc_8h.html#ab86e28c188db097b5fb80a9389b329f4',1,'sslc.h']]], + ['sslccreatecontext_5942',['sslcCreateContext',['../sslc_8h.html#a6de4d3a12650ccd07c9fae27b587b546',1,'sslc.h']]], + ['sslccreaterootcertchain_5943',['sslcCreateRootCertChain',['../sslc_8h.html#ab919f6e2d8ba1aa88d221245e91d3925',1,'sslc.h']]], + ['sslcdestroy8certchain_5944',['sslcDestroy8CertChain',['../sslc_8h.html#a78d23b18d79574b2202b710256e342a7',1,'sslc.h']]], + ['sslcdestroyrootcertchain_5945',['sslcDestroyRootCertChain',['../sslc_8h.html#adacd3f58292f7a3a45e8a9b8c0039c14',1,'sslc.h']]], + ['sslcexit_5946',['sslcExit',['../sslc_8h.html#a59b25f51e7c7c312f6a26b1f39eab2af',1,'sslc.h']]], + ['sslcgeneraterandomdata_5947',['sslcGenerateRandomData',['../sslc_8h.html#a6c920eddfb1dc70f0fcff395684c35e0',1,'sslc.h']]], + ['sslcinit_5948',['sslcInit',['../sslc_8h.html#a8df6bdd2d151b0ff29a72d2babed0975',1,'sslc.h']]], + ['sslcopenclientcertcontext_5949',['sslcOpenClientCertContext',['../sslc_8h.html#a9d46120ab07f25108132bc38bc7044c7',1,'sslc.h']]], + ['sslcopendefaultclientcertcontext_5950',['sslcOpenDefaultClientCertContext',['../sslc_8h.html#af5110cac361556f116a0afd40bf63a7d',1,'sslc.h']]], + ['sslcrootcertchainadddefaultcert_5951',['sslcRootCertChainAddDefaultCert',['../sslc_8h.html#aac3256f3d1a8869829d86dfedadd2349',1,'sslc.h']]], + ['sslcrootcertchainremovecert_5952',['sslcRootCertChainRemoveCert',['../sslc_8h.html#ab959e88b886878488350fad69723c7e1',1,'sslc.h']]], + ['sslcseedrng_5953',['sslcSeedRNG',['../sslc_8h.html#a335184f29bdf845a775f031e69406052',1,'sslc.h']]], + ['svcacceptsession_5954',['svcAcceptSession',['../svc_8h.html#a9b1cbd6cb9eba21e42c9ec8bb7d08e97',1,'svc.h']]], + ['svcarbitrateaddress_5955',['svcArbitrateAddress',['../svc_8h.html#a4f6ec3a0e2d3bd501c6a95e234aaabdc',1,'svc.h']]], + ['svcarbitrateaddressnotimeout_5956',['svcArbitrateAddressNoTimeout',['../svc_8h.html#a8b4536b50d5d5735805f1f5aa6b2a378',1,'svc.h']]], + ['svcbackdoor_5957',['svcBackdoor',['../svc_8h.html#a1f4318daa12693ba8a3bb8dde536393b',1,'svc.h']]], + ['svcbindinterrupt_5958',['svcBindInterrupt',['../svc_8h.html#a2f8db0e990f91fa29d392986a3050a17',1,'svc.h']]], + ['svcbreak_5959',['svcBreak',['../svc_8h.html#a71559e1c5662a82ac2b83bd6c5c8234c',1,'svc.h']]], + ['svcbreakdebugprocess_5960',['svcBreakDebugProcess',['../svc_8h.html#a9609f301ffe5836bc68a8f73fece12b4',1,'svc.h']]], + ['svcbreakro_5961',['svcBreakRO',['../svc_8h.html#a68c4f6fd3748a647851724b2c7f6e6f3',1,'svc.h']]], + ['svccanceltimer_5962',['svcCancelTimer',['../svc_8h.html#a88c4f0553f97b85737a730c7e63aff6f',1,'svc.h']]], + ['svcclearevent_5963',['svcClearEvent',['../svc_8h.html#ac62690a14d27773ca936c1b53549f59d',1,'svc.h']]], + ['svccleartimer_5964',['svcClearTimer',['../svc_8h.html#a3642f5b3403a0e731358301d622a9a1e',1,'svc.h']]], + ['svcclosehandle_5965',['svcCloseHandle',['../svc_8h.html#a09f47e8301d61442fc76727da0b0554c',1,'svc.h']]], + ['svcconnecttoport_5966',['svcConnectToPort',['../svc_8h.html#a3063414d90f09e17398bdb7cd6955b71',1,'svc.h']]], + ['svccontinuedebugevent_5967',['svcContinueDebugEvent',['../svc_8h.html#a6afb068c84788f20213bb66c55d7a343',1,'svc.h']]], + ['svccontrolmemory_5968',['svcControlMemory',['../svc_8h.html#a8046e9b23b1b209a4e278cb1c19c7a5a',1,'svc.h']]], + ['svccontrolperformancecounter_5969',['svcControlPerformanceCounter',['../svc_8h.html#a5b138754e8e2aa48326c4271eae7d6ba',1,'svc.h']]], + ['svccontrolprocessmemory_5970',['svcControlProcessMemory',['../svc_8h.html#af9dcc9ae0b21ce1363522c23203d4d6c',1,'svc.h']]], + ['svccreateaddressarbiter_5971',['svcCreateAddressArbiter',['../svc_8h.html#aad97fa778ae92cc88586f287b9b88487',1,'svc.h']]], + ['svccreatecodeset_5972',['svcCreateCodeSet',['../svc_8h.html#a8b9e97a68e06934e341c147c1c489390',1,'svc.h']]], + ['svccreateevent_5973',['svcCreateEvent',['../svc_8h.html#ac4888a213bf9515d2332ce8a686b3087',1,'svc.h']]], + ['svccreatememoryblock_5974',['svcCreateMemoryBlock',['../svc_8h.html#a5ce27301f176acfa306a39c9801f7b33',1,'svc.h']]], + ['svccreatemutex_5975',['svcCreateMutex',['../svc_8h.html#af83b6eb4ee03ce1aae2ccb64906e759c',1,'svc.h']]], + ['svccreateport_5976',['svcCreatePort',['../svc_8h.html#a7ecb788e88b2b9990c72c01b73f290b2',1,'svc.h']]], + ['svccreateprocess_5977',['svcCreateProcess',['../svc_8h.html#a985e047a81393fa6d118ee769311f9c1',1,'svc.h']]], + ['svccreateresourcelimit_5978',['svcCreateResourceLimit',['../svc_8h.html#abe17c7bede51c7123fd0e07c3c12788a',1,'svc.h']]], + ['svccreatesemaphore_5979',['svcCreateSemaphore',['../svc_8h.html#a6875852b77e9295f0acefa95a721a102',1,'svc.h']]], + ['svccreatesession_5980',['svcCreateSession',['../svc_8h.html#a39e82e4602ee78d3b7bc3ad95c3798cb',1,'svc.h']]], + ['svccreatesessiontoport_5981',['svcCreateSessionToPort',['../svc_8h.html#a562f0131519b367335c376b046d1c1aa',1,'svc.h']]], + ['svccreatethread_5982',['svcCreateThread',['../svc_8h.html#a3f62a8f1822c6a78fab2e2cb03c46893',1,'svc.h']]], + ['svccreatetimer_5983',['svcCreateTimer',['../svc_8h.html#a021efa7b65d0263f55278c04c4329c5c',1,'svc.h']]], + ['svcdebugactiveprocess_5984',['svcDebugActiveProcess',['../svc_8h.html#a1fb595bace1a8798b73437b7b4ee5212',1,'svc.h']]], + ['svcduplicatehandle_5985',['svcDuplicateHandle',['../svc_8h.html#a2fea2f7321bb5bb8fa64d4064ae07e39',1,'svc.h']]], + ['svcexitprocess_5986',['svcExitProcess',['../svc_8h.html#a5151be03b9f3bfcf310ee2f659f5cff1',1,'svc.h']]], + ['svcexitthread_5987',['svcExitThread',['../svc_8h.html#a2ddb0d1da1ee4e65a5d2408da6239921',1,'svc.h']]], + ['svcflushprocessdatacache_5988',['svcFlushProcessDataCache',['../svc_8h.html#af82f17b3c13ab9cd97dff78721d24d0d',1,'svc.h']]], + ['svcgetdebugthreadcontext_5989',['svcGetDebugThreadContext',['../svc_8h.html#a45d96608f9a397c81e8a254d8948f5c5',1,'svc.h']]], + ['svcgetdebugthreadparam_5990',['svcGetDebugThreadParam',['../svc_8h.html#ad9dcfc6cb021384b48ccc7e5275bfc4b',1,'svc.h']]], + ['svcgetdmastate_5991',['svcGetDmaState',['../svc_8h.html#afb244db47f6810fb782b5331c83c52ea',1,'svc.h']]], + ['svcgethandleinfo_5992',['svcGetHandleInfo',['../svc_8h.html#a48a9bb9e4b5959bebca2f32cdd3e598a',1,'svc.h']]], + ['svcgetprocessaffinitymask_5993',['svcGetProcessAffinityMask',['../svc_8h.html#ae52c7fb0b8c1046268ad81719500eb8f',1,'svc.h']]], + ['svcgetprocessdebugevent_5994',['svcGetProcessDebugEvent',['../svc_8h.html#ae43be244fb71321c8101547a20b65693',1,'svc.h']]], + ['svcgetprocessid_5995',['svcGetProcessId',['../svc_8h.html#a46395fb5e1c8f9b2311cfa260de0c2e9',1,'svc.h']]], + ['svcgetprocessidealprocessor_5996',['svcGetProcessIdealProcessor',['../svc_8h.html#aaec6682f3ea6b524cc44d24986ccc81a',1,'svc.h']]], + ['svcgetprocessidofthread_5997',['svcGetProcessIdOfThread',['../svc_8h.html#acd17333e3949eaef28ccda04dc7db0f7',1,'svc.h']]], + ['svcgetprocessinfo_5998',['svcGetProcessInfo',['../svc_8h.html#a09d2da81f400266901235bd6cc1c0943',1,'svc.h']]], + ['svcgetprocesslist_5999',['svcGetProcessList',['../svc_8h.html#a4895a8c4e616aecd47eb260e262b0d3c',1,'svc.h']]], + ['svcgetprocessorid_6000',['svcGetProcessorID',['../svc_8h.html#a336600ef3fd751a23440c8f3bd331904',1,'svc.h']]], + ['svcgetresourcelimit_6001',['svcGetResourceLimit',['../svc_8h.html#a977a76e261890d9d989451e073c5bb7e',1,'svc.h']]], + ['svcgetresourcelimitcurrentvalues_6002',['svcGetResourceLimitCurrentValues',['../svc_8h.html#a198fe17448c4cb82eb5ebe4eb3a893d8',1,'svc.h']]], + ['svcgetresourcelimitlimitvalues_6003',['svcGetResourceLimitLimitValues',['../svc_8h.html#a182a314d366e0dd25d5f7786fad9a1be',1,'svc.h']]], + ['svcgetsysteminfo_6004',['svcGetSystemInfo',['../svc_8h.html#a581cf88669bf459816e5ce5899f1e378',1,'svc.h']]], + ['svcgetsystemtick_6005',['svcGetSystemTick',['../svc_8h.html#a3a31bff3a0f1d8ff768911e38f70c5d7',1,'svc.h']]], + ['svcgetthreadaffinitymask_6006',['svcGetThreadAffinityMask',['../svc_8h.html#a4d259199317256bae13fe0600e52a7d3',1,'svc.h']]], + ['svcgetthreadid_6007',['svcGetThreadId',['../svc_8h.html#aa528da59a295ad8a09f951e1b52c658e',1,'svc.h']]], + ['svcgetthreadidealprocessor_6008',['svcGetThreadIdealProcessor',['../svc_8h.html#a94bc1c06056b8c4d4cd7754f7a65fb34',1,'svc.h']]], + ['svcgetthreadinfo_6009',['svcGetThreadInfo',['../svc_8h.html#a5eceb4a371c0293bf2ae5c4576cbe1de',1,'svc.h']]], + ['svcgetthreadlist_6010',['svcGetThreadList',['../svc_8h.html#a3ef70e1f36a42f1d8e351d7bf1c9a2ff',1,'svc.h']]], + ['svcgetthreadpriority_6011',['svcGetThreadPriority',['../svc_8h.html#a609c04e1cde0d5bd6a71acbed3ad7e54',1,'svc.h']]], + ['svcinvalidateprocessdatacache_6012',['svcInvalidateProcessDataCache',['../svc_8h.html#ac8c9fee9e79ce2ef81585347f56f208e',1,'svc.h']]], + ['svckernelsetstate_6013',['svcKernelSetState',['../svc_8h.html#ada13386ccb8cb809658a9878a9941a8b',1,'svc.h']]], + ['svcmapmemoryblock_6014',['svcMapMemoryBlock',['../svc_8h.html#a04bb64a060cd46b28be86fa30e33bb94',1,'svc.h']]], + ['svcmapprocessmemory_6015',['svcMapProcessMemory',['../svc_8h.html#a8114b51a10d4515b71ecf5e0b2416a96',1,'svc.h']]], + ['svcopenprocess_6016',['svcOpenProcess',['../svc_8h.html#a0348d3f35f25e455d7497687224b49a5',1,'svc.h']]], + ['svcopenthread_6017',['svcOpenThread',['../svc_8h.html#aead5817ed16bb2e3f9dfe228dea2c81a',1,'svc.h']]], + ['svcoutputdebugstring_6018',['svcOutputDebugString',['../svc_8h.html#a1deb19f13c53015347aa5c8785fe612e',1,'svc.h']]], + ['svcquerydebugprocessmemory_6019',['svcQueryDebugProcessMemory',['../svc_8h.html#a701306ea4d920baf3243f0fe7139fb9f',1,'svc.h']]], + ['svcquerymemory_6020',['svcQueryMemory',['../svc_8h.html#a9809212def892f6baf31c7cd6754ed02',1,'svc.h']]], + ['svcqueryprocessmemory_6021',['svcQueryProcessMemory',['../svc_8h.html#aa9dc250e97f58dca935bcee31549f3e7',1,'svc.h']]], + ['svcreadprocessmemory_6022',['svcReadProcessMemory',['../svc_8h.html#a7d5848ed471a047cd3298615c4c49f6c',1,'svc.h']]], + ['svcreleasemutex_6023',['svcReleaseMutex',['../svc_8h.html#a29c27d98f1ce96951af4057503b6641e',1,'svc.h']]], + ['svcreleasesemaphore_6024',['svcReleaseSemaphore',['../svc_8h.html#a8c072d1a9707bb0324b4ba2e7c4fc794',1,'svc.h']]], + ['svcreplyandreceive_6025',['svcReplyAndReceive',['../svc_8h.html#aaef69fd9d538247e3e48815592de4df1',1,'svc.h']]], + ['svcrestartdma_6026',['svcRestartDma',['../svc_8h.html#aab7a1755c547a1ff2b9f2a6f45e57073',1,'svc.h']]], + ['svcrun_6027',['svcRun',['../svc_8h.html#a20ea2b0b1a60242d167664de882a4562',1,'svc.h']]], + ['svcsendsyncrequest_6028',['svcSendSyncRequest',['../svc_8h.html#a3e2f6333bfcd2a2953b5bde79122e913',1,'svc.h']]], + ['svcsetdebugthreadcontext_6029',['svcSetDebugThreadContext',['../svc_8h.html#aec567b6e8ea8fe1ac41ac1fe117a6345',1,'svc.h']]], + ['svcsetgpuprot_6030',['svcSetGpuProt',['../svc_8h.html#a73d737b48868304a3e144abc6f73ec8f',1,'svc.h']]], + ['svcsethardwarebreakpoint_6031',['svcSetHardwareBreakPoint',['../svc_8h.html#ab31e6106eb7e5f4b7ef62cca1054e83f',1,'svc.h']]], + ['svcsetprocessaffinitymask_6032',['svcSetProcessAffinityMask',['../svc_8h.html#aee49171a3a435f8879a019620b51dcd0',1,'svc.h']]], + ['svcsetprocessidealprocessor_6033',['svcSetProcessIdealProcessor',['../svc_8h.html#a7e7666520d212d0b7de8c703b4c3b00e',1,'svc.h']]], + ['svcsetprocessresourcelimits_6034',['svcSetProcessResourceLimits',['../svc_8h.html#a71a716eb986a0a9ef0e56ab0ffd2122e',1,'svc.h']]], + ['svcsetresourcelimitvalues_6035',['svcSetResourceLimitValues',['../svc_8h.html#a6f7ab132d9cc85cdff043a05fdd1fe34',1,'svc.h']]], + ['svcsetthreadaffinitymask_6036',['svcSetThreadAffinityMask',['../svc_8h.html#a7c00a1577efa9e79fdfd5d301132467b',1,'svc.h']]], + ['svcsetthreadidealprocessor_6037',['svcSetThreadIdealProcessor',['../svc_8h.html#ae4f42994fe420745b8d079d791441d42',1,'svc.h']]], + ['svcsetthreadpriority_6038',['svcSetThreadPriority',['../svc_8h.html#ae50054f7b88b075eca23b05b92fb1582',1,'svc.h']]], + ['svcsettimer_6039',['svcSetTimer',['../svc_8h.html#ab3d7b4a986e1f146dfc4d6149d1a5b5b',1,'svc.h']]], + ['svcsetwifienabled_6040',['svcSetWifiEnabled',['../svc_8h.html#a5a7ca823accc7d580ae25fe385322bbb',1,'svc.h']]], + ['svcsignalevent_6041',['svcSignalEvent',['../svc_8h.html#af1c2d3d3b17455505aa7d277ba230a7a',1,'svc.h']]], + ['svcsleepthread_6042',['svcSleepThread',['../svc_8h.html#ae1fad9317c81076e1394a376ab27c720',1,'svc.h']]], + ['svcstartinterprocessdma_6043',['svcStartInterProcessDma',['../svc_8h.html#af8008fc36f898e4e2def32627cb96b47',1,'svc.h']]], + ['svcstopdma_6044',['svcStopDma',['../svc_8h.html#ac827a6c2a3d84f484463f3206e688e01',1,'svc.h']]], + ['svcstoreprocessdatacache_6045',['svcStoreProcessDataCache',['../svc_8h.html#ab540f40958124e21d461ef4a423997f8',1,'svc.h']]], + ['svcterminatedebugprocess_6046',['svcTerminateDebugProcess',['../svc_8h.html#aea161e7c96b51fd4db42a168f678d413',1,'svc.h']]], + ['svcterminateprocess_6047',['svcTerminateProcess',['../svc_8h.html#a01228468ee9651a6480002cb381fe55e',1,'svc.h']]], + ['svcunbindinterrupt_6048',['svcUnbindInterrupt',['../svc_8h.html#aecce8ec0ae7a047d6df92e8dafd6e099',1,'svc.h']]], + ['svcunmapmemoryblock_6049',['svcUnmapMemoryBlock',['../svc_8h.html#a1e796b6048ab85155160599ce9496142',1,'svc.h']]], + ['svcunmapprocessmemory_6050',['svcUnmapProcessMemory',['../svc_8h.html#ab1e5db22e50e03cb4f14e46f09f7635a',1,'svc.h']]], + ['svcwaitsynchronization_6051',['svcWaitSynchronization',['../svc_8h.html#a4eabaa7c25d17e79026434564d484c82',1,'svc.h']]], + ['svcwaitsynchronizationn_6052',['svcWaitSynchronizationN',['../svc_8h.html#a15341b7a1a479ea489a31a145479f5b8',1,'svc.h']]], + ['svcwriteprocessmemory_6053',['svcWriteProcessMemory',['../svc_8h.html#a141d92c97fb3f2565c657dd721e1e30c',1,'svc.h']]], + ['swkbdgetresult_6054',['swkbdGetResult',['../swkbd_8h.html#a9fe63b706b3a5f4196e8a464db578d10',1,'swkbd.h']]], + ['swkbdinit_6055',['swkbdInit',['../swkbd_8h.html#ac3a6569aa3150430e729b328999561ed',1,'swkbd.h']]], + ['swkbdinputtext_6056',['swkbdInputText',['../swkbd_8h.html#a3a9e7271ab89d6727897b66cbb51a0a5',1,'swkbd.h']]], + ['swkbdsetbutton_6057',['swkbdSetButton',['../swkbd_8h.html#a03c1c95303c37468bda0077e8d986e00',1,'swkbd.h']]], + ['swkbdsetdictionary_6058',['swkbdSetDictionary',['../swkbd_8h.html#ad8c2bcf30bd16119cab4a58c15d85495',1,'swkbd.h']]], + ['swkbdsetdictword_6059',['swkbdSetDictWord',['../swkbd_8h.html#a7abf5422dcf03764ffba1eaaca8c1653',1,'swkbd.h']]], + ['swkbdsetfeatures_6060',['swkbdSetFeatures',['../swkbd_8h.html#a7ab5f470b1bde4cc7d8ea7336c078098',1,'swkbd.h']]], + ['swkbdsetfiltercallback_6061',['swkbdSetFilterCallback',['../swkbd_8h.html#a6f28aed150085612694ac8ed48a3cdb8',1,'swkbd.h']]], + ['swkbdsethinttext_6062',['swkbdSetHintText',['../swkbd_8h.html#ab50d59110e5920e1aba641b607900277',1,'swkbd.h']]], + ['swkbdsetinitialtext_6063',['swkbdSetInitialText',['../swkbd_8h.html#a3188c3c8f62da1f740e195976dcabf1f',1,'swkbd.h']]], + ['swkbdsetlearningdata_6064',['swkbdSetLearningData',['../swkbd_8h.html#a790328be559c7d75558faa7a5b055d2c',1,'swkbd.h']]], + ['swkbdsetnumpadkeys_6065',['swkbdSetNumpadKeys',['../swkbd_8h.html#ad00d7ebd131e5171fca3beddace66890',1,'swkbd.h']]], + ['swkbdsetpasswordmode_6066',['swkbdSetPasswordMode',['../swkbd_8h.html#a94b68f3e03958c2a609458641be484a2',1,'swkbd.h']]], + ['swkbdsetstatusdata_6067',['swkbdSetStatusData',['../swkbd_8h.html#a97006a5ab548ac7dc1db471286b157ba',1,'swkbd.h']]], + ['swkbdsetvalidation_6068',['swkbdSetValidation',['../swkbd_8h.html#a98b664f7bc103e24ef0402e16bfc3dbf',1,'swkbd.h']]], + ['syncarbitrateaddress_6069',['syncArbitrateAddress',['../synchronization_8h.html#a15f62531caa3fa14f5eac4735d96f9f7',1,'synchronization.h']]], + ['syncarbitrateaddresswithtimeout_6070',['syncArbitrateAddressWithTimeout',['../synchronization_8h.html#a3ce965a644db4534de988a203751c56d',1,'synchronization.h']]] +]; diff --git a/search/functions_12.html b/search/functions_12.html new file mode 100644 index 000000000..eb29d8f9a --- /dev/null +++ b/search/functions_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_12.js b/search/functions_12.js new file mode 100644 index 000000000..0d7061e28 --- /dev/null +++ b/search/functions_12.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['threadcreate_6071',['threadCreate',['../thread_8h.html#a38c873d8cb02de7f5eca848fe68183ee',1,'thread.h']]], + ['threaddetach_6072',['threadDetach',['../thread_8h.html#ac20502670ea68159c68d6e153e27e712',1,'thread.h']]], + ['threadexit_6073',['threadExit',['../thread_8h.html#aa018f7fca858955b66821d6faa4e9b47',1,'thread.h']]], + ['threadfree_6074',['threadFree',['../thread_8h.html#aed4c2f06cf2ae66583325bd96588fa27',1,'thread.h']]], + ['threadgetcurrent_6075',['threadGetCurrent',['../thread_8h.html#aaf77fd339bcd06c1aa63aaffa74ba118',1,'thread.h']]], + ['threadgetexitcode_6076',['threadGetExitCode',['../thread_8h.html#aece3cff1637deec4b6497bb438dba2e8',1,'thread.h']]], + ['threadgethandle_6077',['threadGetHandle',['../thread_8h.html#a6f95b5664998852d05adfe79d2490988',1,'thread.h']]], + ['threadjoin_6078',['threadJoin',['../thread_8h.html#a5d7a5a77d24710c19f866d02594553db',1,'thread.h']]], + ['threadonexception_6079',['threadOnException',['../thread_8h.html#ad102ce4415b0054ec6903a5668e5ffab',1,'thread.h']]] +]; diff --git a/search/functions_13.html b/search/functions_13.html new file mode 100644 index 000000000..3da2ea69c --- /dev/null +++ b/search/functions_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_13.js b/search/functions_13.js new file mode 100644 index 000000000..6a8ba73cf --- /dev/null +++ b/search/functions_13.js @@ -0,0 +1,37 @@ +var searchData= +[ + ['udsallowspectators_6080',['udsAllowSpectators',['../uds_8h.html#a715815015bb8ddf709d3f85553e8ae4a',1,'uds.h']]], + ['udsbind_6081',['udsBind',['../uds_8h.html#a2ef6ef86df7e0bd4c13441559b376dd8',1,'uds.h']]], + ['udschecknodeinfoinitialized_6082',['udsCheckNodeInfoInitialized',['../uds_8h.html#a8d326aaf8ff13eb9041730bf86374fe0',1,'uds.h']]], + ['udsconnectnetwork_6083',['udsConnectNetwork',['../uds_8h.html#a667dabaed66dd32770a6ede4fd818019',1,'uds.h']]], + ['udscreatenetwork_6084',['udsCreateNetwork',['../uds_8h.html#a1975ed5bb92b1a1c87de5bfb41588847',1,'uds.h']]], + ['udsdestroynetwork_6085',['udsDestroyNetwork',['../uds_8h.html#a44092fac3eec0cb9402fd903dc2fff81',1,'uds.h']]], + ['udsdisconnectnetwork_6086',['udsDisconnectNetwork',['../uds_8h.html#a300ee4358ee07e1b08dea6e1908e72a6',1,'uds.h']]], + ['udsejectclient_6087',['udsEjectClient',['../uds_8h.html#acb11e1259a6f58938f61dc4109554b06',1,'uds.h']]], + ['udsejectspectator_6088',['udsEjectSpectator',['../uds_8h.html#a59af3bb7c72312bd5d54ed1b03f9764f',1,'uds.h']]], + ['udsexit_6089',['udsExit',['../uds_8h.html#a0c4ec11a4ba9281c96528fdd2340e169',1,'uds.h']]], + ['udsgeneratedefaultnetworkstruct_6090',['udsGenerateDefaultNetworkStruct',['../uds_8h.html#ae2bc9475be5af0d5e1ee3a5f98855b89',1,'uds.h']]], + ['udsgeneratenodeinfo_6091',['udsGenerateNodeInfo',['../uds_8h.html#adbd391642998a00ba323d2b1cf2c3987',1,'uds.h']]], + ['udsgetapplicationdata_6092',['udsGetApplicationData',['../uds_8h.html#aa10484f4b741649b48633efafdfb8e55',1,'uds.h']]], + ['udsgetchannel_6093',['udsGetChannel',['../uds_8h.html#a682ad1bee0b482a496d03a6d88ec5c0c',1,'uds.h']]], + ['udsgetconnectionstatus_6094',['udsGetConnectionStatus',['../uds_8h.html#a7fdd55dbeca432e2ad83dccc203d6de4',1,'uds.h']]], + ['udsgetnetworkstructapplicationdata_6095',['udsGetNetworkStructApplicationData',['../uds_8h.html#ab3ffe31c0e34aba040548dc56abb001d',1,'uds.h']]], + ['udsgetnodeinformation_6096',['udsGetNodeInformation',['../uds_8h.html#a96d9f0e9574e21527b4f258b4a0f54ee',1,'uds.h']]], + ['udsgetnodeinfousername_6097',['udsGetNodeInfoUsername',['../uds_8h.html#aa1a1a204b83acf4615b1d2a870681272',1,'uds.h']]], + ['udsinit_6098',['udsInit',['../uds_8h.html#a7b9dd66fad0387daa7cc1a0803093161',1,'uds.h']]], + ['udspullpacket_6099',['udsPullPacket',['../uds_8h.html#a15464b1fc2ce4897f352001b59b40597',1,'uds.h']]], + ['udsscanbeacons_6100',['udsScanBeacons',['../uds_8h.html#a2af058b5911c1755a1d0a486962048c2',1,'uds.h']]], + ['udssendto_6101',['udsSendTo',['../uds_8h.html#a2609972c60a77f6cfbd85c4caab93c70',1,'uds.h']]], + ['udssetapplicationdata_6102',['udsSetApplicationData',['../uds_8h.html#a6d31b5879de5cec14eff252093d1c88d',1,'uds.h']]], + ['udssetnewconnectionsblocked_6103',['udsSetNewConnectionsBlocked',['../uds_8h.html#a579487b86069a0a066bf6973f3d94dd7',1,'uds.h']]], + ['udsunbind_6104',['udsUnbind',['../uds_8h.html#a0478019d97df6c5754cae576b2fecbbd',1,'uds.h']]], + ['udsupdatenetworkattribute_6105',['udsUpdateNetworkAttribute',['../uds_8h.html#adffcca2461ecc16db6717442f0a74de4',1,'uds.h']]], + ['udswaitconnectionstatusevent_6106',['udsWaitConnectionStatusEvent',['../uds_8h.html#a3e5c7256539d252195695c5503d64255',1,'uds.h']]], + ['udswaitdataavailable_6107',['udsWaitDataAvailable',['../uds_8h.html#a705245e37134aba29af68c8e90b5df32',1,'uds.h']]], + ['utf16_5fto_5futf32_6108',['utf16_to_utf32',['../utf_8h.html#ad8491ff70a66d8faa816c81ea409eb6c',1,'utf.h']]], + ['utf16_5fto_5futf8_6109',['utf16_to_utf8',['../utf_8h.html#a853ad54c24e5ebcb6a6c2760cb753923',1,'utf.h']]], + ['utf32_5fto_5futf16_6110',['utf32_to_utf16',['../utf_8h.html#aefceec54a91db2aef7bd916b18f0ae20',1,'utf.h']]], + ['utf32_5fto_5futf8_6111',['utf32_to_utf8',['../utf_8h.html#abaad7426e919e66bb5b6621d366d3148',1,'utf.h']]], + ['utf8_5fto_5futf16_6112',['utf8_to_utf16',['../utf_8h.html#a42ed07f838ca52f4bba45d70582be053',1,'utf.h']]], + ['utf8_5fto_5futf32_6113',['utf8_to_utf32',['../utf_8h.html#ac9fa7e7747dd618e519e144f6a1aa182',1,'utf.h']]] +]; diff --git a/search/functions_14.html b/search/functions_14.html new file mode 100644 index 000000000..29237b44c --- /dev/null +++ b/search/functions_14.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_14.js b/search/functions_14.js new file mode 100644 index 000000000..f62518e38 --- /dev/null +++ b/search/functions_14.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['vramalloc_6114',['vramAlloc',['../vram_8h.html#a00b84b8d38c127d8af9a89b9b7e2a5a4',1,'vram.h']]], + ['vramallocat_6115',['vramAllocAt',['../vram_8h.html#a4c1e150c4927ea04eeff144d47a5c09d',1,'vram.h']]], + ['vramfree_6116',['vramFree',['../vram_8h.html#a867318cde93cdd997588d6dcbfc584e1',1,'vram.h']]], + ['vramgetsize_6117',['vramGetSize',['../vram_8h.html#af56a9ec04d837e21374d285e5351772a',1,'vram.h']]], + ['vrammemalign_6118',['vramMemAlign',['../vram_8h.html#a0d6d17e0944fd2303b7bb6c8da5ecef6',1,'vram.h']]], + ['vrammemalignat_6119',['vramMemAlignAt',['../vram_8h.html#a38a51d518cc71ec6576d3efeea775c89',1,'vram.h']]], + ['vramrealloc_6120',['vramRealloc',['../vram_8h.html#ab5bec40d445d439bddd2b66c7fdfbfd7',1,'vram.h']]], + ['vramspacefree_6121',['vramSpaceFree',['../vram_8h.html#a62360e978f102480949259420e975c7f',1,'vram.h']]] +]; diff --git a/search/functions_15.html b/search/functions_15.html new file mode 100644 index 000000000..6d5decd70 --- /dev/null +++ b/search/functions_15.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_15.js b/search/functions_15.js new file mode 100644 index 000000000..95ccc720c --- /dev/null +++ b/search/functions_15.js @@ -0,0 +1,49 @@ +var searchData= +[ + ['y2rexit_6122',['y2rExit',['../y2r_8h.html#a281e458907dfa278b3bdaacbab8c1a00',1,'y2r.h']]], + ['y2rinit_6123',['y2rInit',['../y2r_8h.html#a5101f605de1cd01afc4326e07bc9fb1c',1,'y2r.h']]], + ['y2ru_5fdriverfinalize_6124',['Y2RU_DriverFinalize',['../y2r_8h.html#ad72a92ab39705a1f824cfe5297bc63db',1,'y2r.h']]], + ['y2ru_5fdriverinitialize_6125',['Y2RU_DriverInitialize',['../y2r_8h.html#a8bafbc094703233a36a526fc8e8a0e16',1,'y2r.h']]], + ['y2ru_5fgetalpha_6126',['Y2RU_GetAlpha',['../y2r_8h.html#a4959a4dca810008c53198a4a16a55f5d',1,'y2r.h']]], + ['y2ru_5fgetblockalignment_6127',['Y2RU_GetBlockAlignment',['../y2r_8h.html#a9c3029d61e6f718a8bd2b3524381577c',1,'y2r.h']]], + ['y2ru_5fgetcoefficients_6128',['Y2RU_GetCoefficients',['../y2r_8h.html#a6af506c3d15624b315256019f8144d16',1,'y2r.h']]], + ['y2ru_5fgetditheringweightparams_6129',['Y2RU_GetDitheringWeightParams',['../y2r_8h.html#a697e9246848420ea5207779e0e8ba535',1,'y2r.h']]], + ['y2ru_5fgetinputformat_6130',['Y2RU_GetInputFormat',['../y2r_8h.html#a17007515667ae126cbf8ac8f913e3987',1,'y2r.h']]], + ['y2ru_5fgetinputlines_6131',['Y2RU_GetInputLines',['../y2r_8h.html#ad67cafce32952c532badb71b8d37a930',1,'y2r.h']]], + ['y2ru_5fgetinputlinewidth_6132',['Y2RU_GetInputLineWidth',['../y2r_8h.html#a703303edbdc586f5915c8995c9488185',1,'y2r.h']]], + ['y2ru_5fgetoutputformat_6133',['Y2RU_GetOutputFormat',['../y2r_8h.html#a9e78978cc3467fdac7974aa2f8b1189e',1,'y2r.h']]], + ['y2ru_5fgetrotation_6134',['Y2RU_GetRotation',['../y2r_8h.html#aab7ac5203ba8dc1aadcc58b8b548932b',1,'y2r.h']]], + ['y2ru_5fgetspacialdithering_6135',['Y2RU_GetSpacialDithering',['../y2r_8h.html#a4be7c67b842f8a1ba58515a4f7363065',1,'y2r.h']]], + ['y2ru_5fgetstandardcoefficient_6136',['Y2RU_GetStandardCoefficient',['../y2r_8h.html#a33a4f4f7c517450db3c3716b8d31681c',1,'y2r.h']]], + ['y2ru_5fgettemporaldithering_6137',['Y2RU_GetTemporalDithering',['../y2r_8h.html#ad9a781113c37731cc978fe9d3aaf0a9b',1,'y2r.h']]], + ['y2ru_5fgettransferendevent_6138',['Y2RU_GetTransferEndEvent',['../y2r_8h.html#aea14c7577fe4fad30581f30ca6973705',1,'y2r.h']]], + ['y2ru_5fgettransferendinterrupt_6139',['Y2RU_GetTransferEndInterrupt',['../y2r_8h.html#a5e90c86821d5272631cd509001d3cbba',1,'y2r.h']]], + ['y2ru_5fisbusyconversion_6140',['Y2RU_IsBusyConversion',['../y2r_8h.html#a72ad212c211ec12b5cc85a6e3c7814b2',1,'y2r.h']]], + ['y2ru_5fisdonereceiving_6141',['Y2RU_IsDoneReceiving',['../y2r_8h.html#a0f1869e8a424c495a9dcd42866affb22',1,'y2r.h']]], + ['y2ru_5fisdonesendingu_6142',['Y2RU_IsDoneSendingU',['../y2r_8h.html#a23d944b51ffe02bd9a276d8469a8b593',1,'y2r.h']]], + ['y2ru_5fisdonesendingv_6143',['Y2RU_IsDoneSendingV',['../y2r_8h.html#aa47e389ffbcffe2ce8bce3ac284fa1f0',1,'y2r.h']]], + ['y2ru_5fisdonesendingy_6144',['Y2RU_IsDoneSendingY',['../y2r_8h.html#a64d4cae9174cc5e4442936446b432157',1,'y2r.h']]], + ['y2ru_5fisdonesendingyuyv_6145',['Y2RU_IsDoneSendingYUYV',['../y2r_8h.html#a4eec8b785038a96e15eb1faf48e4f7fb',1,'y2r.h']]], + ['y2ru_5fpingprocess_6146',['Y2RU_PingProcess',['../y2r_8h.html#aea8b5a030d6c5ece8aadd79463b1a3e0',1,'y2r.h']]], + ['y2ru_5fsetalpha_6147',['Y2RU_SetAlpha',['../y2r_8h.html#aff67ccdaee8787b226f9af783d8acafc',1,'y2r.h']]], + ['y2ru_5fsetblockalignment_6148',['Y2RU_SetBlockAlignment',['../y2r_8h.html#ab4c4c786a59760263c6641fe20a2d048',1,'y2r.h']]], + ['y2ru_5fsetcoefficients_6149',['Y2RU_SetCoefficients',['../y2r_8h.html#a609dbcd87aed9317d3c44c237161058d',1,'y2r.h']]], + ['y2ru_5fsetconversionparams_6150',['Y2RU_SetConversionParams',['../y2r_8h.html#a196a386d209696952b819ee95beebf89',1,'y2r.h']]], + ['y2ru_5fsetditheringweightparams_6151',['Y2RU_SetDitheringWeightParams',['../y2r_8h.html#ab3243953599ca8d4503660c840c27afa',1,'y2r.h']]], + ['y2ru_5fsetinputformat_6152',['Y2RU_SetInputFormat',['../y2r_8h.html#ad8593048d942822adad28255f2dd80c7',1,'y2r.h']]], + ['y2ru_5fsetinputlines_6153',['Y2RU_SetInputLines',['../y2r_8h.html#a95ca51f0f41dee4e74740e20c710589f',1,'y2r.h']]], + ['y2ru_5fsetinputlinewidth_6154',['Y2RU_SetInputLineWidth',['../y2r_8h.html#ad129184fd6d7b1e2284456f1131c8c3d',1,'y2r.h']]], + ['y2ru_5fsetoutputformat_6155',['Y2RU_SetOutputFormat',['../y2r_8h.html#a52fd980e99c6b5c0474ad067e1b1375b',1,'y2r.h']]], + ['y2ru_5fsetreceiving_6156',['Y2RU_SetReceiving',['../y2r_8h.html#ac53d0e553fda7d6e3b80e6f7bd0fe7e4',1,'y2r.h']]], + ['y2ru_5fsetrotation_6157',['Y2RU_SetRotation',['../y2r_8h.html#a769f947a0faacfb054cd9dea2a88f68f',1,'y2r.h']]], + ['y2ru_5fsetsendingu_6158',['Y2RU_SetSendingU',['../y2r_8h.html#a84aa94c65f7038c83b6f8d2272dbd32a',1,'y2r.h']]], + ['y2ru_5fsetsendingv_6159',['Y2RU_SetSendingV',['../y2r_8h.html#a568ce42764b2eee7dfcfd7ba7a519bfd',1,'y2r.h']]], + ['y2ru_5fsetsendingy_6160',['Y2RU_SetSendingY',['../y2r_8h.html#a44b247dde9d7357561765c4f5cd83773',1,'y2r.h']]], + ['y2ru_5fsetsendingyuyv_6161',['Y2RU_SetSendingYUYV',['../y2r_8h.html#a2cd9a42b16de17c4bf4d75caff245d7a',1,'y2r.h']]], + ['y2ru_5fsetspacialdithering_6162',['Y2RU_SetSpacialDithering',['../y2r_8h.html#a86c231acacba2947d10511f54e4398db',1,'y2r.h']]], + ['y2ru_5fsetstandardcoefficient_6163',['Y2RU_SetStandardCoefficient',['../y2r_8h.html#a6d7b459cac662a0172eec80272d54a39',1,'y2r.h']]], + ['y2ru_5fsettemporaldithering_6164',['Y2RU_SetTemporalDithering',['../y2r_8h.html#a39862239db0e4f9f2a325e0295c5fc8c',1,'y2r.h']]], + ['y2ru_5fsettransferendinterrupt_6165',['Y2RU_SetTransferEndInterrupt',['../y2r_8h.html#a5b7d1ff83c91410b373da5f62a5b7047',1,'y2r.h']]], + ['y2ru_5fstartconversion_6166',['Y2RU_StartConversion',['../y2r_8h.html#a8c7af513adbd55b5c3c1b18ce508397b',1,'y2r.h']]], + ['y2ru_5fstopconversion_6167',['Y2RU_StopConversion',['../y2r_8h.html#a91b5da74d718bf92c14b083951074874',1,'y2r.h']]] +]; diff --git a/search/functions_2.html b/search/functions_2.html new file mode 100644 index 000000000..ca5aa10e6 --- /dev/null +++ b/search/functions_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_2.js b/search/functions_2.js new file mode 100644 index 000000000..f25c8e42f --- /dev/null +++ b/search/functions_2.js @@ -0,0 +1,21 @@ +var searchData= +[ + ['bossdeletensdata_4880',['bossDeleteNsData',['../boss_8h.html#aad540935924ca6ed4e9014ccb2f0bc0b',1,'boss.h']]], + ['bossdeletetask_4881',['bossDeleteTask',['../boss_8h.html#a9d9ec5b11a976033da50bc98e85d9715',1,'boss.h']]], + ['bossexit_4882',['bossExit',['../boss_8h.html#a7d39838a77aa70d0c49655bea527688f',1,'boss.h']]], + ['bossgetnsdataheaderinfo_4883',['bossGetNsDataHeaderInfo',['../boss_8h.html#aba33abae121b5753b3cffa9bb9d13b0e',1,'boss.h']]], + ['bossgetsessionhandle_4884',['bossGetSessionHandle',['../boss_8h.html#af062df1ed184ae92c0fea54e56a01a9b',1,'boss.h']]], + ['bossgettaskproperty0_4885',['bossGetTaskProperty0',['../boss_8h.html#a09dd791d42c55a259516107aa072cb9b',1,'boss.h']]], + ['bossgettaskstate_4886',['bossGetTaskState',['../boss_8h.html#a0f6498cd076b685455b7ce71b499e80c',1,'boss.h']]], + ['bossinit_4887',['bossInit',['../boss_8h.html#a51a7ee69864f16c5b10a11e20ebadbc1',1,'boss.h']]], + ['bossreadnsdata_4888',['bossReadNsData',['../boss_8h.html#a5b3fbe675e9798b0e575c5eedcb6d788',1,'boss.h']]], + ['bossregistertask_4889',['bossRegisterTask',['../boss_8h.html#adda61987644ad6ba87f4cf69090dfcdb',1,'boss.h']]], + ['bossreinit_4890',['bossReinit',['../boss_8h.html#ad0bc14e4abeafad9edc307dc7a2c0be0',1,'boss.h']]], + ['bosssendcontextconfig_4891',['bossSendContextConfig',['../boss_8h.html#a251f950dae769145729b0a8699c30dc3',1,'boss.h']]], + ['bosssendproperty_4892',['bossSendProperty',['../boss_8h.html#ac9021bd11848da0af58dff1fc4c75ad4',1,'boss.h']]], + ['bosssetstorageinfo_4893',['bossSetStorageInfo',['../boss_8h.html#a96574119e6fa095aec99f6bac0fadfea',1,'boss.h']]], + ['bosssetupcontextdefault_4894',['bossSetupContextDefault',['../boss_8h.html#a18a7541eb4ff0ba8340bfe8177c22671',1,'boss.h']]], + ['bossstartbgimmediate_4895',['bossStartBgImmediate',['../boss_8h.html#affcdefc8c0ea7c04af3429ee4bb062e3',1,'boss.h']]], + ['bossstarttaskimmediate_4896',['bossStartTaskImmediate',['../boss_8h.html#a92fba4c5efe92a052c1f2feed3086cda',1,'boss.h']]], + ['bossunregisterstorage_4897',['bossUnregisterStorage',['../boss_8h.html#a6d8c516ed9331ee157e2583443bb960a',1,'boss.h']]] +]; diff --git a/search/functions_3.html b/search/functions_3.html new file mode 100644 index 000000000..d79f55b8e --- /dev/null +++ b/search/functions_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_3.js b/search/functions_3.js new file mode 100644 index 000000000..d4851d2d9 --- /dev/null +++ b/search/functions_3.js @@ -0,0 +1,168 @@ +var searchData= +[ + ['camexit_4898',['camExit',['../cam_8h.html#a7320e9aa5e1f26b87c19b3f6278bc3a2',1,'cam.h']]], + ['caminit_4899',['camInit',['../cam_8h.html#a06e244701975c47e50c77be6df2bca49',1,'cam.h']]], + ['camu_5factivate_4900',['CAMU_Activate',['../cam_8h.html#addadfc1fddea8746332b80f4950202fc',1,'cam.h']]], + ['camu_5fclearbuffer_4901',['CAMU_ClearBuffer',['../cam_8h.html#a21fb88a5c8f92ab9c8c912b19d2737f6',1,'cam.h']]], + ['camu_5fdriverfinalize_4902',['CAMU_DriverFinalize',['../cam_8h.html#a2e4e7dfb3998247509a6acd8fc7222f5',1,'cam.h']]], + ['camu_5fdriverinitialize_4903',['CAMU_DriverInitialize',['../cam_8h.html#a394b13452d8eeed6c81689b258ef1faf',1,'cam.h']]], + ['camu_5fflipimage_4904',['CAMU_FlipImage',['../cam_8h.html#a06d6d131c33c9d20475d2410083b50fc',1,'cam.h']]], + ['camu_5fgetactivatedcamera_4905',['CAMU_GetActivatedCamera',['../cam_8h.html#a4b4d6db7322988ac5416254eb7d585fd',1,'cam.h']]], + ['camu_5fgetbuffererrorinterruptevent_4906',['CAMU_GetBufferErrorInterruptEvent',['../cam_8h.html#a2af14ee3d645f6d433b2cc6ea1570ae0',1,'cam.h']]], + ['camu_5fgetimagequalitycalibrationdata_4907',['CAMU_GetImageQualityCalibrationData',['../cam_8h.html#a1a4eb70ba80b447e19dd152ae9023fd8',1,'cam.h']]], + ['camu_5fgetlatestvsynctiming_4908',['CAMU_GetLatestVsyncTiming',['../cam_8h.html#a146b10f3dede58b3708d40c81671ee46',1,'cam.h']]], + ['camu_5fgetmaxbytes_4909',['CAMU_GetMaxBytes',['../cam_8h.html#af6b13cf2219bfa0a7b39d7469934290d',1,'cam.h']]], + ['camu_5fgetmaxlines_4910',['CAMU_GetMaxLines',['../cam_8h.html#abb8d83be661c9c287a9b8e8b85a2cfe7',1,'cam.h']]], + ['camu_5fgetsleepcamera_4911',['CAMU_GetSleepCamera',['../cam_8h.html#a12eb381a6537742785424d0e6c074218',1,'cam.h']]], + ['camu_5fgetstereocameracalibrationdata_4912',['CAMU_GetStereoCameraCalibrationData',['../cam_8h.html#a9eda3cdb5e2117a895cf0adacd47cc1e',1,'cam.h']]], + ['camu_5fgetsuitabley2rstandardcoefficient_4913',['CAMU_GetSuitableY2rStandardCoefficient',['../cam_8h.html#adee3c612243e41a730fdd970ca23dd50',1,'cam.h']]], + ['camu_5fgettransferbytes_4914',['CAMU_GetTransferBytes',['../cam_8h.html#a3712ec554ee36089cb8d4a123692f763',1,'cam.h']]], + ['camu_5fgettrimmingparams_4915',['CAMU_GetTrimmingParams',['../cam_8h.html#a7f90e2e8af4b6961b0a01e0c637ba079',1,'cam.h']]], + ['camu_5fgetvsyncinterruptevent_4916',['CAMU_GetVsyncInterruptEvent',['../cam_8h.html#a78b463af54568849bccdfe160ff518d3',1,'cam.h']]], + ['camu_5fisautoexposure_4917',['CAMU_IsAutoExposure',['../cam_8h.html#aa8fe34bd3f0485fdf0f3dca8427898ed',1,'cam.h']]], + ['camu_5fisautowhitebalance_4918',['CAMU_IsAutoWhiteBalance',['../cam_8h.html#a51611edc6cf4d4c334d0eeddcd11cd42',1,'cam.h']]], + ['camu_5fisbusy_4919',['CAMU_IsBusy',['../cam_8h.html#a610733b331ee24fe5ac17a990cabad79',1,'cam.h']]], + ['camu_5fisfinishedreceiving_4920',['CAMU_IsFinishedReceiving',['../cam_8h.html#a4cf441f7020159c6e05e42a64bf93eef',1,'cam.h']]], + ['camu_5fistrimming_4921',['CAMU_IsTrimming',['../cam_8h.html#a18f5b5ae101aa79acade314c21f5171d',1,'cam.h']]], + ['camu_5fplayshuttersound_4922',['CAMU_PlayShutterSound',['../cam_8h.html#ae5698f06cef570204824ddf1e30423fe',1,'cam.h']]], + ['camu_5freadmcuvariablei2cexclusive_4923',['CAMU_ReadMcuVariableI2cExclusive',['../cam_8h.html#a413be54f1d9bd2f2fede68ec7b4b7f38',1,'cam.h']]], + ['camu_5freadregisteri2cexclusive_4924',['CAMU_ReadRegisterI2cExclusive',['../cam_8h.html#ae97274c87e0c8336cc77e52b68d6db94',1,'cam.h']]], + ['camu_5fsetautoexposure_4925',['CAMU_SetAutoExposure',['../cam_8h.html#a2744bf6c18862bc601718880de5ed322',1,'cam.h']]], + ['camu_5fsetautoexposurewindow_4926',['CAMU_SetAutoExposureWindow',['../cam_8h.html#a8738cd101cea4aff44f32e456c44010f',1,'cam.h']]], + ['camu_5fsetautowhitebalance_4927',['CAMU_SetAutoWhiteBalance',['../cam_8h.html#aed69646332dd45debb55adbf05ceb8ba',1,'cam.h']]], + ['camu_5fsetautowhitebalancewindow_4928',['CAMU_SetAutoWhiteBalanceWindow',['../cam_8h.html#a6c2a9862f314936d9c8c4c0b52d0b24d',1,'cam.h']]], + ['camu_5fsetbrightnesssynchronization_4929',['CAMU_SetBrightnessSynchronization',['../cam_8h.html#a711a13f89a65b2f261f0f06963df1482',1,'cam.h']]], + ['camu_5fsetcontrast_4930',['CAMU_SetContrast',['../cam_8h.html#ab1b69d342cfbdcb79e784ca730ac3e4f',1,'cam.h']]], + ['camu_5fsetdetailsize_4931',['CAMU_SetDetailSize',['../cam_8h.html#ae503acbbf69ec042682bd9e43f826397',1,'cam.h']]], + ['camu_5fseteffect_4932',['CAMU_SetEffect',['../cam_8h.html#acf995e451c01ec005618eecae61e9bb0',1,'cam.h']]], + ['camu_5fsetexposure_4933',['CAMU_SetExposure',['../cam_8h.html#a942f367e655da496fa61f5180b8c3d0c',1,'cam.h']]], + ['camu_5fsetframerate_4934',['CAMU_SetFrameRate',['../cam_8h.html#a6337271d6b3abb3d778a09ae28b33e17',1,'cam.h']]], + ['camu_5fsetimagequalitycalibrationdata_4935',['CAMU_SetImageQualityCalibrationData',['../cam_8h.html#ad0115c426fb94e0c609d2f54a06ee1a8',1,'cam.h']]], + ['camu_5fsetlenscorrection_4936',['CAMU_SetLensCorrection',['../cam_8h.html#aece2e92d43f046253b3d3070f9636c26',1,'cam.h']]], + ['camu_5fsetnoisefilter_4937',['CAMU_SetNoiseFilter',['../cam_8h.html#a0dad6fe5ae97a214d7d2e8be0bb39762',1,'cam.h']]], + ['camu_5fsetoutputformat_4938',['CAMU_SetOutputFormat',['../cam_8h.html#aec8bbd9f72a6a623d9f45d54ee20b5cd',1,'cam.h']]], + ['camu_5fsetpackageparameterwithcontext_4939',['CAMU_SetPackageParameterWithContext',['../cam_8h.html#abab4edd0a746bfe2f6745e8b7bb3e69e',1,'cam.h']]], + ['camu_5fsetpackageparameterwithcontextdetail_4940',['CAMU_SetPackageParameterWithContextDetail',['../cam_8h.html#af779c156d8eb61b5c64c00c50b25b468',1,'cam.h']]], + ['camu_5fsetpackageparameterwithoutcontext_4941',['CAMU_SetPackageParameterWithoutContext',['../cam_8h.html#adcc53af931d29ce02570e9614bae5cc5',1,'cam.h']]], + ['camu_5fsetphotomode_4942',['CAMU_SetPhotoMode',['../cam_8h.html#aa4084852c97dc7088c81e586d8c923e5',1,'cam.h']]], + ['camu_5fsetreceiving_4943',['CAMU_SetReceiving',['../cam_8h.html#a051348b051d6491a6e19b2a3245730b9',1,'cam.h']]], + ['camu_5fsetsharpness_4944',['CAMU_SetSharpness',['../cam_8h.html#ab572756c8ed614fa3854f1a3b2834e6c',1,'cam.h']]], + ['camu_5fsetsize_4945',['CAMU_SetSize',['../cam_8h.html#aa771b12ec44b48b19e2621a12cd67072',1,'cam.h']]], + ['camu_5fsetsleepcamera_4946',['CAMU_SetSleepCamera',['../cam_8h.html#a70d6d1dc077efa90a26fd45f075c3bc1',1,'cam.h']]], + ['camu_5fsetstereocameracalibrationdata_4947',['CAMU_SetStereoCameraCalibrationData',['../cam_8h.html#a9fa2c1c5dd577e606e1a2e83ca3ae5c6',1,'cam.h']]], + ['camu_5fsettransferbytes_4948',['CAMU_SetTransferBytes',['../cam_8h.html#a1f8d58a8ab60d5bbea24236c5005ea9b',1,'cam.h']]], + ['camu_5fsettransferlines_4949',['CAMU_SetTransferLines',['../cam_8h.html#a255807ab6e4e619050f15fc7ae55f3c7',1,'cam.h']]], + ['camu_5fsettrimming_4950',['CAMU_SetTrimming',['../cam_8h.html#acc3f9baecae7a05ad56b3cfca23131b5',1,'cam.h']]], + ['camu_5fsettrimmingparams_4951',['CAMU_SetTrimmingParams',['../cam_8h.html#a69996f29258f46a99cc722fbc2c59f04',1,'cam.h']]], + ['camu_5fsettrimmingparamscenter_4952',['CAMU_SetTrimmingParamsCenter',['../cam_8h.html#ab198c1ead95d5fd416b76a6d16667b34',1,'cam.h']]], + ['camu_5fsetwhitebalance_4953',['CAMU_SetWhiteBalance',['../cam_8h.html#a18dd79571b0661625a8806978e9999fc',1,'cam.h']]], + ['camu_5fsetwhitebalancewithoutbaseup_4954',['CAMU_SetWhiteBalanceWithoutBaseUp',['../cam_8h.html#ab4ddac714ce66c771c095ecf4084d4b3',1,'cam.h']]], + ['camu_5fstartcapture_4955',['CAMU_StartCapture',['../cam_8h.html#a321b6139a95d71a26633179c5c526cba',1,'cam.h']]], + ['camu_5fstopcapture_4956',['CAMU_StopCapture',['../cam_8h.html#a853e49e43d5ea322e6629909538a3d37',1,'cam.h']]], + ['camu_5fswitchcontext_4957',['CAMU_SwitchContext',['../cam_8h.html#a06e914db8c09e2496a45ac4e675f4b2e',1,'cam.h']]], + ['camu_5fsynchronizevsynctiming_4958',['CAMU_SynchronizeVsyncTiming',['../cam_8h.html#a03f597eddc0ed77c9902d61d6ed4895a',1,'cam.h']]], + ['camu_5fwritemcuvariablei2c_4959',['CAMU_WriteMcuVariableI2c',['../cam_8h.html#adaf2155f1562b33534828cef011c6c85',1,'cam.h']]], + ['camu_5fwriteregisteri2c_4960',['CAMU_WriteRegisterI2c',['../cam_8h.html#a35964c742eb0e11aa63f06183a189da5',1,'cam.h']]], + ['cdcchk_5freadntrpmicregister_4961',['CDCCHK_ReadNtrPmicRegister',['../cdcchk_8h.html#a0ea5caf2e9ba580a564671ed3f6557eb',1,'cdcchk.h']]], + ['cdcchk_5freadregisters1_4962',['CDCCHK_ReadRegisters1',['../cdcchk_8h.html#a1e04dbe2cf79b0ac6ad2e00281a608d7',1,'cdcchk.h']]], + ['cdcchk_5freadregisters2_4963',['CDCCHK_ReadRegisters2',['../cdcchk_8h.html#a5934d670177ced7a380e67c62a32b61b',1,'cdcchk.h']]], + ['cdcchk_5fseti2svolume_4964',['CDCCHK_SetI2sVolume',['../cdcchk_8h.html#ab1f33e7a81087dbee78f3b6c57c7e5f0',1,'cdcchk.h']]], + ['cdcchk_5fwritentrpmicregister_4965',['CDCCHK_WriteNtrPmicRegister',['../cdcchk_8h.html#acaf9f8e94e7fbd7b8b44d0fe9294c76b',1,'cdcchk.h']]], + ['cdcchk_5fwriteregisters1_4966',['CDCCHK_WriteRegisters1',['../cdcchk_8h.html#a85ddccc39dc14ae4a20947d9c2a75e4b',1,'cdcchk.h']]], + ['cdcchk_5fwriteregisters2_4967',['CDCCHK_WriteRegisters2',['../cdcchk_8h.html#aac9e498793e633cd2a1c31b3326777cc',1,'cdcchk.h']]], + ['cdcchkexit_4968',['cdcChkExit',['../cdcchk_8h.html#a55064d552946ecb5d1593f01727bc9d6',1,'cdcchk.h']]], + ['cdcchkgetsessionhandle_4969',['cdcChkGetSessionHandle',['../cdcchk_8h.html#a9fbc25fe9e01b0a2ebd5d9ff8f7f6289',1,'cdcchk.h']]], + ['cdcchkinit_4970',['cdcChkInit',['../cdcchk_8h.html#ab95dd206ed31a899edfa0e86a0491e01',1,'cdcchk.h']]], + ['cfg_5fgetconfiginfoblk4_4971',['CFG_GetConfigInfoBlk4',['../cfgu_8h.html#affad83e7881cb5101103e5d89afc4fd0',1,'cfgu.h']]], + ['cfg_5fgetconfiginfoblk8_4972',['CFG_GetConfigInfoBlk8',['../cfgu_8h.html#a912dee7894a3783d020739a0e9d651fe',1,'cfgu.h']]], + ['cfg_5fsetconfiginfoblk4_4973',['CFG_SetConfigInfoBlk4',['../cfgu_8h.html#aee926c517cce8c2696710a50ac3611c6',1,'cfgu.h']]], + ['cfg_5fsetconfiginfoblk8_4974',['CFG_SetConfigInfoBlk8',['../cfgu_8h.html#a75196c194185851fcedcc36c6c2805bf',1,'cfgu.h']]], + ['cfg_5fupdateconfigsavegame_4975',['CFG_UpdateConfigSavegame',['../cfgu_8h.html#a9fa25a5aa5cca53f1f558476ca104940',1,'cfgu.h']]], + ['cfgi_5fclearparentalcontrols_4976',['CFGI_ClearParentalControls',['../cfgu_8h.html#ad2a9d50a77d583fa8e2ff829d2f8c40e',1,'cfgu.h']]], + ['cfgi_5fdeleteconfigsavefile_4977',['CFGI_DeleteConfigSavefile',['../cfgu_8h.html#a61cac588b1bab1d395369e3d16e76f63',1,'cfgu.h']]], + ['cfgi_5fformatconfig_4978',['CFGI_FormatConfig',['../cfgu_8h.html#a4b0b51f274f99b8716212a6c18f39b20',1,'cfgu.h']]], + ['cfgi_5fgetlocalfriendcodeseed_4979',['CFGI_GetLocalFriendCodeSeed',['../cfgu_8h.html#abc8d6ee5431680ec9fa300a3544633ab',1,'cfgu.h']]], + ['cfgi_5fgetlocalfriendcodeseeddata_4980',['CFGI_GetLocalFriendCodeSeedData',['../cfgu_8h.html#ac1a6188b463d6475983c969176e73648',1,'cfgu.h']]], + ['cfgi_5fgetsecureinfodata_4981',['CFGI_GetSecureInfoData',['../cfgu_8h.html#a70e902088483c9c758c04d6b53d736a3',1,'cfgu.h']]], + ['cfgi_5fgetsecureinfosignature_4982',['CFGI_GetSecureInfoSignature',['../cfgu_8h.html#af3826b022eb3da9f8a5f665840949d32',1,'cfgu.h']]], + ['cfgi_5frestorelocalfriendcodeseed_4983',['CFGI_RestoreLocalFriendCodeSeed',['../cfgu_8h.html#ab71967b4add996c3500fbb0d27846831',1,'cfgu.h']]], + ['cfgi_5frestoresecureinfo_4984',['CFGI_RestoreSecureInfo',['../cfgu_8h.html#af2b7aebb0cf8ae7f55c174ce1fe04728',1,'cfgu.h']]], + ['cfgi_5fsecureinfogetserialnumber_4985',['CFGI_SecureInfoGetSerialNumber',['../cfgu_8h.html#a86e2c6be3c251d8a33438b67b5db4d6d',1,'cfgu.h']]], + ['cfgi_5fverifysiglocalfriendcodeseed_4986',['CFGI_VerifySigLocalFriendCodeSeed',['../cfgu_8h.html#a44b83f8258a5dfa349649cc715dbb6b6',1,'cfgu.h']]], + ['cfgi_5fverifysigsecureinfo_4987',['CFGI_VerifySigSecureInfo',['../cfgu_8h.html#a29b68c4114c72f418b2096209a4821d2',1,'cfgu.h']]], + ['cfgnor_5finitialize_4988',['CFGNOR_Initialize',['../cfgnor_8h.html#afe5e3cb23c2e604192fb5accbb2d8574',1,'cfgnor.h']]], + ['cfgnor_5freaddata_4989',['CFGNOR_ReadData',['../cfgnor_8h.html#abbe38a4ffcc42bb0089239c10b147399',1,'cfgnor.h']]], + ['cfgnor_5fshutdown_4990',['CFGNOR_Shutdown',['../cfgnor_8h.html#a7cf5f43f09426a0c7a35ec0a753eeb8b',1,'cfgnor.h']]], + ['cfgnor_5fwritedata_4991',['CFGNOR_WriteData',['../cfgnor_8h.html#ab81da0b552ab30b4a3e50881e9917a16',1,'cfgnor.h']]], + ['cfgnordumpflash_4992',['cfgnorDumpFlash',['../cfgnor_8h.html#a676ea33bb8e4d4cd4c548991057e2448',1,'cfgnor.h']]], + ['cfgnorexit_4993',['cfgnorExit',['../cfgnor_8h.html#a6af5a1ec948c981dfbf61b786bb8ae64',1,'cfgnor.h']]], + ['cfgnorinit_4994',['cfgnorInit',['../cfgnor_8h.html#a7a45bb4d5a1c4698b8a81a78b3ecfb37',1,'cfgnor.h']]], + ['cfgnorwriteflash_4995',['cfgnorWriteFlash',['../cfgnor_8h.html#a935562a582305bc87d35278850002995',1,'cfgnor.h']]], + ['cfgu_5fgenhashconsoleunique_4996',['CFGU_GenHashConsoleUnique',['../cfgu_8h.html#a832582b7bf27790a6908d423000d3f14',1,'cfgu.h']]], + ['cfgu_5fgetconfiginfoblk2_4997',['CFGU_GetConfigInfoBlk2',['../cfgu_8h.html#a8c767f9fc8a4762cae3f7c318385ae2b',1,'cfgu.h']]], + ['cfgu_5fgetcountrycodeid_4998',['CFGU_GetCountryCodeID',['../cfgu_8h.html#a7e2375d74d475c2afda3b52ad701f877',1,'cfgu.h']]], + ['cfgu_5fgetcountrycodestring_4999',['CFGU_GetCountryCodeString',['../cfgu_8h.html#a5f8761b984e2592b6e17c3729d241a5a',1,'cfgu.h']]], + ['cfgu_5fgetmodelnintendo2ds_5000',['CFGU_GetModelNintendo2DS',['../cfgu_8h.html#a76088b5269fe79694de33942f1b49217',1,'cfgu.h']]], + ['cfgu_5fgetregioncanadausa_5001',['CFGU_GetRegionCanadaUSA',['../cfgu_8h.html#abb8303fdddb130ee8399d5646341ffae',1,'cfgu.h']]], + ['cfgu_5fgetsystemlanguage_5002',['CFGU_GetSystemLanguage',['../cfgu_8h.html#a3afae16aba90e9c1cbc94c8dd086f23c',1,'cfgu.h']]], + ['cfgu_5fgetsystemmodel_5003',['CFGU_GetSystemModel',['../cfgu_8h.html#a94a37733df037c60ce881014dcc788fc',1,'cfgu.h']]], + ['cfgu_5fisnfcsupported_5004',['CFGU_IsNFCSupported',['../cfgu_8h.html#ab2c040449ea8a78462800e4e5312f151',1,'cfgu.h']]], + ['cfgu_5fsecureinfogetregion_5005',['CFGU_SecureInfoGetRegion',['../cfgu_8h.html#ae6e237e3516f509b9280629afcd58fa8',1,'cfgu.h']]], + ['cfguexit_5006',['cfguExit',['../cfgu_8h.html#afea559fe1cf1b3361d3625a156c80ef7',1,'cfgu.h']]], + ['cfguinit_5007',['cfguInit',['../cfgu_8h.html#abee19f03a32e6edd0fa4b43e5fd1158e',1,'cfgu.h']]], + ['condvar_5fbroadcast_5008',['CondVar_Broadcast',['../synchronization_8h.html#ac7ba47b2c6fee27ddfe7cdda4d9baa91',1,'synchronization.h']]], + ['condvar_5finit_5009',['CondVar_Init',['../synchronization_8h.html#ab8afa06278ad323a3c80210adef7310b',1,'synchronization.h']]], + ['condvar_5fsignal_5010',['CondVar_Signal',['../synchronization_8h.html#a3e098ef4bf7e1fe17f2a3929cd38d20d',1,'synchronization.h']]], + ['condvar_5fwait_5011',['CondVar_Wait',['../synchronization_8h.html#a9d0a741fa7f5c6be9dc98e296817b293',1,'synchronization.h']]], + ['condvar_5fwaittimeout_5012',['CondVar_WaitTimeout',['../synchronization_8h.html#aa7aabd77eba2813fb5508e726335b211',1,'synchronization.h']]], + ['condvar_5fwakeup_5013',['CondVar_WakeUp',['../synchronization_8h.html#a42f864222898c73a1add9d38dc549879',1,'synchronization.h']]], + ['consoleclear_5014',['consoleClear',['../console_8h.html#ac62c34a3fa2a6403c690dd80022b3e34',1,'console.h']]], + ['consoledebuginit_5015',['consoleDebugInit',['../console_8h.html#ac4fe073b8a8251a5216b66eef8788da2',1,'console.h']]], + ['consolegetdefault_5016',['consoleGetDefault',['../console_8h.html#a42372b48c57aeb95774e13254104def8',1,'console.h']]], + ['consoleinit_5017',['consoleInit',['../console_8h.html#a8e014e84f81ff901ca62d7669a8c8de8',1,'console.h']]], + ['consoleselect_5018',['consoleSelect',['../console_8h.html#ac2f9e3b09fe2b65e02598ed556d9e10f',1,'console.h']]], + ['consolesetfont_5019',['consoleSetFont',['../console_8h.html#a4e271d69c07c67efe877502fe17c44e5',1,'console.h']]], + ['consolesetwindow_5020',['consoleSetWindow',['../console_8h.html#a4a65cfe4467b2059c6b70e15d861b563',1,'console.h']]], + ['csnd_5facquirecapunit_5021',['CSND_AcquireCapUnit',['../csnd_8h.html#ae34211f9ba68d11c408632674e6ac54e',1,'csnd.h']]], + ['csnd_5fcapenable_5022',['CSND_CapEnable',['../csnd_8h.html#a6735845e13c4f9f28d3e8013405a46ec',1,'csnd.h']]], + ['csnd_5fcapsetbit2_5023',['CSND_CapSetBit2',['../csnd_8h.html#a738ce21437dc98ad19febc7d5d3e8d2b',1,'csnd.h']]], + ['csnd_5fcapsetbuffer_5024',['CSND_CapSetBuffer',['../csnd_8h.html#aa6b1af15f8b4f87987bd75cf25fee0f6',1,'csnd.h']]], + ['csnd_5fcapsetformat_5025',['CSND_CapSetFormat',['../csnd_8h.html#ada8adbfb68b1aa8027f40ddea892c945',1,'csnd.h']]], + ['csnd_5fcapsetrepeat_5026',['CSND_CapSetRepeat',['../csnd_8h.html#a8ead0f91e8b7f66b6f7757d17e3d1df0',1,'csnd.h']]], + ['csnd_5fcapsettimer_5027',['CSND_CapSetTimer',['../csnd_8h.html#ad45946bf9bf1759de6ab426b511398ae',1,'csnd.h']]], + ['csnd_5fflushdatacache_5028',['CSND_FlushDataCache',['../csnd_8h.html#a1e3d2d4db110d709bb6e754d498553d9',1,'csnd.h']]], + ['csnd_5finvalidatedatacache_5029',['CSND_InvalidateDataCache',['../csnd_8h.html#a05f05f1cf3b14150a3bdf4d805026358',1,'csnd.h']]], + ['csnd_5freleasecapunit_5030',['CSND_ReleaseCapUnit',['../csnd_8h.html#ac34f7e075b624ba859fa6741a9bf61c9',1,'csnd.h']]], + ['csnd_5freset_5031',['CSND_Reset',['../csnd_8h.html#a5ca4e333f55de7841adac50bfaf7c162',1,'csnd.h']]], + ['csnd_5fsetadpcmreload_5032',['CSND_SetAdpcmReload',['../csnd_8h.html#a84085ed1e217fea0267e75efb032c7f7',1,'csnd.h']]], + ['csnd_5fsetadpcmstate_5033',['CSND_SetAdpcmState',['../csnd_8h.html#a771f547c0f472c239d6719ffe4c602b7',1,'csnd.h']]], + ['csnd_5fsetbit7_5034',['CSND_SetBit7',['../csnd_8h.html#aa337e80dc25824388653f4b722a573e1',1,'csnd.h']]], + ['csnd_5fsetblock_5035',['CSND_SetBlock',['../csnd_8h.html#aeb08b5dcd08b832b7c4f0d2a06c7bd43',1,'csnd.h']]], + ['csnd_5fsetcapregs_5036',['CSND_SetCapRegs',['../csnd_8h.html#aa3a006676d1eec026aebc6e358614989',1,'csnd.h']]], + ['csnd_5fsetchnregs_5037',['CSND_SetChnRegs',['../csnd_8h.html#a56384577108981178557a1186b5360b3',1,'csnd.h']]], + ['csnd_5fsetchnregsnoise_5038',['CSND_SetChnRegsNoise',['../csnd_8h.html#a8431e62ee5bff8a4c0352b04a6634d8f',1,'csnd.h']]], + ['csnd_5fsetchnregspsg_5039',['CSND_SetChnRegsPSG',['../csnd_8h.html#a6b9c80ddeed0c9ae64f616ec30b2925b',1,'csnd.h']]], + ['csnd_5fsetdspflags_5040',['CSND_SetDspFlags',['../csnd_8h.html#a9326d0d588ce16217f82c8f0ff1614c4',1,'csnd.h']]], + ['csnd_5fsetduty_5041',['CSND_SetDuty',['../csnd_8h.html#aa7f0ff03303b41b806917f5a50024dae',1,'csnd.h']]], + ['csnd_5fsetencoding_5042',['CSND_SetEncoding',['../csnd_8h.html#a507610dcbc0bc0dc052ebcbc206a3680',1,'csnd.h']]], + ['csnd_5fsetinterp_5043',['CSND_SetInterp',['../csnd_8h.html#abe4af849d05cbf051cad0eb47ac14757',1,'csnd.h']]], + ['csnd_5fsetlooping_5044',['CSND_SetLooping',['../csnd_8h.html#a10c9486012d60318173b57755e134cba',1,'csnd.h']]], + ['csnd_5fsetplaystate_5045',['CSND_SetPlayState',['../csnd_8h.html#a5dbd86f6c7687b9a6f622b35cd02a798',1,'csnd.h']]], + ['csnd_5fsetplaystater_5046',['CSND_SetPlayStateR',['../csnd_8h.html#ac0db65656f0c0e6ab4ad8d0f00ee8e38',1,'csnd.h']]], + ['csnd_5fsettimer_5047',['CSND_SetTimer',['../csnd_8h.html#a29bb5b89ed12e4d6d435ab106f4c5b83',1,'csnd.h']]], + ['csnd_5fsetvol_5048',['CSND_SetVol',['../csnd_8h.html#ad5698e30728ae6dd483dc1de5f8901c4',1,'csnd.h']]], + ['csnd_5fstoredatacache_5049',['CSND_StoreDataCache',['../csnd_8h.html#ae086d894961ec01f867153cb142d846f',1,'csnd.h']]], + ['csnd_5fupdateinfo_5050',['CSND_UpdateInfo',['../csnd_8h.html#a29f403e7faa5c335375e938dd0a242ad',1,'csnd.h']]], + ['csnd_5fvol_5051',['CSND_VOL',['../csnd_8h.html#a0b1d4f240b7281a3bede8fbe5061d36f',1,'csnd.h']]], + ['csndaddcmd_5052',['csndAddCmd',['../csnd_8h.html#ab73d703c1057b2a68772b627d824415e',1,'csnd.h']]], + ['csndexeccmds_5053',['csndExecCmds',['../csnd_8h.html#ab54a2f4e87b172ffcd3a3099651666f6',1,'csnd.h']]], + ['csndexit_5054',['csndExit',['../csnd_8h.html#af5dc91e98b2182aa71f45dca52e42ad3',1,'csnd.h']]], + ['csndgetcapinfo_5055',['csndGetCapInfo',['../csnd_8h.html#a1cac1cc8e1a0e994832e653c55ce6380',1,'csnd.h']]], + ['csndgetchninfo_5056',['csndGetChnInfo',['../csnd_8h.html#a671d2fc550793382612c79301ed31af2',1,'csnd.h']]], + ['csndgetdspflags_5057',['csndGetDspFlags',['../csnd_8h.html#abaa253c6b0eb61e1d212fb06d2e7ddaf',1,'csnd.h']]], + ['csndgetstate_5058',['csndGetState',['../csnd_8h.html#a4f0b8357d5629ea8df4a8e9cb5f975cd',1,'csnd.h']]], + ['csndinit_5059',['csndInit',['../csnd_8h.html#a3155c2b9f14c465baabd9fa92913347e',1,'csnd.h']]], + ['csndisplaying_5060',['csndIsPlaying',['../csnd_8h.html#ad11c3246b1f30c98297f29046f2e2357',1,'csnd.h']]], + ['csndplaysound_5061',['csndPlaySound',['../csnd_8h.html#a3752f884792b439bcec34837b374a46d',1,'csnd.h']]], + ['csndwritecmd_5062',['csndWriteCmd',['../csnd_8h.html#afd1b740f8d28ea64f9d05e9a3a9d758d',1,'csnd.h']]] +]; diff --git a/search/functions_4.html b/search/functions_4.html new file mode 100644 index 000000000..1657cad0d --- /dev/null +++ b/search/functions_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_4.js b/search/functions_4.js new file mode 100644 index 000000000..2348c7425 --- /dev/null +++ b/search/functions_4.js @@ -0,0 +1,45 @@ +var searchData= +[ + ['decode_5futf16_5063',['decode_utf16',['../utf_8h.html#aab93c2be8e27403ee787ec299bf2bb0d',1,'utf.h']]], + ['decode_5futf8_5064',['decode_utf8',['../utf_8h.html#aace78933e35ab187df3ad6bd5a2a6383',1,'utf.h']]], + ['decompress_5065',['decompress',['../decompress_8h.html#aceec72c729cdefbc0102e0e406b945e2',1,'decompress.h']]], + ['decompress_5fhuff_5066',['decompress_Huff',['../decompress_8h.html#a8d57a5f7c27992e96210d1316a043b94',1,'decompress.h']]], + ['decompress_5flz11_5067',['decompress_LZ11',['../decompress_8h.html#ab5893c39e2c01602c7b6cd2a928df7b4',1,'decompress.h']]], + ['decompress_5flzss_5068',['decompress_LZSS',['../decompress_8h.html#a4925d56b946f8ccdcf5ab528cdccd0c6',1,'decompress.h']]], + ['decompress_5frle_5069',['decompress_RLE',['../decompress_8h.html#a2a2babed787a73655b49e1b29a456aad',1,'decompress.h']]], + ['decompresscallback_5ffd_5070',['decompressCallback_FD',['../decompress_8h.html#a55dc28982013508464dc397168ca5f19',1,'decompress.h']]], + ['decompresscallback_5fstdio_5071',['decompressCallback_Stdio',['../decompress_8h.html#a6453066b1202aab9df9805f9bda717c3',1,'decompress.h']]], + ['decompressheader_5072',['decompressHeader',['../decompress_8h.html#a5de8b5325fcfa3ccf069ced93bb2615f',1,'decompress.h']]], + ['decompressv_5073',['decompressV',['../decompress_8h.html#aa7547936f0d622823db1b9ee8ac53547',1,'decompress.h']]], + ['decompressv_5fhuff_5074',['decompressV_Huff',['../decompress_8h.html#a94caad1153dcc297b400858c37aac3c3',1,'decompress.h']]], + ['decompressv_5flz11_5075',['decompressV_LZ11',['../decompress_8h.html#a7dbb269c5aa8759ea5eebfbf8ecf5a68',1,'decompress.h']]], + ['decompressv_5flzss_5076',['decompressV_LZSS',['../decompress_8h.html#aa9fcd89e5e81327e098e0ba638b2d040',1,'decompress.h']]], + ['decompressv_5frle_5077',['decompressV_RLE',['../decompress_8h.html#a109b071a95bce3a2e4ea19b94c5d1b5f',1,'decompress.h']]], + ['dmaconfiginitdefault_5078',['dmaConfigInitDefault',['../svc_8h.html#acc49794f897fc07eaa97641b725f82a3',1,'svc.h']]], + ['dmadeviceconfiginitdefault_5079',['dmaDeviceConfigInitDefault',['../svc_8h.html#af845bb532f3d83b20b5029bd4d913801',1,'svc.h']]], + ['dsp_5fconvertprocessaddressfromdspdram_5080',['DSP_ConvertProcessAddressFromDspDram',['../dsp_8h.html#a6fdd9cc055ccd78a709e725d9c4eda59',1,'dsp.h']]], + ['dsp_5fflushdatacache_5081',['DSP_FlushDataCache',['../dsp_8h.html#a0668b4d621800adab729d50a616e09d1',1,'dsp.h']]], + ['dsp_5fgetheadphonestatus_5082',['DSP_GetHeadphoneStatus',['../dsp_8h.html#acd1bc0605288e307586d0e9535e3c8e4',1,'dsp.h']]], + ['dsp_5fgetsemaphorehandle_5083',['DSP_GetSemaphoreHandle',['../dsp_8h.html#ad02522bc41ec6161a24b6aee6fd30b17',1,'dsp.h']]], + ['dsp_5finvalidatedatacache_5084',['DSP_InvalidateDataCache',['../dsp_8h.html#ab964b185704e2e92200d69e9cec9efeb',1,'dsp.h']]], + ['dsp_5floadcomponent_5085',['DSP_LoadComponent',['../dsp_8h.html#a5a7a4f0bf256694245ce0c4bb58194b9',1,'dsp.h']]], + ['dsp_5freadpipeifpossible_5086',['DSP_ReadPipeIfPossible',['../dsp_8h.html#a86dec214011d3a9d11c7b25a68ca787d',1,'dsp.h']]], + ['dsp_5frecvdata_5087',['DSP_RecvData',['../dsp_8h.html#aad15502e5eab6c13e41e84a64650a205',1,'dsp.h']]], + ['dsp_5frecvdataisready_5088',['DSP_RecvDataIsReady',['../dsp_8h.html#a5c5cfac7298789b5c2153a55a5f72609',1,'dsp.h']]], + ['dsp_5fregisterinterruptevents_5089',['DSP_RegisterInterruptEvents',['../dsp_8h.html#a1c88b0c126dd6839f24d2ea05d2b174f',1,'dsp.h']]], + ['dsp_5fsenddata_5090',['DSP_SendData',['../dsp_8h.html#a3212e65ccea959f36726ffbdc632e536',1,'dsp.h']]], + ['dsp_5fsenddataisempty_5091',['DSP_SendDataIsEmpty',['../dsp_8h.html#ab21632f764ffae7fb282325ee4f95d50',1,'dsp.h']]], + ['dsp_5fsetsemaphore_5092',['DSP_SetSemaphore',['../dsp_8h.html#a9dffd384a71ffa4a3b4c85fddb0392e6',1,'dsp.h']]], + ['dsp_5fsetsemaphoremask_5093',['DSP_SetSemaphoreMask',['../dsp_8h.html#a376cfd4e6487ef063bf2b73e1c028188',1,'dsp.h']]], + ['dsp_5funloadcomponent_5094',['DSP_UnloadComponent',['../dsp_8h.html#abbe3be0f80719eee26aa3e894fd7496f',1,'dsp.h']]], + ['dsp_5fwriteprocesspipe_5095',['DSP_WriteProcessPipe',['../dsp_8h.html#a1eab85acd5e8b238695723405517e5a1',1,'dsp.h']]], + ['dspexit_5096',['dspExit',['../dsp_8h.html#a59e493df3a168b5724bff5e88f03250b',1,'dsp.h']]], + ['dsphook_5097',['dspHook',['../dsp_8h.html#a8fa3c1e0eee06626b86e53c0953165ba',1,'dsp.h']]], + ['dspinit_5098',['dspInit',['../dsp_8h.html#a2722008d6a077f5d444acf4b74a16ba4',1,'dsp.h']]], + ['dspiscomponentloaded_5099',['dspIsComponentLoaded',['../dsp_8h.html#af041b7eff2bc87f266687b5879fb36a3',1,'dsp.h']]], + ['dspunhook_5100',['dspUnhook',['../dsp_8h.html#a867964a36a9985dee363cbf31be9621c',1,'dsp.h']]], + ['dvlb_5ffree_5101',['DVLB_Free',['../shbin_8h.html#a60c02d561312081aefb2096f2b005643',1,'shbin.h']]], + ['dvlb_5fparsefile_5102',['DVLB_ParseFile',['../shbin_8h.html#afd50bf30516e9e3acffd3b62cd061cb0',1,'shbin.h']]], + ['dvle_5fgenerateoutmap_5103',['DVLE_GenerateOutmap',['../shbin_8h.html#a2cb74fe229e8048536ce6d8db9ed1706',1,'shbin.h']]], + ['dvle_5fgetuniformregister_5104',['DVLE_GetUniformRegister',['../shbin_8h.html#a6f812da3f07c86094d9033ad48b3553d',1,'shbin.h']]] +]; diff --git a/search/functions_5.html b/search/functions_5.html new file mode 100644 index 000000000..9301d6b9c --- /dev/null +++ b/search/functions_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_5.js b/search/functions_5.js new file mode 100644 index 000000000..32e5ab515 --- /dev/null +++ b/search/functions_5.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['encode_5futf16_5105',['encode_utf16',['../utf_8h.html#a39a8de618e547cfb59367bc254a7a4d8',1,'utf.h']]], + ['encode_5futf8_5106',['encode_utf8',['../utf_8h.html#af8127b9052fc5671da5589a486bd90c7',1,'utf.h']]], + ['envgetaptappid_5107',['envGetAptAppId',['../env_8h.html#a4d416f27dd79249cede1c7339fe08780',1,'env.h']]], + ['envgethandle_5108',['envGetHandle',['../env_8h.html#ae1721df1d000407fa538b00259de262e',1,'env.h']]], + ['envgetheapsize_5109',['envGetHeapSize',['../env_8h.html#aa3efa8e6fd2e8d84001d2ed335253be4',1,'env.h']]], + ['envgetlinearheapsize_5110',['envGetLinearHeapSize',['../env_8h.html#ae6dc788bb31f582a9695659dde4373ac',1,'env.h']]], + ['envgetsystemarglist_5111',['envGetSystemArgList',['../env_8h.html#a47b91cce1bdd6c5667f674d5db3357dd',1,'env.h']]], + ['envgetsystemrunflags_5112',['envGetSystemRunFlags',['../env_8h.html#aae27f53918b47d82bb59cc814a25fc15',1,'env.h']]], + ['envishomebrew_5113',['envIsHomebrew',['../env_8h.html#a50c57dd1aacb61a98605a295d3789f11',1,'env.h']]], + ['errf_5fexceptionhandler_5114',['ERRF_ExceptionHandler',['../errf_8h.html#a4265599a9b0dcfb716879ae9bd2a0923',1,'errf.h']]], + ['errf_5flogresult_5115',['ERRF_LogResult',['../errf_8h.html#a83184c59d3020fc20e9e6a87706396c3',1,'errf.h']]], + ['errf_5fsetuserstring_5116',['ERRF_SetUserString',['../errf_8h.html#a329c838447123a5ecbfdabbd5c13f1f7',1,'errf.h']]], + ['errf_5fthrow_5117',['ERRF_Throw',['../errf_8h.html#a99561fca39e236490227ea10586d5600',1,'errf.h']]], + ['errf_5fthrowresult_5118',['ERRF_ThrowResult',['../errf_8h.html#a0320c231112031c907d55d41a646b35b',1,'errf.h']]], + ['errf_5fthrowresultwithmessage_5119',['ERRF_ThrowResultWithMessage',['../errf_8h.html#a7b8dd75d6d8caca5ca1ed957455b47c3',1,'errf.h']]], + ['errfexit_5120',['errfExit',['../errf_8h.html#a629fbb8eb87ccd50fe8bc19b41efc754',1,'errf.h']]], + ['errfgetsessionhandle_5121',['errfGetSessionHandle',['../errf_8h.html#a8ae083ea6b3ce9070c6a3bde3b38d372',1,'errf.h']]], + ['errfinit_5122',['errfInit',['../errf_8h.html#ac01f0bf7d1f4b093304d02b07ce041b7',1,'errf.h']]], + ['errorcode_5123',['errorCode',['../error_8h.html#a6b764f8c4030681ef11c995f2d97adc3',1,'error.h']]], + ['errordisp_5124',['errorDisp',['../error_8h.html#a24660ba95ca3de3aaf9e505bd0f3491b',1,'error.h']]], + ['errorinit_5125',['errorInit',['../error_8h.html#a1da3d9fb9929410c09ae3c250c804afb',1,'error.h']]], + ['errortext_5126',['errorText',['../error_8h.html#a30a8a7222331915c0a10901fe8b74f0e',1,'error.h']]] +]; diff --git a/search/functions_6.html b/search/functions_6.html new file mode 100644 index 000000000..9c4f5fc65 --- /dev/null +++ b/search/functions_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_6.js b/search/functions_6.js new file mode 100644 index 000000000..e56e21037 --- /dev/null +++ b/search/functions_6.js @@ -0,0 +1,246 @@ +var searchData= +[ + ['f32tof16_5127',['f32tof16',['../gpu_8h.html#a5111de2ce07fc3fedfad8e95f064354f',1,'gpu.h']]], + ['f32tof20_5128',['f32tof20',['../gpu_8h.html#acc595cca08521b3449de0073a35df1d8',1,'gpu.h']]], + ['f32tof24_5129',['f32tof24',['../gpu_8h.html#a6c697bf62801f9c18d7159d1fae7f7ee',1,'gpu.h']]], + ['f32tof31_5130',['f32tof31',['../gpu_8h.html#a502feeb574d6c311063cb5711946c28f',1,'gpu.h']]], + ['fontcalcglyphpos_5131',['fontCalcGlyphPos',['../font_8h.html#ad4e1d654b8a5cd9ad4f091bc149971de',1,'font.h']]], + ['fontensuremapped_5132',['fontEnsureMapped',['../font_8h.html#acd3a6ca0c2bb0f4e9617c9758980edc4',1,'font.h']]], + ['fontfixpointers_5133',['fontFixPointers',['../font_8h.html#a66c6ca3e191a24a79fef367b1de98314',1,'font.h']]], + ['fontgetcharwidthinfo_5134',['fontGetCharWidthInfo',['../font_8h.html#a682b11e68a882633cf8defa022e2adc5',1,'font.h']]], + ['fontgetglyphinfo_5135',['fontGetGlyphInfo',['../font_8h.html#af624f3cf4d09dcbc6b9b6c332f1e71d1',1,'font.h']]], + ['fontgetglyphsheettex_5136',['fontGetGlyphSheetTex',['../font_8h.html#ada7280b8671f745e27ad44dc93057d72',1,'font.h']]], + ['fontgetinfo_5137',['fontGetInfo',['../font_8h.html#ac8237cda01272f94f1d5d3d4beea7a9d',1,'font.h']]], + ['fontgetsystemfont_5138',['fontGetSystemFont',['../font_8h.html#aa461cfa4f023aa5c0828b5d0291f6c1d',1,'font.h']]], + ['fontglyphindexfromcodepoint_5139',['fontGlyphIndexFromCodePoint',['../font_8h.html#a943b050e49481a625aba3029df7ad1fe',1,'font.h']]], + ['frd_5faddfriendonline_5140',['FRD_AddFriendOnline',['../frd_8h.html#a477f39a31ad43c2bc151e09ee1aa4ade',1,'frd.h']]], + ['frd_5fattachtoeventnotification_5141',['FRD_AttachToEventNotification',['../frd_8h.html#a6107bf9a0c2072b25fd4788ddbfeb8d6',1,'frd.h']]], + ['frd_5ffriendcodetoprincipalid_5142',['FRD_FriendCodeToPrincipalId',['../frd_8h.html#aef38bc9bd2352ef69c11a1b74092487c',1,'frd.h']]], + ['frd_5fgeteventnotification_5143',['FRD_GetEventNotification',['../frd_8h.html#aadba819c10030b47f82ad4d6bcdece07',1,'frd.h']]], + ['frd_5fgetfriendfavouritegame_5144',['FRD_GetFriendFavouriteGame',['../frd_8h.html#a6f5acb955637da1b6a5ca75239889bb8',1,'frd.h']]], + ['frd_5fgetfriendkeylist_5145',['FRD_GetFriendKeyList',['../frd_8h.html#ad1e46d784e56d9d972edc0c49a0c82a5',1,'frd.h']]], + ['frd_5fgetfriendmii_5146',['FRD_GetFriendMii',['../frd_8h.html#a32a06db92c8333bc1210ac5b85e3f32d',1,'frd.h']]], + ['frd_5fgetfriendplayinggame_5147',['FRD_GetFriendPlayingGame',['../frd_8h.html#a721d99c1ec0709cdb5ab0a812cb6b2c9',1,'frd.h']]], + ['frd_5fgetfriendprofile_5148',['FRD_GetFriendProfile',['../frd_8h.html#ad387dd90a8b2fdc9fdfe6fd43e00cdc4',1,'frd.h']]], + ['frd_5fgetmycomment_5149',['FRD_GetMyComment',['../frd_8h.html#a0c3a57f3610fec1186404ab3bc4ae3e7',1,'frd.h']]], + ['frd_5fgetmyfavoritegame_5150',['FRD_GetMyFavoriteGame',['../frd_8h.html#a0cfe1c6727abd4a744b40dd1b1c7ed65',1,'frd.h']]], + ['frd_5fgetmyfriendkey_5151',['FRD_GetMyFriendKey',['../frd_8h.html#ac8b838a00088afb5a5917ea67672afe2',1,'frd.h']]], + ['frd_5fgetmymii_5152',['FRD_GetMyMii',['../frd_8h.html#a2775b6e75e311a34e5d91cc2544b7f94',1,'frd.h']]], + ['frd_5fgetmyplayinggame_5153',['FRD_GetMyPlayingGame',['../frd_8h.html#a3e60ea2b614e06fc65be5400c1390e09',1,'frd.h']]], + ['frd_5fgetmypreference_5154',['FRD_GetMyPreference',['../frd_8h.html#a103bebd5c600bd4f071c1854ecc2a8b7',1,'frd.h']]], + ['frd_5fgetmyprofile_5155',['FRD_GetMyProfile',['../frd_8h.html#ae48da48556a2a63a9498131c3a0ba253',1,'frd.h']]], + ['frd_5fgetmyscreenname_5156',['FRD_GetMyScreenName',['../frd_8h.html#a4f60c0b3b074a2199030632cab372cd9',1,'frd.h']]], + ['frd_5fisinfriendlist_5157',['FRD_IsInFriendList',['../frd_8h.html#a40a567b07862845007f429263910db68',1,'frd.h']]], + ['frd_5fisvalidfriendcode_5158',['FRD_IsValidFriendCode',['../frd_8h.html#a73759a0f468f63a1ed6871e88b84377c',1,'frd.h']]], + ['frd_5flogin_5159',['FRD_Login',['../frd_8h.html#acb24d435465d9e70a3d11ef375cfdd38',1,'frd.h']]], + ['frd_5flogout_5160',['FRD_Logout',['../frd_8h.html#ad285890ae24b20e4b1fbbf0016658388',1,'frd.h']]], + ['frd_5fprincipalidtofriendcode_5161',['FRD_PrincipalIdToFriendCode',['../frd_8h.html#aa5ed0aecd7ff145f81a2009620d068a5',1,'frd.h']]], + ['frd_5fremovefriend_5162',['FRD_RemoveFriend',['../frd_8h.html#a6cd1e48a71654365f11439e5f0b3f926',1,'frd.h']]], + ['frd_5fsetclientsdkversion_5163',['FRD_SetClientSdkVersion',['../frd_8h.html#a910fe457d89b238b0fba46ce7c2340c3',1,'frd.h']]], + ['frd_5fupdategamemodedescription_5164',['FRD_UpdateGameModeDescription',['../frd_8h.html#a9f329cede46001a212236274b15349bf',1,'frd.h']]], + ['frdexit_5165',['frdExit',['../frd_8h.html#a5ec99ca5562cfefeb51007695dd3ec1c',1,'frd.h']]], + ['frdgetsessionhandle_5166',['frdGetSessionHandle',['../frd_8h.html#abc80cefa94c228b0231211912e074041',1,'frd.h']]], + ['frdinit_5167',['frdInit',['../frd_8h.html#a8031a28577f6a422ed5d2fa5542bf46f',1,'frd.h']]], + ['frdu_5fhasloggedin_5168',['FRDU_HasLoggedIn',['../frd_8h.html#aa1f34be91ea44f0d37c2756f65323975',1,'frd.h']]], + ['frdu_5fisonline_5169',['FRDU_IsOnline',['../frd_8h.html#aca6f294dad46e3355c891bbad9f681a0',1,'frd.h']]], + ['fsdir_5fclose_5170',['FSDIR_Close',['../fs_8h.html#ad59c41ef622b629803b2768585bc81c7',1,'fs.h']]], + ['fsdir_5fcontrol_5171',['FSDIR_Control',['../fs_8h.html#a9bd9d10dee1d4877d002ecf461736ded',1,'fs.h']]], + ['fsdir_5fgetpriority_5172',['FSDIR_GetPriority',['../fs_8h.html#a2fbc9800fcc672bd4417407e194905d8',1,'fs.h']]], + ['fsdir_5fread_5173',['FSDIR_Read',['../fs_8h.html#ab1518557767f93a99e04d08e97ae91fc',1,'fs.h']]], + ['fsdir_5fsetpriority_5174',['FSDIR_SetPriority',['../fs_8h.html#a4fb71ad7a478461cb5a2ed2dcbb4326e',1,'fs.h']]], + ['fsendusesession_5175',['fsEndUseSession',['../fs_8h.html#af29084d2b427ff5874421c192313e6ce',1,'fs.h']]], + ['fsexemptfromsession_5176',['fsExemptFromSession',['../fs_8h.html#a37db378ead3ffd0c55c5c7833d2b6a52',1,'fs.h']]], + ['fsexit_5177',['fsExit',['../fs_8h.html#a3a12b515c5a4d2514cfb07014dbfa3eb',1,'fs.h']]], + ['fsfile_5fclose_5178',['FSFILE_Close',['../fs_8h.html#aec1d6d770ede0e2fbc6a8e60cc7b9621',1,'fs.h']]], + ['fsfile_5fcontrol_5179',['FSFILE_Control',['../fs_8h.html#abba4084f25f986ecb96b41c12337307b',1,'fs.h']]], + ['fsfile_5fflush_5180',['FSFILE_Flush',['../fs_8h.html#a072184c92cededca72fefa04b70cffe8',1,'fs.h']]], + ['fsfile_5fgetattributes_5181',['FSFILE_GetAttributes',['../fs_8h.html#a656ae5a03126f5eab261cad83231147f',1,'fs.h']]], + ['fsfile_5fgetpriority_5182',['FSFILE_GetPriority',['../fs_8h.html#a8bff0442f706ec75c1ff28523f5157ec',1,'fs.h']]], + ['fsfile_5fgetsize_5183',['FSFILE_GetSize',['../fs_8h.html#a1b1a7d6104bcd044466ac9de235e72dc',1,'fs.h']]], + ['fsfile_5fopenlinkfile_5184',['FSFILE_OpenLinkFile',['../fs_8h.html#a1c2901d6e48e15b30e441d70ffe4bb41',1,'fs.h']]], + ['fsfile_5fopensubfile_5185',['FSFILE_OpenSubFile',['../fs_8h.html#a3483cf3b3519dc4a67fd0dd3db6ace35',1,'fs.h']]], + ['fsfile_5fread_5186',['FSFILE_Read',['../fs_8h.html#a9582361b85dae981d43e18f21f2f4d79',1,'fs.h']]], + ['fsfile_5fsetattributes_5187',['FSFILE_SetAttributes',['../fs_8h.html#ae50c9daa67d4302889b85529e02bbb55',1,'fs.h']]], + ['fsfile_5fsetpriority_5188',['FSFILE_SetPriority',['../fs_8h.html#ac3fd0e602d95ab05ab4ac7002cbe17a0',1,'fs.h']]], + ['fsfile_5fsetsize_5189',['FSFILE_SetSize',['../fs_8h.html#a5442512a280132d3c112bf4fd5ad1a31',1,'fs.h']]], + ['fsfile_5fwrite_5190',['FSFILE_Write',['../fs_8h.html#ab1286ccf24defe092140af960e1fda96',1,'fs.h']]], + ['fsgetsessionhandle_5191',['fsGetSessionHandle',['../fs_8h.html#ae6eff50e035a6544dca96fc86dc88b91',1,'fs.h']]], + ['fsinit_5192',['fsInit',['../fs_8h.html#a897bb73f6c956a45305aa9f50f7935ca',1,'fs.h']]], + ['fsmakepath_5193',['fsMakePath',['../fs_8h.html#ae72d50f45f4573540c1ea2ae796ca905',1,'fs.h']]], + ['fspxi_5fcalcsavegamemac_5194',['FSPXI_CalcSavegameMAC',['../fspxi_8h.html#a9d9b6051cc398a1dc0c776cc30be93db',1,'fspxi.h']]], + ['fspxi_5fcalculatefilehashsha256_5195',['FSPXI_CalculateFileHashSHA256',['../fspxi_8h.html#a037fde87643450c4ae683d6c44ce6e4d',1,'fspxi.h']]], + ['fspxi_5fcardnordirectcommand_5196',['FSPXI_CardNorDirectCommand',['../fspxi_8h.html#aa1d1fd89de33589103c1514ab1f8ea44',1,'fspxi.h']]], + ['fspxi_5fcardnordirectcommandwithaddress_5197',['FSPXI_CardNorDirectCommandWithAddress',['../fspxi_8h.html#ae0b66db453c1de81af568d48795b1b79',1,'fspxi.h']]], + ['fspxi_5fcardnordirectcpuwritewithoutverify_5198',['FSPXI_CardNorDirectCpuWriteWithoutVerify',['../fspxi_8h.html#adf8f5a7999a7756fa25625cd9160fe46',1,'fspxi.h']]], + ['fspxi_5fcardnordirectread_5199',['FSPXI_CardNorDirectRead',['../fspxi_8h.html#ac785d7ac3d7d4f102edd5bcdf3ae5f47',1,'fspxi.h']]], + ['fspxi_5fcardnordirectread_5f4xio_5200',['FSPXI_CardNorDirectRead_4xIO',['../fspxi_8h.html#a1ef7065709e3080193b01991f15c53d7',1,'fspxi.h']]], + ['fspxi_5fcardnordirectreadwithaddress_5201',['FSPXI_CardNorDirectReadWithAddress',['../fspxi_8h.html#ab0e1f2b2037bb00bbad088efb813fae9',1,'fspxi.h']]], + ['fspxi_5fcardnordirectsectorerasewithoutverify_5202',['FSPXI_CardNorDirectSectorEraseWithoutVerify',['../fspxi_8h.html#a94f0ff94d9f51ca791166633ac176390',1,'fspxi.h']]], + ['fspxi_5fcardnordirectwrite_5203',['FSPXI_CardNorDirectWrite',['../fspxi_8h.html#ac319c207246a73c4a5c02d44ad142ba4',1,'fspxi.h']]], + ['fspxi_5fcardnordirectwritewithaddress_5204',['FSPXI_CardNorDirectWriteWithAddress',['../fspxi_8h.html#a57877b097377225dfc0f404cce882820',1,'fspxi.h']]], + ['fspxi_5fcardslotgetcardifpowerstatus_5205',['FSPXI_CardSlotGetCardIFPowerStatus',['../fspxi_8h.html#adce56d58f90a56462962f7022d7eb9d8',1,'fspxi.h']]], + ['fspxi_5fcardslotisinserted_5206',['FSPXI_CardSlotIsInserted',['../fspxi_8h.html#a48eb2b2cfb5ab9fc4b9b614b429e4471',1,'fspxi.h']]], + ['fspxi_5fcardslotpoweroff_5207',['FSPXI_CardSlotPowerOff',['../fspxi_8h.html#a68f041a0e402ad61831eca1cebef02c0',1,'fspxi.h']]], + ['fspxi_5fcardslotpoweron_5208',['FSPXI_CardSlotPowerOn',['../fspxi_8h.html#ab82a1432c00a5df35bdcdc9e6a687f97',1,'fspxi.h']]], + ['fspxi_5fclearnandlog_5209',['FSPXI_ClearNandLog',['../fspxi_8h.html#a63c98006f14ff9317de37e1cf80bdebb',1,'fspxi.h']]], + ['fspxi_5fclearsdmclog_5210',['FSPXI_ClearSdmcLog',['../fspxi_8h.html#a1837dea87aefa0d65051ede471471aa0',1,'fspxi.h']]], + ['fspxi_5fclosearchive_5211',['FSPXI_CloseArchive',['../fspxi_8h.html#a5b365fc3ac61cf915ab484f190138133',1,'fspxi.h']]], + ['fspxi_5fclosedirectory_5212',['FSPXI_CloseDirectory',['../fspxi_8h.html#a444eabefa803c689d453151bb7062b70',1,'fspxi.h']]], + ['fspxi_5fclosefile_5213',['FSPXI_CloseFile',['../fspxi_8h.html#a757401d2304e4c3635dcbfb68b3c81a3',1,'fspxi.h']]], + ['fspxi_5fcommitsavedata_5214',['FSPXI_CommitSaveData',['../fspxi_8h.html#aba486674eae7b3d65d9cbadbb6c4dc60',1,'fspxi.h']]], + ['fspxi_5fcreatedirectory_5215',['FSPXI_CreateDirectory',['../fspxi_8h.html#a8275088ce36de7d22fc057e3cd69eacc',1,'fspxi.h']]], + ['fspxi_5fcreateextsavedata_5216',['FSPXI_CreateExtSaveData',['../fspxi_8h.html#a7a35bbf203d4a5fa675d242ab02bc73f',1,'fspxi.h']]], + ['fspxi_5fcreatefile_5217',['FSPXI_CreateFile',['../fspxi_8h.html#a4624690c3d2c8254c76ead66232d8a61',1,'fspxi.h']]], + ['fspxi_5fcreateseed_5218',['FSPXI_CreateSeed',['../fspxi_8h.html#a7c3b1b26eacd437845647fda393ca0c7',1,'fspxi.h']]], + ['fspxi_5fdeleteallextsavedataonnand_5219',['FSPXI_DeleteAllExtSaveDataOnNand',['../fspxi_8h.html#af4a32d8edc3a5adf739a8300d56543d2',1,'fspxi.h']]], + ['fspxi_5fdeletedirectory_5220',['FSPXI_DeleteDirectory',['../fspxi_8h.html#a68a963030ba4028bfb91b0a5df811ffc',1,'fspxi.h']]], + ['fspxi_5fdeleteextsavedata_5221',['FSPXI_DeleteExtSaveData',['../fspxi_8h.html#a766d645d76f1a65b7e0007f2b6b0239b',1,'fspxi.h']]], + ['fspxi_5fdeletefile_5222',['FSPXI_DeleteFile',['../fspxi_8h.html#a283938607c757e43ebddcdbc56b42815',1,'fspxi.h']]], + ['fspxi_5fdeletesdmcroot_5223',['FSPXI_DeleteSdmcRoot',['../fspxi_8h.html#a0efc69853a228dde24d5ba9905ada1e0',1,'fspxi.h']]], + ['fspxi_5fenumerateextsavedata_5224',['FSPXI_EnumerateExtSaveData',['../fspxi_8h.html#acf5ca48b396a284485cd2db9472e85ad',1,'fspxi.h']]], + ['fspxi_5fenumeratesystemsavedata_5225',['FSPXI_EnumerateSystemSaveData',['../fspxi_8h.html#a48c52fc51474f3bfd930424dac1a25d7',1,'fspxi.h']]], + ['fspxi_5fexportintegrityverificationseed_5226',['FSPXI_ExportIntegrityVerificationSeed',['../fspxi_8h.html#a79c5c56cdeb7b66f165827fa7f7b47d3',1,'fspxi.h']]], + ['fspxi_5fformatcardnordevice_5227',['FSPXI_FormatCardNorDevice',['../fspxi_8h.html#a5dc255c5ae37dccebb9bb3aaa17293f7',1,'fspxi.h']]], + ['fspxi_5fgeneraterandombytes_5228',['FSPXI_GenerateRandomBytes',['../fspxi_8h.html#ade65445670f4e1526e0d8d858a2ad055',1,'fspxi.h']]], + ['fspxi_5fgetarchiveresource_5229',['FSPXI_GetArchiveResource',['../fspxi_8h.html#a4d793e32ecdb6fa9de691193e7d2b713',1,'fspxi.h']]], + ['fspxi_5fgetcardtype_5230',['FSPXI_GetCardType',['../fspxi_8h.html#a77512b3506a8851350cc5d4bd8f9e843',1,'fspxi.h']]], + ['fspxi_5fgetfilelastmodified_5231',['FSPXI_GetFileLastModified',['../fspxi_8h.html#ad88947330a958dda93dd883252549fa9',1,'fspxi.h']]], + ['fspxi_5fgetfilesize_5232',['FSPXI_GetFileSize',['../fspxi_8h.html#aba353c5579c9b1870b61c8ccf72c75c6',1,'fspxi.h']]], + ['fspxi_5fgetlegacybannerdata_5233',['FSPXI_GetLegacyBannerData',['../fspxi_8h.html#a53e939c3130695a7dde3563dcb0d6a1a',1,'fspxi.h']]], + ['fspxi_5fgetlegacyromheader_5234',['FSPXI_GetLegacyRomHeader',['../fspxi_8h.html#afe146be306fb3ec6577289fa459a9502',1,'fspxi.h']]], + ['fspxi_5fgetlegacysubbannerdata_5235',['FSPXI_GetLegacySubBannerData',['../fspxi_8h.html#a2c3604b489a6247bfab825cd049267ee',1,'fspxi.h']]], + ['fspxi_5fgetnandarchiveresource_5236',['FSPXI_GetNandArchiveResource',['../fspxi_8h.html#a567f980a6d038c0b6196bfe6192892ef',1,'fspxi.h']]], + ['fspxi_5fgetnandcid_5237',['FSPXI_GetNandCid',['../fspxi_8h.html#a69287235770f608ef0a7fddd8444a899',1,'fspxi.h']]], + ['fspxi_5fgetnandlog_5238',['FSPXI_GetNandLog',['../fspxi_8h.html#a4aac7416bf531a7113917ae1b59c1027',1,'fspxi.h']]], + ['fspxi_5fgetnandspeedinfo_5239',['FSPXI_GetNandSpeedInfo',['../fspxi_8h.html#a1572933fc1f26e96b203532b44a29ea5',1,'fspxi.h']]], + ['fspxi_5fgetproductinfo_5240',['FSPXI_GetProductInfo',['../fspxi_8h.html#ab9f31fdeacf387fb7fcd488db3e1610d',1,'fspxi.h']]], + ['fspxi_5fgetsdmcarchiveresource_5241',['FSPXI_GetSdmcArchiveResource',['../fspxi_8h.html#a9885b0741504e6a2aa9671e53b6e206b',1,'fspxi.h']]], + ['fspxi_5fgetsdmccid_5242',['FSPXI_GetSdmcCid',['../fspxi_8h.html#ae0d3ecd896f570970716d330eaaf1156',1,'fspxi.h']]], + ['fspxi_5fgetsdmcctrrootpath_5243',['FSPXI_GetSdmcCtrRootPath',['../fspxi_8h.html#a28cc866ec6843c8e81a8f8bbcbcfe28d',1,'fspxi.h']]], + ['fspxi_5fgetsdmcfatfserror_5244',['FSPXI_GetSdmcFatFsError',['../fspxi_8h.html#a7b93fdb6550f76f3cfad5213d1b67768',1,'fspxi.h']]], + ['fspxi_5fgetsdmclog_5245',['FSPXI_GetSdmcLog',['../fspxi_8h.html#ab03746121c310004074e4275c3bd53ab',1,'fspxi.h']]], + ['fspxi_5fgetsdmcspeedinfo_5246',['FSPXI_GetSdmcSpeedInfo',['../fspxi_8h.html#a48e8120ebecda37950e6a94b0c1507cf',1,'fspxi.h']]], + ['fspxi_5fgetspecialcontentindex_5247',['FSPXI_GetSpecialContentIndex',['../fspxi_8h.html#a9b98cfd130877fc204b1fc99310535db',1,'fspxi.h']]], + ['fspxi_5fgetspecialfilesize_5248',['FSPXI_GetSpecialFileSize',['../fspxi_8h.html#a571a3abf06ca827b46f0ec4feb93e7da',1,'fspxi.h']]], + ['fspxi_5fhasdirectory_5249',['FSPXI_HasDirectory',['../fspxi_8h.html#a390ecaa58de6e463ad433f075ec79f65',1,'fspxi.h']]], + ['fspxi_5fhasfile_5250',['FSPXI_HasFile',['../fspxi_8h.html#ae2efb0002a9e506efc150165ee154e0f',1,'fspxi.h']]], + ['fspxi_5fimportintegrityverificationseed_5251',['FSPXI_ImportIntegrityVerificationSeed',['../fspxi_8h.html#af53abd147720e5908bb25f0b33cf6f72',1,'fspxi.h']]], + ['fspxi_5finitializectrfilesystem_5252',['FSPXI_InitializeCtrFilesystem',['../fspxi_8h.html#a1246ec0e55274851287ac7c0c74faa4f',1,'fspxi.h']]], + ['fspxi_5fissdmcdetected_5253',['FSPXI_IsSdmcDetected',['../fspxi_8h.html#aa86dfdd073eade86506350d005ff785f',1,'fspxi.h']]], + ['fspxi_5fissdmcwritable_5254',['FSPXI_IsSdmcWritable',['../fspxi_8h.html#a2173d05b484ae18835852a5b1bd1b7b9',1,'fspxi.h']]], + ['fspxi_5fopenarchive_5255',['FSPXI_OpenArchive',['../fspxi_8h.html#aa6ae5f7cc12f9157bca3f3c9acfca898',1,'fspxi.h']]], + ['fspxi_5fopendirectory_5256',['FSPXI_OpenDirectory',['../fspxi_8h.html#a87a076ef43a3bd981e6f9b3947d55909',1,'fspxi.h']]], + ['fspxi_5fopenfile_5257',['FSPXI_OpenFile',['../fspxi_8h.html#a3893272a4a861cdd7f0eee63f6571a7f',1,'fspxi.h']]], + ['fspxi_5freaddirectory_5258',['FSPXI_ReadDirectory',['../fspxi_8h.html#a5169061cb84c38c80f4d65b82af2fe49',1,'fspxi.h']]], + ['fspxi_5freadfile_5259',['FSPXI_ReadFile',['../fspxi_8h.html#a8a50e96c88d6b0f7a5932ac9c48eaea0',1,'fspxi.h']]], + ['fspxi_5freadfilesha256_5260',['FSPXI_ReadFileSHA256',['../fspxi_8h.html#ac3cb549ad6d1e11a2744f5bfbdd87119',1,'fspxi.h']]], + ['fspxi_5freadnandreport_5261',['FSPXI_ReadNandReport',['../fspxi_8h.html#ac287f0bbd41237746a35ec08e55cabc0',1,'fspxi.h']]], + ['fspxi_5freadspecialfile_5262',['FSPXI_ReadSpecialFile',['../fspxi_8h.html#a4174449901486dc712d807151f3536f8',1,'fspxi.h']]], + ['fspxi_5frenamedirectory_5263',['FSPXI_RenameDirectory',['../fspxi_8h.html#a735ceb9017bd302f5ecf888e7b9dcccd',1,'fspxi.h']]], + ['fspxi_5frenamefile_5264',['FSPXI_RenameFile',['../fspxi_8h.html#ac844eb9b69ed0fc609db35ca5b884198',1,'fspxi.h']]], + ['fspxi_5fsendinitializeinfoto9_5265',['FSPXI_SendInitializeInfoTo9',['../fspxi_8h.html#a43642e4d8887bd9fffa71f9220231292',1,'fspxi.h']]], + ['fspxi_5fsetcardspibaudrate_5266',['FSPXI_SetCardSpiBaudrate',['../fspxi_8h.html#ac35705dcde4ab5cbfbe8bc4772d1ec2d',1,'fspxi.h']]], + ['fspxi_5fsetcardspibusmode_5267',['FSPXI_SetCardSpiBusMode',['../fspxi_8h.html#ac7c35fcc019026023e77ad10d3459496',1,'fspxi.h']]], + ['fspxi_5fsetctrcardlatencyparameter_5268',['FSPXI_SetCtrCardLatencyParameter',['../fspxi_8h.html#a73356b643ba69b75972dfe390675f4f1',1,'fspxi.h']]], + ['fspxi_5fsetfilesize_5269',['FSPXI_SetFileSize',['../fspxi_8h.html#a813ed6b3680775aedc2e393047536da8',1,'fspxi.h']]], + ['fspxi_5fsetpriority_5270',['FSPXI_SetPriority',['../fspxi_8h.html#a76827f115d35d7b88a4b53c0135d11b6',1,'fspxi.h']]], + ['fspxi_5fstartdevicemoveasdestination_5271',['FSPXI_StartDeviceMoveAsDestination',['../fspxi_8h.html#ae391f9d1677cf9eeeff05517b102bce3',1,'fspxi.h']]], + ['fspxi_5fstartdevicemoveassource_5272',['FSPXI_StartDeviceMoveAsSource',['../fspxi_8h.html#ab32493ac51a7e2dea0070b0ce18f5566',1,'fspxi.h']]], + ['fspxi_5fswitchcleanupinvalidsavedata_5273',['FSPXI_SwitchCleanupInvalidSaveData',['../fspxi_8h.html#afc0101117d7d0db97b2079b40e03df2e',1,'fspxi.h']]], + ['fspxi_5funknown0x17_5274',['FSPXI_Unknown0x17',['../fspxi_8h.html#ac294662cd5b6b163e2587bdcb426e110',1,'fspxi.h']]], + ['fspxi_5funknown0x56_5275',['FSPXI_Unknown0x56',['../fspxi_8h.html#af545af6bf4e96fc8287d82616b84049e',1,'fspxi.h']]], + ['fspxi_5fwritefile_5276',['FSPXI_WriteFile',['../fspxi_8h.html#a868cc842d9b9ea122daead90d65d33af',1,'fspxi.h']]], + ['fspxi_5fwritefilesha256_5277',['FSPXI_WriteFileSHA256',['../fspxi_8h.html#a010e4e10532a36697d8914f6e517a315',1,'fspxi.h']]], + ['fsunexemptfromsession_5278',['fsUnexemptFromSession',['../fs_8h.html#a4fd200207f5550eaa8382b474d4ba79f',1,'fs.h']]], + ['fsuser_5fabnegateaccessright_5279',['FSUSER_AbnegateAccessRight',['../fs_8h.html#ac38d5e7fb53a57874fdef865a5f4bb7b',1,'fs.h']]], + ['fsuser_5fcardnordirectcommand_5280',['FSUSER_CardNorDirectCommand',['../fs_8h.html#a201dafd5a0fd1242b8a3b9a802950c59',1,'fs.h']]], + ['fsuser_5fcardnordirectcommandwithaddress_5281',['FSUSER_CardNorDirectCommandWithAddress',['../fs_8h.html#a9a889601a8a5d6abd982132b9f925b25',1,'fs.h']]], + ['fsuser_5fcardnordirectcpuwritewithoutverify_5282',['FSUSER_CardNorDirectCpuWriteWithoutVerify',['../fs_8h.html#a925dc37206c4a30e8fcd559f86b40a28',1,'fs.h']]], + ['fsuser_5fcardnordirectread_5283',['FSUSER_CardNorDirectRead',['../fs_8h.html#a6f91fcd4127e4d4b71c0afebd9c1c4ad',1,'fs.h']]], + ['fsuser_5fcardnordirectread_5f4xio_5284',['FSUSER_CardNorDirectRead_4xIO',['../fs_8h.html#a72c8f9c635fecf98e7bfb840b6a573b7',1,'fs.h']]], + ['fsuser_5fcardnordirectreadwithaddress_5285',['FSUSER_CardNorDirectReadWithAddress',['../fs_8h.html#a252e6b1bf3a6f5d4dc609264d64155cc',1,'fs.h']]], + ['fsuser_5fcardnordirectsectorerasewithoutverify_5286',['FSUSER_CardNorDirectSectorEraseWithoutVerify',['../fs_8h.html#a4dad2590b401ba4a1f42b828e0b641be',1,'fs.h']]], + ['fsuser_5fcardnordirectwrite_5287',['FSUSER_CardNorDirectWrite',['../fs_8h.html#ad0e715a2c5dbbcb8507763873dce0801',1,'fs.h']]], + ['fsuser_5fcardnordirectwritewithaddress_5288',['FSUSER_CardNorDirectWriteWithAddress',['../fs_8h.html#a1f6b861fd5051921b014334344fb17b8',1,'fs.h']]], + ['fsuser_5fcardslotgetcardifpowerstatus_5289',['FSUSER_CardSlotGetCardIFPowerStatus',['../fs_8h.html#a81f2a073f9d7da8fc6211c32877e1a09',1,'fs.h']]], + ['fsuser_5fcardslotisinserted_5290',['FSUSER_CardSlotIsInserted',['../fs_8h.html#ac81d21af5d078977dbf7f003e7085699',1,'fs.h']]], + ['fsuser_5fcardslotpoweroff_5291',['FSUSER_CardSlotPowerOff',['../fs_8h.html#a8f0f323452ef1ef565ee3811d25f175e',1,'fs.h']]], + ['fsuser_5fcardslotpoweron_5292',['FSUSER_CardSlotPowerOn',['../fs_8h.html#a431d9af6b29f79bb23346db21bdb0135',1,'fs.h']]], + ['fsuser_5fcheckauthoritytoaccessextsavedata_5293',['FSUSER_CheckAuthorityToAccessExtSaveData',['../fs_8h.html#a507d6c1fdfcb97ba362cbd323c7f14b0',1,'fs.h']]], + ['fsuser_5fclearnandlog_5294',['FSUSER_ClearNandLog',['../fs_8h.html#ab64ec812fa7cb36f8b3a45e66ecaae42',1,'fs.h']]], + ['fsuser_5fclearsdmclog_5295',['FSUSER_ClearSdmcLog',['../fs_8h.html#a9641116a4efff57fc29999e690de97af',1,'fs.h']]], + ['fsuser_5fclosearchive_5296',['FSUSER_CloseArchive',['../fs_8h.html#a32e368aef60d5c5a464cc95c43c02f0d',1,'fs.h']]], + ['fsuser_5fcontrol_5297',['FSUSER_Control',['../fs_8h.html#a7ad5023cf160f7f5d91c84387b7c7e90',1,'fs.h']]], + ['fsuser_5fcontrolarchive_5298',['FSUSER_ControlArchive',['../fs_8h.html#ab720a77777a35fa7112556af2c1c4e0b',1,'fs.h']]], + ['fsuser_5fcontrolsecuresave_5299',['FSUSER_ControlSecureSave',['../fs_8h.html#a73dd63d6a893d66e8305fae96c16e3e0',1,'fs.h']]], + ['fsuser_5fcreatedirectory_5300',['FSUSER_CreateDirectory',['../fs_8h.html#ae6009491439458c1e7dffd77f49157eb',1,'fs.h']]], + ['fsuser_5fcreateextsavedata_5301',['FSUSER_CreateExtSaveData',['../fs_8h.html#a169cf352821378c96b55b9eb41ee709d',1,'fs.h']]], + ['fsuser_5fcreatefile_5302',['FSUSER_CreateFile',['../fs_8h.html#a2bc945a229289c0f0a7a205b7c7d5179',1,'fs.h']]], + ['fsuser_5fcreateseed_5303',['FSUSER_CreateSeed',['../fs_8h.html#aa3bc06b16d91fa1955480a70284dae52',1,'fs.h']]], + ['fsuser_5fcreatesystemsavedata_5304',['FSUSER_CreateSystemSaveData',['../fs_8h.html#a7c244f2a284f0f6b62cc85a575ba6c36',1,'fs.h']]], + ['fsuser_5fdeleteallextsavedataonnand_5305',['FSUSER_DeleteAllExtSaveDataOnNand',['../fs_8h.html#ace0bf04b5875a188f9720838129dfceb',1,'fs.h']]], + ['fsuser_5fdeletedirectory_5306',['FSUSER_DeleteDirectory',['../fs_8h.html#aa9ceefaf8cfaf6deefff2e2000fc8e62',1,'fs.h']]], + ['fsuser_5fdeletedirectoryrecursively_5307',['FSUSER_DeleteDirectoryRecursively',['../fs_8h.html#ac57b8a279ff700a6d117b6a98a0c0b8c',1,'fs.h']]], + ['fsuser_5fdeleteextsavedata_5308',['FSUSER_DeleteExtSaveData',['../fs_8h.html#a08c72cad81d3f7a780e7e61e3e185e15',1,'fs.h']]], + ['fsuser_5fdeletefile_5309',['FSUSER_DeleteFile',['../fs_8h.html#aa92c308811733816a3048903076c398f',1,'fs.h']]], + ['fsuser_5fdeletesdmcroot_5310',['FSUSER_DeleteSdmcRoot',['../fs_8h.html#a1ac8d7693211dfc08357f8e848cd8110',1,'fs.h']]], + ['fsuser_5fdeletesystemsavedata_5311',['FSUSER_DeleteSystemSaveData',['../fs_8h.html#a3bf53ebd5fda19c2a62a441cf75e9550',1,'fs.h']]], + ['fsuser_5fenumerateextsavedata_5312',['FSUSER_EnumerateExtSaveData',['../fs_8h.html#acf89a4b2db6ab9b7fd7cb5855a99e2fc',1,'fs.h']]], + ['fsuser_5fenumeratesystemsavedata_5313',['FSUSER_EnumerateSystemSaveData',['../fs_8h.html#a049db06b83ef3e9e4310a99b13cbd97c',1,'fs.h']]], + ['fsuser_5fexportintegrityverificationseed_5314',['FSUSER_ExportIntegrityVerificationSeed',['../fs_8h.html#ac0cf7cc64448889235772601ec0cdcaf',1,'fs.h']]], + ['fsuser_5fformatsavedata_5315',['FSUSER_FormatSaveData',['../fs_8h.html#a2702a8584d30da084ca28878f749c74c',1,'fs.h']]], + ['fsuser_5fgetarchivepriority_5316',['FSUSER_GetArchivePriority',['../fs_8h.html#a0571dd827c573dbf37561b9112a29433',1,'fs.h']]], + ['fsuser_5fgetarchiveresource_5317',['FSUSER_GetArchiveResource',['../fs_8h.html#a5f5fd63ba7fe39e33bdb24bc9e33fbc3',1,'fs.h']]], + ['fsuser_5fgetcardtype_5318',['FSUSER_GetCardType',['../fs_8h.html#a6cdb9fe9fda62f3d4d567502fafddc82',1,'fs.h']]], + ['fsuser_5fgetextdatablocksize_5319',['FSUSER_GetExtDataBlockSize',['../fs_8h.html#a34e68de201af3c5c78479aa552c0d329',1,'fs.h']]], + ['fsuser_5fgetformatinfo_5320',['FSUSER_GetFormatInfo',['../fs_8h.html#a06247f1f4e1e19abea4742682ec76c3b',1,'fs.h']]], + ['fsuser_5fgetfreebytes_5321',['FSUSER_GetFreeBytes',['../fs_8h.html#a7bc830c7c137e903489d85c96fefa74c',1,'fs.h']]], + ['fsuser_5fgetlegacybannerdata_5322',['FSUSER_GetLegacyBannerData',['../fs_8h.html#a062d221f0e45806fbece63e0f4e16ff0',1,'fs.h']]], + ['fsuser_5fgetlegacyromheader_5323',['FSUSER_GetLegacyRomHeader',['../fs_8h.html#a8e4e8a318d3fb8bb32721968cfcf12d5',1,'fs.h']]], + ['fsuser_5fgetlegacyromheader2_5324',['FSUSER_GetLegacyRomHeader2',['../fs_8h.html#a64e7ed447069dcd53c81efdbb3f48986',1,'fs.h']]], + ['fsuser_5fgetlegacysubbannerdata_5325',['FSUSER_GetLegacySubBannerData',['../fs_8h.html#a24735078ae844fa8ff832fa2bbc7db7a',1,'fs.h']]], + ['fsuser_5fgetmediatype_5326',['FSUSER_GetMediaType',['../fs_8h.html#a0964bec8c0e3c6f361ab6dad7edc4084',1,'fs.h']]], + ['fsuser_5fgetnandarchiveresource_5327',['FSUSER_GetNandArchiveResource',['../fs_8h.html#a624506fd54cf878ae76c62520f955f80',1,'fs.h']]], + ['fsuser_5fgetnandcid_5328',['FSUSER_GetNandCid',['../fs_8h.html#a484e158255d3eee12d5c2bf1fe9c87fd',1,'fs.h']]], + ['fsuser_5fgetnandlog_5329',['FSUSER_GetNandLog',['../fs_8h.html#a1abf234a4b9bdf2126722ddf8f5f0d50',1,'fs.h']]], + ['fsuser_5fgetnandspeedinfo_5330',['FSUSER_GetNandSpeedInfo',['../fs_8h.html#a37eb81707d78aa52451c3df5daa8080c',1,'fs.h']]], + ['fsuser_5fgetpriority_5331',['FSUSER_GetPriority',['../fs_8h.html#a62e56f207edb0f796ecb1450ebb74556',1,'fs.h']]], + ['fsuser_5fgetproductinfo_5332',['FSUSER_GetProductInfo',['../fs_8h.html#a25e639d059b87931ed071bc114c0b358',1,'fs.h']]], + ['fsuser_5fgetprogramlaunchinfo_5333',['FSUSER_GetProgramLaunchInfo',['../fs_8h.html#ab6f0504c10a330104c5427b9fb57a839',1,'fs.h']]], + ['fsuser_5fgetsavedatasecurevalue_5334',['FSUSER_GetSaveDataSecureValue',['../fs_8h.html#a8bb8716e6d1254d6e5caf6c286d15d7c',1,'fs.h']]], + ['fsuser_5fgetsdmcarchiveresource_5335',['FSUSER_GetSdmcArchiveResource',['../fs_8h.html#a11599925626922d2a8075413406681bd',1,'fs.h']]], + ['fsuser_5fgetsdmccid_5336',['FSUSER_GetSdmcCid',['../fs_8h.html#aca220d5e39f3d364e839734ca579db00',1,'fs.h']]], + ['fsuser_5fgetsdmcctrrootpath_5337',['FSUSER_GetSdmcCtrRootPath',['../fs_8h.html#abcd43519e25e532efaea0998968aa511',1,'fs.h']]], + ['fsuser_5fgetsdmcfatfserror_5338',['FSUSER_GetSdmcFatfsError',['../fs_8h.html#a1f1388fb7e6835f05a1c64b7ea71fcf6',1,'fs.h']]], + ['fsuser_5fgetsdmclog_5339',['FSUSER_GetSdmcLog',['../fs_8h.html#ac52e9ee7e0149815afc972a76a20318b',1,'fs.h']]], + ['fsuser_5fgetsdmcspeedinfo_5340',['FSUSER_GetSdmcSpeedInfo',['../fs_8h.html#a52cd8260c5f726b9e9a15eedf16e80be',1,'fs.h']]], + ['fsuser_5fgetspecialcontentindex_5341',['FSUSER_GetSpecialContentIndex',['../fs_8h.html#aebb5f9f0f3cb4e0cb31468f4980939fe',1,'fs.h']]], + ['fsuser_5fgetspecialfilesize_5342',['FSUSER_GetSpecialFileSize',['../fs_8h.html#a70d4273c68271abd00759403fc592169',1,'fs.h']]], + ['fsuser_5fimportintegrityverificationseed_5343',['FSUSER_ImportIntegrityVerificationSeed',['../fs_8h.html#a72bf09ef1c65d1e5be41acf3820769ca',1,'fs.h']]], + ['fsuser_5finitialize_5344',['FSUSER_Initialize',['../fs_8h.html#a65613779d51d5f5063f33601b10748ef',1,'fs.h']]], + ['fsuser_5finitializectrfilesystem_5345',['FSUSER_InitializeCtrFileSystem',['../fs_8h.html#aa9535e2acab2de8b69a25837857f31b0',1,'fs.h']]], + ['fsuser_5finitializewithsdkversion_5346',['FSUSER_InitializeWithSdkVersion',['../fs_8h.html#aed395102523af510392243d7fa2a9ad4',1,'fs.h']]], + ['fsuser_5fissdmcdetected_5347',['FSUSER_IsSdmcDetected',['../fs_8h.html#a3fac57d32bdb4fa120ede6cfaa675067',1,'fs.h']]], + ['fsuser_5fissdmcwritable_5348',['FSUSER_IsSdmcWritable',['../fs_8h.html#aabc672eee0473adca49e889ed773debd',1,'fs.h']]], + ['fsuser_5fopenarchive_5349',['FSUSER_OpenArchive',['../fs_8h.html#a92bb1a78bd0a8372936b98beda8ef43c',1,'fs.h']]], + ['fsuser_5fopendirectory_5350',['FSUSER_OpenDirectory',['../fs_8h.html#a1e4cb575a97ad7a70845fd4900f4d852',1,'fs.h']]], + ['fsuser_5fopenfile_5351',['FSUSER_OpenFile',['../fs_8h.html#a972f8f4ab83adae7582787b7c23d82cf',1,'fs.h']]], + ['fsuser_5fopenfiledirectly_5352',['FSUSER_OpenFileDirectly',['../fs_8h.html#a550b1a046e66ef8216f737225adbf934',1,'fs.h']]], + ['fsuser_5fquerytotalquotasize_5353',['FSUSER_QueryTotalQuotaSize',['../fs_8h.html#a2e19c788bc075f06c660a6331165cb64',1,'fs.h']]], + ['fsuser_5freadextsavedataicon_5354',['FSUSER_ReadExtSaveDataIcon',['../fs_8h.html#aa270f7127ec3c8cac32d69f3f1031bd0',1,'fs.h']]], + ['fsuser_5freadspecialfile_5355',['FSUSER_ReadSpecialFile',['../fs_8h.html#a6184945654fed9e272319144001e5442',1,'fs.h']]], + ['fsuser_5frenamedirectory_5356',['FSUSER_RenameDirectory',['../fs_8h.html#addb78fb5f243542b20b8ad9595d97ae9',1,'fs.h']]], + ['fsuser_5frenamefile_5357',['FSUSER_RenameFile',['../fs_8h.html#a6d2337aee6ed9c01e0c24b84d1ae9ccb',1,'fs.h']]], + ['fsuser_5fsendinitializeinfoto9_5358',['FSUSER_SendInitializeInfoTo9',['../fs_8h.html#a1f54db6c0ab151e1ebb4dc2927532cfe',1,'fs.h']]], + ['fsuser_5fsetarchivepriority_5359',['FSUSER_SetArchivePriority',['../fs_8h.html#ac848f8623bca82353495973e849fd01f',1,'fs.h']]], + ['fsuser_5fsetcardspibaudrate_5360',['FSUSER_SetCardSpiBaudRate',['../fs_8h.html#a81fd994288ee67a90d1eb639fb260994',1,'fs.h']]], + ['fsuser_5fsetcardspibusmode_5361',['FSUSER_SetCardSpiBusMode',['../fs_8h.html#a32652baad118c601d681c485a5aad212',1,'fs.h']]], + ['fsuser_5fsetctrcardlatencyparameter_5362',['FSUSER_SetCtrCardLatencyParameter',['../fs_8h.html#a449bdc2b54331f420eba3b2db6b88c57',1,'fs.h']]], + ['fsuser_5fsetpriority_5363',['FSUSER_SetPriority',['../fs_8h.html#ad0aceb5cbadba6d0be55f772207e29d7',1,'fs.h']]], + ['fsuser_5fsetsavedatasecurevalue_5364',['FSUSER_SetSaveDataSecureValue',['../fs_8h.html#ab0bd74e9aaf321e4648bea1980ddb754',1,'fs.h']]], + ['fsuser_5fstartdevicemoveasdestination_5365',['FSUSER_StartDeviceMoveAsDestination',['../fs_8h.html#abacf405c107cfd13196d8268a425fcf9',1,'fs.h']]], + ['fsuser_5fstartdevicemoveassource_5366',['FSUSER_StartDeviceMoveAsSource',['../fs_8h.html#aa908e417cf771f1d79f4bae815ae27cd',1,'fs.h']]], + ['fsuser_5fswitchcleanupinvalidsavedata_5367',['FSUSER_SwitchCleanupInvalidSaveData',['../fs_8h.html#a8d546ae30727a839c702364901b64952',1,'fs.h']]], + ['fsuser_5fupdatesha256context_5368',['FSUSER_UpdateSha256Context',['../fs_8h.html#ac6a626e8d21052058c5ca712e743f71e',1,'fs.h']]], + ['fsusesession_5369',['fsUseSession',['../fs_8h.html#af1c83784d540badb04f67e00c5144cf3',1,'fs.h']]] +]; diff --git a/search/functions_7.html b/search/functions_7.html new file mode 100644 index 000000000..46b5c0f61 --- /dev/null +++ b/search/functions_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_7.js b/search/functions_7.js new file mode 100644 index 000000000..7cf7dce07 --- /dev/null +++ b/search/functions_7.js @@ -0,0 +1,92 @@ +var searchData= +[ + ['gdbhiodevexit_5370',['gdbHioDevExit',['../gdbhio__dev_8h.html#a623fa8310ed3c02993ef7255119b3c7e',1,'gdbhio_dev.h']]], + ['gdbhiodevgetstderr_5371',['gdbHioDevGetStderr',['../gdbhio__dev_8h.html#a0f52252119bf703d15d8a12765196671',1,'gdbhio_dev.h']]], + ['gdbhiodevgetstdin_5372',['gdbHioDevGetStdin',['../gdbhio__dev_8h.html#ab94098ccdaf205f64aa8e44c82f54e36',1,'gdbhio_dev.h']]], + ['gdbhiodevgetstdout_5373',['gdbHioDevGetStdout',['../gdbhio__dev_8h.html#aa08aeffcc4fa68a69fb98e7d3d4c1f8f',1,'gdbhio_dev.h']]], + ['gdbhiodevgettimeofday_5374',['gdbHioDevGettimeofday',['../gdbhio__dev_8h.html#a39b9ea0f30767f0d434eda5d0f605445',1,'gdbhio_dev.h']]], + ['gdbhiodevinit_5375',['gdbHioDevInit',['../gdbhio__dev_8h.html#ab44de89874574244f5f24a222e1d41ba',1,'gdbhio_dev.h']]], + ['gdbhiodevisatty_5376',['gdbHioDevIsatty',['../gdbhio__dev_8h.html#aa97cf5954c6fde94c63f6594de0e4051',1,'gdbhio_dev.h']]], + ['gdbhiodevredirectstdstreams_5377',['gdbHioDevRedirectStdStreams',['../gdbhio__dev_8h.html#aca64636a4fbe34902d57268363cb29ac',1,'gdbhio_dev.h']]], + ['gdbhioisatty_5378',['gdbHioIsatty',['../gdbhio_8h.html#ac227bf96198f76084f1773f25572fd17',1,'gdbhio.h']]], + ['gethostid_5379',['gethostid',['../soc_8h.html#ab7b49a1dc7a37a50ea146982bc01eee1',1,'soc.h']]], + ['getthreadcommandbuffer_5380',['getThreadCommandBuffer',['../svc_8h.html#a2e0c230a1bb2d5400edc08bd7c687099',1,'svc.h']]], + ['getthreadlocalstorage_5381',['getThreadLocalStorage',['../svc_8h.html#a3f23b2d589b488efb59603000c5f7969',1,'svc.h']]], + ['getthreadstaticbuffers_5382',['getThreadStaticBuffers',['../svc_8h.html#a7f804146f815c96c98e7712bce3993bf',1,'svc.h']]], + ['gfxconfigscreen_5383',['gfxConfigScreen',['../gfx_8h.html#aac9ec0b0caf3a9f8c7c58905f81786d3',1,'gfx.h']]], + ['gfxexit_5384',['gfxExit',['../gfx_8h.html#aa446ccfdfdd4c575e648956ae96f2a3b',1,'gfx.h']]], + ['gfxflushbuffers_5385',['gfxFlushBuffers',['../gfx_8h.html#aea1808bd74fe0c00f9794e455fc8499b',1,'gfx.h']]], + ['gfxgetframebuffer_5386',['gfxGetFramebuffer',['../gfx_8h.html#a332447352568e250a75397a1b2e452db',1,'gfx.h']]], + ['gfxgetscreenformat_5387',['gfxGetScreenFormat',['../gfx_8h.html#a345889c5df83e483536afebd7edf04ef',1,'gfx.h']]], + ['gfxinit_5388',['gfxInit',['../gfx_8h.html#a1364b0796016b3b87ce005c7d3199519',1,'gfx.h']]], + ['gfxinitdefault_5389',['gfxInitDefault',['../gfx_8h.html#a236a005ae029247c8bfe4a4a649206fc',1,'gfx.h']]], + ['gfxis3d_5390',['gfxIs3D',['../gfx_8h.html#a07c2e95d490e338a8b87030124f58a60',1,'gfx.h']]], + ['gfxiswide_5391',['gfxIsWide',['../gfx_8h.html#adb8f7a90724f6f11a93c776fffea7891',1,'gfx.h']]], + ['gfxscreenswapbuffers_5392',['gfxScreenSwapBuffers',['../gfx_8h.html#a9d7f8afcf19ad7bb6f4c4f76dbd3fec6',1,'gfx.h']]], + ['gfxset3d_5393',['gfxSet3D',['../gfx_8h.html#a7b5743ba9ce490263b12d1575af7ebc1',1,'gfx.h']]], + ['gfxsetdoublebuffering_5394',['gfxSetDoubleBuffering',['../gfx_8h.html#a9f57f3b6f2e6817c6457d005887fa128',1,'gfx.h']]], + ['gfxsetscreenformat_5395',['gfxSetScreenFormat',['../gfx_8h.html#ab8bc89eb1ea35a06bfb0c3e1ffbf2996',1,'gfx.h']]], + ['gfxsetwide_5396',['gfxSetWide',['../gfx_8h.html#a1ffe33f6b3e9a61ee916997fc6cf6ace',1,'gfx.h']]], + ['gfxswapbuffers_5397',['gfxSwapBuffers',['../gfx_8h.html#a0f338920111994110975dc0d1360bb1f',1,'gfx.h']]], + ['gfxswapbuffersgpu_5398',['gfxSwapBuffersGpu',['../gfx_8h.html#a3306df28835a647734cf8e299f041527',1,'gfx.h']]], + ['gpucmd_5fadd_5399',['GPUCMD_Add',['../gpu_8h.html#a15b87b8b5fb312dbcd86ea65bd3c2c33',1,'gpu.h']]], + ['gpucmd_5faddrawcommands_5400',['GPUCMD_AddRawCommands',['../gpu_8h.html#aabc038bc05a2dfd3008913552d50a7c1',1,'gpu.h']]], + ['gpucmd_5faddsingleparam_5401',['GPUCMD_AddSingleParam',['../gpu_8h.html#ab99531b5093a570130f77dfbb3204982',1,'gpu.h']]], + ['gpucmd_5fgetbuffer_5402',['GPUCMD_GetBuffer',['../gpu_8h.html#a7822836c397bc74cce470ae8577cf4e9',1,'gpu.h']]], + ['gpucmd_5fsetbuffer_5403',['GPUCMD_SetBuffer',['../gpu_8h.html#a1523df3d3ca5a5e8ce15fa37b5d5814a',1,'gpu.h']]], + ['gpucmd_5fsetbufferoffset_5404',['GPUCMD_SetBufferOffset',['../gpu_8h.html#acd4520c04dcfb92c843b98db57328004',1,'gpu.h']]], + ['gpucmd_5fsplit_5405',['GPUCMD_Split',['../gpu_8h.html#a4dfd23aaa44fa934c9d464f42082dde0',1,'gpu.h']]], + ['gspexit_5406',['gspExit',['../gspgpu_8h.html#a1de71253d8f3e3ea0f504ab6cc621f98',1,'gspgpu.h']]], + ['gspgetbytesperpixel_5407',['gspGetBytesPerPixel',['../gspgpu_8h.html#a7d03f7255091e4cfe52d423903085b24',1,'gspgpu.h']]], + ['gspgetsessionhandle_5408',['gspGetSessionHandle',['../gspgpu_8h.html#a4e7a35446a15c2cbe6f37109f2c9ff4c',1,'gspgpu.h']]], + ['gspgpu_5facquireright_5409',['GSPGPU_AcquireRight',['../gspgpu_8h.html#a317950e5ea5dabed8569ae5683075fc6',1,'gspgpu.h']]], + ['gspgpu_5fflushdatacache_5410',['GSPGPU_FlushDataCache',['../gspgpu_8h.html#a24f1c78fad4e1108ddc56fb3674cdba2',1,'gspgpu.h']]], + ['gspgpu_5fimportdisplaycaptureinfo_5411',['GSPGPU_ImportDisplayCaptureInfo',['../gspgpu_8h.html#a6677e4b4467934a07320c556f4d103f2',1,'gspgpu.h']]], + ['gspgpu_5finvalidatedatacache_5412',['GSPGPU_InvalidateDataCache',['../gspgpu_8h.html#abfd8bb5bde8d3072a9041884d599665e',1,'gspgpu.h']]], + ['gspgpu_5freadhwregs_5413',['GSPGPU_ReadHWRegs',['../gspgpu_8h.html#ae554cb598da7d9be11dd4345902c43a5',1,'gspgpu.h']]], + ['gspgpu_5fregisterinterruptrelayqueue_5414',['GSPGPU_RegisterInterruptRelayQueue',['../gspgpu_8h.html#a5ebccf501024a721b2f1ff96abe397ff',1,'gspgpu.h']]], + ['gspgpu_5freleaseright_5415',['GSPGPU_ReleaseRight',['../gspgpu_8h.html#aa163710b32591debd191e2cbf04e5374',1,'gspgpu.h']]], + ['gspgpu_5fresetgpucore_5416',['GSPGPU_ResetGpuCore',['../gspgpu_8h.html#ae4c31cd3321a5f5c5811ba3bdd3e200d',1,'gspgpu.h']]], + ['gspgpu_5frestorevramsysarea_5417',['GSPGPU_RestoreVramSysArea',['../gspgpu_8h.html#a663f1bd4b15c96bf426ccbda06810fba',1,'gspgpu.h']]], + ['gspgpu_5fsavevramsysarea_5418',['GSPGPU_SaveVramSysArea',['../gspgpu_8h.html#a6217cefdce79c05f2ae4fdadfac817b0',1,'gspgpu.h']]], + ['gspgpu_5fsetbufferswap_5419',['GSPGPU_SetBufferSwap',['../gspgpu_8h.html#aee48318b76d5ef9257940b4e35eaf375',1,'gspgpu.h']]], + ['gspgpu_5fsetlcdforceblack_5420',['GSPGPU_SetLcdForceBlack',['../gspgpu_8h.html#a0be2d830a9eccca7b59bf927b7c5e002',1,'gspgpu.h']]], + ['gspgpu_5fsetledforceoff_5421',['GSPGPU_SetLedForceOff',['../gspgpu_8h.html#a5ded369891b53dc76be633e690cb13d1',1,'gspgpu.h']]], + ['gspgpu_5ftriggercmdreqqueue_5422',['GSPGPU_TriggerCmdReqQueue',['../gspgpu_8h.html#aa5d37db7ffdd14031b5f19c6de49f933',1,'gspgpu.h']]], + ['gspgpu_5funregisterinterruptrelayqueue_5423',['GSPGPU_UnregisterInterruptRelayQueue',['../gspgpu_8h.html#a70ca61cd22140cadbf54c55da13eb48c',1,'gspgpu.h']]], + ['gspgpu_5fwritehwregs_5424',['GSPGPU_WriteHWRegs',['../gspgpu_8h.html#a67587eb02d2f0c7e3097e7c79ed04019',1,'gspgpu.h']]], + ['gspgpu_5fwritehwregswithmask_5425',['GSPGPU_WriteHWRegsWithMask',['../gspgpu_8h.html#ad72f4c2b9e9027265e7050d9f38c4293',1,'gspgpu.h']]], + ['gsphasgpuright_5426',['gspHasGpuRight',['../gspgpu_8h.html#aa72b3de059f90ef6d07672269381686f',1,'gspgpu.h']]], + ['gspinit_5427',['gspInit',['../gspgpu_8h.html#a0156b0b24d27e1e93f6c92e75c1addd3',1,'gspgpu.h']]], + ['gspispresentpending_5428',['gspIsPresentPending',['../gspgpu_8h.html#a00c4c184a1c48cca1e823debcfe80aeb',1,'gspgpu.h']]], + ['gsplcd_5fgetbrightness_5429',['GSPLCD_GetBrightness',['../gsplcd_8h.html#a9027215d731dc3b50381b9dc7062449f',1,'gsplcd.h']]], + ['gsplcd_5fgetvendors_5430',['GSPLCD_GetVendors',['../gsplcd_8h.html#a8c84f813827b95a184b1c46799d50130',1,'gsplcd.h']]], + ['gsplcd_5fpoweroffallbacklights_5431',['GSPLCD_PowerOffAllBacklights',['../gsplcd_8h.html#a4ecd2027d6d2a80daf9e48d9e26bb81b',1,'gsplcd.h']]], + ['gsplcd_5fpoweroffbacklight_5432',['GSPLCD_PowerOffBacklight',['../gsplcd_8h.html#aab37be3b12c37b40fb8cc8b80a3bfb30',1,'gsplcd.h']]], + ['gsplcd_5fpoweronallbacklights_5433',['GSPLCD_PowerOnAllBacklights',['../gsplcd_8h.html#ade2e3c688755da31ac267e61456ad57d',1,'gsplcd.h']]], + ['gsplcd_5fpoweronbacklight_5434',['GSPLCD_PowerOnBacklight',['../gsplcd_8h.html#a4ece665f46dd144bd1c68613edaa1fe0',1,'gsplcd.h']]], + ['gsplcd_5fsetbrightness_5435',['GSPLCD_SetBrightness',['../gsplcd_8h.html#ae3abf4198e52eafdb83c6f685dd145c8',1,'gsplcd.h']]], + ['gsplcd_5fsetbrightnessraw_5436',['GSPLCD_SetBrightnessRaw',['../gsplcd_8h.html#a73f48a8c76053ad53406f70620f00bd9',1,'gsplcd.h']]], + ['gsplcd_5fsetledforceoff_5437',['GSPLCD_SetLedForceOff',['../gsplcd_8h.html#a792c8f402b30a4e880faea70b8add21f',1,'gsplcd.h']]], + ['gsplcdexit_5438',['gspLcdExit',['../gsplcd_8h.html#a4e28e055a6f4c781180300f12326d09f',1,'gsplcd.h']]], + ['gsplcdgetsessionhandle_5439',['gspLcdGetSessionHandle',['../gsplcd_8h.html#a108cd9d4ff09bef3f341607bd418399a',1,'gsplcd.h']]], + ['gsplcdinit_5440',['gspLcdInit',['../gsplcd_8h.html#a3e3d897ec34cb4f64efd6dbfed777f0c',1,'gsplcd.h']]], + ['gsppresentbuffer_5441',['gspPresentBuffer',['../gspgpu_8h.html#ac09cf36ea68fa2b035bb898e7a4cc333',1,'gspgpu.h']]], + ['gspseteventcallback_5442',['gspSetEventCallback',['../gspgpu_8h.html#a38080f47e69bd240156ca043c7946b29',1,'gspgpu.h']]], + ['gspsubmitgxcommand_5443',['gspSubmitGxCommand',['../gspgpu_8h.html#a4b46f68de3b67e3ed9a7c5125cb12d8e',1,'gspgpu.h']]], + ['gspwaitforanyevent_5444',['gspWaitForAnyEvent',['../gspgpu_8h.html#a7280943da0262bb75eacc779bf54be87',1,'gspgpu.h']]], + ['gspwaitforevent_5445',['gspWaitForEvent',['../gspgpu_8h.html#a91a03ad378747bc554ff611742727958',1,'gspgpu.h']]], + ['gx_5fbindqueue_5446',['GX_BindQueue',['../gx_8h.html#a119c56e2949ac765e14a315e43d761d9',1,'gx.h']]], + ['gx_5fdisplaytransfer_5447',['GX_DisplayTransfer',['../gx_8h.html#a4de1f2c27d7984b8cf5b93c8913a499b',1,'gx.h']]], + ['gx_5fflushcacheregions_5448',['GX_FlushCacheRegions',['../gx_8h.html#ae5b03c7f32e45b00293e7150a1bc9810',1,'gx.h']]], + ['gx_5fmemoryfill_5449',['GX_MemoryFill',['../gx_8h.html#aa6e39b328383930b64eaa230bc9bc6a0',1,'gx.h']]], + ['gx_5fprocesscommandlist_5450',['GX_ProcessCommandList',['../gx_8h.html#a2346e838070d5029faf7e57a9fdf69bf',1,'gx.h']]], + ['gx_5frequestdma_5451',['GX_RequestDma',['../gx_8h.html#a7020531dad937eb0d9dc0e22a557285e',1,'gx.h']]], + ['gx_5ftexturecopy_5452',['GX_TextureCopy',['../gx_8h.html#a2c1286f84675137eeeadc589654976a2',1,'gx.h']]], + ['gxcmdqueueadd_5453',['gxCmdQueueAdd',['../gx_8h.html#a49f4260c00c2517a50a6967fc2335e28',1,'gx.h']]], + ['gxcmdqueueclear_5454',['gxCmdQueueClear',['../gx_8h.html#aa40b6e85bbb30d85c5e1c7b298868a90',1,'gx.h']]], + ['gxcmdqueuerun_5455',['gxCmdQueueRun',['../gx_8h.html#aaec48f0e503a76a62827305917445d11',1,'gx.h']]], + ['gxcmdqueuesetcallback_5456',['gxCmdQueueSetCallback',['../gx_8h.html#a72c4009dfc0fb8a6e43b7e8e0126a366',1,'gx.h']]], + ['gxcmdqueuestop_5457',['gxCmdQueueStop',['../gx_8h.html#aee8d9de4784ce0864c776780c3bd45fe',1,'gx.h']]], + ['gxcmdqueuewait_5458',['gxCmdQueueWait',['../gx_8h.html#ac00678a0216e7279bef18d9b7b41fbd9',1,'gx.h']]] +]; diff --git a/search/functions_8.html b/search/functions_8.html new file mode 100644 index 000000000..31a1d9503 --- /dev/null +++ b/search/functions_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_8.js b/search/functions_8.js new file mode 100644 index 000000000..e6ad58989 --- /dev/null +++ b/search/functions_8.js @@ -0,0 +1,59 @@ +var searchData= +[ + ['hidaccelread_5459',['hidAccelRead',['../hid_8h.html#adb6764e07c888b3094ad32b09071efe9',1,'hid.h']]], + ['hidcircleread_5460',['hidCircleRead',['../hid_8h.html#a54c0f28a80c0bac4d16afbb7fd06c49b',1,'hid.h']]], + ['hidexit_5461',['hidExit',['../hid_8h.html#ad09721bcf85875a352deb851e1030899',1,'hid.h']]], + ['hidgyroread_5462',['hidGyroRead',['../hid_8h.html#a4c1997053e9484b870e03ed163ae4f09',1,'hid.h']]], + ['hidinit_5463',['hidInit',['../hid_8h.html#a4b0cdecfbd911a3af3fc5990120707e8',1,'hid.h']]], + ['hidkeysdown_5464',['hidKeysDown',['../hid_8h.html#aa2cababf764bf0b4297dc2e2fffe2a76',1,'hid.h']]], + ['hidkeysdownrepeat_5465',['hidKeysDownRepeat',['../hid_8h.html#aa2bc068fbdc1a6d005ea29e89e110f87',1,'hid.h']]], + ['hidkeysheld_5466',['hidKeysHeld',['../hid_8h.html#a68e8fd75a99650db835f045676a47949',1,'hid.h']]], + ['hidkeysup_5467',['hidKeysUp',['../hid_8h.html#acefc6e65ac14a7e02c1c1fd72279eed4',1,'hid.h']]], + ['hidscaninput_5468',['hidScanInput',['../hid_8h.html#abbbf0e1f3a79a75e459e19f85a66bee6',1,'hid.h']]], + ['hidsetrepeatparameters_5469',['hidSetRepeatParameters',['../hid_8h.html#afbe7314c5eed5e65e3e7f13cb34d7526',1,'hid.h']]], + ['hidtouchread_5470',['hidTouchRead',['../hid_8h.html#acbeb326bdd6790f15684c70908403bb8',1,'hid.h']]], + ['hiduser_5fdisableaccelerometer_5471',['HIDUSER_DisableAccelerometer',['../hid_8h.html#a06e44d41ee1e3ed205b58382f0bbc132',1,'hid.h']]], + ['hiduser_5fdisablegyroscope_5472',['HIDUSER_DisableGyroscope',['../hid_8h.html#a57c237b84e47fff05c698be25ac88927',1,'hid.h']]], + ['hiduser_5fenableaccelerometer_5473',['HIDUSER_EnableAccelerometer',['../hid_8h.html#a3e9c47ede52ae0e580df37aa363803ff',1,'hid.h']]], + ['hiduser_5fenablegyroscope_5474',['HIDUSER_EnableGyroscope',['../hid_8h.html#ae3584bb4b9c889158cbe1bafde2507d3',1,'hid.h']]], + ['hiduser_5fgetgyroscoperawtodpscoefficient_5475',['HIDUSER_GetGyroscopeRawToDpsCoefficient',['../hid_8h.html#a02034074323f739bca6217df53206c48',1,'hid.h']]], + ['hiduser_5fgethandles_5476',['HIDUSER_GetHandles',['../hid_8h.html#a8a9406b839e0a81f25216edee4ca5244',1,'hid.h']]], + ['hiduser_5fgetsoundvolume_5477',['HIDUSER_GetSoundVolume',['../hid_8h.html#a60fd42a4ece1353f425d5b73207a330e',1,'hid.h']]], + ['hidwaitforanyevent_5478',['hidWaitForAnyEvent',['../hid_8h.html#a8f8284ca7ac2589b9d948295227ce678',1,'hid.h']]], + ['hidwaitforevent_5479',['hidWaitForEvent',['../hid_8h.html#aedaa5be3b6bcf878907c11d76dc545a3',1,'hid.h']]], + ['httpcadddefaultcert_5480',['httpcAddDefaultCert',['../httpc_8h.html#a2cab0161a0658a3710697ee9c0423d05',1,'httpc.h']]], + ['httpcaddpostdataascii_5481',['httpcAddPostDataAscii',['../httpc_8h.html#a24454dec91560ebb36daa0d53f147428',1,'httpc.h']]], + ['httpcaddpostdatabinary_5482',['httpcAddPostDataBinary',['../httpc_8h.html#a0eaca70f8e0ea6568106993d108bce11',1,'httpc.h']]], + ['httpcaddpostdataraw_5483',['httpcAddPostDataRaw',['../httpc_8h.html#a7c5b528743e6462893d7bd9ecd11bca1',1,'httpc.h']]], + ['httpcaddrequestheaderfield_5484',['httpcAddRequestHeaderField',['../httpc_8h.html#a518ad8e0992bd341c489d5ae0b2fe7aa',1,'httpc.h']]], + ['httpcaddtrustedrootca_5485',['httpcAddTrustedRootCA',['../httpc_8h.html#a1e1a5c6166a3b7bfaa5f452acd764c04',1,'httpc.h']]], + ['httpcbeginrequest_5486',['httpcBeginRequest',['../httpc_8h.html#a004e59467a69491deb1f4fa44b160c81',1,'httpc.h']]], + ['httpccancelconnection_5487',['httpcCancelConnection',['../httpc_8h.html#a8f8158cc91ea695edf2d4fe506f8a8b6',1,'httpc.h']]], + ['httpccloseclientcertcontext_5488',['httpcCloseClientCertContext',['../httpc_8h.html#a4a33b1dbb404c4f78b9ec0b7a5b02ee1',1,'httpc.h']]], + ['httpcclosecontext_5489',['httpcCloseContext',['../httpc_8h.html#ade878d05b08d6c761e165cae4e63ea49',1,'httpc.h']]], + ['httpccreaterootcertchain_5490',['httpcCreateRootCertChain',['../httpc_8h.html#af22f3288fe1b978fb1c1e7088b024f2d',1,'httpc.h']]], + ['httpcdestroyrootcertchain_5491',['httpcDestroyRootCertChain',['../httpc_8h.html#a413541946669b0f85f07002a5dfa0fe7',1,'httpc.h']]], + ['httpcdownloaddata_5492',['httpcDownloadData',['../httpc_8h.html#a62e3e9bfa4c07393a3c149a825451da5',1,'httpc.h']]], + ['httpcexit_5493',['httpcExit',['../httpc_8h.html#a7b4d4079c3afac6ce38dc1244a6d0be1',1,'httpc.h']]], + ['httpcgetdownloadsizestate_5494',['httpcGetDownloadSizeState',['../httpc_8h.html#a1b8077d1e1f871f340f6d93d4731c666',1,'httpc.h']]], + ['httpcgetrequeststate_5495',['httpcGetRequestState',['../httpc_8h.html#a70a9e219190bacbb11eb95094ee8c3f1',1,'httpc.h']]], + ['httpcgetresponseheader_5496',['httpcGetResponseHeader',['../httpc_8h.html#a08124d231e4fd936c516d90e481c1352',1,'httpc.h']]], + ['httpcgetresponsestatuscode_5497',['httpcGetResponseStatusCode',['../httpc_8h.html#a004025b7a5c5ae003e42bebbbdc73952',1,'httpc.h']]], + ['httpcgetresponsestatuscodetimeout_5498',['httpcGetResponseStatusCodeTimeout',['../httpc_8h.html#acdecef13551522531ce287d019326057',1,'httpc.h']]], + ['httpcinit_5499',['httpcInit',['../httpc_8h.html#a5f28efe4eea836febc6ae618200ba7a1',1,'httpc.h']]], + ['httpcopenclientcertcontext_5500',['httpcOpenClientCertContext',['../httpc_8h.html#a07190e9fc2a2f50a097e0cb92e0c87c0',1,'httpc.h']]], + ['httpcopencontext_5501',['httpcOpenContext',['../httpc_8h.html#a6ed4daffa542d35e3a9cd33f61738545',1,'httpc.h']]], + ['httpcopendefaultclientcertcontext_5502',['httpcOpenDefaultClientCertContext',['../httpc_8h.html#a0b37506a0414ea48b9b098ae598bec7f',1,'httpc.h']]], + ['httpcreceivedata_5503',['httpcReceiveData',['../httpc_8h.html#a6af4c5a10432a68c705adac29c50e1e4',1,'httpc.h']]], + ['httpcreceivedatatimeout_5504',['httpcReceiveDataTimeout',['../httpc_8h.html#a5159d5a5198e932ac8f2f13d40ef89cf',1,'httpc.h']]], + ['httpcrootcertchainaddcert_5505',['httpcRootCertChainAddCert',['../httpc_8h.html#afb5aa819772f7aa0540a304425f8c566',1,'httpc.h']]], + ['httpcrootcertchainadddefaultcert_5506',['httpcRootCertChainAddDefaultCert',['../httpc_8h.html#a9336148bc6194431bbe9b46e52ac291d',1,'httpc.h']]], + ['httpcrootcertchainremovecert_5507',['httpcRootCertChainRemoveCert',['../httpc_8h.html#af29138760e47d6d90bd47577d17d07cf',1,'httpc.h']]], + ['httpcselectrootcertchain_5508',['httpcSelectRootCertChain',['../httpc_8h.html#a4b60b715a3729fa085517b4c973d174b',1,'httpc.h']]], + ['httpcsetclientcert_5509',['httpcSetClientCert',['../httpc_8h.html#a971cee3c9136cd37ced5422ba6ef76dc',1,'httpc.h']]], + ['httpcsetclientcertcontext_5510',['httpcSetClientCertContext',['../httpc_8h.html#ab60cd535a6b0b6eb9d785b3e17caab02',1,'httpc.h']]], + ['httpcsetclientcertdefault_5511',['httpcSetClientCertDefault',['../httpc_8h.html#a65b01b4c2c3c8d3805698d682417cb64',1,'httpc.h']]], + ['httpcsetkeepalive_5512',['httpcSetKeepAlive',['../httpc_8h.html#a1be3e33a15f9edd323a56d52b1124fdd',1,'httpc.h']]], + ['httpcsetsslclearopt_5513',['httpcSetSSLClearOpt',['../httpc_8h.html#ac93d03fa9a93a73c18edd53208d28939',1,'httpc.h']]], + ['httpcsetsslopt_5514',['httpcSetSSLOpt',['../httpc_8h.html#ab2942f552241a762fad2894da6657d42',1,'httpc.h']]] +]; diff --git a/search/functions_9.html b/search/functions_9.html new file mode 100644 index 000000000..9a8e4290c --- /dev/null +++ b/search/functions_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_9.js b/search/functions_9.js new file mode 100644 index 000000000..1674b1da0 --- /dev/null +++ b/search/functions_9.js @@ -0,0 +1,36 @@ +var searchData= +[ + ['ipc_5fdesc_5fbuffer_5515',['IPC_Desc_Buffer',['../ipc_8h.html#a950aa9372b06df242eac7f4225ef6f94',1,'ipc.h']]], + ['ipc_5fdesc_5fcurprocessid_5516',['IPC_Desc_CurProcessId',['../ipc_8h.html#a41e3037b6f035d4bc441dae38517366c',1,'ipc.h']]], + ['ipc_5fdesc_5fmovehandles_5517',['IPC_Desc_MoveHandles',['../ipc_8h.html#a17bec8eebca6a31b5561637b63bfcc51',1,'ipc.h']]], + ['ipc_5fdesc_5fpxibuffer_5518',['IPC_Desc_PXIBuffer',['../ipc_8h.html#ae1337c1e25042c4e50f1491747354a41',1,'ipc.h']]], + ['ipc_5fdesc_5fsharedhandles_5519',['IPC_Desc_SharedHandles',['../ipc_8h.html#a0b7ef8528054a032da9d91b79ab5dd2f',1,'ipc.h']]], + ['ipc_5fdesc_5fstaticbuffer_5520',['IPC_Desc_StaticBuffer',['../ipc_8h.html#a173742ba4cc19c4bb4f588e2afdd8d46',1,'ipc.h']]], + ['ipc_5fmakeheader_5521',['IPC_MakeHeader',['../ipc_8h.html#a5fab7f34fb1ec8651bc8645930eeb432',1,'ipc.h']]], + ['irrst_5fgethandles_5522',['IRRST_GetHandles',['../irrst_8h.html#ae13dd3f91f553c59c929714ff61a0d7f',1,'irrst.h']]], + ['irrst_5finitialize_5523',['IRRST_Initialize',['../irrst_8h.html#a91189b34ca23140216288798510ccf37',1,'irrst.h']]], + ['irrst_5fshutdown_5524',['IRRST_Shutdown',['../irrst_8h.html#a73d3e631a1c1e21e7390436c2329985d',1,'irrst.h']]], + ['irrstcstickread_5525',['irrstCstickRead',['../irrst_8h.html#a4120b5fd220f1c0dc973d8154b975b48',1,'irrst.h']]], + ['irrstexit_5526',['irrstExit',['../irrst_8h.html#ae208aace95de96c4a609626feade344b',1,'irrst.h']]], + ['irrstinit_5527',['irrstInit',['../irrst_8h.html#a698caec5300ae01893e5ba5098de834b',1,'irrst.h']]], + ['irrstkeysheld_5528',['irrstKeysHeld',['../irrst_8h.html#a48182185c763fcdca0c0f32daafe0213',1,'irrst.h']]], + ['irrstscaninput_5529',['irrstScanInput',['../irrst_8h.html#a35f403f8df0133df67dda4d52cbc04e8',1,'irrst.h']]], + ['irrstwaitforevent_5530',['irrstWaitForEvent',['../irrst_8h.html#a064e532f7919489e9b1ca82b37340126',1,'irrst.h']]], + ['iru_5fgetbitrate_5531',['IRU_GetBitRate',['../ir_8h.html#af225f13215ddeae367cea4a214a81d8c',1,'ir.h']]], + ['iru_5fgetirledrecvstate_5532',['IRU_GetIRLEDRecvState',['../ir_8h.html#a08cbd4c0783aa431a9b135ed73fe3e5e',1,'ir.h']]], + ['iru_5fgetrecvfinishedevent_5533',['IRU_GetRecvFinishedEvent',['../ir_8h.html#aca2abd4a54c1e3269dbd504e09c8ee0e',1,'ir.h']]], + ['iru_5fgetsendfinishedevent_5534',['IRU_GetSendFinishedEvent',['../ir_8h.html#a167c2251aeb6d0f3d606167a9c301ebc',1,'ir.h']]], + ['iru_5finitialize_5535',['IRU_Initialize',['../ir_8h.html#a57f549bf235cca5da4539ebaee290e93',1,'ir.h']]], + ['iru_5fsetbitrate_5536',['IRU_SetBitRate',['../ir_8h.html#aa4383437d6b0eae7e988c1238a999c8d',1,'ir.h']]], + ['iru_5fsetirledstate_5537',['IRU_SetIRLEDState',['../ir_8h.html#a10b042e43f7ba5e032ebca1566eff158',1,'ir.h']]], + ['iru_5fshutdown_5538',['IRU_Shutdown',['../ir_8h.html#a234f44bd07c0d841858856a451259a37',1,'ir.h']]], + ['iru_5fstartrecvtransfer_5539',['IRU_StartRecvTransfer',['../ir_8h.html#aec19f868632807e0d00c08398d3090c0',1,'ir.h']]], + ['iru_5fstartsendtransfer_5540',['IRU_StartSendTransfer',['../ir_8h.html#add5d0a1c7c738e562db26f3008ed90e2',1,'ir.h']]], + ['iru_5fwaitrecvtransfer_5541',['IRU_WaitRecvTransfer',['../ir_8h.html#a77af2111f453b24084f2666f49e64e62',1,'ir.h']]], + ['iru_5fwaitsendtransfer_5542',['IRU_WaitSendTransfer',['../ir_8h.html#a051bd29b973cc9abbd47cb8149111ada',1,'ir.h']]], + ['iruexit_5543',['iruExit',['../ir_8h.html#a0bb9984d1c401b874964811c6c0b1474',1,'ir.h']]], + ['irugetservhandle_5544',['iruGetServHandle',['../ir_8h.html#a55275125e6beaa8cab539fee3f6c3272',1,'ir.h']]], + ['iruinit_5545',['iruInit',['../ir_8h.html#a0264bd7e7221e35fd291d3601e4661ca',1,'ir.h']]], + ['irurecvdata_5546',['iruRecvData',['../ir_8h.html#a33c1841c23388e9498ff8a1f9a25d7ac',1,'ir.h']]], + ['irusenddata_5547',['iruSendData',['../ir_8h.html#ab1742628da85cddf5953345a36f24361',1,'ir.h']]] +]; diff --git a/search/functions_a.html b/search/functions_a.html new file mode 100644 index 000000000..5ecc152ca --- /dev/null +++ b/search/functions_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_a.js b/search/functions_a.js new file mode 100644 index 000000000..bbac9b12a --- /dev/null +++ b/search/functions_a.js @@ -0,0 +1,33 @@ +var searchData= +[ + ['lightevent_5fclear_5548',['LightEvent_Clear',['../synchronization_8h.html#a6c6fd28b9c7fd324c3e70d30118a06ce',1,'synchronization.h']]], + ['lightevent_5finit_5549',['LightEvent_Init',['../synchronization_8h.html#a2c159aa9078752dbd82da805539b2041',1,'synchronization.h']]], + ['lightevent_5fpulse_5550',['LightEvent_Pulse',['../synchronization_8h.html#a3a54526dc1d5f9e1d84b92ce10194a2d',1,'synchronization.h']]], + ['lightevent_5fsignal_5551',['LightEvent_Signal',['../synchronization_8h.html#acad8ac29952dad0bb22d2453afd38277',1,'synchronization.h']]], + ['lightevent_5ftrywait_5552',['LightEvent_TryWait',['../synchronization_8h.html#a347ff040af029b4bbaae6f65f0e48de9',1,'synchronization.h']]], + ['lightevent_5fwait_5553',['LightEvent_Wait',['../synchronization_8h.html#a0cb8fd551e01b94cd6d0ae23da6a1074',1,'synchronization.h']]], + ['lightevent_5fwaittimeout_5554',['LightEvent_WaitTimeout',['../synchronization_8h.html#aac847c6acd805d89a04984f166349098',1,'synchronization.h']]], + ['lightlock_5finit_5555',['LightLock_Init',['../synchronization_8h.html#a81f625fde46405c1d539b1581d54fb05',1,'synchronization.h']]], + ['lightlock_5flock_5556',['LightLock_Lock',['../synchronization_8h.html#ae75aac6e4bfe30037c8a9de916a6ddb8',1,'synchronization.h']]], + ['lightlock_5ftrylock_5557',['LightLock_TryLock',['../synchronization_8h.html#a1a1d677c021a8487d567f832dea9d9db',1,'synchronization.h']]], + ['lightlock_5funlock_5558',['LightLock_Unlock',['../synchronization_8h.html#a82283ae772ec2eac3a193b1431a681af',1,'synchronization.h']]], + ['lightsemaphore_5facquire_5559',['LightSemaphore_Acquire',['../synchronization_8h.html#ad45ead296d3c1a87bd4e4cc0fb271040',1,'synchronization.h']]], + ['lightsemaphore_5finit_5560',['LightSemaphore_Init',['../synchronization_8h.html#acf3e0856c84bcdfd25c389fe5dd8663d',1,'synchronization.h']]], + ['lightsemaphore_5frelease_5561',['LightSemaphore_Release',['../synchronization_8h.html#a3f99c1cb0adc57d94823312b81e5518c',1,'synchronization.h']]], + ['lightsemaphore_5ftryacquire_5562',['LightSemaphore_TryAcquire',['../synchronization_8h.html#a45ee3fb7b594430648015119f0f6c352',1,'synchronization.h']]], + ['linearalloc_5563',['linearAlloc',['../linear_8h.html#a73a6bd0b398a08f695e16e07267a7424',1,'linear.h']]], + ['linearfree_5564',['linearFree',['../linear_8h.html#aeb28d4069fd209e0067ac185fb9b83e2',1,'linear.h']]], + ['lineargetsize_5565',['linearGetSize',['../linear_8h.html#a39e3e3dd46f82252a4470f84d75c8f47',1,'linear.h']]], + ['linearmemalign_5566',['linearMemAlign',['../linear_8h.html#a9fe68cfcd17878cbcd7f6d08d846798d',1,'linear.h']]], + ['linearrealloc_5567',['linearRealloc',['../linear_8h.html#a4e40b7ae9d3faccf4fcd137cf1952b92',1,'linear.h']]], + ['linearspacefree_5568',['linearSpaceFree',['../linear_8h.html#ab8d8493cef4d6b8b58e2f07f12f5e090',1,'linear.h']]], + ['link3dsconnecttohost_5569',['link3dsConnectToHost',['../3dslink_8h.html#a36e97864ece00580f644ba39d2e0b8fe',1,'3dslink.h']]], + ['link3dsstdio_5570',['link3dsStdio',['../3dslink_8h.html#a53eba8d89b5d8a17f91a4a84e3904ed2',1,'3dslink.h']]], + ['link3dsstdiofordebug_5571',['link3dsStdioForDebug',['../3dslink_8h.html#accd3d099fe5f87e7fa884a739c220ade',1,'3dslink.h']]], + ['loader_5fgetprograminfo_5572',['LOADER_GetProgramInfo',['../loader_8h.html#a681745c9fd51ef6f2339dfec753555f4',1,'loader.h']]], + ['loader_5floadprocess_5573',['LOADER_LoadProcess',['../loader_8h.html#a201c006d0bd37577563e228e1ab7166f',1,'loader.h']]], + ['loader_5fregisterprogram_5574',['LOADER_RegisterProgram',['../loader_8h.html#a88f34584ea1e64478a8e19ff0cc1cc84',1,'loader.h']]], + ['loader_5funregisterprogram_5575',['LOADER_UnregisterProgram',['../loader_8h.html#a92acb8ea4312f21ef0c591f883ef48bc',1,'loader.h']]], + ['loaderexit_5576',['loaderExit',['../loader_8h.html#a7265d2b7f9f9bb34110650c207549ffc',1,'loader.h']]], + ['loaderinit_5577',['loaderInit',['../loader_8h.html#a8a4ba25f161b1784615c95ce07b99993',1,'loader.h']]] +]; diff --git a/search/functions_b.html b/search/functions_b.html new file mode 100644 index 000000000..e301fedd7 --- /dev/null +++ b/search/functions_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_b.js b/search/functions_b.js new file mode 100644 index 000000000..928bffaeb --- /dev/null +++ b/search/functions_b.js @@ -0,0 +1,58 @@ +var searchData= +[ + ['mappablealloc_5578',['mappableAlloc',['../mappable_8h.html#aa57924376b36c85a8aea0c57eeff5ce0',1,'mappable.h']]], + ['mappablefree_5579',['mappableFree',['../mappable_8h.html#ae5c4f0ba891e3a82b8f76253a8e3ac13',1,'mappable.h']]], + ['mappableinit_5580',['mappableInit',['../mappable_8h.html#a50f2df49d6712a44793033f6a3dfc07a',1,'mappable.h']]], + ['mcuhwc_5fget3dsliderlevel_5581',['MCUHWC_Get3dSliderLevel',['../mcuhwc_8h.html#aba220bd0c1621ac22d59a054b47dd7d9',1,'mcuhwc.h']]], + ['mcuhwc_5fgetbatterylevel_5582',['MCUHWC_GetBatteryLevel',['../mcuhwc_8h.html#a389c0cd8f4b0d664a72bd3b0ff40a359',1,'mcuhwc.h']]], + ['mcuhwc_5fgetbatteryvoltage_5583',['MCUHWC_GetBatteryVoltage',['../mcuhwc_8h.html#a8d802328caeb7b975e92d8dc99ea8e5a',1,'mcuhwc.h']]], + ['mcuhwc_5fgetfwverhigh_5584',['MCUHWC_GetFwVerHigh',['../mcuhwc_8h.html#a96c894a412095aed6ba108ff3ea0dcf4',1,'mcuhwc.h']]], + ['mcuhwc_5fgetfwverlow_5585',['MCUHWC_GetFwVerLow',['../mcuhwc_8h.html#a38c45aafa4ff30ca18273d310b7bddaa',1,'mcuhwc.h']]], + ['mcuhwc_5fgetsoundsliderlevel_5586',['MCUHWC_GetSoundSliderLevel',['../mcuhwc_8h.html#a7bfe72c086ad88cae962c156fc8fdd18',1,'mcuhwc.h']]], + ['mcuhwc_5freadregister_5587',['MCUHWC_ReadRegister',['../mcuhwc_8h.html#a2c3df587f208073b09386754c8c49cc7',1,'mcuhwc.h']]], + ['mcuhwc_5fsetpowerledstate_5588',['MCUHWC_SetPowerLedState',['../mcuhwc_8h.html#a6193c9f5b52bf44c15b1456811137670',1,'mcuhwc.h']]], + ['mcuhwc_5fsetwifiledstate_5589',['MCUHWC_SetWifiLedState',['../mcuhwc_8h.html#ada094d994f3ff3fb16c7084a0a109bc0',1,'mcuhwc.h']]], + ['mcuhwc_5fwriteregister_5590',['MCUHWC_WriteRegister',['../mcuhwc_8h.html#a5e720a5410b1dd0e65493b5332c587f2',1,'mcuhwc.h']]], + ['mcuhwcexit_5591',['mcuHwcExit',['../mcuhwc_8h.html#adc434fe29cd5d664fe7559a904da5c07',1,'mcuhwc.h']]], + ['mcuhwcgetsessionhandle_5592',['mcuHwcGetSessionHandle',['../mcuhwc_8h.html#ad8f961927d162f978bf37d5925e5608a',1,'mcuhwc.h']]], + ['mcuhwcinit_5593',['mcuHwcInit',['../mcuhwc_8h.html#a45296be24ea40904294e466245052200',1,'mcuhwc.h']]], + ['micexit_5594',['micExit',['../mic_8h.html#a5de3831a1aa13b444a812ebfef218361',1,'mic.h']]], + ['micgetlastsampleoffset_5595',['micGetLastSampleOffset',['../mic_8h.html#aa2590afec7ac205e877ab94c9203a4c9',1,'mic.h']]], + ['micgetsampledatasize_5596',['micGetSampleDataSize',['../mic_8h.html#a09361b33179e9ca5fd099161cf25d70a',1,'mic.h']]], + ['micinit_5597',['micInit',['../mic_8h.html#a01ab8a1440cd4d38855336e47e5ae380',1,'mic.h']]], + ['micu_5fadjustsampling_5598',['MICU_AdjustSampling',['../mic_8h.html#afdc168c4f160192b7b3b04e49d15ec86',1,'mic.h']]], + ['micu_5fgetclamp_5599',['MICU_GetClamp',['../mic_8h.html#aed8b72fbff68362b9c6a047a0b0c7307',1,'mic.h']]], + ['micu_5fgeteventhandle_5600',['MICU_GetEventHandle',['../mic_8h.html#a8f17c21f1420682eb699cf39adf537b2',1,'mic.h']]], + ['micu_5fgetgain_5601',['MICU_GetGain',['../mic_8h.html#add912c11a5b5ff8dabe224e2f380be9b',1,'mic.h']]], + ['micu_5fgetpower_5602',['MICU_GetPower',['../mic_8h.html#a38f4599e0d974a89a4448b3a53360cc6',1,'mic.h']]], + ['micu_5fissampling_5603',['MICU_IsSampling',['../mic_8h.html#a42078893931d09a8b27f3306c7f13a29',1,'mic.h']]], + ['micu_5fmapsharedmem_5604',['MICU_MapSharedMem',['../mic_8h.html#a3dd3e9152bbddcafe2babc371c210222',1,'mic.h']]], + ['micu_5fsetallowshellclosed_5605',['MICU_SetAllowShellClosed',['../mic_8h.html#a913ee846ab9633883625e6477ae10cdf',1,'mic.h']]], + ['micu_5fsetclamp_5606',['MICU_SetClamp',['../mic_8h.html#a0a156a0b69714f334c004c7137a7592c',1,'mic.h']]], + ['micu_5fsetgain_5607',['MICU_SetGain',['../mic_8h.html#a0c29ffb2d0addbaca328d8aad082e3bf',1,'mic.h']]], + ['micu_5fsetpower_5608',['MICU_SetPower',['../mic_8h.html#a3a26bd2ff5eeaaf538df29230b3fda61',1,'mic.h']]], + ['micu_5fstartsampling_5609',['MICU_StartSampling',['../mic_8h.html#a79266af4aa50d790fba3680d423f6ff0',1,'mic.h']]], + ['micu_5fstopsampling_5610',['MICU_StopSampling',['../mic_8h.html#a7ea7f514ee9e50db3bc49bd3106fa967',1,'mic.h']]], + ['micu_5funmapsharedmem_5611',['MICU_UnmapSharedMem',['../mic_8h.html#ab728c230d454422b4fdc119eec7f0510',1,'mic.h']]], + ['miiselectorblacklistguestmii_5612',['miiSelectorBlacklistGuestMii',['../miiselector_8h.html#a275f55a37cdd2184d30ee15e4968ed7e',1,'miiselector.h']]], + ['miiselectorblacklistusermii_5613',['miiSelectorBlacklistUserMii',['../miiselector_8h.html#ac31b08d33d6a52b13135014c26a2da3c',1,'miiselector.h']]], + ['miiselectorchecksumisvalid_5614',['miiSelectorChecksumIsValid',['../miiselector_8h.html#af45eab5584694b1eafa9705de33f8414',1,'miiselector.h']]], + ['miiselectorinit_5615',['miiSelectorInit',['../miiselector_8h.html#aee7ebbbc0e2a6194b82afaab0114bc82',1,'miiselector.h']]], + ['miiselectorlaunch_5616',['miiSelectorLaunch',['../miiselector_8h.html#a5e87bea7849b1c5df0fc98a4ff13c47a',1,'miiselector.h']]], + ['miiselectorreturngetauthor_5617',['miiSelectorReturnGetAuthor',['../miiselector_8h.html#af334a980703d5f15bfff9aae8e8e1721',1,'miiselector.h']]], + ['miiselectorreturngetname_5618',['miiSelectorReturnGetName',['../miiselector_8h.html#a5549d566f70eda93494a7c54e55dbbf7',1,'miiselector.h']]], + ['miiselectorsetinitialindex_5619',['miiSelectorSetInitialIndex',['../miiselector_8h.html#a47913b909a7fdd0df4d0e331717e2ee2',1,'miiselector.h']]], + ['miiselectorsetoptions_5620',['miiSelectorSetOptions',['../miiselector_8h.html#a7e092174e706fcdff31b3f6542030de2',1,'miiselector.h']]], + ['miiselectorsettitle_5621',['miiSelectorSetTitle',['../miiselector_8h.html#aa83accf80223e94897553b9c7552af7c',1,'miiselector.h']]], + ['miiselectorwhitelistguestmii_5622',['miiSelectorWhitelistGuestMii',['../miiselector_8h.html#ae9388f43048f217ea6fe3a6eb9e3c7ed',1,'miiselector.h']]], + ['miiselectorwhitelistusermii_5623',['miiSelectorWhitelistUserMii',['../miiselector_8h.html#a0037dcd54349053a1e0147c614f354f8',1,'miiselector.h']]], + ['mvdstd_5fsetconfig_5624',['MVDSTD_SetConfig',['../mvd_8h.html#a0d0db5e2224e50518ceb498847a0f17b',1,'mvd.h']]], + ['mvdstdconvertimage_5625',['mvdstdConvertImage',['../mvd_8h.html#af0dbfd085a2f01e66820d2883a5e6231',1,'mvd.h']]], + ['mvdstdexit_5626',['mvdstdExit',['../mvd_8h.html#a0268fc860c200937a3519b8aba79af95',1,'mvd.h']]], + ['mvdstdgeneratedefaultconfig_5627',['mvdstdGenerateDefaultConfig',['../mvd_8h.html#a8d335b785a9731e0184c5975c59ed1d8',1,'mvd.h']]], + ['mvdstdinit_5628',['mvdstdInit',['../mvd_8h.html#ab03653fc6535a3eea8df35fd232a6074',1,'mvd.h']]], + ['mvdstdoverrideoutputbuffers_5629',['mvdstdOverrideOutputBuffers',['../mvd_8h.html#adb7636ba2c6192d82923f13b6d4c73ea',1,'mvd.h']]], + ['mvdstdprocessvideoframe_5630',['mvdstdProcessVideoFrame',['../mvd_8h.html#afa23e5c76c315a032cf010a335669015',1,'mvd.h']]], + ['mvdstdrendervideoframe_5631',['mvdstdRenderVideoFrame',['../mvd_8h.html#a540d504cc4bbe5f199bc32d32a5a87e1',1,'mvd.h']]], + ['mvdstdsetupoutputbuffers_5632',['mvdstdSetupOutputBuffers',['../mvd_8h.html#a200b8c00ddffc127e6d7f47152974d54',1,'mvd.h']]] +]; diff --git a/search/functions_c.html b/search/functions_c.html new file mode 100644 index 000000000..c4f326877 --- /dev/null +++ b/search/functions_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_c.js b/search/functions_c.js new file mode 100644 index 000000000..3f05a7d5e --- /dev/null +++ b/search/functions_c.js @@ -0,0 +1,132 @@ +var searchData= +[ + ['ndmu_5fclearmacfilter_5633',['NDMU_ClearMacFilter',['../ndm_8h.html#ac9fbd18b9eb14c05bf660fab6f9c3845',1,'ndm.h']]], + ['ndmu_5fenterexclusivestate_5634',['NDMU_EnterExclusiveState',['../ndm_8h.html#a5c21fd857b7a3753924da6ad481ce002',1,'ndm.h']]], + ['ndmu_5fgetcurrentstate_5635',['NDMU_GetCurrentState',['../ndm_8h.html#a83703bddc92c4cb754288513f339d48a',1,'ndm.h']]], + ['ndmu_5fgetdefaultdaemons_5636',['NDMU_GetDefaultDaemons',['../ndm_8h.html#a2c6075c27969b4fd4a34c7b1a798a132',1,'ndm.h']]], + ['ndmu_5fgetexclusivestate_5637',['NDMU_GetExclusiveState',['../ndm_8h.html#a1771a0b2d8335258dac1516c075c6479',1,'ndm.h']]], + ['ndmu_5fgetretryinterval_5638',['NDMU_GetRetryInterval',['../ndm_8h.html#a0bfdcfa3a1404b602401a28f9862ab2c',1,'ndm.h']]], + ['ndmu_5fgetscaninterval_5639',['NDMU_GetScanInterval',['../ndm_8h.html#a605a5043fb2a8fa9472b902db55662b9',1,'ndm.h']]], + ['ndmu_5fleaveexclusivestate_5640',['NDMU_LeaveExclusiveState',['../ndm_8h.html#a15a77b103022b32b142000584fb7d72c',1,'ndm.h']]], + ['ndmu_5flockstate_5641',['NDMU_LockState',['../ndm_8h.html#a53d48b44be668e44985b2de992f123b1',1,'ndm.h']]], + ['ndmu_5fquerystatus_5642',['NDMU_QueryStatus',['../ndm_8h.html#a7a64430fda1f35ff7f8f35e9690fae8a',1,'ndm.h']]], + ['ndmu_5fresetdaemons_5643',['NDMU_ResetDaemons',['../ndm_8h.html#aa265df104d1d158a55a921ad26fef7f4',1,'ndm.h']]], + ['ndmu_5fresumedaemons_5644',['NDMU_ResumeDaemons',['../ndm_8h.html#af7abcdefe0c10daf73a8f99bf34f9976',1,'ndm.h']]], + ['ndmu_5fresumescheduler_5645',['NDMU_ResumeScheduler',['../ndm_8h.html#a6bad2398748f41fc90eec02105ce7817',1,'ndm.h']]], + ['ndmu_5fsetscaninterval_5646',['NDMU_SetScanInterval',['../ndm_8h.html#aabb6e8ebbfd11bf8f153e98141db0fb8',1,'ndm.h']]], + ['ndmu_5fsuspenddaemons_5647',['NDMU_SuspendDaemons',['../ndm_8h.html#a1f6ba2302d593958ef4b044c31a2d85f',1,'ndm.h']]], + ['ndmu_5fsuspendscheduler_5648',['NDMU_SuspendScheduler',['../ndm_8h.html#a7bf60778681c0e7935b58adbe1ec1640',1,'ndm.h']]], + ['ndmu_5funlockstate_5649',['NDMU_UnlockState',['../ndm_8h.html#a644c0558c348d3ed63f21294afc7c570',1,'ndm.h']]], + ['ndmuexit_5650',['ndmuExit',['../ndm_8h.html#ab1eb884a130b4d224fe9575622e43c5b',1,'ndm.h']]], + ['ndmuinit_5651',['ndmuInit',['../ndm_8h.html#ac2f23c69f3da35fe520d1c5e9a0a0af3',1,'ndm.h']]], + ['ndspauxgetfrontbypass_5652',['ndspAuxGetFrontBypass',['../ndsp_8h.html#a08dfa162e7c8b645b4bcf6a30cc89d33',1,'ndsp.h']]], + ['ndspauxgetvolume_5653',['ndspAuxGetVolume',['../ndsp_8h.html#a0a794d7a270ea45152aee0cb627ad5c9',1,'ndsp.h']]], + ['ndspauxisenabled_5654',['ndspAuxIsEnabled',['../ndsp_8h.html#a32b7786e218a8478446d943cf4d8fa99',1,'ndsp.h']]], + ['ndspauxsetcallback_5655',['ndspAuxSetCallback',['../ndsp_8h.html#a3d50a5aefd0c07489db48c012f14743d',1,'ndsp.h']]], + ['ndspauxsetenable_5656',['ndspAuxSetEnable',['../ndsp_8h.html#a97972972fe7da567764ea131cc24839e',1,'ndsp.h']]], + ['ndspauxsetfrontbypass_5657',['ndspAuxSetFrontBypass',['../ndsp_8h.html#a6afdf67a090c45e19cf3c520978fdbb3',1,'ndsp.h']]], + ['ndspauxsetvolume_5658',['ndspAuxSetVolume',['../ndsp_8h.html#ac9cef68b897e24ba19f734879b5866da',1,'ndsp.h']]], + ['ndspchngetformat_5659',['ndspChnGetFormat',['../channel_8h.html#a10f1f8593e8df973c62a16367731c590',1,'channel.h']]], + ['ndspchngetinterp_5660',['ndspChnGetInterp',['../channel_8h.html#a5b51c4320d90814f037c1d58140ff17f',1,'channel.h']]], + ['ndspchngetmix_5661',['ndspChnGetMix',['../channel_8h.html#a42c4aac60efde6f7b5ab273aee906a62',1,'channel.h']]], + ['ndspchngetrate_5662',['ndspChnGetRate',['../channel_8h.html#afc939493191883e908783048fa0216b4',1,'channel.h']]], + ['ndspchngetsamplepos_5663',['ndspChnGetSamplePos',['../channel_8h.html#a827bf43cb8dd8ccaa74a29456589a39d',1,'channel.h']]], + ['ndspchngetwavebufseq_5664',['ndspChnGetWaveBufSeq',['../channel_8h.html#a17607395e3725f7a35b4395cbd59cb60',1,'channel.h']]], + ['ndspchniirbiquadsetenable_5665',['ndspChnIirBiquadSetEnable',['../channel_8h.html#aafb95ce3188816694c51e30d7a64d8af',1,'channel.h']]], + ['ndspchniirbiquadsetparamsbandpassfilter_5666',['ndspChnIirBiquadSetParamsBandPassFilter',['../channel_8h.html#af6c9d1d59c93164aae5a54ee7e8db2a9',1,'channel.h']]], + ['ndspchniirbiquadsetparamscustomfilter_5667',['ndspChnIirBiquadSetParamsCustomFilter',['../channel_8h.html#a7334f9d5dc89a43a5a78877665281fdc',1,'channel.h']]], + ['ndspchniirbiquadsetparamshighpassfilter_5668',['ndspChnIirBiquadSetParamsHighPassFilter',['../channel_8h.html#a8f543d0b8a10acbfb380b93b7bd47a75',1,'channel.h']]], + ['ndspchniirbiquadsetparamslowpassfilter_5669',['ndspChnIirBiquadSetParamsLowPassFilter',['../channel_8h.html#a78516636efb5eacd7b88ee54bd15bfb3',1,'channel.h']]], + ['ndspchniirbiquadsetparamsnotchfilter_5670',['ndspChnIirBiquadSetParamsNotchFilter',['../channel_8h.html#a671f5c90eb859c13eab4adf29f7943b3',1,'channel.h']]], + ['ndspchniirbiquadsetparamspeakingequalizer_5671',['ndspChnIirBiquadSetParamsPeakingEqualizer',['../channel_8h.html#a9ebeb91e95d5146358d0923a9d6fee0a',1,'channel.h']]], + ['ndspchniirmonosetenable_5672',['ndspChnIirMonoSetEnable',['../channel_8h.html#a1da3b363c2edfd318c92276b527daae6',1,'channel.h']]], + ['ndspchniirmonosetparamscustomfilter_5673',['ndspChnIirMonoSetParamsCustomFilter',['../channel_8h.html#a4b7db8c300510523f0d13b4a88416c4d',1,'channel.h']]], + ['ndspchniirmonosetparamshighpassfilter_5674',['ndspChnIirMonoSetParamsHighPassFilter',['../channel_8h.html#a7e45d6a7193825ea7cd9bf9c6b8a6548',1,'channel.h']]], + ['ndspchniirmonosetparamslowpassfilter_5675',['ndspChnIirMonoSetParamsLowPassFilter',['../channel_8h.html#abebeff0925fc86405750720efc11a7d0',1,'channel.h']]], + ['ndspchninitparams_5676',['ndspChnInitParams',['../channel_8h.html#a0936956c6d5700cdbab4ea3e3304f19d',1,'channel.h']]], + ['ndspchnispaused_5677',['ndspChnIsPaused',['../channel_8h.html#a8a14aa007d2ca0d6e87a90edf64e03b5',1,'channel.h']]], + ['ndspchnisplaying_5678',['ndspChnIsPlaying',['../channel_8h.html#a0eee6c9ebf357c8d55d087a378178f9b',1,'channel.h']]], + ['ndspchnreset_5679',['ndspChnReset',['../channel_8h.html#a7b755904976d3b04b3303475d9605bd8',1,'channel.h']]], + ['ndspchnsetadpcmcoefs_5680',['ndspChnSetAdpcmCoefs',['../channel_8h.html#adbd48651f22341bb93cb9b7f1304a00f',1,'channel.h']]], + ['ndspchnsetformat_5681',['ndspChnSetFormat',['../channel_8h.html#a7986171c79c227443ef5ea60c464de23',1,'channel.h']]], + ['ndspchnsetinterp_5682',['ndspChnSetInterp',['../channel_8h.html#ac98e0b63e35e22aeea5265fd93f5206f',1,'channel.h']]], + ['ndspchnsetmix_5683',['ndspChnSetMix',['../channel_8h.html#a30eb26f1972cc3ec28370263796c0444',1,'channel.h']]], + ['ndspchnsetpaused_5684',['ndspChnSetPaused',['../channel_8h.html#acdd5e211d825656d78503e111e98de6e',1,'channel.h']]], + ['ndspchnsetrate_5685',['ndspChnSetRate',['../channel_8h.html#a6f1076a8981a5b6722b912ca969162ea',1,'channel.h']]], + ['ndspchnwavebufadd_5686',['ndspChnWaveBufAdd',['../channel_8h.html#a354a90dd921879724d62d325c0128d6b',1,'channel.h']]], + ['ndspchnwavebufclear_5687',['ndspChnWaveBufClear',['../channel_8h.html#a054a58a102d00590a33101fe0de516e6',1,'channel.h']]], + ['ndspexit_5688',['ndspExit',['../ndsp_8h.html#aa677674b20004d3d5fd620bdc1cb8afa',1,'ndsp.h']]], + ['ndspgetclippingmode_5689',['ndspGetClippingMode',['../ndsp_8h.html#a727572e06db906509d900c9a763bc7d3',1,'ndsp.h']]], + ['ndspgetdroppedframes_5690',['ndspGetDroppedFrames',['../ndsp_8h.html#a103449d7ddeb2814f6105916f3dfd11f',1,'ndsp.h']]], + ['ndspgetframecount_5691',['ndspGetFrameCount',['../ndsp_8h.html#a8b7e40b247efd6949e4a18a81895739e',1,'ndsp.h']]], + ['ndspgetmastervol_5692',['ndspGetMasterVol',['../ndsp_8h.html#a48a77b511ac2dd67fbe75c759f1ab53d',1,'ndsp.h']]], + ['ndspgetoutputcount_5693',['ndspGetOutputCount',['../ndsp_8h.html#aca1e2aa8184a66fd6d0640672fae7c54',1,'ndsp.h']]], + ['ndspgetoutputmode_5694',['ndspGetOutputMode',['../ndsp_8h.html#a92e686cb96ab1ad4271dab11b85e98e3',1,'ndsp.h']]], + ['ndspinit_5695',['ndspInit',['../ndsp_8h.html#af291186c61a1899c748aac58662d7ba4',1,'ndsp.h']]], + ['ndspsetcallback_5696',['ndspSetCallback',['../ndsp_8h.html#a6e54ee9185248b1d4a120396bfbf5603',1,'ndsp.h']]], + ['ndspsetcapture_5697',['ndspSetCapture',['../ndsp_8h.html#ac5271edca9a280bca385295aea413a84',1,'ndsp.h']]], + ['ndspsetclippingmode_5698',['ndspSetClippingMode',['../ndsp_8h.html#ad294c6cec5824d53a92a2a9db43f672a',1,'ndsp.h']]], + ['ndspsetmastervol_5699',['ndspSetMasterVol',['../ndsp_8h.html#aa9c115610bf7827b73edbc2579e4b18b',1,'ndsp.h']]], + ['ndspsetoutputcount_5700',['ndspSetOutputCount',['../ndsp_8h.html#a15e3d9f39a89eb0231dc4f9b272e42be',1,'ndsp.h']]], + ['ndspsetoutputmode_5701',['ndspSetOutputMode',['../ndsp_8h.html#a49a1a618032d220adf0007353273ebc0',1,'ndsp.h']]], + ['ndspsurroundgetdepth_5702',['ndspSurroundGetDepth',['../ndsp_8h.html#a759dcdad6b63562605ce74526d57a0a5',1,'ndsp.h']]], + ['ndspsurroundgetpos_5703',['ndspSurroundGetPos',['../ndsp_8h.html#a29442221a5f36528788951f2c7bd4fff',1,'ndsp.h']]], + ['ndspsurroundgetrearratio_5704',['ndspSurroundGetRearRatio',['../ndsp_8h.html#a34bd63715a28ab4f8faa367d841b4904',1,'ndsp.h']]], + ['ndspsurroundsetdepth_5705',['ndspSurroundSetDepth',['../ndsp_8h.html#ac2490547f4cc87ce71bd22aa49366649',1,'ndsp.h']]], + ['ndspsurroundsetpos_5706',['ndspSurroundSetPos',['../ndsp_8h.html#a4a946928ccdd63672289b74302a39dfa',1,'ndsp.h']]], + ['ndspsurroundsetrearratio_5707',['ndspSurroundSetRearRatio',['../ndsp_8h.html#afbada5995eafed2c04a12a124e752fa1',1,'ndsp.h']]], + ['ndspusecomponent_5708',['ndspUseComponent',['../ndsp_8h.html#a50a0fa4fb97bbab2d0b862d0e1c2a341',1,'ndsp.h']]], + ['news_5faddnotification_5709',['NEWS_AddNotification',['../news_8h.html#a30e06799b2696add95150e6118a461d9',1,'news.h']]], + ['news_5fgetnotificationheader_5710',['NEWS_GetNotificationHeader',['../news_8h.html#a5665c31905bc14e022c3b2fec23e1e59',1,'news.h']]], + ['news_5fgetnotificationimage_5711',['NEWS_GetNotificationImage',['../news_8h.html#a3d4541cfc3e4adf22d71a304715a7e52',1,'news.h']]], + ['news_5fgetnotificationmessage_5712',['NEWS_GetNotificationMessage',['../news_8h.html#a342d7f3c7169e0aec161bf1c5c75ac19',1,'news.h']]], + ['news_5fgettotalnotifications_5713',['NEWS_GetTotalNotifications',['../news_8h.html#a07345dad4ba2b7440c75914d2f1121fb',1,'news.h']]], + ['news_5fsetnotificationheader_5714',['NEWS_SetNotificationHeader',['../news_8h.html#a97cb83db73c7b92077febb9e296b9709',1,'news.h']]], + ['news_5fsetnotificationimage_5715',['NEWS_SetNotificationImage',['../news_8h.html#a29892d78e9e4d55dfc26e4498d748531',1,'news.h']]], + ['news_5fsetnotificationmessage_5716',['NEWS_SetNotificationMessage',['../news_8h.html#a8c44f1783dda6c1e8460f188190a8562',1,'news.h']]], + ['newsexit_5717',['newsExit',['../news_8h.html#aa23120983d46631b08ac6205a55124bd',1,'news.h']]], + ['newsinit_5718',['newsInit',['../news_8h.html#a3c194c45cf4af52ee77038055569be7d',1,'news.h']]], + ['nfccmd21_5719',['nfcCmd21',['../nfc_8h.html#a24c86d1a32ec011bad1c2bdae1eb8e26',1,'nfc.h']]], + ['nfccmd22_5720',['nfcCmd22',['../nfc_8h.html#a0c46ce5e0bb848fc966821278a76646c',1,'nfc.h']]], + ['nfcexit_5721',['nfcExit',['../nfc_8h.html#a28d582228da24339528ddb84ab6224f8',1,'nfc.h']]], + ['nfcgetamiiboconfig_5722',['nfcGetAmiiboConfig',['../nfc_8h.html#a26dccce0f9fa807abf31ffa5cf5c28e7',1,'nfc.h']]], + ['nfcgetamiibosettings_5723',['nfcGetAmiiboSettings',['../nfc_8h.html#ab3072a287fd53717e05c8aca7265ad1c',1,'nfc.h']]], + ['nfcgetsessionhandle_5724',['nfcGetSessionHandle',['../nfc_8h.html#acd3f71363e602913e0a5f3b980fa09e3',1,'nfc.h']]], + ['nfcgettaginfo_5725',['nfcGetTagInfo',['../nfc_8h.html#a10329321c3f31c5b4c5f273c54497b1f',1,'nfc.h']]], + ['nfcgettagstate_5726',['nfcGetTagState',['../nfc_8h.html#a7e0e09ac27a6ceefea37fa33c0330b7b',1,'nfc.h']]], + ['nfcinit_5727',['nfcInit',['../nfc_8h.html#a7596b3f973da03255dc6528bf1000092',1,'nfc.h']]], + ['nfcinitializewriteappdata_5728',['nfcInitializeWriteAppData',['../nfc_8h.html#adba9904e5419fd1116639802ee4f3976',1,'nfc.h']]], + ['nfcloadamiibodata_5729',['nfcLoadAmiiboData',['../nfc_8h.html#a56c7173fe91f49f79098da6db466df1b',1,'nfc.h']]], + ['nfcopenappdata_5730',['nfcOpenAppData',['../nfc_8h.html#a9a0588d2d7bf6174b21fdb1d18d325b7',1,'nfc.h']]], + ['nfcreadappdata_5731',['nfcReadAppData',['../nfc_8h.html#a96eaa70e51883928d1289391ac6d0e99',1,'nfc.h']]], + ['nfcresettagscanstate_5732',['nfcResetTagScanState',['../nfc_8h.html#a9d3c5604801770e2e8b9ae1298c4834d',1,'nfc.h']]], + ['nfcsendtagcommand_5733',['nfcSendTagCommand',['../nfc_8h.html#a927cd24bd9c4018521ff205b8603c1cb',1,'nfc.h']]], + ['nfcstartothertagscanning_5734',['nfcStartOtherTagScanning',['../nfc_8h.html#abc0100533e84183043289003958ea15a',1,'nfc.h']]], + ['nfcstartscanning_5735',['nfcStartScanning',['../nfc_8h.html#ac3ef0b90950c2111d60dce85bcebbc25',1,'nfc.h']]], + ['nfcstopscanning_5736',['nfcStopScanning',['../nfc_8h.html#aed548d946f176cb58d27f02eb3f8788b',1,'nfc.h']]], + ['nfcupdatestoredamiibodata_5737',['nfcUpdateStoredAmiiboData',['../nfc_8h.html#a25d99d1157eba6cd04662e73bfad21d7',1,'nfc.h']]], + ['nfcwriteappdata_5738',['nfcWriteAppData',['../nfc_8h.html#ae123ea01db425b1a36f3d423a058f3a3',1,'nfc.h']]], + ['nims_5fcanceldownload_5739',['NIMS_CancelDownload',['../nim_8h.html#acf484fbb6635b63ab2847b296779c9f8',1,'nim.h']]], + ['nims_5fgetprogress_5740',['NIMS_GetProgress',['../nim_8h.html#a0ef7f8459de9f4958d1e253e3c694729',1,'nim.h']]], + ['nims_5fistaskregistered_5741',['NIMS_IsTaskRegistered',['../nim_8h.html#a4b5c1dac154b7404026f80f236b2680e',1,'nim.h']]], + ['nims_5fmaketitleconfig_5742',['NIMS_MakeTitleConfig',['../nim_8h.html#a7857353d69c545e7344ce0bb02c7a3fb',1,'nim.h']]], + ['nims_5fregistertask_5743',['NIMS_RegisterTask',['../nim_8h.html#a527810dd91a67958db3ee33f983cd096',1,'nim.h']]], + ['nims_5fsetattribute_5744',['NIMS_SetAttribute',['../nim_8h.html#a264e9755efb053f7f17a885ed063b1f2',1,'nim.h']]], + ['nims_5fstartdownload_5745',['NIMS_StartDownload',['../nim_8h.html#a61f586836dbf5d41371bd2bd486fe6d3',1,'nim.h']]], + ['nims_5fstartdownloadsimple_5746',['NIMS_StartDownloadSimple',['../nim_8h.html#a325728e8375e66624684dad64c9f5e40',1,'nim.h']]], + ['nims_5funregistertask_5747',['NIMS_UnregisterTask',['../nim_8h.html#a143b0d7bc64225a9880c63f85678ec6d',1,'nim.h']]], + ['nims_5fwantupdate_5748',['NIMS_WantUpdate',['../nim_8h.html#ae79e9ff71afc4b4ab1ca30721c82cff1',1,'nim.h']]], + ['nimsexit_5749',['nimsExit',['../nim_8h.html#ab0f1115938ab76c143bf32263c0fe540',1,'nim.h']]], + ['nimsgetsessionhandle_5750',['nimsGetSessionHandle',['../nim_8h.html#ae12ebc36a717c32ad90685d3b7bd1030',1,'nim.h']]], + ['nimsinit_5751',['nimsInit',['../nim_8h.html#aa65aaa1ba6a79aead24799ee7eae042b',1,'nim.h']]], + ['nimsinitwithtin_5752',['nimsInitWithTIN',['../nim_8h.html#a19695db5f26a4bae2adef4e31f3c2288',1,'nim.h']]], + ['ns_5flaunchapplicationfirm_5753',['NS_LaunchApplicationFIRM',['../ns_8h.html#a01293499195c2b40a46bf68941008fd6',1,'ns.h']]], + ['ns_5flaunchfirm_5754',['NS_LaunchFIRM',['../ns_8h.html#a918d9ee332a423e8b0ac9c7fd7043781',1,'ns.h']]], + ['ns_5flaunchtitle_5755',['NS_LaunchTitle',['../ns_8h.html#a6a9f9fa41eae5ab2378c1ab269ad0a96',1,'ns.h']]], + ['ns_5frebootsystem_5756',['NS_RebootSystem',['../ns_8h.html#a31e34f83a443c013f62393050638a581',1,'ns.h']]], + ['ns_5freboottotitle_5757',['NS_RebootToTitle',['../ns_8h.html#a06e05e3cb511baecbb7a6d245c188df0',1,'ns.h']]], + ['ns_5fterminateprocesstid_5758',['NS_TerminateProcessTID',['../ns_8h.html#aa451e546d4aa3cb2692767f0a20c63c3',1,'ns.h']]], + ['ns_5fterminatetitle_5759',['NS_TerminateTitle',['../ns_8h.html#a7c6a744f3bb54027c9d40b0e72b4bfae',1,'ns.h']]], + ['nsexit_5760',['nsExit',['../ns_8h.html#a410b45f7f12874e4ccf6bc21e80e4568',1,'ns.h']]], + ['nsinit_5761',['nsInit',['../ns_8h.html#aa3e020968b46610d05db16f1249a6650',1,'ns.h']]] +]; diff --git a/search/functions_d.html b/search/functions_d.html new file mode 100644 index 000000000..7a1ed065d --- /dev/null +++ b/search/functions_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_d.js b/search/functions_d.js new file mode 100644 index 000000000..f09ae2830 --- /dev/null +++ b/search/functions_d.js @@ -0,0 +1,24 @@ +var searchData= +[ + ['osconvertoldlinearmemtonew_5762',['osConvertOldLINEARMemToNew',['../os_8h.html#a41ed4b6791dc260649c69b1c065f232e',1,'os.h']]], + ['osconvertvirttophys_5763',['osConvertVirtToPhys',['../os_8h.html#ad5be83050dcdaf4ba7824a2afd420866',1,'os.h']]], + ['osget3dsliderstate_5764',['osGet3DSliderState',['../os_8h.html#a3b62a51a9c8f111843c1fd3ef0756026',1,'os.h']]], + ['osgetapplicationmemtype_5765',['osGetApplicationMemType',['../os_8h.html#a2f8d5fa6b6dcdd275499eea50219bfb3',1,'os.h']]], + ['osgetfirmversion_5766',['osGetFirmVersion',['../os_8h.html#a383e9cab6b8d56a0e419fc830fe4c4e2',1,'os.h']]], + ['osgetkernelversion_5767',['osGetKernelVersion',['../os_8h.html#a19f063780d025bae2b9c169440eb7598',1,'os.h']]], + ['osgetmemregionfree_5768',['osGetMemRegionFree',['../os_8h.html#a21dbc581346733ec3fca0a3986dbd046',1,'os.h']]], + ['osgetmemregionsize_5769',['osGetMemRegionSize',['../os_8h.html#a84c11685ada809c00648ff3fa9d9c8d8',1,'os.h']]], + ['osgetmemregionused_5770',['osGetMemRegionUsed',['../os_8h.html#a9c7da76485fb0c673bc5b913cb8c7083',1,'os.h']]], + ['osgetsystemcoreversion_5771',['osGetSystemCoreVersion',['../os_8h.html#a8b38d0ea945c9816d1f7173334227a0e',1,'os.h']]], + ['osgetsystemversiondata_5772',['osGetSystemVersionData',['../os_8h.html#ac3bc6073f0b8a41926ad0de5a2a4d4cb',1,'os.h']]], + ['osgetsystemversiondatastring_5773',['osGetSystemVersionDataString',['../os_8h.html#abeb74bb5b93330aff04bf10d317aa9d3',1,'os.h']]], + ['osgettime_5774',['osGetTime',['../os_8h.html#a05661250c79188dc1c54cd2776d9fb21',1,'os.h']]], + ['osgettimeref_5775',['osGetTimeRef',['../os_8h.html#a558cbe8dfd6cb624ca4350a3036cdcf5',1,'os.h']]], + ['osgetwifistrength_5776',['osGetWifiStrength',['../os_8h.html#aa38acca606f2880ac3ee9f6c531a6eaa',1,'os.h']]], + ['osisheadsetconnected_5777',['osIsHeadsetConnected',['../os_8h.html#a8e0cfa91ba702211f3a235a36b7901a5',1,'os.h']]], + ['ossetspeedupenable_5778',['osSetSpeedupEnable',['../os_8h.html#a7484b739da8ae26a3df6d363eeb13d98',1,'os.h']]], + ['osstrerror_5779',['osStrError',['../os_8h.html#a061ac8524aac2414f830fa821da7df03',1,'os.h']]], + ['ostickcounterread_5780',['osTickCounterRead',['../os_8h.html#a64822647ef4d119deea35ed971683c35',1,'os.h']]], + ['ostickcounterstart_5781',['osTickCounterStart',['../os_8h.html#ae51bb4cd74ac9cda5f40cb23b8e5b146',1,'os.h']]], + ['ostickcounterupdate_5782',['osTickCounterUpdate',['../os_8h.html#a2b5624b8fab29f0d4f2d9e996d0a7d21',1,'os.h']]] +]; diff --git a/search/functions_e.html b/search/functions_e.html new file mode 100644 index 000000000..22d2a6bf5 --- /dev/null +++ b/search/functions_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_e.js b/search/functions_e.js new file mode 100644 index 000000000..2b286371d --- /dev/null +++ b/search/functions_e.js @@ -0,0 +1,83 @@ +var searchData= +[ + ['pmapp_5fgetappresourcelimit_5783',['PMAPP_GetAppResourceLimit',['../pmapp_8h.html#a3781a8aedd03e4e0cdffebcfd4a36145',1,'pmapp.h']]], + ['pmapp_5fgetfirmlaunchparams_5784',['PMAPP_GetFIRMLaunchParams',['../pmapp_8h.html#a8dedd4d4b5238f6c55822a3b06c3bf0f',1,'pmapp.h']]], + ['pmapp_5fgettitleexheaderflags_5785',['PMAPP_GetTitleExheaderFlags',['../pmapp_8h.html#a1cee8335cbfb91091cca39177d939422',1,'pmapp.h']]], + ['pmapp_5flaunchfirmsetparams_5786',['PMAPP_LaunchFIRMSetParams',['../pmapp_8h.html#ada29d46204aae490e0043c42300c537d',1,'pmapp.h']]], + ['pmapp_5flaunchtitle_5787',['PMAPP_LaunchTitle',['../pmapp_8h.html#aff52b5a2376892fb8b84b9241bc59cbf',1,'pmapp.h']]], + ['pmapp_5flaunchtitleupdate_5788',['PMAPP_LaunchTitleUpdate',['../pmapp_8h.html#a12ff02f21756cde05517495fd7af3750',1,'pmapp.h']]], + ['pmapp_5fprepareforreboot_5789',['PMAPP_PrepareForReboot',['../pmapp_8h.html#a72199dbf69a82cffb43a9b74b5d1a6ba',1,'pmapp.h']]], + ['pmapp_5fsetappresourcelimit_5790',['PMAPP_SetAppResourceLimit',['../pmapp_8h.html#aed0a9d24ee7148c754ee0877f7f4b5a8',1,'pmapp.h']]], + ['pmapp_5fsetfirmlaunchparams_5791',['PMAPP_SetFIRMLaunchParams',['../pmapp_8h.html#a7d9e9726c6b06bb31a2cee8123f92fc9',1,'pmapp.h']]], + ['pmapp_5fterminatecurrentapplication_5792',['PMAPP_TerminateCurrentApplication',['../pmapp_8h.html#a0db7089cc0e81413ab3c022fdaa62e33',1,'pmapp.h']]], + ['pmapp_5fterminateprocess_5793',['PMAPP_TerminateProcess',['../pmapp_8h.html#aa6e5ceddeedc27d3168fece829d3b283',1,'pmapp.h']]], + ['pmapp_5fterminatetitle_5794',['PMAPP_TerminateTitle',['../pmapp_8h.html#ab4459ebaac5a14e626a74204ded53db7',1,'pmapp.h']]], + ['pmapp_5funregisterprocess_5795',['PMAPP_UnregisterProcess',['../pmapp_8h.html#a3e6ac7186f1ff42690d8244c3f67a0a2',1,'pmapp.h']]], + ['pmappexit_5796',['pmAppExit',['../pmapp_8h.html#ad41c1b714120863b88c26d07d1056019',1,'pmapp.h']]], + ['pmappgetsessionhandle_5797',['pmAppGetSessionHandle',['../pmapp_8h.html#a2a4b5d3c5986ee7b978350690f9d4b12',1,'pmapp.h']]], + ['pmappinit_5798',['pmAppInit',['../pmapp_8h.html#a61a5243f35f791483b56e996b0383cf2',1,'pmapp.h']]], + ['pmdbg_5flaunchapp_5799',['PMDBG_LaunchApp',['../pmdbg_8h.html#a75164c1db1a884b44f5c9c8e28e64da1',1,'pmdbg.h']]], + ['pmdbg_5flaunchappdebug_5800',['PMDBG_LaunchAppDebug',['../pmdbg_8h.html#ad219d5ea114523358ea87f8927ce3cb4',1,'pmdbg.h']]], + ['pmdbg_5frunqueuedprocess_5801',['PMDBG_RunQueuedProcess',['../pmdbg_8h.html#a9f1f44b9e9dbf73836dec8fb4742c33d',1,'pmdbg.h']]], + ['pmdbgexit_5802',['pmDbgExit',['../pmdbg_8h.html#ad7facb4946d66039f1157fcc5a574d94',1,'pmdbg.h']]], + ['pmdbggetsessionhandle_5803',['pmDbgGetSessionHandle',['../pmdbg_8h.html#a762f853ca5f1bc8bb34a32638fc5ba9b',1,'pmdbg.h']]], + ['pmdbginit_5804',['pmDbgInit',['../pmdbg_8h.html#abd84c269cdf485ebf6131006e08ca4bb',1,'pmdbg.h']]], + ['ps_5fencryptdecryptaes_5805',['PS_EncryptDecryptAes',['../ps_8h.html#aefa2079e5ccea5884e369c51db1bf151',1,'ps.h']]], + ['ps_5fencryptsigndecryptverifyaesccm_5806',['PS_EncryptSignDecryptVerifyAesCcm',['../ps_8h.html#a7535fb13fe7b89c2802f06997610a7e9',1,'ps.h']]], + ['ps_5fgeneraterandombytes_5807',['PS_GenerateRandomBytes',['../ps_8h.html#a535dc015b8a14fcf5993640db964451d',1,'ps.h']]], + ['ps_5fgetdeviceid_5808',['PS_GetDeviceId',['../ps_8h.html#acbfc784101f2e99a5debb6fcd69f98ea',1,'ps.h']]], + ['ps_5fgetlocalfriendcodeseed_5809',['PS_GetLocalFriendCodeSeed',['../ps_8h.html#a337241611082030ac7c40bd8e26d247d',1,'ps.h']]], + ['ps_5fsignrsasha256_5810',['PS_SignRsaSha256',['../ps_8h.html#afcd4d62b202c65c5399488a07ebc3888',1,'ps.h']]], + ['ps_5fverifyrsasha256_5811',['PS_VerifyRsaSha256',['../ps_8h.html#ae4d7877dfc25f204656600f63a62eb06',1,'ps.h']]], + ['psexit_5812',['psExit',['../ps_8h.html#a91d5a2ff4ba80cb80432c0c9a1f3acc0',1,'ps.h']]], + ['psgetsessionhandle_5813',['psGetSessionHandle',['../ps_8h.html#ad7830e3e186e85668c71a7ca354ac8ba',1,'ps.h']]], + ['psinit_5814',['psInit',['../ps_8h.html#abae489204853edc2e7dcf8c341c75e82',1,'ps.h']]], + ['psinithandle_5815',['psInitHandle',['../ps_8h.html#aa1e1ef12d50adaa235c50ba03dc4b4e6',1,'ps.h']]], + ['ptmgets_5fgetsystemtime_5816',['PTMGETS_GetSystemTime',['../ptmgets_8h.html#ae1832e39ffe62da2f0ccedbca80c28dc',1,'ptmgets.h']]], + ['ptmgetsexit_5817',['ptmGetsExit',['../ptmgets_8h.html#afa23aa2ef40a5acef04963f2ad6afa29',1,'ptmgets.h']]], + ['ptmgetsgetsessionhandle_5818',['ptmGetsGetSessionHandle',['../ptmgets_8h.html#a2357ca496d928ec3bcc437080c9d5d86',1,'ptmgets.h']]], + ['ptmgetsinit_5819',['ptmGetsInit',['../ptmgets_8h.html#ab46236a1a7143d4b5a3d647a14747f2c',1,'ptmgets.h']]], + ['ptmsets_5fsetsystemtime_5820',['PTMSETS_SetSystemTime',['../ptmsets_8h.html#a638ecc34e997183bacd488843bf9e514',1,'ptmsets.h']]], + ['ptmsetsexit_5821',['ptmSetsExit',['../ptmsets_8h.html#a495299f5c0e837c04f67f61f58247ff9',1,'ptmsets.h']]], + ['ptmsetsgetsessionhandle_5822',['ptmSetsGetSessionHandle',['../ptmsets_8h.html#a4fb44b7ecc4d1b756a6a7fd7d4c403e7',1,'ptmsets.h']]], + ['ptmsetsinit_5823',['ptmSetsInit',['../ptmsets_8h.html#a1c72de7abe26ec28133673c49bb92d9b',1,'ptmsets.h']]], + ['ptmsysm_5fawaken_5824',['PTMSYSM_Awaken',['../ptmsysm_8h.html#a4e3b9fb2cb0a7576948f273b8391ac45',1,'ptmsysm.h']]], + ['ptmsysm_5fchecknew3ds_5825',['PTMSYSM_CheckNew3DS',['../ptmsysm_8h.html#ac063e4c9176c82c2e17c1918ff9de282',1,'ptmsysm.h']]], + ['ptmsysm_5fconfigurenew3dscpu_5826',['PTMSYSM_ConfigureNew3DSCPU',['../ptmsysm_8h.html#ae3a437bfd0de05fbc5ba9a460d148430',1,'ptmsysm.h']]], + ['ptmsysm_5fgetrtctime_5827',['PTMSYSM_GetRtcTime',['../ptmsysm_8h.html#a81fb540478a7ab024ed5bc725da32f7a',1,'ptmsysm.h']]], + ['ptmsysm_5fgetwakereason_5828',['PTMSYSM_GetWakeReason',['../ptmsysm_8h.html#a69ae143e353519db8711e63eb8980c8c',1,'ptmsysm.h']]], + ['ptmsysm_5finvalidatesystemtime_5829',['PTMSYSM_InvalidateSystemTime',['../ptmsysm_8h.html#aea12e1fa8dfc2ecfe236f2e24d4de0dd',1,'ptmsysm.h']]], + ['ptmsysm_5fnotifysleeppreparationcomplete_5830',['PTMSYSM_NotifySleepPreparationComplete',['../ptmsysm_8h.html#aa265103791deeeca53f91be474925725',1,'ptmsysm.h']]], + ['ptmsysm_5frebootasync_5831',['PTMSYSM_RebootAsync',['../ptmsysm_8h.html#a036f533b3bbbc4ef2e60bdf9a00f52f1',1,'ptmsysm.h']]], + ['ptmsysm_5freplytosleepquery_5832',['PTMSYSM_ReplyToSleepQuery',['../ptmsysm_8h.html#a8b268a8d3c3aa23dcf2c7980f0a0dedd',1,'ptmsysm.h']]], + ['ptmsysm_5frequestsleep_5833',['PTMSYSM_RequestSleep',['../ptmsysm_8h.html#ae5501c04a329a37b24189034808eb9cd',1,'ptmsysm.h']]], + ['ptmsysm_5fsetrtctime_5834',['PTMSYSM_SetRtcTime',['../ptmsysm_8h.html#a13318734305af44a7aa5152c2e6f3fcc',1,'ptmsysm.h']]], + ['ptmsysm_5fsetusertime_5835',['PTMSYSM_SetUserTime',['../ptmsysm_8h.html#a5311117e22d63ad0d84a3a1fef16525a',1,'ptmsysm.h']]], + ['ptmsysm_5fsetwakeevents_5836',['PTMSYSM_SetWakeEvents',['../ptmsysm_8h.html#aecfca4fd6f9d473493516de461deba18',1,'ptmsysm.h']]], + ['ptmsysm_5fshutdownasync_5837',['PTMSYSM_ShutdownAsync',['../ptmsysm_8h.html#a79e300f7b08e04795fdba69d03892b6c',1,'ptmsysm.h']]], + ['ptmsysmexit_5838',['ptmSysmExit',['../ptmsysm_8h.html#ae8300d0f183d7b958550da5bea974274',1,'ptmsysm.h']]], + ['ptmsysmgetnotificationackvalue_5839',['ptmSysmGetNotificationAckValue',['../ptmsysm_8h.html#acf6fa1e0bd96df1a0f9ad97508787991',1,'ptmsysm.h']]], + ['ptmsysmgetsessionhandle_5840',['ptmSysmGetSessionHandle',['../ptmsysm_8h.html#ada6971fd9650be6cd008ba792e129bf0',1,'ptmsysm.h']]], + ['ptmsysminit_5841',['ptmSysmInit',['../ptmsysm_8h.html#a18359abfe6fcd1708769ef2dae98ed50',1,'ptmsysm.h']]], + ['ptmu_5fgetadapterstate_5842',['PTMU_GetAdapterState',['../ptmu_8h.html#a245750ffc15a78dd6937567cdbd4effe',1,'ptmu.h']]], + ['ptmu_5fgetbatterychargestate_5843',['PTMU_GetBatteryChargeState',['../ptmu_8h.html#a3a24c72010f8979755de58e19d6b4574',1,'ptmu.h']]], + ['ptmu_5fgetbatterylevel_5844',['PTMU_GetBatteryLevel',['../ptmu_8h.html#a82373d4c238c33f3a20586b468233688',1,'ptmu.h']]], + ['ptmu_5fgetpedometerstate_5845',['PTMU_GetPedometerState',['../ptmu_8h.html#ad3c3b5cb00e263bdc27cbf8545dd9b0b',1,'ptmu.h']]], + ['ptmu_5fgetshellstate_5846',['PTMU_GetShellState',['../ptmu_8h.html#adf953372cfbda67c967427f31dc8e68f',1,'ptmu.h']]], + ['ptmu_5fgettotalstepcount_5847',['PTMU_GetTotalStepCount',['../ptmu_8h.html#a7d6ea0afcf123c0345af5e7e160d230f',1,'ptmu.h']]], + ['ptmuexit_5848',['ptmuExit',['../ptmu_8h.html#a56ac60c3ef9564926ceee79ecb6d3c85',1,'ptmu.h']]], + ['ptmugetsessionhandle_5849',['ptmuGetSessionHandle',['../ptmu_8h.html#a8d76adceb26c4b1c785af3a78756ec6c',1,'ptmu.h']]], + ['ptmuinit_5850',['ptmuInit',['../ptmu_8h.html#a69ffa79272f25de2c6050a480036f043',1,'ptmu.h']]], + ['pxidev_5fspimultiwriteread_5851',['PXIDEV_SPIMultiWriteRead',['../pxidev_8h.html#abad8d7865c4baa3ac9272b90e0d2a3c4',1,'pxidev.h']]], + ['pxidev_5fspiwriteread_5852',['PXIDEV_SPIWriteRead',['../pxidev_8h.html#add35fa484155d2a3b3af231e208557bd',1,'pxidev.h']]], + ['pxidevexit_5853',['pxiDevExit',['../pxidev_8h.html#a7fe2b20345ac5f94a85f989d8de327d2',1,'pxidev.h']]], + ['pxidevinit_5854',['pxiDevInit',['../pxidev_8h.html#a761515612831602dbdce4fc2b537a504',1,'pxidev.h']]], + ['pxidevmaketransferoption_5855',['pxiDevMakeTransferOption',['../pxidev_8h.html#ac720cfcfbe1cd7ff354a7dae5015b211',1,'pxidev.h']]], + ['pxidevmakewaitoperation_5856',['pxiDevMakeWaitOperation',['../pxidev_8h.html#a68e7999b54f11636bd0260e6bac31783',1,'pxidev.h']]], + ['pxipm_5fgetprograminfo_5857',['PXIPM_GetProgramInfo',['../pxipm_8h.html#a1c5f1f9b77198fe8118a400962733ce6',1,'pxipm.h']]], + ['pxipm_5fregisterprogram_5858',['PXIPM_RegisterProgram',['../pxipm_8h.html#a5fd65a1f8c7b325c28ffec5817ee073b',1,'pxipm.h']]], + ['pxipm_5funregisterprogram_5859',['PXIPM_UnregisterProgram',['../pxipm_8h.html#a4289899e9d75605890ba28416614f004',1,'pxipm.h']]], + ['pxipmexit_5860',['pxiPmExit',['../pxipm_8h.html#a25527bf8f0ce6241f63acc5d9c861881',1,'pxipm.h']]], + ['pxipmgetsessionhandle_5861',['pxiPmGetSessionHandle',['../pxipm_8h.html#a65cb2e43d7fd2ba24cbf148a32aa997e',1,'pxipm.h']]], + ['pxipminit_5862',['pxiPmInit',['../pxipm_8h.html#ada0f8c50541c372eb4a2ae9998eb1529',1,'pxipm.h']]] +]; diff --git a/search/functions_f.html b/search/functions_f.html new file mode 100644 index 000000000..54b7dee08 --- /dev/null +++ b/search/functions_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_f.js b/search/functions_f.js new file mode 100644 index 000000000..42496c290 --- /dev/null +++ b/search/functions_f.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['qtm_5fgetheadtrackinginfo_5863',['QTM_GetHeadTrackingInfo',['../qtm_8h.html#a84fcb6d843cb74e79f0464d0548c8d9b',1,'qtm.h']]], + ['qtmcheckheadfullydetected_5864',['qtmCheckHeadFullyDetected',['../qtm_8h.html#a8eda8f29392a18ea6839cce9de4685e8',1,'qtm.h']]], + ['qtmcheckinitialized_5865',['qtmCheckInitialized',['../qtm_8h.html#a2be6829e253a5486702014e175a5110d',1,'qtm.h']]], + ['qtmconvertcoordtoscreen_5866',['qtmConvertCoordToScreen',['../qtm_8h.html#a590c17d8fade12a313673522bbdb1507',1,'qtm.h']]], + ['qtmexit_5867',['qtmExit',['../qtm_8h.html#a1c7d237388833868fb1e282d8a64e354',1,'qtm.h']]], + ['qtminit_5868',['qtmInit',['../qtm_8h.html#a2dd262c03c0d2feed98edfe1a7fd2dfe',1,'qtm.h']]] +]; diff --git a/search/mag_sel.svg b/search/mag_sel.svg new file mode 100644 index 000000000..03626f64a --- /dev/null +++ b/search/mag_sel.svg @@ -0,0 +1,74 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/search/nomatches.html b/search/nomatches.html new file mode 100644 index 000000000..2b9360b6b --- /dev/null +++ b/search/nomatches.html @@ -0,0 +1,13 @@ + + + + + + + + +
    +
    No Matches
    +
    + + diff --git a/search/pages_0.html b/search/pages_0.html new file mode 100644 index 000000000..8517b48f0 --- /dev/null +++ b/search/pages_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/pages_0.js b/search/pages_0.js new file mode 100644 index 000000000..07c72fba2 --- /dev/null +++ b/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['changelog_8892',['Changelog',['../md__home_runner_work_libctru_libctru_Changelog.html',1,'']]] +]; diff --git a/search/pages_1.html b/search/pages_1.html new file mode 100644 index 000000000..a0fb67963 --- /dev/null +++ b/search/pages_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/pages_1.js b/search/pages_1.js new file mode 100644 index 000000000..4201787f2 --- /dev/null +++ b/search/pages_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['deprecated_20list_8893',['Deprecated List',['../deprecated.html',1,'']]] +]; diff --git a/search/pages_2.html b/search/pages_2.html new file mode 100644 index 000000000..084edfd03 --- /dev/null +++ b/search/pages_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/pages_2.js b/search/pages_2.js new file mode 100644 index 000000000..2036c1e11 --- /dev/null +++ b/search/pages_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['libctru_20_2d_20ctr_20user_20library_8894',['libctru - CTR User Library',['../index.html',1,'']]] +]; diff --git a/search/search.css b/search/search.css new file mode 100644 index 000000000..9074198f8 --- /dev/null +++ b/search/search.css @@ -0,0 +1,257 @@ +/*---------------- Search Box */ + +#MSearchBox { + white-space : nowrap; + background: white; + border-radius: 0.65em; + box-shadow: inset 0.5px 0.5px 3px 0px #555; + z-index: 102; +} + +#MSearchBox .left { + display: inline-block; + vertical-align: middle; + height: 1.4em; +} + +#MSearchSelect { + display: inline-block; + vertical-align: middle; + height: 1.4em; + padding: 0 0 0 0.3em; + margin: 0; +} + +#MSearchField { + display: inline-block; + vertical-align: middle; + width: 7.5em; + height: 1.1em; + margin: 0 0.15em; + padding: 0; + line-height: 1em; + border:none; + color: #909090; + outline: none; + font-family: Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; + border-radius: 0px; + background: none; +} + + +#MSearchBox .right { + display: inline-block; + vertical-align: middle; + width: 1.4em; + height: 1.4em; +} + +#MSearchClose { + display: none; + font-size: inherit; + background : none; + border: none; + margin: 0; + padding: 0; + outline: none; + +} + +#MSearchCloseImg { + height: 1.4em; + padding: 0.3em; + margin: 0; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +#main-menu > li:last-child { + /* This
  • object is the parent of the search bar */ + display: flex; + justify-content: center; + align-items: center; + height: 36px; + margin-right: 1em; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; + font-family: Arial, Verdana, sans-serif; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; + font-family: Arial, Verdana, sans-serif; +} + +.SRResult { + display: none; +} + +div.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/search/search.js b/search/search.js new file mode 100644 index 000000000..fb226f734 --- /dev/null +++ b/search/search.js @@ -0,0 +1,816 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches' + this.extension; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline-block'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e(R!W8j_r#qQ#gnr4kAxdU#F0+OBry$Z+ z_0PMi;P|#{d%mw(dnw=jM%@$onTJa%@6Nm3`;2S#nwtVFJI#`U@2Q@@JCCctagvF- z8H=anvo~dTmJ2YA%wA6IHRv%{vxvUm|R)kgZeo zmX%Zb;mpflGZdXCTAgit`||AFzkI#z&(3d4(htA?U2FOL4WF6wY&TB#n3n*I4+hl| z*NBpo#FA92vEu822WQ%mvv4FO#qs` BFGc_W literal 0 HcmV?d00001 diff --git a/search/search_r.png b/search/search_r.png new file mode 100644 index 0000000000000000000000000000000000000000..1af5d21ee13e070d7600f1c4657fde843b953a69 GIT binary patch literal 553 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9c!2%@BXHTsJQY`6?zK#qG8~eHcB(ehe3dtTp zz6=bxGZ+|(`xqD=STHa&U1eaXVrO7DwS|Gf*oA>XrmV$GYcEhOQT(QLuS{~ooZ2P@v=Xc@RKW@Irliv8_;wroU0*)0O?temdsA~70jrdux+`@W7 z-N(<(C)L?hOO?KV{>8(jC{hpKsws)#Fh zvsO>IB+gb@b+rGWaO&!a9Z{!U+fV*s7TS>fdt&j$L%^U@Epd$~Nl7e8wMs5Z1yT$~ z28I^8hDN#u<{^fLRz?<9hUVG^237_Jy7tbuQ8eV{r(~v8;?@w8^gA7>fx*+&&t;uc GLK6VEQpiUD literal 0 HcmV?d00001 diff --git a/search/searchdata.js b/search/searchdata.js new file mode 100644 index 000000000..924cec985 --- /dev/null +++ b/search/searchdata.js @@ -0,0 +1,42 @@ +var indexSectionsWithContent = +{ + 0: "3_abcdefghijklmnopqrstuvwxyz", + 1: "abcdefghilmnopqrstuy", + 2: "3abcdefghilmnopqrstuvy", + 3: "_abcdefghilmnopqrstuvy", + 4: "_abcdefghijklmnoprstuvwxyz", + 5: "acdefhlnrstuv", + 6: "abcdefghimnprstuy", + 7: "abcdefghiklmnoprstuvw", + 8: "abcfghklmnorstuw", + 9: "cdl" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes", + 2: "files", + 3: "functions", + 4: "variables", + 5: "typedefs", + 6: "enums", + 7: "enumvalues", + 8: "defines", + 9: "pages" +}; + +var indexSectionLabels = +{ + 0: "All", + 1: "Data Structures", + 2: "Files", + 3: "Functions", + 4: "Variables", + 5: "Typedefs", + 6: "Enumerations", + 7: "Enumerator", + 8: "Macros", + 9: "Pages" +}; + diff --git a/search/typedefs_0.html b/search/typedefs_0.html new file mode 100644 index 000000000..a4684c4ad --- /dev/null +++ b/search/typedefs_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_0.js b/search/typedefs_0.js new file mode 100644 index 000000000..3e4901aff --- /dev/null +++ b/search/typedefs_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['apthookfn_6743',['aptHookFn',['../apt_8h.html#abab9ede8bc76064b9da878b9bf9626f5',1,'apt.h']]], + ['aptmessagecb_6744',['aptMessageCb',['../apt_8h.html#a9496a9fa3eefa3d4c43435aa9884baa5',1,'apt.h']]] +]; diff --git a/search/typedefs_1.html b/search/typedefs_1.html new file mode 100644 index 000000000..46cf01e62 --- /dev/null +++ b/search/typedefs_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_1.js b/search/typedefs_1.js new file mode 100644 index 000000000..39fc32272 --- /dev/null +++ b/search/typedefs_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['condvar_6745',['CondVar',['../synchronization_8h.html#a7da2ad46c2b89e00508f9220dd877eda',1,'synchronization.h']]], + ['consoleprint_6746',['ConsolePrint',['../console_8h.html#a26c9115f671528f3718cf4d9663e7631',1,'console.h']]] +]; diff --git a/search/typedefs_2.html b/search/typedefs_2.html new file mode 100644 index 000000000..6835ee65b --- /dev/null +++ b/search/typedefs_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_2.js b/search/typedefs_2.js new file mode 100644 index 000000000..f394e4b67 --- /dev/null +++ b/search/typedefs_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['decompresscallback_6747',['decompressCallback',['../decompress_8h.html#a82afe6b8cb1580641c2b7cc4afe10586',1,'decompress.h']]], + ['dsphookfn_6748',['dspHookFn',['../dsp_8h.html#a0524d9af6690dcf81759f84e820b60e5',1,'dsp.h']]] +]; diff --git a/search/typedefs_3.html b/search/typedefs_3.html new file mode 100644 index 000000000..017004765 --- /dev/null +++ b/search/typedefs_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_3.js b/search/typedefs_3.js new file mode 100644 index 000000000..83d608929 --- /dev/null +++ b/search/typedefs_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['exceptionhandler_6749',['ExceptionHandler',['../thread_8h.html#a37848b429717564001807d9619349b31',1,'thread.h']]] +]; diff --git a/search/typedefs_4.html b/search/typedefs_4.html new file mode 100644 index 000000000..81466a5d2 --- /dev/null +++ b/search/typedefs_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_4.js b/search/typedefs_4.js new file mode 100644 index 000000000..8344856bd --- /dev/null +++ b/search/typedefs_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['fs_5farchive_6750',['FS_Archive',['../fs_8h.html#a64b19cc2d36043ad4060f2b7d17b16ef',1,'fs.h']]] +]; diff --git a/search/typedefs_5.html b/search/typedefs_5.html new file mode 100644 index 000000000..43fbec1fe --- /dev/null +++ b/search/typedefs_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_5.js b/search/typedefs_5.js new file mode 100644 index 000000000..eb87922fc --- /dev/null +++ b/search/typedefs_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['handle_6751',['Handle',['../types_8h.html#ab6d744c6b5de129f12937e482dc674fb',1,'types.h']]] +]; diff --git a/search/typedefs_6.html b/search/typedefs_6.html new file mode 100644 index 000000000..99479c2d5 --- /dev/null +++ b/search/typedefs_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_6.js b/search/typedefs_6.js new file mode 100644 index 000000000..31744d898 --- /dev/null +++ b/search/typedefs_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['lightlock_6752',['LightLock',['../synchronization_8h.html#a0d966c33d353bedf60c66a1a75e68c5e',1,'synchronization.h']]] +]; diff --git a/search/typedefs_7.html b/search/typedefs_7.html new file mode 100644 index 000000000..9a825e0a2 --- /dev/null +++ b/search/typedefs_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_7.js b/search/typedefs_7.js new file mode 100644 index 000000000..333bd1724 --- /dev/null +++ b/search/typedefs_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['ndspauxcallback_6753',['ndspAuxCallback',['../ndsp_8h.html#ac7a08ac8efd0376efd6a6e1b1a064ca8',1,'ndsp.h']]], + ['ndspcallback_6754',['ndspCallback',['../ndsp_8h.html#a7b56d354bc3e6300c2463e54cdc5c29f',1,'ndsp.h']]] +]; diff --git a/search/typedefs_8.html b/search/typedefs_8.html new file mode 100644 index 000000000..e968613ec --- /dev/null +++ b/search/typedefs_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_8.js b/search/typedefs_8.js new file mode 100644 index 000000000..bc6b5d666 --- /dev/null +++ b/search/typedefs_8.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['rbtree_5fnode_5fcomparator_5ft_6755',['rbtree_node_comparator_t',['../rbtree_8h.html#ae05f4152c5dc8cc92b62d22f3b21a644',1,'rbtree.h']]], + ['rbtree_5fnode_5fdestructor_5ft_6756',['rbtree_node_destructor_t',['../rbtree_8h.html#a32532a9ceeff76fef73c59c66c666189',1,'rbtree.h']]], + ['recursivelock_6757',['RecursiveLock',['../synchronization_8h.html#ae161b0db2ef331125217c64729e18179',1,'synchronization.h']]], + ['result_6758',['Result',['../types_8h.html#ac830bf5a4f2cf8273f61ab99a46cf163',1,'types.h']]] +]; diff --git a/search/typedefs_9.html b/search/typedefs_9.html new file mode 100644 index 000000000..2e9153256 --- /dev/null +++ b/search/typedefs_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_9.js b/search/typedefs_9.js new file mode 100644 index 000000000..578d0179d --- /dev/null +++ b/search/typedefs_9.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['s16_6759',['s16',['../types_8h.html#aa980e2c02ba2305e0f489d5650655425',1,'types.h']]], + ['s32_6760',['s32',['../types_8h.html#ae9b1af5c037e57a98884758875d3a7c4',1,'types.h']]], + ['s64_6761',['s64',['../types_8h.html#a350c6fc928e3bdc6c6486268ac8fb269',1,'types.h']]], + ['s8_6762',['s8',['../types_8h.html#a9e382f207c65ca13ab4ae98363aeda80',1,'types.h']]], + ['swkbdcallbackfn_6763',['SwkbdCallbackFn',['../swkbd_8h.html#aa399c3ac23cdac010f1391caaeb3239c',1,'swkbd.h']]] +]; diff --git a/search/typedefs_a.html b/search/typedefs_a.html new file mode 100644 index 000000000..bb6ac2a82 --- /dev/null +++ b/search/typedefs_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_a.js b/search/typedefs_a.js new file mode 100644 index 000000000..b1a0ec143 --- /dev/null +++ b/search/typedefs_a.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['thread_6764',['Thread',['../thread_8h.html#a32603732d12a56b392a691e42360b035',1,'thread.h']]], + ['threadfunc_6765',['ThreadFunc',['../types_8h.html#a857e4e893f41191500e83c00058df64e',1,'types.h']]] +]; diff --git a/search/typedefs_b.html b/search/typedefs_b.html new file mode 100644 index 000000000..566bbec43 --- /dev/null +++ b/search/typedefs_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_b.js b/search/typedefs_b.js new file mode 100644 index 000000000..226acc3c7 --- /dev/null +++ b/search/typedefs_b.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['u16_6766',['u16',['../types_8h.html#ace9d960e74685e2cd84b36132dbbf8aa',1,'types.h']]], + ['u32_6767',['u32',['../types_8h.html#afaa62991928fb9fb18ff0db62a040aba',1,'types.h']]], + ['u64_6768',['u64',['../types_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234',1,'types.h']]], + ['u8_6769',['u8',['../types_8h.html#a92c50087ca0e64fa93fc59402c55f8ca',1,'types.h']]] +]; diff --git a/search/typedefs_c.html b/search/typedefs_c.html new file mode 100644 index 000000000..974c71a28 --- /dev/null +++ b/search/typedefs_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_c.js b/search/typedefs_c.js new file mode 100644 index 000000000..93c940882 --- /dev/null +++ b/search/typedefs_c.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['vs16_6770',['vs16',['../types_8h.html#a84c4ebe721fa065d9bd514ce8d76c455',1,'types.h']]], + ['vs32_6771',['vs32',['../types_8h.html#a6c6cf6e3aedfd399080c6f52c2870063',1,'types.h']]], + ['vs64_6772',['vs64',['../types_8h.html#a484adfab567791250a9fdbf0db8d3144',1,'types.h']]], + ['vs8_6773',['vs8',['../types_8h.html#a108e1a5e4c3e8322825ef7dcd45966ca',1,'types.h']]], + ['vu16_6774',['vu16',['../types_8h.html#a677aa1edce4bbb53741b1cc24eb4c035',1,'types.h']]], + ['vu32_6775',['vu32',['../types_8h.html#abcdd5d61f51cb4c472ac6637916cf72a',1,'types.h']]], + ['vu64_6776',['vu64',['../types_8h.html#ace392b4d1c3911331b2fe5ddc99fdcba',1,'types.h']]], + ['vu8_6777',['vu8',['../types_8h.html#a1a2a3100a902c32a55d8b08915bce044',1,'types.h']]] +]; diff --git a/search/variables_0.html b/search/variables_0.html new file mode 100644 index 000000000..1e477c08c --- /dev/null +++ b/search/variables_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_0.js b/search/variables_0.js new file mode 100644 index 000000000..1c251f1d1 --- /dev/null +++ b/search/variables_0.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['_5f_5f3dslink_5fhost_6168',['__3dslink_host',['../3dslink_8h.html#a52d8c00d8441076d345a8a576dec91a8',1,'3dslink.h']]], + ['_5fpad1_6169',['_pad1',['../unionCSND__ChnInfo.html#a82f44e9c71e5058523616518884bc29d',1,'CSND_ChnInfo::_pad1()'],['../unionCSND__CapInfo.html#ae0a73702b74a8df5d1767e2d8f643bf5',1,'CSND_CapInfo::_pad1()']]], + ['_5fpad2_6170',['_pad2',['../unionCSND__ChnInfo.html#a8a5d07ac432da22d7dd37cfed6d7a1f2',1,'CSND_ChnInfo::_pad2()'],['../unionCSND__CapInfo.html#aad5428d2d50ecc0d775e25de6fe36ab1',1,'CSND_CapInfo::_pad2()']]], + ['_5fpad3_6171',['_pad3',['../unionCSND__ChnInfo.html#a122945e8a6846829ae2435226c0a82aa',1,'CSND_ChnInfo']]] +]; diff --git a/search/variables_1.html b/search/variables_1.html new file mode 100644 index 000000000..ea73d9a49 --- /dev/null +++ b/search/variables_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_1.js b/search/variables_1.js new file mode 100644 index 000000000..b06526af4 --- /dev/null +++ b/search/variables_1.js @@ -0,0 +1,52 @@ +var searchData= +[ + ['access_5fcontrol_6172',['access_control',['../structExHeader__AccessControlInfo.html#a49e0caa844e4324ecf1b5ee27b6235be',1,'ExHeader_AccessControlInfo']]], + ['access_5fdescriptor_6173',['access_descriptor',['../structExHeader.html#a42f36a9bfb67168c7de3682c10a3d5d2',1,'ExHeader']]], + ['accessible_5fsavedata_5fids_6174',['accessible_savedata_ids',['../structExHeader__Arm11StorageInfo.html#a7358be730b910126309b9d8e3679815f',1,'ExHeader_Arm11StorageInfo']]], + ['aci_6175',['aci',['../structExHeader__Info.html#ac00d27e88923bffd572c9d9ec7fac431',1,'ExHeader_Info']]], + ['acli_6176',['acli',['../structExHeader__AccessDescriptor.html#a6f959e93e9dba3cba825ca8a7f2783ab',1,'ExHeader_AccessDescriptor']]], + ['active_6177',['active',['../unionCSND__ChnInfo.html#ae9a22537f1cabf899b42297dee22e8af',1,'CSND_ChnInfo::active()'],['../unionCSND__CapInfo.html#a7ecc4ad6aa45b30feeb958820b37e52c',1,'CSND_CapInfo::active()']]], + ['active_5fframebuf_6178',['active_framebuf',['../structGSPGPU__FramebufferInfo.html#a966cb16d7e86079ed888fc57bdbccaa3',1,'GSPGPU_FramebufferInfo']]], + ['address_6179',['address',['../structExHeader__CodeSectionInfo.html#a76e30eb44c76d0bba217698f7434d6fa',1,'ExHeader_CodeSectionInfo::address()'],['../structExceptionEvent.html#a5e351285983b30cc394025b929431cec',1,'ExceptionEvent::address()']]], + ['adpcm_5fdata_6180',['adpcm_data',['../structtag__ndspWaveBuf.html#a64256f46cb4f6122690f6c1e4b41f1c5',1,'tag_ndspWaveBuf']]], + ['adpcmindex_6181',['adpcmIndex',['../unionCSND__ChnInfo.html#ac845b2aef27393c455d8559d3adaa86d',1,'CSND_ChnInfo']]], + ['adpcmsample_6182',['adpcmSample',['../unionCSND__ChnInfo.html#a4aed532f0e337ac47f4d291f50c81262',1,'CSND_ChnInfo']]], + ['aebasetarget_6183',['aeBaseTarget',['../structCAMU__ImageQualityCalibrationData.html#aa82a82a801fcdd0488140dfed68a7a74',1,'CAMU_ImageQualityCalibrationData']]], + ['aescbcmac_6184',['aesCbcMac',['../structFS__IntegrityVerificationSeed.html#ae58788493f1efd3d3faff151056da87f',1,'FS_IntegrityVerificationSeed']]], + ['affinity_5fmask_6185',['affinity_mask',['../structExHeader__Arm11CoreInfo.html#a9bc185efb990fc9afd607295331315fe',1,'ExHeader_Arm11CoreInfo']]], + ['all_5flanguages_6186',['all_languages',['../structSwkbdDictWord.html#a355df68fce7741c35d16c412bce7fe08',1,'SwkbdDictWord']]], + ['allow_5fcopying_6187',['allow_copying',['../structMiiData.html#a97fd032046d4b4bd72ac6c9bc70a7ab4',1,'MiiData']]], + ['allowedalignments_6188',['allowedAlignments',['../structDmaDeviceConfig.html#ac8b8d2e083b741b2fdf1ea2ce1587cac',1,'DmaDeviceConfig']]], + ['alpha_6189',['alpha',['../structY2RU__ConversionParams.html#a6c1b0089f3f46170de55e10b277bef94',1,'Y2RU_ConversionParams']]], + ['altercharindex_6190',['alterCharIndex',['../structFINF__s.html#aeda7dec3b54e2c8dacfae2e9f486e57d',1,'FINF_s']]], + ['amiiboid_6191',['amiiboID',['../structNFC__AmiiboConfig.html#a632f97fc779b373b7cd34d0379fbb739',1,'NFC_AmiiboConfig']]], + ['angleofviewleft_6192',['angleOfViewLeft',['../structCAMU__StereoCameraCalibrationData.html#ae5fb95867a93c9ae30f456193e0e86a7',1,'CAMU_StereoCameraCalibrationData']]], + ['angleofviewright_6193',['angleOfViewRight',['../structCAMU__StereoCameraCalibrationData.html#afd4e30bc40e473447ff6358084dc2aaa',1,'CAMU_StereoCameraCalibrationData']]], + ['apptitleid_6194',['appTitleId',['../structERRF__FatalErrInfo.html#a5a32265003e36d6bea87b41d076956cd',1,'ERRF_FatalErrInfo']]], + ['area_6195',['area',['../structFriendProfile.html#abd435b314f8831ff5cf6161b7ea1fb0a',1,'FriendProfile']]], + ['argc_6196',['argc',['../structStartupInfo.html#a56c8a7d9f72ac6cb8a5d1908ddfc3a7e',1,'StartupInfo']]], + ['args_6197',['args',['../uniongxCmdEntry__s.html#a8c9479cc49d2a68b3c24b13c1c65723a',1,'gxCmdEntry_s']]], + ['argv_6198',['argv',['../structStartupInfo.html#a698216d4a27d8abf674d4368266f8e2a',1,'StartupInfo']]], + ['ascent_6199',['ascent',['../structFINF__s.html#a6cd373770ee814ae4621d275068c674d',1,'FINF_s']]], + ['asciioffset_6200',['asciiOffset',['../structConsoleFont.html#a676b4b45082d34b8bfbd21d20e0a6444',1,'ConsoleFont']]], + ['attach_5fprocess_6201',['attach_process',['../structDebugEventInfo.html#a3feb57be28c7d218ff58bfad637a36a6',1,'DebugEventInfo']]], + ['attach_5fthread_6202',['attach_thread',['../structDebugEventInfo.html#a2df992ef5794d4bce6e1455c9339dd1e',1,'DebugEventInfo']]], + ['attributes_6203',['attributes',['../structFS__DirectoryEntry.html#ae301c2bdb0607ee5606018395b1e565a',1,'FS_DirectoryEntry']]], + ['author_5fname_6204',['author_name',['../structMiiData.html#aabb43557f661639b1bc4d576c6954bc0',1,'MiiData']]], + ['autoexposureon_6205',['autoExposureOn',['../structCAMU__PackageParameterCameraSelect.html#a8345a229d9c4307d2d6f0a28ed3d69da',1,'CAMU_PackageParameterCameraSelect']]], + ['autoexposurewindowheight_6206',['autoExposureWindowHeight',['../structCAMU__PackageParameterCameraSelect.html#a7ed889c03717023d2623ec97c2eb5d07',1,'CAMU_PackageParameterCameraSelect']]], + ['autoexposurewindowwidth_6207',['autoExposureWindowWidth',['../structCAMU__PackageParameterCameraSelect.html#a46c0f1134953113c37f73e999bc60dcc',1,'CAMU_PackageParameterCameraSelect']]], + ['autoexposurewindowx_6208',['autoExposureWindowX',['../structCAMU__PackageParameterCameraSelect.html#a2053d17585e550df8e8d63df4e92112e',1,'CAMU_PackageParameterCameraSelect']]], + ['autoexposurewindowy_6209',['autoExposureWindowY',['../structCAMU__PackageParameterCameraSelect.html#ac1b9e4bb497b4c5016eaf69d7cb51708',1,'CAMU_PackageParameterCameraSelect']]], + ['autowhitebalanceon_6210',['autoWhiteBalanceOn',['../structCAMU__PackageParameterCameraSelect.html#af0eb8662a1a7645c975729cfcc040f62',1,'CAMU_PackageParameterCameraSelect']]], + ['autowhitebalancewindowheight_6211',['autoWhiteBalanceWindowHeight',['../structCAMU__PackageParameterCameraSelect.html#ab87d716f2d775c61ed47749ed58d5897',1,'CAMU_PackageParameterCameraSelect']]], + ['autowhitebalancewindowwidth_6212',['autoWhiteBalanceWindowWidth',['../structCAMU__PackageParameterCameraSelect.html#a996a9477aa82dc228126897d13527c27',1,'CAMU_PackageParameterCameraSelect']]], + ['autowhitebalancewindowx_6213',['autoWhiteBalanceWindowX',['../structCAMU__PackageParameterCameraSelect.html#a734c54fbe1f67f3127f5023a72783db1',1,'CAMU_PackageParameterCameraSelect']]], + ['autowhitebalancewindowy_6214',['autoWhiteBalanceWindowY',['../structCAMU__PackageParameterCameraSelect.html#ade4034e4e9d0049e2313a7aede98a890',1,'CAMU_PackageParameterCameraSelect']]], + ['awbccml10left_6215',['awbCcmL10Left',['../structCAMU__ImageQualityCalibrationData.html#aed4a84aa1e5bb37658e7c14ae5b1a1bd',1,'CAMU_ImageQualityCalibrationData']]], + ['awbccml10right_6216',['awbCcmL10Right',['../structCAMU__ImageQualityCalibrationData.html#a38b37a4c56848c31092d57d58d5ce104',1,'CAMU_ImageQualityCalibrationData']]], + ['awbccml9left_6217',['awbCcmL9Left',['../structCAMU__ImageQualityCalibrationData.html#a59b8ab48506a0da79a33fb3265163bda',1,'CAMU_ImageQualityCalibrationData']]], + ['awbccml9right_6218',['awbCcmL9Right',['../structCAMU__ImageQualityCalibrationData.html#ac016c7e337d5dd912b1b964c9c1c215d',1,'CAMU_ImageQualityCalibrationData']]], + ['awbx0left_6219',['awbX0Left',['../structCAMU__ImageQualityCalibrationData.html#af18d82b11ff1f1710de9acf713029aed',1,'CAMU_ImageQualityCalibrationData']]], + ['awbx0right_6220',['awbX0Right',['../structCAMU__ImageQualityCalibrationData.html#a9bd3660f54b3187e0a6388e6717ca7b2',1,'CAMU_ImageQualityCalibrationData']]] +]; diff --git a/search/variables_10.html b/search/variables_10.html new file mode 100644 index 000000000..dc9920b6d --- /dev/null +++ b/search/variables_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_10.js b/search/variables_10.js new file mode 100644 index 000000000..80013f087 --- /dev/null +++ b/search/variables_10.js @@ -0,0 +1,37 @@ +var searchData= +[ + ['pad_6533',['pad',['../structMiiData.html#a284d7347ed3eae72ed96a41c522a770e',1,'MiiData']]], + ['padding_6534',['padding',['../structAM__ContentInfo.html#aed562125a091d816611f0943873bee92',1,'AM_ContentInfo::padding()'],['../structCodeSetHeader.html#a57649e80fa0a86cb7758d40373e44920',1,'CodeSetHeader::padding()'],['../structSOCU__DNSTableEntry.html#a8956c28d7311d8fedd543a29e453ac1d',1,'SOCU_DNSTableEntry::padding()'],['../structQTM__HeadTrackingInfo.html#ab12d596183f2c66de83b897e11fcf529',1,'QTM_HeadTrackingInfo::padding()'],['../structFS__ProgramInfo.html#a6e4994c5ec62559ef253d35d77cc638d',1,'FS_ProgramInfo::padding()'],['../structCAMU__PackageParameterCameraSelect.html#abbf8bda3a676bec8840016f0558dda60',1,'CAMU_PackageParameterCameraSelect::padding()'],['../structCAMU__StereoCameraCalibrationData.html#a1c0f80cb2575181fe7e2c95b283761c4',1,'CAMU_StereoCameraCalibrationData::padding()'],['../structNIM__TitleConfig.html#aaa758671d7cc933fd9d0f6413f9c9216',1,'NIM_TitleConfig::padding()']]], + ['padding2_6535',['padding2',['../structCodeSetHeader.html#a900214a08ed948b0f1d2bc5f00367312',1,'CodeSetHeader']]], + ['page_5findex_6536',['page_index',['../structMiiData.html#a66cd8a74152fba2abc9de5eec8a6d819',1,'MiiData']]], + ['pagex4_5fbyte3_6537',['pagex4_byte3',['../structNFC__AmiiboConfig.html#a9f0d49ca13914f283b47014d366377c8',1,'NFC_AmiiboConfig']]], + ['param_6538',['param',['../structaptHookCookie.html#a2f81fb95e85a1c4b9e0cb411deccf94f',1,'aptHookCookie']]], + ['parent_6539',['parent',['../structromfs__file.html#aa8a3d86e5375a482ba8fad62e8505ae7',1,'romfs_file::parent()'],['../structromfs__dir.html#a7d7aa924be9730d3c887b8ec715cfec5',1,'romfs_dir::parent()']]], + ['parent_5fcolor_6540',['parent_color',['../structrbtree__node.html#a626427e7352bdd7ca3c06d2fad573fa4',1,'rbtree_node']]], + ['pc_6541',['pc',['../structCpuRegisters.html#a729ccdaf16bcc437bcfa2b593e513f6a',1,'CpuRegisters']]], + ['pcaddr_6542',['pcAddr',['../structERRF__FatalErrInfo.html#ac8fbfae3ade315201eace43f5a5e05d4',1,'ERRF_FatalErrInfo']]], + ['pdn_5fwake_5fevents_6543',['pdn_wake_events',['../structPtmWakeEvents.html#a1bc8802f07edfb5e8735dc67b9dcedd4',1,'PtmWakeEvents']]], + ['perm_6544',['perm',['../structMemInfo.html#a605f0850163837f0aef887a7413c7e0b',1,'MemInfo']]], + ['photomode_6545',['photoMode',['../structCAMU__PackageParameterCameraSelect.html#af411f00f321445b235c10cc694262b3f',1,'CAMU_PackageParameterCameraSelect']]], + ['physaddr_5fcolorconv_5findata_6546',['physaddr_colorconv_indata',['../structMVDSTD__Config.html#acc0efe6ef74f6700b2218802c82cccc7',1,'MVDSTD_Config']]], + ['physaddr_5fcolorconv_5funk0_6547',['physaddr_colorconv_unk0',['../structMVDSTD__Config.html#a9e57a4e3e06e25d3334800849b5b68c6',1,'MVDSTD_Config']]], + ['physaddr_5fcolorconv_5funk1_6548',['physaddr_colorconv_unk1',['../structMVDSTD__Config.html#acecaaab60a580e14b217e47e515994d6',1,'MVDSTD_Config']]], + ['physaddr_5fcolorconv_5funk2_6549',['physaddr_colorconv_unk2',['../structMVDSTD__Config.html#a130356fcf7652ac201118113d3f774e6',1,'MVDSTD_Config']]], + ['physaddr_5fcolorconv_5funk3_6550',['physaddr_colorconv_unk3',['../structMVDSTD__Config.html#af44b408003b1f4ee13030715fca31b0a',1,'MVDSTD_Config']]], + ['physaddr_5foutdata0_6551',['physaddr_outdata0',['../structMVDSTD__Config.html#a64d63a72354a8696d771d406339d1fc6',1,'MVDSTD_Config']]], + ['physaddr_5foutdata1_6552',['physaddr_outdata1',['../structMVDSTD__Config.html#af5af9d1d8d63c3632c7b794d8226e9eb',1,'MVDSTD_Config']]], + ['platform_6553',['platform',['../structFriendProfile.html#a3ecaf8888bcc2c4d649c5a6c2b173f89',1,'FriendProfile']]], + ['prevcursorx_6554',['prevCursorX',['../structPrintConsole.html#a5597cf20da49284bcb2ccadfbd095c02',1,'PrintConsole']]], + ['prevcursory_6555',['prevCursorY',['../structPrintConsole.html#a643913cb7f20767b07ecf1652b788245',1,'PrintConsole']]], + ['printchar_6556',['PrintChar',['../structPrintConsole.html#ac2a6a9e9c3adda6c2e6ac11e4ebb7d14',1,'PrintConsole']]], + ['priority_6557',['priority',['../structStartupInfo.html#a502094405b3debe7af2ee809f8055ed0',1,'StartupInfo::priority()'],['../structExHeader__Arm11CoreInfo.html#aa946b8746b05429e6c4067b05723adec',1,'ExHeader_Arm11CoreInfo::priority()']]], + ['process_5fid_6558',['process_id',['../structAttachProcessEvent.html#a4882ac904877a6b49e672376eaa7f79d',1,'AttachProcessEvent']]], + ['process_5fname_6559',['process_name',['../structAttachProcessEvent.html#ad68812d7fee15a9ec7e4b629b5a5da16',1,'AttachProcessEvent']]], + ['procid_6560',['procId',['../structERRF__FatalErrInfo.html#ae56b037aedcc78e82a3b60433bded1eb',1,'ERRF_FatalErrInfo']]], + ['productcode_6561',['productCode',['../structFS__ProductInfo.html#aed585a40db9a4ce83151424bad91fade',1,'FS_ProductInfo']]], + ['program_5fid_6562',['program_id',['../structAttachProcessEvent.html#a4336428142f8dce15453026419cc0657',1,'AttachProcessEvent::program_id()'],['../structCodeSetHeader.html#a84f92f9b496955d6cf92ca14dc9292c9',1,'CodeSetHeader::program_id()']]], + ['programid_6563',['programId',['../structFS__ProgramInfo.html#af1e9862b70fdf055b5c43c150730a165',1,'FS_ProgramInfo']]], + ['ptr_6564',['ptr',['../structPXIDEV__SPIBuffer.html#a3e70eb93db0663a9c4a2f42170b76b55',1,'PXIDEV_SPIBuffer']]], + ['px_6565',['px',['../structtouchPosition.html#a0c42630911c33ca134f04ded5d1aafba',1,'touchPosition']]], + ['py_6566',['py',['../structtouchPosition.html#a4a437ac7c0e754fe59638541b4d314e1',1,'touchPosition']]] +]; diff --git a/search/variables_11.html b/search/variables_11.html new file mode 100644 index 000000000..704bcb187 --- /dev/null +++ b/search/variables_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_11.js b/search/variables_11.js new file mode 100644 index 000000000..acc45ceb9 --- /dev/null +++ b/search/variables_11.js @@ -0,0 +1,39 @@ +var searchData= +[ + ['r_6567',['r',['../structCpuRegisters.html#a5b5b1d3896d6b4d0ee70bb629f7ecd9b',1,'CpuRegisters']]], + ['r_5foffset_6568',['r_offset',['../structY2RU__ColorCoefficients.html#ae2fe87fccabb825e91562567f50daa38',1,'Y2RU_ColorCoefficients']]], + ['r_5fv_6569',['r_V',['../structY2RU__ColorCoefficients.html#a1a769f4de70da7059ac0c86d76a81d65',1,'Y2RU_ColorCoefficients']]], + ['ratingage_6570',['ratingAge',['../structNIM__TitleConfig.html#aa900917e9bcbbb5de630a9fef4a5b914',1,'NIM_TitleConfig']]], + ['reading_6571',['reading',['../structSwkbdDictWord.html#a7cea2111d96631c7082c6e1ba99fe4b8',1,'SwkbdDictWord']]], + ['reason_6572',['reason',['../structExitProcessEvent.html#a5185f7932899486f78aafefc6d52744a',1,'ExitProcessEvent::reason()'],['../structExitThreadEvent.html#a8cc8a89ab9d43445b52a9c702baa7d43',1,'ExitThreadEvent::reason()']]], + ['reference_6573',['reference',['../structTickCounter.html#a963ffa0d4bab3f120511f54d10c0db17',1,'TickCounter']]], + ['regid_6574',['regID',['../structDVLE__outEntry__s.html#ab3c4e281eed361c79363ac03aea5dec1',1,'DVLE_outEntry_s']]], + ['region_6575',['region',['../structFriendProfile.html#aa93f7353683eae976b64232206c49418',1,'FriendProfile']]], + ['region_5flock_6576',['region_lock',['../structMiiData.html#ab7ec04d195222859cada2f398fa817a3',1,'MiiData']]], + ['regs_6577',['regs',['../structERRF__ExceptionData.html#a7df9f0624d16e865039a07e798c5aaa8',1,'ERRF_ExceptionData']]], + ['remaster_5fversion_6578',['remaster_version',['../structExHeader__SystemInfoFlags.html#a94a79b73d1754a57a123855fddba78e4',1,'ExHeader_SystemInfoFlags']]], + ['remasterversion_6579',['remasterVersion',['../structFS__ProductInfo.html#a217c3abd92cca9a48dcd0bdbeb338a94',1,'FS_ProductInfo']]], + ['remnants_6580',['remnants',['../structDebugEventInfo.html#a467b23d5c321ce2dcb425c897de9d05d',1,'DebugEventInfo']]], + ['remote_6581',['remote',['../structSOCU__UDPTableEntry.html#a408541226e8ff9d14b05bfa87a9cc053',1,'SOCU_UDPTableEntry::remote()'],['../structSOCU__TCPTableEntry.html#a54f2d38a6330845ebfd06845e9c684b4',1,'SOCU_TCPTableEntry::remote()']]], + ['rescode_6582',['resCode',['../structERRF__FatalErrInfo.html#a1fd8a34537c2b856372dca61030b750b',1,'ERRF_FatalErrInfo']]], + ['reserved_6583',['reserved',['../structFS__SystemSaveDataInfo.html#a01da5df42491c2a0dc1aac882621feb8',1,'FS_SystemSaveDataInfo::reserved()'],['../structFS__DirectoryEntry.html#a9d4bfeb71c1faf0044398cb873da65f8',1,'FS_DirectoryEntry::reserved()'],['../structCAMU__StereoCameraCalibrationData.html#ab8e7c1e004d1fbb7d243835612c3a593',1,'CAMU_StereoCameraCalibrationData::reserved()'],['../structExHeader__Arm11KernelCapabilities.html#a61e6b3b0fb532deb5783964aaef417b0',1,'ExHeader_Arm11KernelCapabilities::reserved()'],['../structExHeader__Arm11StorageInfo.html#a33b32677a422f21ac2c30ec0b2ebea26',1,'ExHeader_Arm11StorageInfo::reserved()'],['../structExHeader__SystemInfo.html#ada766c7a37691f77d822729363268c27',1,'ExHeader_SystemInfo::reserved()'],['../structExHeader__CodeSetInfo.html#a3195b1c9450a2bd8f580f1defe09a870',1,'ExHeader_CodeSetInfo::reserved()'],['../structExHeader__SystemInfoFlags.html#ad644fd2969c67f598d5216fa43c86fcd',1,'ExHeader_SystemInfoFlags::reserved()'],['../structExHeader__Arm11SystemLocalCapabilities.html#a3bd7a523eb988a66beeb57d7e362ba82',1,'ExHeader_Arm11SystemLocalCapabilities::reserved()']]], + ['reserved1_6584',['reserved1',['../structFS__ExtSaveDataInfo.html#a8c9e7b7ea98f611cdb1a301dc38688fc',1,'FS_ExtSaveDataInfo']]], + ['reserved2_6585',['reserved2',['../structFS__ExtSaveDataInfo.html#a11cdd05d3c81e2969526444664c27cdc',1,'FS_ExtSaveDataInfo']]], + ['reslimit_5fcategory_6586',['reslimit_category',['../structExHeader__Arm11SystemLocalCapabilities.html#ade4e42e46cc43f1d7a5432f53e1195c5',1,'ExHeader_Arm11SystemLocalCapabilities']]], + ['reslimits_6587',['reslimits',['../structExHeader__Arm11SystemLocalCapabilities.html#a5eb8c344a34a5480777b7fe828ac2db7',1,'ExHeader_Arm11SystemLocalCapabilities']]], + ['revhigh_6588',['revHigh',['../structERRF__FatalErrInfo.html#a2833490b678333822f34a5f3c3afff54',1,'ERRF_FatalErrInfo']]], + ['revlow_6589',['revLow',['../structERRF__FatalErrInfo.html#a65e3d5c2cb239778ef321644c7ddb05f',1,'ERRF_FatalErrInfo']]], + ['rgb_5fy_6590',['rgb_Y',['../structY2RU__ColorCoefficients.html#aa2a7f831d6dc7d45268e4bc9f24b16ba',1,'Y2RU_ColorCoefficients']]], + ['ro_5faddr_6591',['ro_addr',['../structCodeSetHeader.html#afa8e40f26339b8158938ff8ab8944fe4',1,'CodeSetHeader']]], + ['ro_5fsize_6592',['ro_size',['../structCodeSetHeader.html#a4039bdfc33e66bd74df3971403f2f639',1,'CodeSetHeader']]], + ['ro_5fsize_5ftotal_6593',['ro_size_total',['../structCodeSetHeader.html#ad11cc3987916c127428009de1af1350b',1,'CodeSetHeader']]], + ['rodata_6594',['rodata',['../structExHeader__CodeSetInfo.html#a91eb5f8bcef9e16def8d82d4846a87e1',1,'ExHeader_CodeSetInfo']]], + ['root_6595',['root',['../structrbtree.html#afab999c0a76782781201a5bd01630715',1,'rbtree']]], + ['rotation_6596',['rotation',['../structY2RU__ConversionParams.html#a7606da970d253a71b0ec704b0e6ff9bf',1,'Y2RU_ConversionParams']]], + ['rotationx_6597',['rotationX',['../structCAMU__StereoCameraCalibrationData.html#a6d9d450143a17c93dc37b5275d1b1b10',1,'CAMU_StereoCameraCalibrationData']]], + ['rotationy_6598',['rotationY',['../structCAMU__StereoCameraCalibrationData.html#a9e614f0a5a80bcf789366ff5bba7768a',1,'CAMU_StereoCameraCalibrationData']]], + ['rotationz_6599',['rotationZ',['../structCAMU__StereoCameraCalibrationData.html#a927e36f99989fade0ced434b7139c078',1,'CAMU_StereoCameraCalibrationData']]], + ['rw_5faddr_6600',['rw_addr',['../structCodeSetHeader.html#a440bd225305c32773a688b6b3c2e7e02',1,'CodeSetHeader']]], + ['rw_5fsize_6601',['rw_size',['../structCodeSetHeader.html#adf23f727bd2a321012485ac345be20cb',1,'CodeSetHeader']]], + ['rw_5fsize_5ftotal_6602',['rw_size_total',['../structCodeSetHeader.html#ae1b2f240e32e5ebd551352bf9b2258d0',1,'CodeSetHeader']]] +]; diff --git a/search/variables_12.html b/search/variables_12.html new file mode 100644 index 000000000..a3a32eb8e --- /dev/null +++ b/search/variables_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_12.js b/search/variables_12.js new file mode 100644 index 000000000..d73ffe900 --- /dev/null +++ b/search/variables_12.js @@ -0,0 +1,58 @@ +var searchData= +[ + ['s_6603',['s',['../structFpuRegisters.html#accf8774f8dded5b949bf18c3d65dc754',1,'FpuRegisters']]], + ['savedata_5fsize_6604',['savedata_size',['../structExHeader__SystemInfo.html#a3abf685013ede2e5a64d6e29e6fa4f6e',1,'ExHeader_SystemInfo']]], + ['saveid_6605',['saveId',['../structFS__SystemSaveDataInfo.html#aa29d930e4eff29ee9bab2e5b83317b99',1,'FS_SystemSaveDataInfo::saveId()'],['../structFS__ExtSaveDataInfo.html#abc40792e186f3b1f7fdd9431037e1afb',1,'FS_ExtSaveDataInfo::saveId()']]], + ['scale_6606',['scale',['../structCAMU__StereoCameraCalibrationData.html#a35eb133d3ff323928d993e143e42cad6',1,'CAMU_StereoCameraCalibrationData']]], + ['scanentries_6607',['scanEntries',['../structtag__CMAP__s.html#a5b09f50abe74ae769f2bb71471a77ae2',1,'tag_CMAP_s']]], + ['scheduler_6608',['scheduler',['../structDebugEventInfo.html#a2a1c1f9281c782c297054a5adfb6c733',1,'DebugEventInfo']]], + ['sci_6609',['sci',['../structExHeader__Info.html#a26172971cb92adccc623e0b0666b42a1',1,'ExHeader_Info']]], + ['screencapture_6610',['screencapture',['../structGSPGPU__CaptureInfo.html#aed2556cc309dde56f06ad13023cfe406',1,'GSPGPU_CaptureInfo']]], + ['sdclkctrl_6611',['sdClkCtrl',['../structFS__SdMmcSpeedInfo.html#a64b2c5c8b5b6ff19c72bbedbccb05f26',1,'FS_SdMmcSpeedInfo']]], + ['sectionsize_6612',['sectionSize',['../structFINF__s.html#a05aedb34e709badc0f4f825d9e1405b6',1,'FINF_s']]], + ['sectorsize_6613',['sectorSize',['../structFS__ArchiveResource.html#ab4bda5e6cf21fafa494e00fc69634ad8',1,'FS_ArchiveResource']]], + ['sequence_5fid_6614',['sequence_id',['../structtag__ndspWaveBuf.html#a47f038d687b5dfa121c510146a35d5d5',1,'tag_ndspWaveBuf']]], + ['series_6615',['series',['../structNFC__AmiiboConfig.html#a97b6c6ac32192aee1f00d1c02fa74cc3',1,'NFC_AmiiboConfig']]], + ['servhandle_6616',['servhandle',['../structhttpcContext.html#a026a48ba3da27fee529b344e256d612f',1,'httpcContext::servhandle()'],['../structsslcContext.html#a6825036f00b6011702757562cf8480ea',1,'sslcContext::servhandle()']]], + ['service_5faccess_6617',['service_access',['../structExHeader__Arm11SystemLocalCapabilities.html#afac352c4b8cc39dc06999fb70fbb641f',1,'ExHeader_Arm11SystemLocalCapabilities']]], + ['setupdate_5fyear_6618',['setupdate_year',['../structNFC__AmiiboSettings.html#a235d9f671be5710883e9cad51499df2b',1,'NFC_AmiiboSettings']]], + ['sex_6619',['sex',['../structMiiData.html#ae4ed99df18d8405f61b53b322158b8f6',1,'MiiData']]], + ['shape_6620',['shape',['../structMiiData.html#a41853eee0590642b8269149b43c33230',1,'MiiData']]], + ['sharpness_6621',['sharpness',['../structCAMU__PackageParameterCameraSelect.html#a8f890c182b77ec4e264532ed5596283d',1,'CAMU_PackageParameterCameraSelect']]], + ['sheetdata_6622',['sheetData',['../structTGLP__s.html#ac7a23e50af13107dbb23dc868df146c3',1,'TGLP_s']]], + ['sheetfmt_6623',['sheetFmt',['../structTGLP__s.html#a42ff8a7870befcbe256c2525949206d3',1,'TGLP_s']]], + ['sheetheight_6624',['sheetHeight',['../structTGLP__s.html#a659c3b96894dbd2aad54003da897a11a',1,'TGLP_s']]], + ['sheetindex_6625',['sheetIndex',['../structfontGlyphPos__s.html#aba5b4d216524dc792b83ffb1325c9728',1,'fontGlyphPos_s']]], + ['sheetsize_6626',['sheetSize',['../structTGLP__s.html#a9330d26245b7ed996b0f74c47252b67e',1,'TGLP_s']]], + ['sheetwidth_6627',['sheetWidth',['../structTGLP__s.html#a7c4ae21ae306399d735983cc9cea0086',1,'TGLP_s']]], + ['shirt_5fcolor_6628',['shirt_color',['../structMiiData.html#a70775d6a0df4e7b6472852cdb5b6e852',1,'MiiData']]], + ['shortext_6629',['shortExt',['../structFS__DirectoryEntry.html#ad2076b9110b670c28b05a7ec15c283c9',1,'FS_DirectoryEntry']]], + ['shortname_6630',['shortName',['../structFS__DirectoryEntry.html#a50e432e5b92414481cff3de3ae544621',1,'FS_DirectoryEntry']]], + ['show_5fguest_5fpage_6631',['show_guest_page',['../structMiiSelectorConf.html#a1e2944e28f9ef294a0af29f6fbaccc8f',1,'MiiSelectorConf']]], + ['show_5fon_5ftop_5fscreen_6632',['show_on_top_screen',['../structMiiSelectorConf.html#a7e6b701d8a73f19f1c4d4ebc079d5470',1,'MiiSelectorConf']]], + ['sibling_6633',['sibling',['../structromfs__dir.html#a93523197b2a32e5035578dd3f2f67ec1',1,'romfs_dir::sibling()'],['../structromfs__file.html#a1a2d3ed1133cde641508a040470861a9',1,'romfs_file::sibling()']]], + ['signature_6634',['signature',['../structExHeader__AccessDescriptor.html#adebb7199062402a10434e51082240970',1,'ExHeader_AccessDescriptor::signature()'],['../structFINF__s.html#abe07f063d61d981e061155c76a1a503c',1,'FINF_s::signature()'],['../structCFNT__s.html#a0a503bef6bec8a82792d38523e41fd8c',1,'CFNT_s::signature()']]], + ['size_6635',['size',['../structarchive__dir__t.html#a370ff6f78589cec3468132a2c1a9ede8',1,'archive_dir_t::size()'],['../structrbtree.html#a5d2513a0bf879fbd38a0f96cc36c256f',1,'rbtree::size()'],['../structdecompressIOVec.html#a135490576d81d283443811b76c023a01',1,'decompressIOVec::size()'],['../structMemInfo.html#aafaee8ba3c6411806c7e319bec27b473',1,'MemInfo::size()'],['../structPXIDEV__SPIBuffer.html#acd46ecaa4f5bda403648c71646c0b5c7',1,'PXIDEV_SPIBuffer::size()'],['../structCAMU__PackageParameterContext.html#ab6d87ae440263c9ac76171442baa1976',1,'CAMU_PackageParameterContext::size()'],['../structFS__Path.html#aada58da9e88b94b1bf85589c470514e8',1,'FS_Path::size()'],['../structExHeader__CodeSectionInfo.html#a0e22a5d8f2a9dc8ff15e193c01b20391',1,'ExHeader_CodeSectionInfo::size()'],['../structAM__TitleEntry.html#a82d248d627538f4ed3ec0ff15844453a',1,'AM_TitleEntry::size()'],['../structAM__ContentInfo.html#a939503e40afa2fe9c7629d584ebf739b',1,'AM_ContentInfo::size()']]], + ['skincolor_6636',['skinColor',['../structMiiData.html#a1ace526b4ff48c16d4dde7bd1415ea13',1,'MiiData']]], + ['slot_5findex_6637',['slot_index',['../structMiiData.html#a259e0d2b45f18b5a91c99890e59858fc',1,'MiiData']]], + ['sp_6638',['sp',['../structCpuRegisters.html#a64593642201411d0a1398c5ea8cfbe22',1,'CpuRegisters']]], + ['srccfg_6639',['srcCfg',['../structDmaConfig.html#a96bff82895b0a4c15a68aa40066e7f5d',1,'DmaConfig']]], + ['sslchandle_6640',['sslchandle',['../structsslcContext.html#a7438b06d321216a2d2c7645b05bea83e',1,'sslcContext']]], + ['stack_5fsize_6641',['stack_size',['../structExHeader__CodeSetInfo.html#a2643ef9476b7731a8aa6bd71c85eba25',1,'ExHeader_CodeSetInfo::stack_size()'],['../structStartupInfo.html#a094fc5eaf0b55de2d55a66a9db30047f',1,'StartupInfo::stack_size()']]], + ['standard_5fcoefficient_6642',['standard_coefficient',['../structY2RU__ConversionParams.html#add25354b0c8a7fcd87fb6069c04743e8',1,'Y2RU_ConversionParams']]], + ['startindex_6643',['startIndex',['../structtag__CWDH__s.html#a442fd2c60f994e38952b363a093afd0b',1,'tag_CWDH_s']]], + ['startreg_6644',['startReg',['../structDVLE__uniformEntry__s.html#aaea9d48d3fa76543b96318a59b53fb47',1,'DVLE_uniformEntry_s']]], + ['state_6645',['state',['../structLightEvent.html#ab74033485c90671a53cacda0b7c594b4',1,'LightEvent::state()'],['../structSOCU__TCPTableEntry.html#a972ae0d8369e92a09910cc78f8b86ebd',1,'SOCU_TCPTableEntry::state()'],['../structMemInfo.html#a4473b7b20d510475032d0eb242d74165',1,'MemInfo::state()'],['../structNIM__TitleProgress.html#a2aab196b47b2381cf0093006f88bd14f',1,'NIM_TitleProgress::state()']]], + ['status_6646',['status',['../structtag__ndspWaveBuf.html#a967b0ddea945fc5de1ce8334d2135358',1,'tag_ndspWaveBuf::status()'],['../structAM__PendingTitleEntry.html#a104f6f18b0e0cde17a9210b1b2ac8c7d',1,'AM_PendingTitleEntry::status()']]], + ['stop_5fpoint_6647',['stop_point',['../structExceptionEvent.html#a8f87fbd05a1735dedfaea55c528e2855',1,'ExceptionEvent']]], + ['storage_5finfo_6648',['storage_info',['../structExHeader__Arm11SystemLocalCapabilities.html#a0ff67e06055c8b6349548d57ba6f4a79',1,'ExHeader_Arm11SystemLocalCapabilities']]], + ['string_5faddr_6649',['string_addr',['../structOutputStringEvent.html#a4d4f08f49e570009b2d6d829fa3eea09',1,'OutputStringEvent']]], + ['string_5fsize_6650',['string_size',['../structOutputStringEvent.html#a08288e242fa7958862b1ba7dd720a220',1,'OutputStringEvent']]], + ['symboloffset_6651',['symbolOffset',['../structDVLE__uniformEntry__s.html#aa541b81c9ca11740c0ab1df8f8af82ab',1,'DVLE_uniformEntry_s']]], + ['symboltabledata_6652',['symbolTableData',['../structDVLE__s.html#a8a2e714fda93df4fa2cdf239eac71c40',1,'DVLE_s']]], + ['syscall_6653',['syscall',['../structSyscallInOutEvent.html#a2fe80c83c8faeb0b3cc8eae2d539aa52',1,'SyscallInOutEvent::syscall()'],['../structDebugEventInfo.html#a16c73c12c8a2c200b8c149b7942785c6',1,'DebugEventInfo::syscall()']]], + ['sysclock_5fhz_6654',['sysclock_hz',['../structosTimeRef__s.html#a0adffd1707bf14f6218df4fec72c347f',1,'osTimeRef_s']]], + ['system_5fid_6655',['system_id',['../structMiiData.html#a5f9e2bb911a33533684e7bf8126b8ec0',1,'MiiData']]], + ['system_5finfo_6656',['system_info',['../structExHeader__SystemControlInfo.html#a46bae35075cd7b8606c9992d276a8a5d',1,'ExHeader_SystemControlInfo']]], + ['system_5fsavedata_5fids_6657',['system_savedata_ids',['../structExHeader__Arm11StorageInfo.html#a20dd719e511bdf816c742a8ec5f27d12',1,'ExHeader_Arm11StorageInfo']]] +]; diff --git a/search/variables_13.html b/search/variables_13.html new file mode 100644 index 000000000..7d05bd863 --- /dev/null +++ b/search/variables_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_13.js b/search/variables_13.js new file mode 100644 index 000000000..29704facb --- /dev/null +++ b/search/variables_13.js @@ -0,0 +1,29 @@ +var searchData= +[ + ['tabsize_6658',['tabSize',['../structPrintConsole.html#a4bd05d4de8d7869489891cbaee90c782',1,'PrintConsole']]], + ['texcoord_6659',['texcoord',['../structfontGlyphPos__s.html#a580d59927d19ec8a1ce817d88016db23',1,'fontGlyphPos_s']]], + ['text_6660',['text',['../structExHeader__CodeSetInfo.html#a4cd23d15994e562c3334a8a2ad883886',1,'ExHeader_CodeSetInfo']]], + ['text_5faddr_6661',['text_addr',['../structCodeSetHeader.html#a1d3dd48ca8a17003409597ca517e4541',1,'CodeSetHeader']]], + ['text_5fsize_6662',['text_size',['../structCodeSetHeader.html#ae7e0b1cc7be89bfc003ce51555bdd498',1,'CodeSetHeader']]], + ['text_5fsize_5ftotal_6663',['text_size_total',['../structCodeSetHeader.html#a0d9ae8c80b45db7139688a2c89e434dc',1,'CodeSetHeader']]], + ['tglp_6664',['tglp',['../structFINF__s.html#ad6cc2b0b412c2224f9b47f12a9e44d0d',1,'FINF_s']]], + ['thread_5fid_6665',['thread_id',['../structDebugEventInfo.html#a2af232f5d56183f1af895962bdd2fe18',1,'DebugEventInfo']]], + ['thread_5fids_6666',['thread_ids',['../structDebuggerBreakExceptionEvent.html#af4d138bd134f1599e331704b9375734b',1,'DebuggerBreakExceptionEvent']]], + ['thread_5flocal_5fstorage_6667',['thread_local_storage',['../structAttachThreadEvent.html#a7dc9a7c3269c43c440b0ac7479af51ec',1,'AttachThreadEvent']]], + ['time_6668',['time',['../structSOCU__RoutingTableEntry.html#ab6dc8ce41d04163422626a3233ea117a',1,'SOCU_RoutingTableEntry']]], + ['title_6669',['title',['../structMiiSelectorConf.html#a8ca08c8fe4303da222408415a804e064',1,'MiiSelectorConf']]], + ['title_5fid_6670',['title_id',['../structExHeader__Arm11SystemLocalCapabilities.html#a93aa9802c861aa395f488a13b2c6a201',1,'ExHeader_Arm11SystemLocalCapabilities']]], + ['titleid_6671',['titleId',['../structERRF__FatalErrInfo.html#afdc015e34d2d894639b03abb7521861d',1,'ERRF_FatalErrInfo::titleId()'],['../structAM__PendingTitleEntry.html#a1fd5b690678542eda4b11b0413ad9cf5',1,'AM_PendingTitleEntry::titleId()'],['../structNIM__TitleConfig.html#a98d0334cb5c3fba721d6cb0d770bddc9',1,'NIM_TitleConfig::titleId()']]], + ['titleid_6672',['titleID',['../structAM__TitleEntry.html#a16b1b61ff2f678ae870e934574bed9c6',1,'AM_TitleEntry']]], + ['titlescapacity_6673',['titlesCapacity',['../structAM__TWLPartitionInfo.html#a9a5720f0a43e723a43cd4e1a0944a77e',1,'AM_TWLPartitionInfo']]], + ['titlesfreespace_6674',['titlesFreeSpace',['../structAM__TWLPartitionInfo.html#adf5f826249a232ed74ab119b965cc4dd',1,'AM_TWLPartitionInfo']]], + ['titletype_6675',['titleType',['../structAM__PendingTitleEntry.html#a7143f71acc278942b8d5ad5991a54195',1,'AM_PendingTitleEntry']]], + ['totalclusters_6676',['totalClusters',['../structFS__ArchiveResource.html#a0f308806e243f295d43efd7bf03ea7ab',1,'FS_ArchiveResource']]], + ['totalsize_6677',['totalSize',['../structNIM__TitleProgress.html#a8e999461d7844fd0e50921ef0fd1ffe0',1,'NIM_TitleProgress']]], + ['transferoption_6678',['transferOption',['../structPXIDEV__SPIBuffer.html#adc865c90555d89c62f2a6ebb9bd30284',1,'PXIDEV_SPIBuffer']]], + ['transfersize_6679',['transferSize',['../structDmaDeviceConfig.html#a629d5de5271384b5e0b7947a97be66c4',1,'DmaDeviceConfig']]], + ['transferstride_6680',['transferStride',['../structDmaDeviceConfig.html#a310cb52828836478313a8c01e7b529ed',1,'DmaDeviceConfig']]], + ['translationx_6681',['translationX',['../structCAMU__StereoCameraCalibrationData.html#aa9089aa4538c786973004eda481d6b9e',1,'CAMU_StereoCameraCalibrationData']]], + ['translationy_6682',['translationY',['../structCAMU__StereoCameraCalibrationData.html#a0ec872095025b8e1596d6546297dc013',1,'CAMU_StereoCameraCalibrationData']]], + ['type_6683',['type',['../structDebugEventInfo.html#ae0e045fcf742a3daa7fb9f429aebeef9',1,'DebugEventInfo::type()'],['../structExceptionEvent.html#a2a16b663ed61d882f78694856ff856e0',1,'ExceptionEvent::type()'],['../structUserBreakExceptionEvent.html#ab017dae7d7ccf3913ab5d6a7acaa7a23',1,'UserBreakExceptionEvent::type()'],['../structStopPointExceptionEvent.html#a3caffea18e63415cc84d5909bb6fe5c9',1,'StopPointExceptionEvent::type()'],['../structNFC__AmiiboConfig.html#a5487bb25ea68a55b6cdbf039ef0d0f47',1,'NFC_AmiiboConfig::type()'],['../structFS__Path.html#acf17e9d97f78be3a36b74b582c6c989f',1,'FS_Path::type()'],['../structAM__ContentInfo.html#a1ceb8abae389d8dcc5dc75d02de0f781',1,'AM_ContentInfo::type()'],['../structDVLE__s.html#a3b5743bb758cdb15cd812ad5c3b1fe6f',1,'DVLE_s::type()'],['../structDVLE__outEntry__s.html#aa67f67ff27a9374fd1c089617d8373b0',1,'DVLE_outEntry_s::type()'],['../structDVLE__constEntry__s.html#af37eef788bf042edef254961beab5a46',1,'DVLE_constEntry_s::type()'],['../uniongxCmdEntry__s.html#a7cd818aaa8cb2ae252ac02ee2041f07a',1,'gxCmdEntry_s::type()'],['../structERRF__FatalErrInfo.html#a68010b0617477f1dc93404d5f52cda28',1,'ERRF_FatalErrInfo::type()'],['../structERRF__ExceptionInfo.html#a25f0008d9c331429b2e55719e6cdfeca',1,'ERRF_ExceptionInfo::type()']]] +]; diff --git a/search/variables_14.html b/search/variables_14.html new file mode 100644 index 000000000..ab9e0fa9b --- /dev/null +++ b/search/variables_14.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_14.js b/search/variables_14.js new file mode 100644 index 000000000..f1a6b2fbe --- /dev/null +++ b/search/variables_14.js @@ -0,0 +1,24 @@ +var searchData= +[ + ['uniformtabledata_6684',['uniformTableData',['../structDVLE__s.html#a37130c23fcea45833e688e92803fff63',1,'DVLE_s']]], + ['uniformtablesize_6685',['uniformTableSize',['../structDVLE__s.html#af66ba7fde88b0bb1df53aef8c24db51c',1,'DVLE_s']]], + ['unk_6686',['unk',['../structDVLE__outEntry__s.html#a8a552967912a216a2900ba57c0cb33ba',1,'DVLE_outEntry_s::unk()'],['../structAM__TitleEntry.html#a22a7d967f2e7f4f7072eb46f17b35077',1,'AM_TitleEntry::unk()'],['../structAM__PendingTitleEntry.html#ab63f01a88e37f5feb31dfdf5ef5642b9',1,'AM_PendingTitleEntry::unk()'],['../structGSPGPU__FramebufferInfo.html#a1794be4dc30dcf32ff0c2fb2ef7a5841',1,'GSPGPU_FramebufferInfo::unk()']]], + ['unk_5fx04_6687',['unk_x04',['../structMVDSTD__Config.html#a044475bde408bf873f9a6da6b3bd7ecc',1,'MVDSTD_Config']]], + ['unk_5fx08_6688',['unk_x08',['../structMVDSTD__Config.html#a8c6ca76186b85dee3ac2585df2c3af94',1,'MVDSTD_Config']]], + ['unk_5fx2_6689',['unk_x2',['../structNFC__TagInfo.html#a60b976dafb0acafde87489bbcb98e8e9',1,'NFC_TagInfo']]], + ['unk_5fx28_6690',['unk_x28',['../structMVDSTD__Config.html#a283c0c326ad9d68ba5f368bbbd212772',1,'MVDSTD_Config']]], + ['unk_5fx2c_6691',['unk_x2c',['../structQTM__HeadTrackingInfo.html#ab84f7afcb3d9081436fb5aa075a747bc',1,'QTM_HeadTrackingInfo']]], + ['unk_5fx54_6692',['unk_x54',['../structMVDSTD__Config.html#ac7f77cca83c7ebcef102a34d43a26d8f',1,'MVDSTD_Config']]], + ['unk_5fx6c_6693',['unk_x6c',['../structMVDSTD__Config.html#aeee9227719fa0cedb5b5d70b67795487',1,'MVDSTD_Config']]], + ['unknown_6694',['unknown',['../structFS__ExtSaveDataInfo.html#ad82be582a42e589167c6b071c2c28f09',1,'FS_ExtSaveDataInfo::unknown()'],['../structFS__SystemSaveDataInfo.html#abbf848a27e4cc7d57cd7c3e522ca005a',1,'FS_SystemSaveDataInfo::unknown()']]], + ['unknown0_6695',['unknown0',['../structMiiData.html#a9888bf624e05e2a436328115b3f42899',1,'MiiData']]], + ['unknown_5f0_6696',['unknown_0',['../structNIM__TitleConfig.html#abaf56d2b769596bf87b02d4625593169',1,'NIM_TitleConfig']]], + ['unknown_5f1_6697',['unknown_1',['../structNIM__TitleConfig.html#a281f6a23c15a172de892c94a192c2519',1,'NIM_TitleConfig']]], + ['unknownzero_6698',['unknownZero',['../unionCSND__ChnInfo.html#aadbf8a1b1680b292a18ca8c421ab1800',1,'CSND_ChnInfo::unknownZero()'],['../unionCSND__CapInfo.html#af9f3170745ba8a9fcebaa085b3e7da82',1,'CSND_CapInfo::unknownZero()']]], + ['unused_6699',['unused',['../structY2RU__ConversionParams.html#a885735be68b6108cced9af720d28d61a',1,'Y2RU_ConversionParams']]], + ['use_5fcpu_5fclockrate_5f804mhz_6700',['use_cpu_clockrate_804MHz',['../structExHeader__Arm11CoreInfo.html#ab3342c9a321bbabdaf55d6b15b213f76',1,'ExHeader_Arm11CoreInfo']]], + ['use_5fextended_5fsavedata_5faccess_6701',['use_extended_savedata_access',['../structExHeader__Arm11StorageInfo.html#afcf4393422cc0e1252099f871395b01e',1,'ExHeader_Arm11StorageInfo']]], + ['user_6702',['user',['../structgxCmdQueue__s.html#a304d299bfa58e79c08f6a3321b12591d',1,'gxCmdQueue_s']]], + ['user_5fbreak_6703',['user_break',['../structExceptionEvent.html#a331606aa5792056b999bc99756cbd598',1,'ExceptionEvent']]], + ['useshighestclockrate_6704',['usesHighestClockRate',['../structFS__SdMmcSpeedInfo.html#ac24512d29e94b2c1760aeb99dc966698',1,'FS_SdMmcSpeedInfo']]] +]; diff --git a/search/variables_15.html b/search/variables_15.html new file mode 100644 index 000000000..45b78e3d9 --- /dev/null +++ b/search/variables_15.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_15.js b/search/variables_15.js new file mode 100644 index 000000000..41fbc0a9c --- /dev/null +++ b/search/variables_15.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['valid_6705',['valid',['../structFS__DirectoryEntry.html#a11afbb686a3683f13b0ebd9ae654daa7',1,'FS_DirectoryEntry']]], + ['value_6706',['value',['../unionCSND__ChnInfo.html#a7ee49c35f7e2a75f6f45bb6e84f14491',1,'CSND_ChnInfo::value()'],['../unionCSND__CapInfo.html#a9c691452f8d4d804f9dabe36c0de94cc',1,'CSND_CapInfo::value()']]], + ['value_5fms_6707',['value_ms',['../structosTimeRef__s.html#aa58a261c209182464ba5f7b3a1827a27',1,'osTimeRef_s']]], + ['value_5ftick_6708',['value_tick',['../structosTimeRef__s.html#aa90bf26ff1e3dcd373afc6d6bc3a120d',1,'osTimeRef_s']]], + ['version_6709',['version',['../structCFNT__s.html#ac37f969cb9d7ffcd6be35ffe8f8cd78e',1,'CFNT_s::version()'],['../structAM__TitleEntry.html#a7ce25643edfe43a20e1503fb1c13641a',1,'AM_TitleEntry::version()'],['../structAM__PendingTitleEntry.html#a2f4596c32bd5ff77db5004b8dccd8b48',1,'AM_PendingTitleEntry::version()'],['../structNIM__TitleConfig.html#a5b0a4643706df8115a92b5e8bd11cb48',1,'NIM_TitleConfig::version()'],['../structCodeSetHeader.html#a4ab720adde5af3b30d1feea8d11a041f',1,'CodeSetHeader::version()']]], + ['vertexshader_6710',['vertexShader',['../structshaderProgram__s.html#a607da7b7218dbc29d5bd811ecfe7f8f0',1,'shaderProgram_s']]], + ['vtxcoord_6711',['vtxcoord',['../structfontGlyphPos__s.html#adcaf183b7120cf580ec33a68b919476b',1,'fontGlyphPos_s']]] +]; diff --git a/search/variables_16.html b/search/variables_16.html new file mode 100644 index 000000000..8d9f8780c --- /dev/null +++ b/search/variables_16.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_16.js b/search/variables_16.js new file mode 100644 index 000000000..bbe6ce354 --- /dev/null +++ b/search/variables_16.js @@ -0,0 +1,28 @@ +var searchData= +[ + ['w0_5fxeven_5fyeven_6712',['w0_xEven_yEven',['../structY2RU__DitheringWeightParams.html#abc50e7aaa093ed6237c983b1957e1374',1,'Y2RU_DitheringWeightParams']]], + ['w0_5fxeven_5fyodd_6713',['w0_xEven_yOdd',['../structY2RU__DitheringWeightParams.html#a10d7979ab8ab3dc3993b660e81138867',1,'Y2RU_DitheringWeightParams']]], + ['w0_5fxodd_5fyeven_6714',['w0_xOdd_yEven',['../structY2RU__DitheringWeightParams.html#ad665dcce19415f85a8115f9f9c73bb5c',1,'Y2RU_DitheringWeightParams']]], + ['w0_5fxodd_5fyodd_6715',['w0_xOdd_yOdd',['../structY2RU__DitheringWeightParams.html#ae773ec687c21dee52fac8518be3d03f0',1,'Y2RU_DitheringWeightParams']]], + ['w1_5fxeven_5fyeven_6716',['w1_xEven_yEven',['../structY2RU__DitheringWeightParams.html#a2ed087e0e0020f30988a92184660059e',1,'Y2RU_DitheringWeightParams']]], + ['w1_5fxeven_5fyodd_6717',['w1_xEven_yOdd',['../structY2RU__DitheringWeightParams.html#a4356088787f96ff77648607c4fe9e30e',1,'Y2RU_DitheringWeightParams']]], + ['w1_5fxodd_5fyeven_6718',['w1_xOdd_yEven',['../structY2RU__DitheringWeightParams.html#ac7c4e579c6da210cdeffba0add701480',1,'Y2RU_DitheringWeightParams']]], + ['w1_5fxodd_5fyodd_6719',['w1_xOdd_yOdd',['../structY2RU__DitheringWeightParams.html#a8d3dc666e1ed7128d4f63b82c4ceaebe',1,'Y2RU_DitheringWeightParams']]], + ['w2_5fxeven_5fyeven_6720',['w2_xEven_yEven',['../structY2RU__DitheringWeightParams.html#a6c0dffe76ffcbcdbbee52ea29b86682f',1,'Y2RU_DitheringWeightParams']]], + ['w2_5fxeven_5fyodd_6721',['w2_xEven_yOdd',['../structY2RU__DitheringWeightParams.html#aa84b0c4dd7d844ec3e19bbe6ef428be3',1,'Y2RU_DitheringWeightParams']]], + ['w2_5fxodd_5fyeven_6722',['w2_xOdd_yEven',['../structY2RU__DitheringWeightParams.html#a57711e45e9b873f19d3e18bef9ed6db1',1,'Y2RU_DitheringWeightParams']]], + ['w2_5fxodd_5fyodd_6723',['w2_xOdd_yOdd',['../structY2RU__DitheringWeightParams.html#a656d7d1197b50f321121395d42f88266',1,'Y2RU_DitheringWeightParams']]], + ['w3_5fxeven_5fyeven_6724',['w3_xEven_yEven',['../structY2RU__DitheringWeightParams.html#a4814f5dc29ee12ffe04cf135ee8bb050',1,'Y2RU_DitheringWeightParams']]], + ['w3_5fxeven_5fyodd_6725',['w3_xEven_yOdd',['../structY2RU__DitheringWeightParams.html#ac488204c2b58db396fb9696c23298569',1,'Y2RU_DitheringWeightParams']]], + ['w3_5fxodd_5fyeven_6726',['w3_xOdd_yEven',['../structY2RU__DitheringWeightParams.html#ae56625a9df8610aecdcf4e404685521d',1,'Y2RU_DitheringWeightParams']]], + ['w3_5fxodd_5fyodd_6727',['w3_xOdd_yOdd',['../structY2RU__DitheringWeightParams.html#aee292af8e9b3baa4340bdb5be2cf88c2',1,'Y2RU_DitheringWeightParams']]], + ['waitoperation_6728',['waitOperation',['../structPXIDEV__SPIBuffer.html#a3452cae6c82925d0141d7a29b52b54bf',1,'PXIDEV_SPIBuffer']]], + ['whitebalance_6729',['whiteBalance',['../structCAMU__PackageParameterCameraSelect.html#a4778d4499a3cdd043befba607ab1e80b',1,'CAMU_PackageParameterCameraSelect']]], + ['width_6730',['width',['../structFINF__s.html#a2fc069b44a00b0cfa74f10e7bfee8a0a',1,'FINF_s::width()'],['../structfontGlyphPos__s.html#aa86a69a70bb52c980461e71dd461b079',1,'fontGlyphPos_s::width()'],['../structMiiData.html#a3d0392c83a02260b62c36d0c5c695702',1,'MiiData::width()'],['../structCAMU__PackageParameterContextDetail.html#adbb77fc575f6f8700b7d4b3ea5883911',1,'CAMU_PackageParameterContextDetail::width()']]], + ['widths_6731',['widths',['../structtag__CWDH__s.html#a0d9ccc0eac1d072d49c1ee28afd856f5',1,'tag_CWDH_s']]], + ['windowheight_6732',['windowHeight',['../structPrintConsole.html#a97fa07262bd5a64ba5b5174e01e7128b',1,'PrintConsole']]], + ['windowwidth_6733',['windowWidth',['../structPrintConsole.html#a7eaeb319aa6626250a18d52da7b57221',1,'PrintConsole']]], + ['windowx_6734',['windowX',['../structPrintConsole.html#a3238a0f3691fd3742db45df2bda726cd',1,'PrintConsole']]], + ['windowy_6735',['windowY',['../structPrintConsole.html#af541d301e1ee4f1a8aaecca9f78d40de',1,'PrintConsole']]], + ['word_6736',['word',['../structSwkbdDictWord.html#a2cd31e3829c910ad3e77e28516e5a47c',1,'SwkbdDictWord']]] +]; diff --git a/search/variables_17.html b/search/variables_17.html new file mode 100644 index 000000000..b91024bd0 --- /dev/null +++ b/search/variables_17.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_17.js b/search/variables_17.js new file mode 100644 index 000000000..be74bc20e --- /dev/null +++ b/search/variables_17.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['x_6737',['x',['../structaccelVector.html#a0504512667f03b668fea1f5bc4928885',1,'accelVector::x()'],['../structangularRate.html#aeb9bf87b59b134ea1c7ab84af7f97615',1,'angularRate::x()'],['../structQTM__HeadTrackingInfoCoord.html#a36ab3ab6584f54d59cfe9e9a638771d0',1,'QTM_HeadTrackingInfoCoord::x()']]], + ['xadvance_6738',['xAdvance',['../structfontGlyphPos__s.html#a300fb5125c36feed92364416a2e73bd6',1,'fontGlyphPos_s']]], + ['xoffset_6739',['xOffset',['../structfontGlyphPos__s.html#ae96778159b2b35a6116814a14d0baeee',1,'fontGlyphPos_s']]] +]; diff --git a/search/variables_18.html b/search/variables_18.html new file mode 100644 index 000000000..b5fc86a29 --- /dev/null +++ b/search/variables_18.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_18.js b/search/variables_18.js new file mode 100644 index 000000000..2a19ac3a2 --- /dev/null +++ b/search/variables_18.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['y_6740',['y',['../structaccelVector.html#abeccae73d6f2ff784357778e80fbc9c0',1,'accelVector::y()'],['../structangularRate.html#a5f970fbd6b7586cea800e0a66a1a9758',1,'angularRate::y()'],['../structQTM__HeadTrackingInfoCoord.html#aafec789c2c84d903bbd80391450c515c',1,'QTM_HeadTrackingInfoCoord::y()']]] +]; diff --git a/search/variables_19.html b/search/variables_19.html new file mode 100644 index 000000000..713263967 --- /dev/null +++ b/search/variables_19.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_19.js b/search/variables_19.js new file mode 100644 index 000000000..6d9854125 --- /dev/null +++ b/search/variables_19.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['z_6741',['z',['../structaccelVector.html#ad5eb33a26a0e20565e04fbcd0c541a41',1,'accelVector::z()'],['../structangularRate.html#a8b9a8e550eaa785e065831cc52eeb02c',1,'angularRate::z()']]], + ['zeros_6742',['zeros',['../structNFC__AmiiboConfig.html#aa1339708fef551f9e7d70727f9040f65',1,'NFC_AmiiboConfig']]] +]; diff --git a/search/variables_2.html b/search/variables_2.html new file mode 100644 index 000000000..0580462e9 --- /dev/null +++ b/search/variables_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_2.js b/search/variables_2.js new file mode 100644 index 000000000..1aec91929 --- /dev/null +++ b/search/variables_2.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['b_5foffset_6221',['b_offset',['../structY2RU__ColorCoefficients.html#a1f402ce788425818c72e6b3337a3dcf5',1,'Y2RU_ColorCoefficients']]], + ['b_5fu_6222',['b_U',['../structY2RU__ColorCoefficients.html#a4a4dca0a8218426664d0d59e45dc6f4b',1,'Y2RU_ColorCoefficients']]], + ['base_5faddr_6223',['base_addr',['../structMemInfo.html#a09e7aca5fd9ef2548ac6ada176c05ae4',1,'MemInfo']]], + ['baselinepos_6224',['baselinePos',['../structTGLP__s.html#a95580d94d157d91f55bb7f0309792d2f',1,'TGLP_s']]], + ['bday_5fday_6225',['bday_day',['../structMiiData.html#a829a7935c5d9701993fa446504e127f9',1,'MiiData']]], + ['bday_5fmonth_6226',['bday_month',['../structMiiData.html#a761e82fd5e716a715134b5c8ab980d0c',1,'MiiData']]], + ['beard_5fdetails_6227',['beard_details',['../structMiiData.html#a5442fbfba6ace1ddf6f0445014e30092',1,'MiiData']]], + ['bg_6228',['bg',['../structPrintConsole.html#a403a10a66b1a1ff4a7c8ad78df66ac02',1,'PrintConsole']]], + ['block_5falignment_6229',['block_alignment',['../structY2RU__ConversionParams.html#ae56d8afb46c4900c66152fbf1fb0fa06',1,'Y2RU_ConversionParams']]], + ['booluniformmask_6230',['boolUniformMask',['../structshaderInstance__s.html#a4cd7f11860b51ee42bdbd21c4d71a4ef',1,'shaderInstance_s']]], + ['booluniforms_6231',['boolUniforms',['../structshaderInstance__s.html#a64bf1a13c4bb33e7f8c84ba70dbf696b',1,'shaderInstance_s']]], + ['broadcast_6232',['broadcast',['../structSOCU__IPInfo.html#a4402dbb0c9a10e91dbf604105affb8c9',1,'SOCU_IPInfo']]], + ['bss_5fsize_6233',['bss_size',['../structExHeader__CodeSetInfo.html#a5f938a0b2589b64e877040affc68a3d4',1,'ExHeader_CodeSetInfo']]], + ['burstsize_6234',['burstSize',['../structDmaDeviceConfig.html#a4cf37a47e55e2fb89bbf52a86c12df7a',1,'DmaDeviceConfig']]], + ['burststride_6235',['burstStride',['../structDmaDeviceConfig.html#a0425b1d1ea007d4a3346894f0f36dc3a',1,'DmaDeviceConfig']]] +]; diff --git a/search/variables_3.html b/search/variables_3.html new file mode 100644 index 000000000..0d69e7619 --- /dev/null +++ b/search/variables_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_3.js b/search/variables_3.js new file mode 100644 index 000000000..726249756 --- /dev/null +++ b/search/variables_3.js @@ -0,0 +1,60 @@ +var searchData= +[ + ['callback_6236',['callback',['../structaptHookCookie.html#aabde96d2b1ce22813acc0502935eed86',1,'aptHookCookie::callback()'],['../structgxCmdQueue__s.html#a23308ac2a00cdfd0dc5056111d32e2bd',1,'gxCmdQueue_s::callback()'],['../structdspHookCookie.html#ae39e34b3bae234fa8e2c9554af0be658',1,'dspHookCookie::callback()']]], + ['camera_6237',['camera',['../structCAMU__PackageParameterCameraSelect.html#aa77c8b06ef2db109bc263192522a4dce',1,'CAMU_PackageParameterCameraSelect::camera()'],['../structCAMU__PackageParameterContext.html#af34741dabacbb4ae167cd9c820bcdafc',1,'CAMU_PackageParameterContext::camera()'],['../structCAMU__PackageParameterContextDetail.html#a159e415a1914314e1b7c5c1822882f3f',1,'CAMU_PackageParameterContextDetail::camera()']]], + ['capacity_6238',['capacity',['../structAM__TWLPartitionInfo.html#ad652786a1cf8e9f6d3649226dfb8e60f',1,'AM_TWLPartitionInfo']]], + ['ccmposition_6239',['ccmPosition',['../structCAMU__ImageQualityCalibrationData.html#af6c8d3357dd201aec4ba5262ecc8f4ff',1,'CAMU_ImageQualityCalibrationData']]], + ['cellheight_6240',['cellHeight',['../structTGLP__s.html#a8a42bb200f265124c6e7564e189a5369',1,'TGLP_s']]], + ['cellwidth_6241',['cellWidth',['../structTGLP__s.html#aa977b0fd787cea130d6fb9db73988c17',1,'TGLP_s']]], + ['channelid_6242',['channelId',['../structDmaConfig.html#a11cd1631cce0b01cce18f5c2474018b5',1,'DmaConfig']]], + ['char_5fset_6243',['char_set',['../structMiiData.html#a8ee55490d75b152c630245f194a8618c',1,'MiiData']]], + ['charwidth_6244',['charWidth',['../structcharWidthInfo__s.html#a4b06a7771e5df956525236fdbecfcfb7',1,'charWidthInfo_s']]], + ['checksum_6245',['checksum',['../structMiiSelectorReturn.html#ab0c0f45cac1819627a352fd9cc27c673',1,'MiiSelectorReturn']]], + ['child_6246',['child',['../structrbtree__node.html#ac603d72a1e80ba3f3c5f27b63d3ff3f4',1,'rbtree_node']]], + ['childdir_6247',['childDir',['../structromfs__dir.html#a3d4fe7d6d89e76b4b2897b3ea7954d32',1,'romfs_dir']]], + ['childfile_6248',['childFile',['../structromfs__dir.html#af2aa67c361933f7a43bd10d47475ebc8',1,'romfs_dir']]], + ['clock_5ftick_6249',['clock_tick',['../structScheduleInOutEvent.html#acfd73003ea1e8cfbd0ef6999807e8cc4',1,'ScheduleInOutEvent::clock_tick()'],['../structSyscallInOutEvent.html#a71792a3533ce5823e524d710c2404074',1,'SyscallInOutEvent::clock_tick()']]], + ['clustersize_6250',['clusterSize',['../structFS__ArchiveResource.html#a07c9e5728b8e041f61e22d1cc2514ac3',1,'FS_ArchiveResource']]], + ['cmap_6251',['cmap',['../structFINF__s.html#a361de1a49e22a3784a3c4725640e5f4b',1,'FINF_s']]], + ['code_6252',['code',['../structtag__CMAP__s.html#affd923a97159920a1e8166df5a502bd0',1,'tag_CMAP_s']]], + ['codebegin_6253',['codeBegin',['../structtag__CMAP__s.html#a4c718d55054bbdfc3999b5b3f9cb781b',1,'tag_CMAP_s']]], + ['codedata_6254',['codeData',['../structDVLP__s.html#a41b105e8f9d1fad73de8a31b831c774d',1,'DVLP_s']]], + ['codeend_6255',['codeEnd',['../structtag__CMAP__s.html#a888bc3333842f34c943ecb451dbc9757',1,'tag_CMAP_s']]], + ['codeset_5finfo_6256',['codeset_info',['../structExHeader__SystemControlInfo.html#a30beaf2221a07836d8b3e63a3b43ca0a',1,'ExHeader_SystemControlInfo']]], + ['codesize_6257',['codeSize',['../structDVLP__s.html#a7f989229beaa6110d289a403ce406412',1,'DVLP_s']]], + ['companycode_6258',['companyCode',['../structFS__ProductInfo.html#a802432571b5401d95a759813fdb79480',1,'FS_ProductInfo']]], + ['comparator_6259',['comparator',['../structrbtree.html#a8163cce8ee63d9e72fa4d727675d44ed',1,'rbtree']]], + ['compress_5fexefs_5fcode_6260',['compress_exefs_code',['../structExHeader__SystemInfoFlags.html#a1655b81d38525765bb5ffd3fc32e1c93',1,'ExHeader_SystemInfoFlags']]], + ['console_5fidentity_6261',['console_identity',['../structMiiData.html#a757ed6080f29cb1592901f41c0feb0cf',1,'MiiData']]], + ['consoleheight_6262',['consoleHeight',['../structPrintConsole.html#a6caefb88745fe180a9d59096d40b052a',1,'PrintConsole']]], + ['consoleinitialised_6263',['consoleInitialised',['../structPrintConsole.html#abeb3c904af0e353bec10603044a4f705',1,'PrintConsole']]], + ['consolewidth_6264',['consoleWidth',['../structPrintConsole.html#a12228047de6d55e25c7bed9427bfeda7',1,'PrintConsole']]], + ['consttabledata_6265',['constTableData',['../structDVLE__s.html#a09fd98b08af896b022a6122289053ecc',1,'DVLE_s']]], + ['consttablesize_6266',['constTableSize',['../structDVLE__s.html#ae44dc39349168f33847b58490976da75',1,'DVLE_s']]], + ['contentid_6267',['contentId',['../structAM__ContentInfo.html#a57756f026016aa4a77a4f92e66c48d08',1,'AM_ContentInfo']]], + ['context_6268',['context',['../structCAMU__PackageParameterContext.html#ade8ee06861f30e8d5ffd736ac9708101',1,'CAMU_PackageParameterContext::context()'],['../structCAMU__PackageParameterContextDetail.html#adb01fc5d6ed19793bd6d85a0ab14867d',1,'CAMU_PackageParameterContextDetail::context()']]], + ['continue_5fsleep_5fevents_6269',['continue_sleep_events',['../structPtmSleepConfig.html#a042b2b0abb77442cc5352c7b0f09436f',1,'PtmSleepConfig']]], + ['contrast_6270',['contrast',['../structCAMU__PackageParameterCameraSelect.html#ae4f0ea8e5d747298e67a3f4e9622c241',1,'CAMU_PackageParameterCameraSelect']]], + ['coords0_6271',['coords0',['../structQTM__HeadTrackingInfo.html#aa7fada3c82012ac9af32afbd9a974cae',1,'QTM_HeadTrackingInfo']]], + ['core_5finfo_6272',['core_info',['../structExHeader__Arm11SystemLocalCapabilities.html#a8dec47ea3e425aa009d3bd43a7f94090',1,'ExHeader_Arm11SystemLocalCapabilities']]], + ['core_5fversion_6273',['core_version',['../structExHeader__Arm11CoreInfo.html#a7c3c45aafb99ce02abae41349035b1f5',1,'ExHeader_Arm11CoreInfo']]], + ['country_6274',['country',['../structFriendProfile.html#abae6e8315e5692c6b0cb0e8702a3fcbb',1,'FriendProfile']]], + ['countrycodeid_6275',['countrycodeid',['../structNFC__AmiiboSettings.html#a5f2d5c9b2b91553eb461e8a8e8738068',1,'NFC_AmiiboSettings']]], + ['cpsr_6276',['cpsr',['../structCpuRegisters.html#aabc31c636352b0b2c7a48388b9f0f3ee',1,'CpuRegisters']]], + ['cpu_5fregisters_6277',['cpu_registers',['../structThreadContext.html#a3fb7711d1ccc7d132ae23ee3e4e88e43',1,'ThreadContext']]], + ['creator_5fthread_5fid_6278',['creator_thread_id',['../structAttachThreadEvent.html#a681ce5cc8e0b6c923d20f58e3b3766f2',1,'AttachThreadEvent']]], + ['croinfo_6279',['croInfo',['../structUserBreakExceptionEvent.html#a8e565441fc0eab7bf2cabdd4a61178f1',1,'UserBreakExceptionEvent']]], + ['croinfosize_6280',['croInfoSize',['../structUserBreakExceptionEvent.html#accfb27c5c97c666cc536ab14aec42511',1,'UserBreakExceptionEvent']]], + ['cropx0_6281',['cropX0',['../structCAMU__PackageParameterContextDetail.html#af578345ba667b355bef455db2ae4d507',1,'CAMU_PackageParameterContextDetail']]], + ['cropx1_6282',['cropX1',['../structCAMU__PackageParameterContextDetail.html#ac19178f976bf302603f4430fb110171d',1,'CAMU_PackageParameterContextDetail']]], + ['cropy0_6283',['cropY0',['../structCAMU__PackageParameterContextDetail.html#a65d75f5659fca34c78efc54b6bff4d64',1,'CAMU_PackageParameterContextDetail']]], + ['cropy1_6284',['cropY1',['../structCAMU__PackageParameterContextDetail.html#a98a1a486fe970bea43c1316fc4121769',1,'CAMU_PackageParameterContextDetail']]], + ['csndchannels_6285',['csndChannels',['../csnd_8h.html#ae8ad7f7a5d6df4f74640f64231d799ac',1,'csnd.h']]], + ['csndsharedmem_6286',['csndSharedMem',['../csnd_8h.html#add1090a634bf4c8a888b1f4c7f20277a',1,'csnd.h']]], + ['csndsharedmemsize_6287',['csndSharedMemSize',['../csnd_8h.html#adf8852f558062e87303d88b86c6fc801',1,'csnd.h']]], + ['curentry_6288',['curEntry',['../structgxCmdQueue__s.html#a509d41b1d690e93ae5738f886a34c725',1,'gxCmdQueue_s']]], + ['current_5fcount_6289',['current_count',['../structLightSemaphore.html#a56ae7109ea28f871c4ff1d70d556ddbb',1,'LightSemaphore']]], + ['cursorx_6290',['cursorX',['../structPrintConsole.html#a0b3c99b23f2b228279c0b080d4bbf73f',1,'PrintConsole']]], + ['cursory_6291',['cursorY',['../structPrintConsole.html#a5170137741dc034414b516aebf6716d9',1,'PrintConsole']]], + ['cwdh_6292',['cwdh',['../structFINF__s.html#a18afa971f307e804096f5f80c4dd5d80',1,'FINF_s']]] +]; diff --git a/search/variables_4.html b/search/variables_4.html new file mode 100644 index 000000000..a4b6506bb --- /dev/null +++ b/search/variables_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_4.js b/search/variables_4.js new file mode 100644 index 000000000..19857ebb6 --- /dev/null +++ b/search/variables_4.js @@ -0,0 +1,33 @@ +var searchData= +[ + ['data_6293',['data',['../structExHeader__CodeSetInfo.html#a82dd0df0e5e67034fc642327cb38857f',1,'ExHeader_CodeSetInfo::data()'],['../structERRF__FatalErrInfo.html#a69b86ad54fc6ae1ab4a5dcc5fdfefc0d',1,'ERRF_FatalErrInfo::data()'],['../structdecompressIOVec.html#a57dd3a88f12e6539fdf6079570437744',1,'decompressIOVec::data()'],['../structFS__Path.html#a6a36deaf24ad6f6c00e3263f0cfc2f59',1,'FS_Path::data()'],['../structDVLE__constEntry__s.html#a211b601d5cc69f0d75dbf999a99f99bd',1,'DVLE_constEntry_s::data()'],['../structfloat24Uniform__s.html#a116ab0b7c6e0dd45551baf8427cba375',1,'float24Uniform_s::data()'],['../uniongxCmdEntry__s.html#acf2ee2685f8ed84154bf22af3968aa50',1,'gxCmdEntry_s::data()']]], + ['data_5fadpcm_6294',['data_adpcm',['../structtag__ndspWaveBuf.html#a3f97b49b15a70f10152c14944a5c95ba',1,'tag_ndspWaveBuf']]], + ['data_5fpcm16_6295',['data_pcm16',['../structtag__ndspWaveBuf.html#ab6347cf7fc44b90999544a4b2ad69a72',1,'tag_ndspWaveBuf']]], + ['data_5fpcm8_6296',['data_pcm8',['../structtag__ndspWaveBuf.html#a09159f3732f1e8dbee8590517efdb0f6',1,'tag_ndspWaveBuf']]], + ['data_5fvaddr_6297',['data_vaddr',['../structtag__ndspWaveBuf.html#a022acadc9a54ab814274c83460f7394d',1,'tag_ndspWaveBuf']]], + ['dataoff_6298',['dataOff',['../structromfs__file.html#a90321bd0b067c572ae947ae3c0c4ccbd',1,'romfs_file']]], + ['datasize_6299',['dataSize',['../structromfs__file.html#a2bdbb99c9cddb161a716481662742c6a',1,'romfs_file']]], + ['debugger_5fbreak_6300',['debugger_break',['../structExceptionEvent.html#acb328082531198ee15b3fb1be53c47a8',1,'ExceptionEvent']]], + ['defaultwidth_6301',['defaultWidth',['../structFINF__s.html#a44fde14c7fdb80ed18ec37a222787642',1,'FINF_s']]], + ['dependencies_6302',['dependencies',['../structExHeader__SystemControlInfo.html#a31c6025339c011c762aaebf2c52ff90d',1,'ExHeader_SystemControlInfo']]], + ['descriptor_5fversion_6303',['descriptor_version',['../structExHeader__Arm9AccessControl.html#a1532cbb5728aa72ff79b13de7d935f4a',1,'ExHeader_Arm9AccessControl']]], + ['descriptors_6304',['descriptors',['../structExHeader__Arm9AccessControl.html#ae7a1537d9a27767fe39645fd5b0bf6b5',1,'ExHeader_Arm9AccessControl::descriptors()'],['../structExHeader__Arm11KernelCapabilities.html#a24ff49897c20d19c0403130a746a9d8c',1,'ExHeader_Arm11KernelCapabilities::descriptors()']]], + ['dest_5fip_6305',['dest_ip',['../structSOCU__RoutingTableEntry.html#a965d7fd897542b8285c0f65a5195309d',1,'SOCU_RoutingTableEntry']]], + ['deviceid_6306',['deviceId',['../structDmaDeviceConfig.html#a0d63473bec3ec7ebff879ccfc6b26d4d',1,'DmaDeviceConfig']]], + ['dirhashtableoff_6307',['dirHashTableOff',['../structromfs__header.html#af1347ff1383b016f63505bf270e86d35',1,'romfs_header']]], + ['dirhashtablesize_6308',['dirHashTableSize',['../structromfs__header.html#a6c84c8f3674cb651abec63695c9570e0',1,'romfs_header']]], + ['dirtableoff_6309',['dirTableOff',['../structromfs__header.html#ae69ef70fbbff94cac2ad508f3b9648a5',1,'romfs_header']]], + ['dirtablesize_6310',['dirTableSize',['../structromfs__header.html#a3d55de35b6579d211430645d1fbbe070',1,'romfs_header']]], + ['disable_5fsharing_6311',['disable_sharing',['../structMiiData.html#a7488bce578fa20415232042b2993628c',1,'MiiData']]], + ['distancecameras_6312',['distanceCameras',['../structCAMU__StereoCameraCalibrationData.html#a0283ceebabd56efc49a208318094ea91',1,'CAMU_StereoCameraCalibrationData']]], + ['distancetochart_6313',['distanceToChart',['../structCAMU__StereoCameraCalibrationData.html#a5320dda35a896aed071098f4e48e19cb',1,'CAMU_StereoCameraCalibrationData']]], + ['downloadedsize_6314',['downloadedSize',['../structNIM__TitleProgress.html#a85833d41dcb3f889e03390cdb042df0f',1,'NIM_TitleProgress']]], + ['drift_5fms_6315',['drift_ms',['../structosTimeRef__s.html#a8323da0465ca90f39f883751584041bd',1,'osTimeRef_s']]], + ['dstcfg_6316',['dstCfg',['../structDmaConfig.html#af3ffc0bd8ef24a50cdb68aeb24f88819',1,'DmaConfig']]], + ['dvle_6317',['dvle',['../structshaderInstance__s.html#a3e0cff4ae283440abfb6b94ad97b5e6d',1,'shaderInstance_s']]], + ['dvle_6318',['DVLE',['../structDVLB__s.html#a1934abe9c4109579746d57c5b20b5834',1,'DVLB_s']]], + ['dvlp_6319',['dvlp',['../structDVLE__s.html#a6a6c88a5c720fdf20f3b8e28032960b7',1,'DVLE_s']]], + ['dvlp_6320',['DVLP',['../structDVLB__s.html#a89394562d20aa2dbe82e56db7a7b0138',1,'DVLB_s']]], + ['dx_6321',['dx',['../structcirclePosition.html#a2a234ca65b74a2634e067261050021bb',1,'circlePosition']]], + ['dy_6322',['dy',['../structcirclePosition.html#ac617313212e138e7249a1deec7ed8f88',1,'circlePosition']]] +]; diff --git a/search/variables_5.html b/search/variables_5.html new file mode 100644 index 000000000..7e345d16c --- /dev/null +++ b/search/variables_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_5.js b/search/variables_5.js new file mode 100644 index 000000000..d74291ad8 --- /dev/null +++ b/search/variables_5.js @@ -0,0 +1,30 @@ +var searchData= +[ + ['effect_6323',['effect',['../structCAMU__PackageParameterContextDetail.html#aac5f8cde5c5841d68718fb2973dcd28c',1,'CAMU_PackageParameterContextDetail::effect()'],['../structCAMU__PackageParameterContext.html#ace066aa1943785fc1e5d7309b8711ad6',1,'CAMU_PackageParameterContext::effect()']]], + ['elapsed_6324',['elapsed',['../structTickCounter.html#a1999e3d45c2898670489c2625e895d78',1,'TickCounter']]], + ['enable_5fcancel_5fbutton_6325',['enable_cancel_button',['../structMiiSelectorConf.html#a6a3e1fc83a95c8e9111e64f460af67ad',1,'MiiSelectorConf']]], + ['enable_5fcropping_6326',['enable_cropping',['../structMVDSTD__Config.html#a95647b6dc9d9e1c251877b002de9a54d',1,'MVDSTD_Config']]], + ['enable_5fl2c_6327',['enable_l2c',['../structExHeader__Arm11CoreInfo.html#a61d2282365eaa5ff5bd44e9d3fb92c62',1,'ExHeader_Arm11CoreInfo']]], + ['enable_5fselecting_5fguests_6328',['enable_selecting_guests',['../structMiiSelectorConf.html#a12b709a1ebe3ac9d6ef708674784c4ac',1,'MiiSelectorConf']]], + ['encoding_6329',['encoding',['../structFINF__s.html#abfdb94de23ab59222c6740299792ca2b',1,'FINF_s']]], + ['encryptparameter_6330',['encryptParameter',['../structFS__DeviceMoveContext.html#a366d21c07babd7313aa61e2d6fc34199',1,'FS_DeviceMoveContext']]], + ['endianness_6331',['endianness',['../structCFNT__s.html#a3aded45cdb1241e97f308eb32665289c',1,'CFNT_s']]], + ['endianswapsize_6332',['endianSwapSize',['../structDmaConfig.html#a4edea2c1db04623bf527cfb37e907f8d',1,'DmaConfig']]], + ['endindex_6333',['endIndex',['../structtag__CWDH__s.html#a0be974414f176a4e9fcb83df28baa1fb',1,'tag_CWDH_s']]], + ['endmainoffset_6334',['endmainOffset',['../structDVLE__s.html#a965c0f104b2c60ca8db607b6068ba5ed',1,'DVLE_s']]], + ['endreg_6335',['endReg',['../structDVLE__uniformEntry__s.html#a0212d06960a526790c56174a6756f837',1,'DVLE_uniformEntry_s']]], + ['entries_6336',['entries',['../structgxCmdQueue__s.html#ade3ab748b4aeb24a5b21e9351ae487e1',1,'gxCmdQueue_s']]], + ['entry_5fdata_6337',['entry_data',['../structarchive__dir__t.html#a3271a4553a27455a4dc1865c9a8daf63',1,'archive_dir_t']]], + ['entry_5fpoint_6338',['entry_point',['../structAttachThreadEvent.html#a280e9603c876bf35eefadc65780d6cd2',1,'AttachThreadEvent']]], + ['envp_6339',['envp',['../structStartupInfo.html#a4624952a107b46e2187d42631c6207f3',1,'StartupInfo']]], + ['excep_6340',['excep',['../structERRF__ExceptionData.html#aed967754338c2e19153c98be40827c7c',1,'ERRF_ExceptionData']]], + ['exception_6341',['exception',['../structDebugEventInfo.html#ae0dc7236b183fa057138fcfff1fc0a92',1,'DebugEventInfo']]], + ['exception_5fdata_6342',['exception_data',['../structERRF__FatalErrInfo.html#ae6b7eb065a91bc3a2ede7af660c07cc6',1,'ERRF_FatalErrInfo']]], + ['exit_5fprocess_6343',['exit_process',['../structDebugEventInfo.html#a11b0fce7e428241a2d2dc91ad125840e',1,'DebugEventInfo']]], + ['exit_5fsleep_5fevents_6344',['exit_sleep_events',['../structPtmSleepConfig.html#a8b391873e05ee461742cba162a5aadaa',1,'PtmSleepConfig']]], + ['exit_5fthread_6345',['exit_thread',['../structDebugEventInfo.html#a3fd7da7948fd7c8967596b24bdb100cd',1,'DebugEventInfo']]], + ['exposure_6346',['exposure',['../structCAMU__PackageParameterCameraSelect.html#a3a409471750c34b15e9cd7cefa0c3bac',1,'CAMU_PackageParameterCameraSelect']]], + ['extdata_5fid_6347',['extdata_id',['../structExHeader__Arm11StorageInfo.html#ab7aa9144dbd17e063e589b44bfb111bb',1,'ExHeader_Arm11StorageInfo']]], + ['eye_5fdetails_6348',['eye_details',['../structMiiData.html#a07eabbf5a78c770a651ee84bb3620b95',1,'MiiData']]], + ['eyebrow_5fdetails_6349',['eyebrow_details',['../structMiiData.html#ab2e89ee4a3e3702f5813106e8e5348b8',1,'MiiData']]] +]; diff --git a/search/variables_6.html b/search/variables_6.html new file mode 100644 index 000000000..7d48e75e2 --- /dev/null +++ b/search/variables_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_6.js b/search/variables_6.js new file mode 100644 index 000000000..8a35058f2 --- /dev/null +++ b/search/variables_6.js @@ -0,0 +1,42 @@ +var searchData= +[ + ['face_5fdetails_6350',['face_details',['../structMiiData.html#a7dc12c114d51197fba57e51bbc538f8d',1,'MiiData']]], + ['face_5fstyle_6351',['face_style',['../structMiiData.html#a372a135abb0b87deae5a6555c4209492',1,'MiiData']]], + ['failure_5fmesg_6352',['failure_mesg',['../structERRF__FatalErrInfo.html#a2bb4275b48b6373f058e5e8b4011a893',1,'ERRF_FatalErrInfo']]], + ['far_6353',['far',['../structERRF__ExceptionInfo.html#aaa73674afcab2c7a396c56a765e39327',1,'ERRF_ExceptionInfo']]], + ['fault_6354',['fault',['../structExceptionEvent.html#a6f67b148ec6fcb5064b09e5e5c70c357',1,'ExceptionEvent']]], + ['fault_5finformation_6355',['fault_information',['../structFaultExceptionEvent.html#a98ddfc2eacfa9ae2a0374a80f19f77a3',1,'FaultExceptionEvent::fault_information()'],['../structStopPointExceptionEvent.html#a6dbbc526a72b163971660b29da44a6ae',1,'StopPointExceptionEvent::fault_information()']]], + ['favorite_6356',['favorite',['../structMiiData.html#a0f250220b017c77f5633574aa9a38358',1,'MiiData']]], + ['fd_6357',['fd',['../structarchive__dir__t.html#a9554e472c1c0d61cb42dbc94eb3ebead',1,'archive_dir_t']]], + ['fg_6358',['fg',['../structPrintConsole.html#ad329e4a7372f51e7b64cceca3be8d2df',1,'PrintConsole']]], + ['filedataoff_6359',['fileDataOff',['../structromfs__header.html#a6bf8b809ccc63d8c0a96cffd4cbfc2cf',1,'romfs_header']]], + ['filehashtableoff_6360',['fileHashTableOff',['../structromfs__header.html#a2842888e512e7e2beb1df496e16b418a',1,'romfs_header']]], + ['filehashtablesize_6361',['fileHashTableSize',['../structromfs__header.html#ab9bb25525cf89573733edb07f72f7f29',1,'romfs_header']]], + ['filesize_6362',['fileSize',['../structCFNT__s.html#a9e84737a61e16976f24428aa4ea7dd8b',1,'CFNT_s::fileSize()'],['../structFS__DirectoryEntry.html#af13cf0056078d7a9c0dedb8fe2bd7077',1,'FS_DirectoryEntry::fileSize()']]], + ['filetableoff_6363',['fileTableOff',['../structromfs__header.html#a0af0385e60dc05d4e4a8b86274521dad',1,'romfs_header']]], + ['filetablesize_6364',['fileTableSize',['../structromfs__header.html#a97a57f77a7db6f37eecfcb7d649dd7cc',1,'romfs_header']]], + ['finf_6365',['finf',['../structCFNT__s.html#ab309975c3ac9c4029a10160997cd61ee',1,'CFNT_s']]], + ['flag1_5funused_6366',['flag1_unused',['../structExHeader__Arm11CoreInfo.html#a141b7955e1c84e40b64b4a0421c80dee',1,'ExHeader_Arm11CoreInfo']]], + ['flag2_5funused_6367',['flag2_unused',['../structExHeader__Arm11CoreInfo.html#a733debbba034cd3ae10fee41c4c9ed3e',1,'ExHeader_Arm11CoreInfo']]], + ['flag_5fx104_6368',['flag_x104',['../structMVDSTD__Config.html#a2b08b2834be94d8e2de90f6fb11490fa',1,'MVDSTD_Config']]], + ['flags_6369',['flags',['../structDebugEventInfo.html#a02ae327ec4ab7a5cbdeabc09fb24c606',1,'DebugEventInfo::flags()'],['../structDmaConfig.html#ae754da825365b8c20ca15d5a22f66a40',1,'DmaConfig::flags()'],['../structPageInfo.html#a3dc8d09f59ee6c9562713186b8b037aa',1,'PageInfo::flags()'],['../structSOCU__RoutingTableEntry.html#af54bc8391b1cc417cc450abc3acc99ab',1,'SOCU_RoutingTableEntry::flags()'],['../structNFC__AmiiboSettings.html#a0b5fdd43e05a1f74c6471e83a897f969',1,'NFC_AmiiboSettings::flags()'],['../structAM__ContentInfo.html#a3e77803ade8ce9b79dfea010e0dc497a',1,'AM_ContentInfo::flags()'],['../structExHeader__CodeSetInfo.html#a0cd825ca3a643fbe9981ae9003582c30',1,'ExHeader_CodeSetInfo::flags()'],['../structPrintConsole.html#a30ec62fecd8dd432fa16d17a25744538',1,'PrintConsole::flags()'],['../structQTM__HeadTrackingInfo.html#a80fa4fc4c801c0f174145ac189b6aa46',1,'QTM_HeadTrackingInfo::flags()']]], + ['flip_6370',['flip',['../structCAMU__PackageParameterContext.html#a84d7b9765454d45161f8d52592d65517',1,'CAMU_PackageParameterContext::flip()'],['../structCAMU__PackageParameterContextDetail.html#a28c37ac85e9cf9dbe631c439d8082542',1,'CAMU_PackageParameterContextDetail::flip()']]], + ['float24uniforms_6371',['float24Uniforms',['../structshaderInstance__s.html#ad210d25d30bb8afec0b83b55a57483db',1,'shaderInstance_s']]], + ['floatdata_5fx08_6372',['floatdata_x08',['../structQTM__HeadTrackingInfo.html#a16a3808d035c6b58c276fcb42b932910',1,'QTM_HeadTrackingInfo']]], + ['font_6373',['font',['../structPrintConsole.html#ad717d7741f526d595d3103d5a4e28358',1,'PrintConsole']]], + ['fonttype_6374',['fontType',['../structFINF__s.html#a4cae23ba0399848baaa9c3d8cb4aea46',1,'FINF_s']]], + ['format_6375',['format',['../structGSPGPU__FramebufferInfo.html#a4e0899ea0a76864a9268a8a938b122ec',1,'GSPGPU_FramebufferInfo::format()'],['../structGSPGPU__CaptureInfoEntry.html#a067ad2df1b3b46e4e06b26f8f905bdd0',1,'GSPGPU_CaptureInfoEntry::format()']]], + ['fpexc_6376',['fpexc',['../structFpuRegisters.html#a07418dedf5dd5c4cd9d480ac49e115cf',1,'FpuRegisters']]], + ['fpscr_6377',['fpscr',['../structFpuRegisters.html#a2de5bf8371bb662bbbd472948ffcde6d',1,'FpuRegisters']]], + ['fpu_5fregisters_6378',['fpu_registers',['../structThreadContext.html#ac13e8300988c11a1d4811058ea0888b4',1,'ThreadContext']]], + ['framebuf0_5fvaddr_6379',['framebuf0_vaddr',['../structGSPGPU__FramebufferInfo.html#a5dba8a35ac953e10653ac8e745cb208f',1,'GSPGPU_FramebufferInfo::framebuf0_vaddr()'],['../structGSPGPU__CaptureInfoEntry.html#a6dd072baeeb8a0d385e712f7155fb002',1,'GSPGPU_CaptureInfoEntry::framebuf0_vaddr()']]], + ['framebuf1_5fvaddr_6380',['framebuf1_vaddr',['../structGSPGPU__FramebufferInfo.html#ab29deb55a9b0454de1988172319f246f',1,'GSPGPU_FramebufferInfo::framebuf1_vaddr()'],['../structGSPGPU__CaptureInfoEntry.html#a09e23bcfb56d75309bf7a547b85c56b0',1,'GSPGPU_CaptureInfoEntry::framebuf1_vaddr()']]], + ['framebuf_5fdispselect_6381',['framebuf_dispselect',['../structGSPGPU__FramebufferInfo.html#ad33ec3ca41e404b967416c78c7aa7db8',1,'GSPGPU_FramebufferInfo']]], + ['framebuf_5fwidthbytesize_6382',['framebuf_widthbytesize',['../structGSPGPU__FramebufferInfo.html#a3e7dac9d79cad31182a4c325f780ffb6',1,'GSPGPU_FramebufferInfo::framebuf_widthbytesize()'],['../structGSPGPU__CaptureInfoEntry.html#ae9d2aa171cdc8607485e22543cf7ed66',1,'GSPGPU_CaptureInfoEntry::framebuf_widthbytesize()']]], + ['framebuffer_6383',['frameBuffer',['../structPrintConsole.html#a9b70d87ea405c8761ebca625001c761e',1,'PrintConsole']]], + ['framerate_6384',['frameRate',['../structCAMU__PackageParameterCameraSelect.html#a2fc80df4f942792d629ddc00efc8aac6',1,'CAMU_PackageParameterCameraSelect']]], + ['freeclusters_6385',['freeClusters',['../structFS__ArchiveResource.html#a83300abfe22c3c756c74ee1d7d337a0c',1,'FS_ArchiveResource']]], + ['freespace_6386',['freeSpace',['../structAM__TWLPartitionInfo.html#a786a5d0e83d80d8004c394ed8526213b',1,'AM_TWLPartitionInfo']]], + ['fs_5faccess_5finfo_6387',['fs_access_info',['../structExHeader__Arm11StorageInfo.html#a7d2905f3419d66dc592bd1ac6b74bd31',1,'ExHeader_Arm11StorageInfo']]], + ['fsr_6388',['fsr',['../structERRF__ExceptionInfo.html#a90895b755e52f619654d907818b8e68e',1,'ERRF_ExceptionInfo']]] +]; diff --git a/search/variables_7.html b/search/variables_7.html new file mode 100644 index 000000000..5c2634092 --- /dev/null +++ b/search/variables_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_7.js b/search/variables_7.js new file mode 100644 index 000000000..4a9de1c53 --- /dev/null +++ b/search/variables_7.js @@ -0,0 +1,24 @@ +var searchData= +[ + ['g_5foffset_6389',['g_offset',['../structY2RU__ColorCoefficients.html#ade58f6b22c93eb3df6f0436325110458',1,'Y2RU_ColorCoefficients']]], + ['g_5fu_6390',['g_U',['../structY2RU__ColorCoefficients.html#ab7116832143368479046f3a3a4c1d685',1,'Y2RU_ColorCoefficients']]], + ['g_5fv_6391',['g_V',['../structY2RU__ColorCoefficients.html#a84c73ab84c1c6f1c38659cc69422ddca',1,'Y2RU_ColorCoefficients']]], + ['gateway_6392',['gateway',['../structSOCU__RoutingTableEntry.html#a06b849a41be07f5b32759e4138d09cca',1,'SOCU_RoutingTableEntry']]], + ['geometryshader_6393',['geometryShader',['../structshaderProgram__s.html#a80f25550817af2c8163bc95430542f1f',1,'shaderProgram_s']]], + ['geoshaderinputpermutation_6394',['geoShaderInputPermutation',['../structshaderProgram__s.html#ac4aa1a5958c171927907932c9ddb8c3a',1,'shaderProgram_s']]], + ['geoshaderinputstride_6395',['geoShaderInputStride',['../structshaderProgram__s.html#ac51cab306bae4a050faa060dbd59ac09',1,'shaderProgram_s']]], + ['gfx_6396',['gfx',['../structConsoleFont.html#a6e08b67a31abcebc4e7c9895c5870c3f',1,'ConsoleFont']]], + ['glasses_5fdetails_6397',['glasses_details',['../structMiiData.html#a0404e316f4119f6220d110d9251bfec5',1,'MiiData']]], + ['glyphindex_6398',['glyphIndex',['../structtag__CMAP__s.html#a38bd5733e74fd86d186d3ab4b7c19dc5',1,'tag_CMAP_s']]], + ['glyphwidth_6399',['glyphWidth',['../structcharWidthInfo__s.html#aec28a270c5501a4ab8db07103132b636',1,'charWidthInfo_s']]], + ['gpucmdbuf_6400',['gpuCmdBuf',['../gpu_8h.html#ad10795df374a3030584c5bf3cae77f06',1,'gpu.h']]], + ['gpucmdbufoffset_6401',['gpuCmdBufOffset',['../gpu_8h.html#a40a7042f18d0ea0c57e7308bd5c6e5e7',1,'gpu.h']]], + ['gpucmdbufsize_6402',['gpuCmdBufSize',['../gpu_8h.html#a7861728f2d0f9f8017dbe8012d460f49',1,'gpu.h']]], + ['gshfixedvtxnum_6403',['gshFixedVtxNum',['../structDVLE__s.html#a565739c888fc201b77d66973be06105c',1,'DVLE_s']]], + ['gshfixedvtxstart_6404',['gshFixedVtxStart',['../structDVLE__s.html#a5f55a6b075729760d173c66c9f915a69',1,'DVLE_s']]], + ['gshmode_6405',['gshMode',['../structDVLE__s.html#a38e6e929cc6f014f6fd24f56ff868db3',1,'DVLE_s']]], + ['gshvariablevtxnum_6406',['gshVariableVtxNum',['../structDVLE__s.html#ad428ca730018d56fafecaa6855910b69',1,'DVLE_s']]], + ['guest_5fmii_5findex_6407',['guest_mii_index',['../structMiiSelectorReturn.html#ae33689c2871ba9a26ad9df9d2714bc21',1,'MiiSelectorReturn']]], + ['guest_5fmii_5fname_6408',['guest_mii_name',['../structMiiSelectorReturn.html#ac93a228ed21de887f4baf0bf53becee9',1,'MiiSelectorReturn']]], + ['guest_5fmii_5fwas_5fselected_6409',['guest_mii_was_selected',['../structMiiSelectorReturn.html#a5835cb97c73227d48a9addb7087d6638',1,'MiiSelectorReturn']]] +]; diff --git a/search/variables_8.html b/search/variables_8.html new file mode 100644 index 000000000..dc9ec54a5 --- /dev/null +++ b/search/variables_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_8.js b/search/variables_8.js new file mode 100644 index 000000000..248118941 --- /dev/null +++ b/search/variables_8.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['hair_5fdetails_6410',['hair_details',['../structMiiData.html#a19aed0648eec9f21dd27a4363bc8e73a',1,'MiiData']]], + ['headersize_6411',['headerSize',['../structCFNT__s.html#a61e7d785ff05936bfe3ffb2f783044aa',1,'CFNT_s::headerSize()'],['../structromfs__header.html#a0220f706da46dd2510866e6b38fec94e',1,'romfs_header::headerSize()']]], + ['height_6412',['height',['../structFINF__s.html#a8e89c34a08bac3c5732e4eea700b9a5d',1,'FINF_s::height()'],['../structMiiData.html#a492cdd3c4c858165749cef745a16dce7',1,'MiiData::height()'],['../structCAMU__PackageParameterContextDetail.html#a92deb0a00b8e2d291f96d4c41747a727',1,'CAMU_PackageParameterContextDetail::height()']]], + ['hidmemhandle_6413',['hidMemHandle',['../hid_8h.html#a3d4f4dbade7cf795ae547e57cc65fae3',1,'hid.h']]], + ['hidsharedmem_6414',['hidSharedMem',['../hid_8h.html#ace06068f77e18a81596565ee45fbc68e',1,'hid.h']]], + ['highspeedmodeenabled_6415',['highSpeedModeEnabled',['../structFS__SdMmcSpeedInfo.html#a62d023fca0398c3a191000077723742f',1,'FS_SdMmcSpeedInfo']]], + ['history0_6416',['history0',['../structndspAdpcmData.html#a8cb7064cd24c0a9af97652d5d6886fa7',1,'ndspAdpcmData']]], + ['history1_6417',['history1',['../structndspAdpcmData.html#aa1c3f2d84437b3c73114274d1e57a374',1,'ndspAdpcmData']]], + ['httphandle_6418',['httphandle',['../structhttpcContext.html#af77b3063ba2ea67ee4971a8a5407cb88',1,'httpcContext']]] +]; diff --git a/search/variables_9.html b/search/variables_9.html new file mode 100644 index 000000000..7b0147509 --- /dev/null +++ b/search/variables_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_9.js b/search/variables_9.js new file mode 100644 index 000000000..49079eba6 --- /dev/null +++ b/search/variables_9.js @@ -0,0 +1,28 @@ +var searchData= +[ + ['id_6419',['id',['../structDVLE__constEntry__s.html#a411654e97b5b84b2e945c3c0dbdca99a',1,'DVLE_constEntry_s::id()'],['../structfloat24Uniform__s.html#ad48e556dddf7db4c9432e3835c51274e',1,'float24Uniform_s::id()']]], + ['ideal_5fprocessor_6420',['ideal_processor',['../structExHeader__Arm11CoreInfo.html#a43702dfec56fb3b15346947d04298a21',1,'ExHeader_Arm11CoreInfo']]], + ['imageheight_6421',['imageHeight',['../structCAMU__StereoCameraCalibrationData.html#a4fc58597bbe040943f6e48daac1119ad',1,'CAMU_StereoCameraCalibrationData']]], + ['imagewidth_6422',['imageWidth',['../structCAMU__StereoCameraCalibrationData.html#ae0cd994c062b2005cd981a69219d2e37',1,'CAMU_StereoCameraCalibrationData']]], + ['index_6423',['index',['../structarchive__dir__t.html#a8dcad37586509976c812a79253ccb9f2',1,'archive_dir_t::index()'],['../structndspAdpcmData.html#aec31f142f53dead462fe78e16b43c8da',1,'ndspAdpcmData::index()'],['../structAM__ContentInfo.html#a3a787726f8c54f426d4937c0763c05af',1,'AM_ContentInfo::index()']]], + ['indexoffset_6424',['indexOffset',['../structtag__CMAP__s.html#a6aa0b93d46a622e7061304c90662c3ee',1,'tag_CMAP_s']]], + ['indextable_6425',['indexTable',['../structtag__CMAP__s.html#a1512ce9a72ee632c20d8cf7660628d10',1,'tag_CMAP_s']]], + ['info_6426',['info',['../structExHeader.html#a1e27abb77f2827c2a0edfe1040eb7e4f',1,'ExHeader']]], + ['inheight_6427',['inheight',['../structMVDSTD__Config.html#a7ff4a05a674f504a7586c2620acc0985',1,'MVDSTD_Config']]], + ['initial_5findex_6428',['initial_index',['../structMiiSelectorConf.html#af25e3bbd55383bd88b99343cdbd4c2a1',1,'MiiSelectorConf']]], + ['input_5fformat_6429',['input_format',['../structY2RU__ConversionParams.html#ac4bbba8371c0235f667e46c3986bb2f4',1,'Y2RU_ConversionParams']]], + ['input_5fline_5fwidth_6430',['input_line_width',['../structY2RU__ConversionParams.html#aab88b121cfe0e184e347c95695cbd4a6',1,'Y2RU_ConversionParams']]], + ['input_5flines_6431',['input_lines',['../structY2RU__ConversionParams.html#a6ab3ccc7ca88ecefe3b06694e55701c1',1,'Y2RU_ConversionParams']]], + ['input_5ftype_6432',['input_type',['../structMVDSTD__Config.html#a171165800b9d0bd0e4778c0bbd52f93c',1,'MVDSTD_Config']]], + ['intuniformmask_6433',['intUniformMask',['../structshaderInstance__s.html#a528b3299faaa0a2d5598a5f4c1fda316',1,'shaderInstance_s']]], + ['intuniforms_6434',['intUniforms',['../structshaderInstance__s.html#a7418f1bc7845340bba728698a83d789b',1,'shaderInstance_s']]], + ['inwidth_6435',['inwidth',['../structMVDSTD__Config.html#ae0e0ca7079f9e3d880683595b1ff5be9',1,'MVDSTD_Config']]], + ['ip_6436',['ip',['../structSOCU__ARPTableEntry.html#aeae0365091b9d10c2c017d0d9e105199',1,'SOCU_ARPTableEntry::ip()'],['../structSOCU__IPInfo.html#aca1d15bae55b2990f3d3309d1921ed65',1,'SOCU_IPInfo::ip()'],['../structSOCU__DNSTableEntry.html#a3fb90bfa23683903abf06bd832dc0ba5',1,'SOCU_DNSTableEntry::ip()']]], + ['irrstevent_6437',['irrstEvent',['../irrst_8h.html#a0dc8751e66c41c8fb3185955418e506f',1,'irrst.h']]], + ['irrstmemhandle_6438',['irrstMemHandle',['../irrst_8h.html#a4de48cede60d01dde7da165b6d3dc9f1',1,'irrst.h']]], + ['irrstsharedmem_6439',['irrstSharedMem',['../irrst_8h.html#a6ec11113e52350b578816d784829ad42',1,'irrst.h']]], + ['is_5fprivate_5fname_6440',['is_private_name',['../structMiiData.html#a1604f31051750e6c4a1a0de5cc7804af',1,'MiiData']]], + ['is_5fsd_5fapplication_6441',['is_sd_application',['../structExHeader__SystemInfoFlags.html#a0ca439a793ded3d383b1b5c4cb3d3895',1,'ExHeader_SystemInfoFlags']]], + ['isvalidrotationxy_6442',['isValidRotationXY',['../structCAMU__StereoCameraCalibrationData.html#a61454743016d8fa6658a700d0c3039ca',1,'CAMU_StereoCameraCalibrationData']]], + ['ivs_6443',['ivs',['../structFS__DeviceMoveContext.html#a16f06d589079f9a705d2a63ed26bde19',1,'FS_DeviceMoveContext']]] +]; diff --git a/search/variables_a.html b/search/variables_a.html new file mode 100644 index 000000000..52a724d19 --- /dev/null +++ b/search/variables_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_a.js b/search/variables_a.js new file mode 100644 index 000000000..5d6aac51c --- /dev/null +++ b/search/variables_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['jump_5fid_6444',['jump_id',['../structExHeader__SystemInfo.html#aeb79c8684325cb75cde25fc55178947e',1,'ExHeader_SystemInfo']]] +]; diff --git a/search/variables_b.html b/search/variables_b.html new file mode 100644 index 000000000..f376b27af --- /dev/null +++ b/search/variables_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_b.js b/search/variables_b.js new file mode 100644 index 000000000..d565fbc0c --- /dev/null +++ b/search/variables_b.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['kbl_6445',['kBL',['../structCAMU__ImageQualityCalibrationData.html#aca34569b0802753164a7fd3cb96babeb',1,'CAMU_ImageQualityCalibrationData']]], + ['kernel_5fcaps_6446',['kernel_caps',['../structExHeader__AccessControlInfo.html#a9e4232569651618ffce2181768d86dad',1,'ExHeader_AccessControlInfo']]], + ['kgl_6447',['kGL',['../structCAMU__ImageQualityCalibrationData.html#a5da6013cd8a54aea4e5193787d4d6394',1,'CAMU_ImageQualityCalibrationData']]], + ['krl_6448',['kRL',['../structCAMU__ImageQualityCalibrationData.html#afe1d7567b2dd1ba2824023c208137de5',1,'CAMU_ImageQualityCalibrationData']]] +]; diff --git a/search/variables_c.html b/search/variables_c.html new file mode 100644 index 000000000..6019eba96 --- /dev/null +++ b/search/variables_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_c.js b/search/variables_c.js new file mode 100644 index 000000000..067994c0f --- /dev/null +++ b/search/variables_c.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['language_6449',['language',['../structSwkbdDictWord.html#aaa1ff887f1d888595340ad2fa60a1d09',1,'SwkbdDictWord::language()'],['../structFriendProfile.html#acd0c5cfc685f6384f26c0d55bca0f611',1,'FriendProfile::language()']]], + ['lastentry_6450',['lastEntry',['../structgxCmdQueue__s.html#a8bf3daf45d08546c0162d754ab66ad96',1,'gxCmdQueue_s']]], + ['lastresult_6451',['lastResult',['../structNIM__TitleProgress.html#ab3a428ec2477ee4bd75ab781f5b654d1',1,'NIM_TitleProgress']]], + ['left_6452',['left',['../structcharWidthInfo__s.html#a7c05ffca23db8b34c4acea4b4e5fc8e0',1,'charWidthInfo_s']]], + ['lenscorrection_6453',['lensCorrection',['../structCAMU__PackageParameterCameraSelect.html#af3de38877056496facb20c3eaf5eaadd',1,'CAMU_PackageParameterCameraSelect']]], + ['linefeed_6454',['lineFeed',['../structFINF__s.html#a61c7d30b360074723a75335ebc1de1d7',1,'FINF_s']]], + ['local_6455',['local',['../structSOCU__UDPTableEntry.html#ab06e381a05a80b2907f62ad72208e1fa',1,'SOCU_UDPTableEntry::local()'],['../structSOCU__TCPTableEntry.html#a77ef4f04db3d5705452ce8dd32ed9d70',1,'SOCU_TCPTableEntry::local()']]], + ['local_5fcaps_6456',['local_caps',['../structExHeader__AccessControlInfo.html#a44195b3bef441a827d56fda1c8baa0f1',1,'ExHeader_AccessControlInfo']]], + ['lock_6457',['lock',['../structLightEvent.html#aa903d9a20aebc10972fac85def48f1ac',1,'LightEvent']]], + ['looping_6458',['looping',['../structtag__ndspWaveBuf.html#a3c7ea7f11f9e714c385befa490f5079b',1,'tag_ndspWaveBuf']]], + ['lr_6459',['lr',['../structCpuRegisters.html#af39510a91f0cb45bf16fa21644d14245',1,'CpuRegisters']]] +]; diff --git a/search/variables_d.html b/search/variables_d.html new file mode 100644 index 000000000..f61ae7511 --- /dev/null +++ b/search/variables_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_d.js b/search/variables_d.js new file mode 100644 index 000000000..91e0942a7 --- /dev/null +++ b/search/variables_d.js @@ -0,0 +1,31 @@ +var searchData= +[ + ['mac_6460',['mac',['../structSOCU__ARPTableEntry.html#a0d9eb352aaf52e23de092ba6514f3d20',1,'SOCU_ARPTableEntry::mac()'],['../structMiiData.html#a42bc101a1158d1d7fd9af81b1d370d73',1,'MiiData::mac()']]], + ['magic_6461',['magic',['../structMiiSelectorConf.html#a4b3cba7a66b8156a987f76b3271bd59e',1,'MiiSelectorConf::magic()'],['../structMiiData.html#a4309c96022a757a571c94714f822597d',1,'MiiData::magic()']]], + ['mainoffset_6462',['mainOffset',['../structDVLE__s.html#a3dbfa9a4ac73eae2fe750862bfa27fa7',1,'DVLE_s']]], + ['map_6463',['map',['../structDebugEventInfo.html#aecf8557cfd95b333e68028131750e829',1,'DebugEventInfo']]], + ['mapped_5faddr_6464',['mapped_addr',['../structMapEvent.html#aaecb80deb0ad7177c80263c4b6bd83cd',1,'MapEvent']]], + ['mapped_5fsize_6465',['mapped_size',['../structMapEvent.html#ae034793f645417e52c2892851c54cb80',1,'MapEvent']]], + ['mappingmethod_6466',['mappingMethod',['../structtag__CMAP__s.html#a3ef412b95185d5cd6e2a2c7870d9ad8b',1,'tag_CMAP_s']]], + ['mask_6467',['mask',['../structDVLE__outEntry__s.html#a36213505244a811f39b60e0b46cd63f7',1,'DVLE_outEntry_s']]], + ['max_5fcount_6468',['max_count',['../structLightSemaphore.html#a614ad70962a29c7b0bbe7a43450ff686',1,'LightSemaphore']]], + ['maxcharwidth_6469',['maxCharWidth',['../structTGLP__s.html#add588f1c7ef1ff921ba6fa1cc519675f',1,'TGLP_s']]], + ['maxentries_6470',['maxEntries',['../structgxCmdQueue__s.html#abbd998741caf292f1808e0f7fa56de77',1,'gxCmdQueue_s']]], + ['mcu_5finterupt_5fmask_6471',['mcu_interupt_mask',['../structPtmWakeEvents.html#a6204f98da6304879d009a27831f7b331',1,'PtmWakeEvents']]], + ['mediatype_6472',['mediaType',['../structFS__SystemSaveDataInfo.html#a0ce2a7ecf07e19ea37b27c15059c045a',1,'FS_SystemSaveDataInfo::mediaType()'],['../structNIM__TitleConfig.html#a61fac82a665ea6fc5495aca1a0fbb6ba',1,'NIM_TitleConfig::mediaType()'],['../structFS__ProgramInfo.html#a6d5658b85ba89db7b6555a41419c8e3a',1,'FS_ProgramInfo::mediaType()'],['../structFS__ExtSaveDataInfo.html#a8201d5dcae3f8d06c52179a672f2e4b5',1,'FS_ExtSaveDataInfo::mediaType()']]], + ['memperm_6473',['memperm',['../structMapEvent.html#acfa673343ba42dc41f5e9b23aa5645f8',1,'MapEvent']]], + ['memstate_6474',['memstate',['../structMapEvent.html#a25ebd56741175c344531039dd8850333',1,'MapEvent']]], + ['mergeoutmaps_6475',['mergeOutmaps',['../structDVLE__s.html#ac94ddc9959fbf9c60b5aa68fa0347443',1,'DVLE_s']]], + ['mii_6476',['mii',['../structMiiSelectorReturn.html#a7cace8f0f54a22fa1f08fbedaf6cad25',1,'MiiSelectorReturn']]], + ['mii_5fdetails_6477',['mii_details',['../structMiiData.html#ae1cf97d67779c99a80d4c4f16d26229e',1,'MiiData']]], + ['mii_5fguest_5fwhitelist_6478',['mii_guest_whitelist',['../structMiiSelectorConf.html#a85206451ab6612b5b1fda138c61b99d4',1,'MiiSelectorConf']]], + ['mii_5fid_6479',['mii_id',['../structMiiData.html#a616754183e54317a95bd052df4c0be13',1,'MiiData']]], + ['mii_5fname_6480',['mii_name',['../structMiiData.html#a8c03f37afe40e2f1dff3ef5dfc6caffd',1,'MiiData']]], + ['mii_5foptions_6481',['mii_options',['../structMiiData.html#a49d1aedfca09f6b3c58d916cef0d5c22',1,'MiiData']]], + ['mii_5fpos_6482',['mii_pos',['../structMiiData.html#a5e947411ff836b3795cc3d6195fb8f17',1,'MiiData']]], + ['mii_5fwhitelist_6483',['mii_whitelist',['../structMiiSelectorConf.html#a293f5f8466c5a01e08b82e1eb0a7f912',1,'MiiSelectorConf']]], + ['mole_5fdetails_6484',['mole_details',['../structMiiData.html#a3289182d8500ae92b487ba1f5b0badb7',1,'MiiData']]], + ['mouth_5fdetails_6485',['mouth_details',['../structMiiData.html#a2ff43925f586ec79434a581d742abab8',1,'MiiData']]], + ['movablesed_6486',['movableSed',['../structFS__IntegrityVerificationSeed.html#a0bece8ca3e843d78a2ad8f7c282990d9',1,'FS_IntegrityVerificationSeed']]], + ['mustache_5fdetails_6487',['mustache_details',['../structMiiData.html#ae14dcd015a3607c7947e75320127d0ce',1,'MiiData']]] +]; diff --git a/search/variables_e.html b/search/variables_e.html new file mode 100644 index 000000000..7bfd37215 --- /dev/null +++ b/search/variables_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_e.js b/search/variables_e.js new file mode 100644 index 000000000..60f2cb3d1 --- /dev/null +++ b/search/variables_e.js @@ -0,0 +1,27 @@ +var searchData= +[ + ['n3ds_5fsystem_5fmode_6488',['n3ds_system_mode',['../structExHeader__Arm11CoreInfo.html#a5d04507523e6fe5866f9a09ed13e36a8',1,'ExHeader_Arm11CoreInfo']]], + ['name_6489',['name',['../structExHeader__CodeSetInfo.html#abac02edc5873ad9e096fbba2b85593c4',1,'ExHeader_CodeSetInfo::name()'],['../structCodeSetHeader.html#a47a95fef04977b164bf47d42e0a50004',1,'CodeSetHeader::name()'],['../structFS__DirectoryEntry.html#a25cdaf849c043d127ac5e9c96fa39f62',1,'FS_DirectoryEntry::name()'],['../structromfs__file.html#a3006ecde26b50c2d30f7bed33db10e73',1,'romfs_file::name()'],['../structromfs__dir.html#a07d2028d8d26a190dbb0fefd5aa15e13',1,'romfs_dir::name()']]], + ['namelen_6490',['nameLen',['../structromfs__dir.html#a23aa470d929a32b6dfd11ae63fa2d933',1,'romfs_dir::nameLen()'],['../structromfs__file.html#a690d35645dd2a707bfb7ed4e2425b6b6',1,'romfs_file::nameLen()']]], + ['nblocks_6491',['nBlocks',['../structCFNT__s.html#a8234a7f3ae4c53208893a81c65e5f712',1,'CFNT_s']]], + ['ncchmodulus_6492',['ncchModulus',['../structExHeader__AccessDescriptor.html#a4f11fd10ca9b8ebdf10201977df84a82',1,'ExHeader_AccessDescriptor']]], + ['netmask_6493',['netmask',['../structSOCU__IPInfo.html#abf4f6a9cbda4c0d0b053f94413669df9',1,'SOCU_IPInfo::netmask()'],['../structSOCU__RoutingTableEntry.html#a1a23b0bdc866127a3c85189c7a55667e',1,'SOCU_RoutingTableEntry::netmask()']]], + ['next_6494',['next',['../structtag__CWDH__s.html#add2dc81b2f75381299bd1211ba279b7f',1,'tag_CWDH_s::next()'],['../structtag__CMAP__s.html#ae6f0e5b3ffc51bf172d704fdebd60306',1,'tag_CMAP_s::next()'],['../structtag__ndspWaveBuf.html#a227ff854f75d71f04bbea7fc48b364f6',1,'tag_ndspWaveBuf::next()'],['../structaptHookCookie.html#a33a1ae3e3190e03beaa711bda3f4fc95',1,'aptHookCookie::next()'],['../structdspHookCookie.html#aaaa2ec6d05daa82cba31ee125d0a3f69',1,'dspHookCookie::next()']]], + ['nexthash_6495',['nextHash',['../structromfs__dir.html#af957c0dda90285806b9973b29552781c',1,'romfs_dir::nextHash()'],['../structromfs__file.html#a6cedcd73580bdbd9370f2131eaeac43c',1,'romfs_file::nextHash()']]], + ['nickname_6496',['nickname',['../structNFC__AmiiboSettings.html#a8af186bc8f48b4b07a06553e3c1fbd96',1,'NFC_AmiiboSettings']]], + ['nlines_6497',['nLines',['../structTGLP__s.html#a5e200983d2972701c7d24adcd772dca9',1,'TGLP_s']]], + ['no_5fmii_5fselected_6498',['no_mii_selected',['../structMiiSelectorReturn.html#a2d8585d2854d04534d0604451105896e',1,'MiiSelectorReturn']]], + ['no_5fromfs_6499',['no_romfs',['../structExHeader__Arm11StorageInfo.html#a044acc191cd2de0075d7bab34933c6f7',1,'ExHeader_Arm11StorageInfo']]], + ['noisefilteron_6500',['noiseFilterOn',['../structCAMU__PackageParameterCameraSelect.html#ada6b842c20d0ad14a348556f65ac25ca',1,'CAMU_PackageParameterCameraSelect']]], + ['nose_5fdetails_6501',['nose_details',['../structMiiData.html#afbdc06676761b70bd22c5bf0ab28d25f',1,'MiiData']]], + ['nrows_6502',['nRows',['../structTGLP__s.html#ac78f50b102feed3a26511522446186da',1,'TGLP_s']]], + ['nsamples_6503',['nsamples',['../structtag__ndspWaveBuf.html#a8be46881ae491c7e7df54e81289c7a96',1,'tag_ndspWaveBuf']]], + ['nscanentries_6504',['nScanEntries',['../structtag__CMAP__s.html#ac579a3eab9f9f5eaa4417e86c71a0a8d',1,'tag_CMAP_s']]], + ['nsheets_6505',['nSheets',['../structTGLP__s.html#a276a1b85878f441a69c044959a2f64ed',1,'TGLP_s']]], + ['num_5fpages_6506',['num_pages',['../structExHeader__CodeSectionInfo.html#a4c8ea4358e183644cedf8ba84241c6d0',1,'ExHeader_CodeSectionInfo']]], + ['num_5fthreads_5facq_6507',['num_threads_acq',['../structLightSemaphore.html#a5f507ade6f7fe63190d268ccc9f83126',1,'LightSemaphore']]], + ['numchars_6508',['numChars',['../structConsoleFont.html#a741f70973f2dd71acdd7153ef3f7336d',1,'ConsoleFont']]], + ['numdvle_6509',['numDVLE',['../structDVLB__s.html#ac2b7148545a0f90613898c5052299be0',1,'DVLB_s']]], + ['numentries_6510',['numEntries',['../structgxCmdQueue__s.html#a2d96579b5e31f3cd9377f5b41e0fe659',1,'gxCmdQueue_s']]], + ['numfloat24uniforms_6511',['numFloat24Uniforms',['../structshaderInstance__s.html#acea4d3b5b3767e7047e42eddc1907937',1,'shaderInstance_s']]] +]; diff --git a/search/variables_f.html b/search/variables_f.html new file mode 100644 index 000000000..d97920d08 --- /dev/null +++ b/search/variables_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_f.js b/search/variables_f.js new file mode 100644 index 000000000..8f7b4a427 --- /dev/null +++ b/search/variables_f.js @@ -0,0 +1,24 @@ +var searchData= +[ + ['o3ds_5fsystem_5fmode_6512',['o3ds_system_mode',['../structExHeader__Arm11CoreInfo.html#ad35641d1e52f61010873a0617cbb1aae',1,'ExHeader_Arm11CoreInfo']]], + ['offset_6513',['offset',['../structtag__ndspWaveBuf.html#affba548676133ea6e94d6215c7bc3cb6',1,'tag_ndspWaveBuf']]], + ['opcdescdata_6514',['opcdescData',['../structDVLP__s.html#a399050de27a5f175ec6206a0911ed372',1,'DVLP_s']]], + ['opdescsize_6515',['opdescSize',['../structDVLP__s.html#a830ca5fc6e73688dacd3e5bd623543ab',1,'DVLP_s']]], + ['origin_5fconsole_6516',['origin_console',['../structMiiData.html#a8be87fffa7286e5bffb325772abbe535',1,'MiiData']]], + ['other_5fflags_6517',['other_flags',['../structAttachProcessEvent.html#a28728766fa49b7fbe9c6f8bf3fb44bd0',1,'AttachProcessEvent']]], + ['outheight_6518',['outheight',['../structMVDSTD__Config.html#a8fd8bc0fe31eb652e2e503dacf9f8f12',1,'MVDSTD_Config']]], + ['outmapclock_6519',['outmapClock',['../structDVLE__s.html#a5fb94f787ce847e173ea5ad643eaaa1a',1,'DVLE_s']]], + ['outmapdata_6520',['outmapData',['../structDVLE__s.html#ac8076c6465c35d9d20396512d2a3187b',1,'DVLE_s']]], + ['outmapmask_6521',['outmapMask',['../structDVLE__s.html#a94024dce0694b00b83932d4cedcc51f2',1,'DVLE_s']]], + ['outmapmode_6522',['outmapMode',['../structDVLE__s.html#a23886076271c8e749c6fd53af073759c',1,'DVLE_s']]], + ['output_5fformat_6523',['output_format',['../structY2RU__ConversionParams.html#a2c35f35b43bf86eec1994d109bad775a',1,'Y2RU_ConversionParams']]], + ['output_5fheight_5foverride_6524',['output_height_override',['../structMVDSTD__Config.html#a14b39fd20aaf54fd20fc410596e63b2c',1,'MVDSTD_Config']]], + ['output_5fstring_6525',['output_string',['../structDebugEventInfo.html#a4900654806cebc6006ada39b88a463b0',1,'DebugEventInfo']]], + ['output_5ftype_6526',['output_type',['../structMVDSTD__Config.html#a55049ad1eaa7f0692f9ad9afe3929899',1,'MVDSTD_Config']]], + ['output_5fwidth_5foverride_6527',['output_width_override',['../structMVDSTD__Config.html#aef58ef873cb7c4bee41f101d5dec26f7',1,'MVDSTD_Config']]], + ['output_5fx_5fpos_6528',['output_x_pos',['../structMVDSTD__Config.html#ac40072f7499c766aea1727b617548233',1,'MVDSTD_Config']]], + ['output_5fy_5fpos_6529',['output_y_pos',['../structMVDSTD__Config.html#a005b173401eb063e9d6544cf66713b37',1,'MVDSTD_Config']]], + ['outtabledata_6530',['outTableData',['../structDVLE__s.html#a85eb49aefa82cf2fc7c7e767a63067a0',1,'DVLE_s']]], + ['outtablesize_6531',['outTableSize',['../structDVLE__s.html#a6f92d62d09b6c57264854de8279fc1a9',1,'DVLE_s']]], + ['outwidth_6532',['outwidth',['../structMVDSTD__Config.html#a3f4a9fe7df7591626302733dde425aca',1,'MVDSTD_Config']]] +]; diff --git a/select_8h_source.html b/select_8h_source.html new file mode 100644 index 000000000..d3ad40b53 --- /dev/null +++ b/select_8h_source.html @@ -0,0 +1,80 @@ + + + + + + + +libctru: include/sys/select.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    select.h
    +
    +
    +
    1 #include_next <sys/select.h>
    +
    + + + + diff --git a/shaderProgram_8h.html b/shaderProgram_8h.html new file mode 100644 index 000000000..ed56cce27 --- /dev/null +++ b/shaderProgram_8h.html @@ -0,0 +1,582 @@ + + + + + + + +libctru: include/3ds/gpu/shaderProgram.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    shaderProgram.h File Reference
    +
    +
    + +

    Functions for working with shaders. +More...

    +
    #include <3ds/types.h>
    +#include <3ds/gpu/shbin.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + +

    +Data Structures

    struct  float24Uniform_s
     24-bit float uniforms. More...
     
    struct  shaderInstance_s
     Describes an instance of either a vertex or geometry shader. More...
     
    struct  shaderProgram_s
     Describes an instance of a full shader program. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    Result shaderInstanceInit (shaderInstance_s *si, DVLE_s *dvle)
     Initializes a shader instance. More...
     
    Result shaderInstanceFree (shaderInstance_s *si)
     Frees a shader instance. More...
     
    Result shaderInstanceSetBool (shaderInstance_s *si, int id, bool value)
     Sets a bool uniform of a shader. More...
     
    Result shaderInstanceGetBool (shaderInstance_s *si, int id, bool *value)
     Gets a bool uniform of a shader. More...
     
    s8 shaderInstanceGetUniformLocation (shaderInstance_s *si, const char *name)
     Gets the location of a shader's uniform. More...
     
    Result shaderProgramInit (shaderProgram_s *sp)
     Initializes a shader program. More...
     
    Result shaderProgramFree (shaderProgram_s *sp)
     Frees a shader program. More...
     
    Result shaderProgramSetVsh (shaderProgram_s *sp, DVLE_s *dvle)
     Sets the vertex shader of a shader program. More...
     
    Result shaderProgramSetGsh (shaderProgram_s *sp, DVLE_s *dvle, u8 stride)
     Sets the geometry shader of a shader program. More...
     
    Result shaderProgramSetGshInputPermutation (shaderProgram_s *sp, u64 permutation)
     Configures the permutation of the input attributes of the geometry shader of a shader program. More...
     
    Result shaderProgramConfigure (shaderProgram_s *sp, bool sendVshCode, bool sendGshCode)
     Configures the shader units to use the specified shader program. More...
     
    Result shaderProgramUse (shaderProgram_s *sp)
     Same as shaderProgramConfigure, but always loading code/operand descriptors and uploading DVLE constants afterwards. More...
     
    +

    Detailed Description

    +

    Functions for working with shaders.

    +

    Function Documentation

    + +

    ◆ shaderInstanceFree()

    + +
    +
    + + + + + + + + +
    Result shaderInstanceFree (shaderInstance_ssi)
    +
    + +

    Frees a shader instance.

    +
    Parameters
    + + +
    siShader instance to free.
    +
    +
    + +
    +
    + +

    ◆ shaderInstanceGetBool()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result shaderInstanceGetBool (shaderInstance_ssi,
    int id,
    bool * value 
    )
    +
    + +

    Gets a bool uniform of a shader.

    +
    Parameters
    + + + + +
    siShader instance to use.
    idID of the bool uniform.
    valuePointer to output the value to.
    +
    +
    + +
    +
    + +

    ◆ shaderInstanceGetUniformLocation()

    + + + +

    ◆ shaderInstanceInit()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result shaderInstanceInit (shaderInstance_ssi,
    DVLE_sdvle 
    )
    +
    + +

    Initializes a shader instance.

    +
    Parameters
    + + + +
    siShader instance to initialize.
    dvleDVLE to initialize the shader instance with.
    +
    +
    + +
    +
    + +

    ◆ shaderInstanceSetBool()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result shaderInstanceSetBool (shaderInstance_ssi,
    int id,
    bool value 
    )
    +
    + +

    Sets a bool uniform of a shader.

    +
    Parameters
    + + + + +
    siShader instance to use.
    idID of the bool uniform.
    valueValue to set.
    +
    +
    + +
    +
    + +

    ◆ shaderProgramConfigure()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result shaderProgramConfigure (shaderProgram_ssp,
    bool sendVshCode,
    bool sendGshCode 
    )
    +
    + +

    Configures the shader units to use the specified shader program.

    +
    Parameters
    + + + + +
    spShader program to use.
    sendVshCodeWhen true, the vertex shader's code and operand descriptors are uploaded.
    sendGshCodeWhen true, the geometry shader's code and operand descriptors are uploaded.
    +
    +
    + +
    +
    + +

    ◆ shaderProgramFree()

    + + + +

    ◆ shaderProgramInit()

    + + + +

    ◆ shaderProgramSetGsh()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result shaderProgramSetGsh (shaderProgram_ssp,
    DVLE_sdvle,
    u8 stride 
    )
    +
    + +

    Sets the geometry shader of a shader program.

    +
    Parameters
    + + + + +
    spShader program to use.
    dvleGeometry shader to set.
    strideInput stride of the shader (pass 0 to match the number of outputs of the vertex shader).
    +
    +
    +
    Examples
    graphics/gpu/geoshader/source/main.c, graphics/gpu/loop_subdivision/source/main.c, and graphics/gpu/particles/source/main.c.
    +
    + +
    +
    + +

    ◆ shaderProgramSetGshInputPermutation()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result shaderProgramSetGshInputPermutation (shaderProgram_ssp,
    u64 permutation 
    )
    +
    + +

    Configures the permutation of the input attributes of the geometry shader of a shader program.

    +
    Parameters
    + + + +
    spShader program to use.
    permutationAttribute permutation to use.
    +
    +
    + +
    +
    + +

    ◆ shaderProgramSetVsh()

    + + + +

    ◆ shaderProgramUse()

    + +
    +
    + + + + + + + + +
    Result shaderProgramUse (shaderProgram_ssp)
    +
    + +

    Same as shaderProgramConfigure, but always loading code/operand descriptors and uploading DVLE constants afterwards.

    +
    Parameters
    + + +
    spShader program to use.
    +
    +
    + +
    +
    +
    + + + + diff --git a/shaderProgram_8h_source.html b/shaderProgram_8h_source.html new file mode 100644 index 000000000..13b95b06c --- /dev/null +++ b/shaderProgram_8h_source.html @@ -0,0 +1,233 @@ + + + + + + + +libctru: include/3ds/gpu/shaderProgram.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    shaderProgram.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file shaderProgram.h
    +
    3  * @brief Functions for working with shaders.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 #include <3ds/types.h>
    +
    8 #include <3ds/gpu/shbin.h>
    +
    9 
    +
    10 /// 24-bit float uniforms.
    +
    11 typedef struct
    +
    12 {
    +
    13  u32 id; ///< Uniform ID.
    +
    14  u32 data[3]; ///< Uniform data.
    + +
    16 
    +
    17 /// Describes an instance of either a vertex or geometry shader.
    +
    18 typedef struct
    +
    19 {
    +
    20  DVLE_s* dvle; ///< Shader DVLE.
    +
    21  u16 boolUniforms; ///< Boolean uniforms.
    +
    22  u16 boolUniformMask; ///< Used boolean uniform mask.
    +
    23  u32 intUniforms[4]; ///< Integer uniforms.
    +
    24  float24Uniform_s* float24Uniforms; ///< 24-bit float uniforms.
    +
    25  u8 intUniformMask; ///< Used integer uniform mask.
    +
    26  u8 numFloat24Uniforms; ///< Float uniform count.
    + +
    28 
    +
    29 /// Describes an instance of a full shader program.
    +
    30 typedef struct
    +
    31 {
    +
    32  shaderInstance_s* vertexShader; ///< Vertex shader.
    +
    33  shaderInstance_s* geometryShader; ///< Geometry shader.
    +
    34  u32 geoShaderInputPermutation[2]; ///< Geometry shader input permutation.
    +
    35  u8 geoShaderInputStride; ///< Geometry shader input stride.
    + +
    37 
    +
    38 /**
    +
    39  * @brief Initializes a shader instance.
    +
    40  * @param si Shader instance to initialize.
    +
    41  * @param dvle DVLE to initialize the shader instance with.
    +
    42  */
    + +
    44 
    +
    45 /**
    +
    46  * @brief Frees a shader instance.
    +
    47  * @param si Shader instance to free.
    +
    48  */
    + +
    50 
    +
    51 /**
    +
    52  * @brief Sets a bool uniform of a shader.
    +
    53  * @param si Shader instance to use.
    +
    54  * @param id ID of the bool uniform.
    +
    55  * @param value Value to set.
    +
    56  */
    + +
    58 
    +
    59 /**
    +
    60  * @brief Gets a bool uniform of a shader.
    +
    61  * @param si Shader instance to use.
    +
    62  * @param id ID of the bool uniform.
    +
    63  * @param value Pointer to output the value to.
    +
    64  */
    +
    65 Result shaderInstanceGetBool(shaderInstance_s* si, int id, bool* value);
    +
    66 
    +
    67 /**
    +
    68  * @brief Gets the location of a shader's uniform.
    +
    69  * @param si Shader instance to use.
    +
    70  * @param name Name of the uniform.
    +
    71  */
    + +
    73 
    +
    74 /**
    +
    75  * @brief Initializes a shader program.
    +
    76  * @param sp Shader program to initialize.
    +
    77  */
    + +
    79 
    +
    80 /**
    +
    81  * @brief Frees a shader program.
    +
    82  * @param sp Shader program to free.
    +
    83  */
    + +
    85 
    +
    86 /**
    +
    87  * @brief Sets the vertex shader of a shader program.
    +
    88  * @param sp Shader program to use.
    +
    89  * @param dvle Vertex shader to set.
    +
    90  */
    + +
    92 
    +
    93 /**
    +
    94  * @brief Sets the geometry shader of a shader program.
    +
    95  * @param sp Shader program to use.
    +
    96  * @param dvle Geometry shader to set.
    +
    97  * @param stride Input stride of the shader (pass 0 to match the number of outputs of the vertex shader).
    +
    98  */
    + +
    100 
    +
    101 /**
    +
    102  * @brief Configures the permutation of the input attributes of the geometry shader of a shader program.
    +
    103  * @param sp Shader program to use.
    +
    104  * @param permutation Attribute permutation to use.
    +
    105  */
    + +
    107 
    +
    108 /**
    +
    109  * @brief Configures the shader units to use the specified shader program.
    +
    110  * @param sp Shader program to use.
    +
    111  * @param sendVshCode When true, the vertex shader's code and operand descriptors are uploaded.
    +
    112  * @param sendGshCode When true, the geometry shader's code and operand descriptors are uploaded.
    +
    113  */
    +
    114 Result shaderProgramConfigure(shaderProgram_s* sp, bool sendVshCode, bool sendGshCode);
    +
    115 
    +
    116 /**
    +
    117  * @brief Same as shaderProgramConfigure, but always loading code/operand descriptors and uploading DVLE constants afterwards.
    +
    118  * @param sp Shader program to use.
    +
    119  */
    + +
    Result shaderProgramUse(shaderProgram_s *sp)
    Same as shaderProgramConfigure, but always loading code/operand descriptors and uploading DVLE consta...
    +
    Result shaderProgramSetVsh(shaderProgram_s *sp, DVLE_s *dvle)
    Sets the vertex shader of a shader program.
    +
    Result shaderProgramInit(shaderProgram_s *sp)
    Initializes a shader program.
    +
    Result shaderProgramFree(shaderProgram_s *sp)
    Frees a shader program.
    +
    Result shaderProgramSetGshInputPermutation(shaderProgram_s *sp, u64 permutation)
    Configures the permutation of the input attributes of the geometry shader of a shader program.
    +
    Result shaderInstanceFree(shaderInstance_s *si)
    Frees a shader instance.
    +
    Result shaderInstanceInit(shaderInstance_s *si, DVLE_s *dvle)
    Initializes a shader instance.
    +
    Result shaderProgramSetGsh(shaderProgram_s *sp, DVLE_s *dvle, u8 stride)
    Sets the geometry shader of a shader program.
    +
    Result shaderInstanceGetBool(shaderInstance_s *si, int id, bool *value)
    Gets a bool uniform of a shader.
    +
    Result shaderProgramConfigure(shaderProgram_s *sp, bool sendVshCode, bool sendGshCode)
    Configures the shader units to use the specified shader program.
    +
    Result shaderInstanceSetBool(shaderInstance_s *si, int id, bool value)
    Sets a bool uniform of a shader.
    +
    s8 shaderInstanceGetUniformLocation(shaderInstance_s *si, const char *name)
    Gets the location of a shader's uniform.
    +
    Shader binary support.
    +
    DVLE data.
    Definition: shbin.h:74
    +
    24-bit float uniforms.
    Definition: shaderProgram.h:12
    +
    u32 id
    Uniform ID.
    Definition: shaderProgram.h:13
    +
    Describes an instance of either a vertex or geometry shader.
    Definition: shaderProgram.h:19
    +
    DVLE_s * dvle
    Shader DVLE.
    Definition: shaderProgram.h:20
    +
    u16 boolUniformMask
    Used boolean uniform mask.
    Definition: shaderProgram.h:22
    +
    u8 intUniformMask
    Used integer uniform mask.
    Definition: shaderProgram.h:25
    +
    u16 boolUniforms
    Boolean uniforms.
    Definition: shaderProgram.h:21
    +
    u8 numFloat24Uniforms
    Float uniform count.
    Definition: shaderProgram.h:26
    +
    float24Uniform_s * float24Uniforms
    24-bit float uniforms.
    Definition: shaderProgram.h:24
    +
    Describes an instance of a full shader program.
    Definition: shaderProgram.h:31
    +
    shaderInstance_s * vertexShader
    Vertex shader.
    Definition: shaderProgram.h:32
    +
    shaderInstance_s * geometryShader
    Geometry shader.
    Definition: shaderProgram.h:33
    +
    u8 geoShaderInputStride
    Geometry shader input stride.
    Definition: shaderProgram.h:35
    +
    Various system types.
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    int8_t s8
    8-bit signed integer
    Definition: types.h:26
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint16_t u16
    16-bit unsigned integer
    Definition: types.h:22
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/shbin_8h.html b/shbin_8h.html new file mode 100644 index 000000000..acb1c8349 --- /dev/null +++ b/shbin_8h.html @@ -0,0 +1,421 @@ + + + + + + + +libctru: include/3ds/gpu/shbin.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    shbin.h File Reference
    +
    +
    + +

    Shader binary support. +More...

    +
    #include <3ds/gpu/gpu.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + +

    +Data Structures

    struct  DVLP_s
     DVLP data. More...
     
    struct  DVLE_constEntry_s
     DVLE constant entry data. More...
     
    struct  DVLE_outEntry_s
     DVLE output entry data. More...
     
    struct  DVLE_uniformEntry_s
     DVLE uniform entry data. More...
     
    struct  DVLE_s
     DVLE data. More...
     
    struct  DVLB_s
     DVLB data. More...
     
    + + + + + + + + + + + + + +

    +Enumerations

    enum  DVLE_type {
    +  VERTEX_SHDR =GPU_VERTEX_SHADER +,
    +  GEOMETRY_SHDR =GPU_GEOMETRY_SHADER +
    + }
     DVLE type. More...
     
    enum  DVLE_constantType {
    +  DVLE_CONST_BOOL =0x0 +,
    +  DVLE_CONST_u8 =0x1 +,
    +  DVLE_CONST_FLOAT24 =0x2 +
    + }
     Constant type. More...
     
    enum  DVLE_outputAttribute_t {
    +  RESULT_POSITION = 0x0 +,
    +  RESULT_NORMALQUAT = 0x1 +,
    +  RESULT_COLOR = 0x2 +,
    +  RESULT_TEXCOORD0 = 0x3 +,
    +  RESULT_TEXCOORD0W = 0x4 +,
    +  RESULT_TEXCOORD1 = 0x5 +,
    +  RESULT_TEXCOORD2 = 0x6 +,
    +  RESULT_VIEW = 0x8 +,
    +  RESULT_DUMMY = 0x9 +
    + }
     Output attribute. More...
     
    enum  DVLE_geoShaderMode {
    +  GSH_POINT = 0 +,
    +  GSH_VARIABLE_PRIM = 1 +,
    +  GSH_FIXED_PRIM = 2 +
    + }
     Geometry shader operation modes. More...
     
    + + + + + + + + + + + + + +

    +Functions

    DVLB_sDVLB_ParseFile (u32 *shbinData, u32 shbinSize)
     Parses a shader binary. More...
     
    void DVLB_Free (DVLB_s *dvlb)
     Frees shader binary data. More...
     
    s8 DVLE_GetUniformRegister (DVLE_s *dvle, const char *name)
     Gets a uniform register index from a shader. More...
     
    void DVLE_GenerateOutmap (DVLE_s *dvle)
     Generates a shader output map. More...
     
    +

    Detailed Description

    +

    Shader binary support.

    +

    Enumeration Type Documentation

    + +

    ◆ DVLE_constantType

    + +
    +
    + + + + +
    enum DVLE_constantType
    +
    + +

    Constant type.

    + + + + +
    Enumerator
    DVLE_CONST_BOOL 

    Bool.

    +
    DVLE_CONST_u8 

    Unsigned 8-bit integer.

    +
    DVLE_CONST_FLOAT24 

    24-bit float.

    +
    + +
    +
    + +

    ◆ DVLE_geoShaderMode

    + +
    +
    + + + + +
    enum DVLE_geoShaderMode
    +
    + +

    Geometry shader operation modes.

    + + + + +
    Enumerator
    GSH_POINT 

    Point processing mode.

    +
    GSH_VARIABLE_PRIM 

    Variable-size primitive processing mode.

    +
    GSH_FIXED_PRIM 

    Fixed-size primitive processing mode.

    +
    + +
    +
    + +

    ◆ DVLE_outputAttribute_t

    + +
    +
    + + + + +
    enum DVLE_outputAttribute_t
    +
    + +

    Output attribute.

    + + + + + + + + + + +
    Enumerator
    RESULT_POSITION 

    Position.

    +
    RESULT_NORMALQUAT 

    Normal Quaternion.

    +
    RESULT_COLOR 

    Color.

    +
    RESULT_TEXCOORD0 

    Texture coordinate 0.

    +
    RESULT_TEXCOORD0W 

    Texture coordinate 0 W.

    +
    RESULT_TEXCOORD1 

    Texture coordinate 1.

    +
    RESULT_TEXCOORD2 

    Texture coordinate 2.

    +
    RESULT_VIEW 

    View.

    +
    RESULT_DUMMY 

    Dummy attribute (used as passthrough for geometry shader input).

    +
    + +
    +
    + +

    ◆ DVLE_type

    + +
    +
    + + + + +
    enum DVLE_type
    +
    + +

    DVLE type.

    + + + +
    Enumerator
    VERTEX_SHDR 

    Vertex shader.

    +
    GEOMETRY_SHDR 

    Geometry shader.

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ DVLB_Free()

    + + + +

    ◆ DVLB_ParseFile()

    + + + +

    ◆ DVLE_GenerateOutmap()

    + +
    +
    + + + + + + + + +
    void DVLE_GenerateOutmap (DVLE_sdvle)
    +
    + +

    Generates a shader output map.

    +
    Parameters
    + + +
    dvleShader to generate an output map for.
    +
    +
    + +
    +
    + +

    ◆ DVLE_GetUniformRegister()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    s8 DVLE_GetUniformRegister (DVLE_sdvle,
    const char * name 
    )
    +
    + +

    Gets a uniform register index from a shader.

    +
    Parameters
    + + + +
    dvleShader to get the register from.
    nameName of the register.
    +
    +
    +
    Returns
    The uniform register index.
    + +
    +
    +
    + + + + diff --git a/shbin_8h_source.html b/shbin_8h_source.html new file mode 100644 index 000000000..1ab6f813c --- /dev/null +++ b/shbin_8h_source.html @@ -0,0 +1,281 @@ + + + + + + + +libctru: include/3ds/gpu/shbin.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    shbin.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file shbin.h
    +
    3  * @brief Shader binary support.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 #include <3ds/gpu/gpu.h>
    +
    8 
    +
    9 /// DVLE type.
    +
    10 typedef enum{
    +
    11  VERTEX_SHDR=GPU_VERTEX_SHADER, ///< Vertex shader.
    +
    12  GEOMETRY_SHDR=GPU_GEOMETRY_SHADER ///< Geometry shader.
    + +
    14 
    +
    15 /// Constant type.
    +
    16 typedef enum{
    +
    17  DVLE_CONST_BOOL=0x0, ///< Bool.
    +
    18  DVLE_CONST_u8=0x1, ///< Unsigned 8-bit integer.
    +
    19  DVLE_CONST_FLOAT24=0x2, ///< 24-bit float.
    + +
    21 
    +
    22 /// Output attribute.
    +
    23 typedef enum{
    +
    24  RESULT_POSITION = 0x0, ///< Position.
    +
    25  RESULT_NORMALQUAT = 0x1, ///< Normal Quaternion.
    +
    26  RESULT_COLOR = 0x2, ///< Color.
    +
    27  RESULT_TEXCOORD0 = 0x3, ///< Texture coordinate 0.
    +
    28  RESULT_TEXCOORD0W = 0x4, ///< Texture coordinate 0 W.
    +
    29  RESULT_TEXCOORD1 = 0x5, ///< Texture coordinate 1.
    +
    30  RESULT_TEXCOORD2 = 0x6, ///< Texture coordinate 2.
    +
    31  RESULT_VIEW = 0x8, ///< View.
    +
    32  RESULT_DUMMY = 0x9, ///< Dummy attribute (used as passthrough for geometry shader input).
    + +
    34 
    +
    35 /// Geometry shader operation modes.
    +
    36 typedef enum
    +
    37 {
    +
    38  GSH_POINT = 0, ///< Point processing mode.
    +
    39  GSH_VARIABLE_PRIM = 1, ///< Variable-size primitive processing mode.
    +
    40  GSH_FIXED_PRIM = 2, ///< Fixed-size primitive processing mode.
    + +
    42 
    +
    43 /// DVLP data.
    +
    44 typedef struct{
    +
    45  u32 codeSize; ///< Code size.
    +
    46  u32* codeData; ///< Code data.
    +
    47  u32 opdescSize; ///< Operand description size.
    +
    48  u32* opcdescData; ///< Operand description data.
    +
    49 }DVLP_s;
    +
    50 
    +
    51 /// DVLE constant entry data.
    +
    52 typedef struct{
    +
    53  u16 type; ///< Constant type. See @ref DVLE_constantType
    +
    54  u16 id; ///< Constant ID.
    +
    55  u32 data[4]; ///< Constant data.
    + +
    57 
    +
    58 /// DVLE output entry data.
    +
    59 typedef struct{
    +
    60  u16 type; ///< Output type. See @ref DVLE_outputAttribute_t
    +
    61  u16 regID; ///< Output register ID.
    +
    62  u8 mask; ///< Output mask.
    +
    63  u8 unk[3]; ///< Unknown.
    + +
    65 
    +
    66 /// DVLE uniform entry data.
    +
    67 typedef struct{
    +
    68  u32 symbolOffset; ///< Symbol offset.
    +
    69  u16 startReg; ///< Start register.
    +
    70  u16 endReg; ///< End register.
    + +
    72 
    +
    73 /// DVLE data.
    +
    74 typedef struct{
    +
    75  DVLE_type type; ///< DVLE type.
    +
    76  bool mergeOutmaps; ///< true = merge vertex/geometry shader outmaps ('dummy' output attribute is present).
    +
    77  DVLE_geoShaderMode gshMode; ///< Geometry shader operation mode.
    +
    78  u8 gshFixedVtxStart; ///< Starting float uniform register number for storing the fixed-size primitive vertex array.
    +
    79  u8 gshVariableVtxNum; ///< Number of fully-defined vertices in the variable-size primitive vertex array.
    +
    80  u8 gshFixedVtxNum; ///< Number of vertices in the fixed-size primitive vertex array.
    +
    81  DVLP_s* dvlp; ///< Contained DVLPs.
    +
    82  u32 mainOffset; ///< Offset of the start of the main function.
    +
    83  u32 endmainOffset; ///< Offset of the end of the main function.
    +
    84  u32 constTableSize; ///< Constant table size.
    +
    85  DVLE_constEntry_s* constTableData; ///< Constant table data.
    +
    86  u32 outTableSize; ///< Output table size.
    +
    87  DVLE_outEntry_s* outTableData; ///< Output table data.
    +
    88  u32 uniformTableSize; ///< Uniform table size.
    +
    89  DVLE_uniformEntry_s* uniformTableData; ///< Uniform table data.
    +
    90  char* symbolTableData; ///< Symbol table data.
    +
    91  u8 outmapMask; ///< Output map mask.
    +
    92  u32 outmapData[8]; ///< Output map data.
    +
    93  u32 outmapMode; ///< Output map mode.
    +
    94  u32 outmapClock; ///< Output map attribute clock.
    +
    95 }DVLE_s;
    +
    96 
    +
    97 /// DVLB data.
    +
    98 typedef struct{
    +
    99  u32 numDVLE; ///< DVLE count.
    +
    100  DVLP_s DVLP; ///< Primary DVLP.
    +
    101  DVLE_s* DVLE; ///< Contained DVLE.
    +
    102 }DVLB_s;
    +
    103 
    +
    104 /**
    +
    105  * @brief Parses a shader binary.
    +
    106  * @param shbinData Shader binary data.
    +
    107  * @param shbinSize Shader binary size.
    +
    108  * @return The parsed shader binary.
    +
    109  */
    +
    110 DVLB_s* DVLB_ParseFile(u32* shbinData, u32 shbinSize);
    +
    111 
    +
    112 /**
    +
    113  * @brief Frees shader binary data.
    +
    114  * @param dvlb DVLB to free.
    +
    115  */
    +
    116 void DVLB_Free(DVLB_s* dvlb);
    +
    117 
    +
    118 /**
    +
    119  * @brief Gets a uniform register index from a shader.
    +
    120  * @param dvle Shader to get the register from.
    +
    121  * @param name Name of the register.
    +
    122  * @return The uniform register index.
    +
    123  */
    +
    124 s8 DVLE_GetUniformRegister(DVLE_s* dvle, const char* name);
    +
    125 
    +
    126 /**
    +
    127  * @brief Generates a shader output map.
    +
    128  * @param dvle Shader to generate an output map for.
    +
    129  */
    + +
    @ GPU_GEOMETRY_SHADER
    Geometry shader.
    Definition: enums.h:504
    +
    @ GPU_VERTEX_SHADER
    Vertex shader.
    Definition: enums.h:503
    +
    Barebones GPU communications driver.
    +
    DVLE_constantType
    Constant type.
    Definition: shbin.h:16
    +
    @ DVLE_CONST_BOOL
    Bool.
    Definition: shbin.h:17
    +
    @ DVLE_CONST_FLOAT24
    24-bit float.
    Definition: shbin.h:19
    +
    @ DVLE_CONST_u8
    Unsigned 8-bit integer.
    Definition: shbin.h:18
    +
    void DVLE_GenerateOutmap(DVLE_s *dvle)
    Generates a shader output map.
    +
    void DVLB_Free(DVLB_s *dvlb)
    Frees shader binary data.
    +
    s8 DVLE_GetUniformRegister(DVLE_s *dvle, const char *name)
    Gets a uniform register index from a shader.
    +
    DVLE_outputAttribute_t
    Output attribute.
    Definition: shbin.h:23
    +
    @ RESULT_DUMMY
    Dummy attribute (used as passthrough for geometry shader input).
    Definition: shbin.h:32
    +
    @ RESULT_TEXCOORD2
    Texture coordinate 2.
    Definition: shbin.h:30
    +
    @ RESULT_VIEW
    View.
    Definition: shbin.h:31
    +
    @ RESULT_TEXCOORD1
    Texture coordinate 1.
    Definition: shbin.h:29
    +
    @ RESULT_POSITION
    Position.
    Definition: shbin.h:24
    +
    @ RESULT_TEXCOORD0
    Texture coordinate 0.
    Definition: shbin.h:27
    +
    @ RESULT_COLOR
    Color.
    Definition: shbin.h:26
    +
    @ RESULT_NORMALQUAT
    Normal Quaternion.
    Definition: shbin.h:25
    +
    @ RESULT_TEXCOORD0W
    Texture coordinate 0 W.
    Definition: shbin.h:28
    +
    DVLE_type
    DVLE type.
    Definition: shbin.h:10
    +
    @ GEOMETRY_SHDR
    Geometry shader.
    Definition: shbin.h:12
    +
    @ VERTEX_SHDR
    Vertex shader.
    Definition: shbin.h:11
    +
    DVLE_geoShaderMode
    Geometry shader operation modes.
    Definition: shbin.h:37
    +
    @ GSH_VARIABLE_PRIM
    Variable-size primitive processing mode.
    Definition: shbin.h:39
    +
    @ GSH_POINT
    Point processing mode.
    Definition: shbin.h:38
    +
    @ GSH_FIXED_PRIM
    Fixed-size primitive processing mode.
    Definition: shbin.h:40
    +
    DVLB_s * DVLB_ParseFile(u32 *shbinData, u32 shbinSize)
    Parses a shader binary.
    +
    DVLB data.
    Definition: shbin.h:98
    +
    DVLE_s * DVLE
    Contained DVLE.
    Definition: shbin.h:101
    +
    DVLP_s DVLP
    Primary DVLP.
    Definition: shbin.h:100
    +
    u32 numDVLE
    DVLE count.
    Definition: shbin.h:99
    +
    DVLE constant entry data.
    Definition: shbin.h:52
    +
    u16 id
    Constant ID.
    Definition: shbin.h:54
    +
    u16 type
    Constant type. See DVLE_constantType.
    Definition: shbin.h:53
    +
    DVLE output entry data.
    Definition: shbin.h:59
    +
    u8 mask
    Output mask.
    Definition: shbin.h:62
    +
    u16 type
    Output type. See DVLE_outputAttribute_t.
    Definition: shbin.h:60
    +
    u16 regID
    Output register ID.
    Definition: shbin.h:61
    +
    DVLE data.
    Definition: shbin.h:74
    +
    DVLE_constEntry_s * constTableData
    Constant table data.
    Definition: shbin.h:85
    +
    u32 outmapMode
    Output map mode.
    Definition: shbin.h:93
    +
    DVLE_uniformEntry_s * uniformTableData
    Uniform table data.
    Definition: shbin.h:89
    +
    DVLE_geoShaderMode gshMode
    Geometry shader operation mode.
    Definition: shbin.h:77
    +
    DVLE_type type
    DVLE type.
    Definition: shbin.h:75
    +
    u32 mainOffset
    Offset of the start of the main function.
    Definition: shbin.h:82
    +
    u8 gshFixedVtxNum
    Number of vertices in the fixed-size primitive vertex array.
    Definition: shbin.h:80
    +
    u8 gshFixedVtxStart
    Starting float uniform register number for storing the fixed-size primitive vertex array.
    Definition: shbin.h:78
    +
    u32 outmapClock
    Output map attribute clock.
    Definition: shbin.h:94
    +
    DVLP_s * dvlp
    Contained DVLPs.
    Definition: shbin.h:81
    +
    u32 outTableSize
    Output table size.
    Definition: shbin.h:86
    +
    DVLE_outEntry_s * outTableData
    Output table data.
    Definition: shbin.h:87
    +
    char * symbolTableData
    Symbol table data.
    Definition: shbin.h:90
    +
    u8 outmapMask
    Output map mask.
    Definition: shbin.h:91
    +
    u32 endmainOffset
    Offset of the end of the main function.
    Definition: shbin.h:83
    +
    bool mergeOutmaps
    true = merge vertex/geometry shader outmaps ('dummy' output attribute is present).
    Definition: shbin.h:76
    +
    u8 gshVariableVtxNum
    Number of fully-defined vertices in the variable-size primitive vertex array.
    Definition: shbin.h:79
    +
    u32 constTableSize
    Constant table size.
    Definition: shbin.h:84
    +
    u32 uniformTableSize
    Uniform table size.
    Definition: shbin.h:88
    +
    DVLE uniform entry data.
    Definition: shbin.h:67
    +
    u16 endReg
    End register.
    Definition: shbin.h:70
    +
    u32 symbolOffset
    Symbol offset.
    Definition: shbin.h:68
    +
    u16 startReg
    Start register.
    Definition: shbin.h:69
    +
    DVLP data.
    Definition: shbin.h:44
    +
    u32 * opcdescData
    Operand description data.
    Definition: shbin.h:48
    +
    u32 * codeData
    Code data.
    Definition: shbin.h:46
    +
    u32 codeSize
    Code size.
    Definition: shbin.h:45
    +
    u32 opdescSize
    Operand description size.
    Definition: shbin.h:47
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    int8_t s8
    8-bit signed integer
    Definition: types.h:26
    +
    uint16_t u16
    16-bit unsigned integer
    Definition: types.h:22
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/soc_8h.html b/soc_8h.html new file mode 100644 index 000000000..24d26445a --- /dev/null +++ b/soc_8h.html @@ -0,0 +1,461 @@ + + + + + + + +libctru: include/3ds/services/soc.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    soc.h File Reference
    +
    +
    + +

    SOC service for sockets communications. +More...

    +
    #include <netinet/in.h>
    +#include <sys/socket.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + +

    +Data Structures

    struct  SOCU_ARPTableEntry
     One entry of the ARP table retrieved by using SOCU_GetNetworkOpt and NETOPT_ARP_TABLE. More...
     
    struct  SOCU_IPInfo
     Structure returned by SOCU_GetNetworkOpt when using NETOPT_IP_INFO. More...
     
    struct  SOCU_RoutingTableEntry
     One entry of the routing table retrieved by using SOCU_GetNetworkOpt and NETOPT_ROUTING_TABLE. More...
     
    struct  SOCU_UDPTableEntry
     One entry of the UDP sockets table retrieved by using SOCU_GetNetworkOpt and NETOPT_UDP_TABLE. More...
     
    struct  SOCU_TCPTableEntry
     One entry of the TCP sockets table retrieved by using SOCU_GetNetworkOpt and NETOPT_TCP_TABLE. More...
     
    struct  SOCU_DNSTableEntry
     One entry of the DNS servers table retrieved by using SOCU_GetNetworkOpt and NETOPT_DNS_TABLE. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    +#define SOL_CONFIG   0xfffe
     The config level to be used with SOCU_GetNetworkOpt.
     
    +#define ROUTING_FLAG_G   0x01
     The route uses a gateway.
     
    TCP states
    +#define TCP_STATE_CLOSED   1
     
    +#define TCP_STATE_LISTEN   2
     
    +#define TCP_STATE_ESTABLISHED   5
     
    +#define TCP_STATE_FINWAIT1   6
     
    +#define TCP_STATE_FINWAIT2   7
     
    +#define TCP_STATE_CLOSE_WAIT   8
     
    +#define TCP_STATE_LAST_ACK   9
     
    +#define TCP_STATE_TIME_WAIT   11
     
    + + + + +

    +Enumerations

    enum  NetworkOpt {
    +  NETOPT_MAC_ADDRESS = 0x1004 +,
    +  NETOPT_ARP_TABLE = 0x3002 +,
    +  NETOPT_IP_INFO = 0x4003 +,
    +  NETOPT_IP_MTU = 0x4004 +,
    +  NETOPT_ROUTING_TABLE = 0x4006 +,
    +  NETOPT_UDP_NUMBER = 0x8002 +,
    +  NETOPT_UDP_TABLE = 0x8003 +,
    +  NETOPT_TCP_NUMBER = 0x9002 +,
    +  NETOPT_TCP_TABLE = 0x9003 +,
    +  NETOPT_DNS_TABLE = 0xB003 +,
    +  NETOPT_DHCP_LEASE_TIME = 0xC001 +
    + }
     Options to be used with SOCU_GetNetworkOpt. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    Result socInit (u32 *context_addr, u32 context_size)
     Initializes the SOC service. More...
     
    Result socExit (void)
     Closes the soc service. More...
     
    long gethostid (void)
     Gets the system's host ID. More...
     
    +int gethostname (char *name, size_t namelen)
     
    +int SOCU_ShutdownSockets (void)
     
    +int SOCU_CloseSockets (void)
     
    int SOCU_GetNetworkOpt (int level, NetworkOpt optname, void *optval, socklen_t *optlen)
     Retrieves information from the network configuration. More...
     
    int SOCU_GetIPInfo (struct in_addr *ip, struct in_addr *netmask, struct in_addr *broadcast)
     Gets the system's IP address, netmask, and subnet broadcast. More...
     
    int SOCU_AddGlobalSocket (int sockfd)
     Adds a global socket. More...
     
    +

    Detailed Description

    +

    SOC service for sockets communications.

    +

    After initializing this service you will be able to use system calls from netdb.h, sys/socket.h etc.

    +

    Enumeration Type Documentation

    + +

    ◆ NetworkOpt

    + +
    +
    + + + + +
    enum NetworkOpt
    +
    + +

    Options to be used with SOCU_GetNetworkOpt.

    + + + + + + + + + + + + +
    Enumerator
    NETOPT_MAC_ADDRESS 

    The mac address of the interface (u32 mac[6])

    +
    NETOPT_ARP_TABLE 

    The ARP table.

    +
    See also
    SOCU_ARPTableEntry
    +
    NETOPT_IP_INFO 

    The current IP setup.

    +
    See also
    SOCU_IPInfo
    +
    NETOPT_IP_MTU 

    The value of the IP MTU (u32)

    +
    NETOPT_ROUTING_TABLE 

    The routing table.

    +
    See also
    SOCU_RoutingTableEntry
    +
    NETOPT_UDP_NUMBER 

    The number of sockets in the UDP table (u32)

    +
    NETOPT_UDP_TABLE 

    The table of opened UDP sockets.

    +
    See also
    SOCU_UDPTableEntry
    +
    NETOPT_TCP_NUMBER 

    The number of sockets in the TCP table (u32)

    +
    NETOPT_TCP_TABLE 

    The table of opened TCP sockets.

    +
    See also
    SOCU_TCPTableEntry
    +
    NETOPT_DNS_TABLE 

    The table of the DNS servers.

    +
    See also
    SOCU_DNSTableEntry – Returns a buffer of size 336 but only 2 entries are set ?
    +
    NETOPT_DHCP_LEASE_TIME 

    The DHCP lease time remaining, in seconds.

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ gethostid()

    + +
    +
    + + + + + + + + +
    long gethostid (void )
    +
    + +

    Gets the system's host ID.

    +
    Returns
    The system's host ID.
    +
    Examples
    network/sockets/source/sockets.c.
    +
    + +
    +
    + +

    ◆ socExit()

    + +
    +
    + + + + + + + + +
    Result socExit (void )
    +
    + +

    Closes the soc service.

    +
    Note
    You need to call this in order to be able to use the buffer again.
    +
    Examples
    network/sockets/source/sockets.c, and network/sslc/source/ssl.c.
    +
    + +
    +
    + +

    ◆ socInit()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result socInit (u32context_addr,
    u32 context_size 
    )
    +
    + +

    Initializes the SOC service.

    +
    Parameters
    + + + +
    context_addrAddress of a page-aligned (0x1000) buffer to be used.
    context_sizeSize of the buffer, a multiple of 0x1000.
    +
    +
    +
    Note
    The specified context buffer can no longer be accessed by the process which called this function, since the userland permissions for this block are set to no-access.
    +
    Examples
    network/sockets/source/sockets.c, and network/sslc/source/ssl.c.
    +
    + +
    +
    + +

    ◆ SOCU_AddGlobalSocket()

    + +
    +
    + + + + + + + + +
    int SOCU_AddGlobalSocket (int sockfd)
    +
    + +

    Adds a global socket.

    +
    Parameters
    + + +
    sockfdThe socket fd.
    +
    +
    +
    Returns
    error
    + +
    +
    + +

    ◆ SOCU_GetIPInfo()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int SOCU_GetIPInfo (struct in_addrip,
    struct in_addrnetmask,
    struct in_addrbroadcast 
    )
    +
    + +

    Gets the system's IP address, netmask, and subnet broadcast.

    +
    Returns
    error
    + +
    +
    + +

    ◆ SOCU_GetNetworkOpt()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    int SOCU_GetNetworkOpt (int level,
    NetworkOpt optname,
    void * optval,
    socklen_t * optlen 
    )
    +
    + +

    Retrieves information from the network configuration.

    +

    Similar to getsockopt().

    Parameters
    + + + + + +
    levelOnly value allowed seems to be SOL_CONFIG
    optnameThe option to be retrieved
    optvalWill contain the output of the command
    optlenSize of the optval buffer, will be updated to hold the size of the output
    +
    +
    +
    Returns
    0 if successful. -1 if failed, and errno will be set accordingly. Can also return a system error code.
    + +
    +
    +
    + + + + diff --git a/soc_8h_source.html b/soc_8h_source.html new file mode 100644 index 000000000..0876dce3d --- /dev/null +++ b/soc_8h_source.html @@ -0,0 +1,258 @@ + + + + + + + +libctru: include/3ds/services/soc.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    soc.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file soc.h
    +
    3  * @brief SOC service for sockets communications
    +
    4  *
    +
    5  * After initializing this service you will be able to use system calls from netdb.h, sys/socket.h etc.
    +
    6  */
    +
    7 #pragma once
    +
    8 #include <netinet/in.h>
    +
    9 #include <sys/socket.h>
    +
    10 
    +
    11 /// The config level to be used with @ref SOCU_GetNetworkOpt
    +
    12 #define SOL_CONFIG 0xfffe
    +
    13 
    +
    14 /// Options to be used with @ref SOCU_GetNetworkOpt
    +
    15 typedef enum
    +
    16 {
    +
    17  NETOPT_MAC_ADDRESS = 0x1004, ///< The mac address of the interface (u32 mac[6])
    +
    18  NETOPT_ARP_TABLE = 0x3002, ///< The ARP table @see SOCU_ARPTableEntry
    +
    19  NETOPT_IP_INFO = 0x4003, ///< The current IP setup @see SOCU_IPInfo
    +
    20  NETOPT_IP_MTU = 0x4004, ///< The value of the IP MTU (u32)
    +
    21  NETOPT_ROUTING_TABLE = 0x4006, ///< The routing table @see SOCU_RoutingTableEntry
    +
    22  NETOPT_UDP_NUMBER = 0x8002, ///< The number of sockets in the UDP table (u32)
    +
    23  NETOPT_UDP_TABLE = 0x8003, ///< The table of opened UDP sockets @see SOCU_UDPTableEntry
    +
    24  NETOPT_TCP_NUMBER = 0x9002, ///< The number of sockets in the TCP table (u32)
    +
    25  NETOPT_TCP_TABLE = 0x9003, ///< The table of opened TCP sockets @see SOCU_TCPTableEntry
    +
    26  NETOPT_DNS_TABLE = 0xB003, ///< The table of the DNS servers @see SOCU_DNSTableEntry -- Returns a buffer of size 336 but only 2 entries are set ?
    +
    27  NETOPT_DHCP_LEASE_TIME = 0xC001, ///< The DHCP lease time remaining, in seconds
    +
    28 } NetworkOpt;
    +
    29 
    +
    30 /// One entry of the ARP table retrieved by using @ref SOCU_GetNetworkOpt and @ref NETOPT_ARP_TABLE
    +
    31 typedef struct
    +
    32 {
    +
    33  u32 unk0; // often 2 ? state ?
    +
    34  struct in_addr ip; ///< The IPv4 address associated to the entry
    +
    35  u8 mac[6]; ///< The MAC address of associated to the entry
    +
    36  u8 padding[2];
    + +
    38 
    +
    39 /// Structure returned by @ref SOCU_GetNetworkOpt when using @ref NETOPT_IP_INFO
    +
    40 typedef struct
    +
    41 {
    +
    42  struct in_addr ip; ///< Current IPv4 address
    +
    43  struct in_addr netmask; ///< Current network mask
    +
    44  struct in_addr broadcast; ///< Current network broadcast address
    +
    45 } SOCU_IPInfo;
    +
    46 
    +
    47 // Linux netstat flags
    +
    48 // NOTE : there are probably other flags supported, if you can forge ICMP requests please check for D and M flags
    +
    49 
    +
    50 /** The route uses a gateway */
    +
    51 #define ROUTING_FLAG_G 0x01
    +
    52 
    +
    53 /// One entry of the routing table retrieved by using @ref SOCU_GetNetworkOpt and @ref NETOPT_ROUTING_TABLE
    +
    54 typedef struct
    +
    55 {
    +
    56  struct in_addr dest_ip; ///< Destination IP address of the route
    +
    57  struct in_addr netmask; ///< Mask used for this route
    +
    58  struct in_addr gateway; ///< Gateway address to reach the network
    +
    59  u32 flags; ///< Linux netstat flags @see ROUTING_FLAG_G
    +
    60  u64 time; ///< number of milliseconds since 1st Jan 1900 00:00.
    + +
    62 
    +
    63 /// One entry of the UDP sockets table retrieved by using @ref SOCU_GetNetworkOpt and @ref NETOPT_UDP_TABLE
    +
    64 typedef struct
    +
    65 {
    +
    66  struct sockaddr_storage local; ///< Local address information
    +
    67  struct sockaddr_storage remote; ///< Remote address information
    + +
    69 
    +
    70 ///@name TCP states
    +
    71 ///@{
    +
    72 #define TCP_STATE_CLOSED 1
    +
    73 #define TCP_STATE_LISTEN 2
    +
    74 #define TCP_STATE_ESTABLISHED 5
    +
    75 #define TCP_STATE_FINWAIT1 6
    +
    76 #define TCP_STATE_FINWAIT2 7
    +
    77 #define TCP_STATE_CLOSE_WAIT 8
    +
    78 #define TCP_STATE_LAST_ACK 9
    +
    79 #define TCP_STATE_TIME_WAIT 11
    +
    80 ///@}
    +
    81 
    +
    82 /// One entry of the TCP sockets table retrieved by using @ref SOCU_GetNetworkOpt and @ref NETOPT_TCP_TABLE
    +
    83 typedef struct
    +
    84 {
    +
    85  u32 state; ///< @see TCP states defines
    +
    86  struct sockaddr_storage local; ///< Local address information
    +
    87  struct sockaddr_storage remote; ///< Remote address information
    + +
    89 
    +
    90 /// One entry of the DNS servers table retrieved by using @ref SOCU_GetNetworkOpt and @ref NETOPT_DNS_TABLE
    +
    91 typedef struct
    +
    92 {
    +
    93  u32 family; /// Family of the address of the DNS server
    +
    94  struct in_addr ip; /// IP of the DNS server
    +
    95  u8 padding[12]; // matches the length required for IPv6 addresses
    + +
    97 
    +
    98 
    +
    99 /**
    +
    100  * @brief Initializes the SOC service.
    +
    101  * @param context_addr Address of a page-aligned (0x1000) buffer to be used.
    +
    102  * @param context_size Size of the buffer, a multiple of 0x1000.
    +
    103  * @note The specified context buffer can no longer be accessed by the process which called this function, since the userland permissions for this block are set to no-access.
    +
    104  */
    +
    105 Result socInit(u32 *context_addr, u32 context_size);
    +
    106 
    +
    107 /**
    +
    108  * @brief Closes the soc service.
    +
    109  * @note You need to call this in order to be able to use the buffer again.
    +
    110  */
    + +
    112 
    +
    113 // this is supposed to be in unistd.h but newlib only puts it for cygwin, waiting for newlib patch from dkA
    +
    114 /**
    +
    115  * @brief Gets the system's host ID.
    +
    116  * @return The system's host ID.
    +
    117  */
    +
    118 long gethostid(void);
    +
    119 
    +
    120 // this is supposed to be in unistd.h but newlib only puts it for cygwin, waiting for newlib patch from dkA
    +
    121 int gethostname(char *name, size_t namelen);
    +
    122 
    +
    123 int SOCU_ShutdownSockets(void);
    +
    124 
    +
    125 int SOCU_CloseSockets(void);
    +
    126 
    +
    127 /**
    +
    128  * @brief Retrieves information from the network configuration. Similar to getsockopt().
    +
    129  * @param level Only value allowed seems to be @ref SOL_CONFIG
    +
    130  * @param optname The option to be retrieved
    +
    131  * @param optval Will contain the output of the command
    +
    132  * @param optlen Size of the optval buffer, will be updated to hold the size of the output
    +
    133  * @return 0 if successful. -1 if failed, and errno will be set accordingly. Can also return a system error code.
    +
    134  */
    +
    135 int SOCU_GetNetworkOpt(int level, NetworkOpt optname, void * optval, socklen_t * optlen);
    +
    136 
    +
    137 /**
    +
    138  * @brief Gets the system's IP address, netmask, and subnet broadcast
    +
    139  * @return error
    +
    140  */
    +
    141 int SOCU_GetIPInfo(struct in_addr *ip, struct in_addr *netmask, struct in_addr *broadcast);
    +
    142 
    +
    143 /**
    +
    144  * @brief Adds a global socket.
    +
    145  * @param sockfd The socket fd.
    +
    146  * @return error
    +
    147  */
    +
    148 int SOCU_AddGlobalSocket(int sockfd);
    +
    int SOCU_GetNetworkOpt(int level, NetworkOpt optname, void *optval, socklen_t *optlen)
    Retrieves information from the network configuration.
    +
    Result socInit(u32 *context_addr, u32 context_size)
    Initializes the SOC service.
    +
    int SOCU_AddGlobalSocket(int sockfd)
    Adds a global socket.
    +
    Result socExit(void)
    Closes the soc service.
    +
    NetworkOpt
    Options to be used with SOCU_GetNetworkOpt.
    Definition: soc.h:16
    +
    @ NETOPT_MAC_ADDRESS
    The mac address of the interface (u32 mac[6])
    Definition: soc.h:17
    +
    @ NETOPT_DNS_TABLE
    The table of the DNS servers.
    Definition: soc.h:26
    +
    @ NETOPT_TCP_NUMBER
    The number of sockets in the TCP table (u32)
    Definition: soc.h:24
    +
    @ NETOPT_DHCP_LEASE_TIME
    The DHCP lease time remaining, in seconds.
    Definition: soc.h:27
    +
    @ NETOPT_TCP_TABLE
    The table of opened TCP sockets.
    Definition: soc.h:25
    +
    @ NETOPT_ROUTING_TABLE
    The routing table.
    Definition: soc.h:21
    +
    @ NETOPT_UDP_NUMBER
    The number of sockets in the UDP table (u32)
    Definition: soc.h:22
    +
    @ NETOPT_UDP_TABLE
    The table of opened UDP sockets.
    Definition: soc.h:23
    +
    @ NETOPT_ARP_TABLE
    The ARP table.
    Definition: soc.h:18
    +
    @ NETOPT_IP_INFO
    The current IP setup.
    Definition: soc.h:19
    +
    @ NETOPT_IP_MTU
    The value of the IP MTU (u32)
    Definition: soc.h:20
    +
    int SOCU_GetIPInfo(struct in_addr *ip, struct in_addr *netmask, struct in_addr *broadcast)
    Gets the system's IP address, netmask, and subnet broadcast.
    +
    long gethostid(void)
    Gets the system's host ID.
    +
    One entry of the ARP table retrieved by using SOCU_GetNetworkOpt and NETOPT_ARP_TABLE.
    Definition: soc.h:32
    +
    One entry of the DNS servers table retrieved by using SOCU_GetNetworkOpt and NETOPT_DNS_TABLE.
    Definition: soc.h:92
    +
    Structure returned by SOCU_GetNetworkOpt when using NETOPT_IP_INFO.
    Definition: soc.h:41
    +
    One entry of the routing table retrieved by using SOCU_GetNetworkOpt and NETOPT_ROUTING_TABLE.
    Definition: soc.h:55
    +
    u32 flags
    Linux netstat flags.
    Definition: soc.h:59
    +
    One entry of the TCP sockets table retrieved by using SOCU_GetNetworkOpt and NETOPT_TCP_TABLE.
    Definition: soc.h:84
    +
    One entry of the UDP sockets table retrieved by using SOCU_GetNetworkOpt and NETOPT_UDP_TABLE.
    Definition: soc.h:65
    +
    Definition: in.h:30
    +
    Definition: socket.h:58
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/socket_8h_source.html b/socket_8h_source.html new file mode 100644 index 000000000..38fb657e5 --- /dev/null +++ b/socket_8h_source.html @@ -0,0 +1,173 @@ + + + + + + + +libctru: include/sys/socket.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    socket.h
    +
    +
    +
    1 #pragma once
    +
    2 
    +
    3 #include <stdint.h>
    +
    4 #include <sys/time.h>
    +
    5 
    +
    6 #define SOL_SOCKET 0xFFFF
    +
    7 
    +
    8 #define PF_UNSPEC 0
    +
    9 #define PF_INET 2
    +
    10 #define PF_INET6 23
    +
    11 
    +
    12 #define AF_UNSPEC PF_UNSPEC
    +
    13 #define AF_INET PF_INET
    +
    14 #define AF_INET6 PF_INET6
    +
    15 
    +
    16 #define SOCK_STREAM 1
    +
    17 #define SOCK_DGRAM 2
    +
    18 
    +
    19 // any flags > 0x4 causes send/recv to return EOPNOTSUPP
    +
    20 #define MSG_OOB 0x0001
    +
    21 #define MSG_PEEK 0x0002
    +
    22 #define MSG_DONTWAIT 0x0004
    +
    23 #define MSG_DONTROUTE 0x0000 // ???
    +
    24 #define MSG_WAITALL 0x0000 // ???
    +
    25 #define MSG_MORE 0x0000 // ???
    +
    26 #define MSG_NOSIGNAL 0x0000 // there are no signals
    +
    27 
    +
    28 #define SHUT_RD 0
    +
    29 #define SHUT_WR 1
    +
    30 #define SHUT_RDWR 2
    +
    31 
    +
    32 /*
    +
    33  * SOL_SOCKET options
    +
    34  */
    +
    35 #define SO_REUSEADDR 0x0004 // reuse address
    +
    36 #define SO_LINGER 0x0080 // linger (no effect?)
    +
    37 #define SO_OOBINLINE 0x0100 // out-of-band data inline (no effect?)
    +
    38 #define SO_SNDBUF 0x1001 // send buffer size
    +
    39 #define SO_RCVBUF 0x1002 // receive buffer size
    +
    40 #define SO_SNDLOWAT 0x1003 // send low-water mark (no effect?)
    +
    41 #define SO_RCVLOWAT 0x1004 // receive low-water mark
    +
    42 #define SO_TYPE 0x1008 // get socket type
    +
    43 #define SO_ERROR 0x1009 // get socket error
    +
    44 
    +
    45 #define SO_BROADCAST 0x0000 // unrequired, included for compatibility
    +
    46 
    +
    47 #define _SOCKLEN_T_DECLARED
    +
    48 
    +
    49 typedef uint32_t socklen_t;
    +
    50 typedef uint16_t sa_family_t;
    +
    51 
    +
    52 struct sockaddr {
    +
    53  sa_family_t sa_family;
    +
    54  char sa_data[];
    +
    55 };
    +
    56 
    +
    57 // biggest size on 3ds is 0x1C (sockaddr_in6)
    + +
    59  sa_family_t ss_family;
    +
    60  char __ss_padding[26];
    +
    61 };
    +
    62 
    +
    63 struct linger {
    +
    64  int l_onoff;
    +
    65  int l_linger;
    +
    66 };
    +
    67 
    +
    68 #ifdef __cplusplus
    +
    69 extern "C" {
    +
    70 #endif
    +
    71 
    +
    72  int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
    +
    73  int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
    +
    74  int closesocket(int sockfd);
    +
    75  int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
    +
    76  int getpeername(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
    +
    77  int getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
    +
    78  int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);
    +
    79  int listen(int sockfd, int backlog);
    +
    80  ssize_t recv(int sockfd, void *buf, size_t len, int flags);
    +
    81  ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen);
    +
    82  ssize_t send(int sockfd, const void *buf, size_t len, int flags);
    +
    83  ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen);
    +
    84  int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);
    +
    85  int shutdown(int sockfd, int how);
    +
    86  int socket(int domain, int type, int protocol);
    +
    87  int sockatmark(int sockfd);
    +
    88 
    +
    89 #ifdef __cplusplus
    +
    90 }
    +
    91 #endif
    +
    Definition: socket.h:63
    +
    Definition: socket.h:58
    +
    Definition: socket.h:52
    +
    + + + + diff --git a/splitbar.png b/splitbar.png new file mode 100644 index 0000000000000000000000000000000000000000..fe895f2c58179b471a22d8320b39a4bd7312ec8e GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T literal 0 HcmV?d00001 diff --git a/srv_8h.html b/srv_8h.html new file mode 100644 index 000000000..093fbde17 --- /dev/null +++ b/srv_8h.html @@ -0,0 +1,740 @@ + + + + + + + +libctru: include/3ds/srv.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    srv.h File Reference
    +
    +
    + +

    Service API. +More...

    + +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    +Result srvInit (void)
     Initializes the service API.
     
    +void srvExit (void)
     Exits the service API.
     
    void srvSetBlockingPolicy (bool nonBlocking)
     Makes srvGetServiceHandle non-blocking for the current thread (or blocking, the default), in case of unavailable (full) requested services. More...
     
    HandlesrvGetSessionHandle (void)
     Gets the current service API session handle. More...
     
    Result srvGetServiceHandle (Handle *out, const char *name)
     Retrieves a service handle, retrieving from the environment handle list if possible. More...
     
    +Result srvRegisterClient (void)
     Registers the current process as a client to the service API.
     
    Result srvEnableNotification (Handle *semaphoreOut)
     Enables service notificatios, returning a notification semaphore. More...
     
    Result srvRegisterService (Handle *out, const char *name, int maxSessions)
     Registers the current process as a service. More...
     
    Result srvUnregisterService (const char *name)
     Unregisters the current process as a service. More...
     
    Result srvGetServiceHandleDirect (Handle *out, const char *name)
     Retrieves a service handle. More...
     
    Result srvRegisterPort (const char *name, Handle clientHandle)
     Registers a port. More...
     
    Result srvUnregisterPort (const char *name)
     Unregisters a port. More...
     
    Result srvGetPort (Handle *out, const char *name)
     Retrieves a port handle. More...
     
    Result srvWaitForPortRegistered (const char *name)
     Waits for a port to be registered. More...
     
    Result srvSubscribe (u32 notificationId)
     Subscribes to a notification. More...
     
    Result srvUnsubscribe (u32 notificationId)
     Unsubscribes from a notification. More...
     
    Result srvReceiveNotification (u32 *notificationIdOut)
     Receives a notification. More...
     
    Result srvPublishToSubscriber (u32 notificationId, u32 flags)
     Publishes a notification to subscribers. More...
     
    Result srvPublishAndGetSubscriber (u32 *processIdCountOut, u32 *processIdsOut, u32 notificationId)
     Publishes a notification to subscribers and retrieves a list of all processes that were notified. More...
     
    Result srvIsServiceRegistered (bool *registeredOut, const char *name)
     Checks whether a service is registered. More...
     
    Result srvIsPortRegistered (bool *registeredOut, const char *name)
     Checks whether a port is registered. More...
     
    +

    Detailed Description

    +

    Service API.

    +

    Function Documentation

    + +

    ◆ srvEnableNotification()

    + +
    +
    + + + + + + + + +
    Result srvEnableNotification (HandlesemaphoreOut)
    +
    + +

    Enables service notificatios, returning a notification semaphore.

    +
    Parameters
    + + +
    semaphoreOutPointer to output the notification semaphore to.
    +
    +
    + +
    +
    + +

    ◆ srvGetPort()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result srvGetPort (Handleout,
    const char * name 
    )
    +
    + +

    Retrieves a port handle.

    +
    Parameters
    + + + +
    outPointer to output the handle to.
    nameName of the port.
    +
    +
    + +
    +
    + +

    ◆ srvGetServiceHandle()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result srvGetServiceHandle (Handleout,
    const char * name 
    )
    +
    + +

    Retrieves a service handle, retrieving from the environment handle list if possible.

    +
    Parameters
    + + + +
    outPointer to write the handle to.
    nameName of the service.
    +
    +
    +
    Returns
    0 if no error occured, 0xD8E06406 if the caller has no right to access the service, 0xD0401834 if the requested service port is full and srvGetServiceHandle is non-blocking (see srvSetBlockingPolicy).
    + +
    +
    + +

    ◆ srvGetServiceHandleDirect()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result srvGetServiceHandleDirect (Handleout,
    const char * name 
    )
    +
    + +

    Retrieves a service handle.

    +
    Parameters
    + + + +
    outPointer to output the handle to.
    nameName of the service.
      +
    • +
    +
    +
    +
    +
    Returns
    0 if no error occured, 0xD8E06406 if the caller has no right to access the service, 0xD0401834 if the requested service port is full and srvGetServiceHandle is non-blocking (see srvSetBlockingPolicy).
    + +
    +
    + +

    ◆ srvGetSessionHandle()

    + +
    +
    + + + + + + + + +
    Handle* srvGetSessionHandle (void )
    +
    + +

    Gets the current service API session handle.

    +
    Returns
    The current service API session handle.
    + +
    +
    + +

    ◆ srvIsPortRegistered()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result srvIsPortRegistered (bool * registeredOut,
    const char * name 
    )
    +
    + +

    Checks whether a port is registered.

    +
    Parameters
    + + + +
    registeredOutPointer to output the registration status to.
    nameName of the port to check.
    +
    +
    + +
    +
    + +

    ◆ srvIsServiceRegistered()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result srvIsServiceRegistered (bool * registeredOut,
    const char * name 
    )
    +
    + +

    Checks whether a service is registered.

    +
    Parameters
    + + + +
    registeredOutPointer to output the registration status to.
    nameName of the service to check.
    +
    +
    + +
    +
    + +

    ◆ srvPublishAndGetSubscriber()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result srvPublishAndGetSubscriber (u32processIdCountOut,
    u32processIdsOut,
    u32 notificationId 
    )
    +
    + +

    Publishes a notification to subscribers and retrieves a list of all processes that were notified.

    +
    Parameters
    + + + + +
    processIdCountOutPointer to output the number of process IDs to.
    processIdsOutPointer to output the process IDs to. Should have size "60 * sizeof(u32)".
    notificationIdID of the notification.
    +
    +
    + +
    +
    + +

    ◆ srvPublishToSubscriber()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result srvPublishToSubscriber (u32 notificationId,
    u32 flags 
    )
    +
    + +

    Publishes a notification to subscribers.

    +
    Parameters
    + + + +
    notificationIdID of the notification.
    flagsFlags to publish with. (bit 0 = only fire if not fired, bit 1 = do not report an error if there are more than 16 pending notifications)
    +
    +
    + +
    +
    + +

    ◆ srvReceiveNotification()

    + +
    +
    + + + + + + + + +
    Result srvReceiveNotification (u32notificationIdOut)
    +
    + +

    Receives a notification.

    +
    Parameters
    + + +
    notificationIdOutPointer to output the ID of the received notification to.
    +
    +
    + +
    +
    + +

    ◆ srvRegisterPort()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result srvRegisterPort (const char * name,
    Handle clientHandle 
    )
    +
    + +

    Registers a port.

    +
    Parameters
    + + + +
    nameName of the port.
    clientHandleClient handle of the port.
    +
    +
    + +
    +
    + +

    ◆ srvRegisterService()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result srvRegisterService (Handleout,
    const char * name,
    int maxSessions 
    )
    +
    + +

    Registers the current process as a service.

    +
    Parameters
    + + + + +
    outPointer to write the service handle to.
    nameName of the service.
    maxSessionsMaximum number of sessions the service can handle.
    +
    +
    + +
    +
    + +

    ◆ srvSetBlockingPolicy()

    + +
    +
    + + + + + + + + +
    void srvSetBlockingPolicy (bool nonBlocking)
    +
    + +

    Makes srvGetServiceHandle non-blocking for the current thread (or blocking, the default), in case of unavailable (full) requested services.

    +
    Parameters
    + + +
    blockingWhether srvGetServiceHandle should be non-blocking. srvGetServiceHandle will always block if the service hasn't been registered yet, use srvIsServiceRegistered to check whether that is the case or not.
    +
    +
    + +
    +
    + +

    ◆ srvSubscribe()

    + +
    +
    + + + + + + + + +
    Result srvSubscribe (u32 notificationId)
    +
    + +

    Subscribes to a notification.

    +
    Parameters
    + + +
    notificationIdID of the notification.
    +
    +
    + +
    +
    + +

    ◆ srvUnregisterPort()

    + +
    +
    + + + + + + + + +
    Result srvUnregisterPort (const char * name)
    +
    + +

    Unregisters a port.

    +
    Parameters
    + + +
    nameName of the port.
    +
    +
    + +
    +
    + +

    ◆ srvUnregisterService()

    + +
    +
    + + + + + + + + +
    Result srvUnregisterService (const char * name)
    +
    + +

    Unregisters the current process as a service.

    +
    Parameters
    + + +
    nameName of the service.
    +
    +
    + +
    +
    + +

    ◆ srvUnsubscribe()

    + +
    +
    + + + + + + + + +
    Result srvUnsubscribe (u32 notificationId)
    +
    + +

    Unsubscribes from a notification.

    +
    Parameters
    + + +
    notificationIdID of the notification.
    +
    +
    + +
    +
    + +

    ◆ srvWaitForPortRegistered()

    + +
    +
    + + + + + + + + +
    Result srvWaitForPortRegistered (const char * name)
    +
    + +

    Waits for a port to be registered.

    +
    Parameters
    + + +
    nameName of the port to wait for registration.
    +
    +
    + +
    +
    +
    + + + + diff --git a/srv_8h_source.html b/srv_8h_source.html new file mode 100644 index 000000000..6ee49d676 --- /dev/null +++ b/srv_8h_source.html @@ -0,0 +1,244 @@ + + + + + + + +libctru: include/3ds/srv.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    srv.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file srv.h
    +
    3  * @brief Service API.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 /// Initializes the service API.
    +
    8 Result srvInit(void);
    +
    9 
    +
    10 /// Exits the service API.
    +
    11 void srvExit(void);
    +
    12 
    +
    13 /**
    +
    14  * @brief Makes srvGetServiceHandle non-blocking for the current thread (or blocking, the default), in case of unavailable (full) requested services.
    +
    15  * @param blocking Whether srvGetServiceHandle should be non-blocking.
    +
    16  * srvGetServiceHandle will always block if the service hasn't been registered yet,
    +
    17  * use srvIsServiceRegistered to check whether that is the case or not.
    +
    18  */
    +
    19 void srvSetBlockingPolicy(bool nonBlocking);
    +
    20 
    +
    21 /**
    +
    22  * @brief Gets the current service API session handle.
    +
    23  * @return The current service API session handle.
    +
    24  */
    + +
    26 
    +
    27 /**
    +
    28  * @brief Retrieves a service handle, retrieving from the environment handle list if possible.
    +
    29  * @param out Pointer to write the handle to.
    +
    30  * @param name Name of the service.
    +
    31  * @return 0 if no error occured,
    +
    32  * 0xD8E06406 if the caller has no right to access the service,
    +
    33  * 0xD0401834 if the requested service port is full and srvGetServiceHandle is non-blocking (see @ref srvSetBlockingPolicy).
    +
    34  */
    +
    35 Result srvGetServiceHandle(Handle* out, const char* name);
    +
    36 
    +
    37 /// Registers the current process as a client to the service API.
    + +
    39 
    +
    40 /**
    +
    41  * @brief Enables service notificatios, returning a notification semaphore.
    +
    42  * @param semaphoreOut Pointer to output the notification semaphore to.
    +
    43  */
    + +
    45 
    +
    46 /**
    +
    47  * @brief Registers the current process as a service.
    +
    48  * @param out Pointer to write the service handle to.
    +
    49  * @param name Name of the service.
    +
    50  * @param maxSessions Maximum number of sessions the service can handle.
    +
    51  */
    +
    52 Result srvRegisterService(Handle* out, const char* name, int maxSessions);
    +
    53 
    +
    54 /**
    +
    55  * @brief Unregisters the current process as a service.
    +
    56  * @param name Name of the service.
    +
    57  */
    +
    58 Result srvUnregisterService(const char* name);
    +
    59 
    +
    60 /**
    +
    61  * @brief Retrieves a service handle.
    +
    62  * @param out Pointer to output the handle to.
    +
    63  * @param name Name of the service.
    +
    64  * * @return 0 if no error occured,
    +
    65  * 0xD8E06406 if the caller has no right to access the service,
    +
    66  * 0xD0401834 if the requested service port is full and srvGetServiceHandle is non-blocking (see @ref srvSetBlockingPolicy).
    +
    67  */
    +
    68 Result srvGetServiceHandleDirect(Handle* out, const char* name);
    +
    69 
    +
    70 /**
    +
    71  * @brief Registers a port.
    +
    72  * @param name Name of the port.
    +
    73  * @param clientHandle Client handle of the port.
    +
    74  */
    +
    75 Result srvRegisterPort(const char* name, Handle clientHandle);
    +
    76 
    +
    77 /**
    +
    78  * @brief Unregisters a port.
    +
    79  * @param name Name of the port.
    +
    80  */
    +
    81 Result srvUnregisterPort(const char* name);
    +
    82 
    +
    83 /**
    +
    84  * @brief Retrieves a port handle.
    +
    85  * @param out Pointer to output the handle to.
    +
    86  * @param name Name of the port.
    +
    87  */
    +
    88 Result srvGetPort(Handle* out, const char* name);
    +
    89 
    +
    90 /**
    +
    91  * @brief Waits for a port to be registered.
    +
    92  * @param name Name of the port to wait for registration.
    +
    93  */
    +
    94 Result srvWaitForPortRegistered(const char* name);
    +
    95 
    +
    96 /**
    +
    97  * @brief Subscribes to a notification.
    +
    98  * @param notificationId ID of the notification.
    +
    99  */
    +
    100 Result srvSubscribe(u32 notificationId);
    +
    101 
    +
    102 /**
    +
    103  * @brief Unsubscribes from a notification.
    +
    104  * @param notificationId ID of the notification.
    +
    105  */
    +
    106 Result srvUnsubscribe(u32 notificationId);
    +
    107 
    +
    108 /**
    +
    109  * @brief Receives a notification.
    +
    110  * @param notificationIdOut Pointer to output the ID of the received notification to.
    +
    111  */
    +
    112 Result srvReceiveNotification(u32* notificationIdOut);
    +
    113 
    +
    114 /**
    +
    115  * @brief Publishes a notification to subscribers.
    +
    116  * @param notificationId ID of the notification.
    +
    117  * @param flags Flags to publish with. (bit 0 = only fire if not fired, bit 1 = do not report an error if there are more than 16 pending notifications)
    +
    118  */
    +
    119 Result srvPublishToSubscriber(u32 notificationId, u32 flags);
    +
    120 
    +
    121 /**
    +
    122  * @brief Publishes a notification to subscribers and retrieves a list of all processes that were notified.
    +
    123  * @param processIdCountOut Pointer to output the number of process IDs to.
    +
    124  * @param processIdsOut Pointer to output the process IDs to. Should have size "60 * sizeof(u32)".
    +
    125  * @param notificationId ID of the notification.
    +
    126  */
    +
    127 Result srvPublishAndGetSubscriber(u32* processIdCountOut, u32* processIdsOut, u32 notificationId);
    +
    128 
    +
    129 /**
    +
    130  * @brief Checks whether a service is registered.
    +
    131  * @param registeredOut Pointer to output the registration status to.
    +
    132  * @param name Name of the service to check.
    +
    133  */
    +
    134 Result srvIsServiceRegistered(bool* registeredOut, const char* name);
    +
    135 
    +
    136 /**
    +
    137  * @brief Checks whether a port is registered.
    +
    138  * @param registeredOut Pointer to output the registration status to.
    +
    139  * @param name Name of the port to check.
    +
    140  */
    +
    141 Result srvIsPortRegistered(bool* registeredOut, const char* name);
    +
    Result srvSubscribe(u32 notificationId)
    Subscribes to a notification.
    +
    Result srvRegisterPort(const char *name, Handle clientHandle)
    Registers a port.
    +
    Result srvPublishAndGetSubscriber(u32 *processIdCountOut, u32 *processIdsOut, u32 notificationId)
    Publishes a notification to subscribers and retrieves a list of all processes that were notified.
    +
    Result srvGetServiceHandleDirect(Handle *out, const char *name)
    Retrieves a service handle.
    +
    void srvExit(void)
    Exits the service API.
    +
    Result srvEnableNotification(Handle *semaphoreOut)
    Enables service notificatios, returning a notification semaphore.
    +
    Result srvUnregisterService(const char *name)
    Unregisters the current process as a service.
    +
    Result srvIsServiceRegistered(bool *registeredOut, const char *name)
    Checks whether a service is registered.
    +
    Result srvGetServiceHandle(Handle *out, const char *name)
    Retrieves a service handle, retrieving from the environment handle list if possible.
    +
    Result srvUnregisterPort(const char *name)
    Unregisters a port.
    +
    Result srvIsPortRegistered(bool *registeredOut, const char *name)
    Checks whether a port is registered.
    +
    Result srvPublishToSubscriber(u32 notificationId, u32 flags)
    Publishes a notification to subscribers.
    +
    void srvSetBlockingPolicy(bool nonBlocking)
    Makes srvGetServiceHandle non-blocking for the current thread (or blocking, the default),...
    +
    Handle * srvGetSessionHandle(void)
    Gets the current service API session handle.
    +
    Result srvInit(void)
    Initializes the service API.
    +
    Result srvWaitForPortRegistered(const char *name)
    Waits for a port to be registered.
    +
    Result srvUnsubscribe(u32 notificationId)
    Unsubscribes from a notification.
    +
    Result srvRegisterService(Handle *out, const char *name, int maxSessions)
    Registers the current process as a service.
    +
    Result srvGetPort(Handle *out, const char *name)
    Retrieves a port handle.
    +
    Result srvRegisterClient(void)
    Registers the current process as a client to the service API.
    +
    Result srvReceiveNotification(u32 *notificationIdOut)
    Receives a notification.
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/srvpm_8h.html b/srvpm_8h.html new file mode 100644 index 000000000..c1b19b361 --- /dev/null +++ b/srvpm_8h.html @@ -0,0 +1,270 @@ + + + + + + + +libctru: include/3ds/services/srvpm.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    srvpm.h File Reference
    +
    +
    + +

    srv:pm service. +More...

    + +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    +Result srvPmInit (void)
     Initializes srv:pm and the service API.
     
    +void srvPmExit (void)
     Exits srv:pm and the service API.
     
    HandlesrvPmGetSessionHandle (void)
     Gets the current srv:pm session handle. More...
     
    Result SRVPM_PublishToProcess (u32 notificationId, Handle process)
     Publishes a notification to a process. More...
     
    Result SRVPM_PublishToAll (u32 notificationId)
     Publishes a notification to all processes. More...
     
    Result SRVPM_RegisterProcess (u32 pid, u32 count, const char(*serviceAccessControlList)[8])
     Registers a process with SRV. More...
     
    Result SRVPM_UnregisterProcess (u32 pid)
     Unregisters a process with SRV. More...
     
    +

    Detailed Description

    +

    srv:pm service.

    +

    Function Documentation

    + +

    ◆ SRVPM_PublishToAll()

    + +
    +
    + + + + + + + + +
    Result SRVPM_PublishToAll (u32 notificationId)
    +
    + +

    Publishes a notification to all processes.

    +
    Parameters
    + + +
    notificationIdID of the notification.
    +
    +
    + +
    +
    + +

    ◆ SRVPM_PublishToProcess()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result SRVPM_PublishToProcess (u32 notificationId,
    Handle process 
    )
    +
    + +

    Publishes a notification to a process.

    +
    Parameters
    + + + +
    notificationIdID of the notification.
    processProcess to publish to.
    +
    +
    + +
    +
    + +

    ◆ SRVPM_RegisterProcess()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result SRVPM_RegisterProcess (u32 pid,
    u32 count,
    const char(*) serviceAccessControlList[8] 
    )
    +
    + +

    Registers a process with SRV.

    +
    Parameters
    + + + + +
    pidID of the process.
    countNumber of services within the service access control data.
    serviceAccessControlListService Access Control list.
    +
    +
    + +
    +
    + +

    ◆ SRVPM_UnregisterProcess()

    + +
    +
    + + + + + + + + +
    Result SRVPM_UnregisterProcess (u32 pid)
    +
    + +

    Unregisters a process with SRV.

    +
    Parameters
    + + +
    pidID of the process.
    +
    +
    + +
    +
    + +

    ◆ srvPmGetSessionHandle()

    + +
    +
    + + + + + + + + +
    Handle* srvPmGetSessionHandle (void )
    +
    + +

    Gets the current srv:pm session handle.

    +
    Returns
    The current srv:pm session handle.
    + +
    +
    +
    + + + + diff --git a/srvpm_8h_source.html b/srvpm_8h_source.html new file mode 100644 index 000000000..df9eb0ee1 --- /dev/null +++ b/srvpm_8h_source.html @@ -0,0 +1,134 @@ + + + + + + + +libctru: include/3ds/services/srvpm.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    srvpm.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file srvpm.h
    +
    3  * @brief srv:pm service.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 /// Initializes srv:pm and the service API.
    + +
    9 
    +
    10 /// Exits srv:pm and the service API.
    +
    11 void srvPmExit(void);
    +
    12 
    +
    13 /**
    +
    14  * @brief Gets the current srv:pm session handle.
    +
    15  * @return The current srv:pm session handle.
    +
    16  */
    + +
    18 
    +
    19 /**
    +
    20  * @brief Publishes a notification to a process.
    +
    21  * @param notificationId ID of the notification.
    +
    22  * @param process Process to publish to.
    +
    23  */
    +
    24 Result SRVPM_PublishToProcess(u32 notificationId, Handle process);
    +
    25 
    +
    26 /**
    +
    27  * @brief Publishes a notification to all processes.
    +
    28  * @param notificationId ID of the notification.
    +
    29  */
    +
    30 Result SRVPM_PublishToAll(u32 notificationId);
    +
    31 
    +
    32 /**
    +
    33  * @brief Registers a process with SRV.
    +
    34  * @param pid ID of the process.
    +
    35  * @param count Number of services within the service access control data.
    +
    36  * @param serviceAccessControlList Service Access Control list.
    +
    37  */
    +
    38 Result SRVPM_RegisterProcess(u32 pid, u32 count, const char (*serviceAccessControlList)[8]);
    +
    39 
    +
    40 /**
    +
    41  * @brief Unregisters a process with SRV.
    +
    42  * @param pid ID of the process.
    +
    43  */
    + +
    45 
    +
    Result SRVPM_RegisterProcess(u32 pid, u32 count, const char(*serviceAccessControlList)[8])
    Registers a process with SRV.
    +
    Result SRVPM_PublishToAll(u32 notificationId)
    Publishes a notification to all processes.
    +
    Result srvPmInit(void)
    Initializes srv:pm and the service API.
    +
    void srvPmExit(void)
    Exits srv:pm and the service API.
    +
    Result SRVPM_PublishToProcess(u32 notificationId, Handle process)
    Publishes a notification to a process.
    +
    Handle * srvPmGetSessionHandle(void)
    Gets the current srv:pm session handle.
    +
    Result SRVPM_UnregisterProcess(u32 pid)
    Unregisters a process with SRV.
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/sslc_8h.html b/sslc_8h.html new file mode 100644 index 000000000..86cdee42f --- /dev/null +++ b/sslc_8h.html @@ -0,0 +1,819 @@ + + + + + + + +libctru: include/3ds/services/sslc.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    sslc.h File Reference
    +
    +
    + +

    SSLC(TLS) service. +More...

    + +

    Go to the source code of this file.

    + + + + + +

    +Data Structures

    struct  sslcContext
     sslc context. More...
     
    + + + + + + + + +

    +Enumerations

    enum  SSLC_DefaultRootCert {
    +  SSLC_DefaultRootCert_Nintendo_CA = 0x1 +,
    +  SSLC_DefaultRootCert_Nintendo_CA_G2 = 0x2 +,
    +  SSLC_DefaultRootCert_Nintendo_CA_G3 = 0x3 +,
    +  SSLC_DefaultRootCert_Nintendo_Class2_CA = 0x4 +,
    +  SSLC_DefaultRootCert_Nintendo_Class2_CA_G2 = 0x5 +,
    +  SSLC_DefaultRootCert_Nintendo_Class2_CA_G3 = 0x6 +,
    +  SSLC_DefaultRootCert_CyberTrust = 0x7 +,
    +  SSLC_DefaultRootCert_AddTrust_External_CA = 0x8 +,
    +  SSLC_DefaultRootCert_COMODO = 0x9 +,
    +  SSLC_DefaultRootCert_USERTrust = 0xA +,
    +  SSLC_DefaultRootCert_DigiCert_EV = 0xB +
    + }
     
    enum  SSLC_DefaultClientCert { SSLC_DefaultClientCert_ClCertA = 0x40 + }
     
    enum  {
    +  SSLCOPT_Default = 0 +,
    +  SSLCOPT_DisableVerify = BIT(9) +,
    +  SSLCOPT_TLSv10 = BIT(11) +
    + }
     sslc options. https://www.3dbrew.org/wiki/SSL_Services#SSLOpt
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    +Result sslcInit (Handle session_handle)
     Initializes SSLC. Normally session_handle should be 0. When non-zero this will use the specified handle for the main-service-session without using the Initialize command, instead of using srvGetServiceHandle.
     
    +void sslcExit (void)
     Exits SSLC.
     
    Result sslcCreateRootCertChain (u32 *RootCertChain_contexthandle)
     Creates a RootCertChain. More...
     
    Result sslcDestroyRootCertChain (u32 RootCertChain_contexthandle)
     Destroys a RootCertChain. More...
     
    Result sslcAddTrustedRootCA (u32 RootCertChain_contexthandle, const u8 *cert, u32 certsize, u32 *cert_contexthandle)
     Adds a trusted RootCA cert to a RootCertChain. More...
     
    Result sslcRootCertChainAddDefaultCert (u32 RootCertChain_contexthandle, SSLC_DefaultRootCert certID, u32 *cert_contexthandle)
     Adds a default RootCA cert to a RootCertChain. More...
     
    Result sslcRootCertChainRemoveCert (u32 RootCertChain_contexthandle, u32 cert_contexthandle)
     Removes the specified cert from the RootCertChain. More...
     
    Result sslcCreate8CertChain (u32 *CertChain_contexthandle)
     Creates an unknown CertChain. More...
     
    Result sslcDestroy8CertChain (u32 CertChain_contexthandle)
     Destroys a CertChain from sslcCreate8CertChain(). More...
     
    Result sslc8CertChainAddCert (u32 CertChain_contexthandle, const u8 *cert, u32 certsize, u32 *cert_contexthandle)
     Adds a cert to a CertChain from sslcCreate8CertChain(). More...
     
    Result sslc8CertChainAddDefaultCert (u32 CertChain_contexthandle, u8 certID, u32 *cert_contexthandle)
     Adds a default cert to a CertChain from sslcCreate8CertChain(). More...
     
    Result sslc8CertChainRemoveCert (u32 CertChain_contexthandle, u32 cert_contexthandle)
     Removes the specified cert from the CertChain from sslcCreate8CertChain(). More...
     
    Result sslcOpenClientCertContext (const u8 *cert, u32 certsize, const u8 *key, u32 keysize, u32 *ClientCert_contexthandle)
     Opens a new ClientCert-context. More...
     
    Result sslcOpenDefaultClientCertContext (SSLC_DefaultClientCert certID, u32 *ClientCert_contexthandle)
     Opens a ClientCert-context with a default certID. More...
     
    Result sslcCloseClientCertContext (u32 ClientCert_contexthandle)
     Closes the specified ClientCert-context. More...
     
    +Result sslcSeedRNG (void)
     This uses ps:ps SeedRNG internally.
     
    Result sslcGenerateRandomData (u8 *buf, u32 size)
     This uses ps:ps GenerateRandomData internally. More...
     
    Result sslcCreateContext (sslcContext *context, int sockfd, u32 input_opt, const char *hostname)
     Creates a sslc context. More...
     
    +Result sslcDestroyContext (sslcContext *context)
     
    +Result sslcStartConnection (sslcContext *context, int *internal_retval, u32 *out)
     
    +Result sslcRead (sslcContext *context, void *buf, size_t len, bool peek)
     
    +Result sslcWrite (sslcContext *context, const void *buf, size_t len)
     
    +Result sslcContextSetRootCertChain (sslcContext *context, u32 handle)
     
    +Result sslcContextSetClientCert (sslcContext *context, u32 handle)
     
    +Result sslcContextSetHandle8 (sslcContext *context, u32 handle)
     
    +Result sslcContextClearOpt (sslcContext *context, u32 bitmask)
     
    +Result sslcContextGetProtocolCipher (sslcContext *context, char *outprotocols, u32 outprotocols_maxsize, char *outcipher, u32 outcipher_maxsize)
     
    +Result sslcContextGetState (sslcContext *context, u32 *out)
     
    +Result sslcContextInitSharedmem (sslcContext *context, u8 *buf, u32 size)
     
    +Result sslcAddCert (sslcContext *context, const u8 *buf, u32 size)
     
    +

    Detailed Description

    +

    Function Documentation

    + +

    ◆ sslc8CertChainAddCert()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result sslc8CertChainAddCert (u32 CertChain_contexthandle,
    const u8cert,
    u32 certsize,
    u32cert_contexthandle 
    )
    +
    + +

    Adds a cert to a CertChain from sslcCreate8CertChain().

    +
    Parameters
    + + + + +
    CertChain_contexthandleCertChain to use.
    certPointer to the cert.
    certsizeSize of the cert.
    +
    +
    + +
    +
    + +

    ◆ sslc8CertChainAddDefaultCert()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result sslc8CertChainAddDefaultCert (u32 CertChain_contexthandle,
    u8 certID,
    u32cert_contexthandle 
    )
    +
    + +

    Adds a default cert to a CertChain from sslcCreate8CertChain().

    +

    Not actually usable since no certIDs are implemented in SSL-module for this.

    Parameters
    + + + + +
    CertChain_contexthandleCertChain to use.
    certIDID of the cert to add.
    cert_contexthandleOptional, the cert contexthandle can be written here.
    +
    +
    + +
    +
    + +

    ◆ sslc8CertChainRemoveCert()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result sslc8CertChainRemoveCert (u32 CertChain_contexthandle,
    u32 cert_contexthandle 
    )
    +
    + +

    Removes the specified cert from the CertChain from sslcCreate8CertChain().

    +
    Parameters
    + + + +
    CertChain_contexthandleCertChain to use.
    cert_contexthandleCert contexthandle to remove from the CertChain.
    +
    +
    + +
    +
    + +

    ◆ sslcAddTrustedRootCA()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result sslcAddTrustedRootCA (u32 RootCertChain_contexthandle,
    const u8cert,
    u32 certsize,
    u32cert_contexthandle 
    )
    +
    + +

    Adds a trusted RootCA cert to a RootCertChain.

    +
    Parameters
    + + + + +
    RootCertChain_contexthandleRootCertChain to use.
    certPointer to the DER cert.
    certsizeSize of the DER cert.
    +
    +
    +
    Examples
    network/sslc/source/ssl.c.
    +
    + +
    +
    + +

    ◆ sslcCloseClientCertContext()

    + +
    +
    + + + + + + + + +
    Result sslcCloseClientCertContext (u32 ClientCert_contexthandle)
    +
    + +

    Closes the specified ClientCert-context.

    +
    Parameters
    + + +
    ClientCert_contexthandleClientCert-context to use.
    +
    +
    + +
    +
    + +

    ◆ sslcCreate8CertChain()

    + +
    +
    + + + + + + + + +
    Result sslcCreate8CertChain (u32CertChain_contexthandle)
    +
    + +

    Creates an unknown CertChain.

    +
    Parameters
    + + +
    CertChain_contexthandleOutput contexthandle.
    +
    +
    + +
    +
    + +

    ◆ sslcCreateContext()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result sslcCreateContext (sslcContextcontext,
    int sockfd,
    u32 input_opt,
    const char * hostname 
    )
    +
    + +

    Creates a sslc context.

    +
    Parameters
    + + + + + +
    contextsslc context.
    sockfdSocket fd, this code automatically uses the required SOC command before using the actual sslc command.
    input_optInput sslc options bitmask.
    hostnameServer hostname.
    +
    +
    +
    Examples
    network/sslc/source/ssl.c.
    +
    + +
    +
    + +

    ◆ sslcCreateRootCertChain()

    + +
    +
    + + + + + + + + +
    Result sslcCreateRootCertChain (u32RootCertChain_contexthandle)
    +
    + +

    Creates a RootCertChain.

    +
    Parameters
    + + +
    RootCertChain_contexthandleOutput contexthandle.
    +
    +
    +
    Examples
    network/sslc/source/ssl.c.
    +
    + +
    +
    + +

    ◆ sslcDestroy8CertChain()

    + +
    +
    + + + + + + + + +
    Result sslcDestroy8CertChain (u32 CertChain_contexthandle)
    +
    + +

    Destroys a CertChain from sslcCreate8CertChain().

    +
    Parameters
    + + +
    CertChain_contexthandleCertChain contexthandle.
    +
    +
    + +
    +
    + +

    ◆ sslcDestroyRootCertChain()

    + +
    +
    + + + + + + + + +
    Result sslcDestroyRootCertChain (u32 RootCertChain_contexthandle)
    +
    + +

    Destroys a RootCertChain.

    +
    Parameters
    + + +
    RootCertChain_contexthandleRootCertChain contexthandle.
    +
    +
    +
    Examples
    network/sslc/source/ssl.c.
    +
    + +
    +
    + +

    ◆ sslcGenerateRandomData()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result sslcGenerateRandomData (u8buf,
    u32 size 
    )
    +
    + +

    This uses ps:ps GenerateRandomData internally.

    +
    Parameters
    + + + +
    bufOutput buffer.
    sizeOutput size.
    +
    +
    + +
    +
    + +

    ◆ sslcOpenClientCertContext()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result sslcOpenClientCertContext (const u8cert,
    u32 certsize,
    const u8key,
    u32 keysize,
    u32ClientCert_contexthandle 
    )
    +
    + +

    Opens a new ClientCert-context.

    +
    Parameters
    + + + + + + +
    certPointer to the DER cert.
    certsizeSize of the DER cert.
    keyPointer to the DER key.
    keysizeSize of the DER key.
    ClientCert_contexthandleOutput contexthandle.
    +
    +
    + +
    +
    + +

    ◆ sslcOpenDefaultClientCertContext()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result sslcOpenDefaultClientCertContext (SSLC_DefaultClientCert certID,
    u32ClientCert_contexthandle 
    )
    +
    + +

    Opens a ClientCert-context with a default certID.

    +
    Parameters
    + + + +
    certIDID of the ClientCert to use.
    ClientCert_contexthandleOutput contexthandle.
    +
    +
    + +
    +
    + +

    ◆ sslcRootCertChainAddDefaultCert()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result sslcRootCertChainAddDefaultCert (u32 RootCertChain_contexthandle,
    SSLC_DefaultRootCert certID,
    u32cert_contexthandle 
    )
    +
    + +

    Adds a default RootCA cert to a RootCertChain.

    +
    Parameters
    + + + + +
    RootCertChain_contexthandleRootCertChain to use.
    certIDID of the cert to add.
    cert_contexthandleOptional, the cert contexthandle can be written here.
    +
    +
    + +
    +
    + +

    ◆ sslcRootCertChainRemoveCert()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result sslcRootCertChainRemoveCert (u32 RootCertChain_contexthandle,
    u32 cert_contexthandle 
    )
    +
    + +

    Removes the specified cert from the RootCertChain.

    +
    Parameters
    + + + +
    RootCertChain_contexthandleRootCertChain to use.
    cert_contexthandleCert contexthandle to remove from the RootCertChain.
    +
    +
    + +
    +
    +
    + + + + diff --git a/sslc_8h_source.html b/sslc_8h_source.html new file mode 100644 index 000000000..97bcf440e --- /dev/null +++ b/sslc_8h_source.html @@ -0,0 +1,356 @@ + + + + + + + +libctru: include/3ds/services/sslc.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    sslc.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file sslc.h
    +
    3  * @brief SSLC(TLS) service. https://3dbrew.org/wiki/SSL_Services
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 /// sslc context.
    +
    8 typedef struct {
    +
    9  Handle servhandle; ///< Service handle.
    +
    10  u32 sslchandle; ///< SSLC handle.
    +
    11  Handle sharedmem_handle;
    +
    12 } sslcContext;
    +
    13 
    +
    14 typedef enum {
    +
    15  SSLC_DefaultRootCert_Nintendo_CA = 0x1, //"Nintendo CA"
    +
    16  SSLC_DefaultRootCert_Nintendo_CA_G2 = 0x2, //"Nintendo CA - G2"
    +
    17  SSLC_DefaultRootCert_Nintendo_CA_G3 = 0x3, //"Nintendo CA - G3"
    +
    18  SSLC_DefaultRootCert_Nintendo_Class2_CA = 0x4, //"Nintendo Class 2 CA"
    +
    19  SSLC_DefaultRootCert_Nintendo_Class2_CA_G2 = 0x5, //"Nintendo Class 2 CA - G2"
    +
    20  SSLC_DefaultRootCert_Nintendo_Class2_CA_G3 = 0x6, //"Nintendo Class 2 CA - G3"
    +
    21  SSLC_DefaultRootCert_CyberTrust = 0x7, //"GTE CyberTrust Global Root"
    +
    22  SSLC_DefaultRootCert_AddTrust_External_CA = 0x8, //"AddTrust External CA Root"
    +
    23  SSLC_DefaultRootCert_COMODO = 0x9, //"COMODO RSA Certification Authority"
    +
    24  SSLC_DefaultRootCert_USERTrust = 0xA, //"USERTrust RSA Certification Authority"
    +
    25  SSLC_DefaultRootCert_DigiCert_EV = 0xB //"DigiCert High Assurance EV Root CA"
    +
    26 } SSLC_DefaultRootCert;
    +
    27 
    +
    28 typedef enum {
    +
    29  SSLC_DefaultClientCert_ClCertA = 0x40
    +
    30 } SSLC_DefaultClientCert;
    +
    31 
    +
    32 /// sslc options. https://www.3dbrew.org/wiki/SSL_Services#SSLOpt
    +
    33 enum {
    +
    34  SSLCOPT_Default = 0,
    +
    35  SSLCOPT_DisableVerify = BIT(9), // "Disables server cert verification when set."
    +
    36  SSLCOPT_TLSv10 = BIT(11) // "Use TLSv1.0."
    +
    37 };
    +
    38 
    +
    39 /// Initializes SSLC. Normally session_handle should be 0. When non-zero this will use the specified handle for the main-service-session without using the Initialize command, instead of using srvGetServiceHandle.
    +
    40 Result sslcInit(Handle session_handle);
    +
    41 
    +
    42 /// Exits SSLC.
    +
    43 void sslcExit(void);
    +
    44 
    +
    45 /**
    +
    46  * @brief Creates a RootCertChain.
    +
    47  * @param RootCertChain_contexthandle Output contexthandle.
    +
    48  */
    +
    49 Result sslcCreateRootCertChain(u32 *RootCertChain_contexthandle);
    +
    50 
    +
    51 /**
    +
    52  * @brief Destroys a RootCertChain.
    +
    53  * @param RootCertChain_contexthandle RootCertChain contexthandle.
    +
    54  */
    +
    55 Result sslcDestroyRootCertChain(u32 RootCertChain_contexthandle);
    +
    56 
    +
    57 /**
    +
    58  * @brief Adds a trusted RootCA cert to a RootCertChain.
    +
    59  * @param RootCertChain_contexthandle RootCertChain to use.
    +
    60  * @param cert Pointer to the DER cert.
    +
    61  * @param certsize Size of the DER cert.
    +
    62  */
    +
    63 Result sslcAddTrustedRootCA(u32 RootCertChain_contexthandle, const u8 *cert, u32 certsize, u32 *cert_contexthandle);
    +
    64 
    +
    65 /**
    +
    66  * @brief Adds a default RootCA cert to a RootCertChain.
    +
    67  * @param RootCertChain_contexthandle RootCertChain to use.
    +
    68  * @param certID ID of the cert to add.
    +
    69  * @param cert_contexthandle Optional, the cert contexthandle can be written here.
    +
    70  */
    +
    71 Result sslcRootCertChainAddDefaultCert(u32 RootCertChain_contexthandle, SSLC_DefaultRootCert certID, u32 *cert_contexthandle);
    +
    72 
    +
    73 /**
    +
    74  * @brief Removes the specified cert from the RootCertChain.
    +
    75  * @param RootCertChain_contexthandle RootCertChain to use.
    +
    76  * @param cert_contexthandle Cert contexthandle to remove from the RootCertChain.
    +
    77  */
    +
    78 Result sslcRootCertChainRemoveCert(u32 RootCertChain_contexthandle, u32 cert_contexthandle);
    +
    79 
    +
    80 /**
    +
    81  * @brief Creates an unknown CertChain.
    +
    82  * @param CertChain_contexthandle Output contexthandle.
    +
    83  */
    +
    84 Result sslcCreate8CertChain(u32 *CertChain_contexthandle);
    +
    85 
    +
    86 /**
    +
    87  * @brief Destroys a CertChain from sslcCreate8CertChain().
    +
    88  * @param CertChain_contexthandle CertChain contexthandle.
    +
    89  */
    +
    90 Result sslcDestroy8CertChain(u32 CertChain_contexthandle);
    +
    91 
    +
    92 /**
    +
    93  * @brief Adds a cert to a CertChain from sslcCreate8CertChain().
    +
    94  * @param CertChain_contexthandle CertChain to use.
    +
    95  * @param cert Pointer to the cert.
    +
    96  * @param certsize Size of the cert.
    +
    97  */
    +
    98 Result sslc8CertChainAddCert(u32 CertChain_contexthandle, const u8 *cert, u32 certsize, u32 *cert_contexthandle);
    +
    99 
    +
    100 /**
    +
    101  * @brief Adds a default cert to a CertChain from sslcCreate8CertChain(). Not actually usable since no certIDs are implemented in SSL-module for this.
    +
    102  * @param CertChain_contexthandle CertChain to use.
    +
    103  * @param certID ID of the cert to add.
    +
    104  * @param cert_contexthandle Optional, the cert contexthandle can be written here.
    +
    105  */
    +
    106 Result sslc8CertChainAddDefaultCert(u32 CertChain_contexthandle, u8 certID, u32 *cert_contexthandle);
    +
    107 
    +
    108 /**
    +
    109  * @brief Removes the specified cert from the CertChain from sslcCreate8CertChain().
    +
    110  * @param CertChain_contexthandle CertChain to use.
    +
    111  * @param cert_contexthandle Cert contexthandle to remove from the CertChain.
    +
    112  */
    +
    113 Result sslc8CertChainRemoveCert(u32 CertChain_contexthandle, u32 cert_contexthandle);
    +
    114 
    +
    115 /**
    +
    116  * @brief Opens a new ClientCert-context.
    +
    117  * @param cert Pointer to the DER cert.
    +
    118  * @param certsize Size of the DER cert.
    +
    119  * @param key Pointer to the DER key.
    +
    120  * @param keysize Size of the DER key.
    +
    121  * @param ClientCert_contexthandle Output contexthandle.
    +
    122  */
    +
    123 Result sslcOpenClientCertContext(const u8 *cert, u32 certsize, const u8 *key, u32 keysize, u32 *ClientCert_contexthandle);
    +
    124 
    +
    125 /**
    +
    126  * @brief Opens a ClientCert-context with a default certID.
    +
    127  * @param certID ID of the ClientCert to use.
    +
    128  * @param ClientCert_contexthandle Output contexthandle.
    +
    129  */
    +
    130 Result sslcOpenDefaultClientCertContext(SSLC_DefaultClientCert certID, u32 *ClientCert_contexthandle);
    +
    131 
    +
    132 /**
    +
    133  * @brief Closes the specified ClientCert-context.
    +
    134  * @param ClientCert_contexthandle ClientCert-context to use.
    +
    135  */
    +
    136 Result sslcCloseClientCertContext(u32 ClientCert_contexthandle);
    +
    137 
    +
    138 /**
    +
    139  * @brief This uses ps:ps SeedRNG internally.
    +
    140  */
    + +
    142 
    +
    143 /**
    +
    144  * @brief This uses ps:ps GenerateRandomData internally.
    +
    145  * @param buf Output buffer.
    +
    146  * @param size Output size.
    +
    147  */
    + +
    149 
    +
    150 /**
    +
    151  * @brief Creates a sslc context.
    +
    152  * @param context sslc context.
    +
    153  * @param sockfd Socket fd, this code automatically uses the required SOC command before using the actual sslc command.
    +
    154  * @param input_opt Input sslc options bitmask.
    +
    155  * @param hostname Server hostname.
    +
    156  */
    +
    157 Result sslcCreateContext(sslcContext *context, int sockfd, u32 input_opt, const char *hostname);
    +
    158 
    +
    159 /*
    +
    160  * @brief Destroys a sslc context. The associated sockfd must be closed manually.
    +
    161  * @param context sslc context.
    +
    162  */
    +
    163 Result sslcDestroyContext(sslcContext *context);
    +
    164 
    +
    165 /*
    +
    166  * @brief Starts the TLS connection. If successful, this will not return until the connection is ready for data-transfer via sslcRead/sslcWrite.
    +
    167  * @param context sslc context.
    +
    168  * @param internal_retval Optional ptr where the internal_retval will be written. The value is only copied to here by this function when no error occurred.
    +
    169  * @param out Optional ptr where an output u32 will be written. The value is only copied to here by this function when no error occurred.
    +
    170  */
    +
    171 Result sslcStartConnection(sslcContext *context, int *internal_retval, u32 *out);
    +
    172 
    +
    173 /*
    +
    174  * @brief Receive data over the network connection.
    +
    175  * @param context sslc context.
    +
    176  * @param buf Output buffer.
    +
    177  * @param len Size to receive.
    +
    178  * @param peek When true, this is equivalent to setting the recv() MSG_PEEK flag.
    +
    179  * @return When this isn't an error-code, this is the total transferred data size.
    +
    180  */
    +
    181 Result sslcRead(sslcContext *context, void *buf, size_t len, bool peek);
    +
    182 
    +
    183 /*
    +
    184  * @brief Send data over the network connection.
    +
    185  * @param context sslc context.
    +
    186  * @param buf Input buffer.
    +
    187  * @param len Size to send.
    +
    188  * @return When this isn't an error-code, this is the total transferred data size.
    +
    189  */
    +
    190 Result sslcWrite(sslcContext *context, const void *buf, size_t len);
    +
    191 
    +
    192 /*
    +
    193  * @brief Set the RootCertChain for the specified sslc context.
    +
    194  * @param context sslc context.
    +
    195  * @param handle RootCertChain contexthandle.
    +
    196  */
    +
    197 Result sslcContextSetRootCertChain(sslcContext *context, u32 handle);
    +
    198 
    +
    199 /*
    +
    200  * @brief Set the ClientCert-context for the specified sslc context.
    +
    201  * @param context sslc context.
    +
    202  * @param handle ClientCert contexthandle.
    +
    203  */
    +
    204 Result sslcContextSetClientCert(sslcContext *context, u32 handle);
    +
    205 
    +
    206 /*
    +
    207  * @brief Set the context for a CertChain from sslcCreate8CertChain(), for the specified sslc context. This needs updated once it's known what this context is for.
    +
    208  * @param context sslc context.
    +
    209  * @param handle contexthandle.
    +
    210  */
    +
    211 Result sslcContextSetHandle8(sslcContext *context, u32 handle);
    +
    212 
    +
    213 /*
    +
    214  * @brief Clears the options field bits for the context using the specified bitmask.
    +
    215  * @param context sslc context.
    +
    216  * @param bitmask opt bitmask.
    +
    217  */
    +
    218 Result sslcContextClearOpt(sslcContext *context, u32 bitmask);
    +
    219 
    +
    220 /*
    +
    221  * @brief This copies two strings from context state to the specified output buffers. Each string is only copied if it was successfully loaded. The maxsizes include the nul-terminator. This can only be used if sslcStartConnection() was already used successfully.
    +
    222  * @param context sslc context.
    +
    223  * @param outprotocols Output buffer for a string containing all protocol versions supported by SSL-module.
    +
    224  * @param outprotocols_maxsize Max size of the above output buffer.
    +
    225  * @param outcipher Output buffer for a string containing the cipher suite currently being used.
    +
    226  * @param outcipher_maxsize Max size of the above output buffer.
    +
    227  */
    +
    228 Result sslcContextGetProtocolCipher(sslcContext *context, char *outprotocols, u32 outprotocols_maxsize, char *outcipher, u32 outcipher_maxsize);
    +
    229 
    +
    230 /*
    +
    231  * @brief This loads an u32 from the specified context state. This needs updated once it's known what this field is for.
    +
    232  * @param context sslc context.
    +
    233  * @param out Output ptr to write the value to.
    +
    234  */
    +
    235 Result sslcContextGetState(sslcContext *context, u32 *out);
    +
    236 
    +
    237 /*
    +
    238  * @brief This initializes sharedmem for the specified context.
    +
    239  * @param context sslc context.
    +
    240  * @param buf Sharedmem buffer with address aligned to 0x1000-bytes.
    +
    241  * @param size Sharedmem size aligned to 0x1000-bytes.
    +
    242  */
    +
    243 Result sslcContextInitSharedmem(sslcContext *context, u8 *buf, u32 size);
    +
    244 
    +
    245 /*
    +
    246  * @brief This loads the specified cert. This needs updated once it's known what the cert format is and what the cert is used for later.
    +
    247  * @param buf Input cert.
    +
    248  * @param size Cert size.
    +
    249  */
    +
    250 Result sslcAddCert(sslcContext *context, const u8 *buf, u32 size);
    +
    251 
    +
    Result sslcSeedRNG(void)
    This uses ps:ps SeedRNG internally.
    +
    void sslcExit(void)
    Exits SSLC.
    +
    Result sslcCloseClientCertContext(u32 ClientCert_contexthandle)
    Closes the specified ClientCert-context.
    +
    Result sslcGenerateRandomData(u8 *buf, u32 size)
    This uses ps:ps GenerateRandomData internally.
    +
    Result sslcCreateContext(sslcContext *context, int sockfd, u32 input_opt, const char *hostname)
    Creates a sslc context.
    +
    Result sslcDestroy8CertChain(u32 CertChain_contexthandle)
    Destroys a CertChain from sslcCreate8CertChain().
    +
    Result sslc8CertChainAddDefaultCert(u32 CertChain_contexthandle, u8 certID, u32 *cert_contexthandle)
    Adds a default cert to a CertChain from sslcCreate8CertChain().
    +
    Result sslcInit(Handle session_handle)
    Initializes SSLC. Normally session_handle should be 0. When non-zero this will use the specified hand...
    +
    Result sslcOpenClientCertContext(const u8 *cert, u32 certsize, const u8 *key, u32 keysize, u32 *ClientCert_contexthandle)
    Opens a new ClientCert-context.
    +
    Result sslcRootCertChainAddDefaultCert(u32 RootCertChain_contexthandle, SSLC_DefaultRootCert certID, u32 *cert_contexthandle)
    Adds a default RootCA cert to a RootCertChain.
    +
    Result sslcCreate8CertChain(u32 *CertChain_contexthandle)
    Creates an unknown CertChain.
    +
    Result sslcCreateRootCertChain(u32 *RootCertChain_contexthandle)
    Creates a RootCertChain.
    +
    Result sslcRootCertChainRemoveCert(u32 RootCertChain_contexthandle, u32 cert_contexthandle)
    Removes the specified cert from the RootCertChain.
    +
    Result sslcAddTrustedRootCA(u32 RootCertChain_contexthandle, const u8 *cert, u32 certsize, u32 *cert_contexthandle)
    Adds a trusted RootCA cert to a RootCertChain.
    +
    Result sslc8CertChainRemoveCert(u32 CertChain_contexthandle, u32 cert_contexthandle)
    Removes the specified cert from the CertChain from sslcCreate8CertChain().
    +
    Result sslcDestroyRootCertChain(u32 RootCertChain_contexthandle)
    Destroys a RootCertChain.
    +
    Result sslc8CertChainAddCert(u32 CertChain_contexthandle, const u8 *cert, u32 certsize, u32 *cert_contexthandle)
    Adds a cert to a CertChain from sslcCreate8CertChain().
    +
    Result sslcOpenDefaultClientCertContext(SSLC_DefaultClientCert certID, u32 *ClientCert_contexthandle)
    Opens a ClientCert-context with a default certID.
    +
    sslc context.
    Definition: sslc.h:8
    +
    Handle servhandle
    Service handle.
    Definition: sslc.h:9
    +
    u32 sslchandle
    SSLC handle.
    Definition: sslc.h:10
    +
    #define BIT(n)
    Creates a bitmask from a bit number.
    Definition: types.h:47
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/structAM__ContentInfo.html b/structAM__ContentInfo.html new file mode 100644 index 000000000..2ab069c0a --- /dev/null +++ b/structAM__ContentInfo.html @@ -0,0 +1,115 @@ + + + + + + + +libctru: AM_ContentInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    AM_ContentInfo Struct Reference
    +
    +
    + +

    Contains information about a title's content. + More...

    + +

    #include <am.h>

    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u16 index
     Index of the content in the title.
     
    +u16 type
     ?
     
    +u32 contentId
     ID of the content in the title.
     
    +u64 size
     Size of the content in the title.
     
    +u8 flags
     AM_ContentInfoFlags
     
    +u8 padding [7]
     Padding.
     
    +

    Detailed Description

    +

    Contains information about a title's content.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/am.h
    • +
    +
    + + + + diff --git a/structAM__PendingTitleEntry.html b/structAM__PendingTitleEntry.html new file mode 100644 index 000000000..3847586b0 --- /dev/null +++ b/structAM__PendingTitleEntry.html @@ -0,0 +1,104 @@ + + + + + + + +libctru: AM_PendingTitleEntry Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    AM_PendingTitleEntry Struct Reference
    +
    +
    + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u64 titleId
     Title ID.
     
    +u16 version
     Version.
     
    +u16 status
     AM_InstallStatus
     
    +u32 titleType
     Title Type.
     
    +u8 unk [0x8]
     Unknown.
     
    +
    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/am.h
    • +
    +
    + + + + diff --git a/structAM__TWLPartitionInfo.html b/structAM__TWLPartitionInfo.html new file mode 100644 index 000000000..bbc655f44 --- /dev/null +++ b/structAM__TWLPartitionInfo.html @@ -0,0 +1,107 @@ + + + + + + + +libctru: AM_TWLPartitionInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    AM_TWLPartitionInfo Struct Reference
    +
    +
    + +

    Information about the TWL NAND partition. + More...

    + +

    #include <am.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +u64 capacity
     Total capacity.
     
    +u64 freeSpace
     Total free space.
     
    +u64 titlesCapacity
     Capacity for titles.
     
    +u64 titlesFreeSpace
     Free space for titles.
     
    +

    Detailed Description

    +

    Information about the TWL NAND partition.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/am.h
    • +
    +
    + + + + diff --git a/structAM__TitleEntry.html b/structAM__TitleEntry.html new file mode 100644 index 000000000..858e2107f --- /dev/null +++ b/structAM__TitleEntry.html @@ -0,0 +1,107 @@ + + + + + + + +libctru: AM_TitleEntry Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    AM_TitleEntry Struct Reference
    +
    +
    + +

    Contains basic information about a title. + More...

    + +

    #include <am.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +u64 titleID
     The title's ID.
     
    +u64 size
     The title's installed size.
     
    +u16 version
     The title's version.
     
    +u8 unk [6]
     Unknown title data.
     
    +

    Detailed Description

    +

    Contains basic information about a title.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/am.h
    • +
    +
    + + + + diff --git a/structAttachProcessEvent.html b/structAttachProcessEvent.html new file mode 100644 index 000000000..5b20c1e56 --- /dev/null +++ b/structAttachProcessEvent.html @@ -0,0 +1,107 @@ + + + + + + + +libctru: AttachProcessEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    AttachProcessEvent Struct Reference
    +
    +
    + +

    Event relating to the attachment of a process. + More...

    + +

    #include <svc.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +u64 program_id
     ID of the program.
     
    +char process_name [8]
     Name of the process.
     
    +u32 process_id
     ID of the process.
     
    +u32 other_flags
     Always 0.
     
    +

    Detailed Description

    +

    Event relating to the attachment of a process.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structAttachThreadEvent.html b/structAttachThreadEvent.html new file mode 100644 index 000000000..a61484bf9 --- /dev/null +++ b/structAttachThreadEvent.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: AttachThreadEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    AttachThreadEvent Struct Reference
    +
    +
    + +

    Event relating to the attachment of a thread. + More...

    + +

    #include <svc.h>

    + + + + + + + + + + + +

    +Data Fields

    +u32 creator_thread_id
     ID of the creating thread.
     
    +u32 thread_local_storage
     Thread local storage.
     
    +u32 entry_point
     Entry point of the thread.
     
    +

    Detailed Description

    +

    Event relating to the attachment of a thread.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structCAMU__ImageQualityCalibrationData.html b/structCAMU__ImageQualityCalibrationData.html new file mode 100644 index 000000000..41745a368 --- /dev/null +++ b/structCAMU__ImageQualityCalibrationData.html @@ -0,0 +1,135 @@ + + + + + + + +libctru: CAMU_ImageQualityCalibrationData Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    CAMU_ImageQualityCalibrationData Struct Reference
    +
    +
    + +

    Image quality calibration data. + More...

    + +

    #include <cam.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +s16 aeBaseTarget
     Auto exposure base target brightness.
     
    +s16 kRL
     Left color correction matrix red normalization coefficient.
     
    +s16 kGL
     Left color correction matrix green normalization coefficient.
     
    +s16 kBL
     Left color correction matrix blue normalization coefficient.
     
    +s16 ccmPosition
     Color correction matrix position.
     
    +u16 awbCcmL9Right
     Right camera, left color correction matrix red/green gain.
     
    +u16 awbCcmL9Left
     Left camera, left color correction matrix red/green gain.
     
    +u16 awbCcmL10Right
     Right camera, left color correction matrix blue/green gain.
     
    +u16 awbCcmL10Left
     Left camera, left color correction matrix blue/green gain.
     
    +u16 awbX0Right
     Right camera, color correction matrix position threshold.
     
    +u16 awbX0Left
     Left camera, color correction matrix position threshold.
     
    +

    Detailed Description

    +

    Image quality calibration data.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/cam.h
    • +
    +
    + + + + diff --git a/structCAMU__PackageParameterCameraSelect.html b/structCAMU__PackageParameterCameraSelect.html new file mode 100644 index 000000000..e369248a4 --- /dev/null +++ b/structCAMU__PackageParameterCameraSelect.html @@ -0,0 +1,171 @@ + + + + + + + +libctru: CAMU_PackageParameterCameraSelect Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    CAMU_PackageParameterCameraSelect Struct Reference
    +
    +
    + +

    Batch camera configuration for use without a context. + More...

    + +

    #include <cam.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u8 camera
     Selected camera.
     
    +s8 exposure
     Camera exposure.
     
    +u8 whiteBalance
     CAMU_WhiteBalance Camera white balance.
     
    +s8 sharpness
     Camera sharpness.
     
    +u8 autoExposureOn
     #bool Whether to automatically determine the proper exposure.
     
    +u8 autoWhiteBalanceOn
     #bool Whether to automatically determine the white balance mode.
     
    +u8 frameRate
     CAMU_FrameRate Camera frame rate.
     
    +u8 photoMode
     CAMU_PhotoMode Camera photo mode.
     
    +u8 contrast
     CAMU_Contrast Camera contrast.
     
    +u8 lensCorrection
     CAMU_LensCorrection Camera lens correction.
     
    +u8 noiseFilterOn
     #bool Whether to enable the camera's noise filter.
     
    +u8 padding
     Padding. (Aligns last 3 fields to 4 bytes)
     
    +s16 autoExposureWindowX
     X of the region to use for auto exposure.
     
    +s16 autoExposureWindowY
     Y of the region to use for auto exposure.
     
    +s16 autoExposureWindowWidth
     Width of the region to use for auto exposure.
     
    +s16 autoExposureWindowHeight
     Height of the region to use for auto exposure.
     
    +s16 autoWhiteBalanceWindowX
     X of the region to use for auto white balance.
     
    +s16 autoWhiteBalanceWindowY
     Y of the region to use for auto white balance.
     
    +s16 autoWhiteBalanceWindowWidth
     Width of the region to use for auto white balance.
     
    +s16 autoWhiteBalanceWindowHeight
     Height of the region to use for auto white balance.
     
    +

    Detailed Description

    +

    Batch camera configuration for use without a context.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/cam.h
    • +
    +
    + + + + diff --git a/structCAMU__PackageParameterContext.html b/structCAMU__PackageParameterContext.html new file mode 100644 index 000000000..f654ad8f5 --- /dev/null +++ b/structCAMU__PackageParameterContext.html @@ -0,0 +1,111 @@ + + + + + + + +libctru: CAMU_PackageParameterContext Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    CAMU_PackageParameterContext Struct Reference
    +
    +
    + +

    Batch camera configuration for use with a context. + More...

    + +

    #include <cam.h>

    + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u8 camera
     Selected camera.
     
    +u8 context
     CAMU_Context Selected context.
     
    +u8 flip
     CAMU_Flip Camera image flip mode.
     
    +u8 effect
     CAMU_Effect Camera image special effects.
     
    +u8 size
     CAMU_Size Camera image resolution.
     
    +

    Detailed Description

    +

    Batch camera configuration for use with a context.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/cam.h
    • +
    +
    + + + + diff --git a/structCAMU__PackageParameterContextDetail.html b/structCAMU__PackageParameterContextDetail.html new file mode 100644 index 000000000..41b0b5689 --- /dev/null +++ b/structCAMU__PackageParameterContextDetail.html @@ -0,0 +1,131 @@ + + + + + + + +libctru: CAMU_PackageParameterContextDetail Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    CAMU_PackageParameterContextDetail Struct Reference
    +
    +
    + +

    Batch camera configuration for use with a context and with detailed size information. + More...

    + +

    #include <cam.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u8 camera
     Selected camera.
     
    +u8 context
     CAMU_Context Selected context.
     
    +u8 flip
     CAMU_Flip Camera image flip mode.
     
    +u8 effect
     CAMU_Effect Camera image special effects.
     
    +s16 width
     Image width.
     
    +s16 height
     Image height.
     
    +s16 cropX0
     First crop point X.
     
    +s16 cropY0
     First crop point Y.
     
    +s16 cropX1
     Second crop point X.
     
    +s16 cropY1
     Second crop point Y.
     
    +

    Detailed Description

    +

    Batch camera configuration for use with a context and with detailed size information.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/cam.h
    • +
    +
    + + + + diff --git a/structCAMU__StereoCameraCalibrationData.html b/structCAMU__StereoCameraCalibrationData.html new file mode 100644 index 000000000..57bafbf0c --- /dev/null +++ b/structCAMU__StereoCameraCalibrationData.html @@ -0,0 +1,151 @@ + + + + + + + +libctru: CAMU_StereoCameraCalibrationData Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    CAMU_StereoCameraCalibrationData Struct Reference
    +
    +
    + +

    Stereo camera calibration data. + More...

    + +

    #include <cam.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u8 isValidRotationXY
     #bool Whether the X and Y rotation data is valid.
     
    +u8 padding [3]
     Padding. (Aligns isValidRotationXY to 4 bytes)
     
    +float scale
     Scale to match the left camera image with the right.
     
    +float rotationZ
     Z axis rotation to match the left camera image with the right.
     
    +float translationX
     X axis translation to match the left camera image with the right.
     
    +float translationY
     Y axis translation to match the left camera image with the right.
     
    +float rotationX
     X axis rotation to match the left camera image with the right.
     
    +float rotationY
     Y axis rotation to match the left camera image with the right.
     
    +float angleOfViewRight
     Right camera angle of view.
     
    +float angleOfViewLeft
     Left camera angle of view.
     
    +float distanceToChart
     Distance between cameras and measurement chart.
     
    +float distanceCameras
     Distance between left and right cameras.
     
    +s16 imageWidth
     Image width.
     
    +s16 imageHeight
     Image height.
     
    +u8 reserved [16]
     Reserved for future use. (unused)
     
    +

    Detailed Description

    +

    Stereo camera calibration data.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/cam.h
    • +
    +
    + + + + diff --git a/structCFNT__s.html b/structCFNT__s.html new file mode 100644 index 000000000..159c13b6d --- /dev/null +++ b/structCFNT__s.html @@ -0,0 +1,119 @@ + + + + + + + +libctru: CFNT_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    CFNT_s Struct Reference
    +
    +
    + +

    Font structure. + More...

    + +

    #include <font.h>

    + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 signature
     Signature (CFNU).
     
    +u16 endianness
     Endianness constant (0xFEFF).
     
    +u16 headerSize
     Header size.
     
    +u32 version
     Format version.
     
    +u32 fileSize
     File size.
     
    +u32 nBlocks
     Number of blocks.
     
    +FINF_s finf
     Font information.
     
    +

    Detailed Description

    +

    Font structure.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structCodeSetHeader.html b/structCodeSetHeader.html new file mode 100644 index 000000000..6f4b4564d --- /dev/null +++ b/structCodeSetHeader.html @@ -0,0 +1,147 @@ + + + + + + + +libctru: CodeSetHeader Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    CodeSetHeader Struct Reference
    +
    +
    + +

    Information on address space for process. All sizes are in pages (0x1000 bytes) + More...

    + +

    #include <svc.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u8 name [8]
     ASCII name of codeset.
     
    +u16 version
     Version field of codeset (unused)
     
    +u16 padding [3]
     Padding.
     
    +u32 text_addr
     .text start address
     
    +u32 text_size
     .text number of pages
     
    +u32 ro_addr
     .rodata start address
     
    +u32 ro_size
     .rodata number of pages
     
    +u32 rw_addr
     .data, .bss start address
     
    +u32 rw_size
     .data number of pages
     
    +u32 text_size_total
     total pages for .text (aligned)
     
    +u32 ro_size_total
     total pages for .rodata (aligned)
     
    +u32 rw_size_total
     total pages for .data, .bss (aligned)
     
    +u32 padding2
     Padding.
     
    +u64 program_id
     Program ID.
     
    +

    Detailed Description

    +

    Information on address space for process. All sizes are in pages (0x1000 bytes)

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structConsoleFont.html b/structConsoleFont.html new file mode 100644 index 000000000..088cda067 --- /dev/null +++ b/structConsoleFont.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: ConsoleFont Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ConsoleFont Struct Reference
    +
    +
    + +

    A font struct for the console. + More...

    + +

    #include <console.h>

    + + + + + + + + + + + +

    +Data Fields

    +u8gfx
     A pointer to the font graphics.
     
    +u16 asciiOffset
     Offset to the first valid character in the font table.
     
    +u16 numChars
     Number of characters in the font graphics.
     
    +

    Detailed Description

    +

    A font struct for the console.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structCpuRegisters.html b/structCpuRegisters.html new file mode 100644 index 000000000..1efcebea7 --- /dev/null +++ b/structCpuRegisters.html @@ -0,0 +1,111 @@ + + + + + + + +libctru: CpuRegisters Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    CpuRegisters Struct Reference
    +
    +
    + +

    Structure representing CPU registers. + More...

    + +

    #include <types.h>

    + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 r [13]
     r0-r12.
     
    +u32 sp
     sp.
     
    +u32 lr
     lr.
     
    +u32 pc
     pc. May need to be adjusted.
     
    +u32 cpsr
     cpsr.
     
    +

    Detailed Description

    +

    Structure representing CPU registers.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structDVLB__s.html b/structDVLB__s.html new file mode 100644 index 000000000..98871fa92 --- /dev/null +++ b/structDVLB__s.html @@ -0,0 +1,105 @@ + + + + + + + +libctru: DVLB_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    DVLB_s Struct Reference
    +
    + + + + + diff --git a/structDVLE__constEntry__s.html b/structDVLE__constEntry__s.html new file mode 100644 index 000000000..639ce0532 --- /dev/null +++ b/structDVLE__constEntry__s.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: DVLE_constEntry_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    DVLE_constEntry_s Struct Reference
    +
    +
    + +

    DVLE constant entry data. + More...

    + +

    #include <shbin.h>

    + + + + + + + + + + + +

    +Data Fields

    +u16 type
     Constant type. See DVLE_constantType.
     
    +u16 id
     Constant ID.
     
    +u32 data [4]
     Constant data.
     
    +

    Detailed Description

    +

    DVLE constant entry data.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structDVLE__outEntry__s.html b/structDVLE__outEntry__s.html new file mode 100644 index 000000000..3398c737f --- /dev/null +++ b/structDVLE__outEntry__s.html @@ -0,0 +1,107 @@ + + + + + + + +libctru: DVLE_outEntry_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    DVLE_outEntry_s Struct Reference
    +
    +
    + +

    DVLE output entry data. + More...

    + +

    #include <shbin.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +u16 type
     Output type. See DVLE_outputAttribute_t.
     
    +u16 regID
     Output register ID.
     
    +u8 mask
     Output mask.
     
    +u8 unk [3]
     Unknown.
     
    +

    Detailed Description

    +

    DVLE output entry data.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structDVLE__s.html b/structDVLE__s.html new file mode 100644 index 000000000..dd06f320e --- /dev/null +++ b/structDVLE__s.html @@ -0,0 +1,171 @@ + + + + + + + +libctru: DVLE_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    DVLE_s Struct Reference
    +
    +
    + +

    DVLE data. + More...

    + +

    #include <shbin.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +DVLE_type type
     DVLE type.
     
    +bool mergeOutmaps
     true = merge vertex/geometry shader outmaps ('dummy' output attribute is present).
     
    +DVLE_geoShaderMode gshMode
     Geometry shader operation mode.
     
    +u8 gshFixedVtxStart
     Starting float uniform register number for storing the fixed-size primitive vertex array.
     
    +u8 gshVariableVtxNum
     Number of fully-defined vertices in the variable-size primitive vertex array.
     
    +u8 gshFixedVtxNum
     Number of vertices in the fixed-size primitive vertex array.
     
    +DVLP_sdvlp
     Contained DVLPs.
     
    +u32 mainOffset
     Offset of the start of the main function.
     
    +u32 endmainOffset
     Offset of the end of the main function.
     
    +u32 constTableSize
     Constant table size.
     
    +DVLE_constEntry_sconstTableData
     Constant table data.
     
    +u32 outTableSize
     Output table size.
     
    +DVLE_outEntry_soutTableData
     Output table data.
     
    +u32 uniformTableSize
     Uniform table size.
     
    +DVLE_uniformEntry_suniformTableData
     Uniform table data.
     
    +char * symbolTableData
     Symbol table data.
     
    +u8 outmapMask
     Output map mask.
     
    +u32 outmapData [8]
     Output map data.
     
    +u32 outmapMode
     Output map mode.
     
    +u32 outmapClock
     Output map attribute clock.
     
    +

    Detailed Description

    +

    DVLE data.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structDVLE__uniformEntry__s.html b/structDVLE__uniformEntry__s.html new file mode 100644 index 000000000..915b1c48a --- /dev/null +++ b/structDVLE__uniformEntry__s.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: DVLE_uniformEntry_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    DVLE_uniformEntry_s Struct Reference
    +
    +
    + +

    DVLE uniform entry data. + More...

    + +

    #include <shbin.h>

    + + + + + + + + + + + +

    +Data Fields

    +u32 symbolOffset
     Symbol offset.
     
    +u16 startReg
     Start register.
     
    +u16 endReg
     End register.
     
    +

    Detailed Description

    +

    DVLE uniform entry data.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structDVLP__s.html b/structDVLP__s.html new file mode 100644 index 000000000..c3e3de607 --- /dev/null +++ b/structDVLP__s.html @@ -0,0 +1,107 @@ + + + + + + + +libctru: DVLP_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    DVLP_s Struct Reference
    +
    +
    + +

    DVLP data. + More...

    + +

    #include <shbin.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +u32 codeSize
     Code size.
     
    +u32codeData
     Code data.
     
    +u32 opdescSize
     Operand description size.
     
    +u32opcdescData
     Operand description data.
     
    +

    Detailed Description

    +

    DVLP data.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structDebugEventInfo.html b/structDebugEventInfo.html new file mode 100644 index 000000000..5ad679ca4 --- /dev/null +++ b/structDebugEventInfo.html @@ -0,0 +1,147 @@ + + + + + + + +libctru: DebugEventInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    DebugEventInfo Struct Reference
    +
    +
    + +

    Information about a debug event. + More...

    + +

    #include <svc.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +DebugEventType type
     Type of event. See DebugEventType.
     
    +u32 thread_id
     ID of the thread.
     
    +u32 flags
     Flags. Bit0 means that svcContinueDebugEvent needs to be called for this event (except for EXIT PROCESS events, where this flag is disregarded).
     
    +u8 remnants [4]
     Always 0.
     
    +union {
    +   AttachProcessEvent   attach_process
     Process attachment event data.
     
    +   AttachThreadEvent   attach_thread
     Thread attachment event data.
     
    +   ExitThreadEvent   exit_thread
     Thread exit event data.
     
    +   ExitProcessEvent   exit_process
     Process exit event data.
     
    +   ExceptionEvent   exception
     Exception event data.
     
    +   ScheduleInOutEvent   scheduler
     Schedule in/out event data.
     
    +   SyscallInOutEvent   syscall
     Syscall in/out event data.
     
    +   OutputStringEvent   output_string
     Output string event data.
     
    +   MapEvent   map
     Map event data.
     
    }; 
     
    +

    Detailed Description

    +

    Information about a debug event.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structDebuggerBreakExceptionEvent.html b/structDebuggerBreakExceptionEvent.html new file mode 100644 index 000000000..0de71299d --- /dev/null +++ b/structDebuggerBreakExceptionEvent.html @@ -0,0 +1,95 @@ + + + + + + + +libctru: DebuggerBreakExceptionEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    DebuggerBreakExceptionEvent Struct Reference
    +
    +
    + +

    Event relating to svcBreakDebugProcess. + More...

    + +

    #include <svc.h>

    + + + + + +

    +Data Fields

    +s32 thread_ids [4]
     IDs of the attached process's threads that were running on each core at the time of the svcBreakDebugProcess call, or -1 (only the first 2 values are meaningful on O3DS).
     
    +

    Detailed Description

    +

    Event relating to svcBreakDebugProcess.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structDmaConfig.html b/structDmaConfig.html new file mode 100644 index 000000000..bf41e256c --- /dev/null +++ b/structDmaConfig.html @@ -0,0 +1,114 @@ + + + + + + + +libctru: DmaConfig Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    DmaConfig Struct Reference
    +
    +
    + +

    Configuration stucture for svcStartInterProcessDma. + More...

    + +

    #include <svc.h>

    + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +s8 channelId
     Channel ID (Arm11: 0-7, Arm9: 0-1). Use -1 to auto-assign to a free channel (Arm11: 3-7, Arm9: 0-1).
     
    +s8 endianSwapSize
     Endian swap size (can be 0).
     
    +u8 flags
     DMACFG_* flags.
     
    +u8 _padding
     
    +DmaDeviceConfig srcCfg
     Source device configuration, read if DMACFG_SRC_IS_DEVICE and/or DMACFG_USE_SRC_CONFIG are set.
     
    +DmaDeviceConfig dstCfg
     Destination device configuration, read if DMACFG_SRC_IS_DEVICE and/or DMACFG_USE_SRC_CONFIG are set.
     
    +

    Detailed Description

    +

    Configuration stucture for svcStartInterProcessDma.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structDmaDeviceConfig.html b/structDmaDeviceConfig.html new file mode 100644 index 000000000..5df70d689 --- /dev/null +++ b/structDmaDeviceConfig.html @@ -0,0 +1,120 @@ + + + + + + + +libctru: DmaDeviceConfig Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    DmaDeviceConfig Struct Reference
    +
    +
    + +

    Device configuration structure, part of DmaConfig. + More...

    + +

    #include <svc.h>

    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +s8 deviceId
     DMA device ID.
     
    +s8 allowedAlignments
     Mask of allowed access alignments (8, 4, 2, 1).
     
    +s16 burstSize
     Number of bytes transferred in a burst loop. Can be 0 (in which case the max allowed alignment is used as unit).
     
    +s16 transferSize
     Number of bytes transferred in a "transfer" loop (made of burst loops).
     
    +s16 burstStride
     Burst loop stride, can be <= 0.
     
    +s16 transferStride
     "Transfer" loop stride, can be <= 0.
     
    +

    Detailed Description

    +

    Device configuration structure, part of DmaConfig.

    +
    Note
      +
    • if (and only if) src/dst is a device, then src/dst won't be auto-incremented.
    • +
    • the kernel uses DMAMOV instead of DMAADNH, when having to decrement (possibly working around an erratum); this forces all loops to be unrolled – you need to keep that in mind when using negative increments, as the kernel uses a limit of 100 DMA instruction bytes per channel.
    • +
    +
    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structERRF__ExceptionData.html b/structERRF__ExceptionData.html new file mode 100644 index 000000000..22d8a3d1d --- /dev/null +++ b/structERRF__ExceptionData.html @@ -0,0 +1,92 @@ + + + + + + + +libctru: ERRF_ExceptionData Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ERRF_ExceptionData Struct Reference
    +
    +
    + + + + + + + + +

    +Data Fields

    +ERRF_ExceptionInfo excep
     Exception info struct.
     
    +CpuRegisters regs
     CPU register dump.
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structERRF__ExceptionInfo.html b/structERRF__ExceptionInfo.html new file mode 100644 index 000000000..db27e3b05 --- /dev/null +++ b/structERRF__ExceptionInfo.html @@ -0,0 +1,108 @@ + + + + + + + +libctru: ERRF_ExceptionInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ERRF_ExceptionInfo Struct Reference
    +
    +
    + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +ERRF_ExceptionType type
     Type of the exception. One of the ERRF_EXCEPTION_* values.
     
    +u8 reserved [3]
     
    +u32 fsr
     ifsr (prefetch abort) / dfsr (data abort)
     
    +u32 far
     pc = ifar (prefetch abort) / dfar (data abort)
     
    +u32 fpexc
     
    +u32 fpinst
     
    +u32 fpinst2
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structERRF__FatalErrInfo.html b/structERRF__FatalErrInfo.html new file mode 100644 index 000000000..c5df1a3a0 --- /dev/null +++ b/structERRF__FatalErrInfo.html @@ -0,0 +1,129 @@ + + + + + + + +libctru: ERRF_FatalErrInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ERRF_FatalErrInfo Struct Reference
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +ERRF_ErrType type
     Type, one of the ERRF_ERRTYPE_* enum.
     
    +u8 revHigh
     High revison ID.
     
    +u16 revLow
     Low revision ID.
     
    +u32 resCode
     Result code.
     
    +u32 pcAddr
     PC address at exception.
     
    +u32 procId
     Process ID of the caller.
     
    +u64 titleId
     Title ID of the caller.
     
    +u64 appTitleId
     Title ID of the running application.
     
    +union {
    +   ERRF_ExceptionData   exception_data
     Data for when type is ERRF_ERRTYPE_EXCEPTION.
     
    +   char   failure_mesg [0x60]
     String for when type is ERRF_ERRTYPE_FAILURE.
     
    data
     The different types of data for errors.
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structExHeader.html b/structExHeader.html new file mode 100644 index 000000000..f538eef1f --- /dev/null +++ b/structExHeader.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: ExHeader Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ExHeader Struct Reference
    +
    +
    + +

    The NCCH Extended Header of a title. + More...

    + +

    #include <exheader.h>

    + + + + + + + + +

    +Data Fields

    +ExHeader_Info info
     Main extended header data, see ExHeader_Info.
     
    +ExHeader_AccessDescriptor access_descriptor
     Access descriptor, see ExHeader_AccessDescriptor.
     
    +

    Detailed Description

    +

    The NCCH Extended Header of a title.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structExHeader__AccessControlInfo.html b/structExHeader__AccessControlInfo.html new file mode 100644 index 000000000..a5d6854ff --- /dev/null +++ b/structExHeader__AccessControlInfo.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: ExHeader_AccessControlInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ExHeader_AccessControlInfo Struct Reference
    +
    +
    + +

    The access control information of a title. + More...

    + +

    #include <exheader.h>

    + + + + + + + + + + + +

    +Data Fields

    +ExHeader_Arm11SystemLocalCapabilities local_caps
     ARM11 system-local capabilities, see ExHeader_Arm11SystemLocalCapabilities.
     
    +ExHeader_Arm11KernelCapabilities kernel_caps
     ARM11 kernel capabilities, see ExHeader_Arm11SystemLocalCapabilities.
     
    +ExHeader_Arm9AccessControl access_control
     ARM9 access control, see ExHeader_Arm9AccessControl.
     
    +

    Detailed Description

    +

    The access control information of a title.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structExHeader__AccessDescriptor.html b/structExHeader__AccessDescriptor.html new file mode 100644 index 000000000..83a1a158f --- /dev/null +++ b/structExHeader__AccessDescriptor.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: ExHeader_AccessDescriptor Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ExHeader_AccessDescriptor Struct Reference
    +
    +
    + +

    Extended header access descriptor. + More...

    + +

    #include <exheader.h>

    + + + + + + + + + + + +

    +Data Fields

    +u8 signature [0x100]
     The signature of the access descriptor (RSA-2048-SHA256)
     
    +u8 ncchModulus [0x100]
     The modulus used for the above signature, with 65537 as public exponent.
     
    +ExHeader_AccessControlInfo acli
     This is compared for equality with the first ACI by Process9, see ExHeader_AccessControlInfo.
     
    +

    Detailed Description

    +

    Extended header access descriptor.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structExHeader__Arm11CoreInfo.html b/structExHeader__Arm11CoreInfo.html new file mode 100644 index 000000000..88de408a7 --- /dev/null +++ b/structExHeader__Arm11CoreInfo.html @@ -0,0 +1,131 @@ + + + + + + + +libctru: ExHeader_Arm11CoreInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ExHeader_Arm11CoreInfo Struct Reference
    +
    +
    + +

    The CPU-related and memory-layout-related info of a title. + More...

    + +

    #include <exheader.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 core_version
     The low title ID of the target firmware.
     
    +bool use_cpu_clockrate_804MHz: 1
     Whether to start the title with the 804MHz clock rate.
     
    +bool enable_l2c: 1
     Whether to start the title with the L2C-310 enabled enabled.
     
    +u8 flag1_unused: 6
     Unused.
     
    +SystemMode n3ds_system_mode: 4
     The system mode to use on N3DS.
     
    +u8 flag2_unused: 4
     Unused.
     
    +u8 ideal_processor: 2
     The ideal processor to start the title on.
     
    +u8 affinity_mask: 2
     The affinity mask of the title.
     
    +SystemMode o3ds_system_mode: 4
     The system mode to use on N3DS.
     
    +u8 priority
     The priority of the title's main thread.
     
    +

    Detailed Description

    +

    The CPU-related and memory-layout-related info of a title.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structExHeader__Arm11KernelCapabilities.html b/structExHeader__Arm11KernelCapabilities.html new file mode 100644 index 000000000..e977c5c12 --- /dev/null +++ b/structExHeader__Arm11KernelCapabilities.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: ExHeader_Arm11KernelCapabilities Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ExHeader_Arm11KernelCapabilities Struct Reference
    +
    +
    + +

    The ARM11 kernel capabilities of a title. + More...

    + +

    #include <exheader.h>

    + + + + + + + + +

    +Data Fields

    +u32 descriptors [28]
     ARM11 kernel descriptors, see 3dbrew.
     
    +u8 reserved [16]
     Reserved.
     
    +

    Detailed Description

    +

    The ARM11 kernel capabilities of a title.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structExHeader__Arm11StorageInfo.html b/structExHeader__Arm11StorageInfo.html new file mode 100644 index 000000000..0a2387f28 --- /dev/null +++ b/structExHeader__Arm11StorageInfo.html @@ -0,0 +1,119 @@ + + + + + + + +libctru: ExHeader_Arm11StorageInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ExHeader_Arm11StorageInfo Struct Reference
    +
    +
    + +

    The ARM11 filesystem info of a title. + More...

    + +

    #include <exheader.h>

    + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u64 extdata_id
     Extdata ID.
     
    +u32 system_savedata_ids [2]
     IDs of the system savedata accessible by the title.
     
    +u64 accessible_savedata_ids
     IDs of the savedata accessible by the title, 20 bits each, followed by "Use other variation savedata".
     
    +u32 fs_access_info
     FS access flags.
     
    +u32 reserved: 24
     Reserved.
     
    +bool no_romfs: 1
     Don't use any RomFS.
     
    +bool use_extended_savedata_access: 1
     Use the "extdata_id" field to store 3 additional accessible savedata IDs.
     
    +

    Detailed Description

    +

    The ARM11 filesystem info of a title.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structExHeader__Arm11SystemLocalCapabilities.html b/structExHeader__Arm11SystemLocalCapabilities.html new file mode 100644 index 000000000..6b7350be6 --- /dev/null +++ b/structExHeader__Arm11SystemLocalCapabilities.html @@ -0,0 +1,119 @@ + + + + + + + +libctru: ExHeader_Arm11SystemLocalCapabilities Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ExHeader_Arm11SystemLocalCapabilities Struct Reference
    +
    +
    + +

    The ARM11 system-local capabilities of a title. + More...

    + +

    #include <exheader.h>

    + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u64 title_id
     Title ID.
     
    +ExHeader_Arm11CoreInfo core_info
     Core info, see ExHeader_Arm11CoreInfo.
     
    +u16 reslimits [16]
     Resource limit descriptors, only "CpuTime" (first byte) sems to be used.
     
    +ExHeader_Arm11StorageInfo storage_info
     Storage info, see ExHeader_Arm11StorageInfo.
     
    +char service_access [34][8]
     List of the services the title has access to. Limited to 32 prior to system version 9.3.
     
    +u8 reserved [15]
     Reserved.
     
    +ResourceLimitCategory reslimit_category
     Resource limit category, see ExHeader_Arm11SystemLocalCapabilities.
     
    +

    Detailed Description

    +

    The ARM11 system-local capabilities of a title.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structExHeader__Arm9AccessControl.html b/structExHeader__Arm9AccessControl.html new file mode 100644 index 000000000..4b03ca8ce --- /dev/null +++ b/structExHeader__Arm9AccessControl.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: ExHeader_Arm9AccessControl Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ExHeader_Arm9AccessControl Struct Reference
    +
    +
    + +

    The ARM9 access control of a title. + More...

    + +

    #include <exheader.h>

    + + + + + + + + +

    +Data Fields

    +u8 descriptors [15]
     Process9 FS descriptors, see 3dbrew.
     
    +u8 descriptor_version
     Descriptor version.
     
    +

    Detailed Description

    +

    The ARM9 access control of a title.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structExHeader__CodeSectionInfo.html b/structExHeader__CodeSectionInfo.html new file mode 100644 index 000000000..172254196 --- /dev/null +++ b/structExHeader__CodeSectionInfo.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: ExHeader_CodeSectionInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ExHeader_CodeSectionInfo Struct Reference
    +
    +
    + +

    Information about a title's section. + More...

    + +

    #include <exheader.h>

    + + + + + + + + + + + +

    +Data Fields

    +u32 address
     The address of the section.
     
    +u32 num_pages
     The number of pages the section occupies.
     
    +u32 size
     The size of the section.
     
    +

    Detailed Description

    +

    Information about a title's section.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structExHeader__CodeSetInfo.html b/structExHeader__CodeSetInfo.html new file mode 100644 index 000000000..2c9bae2a8 --- /dev/null +++ b/structExHeader__CodeSetInfo.html @@ -0,0 +1,123 @@ + + + + + + + +libctru: ExHeader_CodeSetInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ExHeader_CodeSetInfo Struct Reference
    +
    +
    + +

    The name of a title and infomation about its section. + More...

    + +

    #include <exheader.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +char name [8]
     Title name.
     
    +ExHeader_SystemInfoFlags flags
     System info flags, see ExHeader_SystemInfoFlags.
     
    +ExHeader_CodeSectionInfo text
     .text section info, see ExHeader_CodeSectionInfo
     
    +u32 stack_size
     Stack size.
     
    +ExHeader_CodeSectionInfo rodata
     .rodata section info, see ExHeader_CodeSectionInfo
     
    +u32 reserved
     Reserved.
     
    +ExHeader_CodeSectionInfo data
     .data section info, see ExHeader_CodeSectionInfo
     
    +u32 bss_size
     .bss section size
     
    +

    Detailed Description

    +

    The name of a title and infomation about its section.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structExHeader__Info.html b/structExHeader__Info.html new file mode 100644 index 000000000..f1b8dde38 --- /dev/null +++ b/structExHeader__Info.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: ExHeader_Info Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ExHeader_Info Struct Reference
    +
    +
    + +

    Main extended header data, as returned by PXIPM, Loader and FSREG service commands. + More...

    + +

    #include <exheader.h>

    + + + + + + + + +

    +Data Fields

    +ExHeader_SystemControlInfo sci
     System control info, see ExHeader_SystemControlInfo.
     
    +ExHeader_AccessControlInfo aci
     Access control info, see ExHeader_AccessControlInfo.
     
    +

    Detailed Description

    +

    Main extended header data, as returned by PXIPM, Loader and FSREG service commands.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structExHeader__SystemControlInfo.html b/structExHeader__SystemControlInfo.html new file mode 100644 index 000000000..d66deb66e --- /dev/null +++ b/structExHeader__SystemControlInfo.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: ExHeader_SystemControlInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ExHeader_SystemControlInfo Struct Reference
    +
    +
    + +

    The code set info, dependencies and system info of a title (SCI) + More...

    + +

    #include <exheader.h>

    + + + + + + + + + + + +

    +Data Fields

    +ExHeader_CodeSetInfo codeset_info
     Code set info, see ExHeader_CodeSetInfo.
     
    +u64 dependencies [48]
     Title IDs of the titles that this program depends on.
     
    +ExHeader_SystemInfo system_info
     System info, see ExHeader_SystemInfo.
     
    +

    Detailed Description

    +

    The code set info, dependencies and system info of a title (SCI)

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structExHeader__SystemInfo.html b/structExHeader__SystemInfo.html new file mode 100644 index 000000000..e56de4d57 --- /dev/null +++ b/structExHeader__SystemInfo.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: ExHeader_SystemInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ExHeader_SystemInfo Struct Reference
    +
    +
    + +

    The savedata size and jump ID of a title. + More...

    + +

    #include <exheader.h>

    + + + + + + + + + + + +

    +Data Fields

    +u64 savedata_size
     Savedata size.
     
    +u64 jump_id
     Jump ID.
     
    +u8 reserved [0x30]
     Reserved.
     
    +

    Detailed Description

    +

    The savedata size and jump ID of a title.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structExHeader__SystemInfoFlags.html b/structExHeader__SystemInfoFlags.html new file mode 100644 index 000000000..ea4d0177f --- /dev/null +++ b/structExHeader__SystemInfoFlags.html @@ -0,0 +1,107 @@ + + + + + + + +libctru: ExHeader_SystemInfoFlags Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ExHeader_SystemInfoFlags Struct Reference
    +
    +
    + +

    The system info flags and remaster version of a title. + More...

    + +

    #include <exheader.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +u8 reserved [5]
     Reserved.
     
    +bool compress_exefs_code: 1
     Whether the ExeFS's .code section is compressed.
     
    +bool is_sd_application: 1
     Whether the title is meant to be used on an SD card.
     
    +u16 remaster_version
     Remaster version.
     
    +

    Detailed Description

    +

    The system info flags and remaster version of a title.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structExceptionEvent.html b/structExceptionEvent.html new file mode 100644 index 000000000..a74cce99e --- /dev/null +++ b/structExceptionEvent.html @@ -0,0 +1,119 @@ + + + + + + + +libctru: ExceptionEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ExceptionEvent Struct Reference
    +
    +
    + +

    Event relating to exceptions. + More...

    + +

    #include <svc.h>

    + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +ExceptionEventType type
     Type of event. See ExceptionEventType.
     
    +u32 address
     Address of the exception.
     
    +union {
    +   FaultExceptionEvent   fault
     Fault exception event data.
     
    +   StopPointExceptionEvent   stop_point
     Stop point exception event data.
     
    +   UserBreakExceptionEvent   user_break
     User break exception event data.
     
    +   DebuggerBreakExceptionEvent   debugger_break
     Debugger break exception event data.
     
    }; 
     
    +

    Detailed Description

    +

    Event relating to exceptions.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structExitProcessEvent.html b/structExitProcessEvent.html new file mode 100644 index 000000000..8577c06d0 --- /dev/null +++ b/structExitProcessEvent.html @@ -0,0 +1,95 @@ + + + + + + + +libctru: ExitProcessEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ExitProcessEvent Struct Reference
    +
    +
    + +

    Event relating to the exiting of a process. + More...

    + +

    #include <svc.h>

    + + + + + +

    +Data Fields

    +ExitProcessEventReason reason
     Reason for exiting. See ExitProcessEventReason.
     
    +

    Detailed Description

    +

    Event relating to the exiting of a process.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structExitThreadEvent.html b/structExitThreadEvent.html new file mode 100644 index 000000000..2980ac048 --- /dev/null +++ b/structExitThreadEvent.html @@ -0,0 +1,95 @@ + + + + + + + +libctru: ExitThreadEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ExitThreadEvent Struct Reference
    +
    +
    + +

    Event relating to the exiting of a thread. + More...

    + +

    #include <svc.h>

    + + + + + +

    +Data Fields

    +ExitThreadEventReason reason
     Reason for exiting. See ExitThreadEventReason.
     
    +

    Detailed Description

    +

    Event relating to the exiting of a thread.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structFINF__s.html b/structFINF__s.html new file mode 100644 index 000000000..7220d3a1f --- /dev/null +++ b/structFINF__s.html @@ -0,0 +1,146 @@ + + + + + + + +libctru: FINF_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    FINF_s Struct Reference
    +
    +
    + +

    Font information structure. + More...

    + +

    #include <font.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 signature
     Signature (FINF).
     
    +u32 sectionSize
     Section size.
     
    +u8 fontType
     Font type.
     
    +u8 lineFeed
     Line feed vertical distance.
     
    +u16 alterCharIndex
     Glyph index of the replacement character.
     
    +charWidthInfo_s defaultWidth
     Default character width information.
     
    +u8 encoding
     Font encoding (?)
     
    +TGLP_stglp
     Pointer to texture sheet information.
     
    +CWDH_s * cwdh
     Pointer to the first character width information block.
     
    +CMAP_s * cmap
     Pointer to the first character map.
     
    +u8 height
     Font height.
     
    +u8 width
     Font width.
     
    +u8 ascent
     Font ascent.
     
    +u8 padding
     
    +

    Detailed Description

    +

    Font information structure.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structFS__ArchiveResource.html b/structFS__ArchiveResource.html new file mode 100644 index 000000000..a19baf4e6 --- /dev/null +++ b/structFS__ArchiveResource.html @@ -0,0 +1,107 @@ + + + + + + + +libctru: FS_ArchiveResource Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    FS_ArchiveResource Struct Reference
    +
    +
    + +

    Archive resource information. + More...

    + +

    #include <fs.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +u32 sectorSize
     Size of each sector, in bytes.
     
    +u32 clusterSize
     Size of each cluster, in bytes.
     
    +u32 totalClusters
     Total number of clusters.
     
    +u32 freeClusters
     Number of free clusters.
     
    +

    Detailed Description

    +

    Archive resource information.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/fs.h
    • +
    +
    + + + + diff --git a/structFS__DeviceMoveContext.html b/structFS__DeviceMoveContext.html new file mode 100644 index 000000000..31fec3332 --- /dev/null +++ b/structFS__DeviceMoveContext.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: FS_DeviceMoveContext Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    FS_DeviceMoveContext Struct Reference
    +
    +
    + +

    Device move context. + More...

    + +

    #include <fs.h>

    + + + + + + + + +

    +Data Fields

    +u8 ivs [0x10]
     IVs.
     
    +u8 encryptParameter [0x10]
     Encrypt parameter.
     
    +

    Detailed Description

    +

    Device move context.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/fs.h
    • +
    +
    + + + + diff --git a/structFS__DirectoryEntry.html b/structFS__DirectoryEntry.html new file mode 100644 index 000000000..dee30cd80 --- /dev/null +++ b/structFS__DirectoryEntry.html @@ -0,0 +1,119 @@ + + + + + + + +libctru: FS_DirectoryEntry Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    FS_DirectoryEntry Struct Reference
    +
    +
    + +

    Directory entry. + More...

    + +

    #include <fs.h>

    + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u16 name [0x106]
     UTF-16 directory name.
     
    +char shortName [0x0A]
     File name.
     
    +char shortExt [0x04]
     File extension.
     
    +u8 valid
     Valid flag. (Always 1)
     
    +u8 reserved
     Reserved.
     
    +u32 attributes
     Attributes.
     
    +u64 fileSize
     File size.
     
    +

    Detailed Description

    +

    Directory entry.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/fs.h
    • +
    +
    + + + + diff --git a/structFS__ExtSaveDataInfo.html b/structFS__ExtSaveDataInfo.html new file mode 100644 index 000000000..4ce4cffd0 --- /dev/null +++ b/structFS__ExtSaveDataInfo.html @@ -0,0 +1,111 @@ + + + + + + + +libctru: FS_ExtSaveDataInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    FS_ExtSaveDataInfo Struct Reference
    +
    +
    + +

    Ext save data information. + More...

    + +

    #include <fs.h>

    + + + + + + + + + + + + + + + + + +

    +Data Fields

    +FS_MediaType mediaType: 8
     Media type.
     
    +u8 unknown
     Unknown.
     
    +u16 reserved1
     Reserved.
     
    +u64 saveId
     Save ID.
     
    +u32 reserved2
     Reserved.
     
    +

    Detailed Description

    +

    Ext save data information.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/fs.h
    • +
    +
    + + + + diff --git a/structFS__IntegrityVerificationSeed.html b/structFS__IntegrityVerificationSeed.html new file mode 100644 index 000000000..eb1ed6058 --- /dev/null +++ b/structFS__IntegrityVerificationSeed.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: FS_IntegrityVerificationSeed Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    FS_IntegrityVerificationSeed Struct Reference
    +
    +
    + +

    Integrity verification seed. + More...

    + +

    #include <fs.h>

    + + + + + + + + +

    +Data Fields

    +u8 aesCbcMac [0x10]
     AES-CBC MAC over a SHA256 hash, which hashes the first 0x110-bytes of the cleartext SEED.
     
    +u8 movableSed [0x120]
     The "nand/private/movable.sed", encrypted with AES-CTR using the above MAC for the counter.
     
    +

    Detailed Description

    +

    Integrity verification seed.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/fs.h
    • +
    +
    + + + + diff --git a/structFS__Path.html b/structFS__Path.html new file mode 100644 index 000000000..9cc55878d --- /dev/null +++ b/structFS__Path.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: FS_Path Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    FS_Path Struct Reference
    +
    +
    + +

    Filesystem path data, detailing the specific target of an operation. + More...

    + +

    #include <fs.h>

    + + + + + + + + + + + +

    +Data Fields

    +FS_PathType type
     FS path type.
     
    +u32 size
     FS path size.
     
    +const void * data
     Pointer to FS path data.
     
    +

    Detailed Description

    +

    Filesystem path data, detailing the specific target of an operation.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/fs.h
    • +
    +
    + + + + diff --git a/structFS__ProductInfo.html b/structFS__ProductInfo.html new file mode 100644 index 000000000..f819f519b --- /dev/null +++ b/structFS__ProductInfo.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: FS_ProductInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    FS_ProductInfo Struct Reference
    +
    +
    + +

    Product information. + More...

    + +

    #include <fs.h>

    + + + + + + + + + + + +

    +Data Fields

    +char productCode [0x10]
     Product code.
     
    +char companyCode [0x2]
     Company code.
     
    +u16 remasterVersion
     Remaster version.
     
    +

    Detailed Description

    +

    Product information.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/fs.h
    • +
    +
    + + + + diff --git a/structFS__ProgramInfo.html b/structFS__ProgramInfo.html new file mode 100644 index 000000000..a2b7b4f8b --- /dev/null +++ b/structFS__ProgramInfo.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: FS_ProgramInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    FS_ProgramInfo Struct Reference
    +
    +
    + +

    Program information. + More...

    + +

    #include <fs.h>

    + + + + + + + + + + + +

    +Data Fields

    +u64 programId
     Program ID.
     
    +FS_MediaType mediaType: 8
     Media type.
     
    +u8 padding [7]
     Padding.
     
    +

    Detailed Description

    +

    Program information.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/fs.h
    • +
    +
    + + + + diff --git a/structFS__SdMmcSpeedInfo.html b/structFS__SdMmcSpeedInfo.html new file mode 100644 index 000000000..6bd9b5170 --- /dev/null +++ b/structFS__SdMmcSpeedInfo.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: FS_SdMmcSpeedInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    FS_SdMmcSpeedInfo Struct Reference
    +
    +
    + +

    SDMC/NAND speed information. + More...

    + +

    #include <fs.h>

    + + + + + + + + + + + +

    +Data Fields

    +bool highSpeedModeEnabled
     Whether or not High Speed Mode is enabled.
     
    +bool usesHighestClockRate
     Whether or not a clock divider of 2 is being used.
     
    +u16 sdClkCtrl
     The value of the SD_CLK_CTRL register.
     
    +

    Detailed Description

    +

    SDMC/NAND speed information.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/fs.h
    • +
    +
    + + + + diff --git a/structFS__SystemSaveDataInfo.html b/structFS__SystemSaveDataInfo.html new file mode 100644 index 000000000..0d3e18649 --- /dev/null +++ b/structFS__SystemSaveDataInfo.html @@ -0,0 +1,107 @@ + + + + + + + +libctru: FS_SystemSaveDataInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    FS_SystemSaveDataInfo Struct Reference
    +
    +
    + +

    System save data information. + More...

    + +

    #include <fs.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +FS_MediaType mediaType: 8
     Media type.
     
    +u8 unknown
     Unknown.
     
    +u16 reserved
     Reserved.
     
    +u32 saveId
     Save ID.
     
    +

    Detailed Description

    +

    System save data information.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/fs.h
    • +
    +
    + + + + diff --git a/structFaultExceptionEvent.html b/structFaultExceptionEvent.html new file mode 100644 index 000000000..870748e5d --- /dev/null +++ b/structFaultExceptionEvent.html @@ -0,0 +1,95 @@ + + + + + + + +libctru: FaultExceptionEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    FaultExceptionEvent Struct Reference
    +
    +
    + +

    Event relating to fault exceptions (CPU exceptions other than stop points and undefined syscalls). + More...

    + +

    #include <svc.h>

    + + + + + +

    +Data Fields

    +u32 fault_information
     FAR (for DATA ABORT / UNALIGNED DATA ACCESS), attempted syscall or 0.
     
    +

    Detailed Description

    +

    Event relating to fault exceptions (CPU exceptions other than stop points and undefined syscalls).

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structFpuRegisters.html b/structFpuRegisters.html new file mode 100644 index 000000000..56990f408 --- /dev/null +++ b/structFpuRegisters.html @@ -0,0 +1,115 @@ + + + + + + + +libctru: FpuRegisters Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    FpuRegisters Struct Reference
    +
    +
    + +

    Structure representing FPU registers. + More...

    + +

    #include <types.h>

    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +union {
    +   struct {
    +      double   d [16]
     
       } 
     d0-d15.
     
    +   float   s [32]
     s0-s31.
     
    }; 
     
    +u32 fpscr
     fpscr.
     
    +u32 fpexc
     fpexc.
     
    +

    Detailed Description

    +

    Structure representing FPU registers.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structFriendKey.html b/structFriendKey.html new file mode 100644 index 000000000..cde79c0b7 --- /dev/null +++ b/structFriendKey.html @@ -0,0 +1,100 @@ + + + + + + + +libctru: FriendKey Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    FriendKey Struct Reference
    +
    +
    + +

    Friend key data. + More...

    + +

    #include <frd.h>

    + + + + + + + + +

    +Data Fields

    +u32 principalId
     
    +u32 padding
     
    +u64 localFriendCode
     
    +

    Detailed Description

    +

    Friend key data.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/frd.h
    • +
    +
    + + + + diff --git a/structFriendProfile.html b/structFriendProfile.html new file mode 100644 index 000000000..7f2e28756 --- /dev/null +++ b/structFriendProfile.html @@ -0,0 +1,114 @@ + + + + + + + +libctru: FriendProfile Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    FriendProfile Struct Reference
    +
    +
    + +

    Friend profile data. + More...

    + +

    #include <frd.h>

    + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u8 region
     The region code for the hardware.
     
    +u8 country
     Country code.
     
    +u8 area
     Area code.
     
    +u8 language
     Language code.
     
    +u8 platform
     Platform code.
     
    +u32 padding
     
    +

    Detailed Description

    +

    Friend profile data.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/frd.h
    • +
    +
    + + + + diff --git a/structGSPGPU__CaptureInfo.html b/structGSPGPU__CaptureInfo.html new file mode 100644 index 000000000..854efcf93 --- /dev/null +++ b/structGSPGPU__CaptureInfo.html @@ -0,0 +1,95 @@ + + + + + + + +libctru: GSPGPU_CaptureInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    GSPGPU_CaptureInfo Struct Reference
    +
    +
    + +

    Capture info. + More...

    + +

    #include <gspgpu.h>

    + + + + + +

    +Data Fields

    +GSPGPU_CaptureInfoEntry screencapture [2]
     Capture info entries, one for each screen.
     
    +

    Detailed Description

    +

    Capture info.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structGSPGPU__CaptureInfoEntry.html b/structGSPGPU__CaptureInfoEntry.html new file mode 100644 index 000000000..08c0bbd29 --- /dev/null +++ b/structGSPGPU__CaptureInfoEntry.html @@ -0,0 +1,107 @@ + + + + + + + +libctru: GSPGPU_CaptureInfoEntry Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    GSPGPU_CaptureInfoEntry Struct Reference
    +
    +
    + +

    Capture info entry. + More...

    + +

    #include <gspgpu.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +u32framebuf0_vaddr
     Left framebuffer.
     
    +u32framebuf1_vaddr
     Right framebuffer.
     
    +u32 format
     Framebuffer format.
     
    +u32 framebuf_widthbytesize
     Framebuffer pitch.
     
    +

    Detailed Description

    +

    Capture info entry.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structGSPGPU__FramebufferInfo.html b/structGSPGPU__FramebufferInfo.html new file mode 100644 index 000000000..a83ec5cd6 --- /dev/null +++ b/structGSPGPU__FramebufferInfo.html @@ -0,0 +1,119 @@ + + + + + + + +libctru: GSPGPU_FramebufferInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    GSPGPU_FramebufferInfo Struct Reference
    +
    +
    + +

    Framebuffer information. + More...

    + +

    #include <gspgpu.h>

    + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 active_framebuf
     Active framebuffer. (0 = first, 1 = second)
     
    +u32framebuf0_vaddr
     Framebuffer virtual address, for the main screen this is the 3D left framebuffer.
     
    +u32framebuf1_vaddr
     For the main screen: 3D right framebuffer address.
     
    +u32 framebuf_widthbytesize
     Value for 0x1EF00X90, controls framebuffer width.
     
    +u32 format
     Framebuffer format, this u16 is written to the low u16 for LCD register 0x1EF00X70.
     
    +u32 framebuf_dispselect
     Value for 0x1EF00X78, controls which framebuffer is displayed.
     
    +u32 unk
     Unknown.
     
    +

    Detailed Description

    +

    Framebuffer information.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structGameDescription.html b/structGameDescription.html new file mode 100644 index 000000000..977e2685f --- /dev/null +++ b/structGameDescription.html @@ -0,0 +1,97 @@ + + + + + + + +libctru: GameDescription Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    GameDescription Struct Reference
    +
    +
    + +

    Game Description structure. + More...

    + +

    #include <frd.h>

    + + + + + + +

    +Data Fields

    +TitleData data
     
    +u16 desc [128]
     
    +

    Detailed Description

    +

    Game Description structure.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/frd.h
    • +
    +
    + + + + diff --git a/structLightEvent.html b/structLightEvent.html new file mode 100644 index 000000000..5fbd32654 --- /dev/null +++ b/structLightEvent.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: LightEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    LightEvent Struct Reference
    +
    +
    + +

    A light event. + More...

    + +

    #include <synchronization.h>

    + + + + + + + + +

    +Data Fields

    +s32 state
     State of the event: -2=cleared sticky, -1=cleared oneshot, 0=signaled oneshot, 1=signaled sticky.
     
    +LightLock lock
     Lock used for sticky timer operation.
     
    +

    Detailed Description

    +

    A light event.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structLightSemaphore.html b/structLightSemaphore.html new file mode 100644 index 000000000..a879db89e --- /dev/null +++ b/structLightSemaphore.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: LightSemaphore Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    LightSemaphore Struct Reference
    +
    +
    + +

    A light semaphore. + More...

    + +

    #include <synchronization.h>

    + + + + + + + + + + + +

    +Data Fields

    +s32 current_count
     The current release count of the semaphore.
     
    +s16 num_threads_acq
     Number of threads concurrently acquiring the semaphore.
     
    +s16 max_count
     The maximum release count of the semaphore.
     
    +

    Detailed Description

    +

    A light semaphore.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structMVDSTD__Config.html b/structMVDSTD__Config.html new file mode 100644 index 000000000..eb41c236d --- /dev/null +++ b/structMVDSTD__Config.html @@ -0,0 +1,204 @@ + + + + + + + +libctru: MVDSTD_Config Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    MVDSTD_Config Struct Reference
    +
    +
    + +

    Processing configuration. + More...

    + +

    #include <mvd.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +MVDSTD_InputFormat input_type
     Input type.
     
    +u32 unk_x04
     Unknown.
     
    +u32 unk_x08
     Unknown. Referred to as "H264 range" in SKATER.
     
    +u32 inwidth
     Input width.
     
    +u32 inheight
     Input height.
     
    +u32 physaddr_colorconv_indata
     Physical address of color conversion input data.
     
    +u32 physaddr_colorconv_unk0
     Physical address used with color conversion.
     
    +u32 physaddr_colorconv_unk1
     Physical address used with color conversion.
     
    +u32 physaddr_colorconv_unk2
     Physical address used with color conversion.
     
    +u32 physaddr_colorconv_unk3
     Physical address used with color conversion.
     
    +u32 unk_x28 [0x18 >>2]
     Unknown.
     
    +u32 enable_cropping
     Enables cropping with the input image when non-zero via the following 4 words.
     
    +u32 input_crop_x_pos
     
    +u32 input_crop_y_pos
     
    +u32 input_crop_height
     
    +u32 input_crop_width
     
    +u32 unk_x54
     Unknown.
     
    +MVDSTD_OutputFormat output_type
     Output type.
     
    +u32 outwidth
     Output width.
     
    +u32 outheight
     Output height.
     
    +u32 physaddr_outdata0
     Physical address of output data.
     
    +u32 physaddr_outdata1
     Additional physical address for output data, only used when the output format type is value 0x00020001.
     
    +u32 unk_x6c [0x98 >>2]
     Unknown.
     
    +u32 flag_x104
     This enables using the following 4 words when non-zero.
     
    +u32 output_x_pos
     Output X position in the output buffer.
     
    +u32 output_y_pos
     Same as above except for the Y pos.
     
    +u32 output_width_override
     Used for aligning the output width when larger than the output width. Overrides the output width when smaller than the output width.
     
    +u32 output_height_override
     Same as output_width_override except for the output height.
     
    +u32 unk_x118
     
    +

    Detailed Description

    +

    Processing configuration.

    +
    Examples
    mvd/source/main.c.
    +
    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/mvd.h
    • +
    +
    + + + + diff --git a/structMVDSTD__InitStruct.html b/structMVDSTD__InitStruct.html new file mode 100644 index 000000000..ba4c67333 --- /dev/null +++ b/structMVDSTD__InitStruct.html @@ -0,0 +1,106 @@ + + + + + + + +libctru: MVDSTD_InitStruct Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    MVDSTD_InitStruct Struct Reference
    +
    +
    + +

    This can be used to override the default input values for MVDSTD commands during initialization with video-processing. The default for these fields are all-zero, except for cmd1b_inval which is 1. See also here: https://www.3dbrew.org/wiki/MVD_Services. + More...

    + +

    #include <mvd.h>

    + + + + + + + + + + + + +

    +Data Fields

    +s8 cmd5_inval0
     
    +s8 cmd5_inval1
     
    +s8 cmd5_inval2
     
    +u32 cmd5_inval3
     
    +u8 cmd1b_inval
     
    +

    Detailed Description

    +

    This can be used to override the default input values for MVDSTD commands during initialization with video-processing. The default for these fields are all-zero, except for cmd1b_inval which is 1. See also here: https://www.3dbrew.org/wiki/MVD_Services.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/mvd.h
    • +
    +
    + + + + diff --git a/structMVDSTD__OutputBuffersEntry.html b/structMVDSTD__OutputBuffersEntry.html new file mode 100644 index 000000000..454645994 --- /dev/null +++ b/structMVDSTD__OutputBuffersEntry.html @@ -0,0 +1,90 @@ + + + + + + + +libctru: MVDSTD_OutputBuffersEntry Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    MVDSTD_OutputBuffersEntry Struct Reference
    +
    +
    + + + + + + +

    +Data Fields

    +void * outdata0
     
    +void * outdata1
     
    +
    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/mvd.h
    • +
    +
    + + + + diff --git a/structMVDSTD__OutputBuffersEntryList.html b/structMVDSTD__OutputBuffersEntryList.html new file mode 100644 index 000000000..180d0dbe4 --- /dev/null +++ b/structMVDSTD__OutputBuffersEntryList.html @@ -0,0 +1,90 @@ + + + + + + + +libctru: MVDSTD_OutputBuffersEntryList Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    MVDSTD_OutputBuffersEntryList Struct Reference
    +
    +
    + + + + + + +

    +Data Fields

    +u32 total_entries
     
    +MVDSTD_OutputBuffersEntry entries [17]
     
    +
    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/mvd.h
    • +
    +
    + + + + diff --git a/structMVDSTD__ProcessNALUnitOut.html b/structMVDSTD__ProcessNALUnitOut.html new file mode 100644 index 000000000..d131555ac --- /dev/null +++ b/structMVDSTD__ProcessNALUnitOut.html @@ -0,0 +1,96 @@ + + + + + + + +libctru: MVDSTD_ProcessNALUnitOut Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    MVDSTD_ProcessNALUnitOut Struct Reference
    +
    +
    + + + + + + + + +

    +Data Fields

    +u32 end_vaddr
     
    +u32 end_physaddr
     
    +u32 remaining_size
     
    +

    Detailed Description

    +
    Examples
    mvd/source/main.c.
    +
    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/mvd.h
    • +
    +
    + + + + diff --git a/structMapEvent.html b/structMapEvent.html new file mode 100644 index 000000000..35c21261f --- /dev/null +++ b/structMapEvent.html @@ -0,0 +1,107 @@ + + + + + + + +libctru: MapEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    MapEvent Struct Reference
    +
    +
    + +

    Event relating to the mapping of memory. + More...

    + +

    #include <svc.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +u32 mapped_addr
     Mapped address.
     
    +u32 mapped_size
     Mapped size.
     
    +MemPerm memperm
     Memory permissions. See MemPerm.
     
    +MemState memstate
     Memory state. See MemState.
     
    +

    Detailed Description

    +

    Event relating to the mapping of memory.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structMemInfo.html b/structMemInfo.html new file mode 100644 index 000000000..45387a99f --- /dev/null +++ b/structMemInfo.html @@ -0,0 +1,107 @@ + + + + + + + +libctru: MemInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    MemInfo Struct Reference
    +
    +
    + +

    Memory information. + More...

    + +

    #include <svc.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +u32 base_addr
     Base address.
     
    +u32 size
     Size.
     
    +u32 perm
     Memory permissions. See MemPerm.
     
    +u32 state
     Memory state. See MemState.
     
    +

    Detailed Description

    +

    Memory information.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structMiiData.html b/structMiiData.html new file mode 100644 index 000000000..32e76b2f3 --- /dev/null +++ b/structMiiData.html @@ -0,0 +1,392 @@ + + + + + + + +libctru: MiiData Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    MiiData Struct Reference
    +
    +
    + +

    Shared Mii struct. + More...

    + +

    #include <mii.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u8 magic
     Always 3?
     
    +struct {
    +   bool   allow_copying: 1
     True if copying is allowed.
     
    +   bool   is_private_name: 1
     Private name?
     
    +   u8   region_lock: 2
     Region lock (0=no lock, 1=JPN, 2=USA, 3=EUR)
     
    +   u8   char_set: 2
     Character set (0=JPN+USA+EUR, 1=CHN, 2=KOR, 3=TWN)
     
    mii_options
     Mii options.
     
    +struct {
    +   u8   page_index: 4
     Page index of Mii.
     
    +   u8   slot_index: 4
     Slot offset of Mii on its Page.
     
    mii_pos
     Mii position in Mii selector or Mii maker.
     
    +struct {
    +   u8   unknown0: 4
     Mabye padding (always seems to be 0)?
     
    +   u8   origin_console: 3
     Console that the Mii was created on (1=WII, 2=DSI, 3=3DS)
     
    console_identity
     Console Identity.
     
    +u64 system_id
     Identifies the system that the Mii was created on (Determines pants)
     
    +u32 mii_id
     ID of Mii.
     
    +u8 mac [6]
     Creator's system's full MAC address.
     
    +u8 pad [2]
     Padding.
     
    +struct {
    +   bool   sex: 1
     Sex of Mii (False=Male, True=Female)
     
    +   u16   bday_month: 4
     Month of Mii's birthday.
     
    +   u16   bday_day: 5
     Day of Mii's birthday.
     
    +   u16   shirt_color: 4
     Color of Mii's shirt.
     
    +   bool   favorite: 1
     Whether the Mii is one of your 10 favorite Mii's.
     
    mii_details
     Mii details.
     
    +u16 mii_name [10]
     Name of Mii (Encoded using UTF16)
     
    +u8 height
     How tall the Mii is.
     
    +u8 width
     How wide the Mii is.
     
    +struct {
    +   bool   disable_sharing: 1
     Whether or not Sharing of the Mii is allowed.
     
    +   u8   shape: 4
     Face shape.
     
    +   u8   skinColor: 3
     Color of skin.
     
    face_style
     Face style.
     
    +struct {
    +   u8   wrinkles: 4
     
    +   u8   makeup: 4
     
    face_details
     Face details.
     
    +u8 hair_style
     
    +struct {
    +   u8   color: 3
     
    +   bool   flip: 1
     
    hair_details
     Hair details.
     
    +struct {
    +   u32   style: 6
     
    +   u32   color: 3
     
    +   u32   scale: 4
     
    +   u32   yscale: 3
     
    +   u32   rotation: 5
     
    +   u32   xspacing: 4
     
    +   u32   yposition: 5
     
    eye_details
     Eye details.
     
    +struct {
    +   u32   style: 5
     
    +   u32   color: 3
     
    +   u32   scale: 4
     
    +   u32   yscale: 3
     
    +   u32   pad: 1
     
    +   u32   rotation: 5
     
    +   u32   xspacing: 4
     
    +   u32   yposition: 5
     
    eyebrow_details
     Eyebrow details.
     
    +struct {
    +   u16   style: 5
     
    +   u16   scale: 4
     
    +   u16   yposition: 5
     
    nose_details
     Nose details.
     
    +struct {
    +   u16   style: 6
     
    +   u16   color: 3
     
    +   u16   scale: 4
     
    +   u16   yscale: 3
     
    mouth_details
     Mouth details.
     
    +struct {
    +   u16   mouth_yposition: 5
     
    +   u16   mustach_style: 3
     
    +   u16   pad: 2
     
    mustache_details
     Mustache details.
     
    +struct {
    +   u16   style: 3
     
    +   u16   color: 3
     
    +   u16   scale: 4
     
    +   u16   ypos: 5
     
    beard_details
     Beard details.
     
    +struct {
    +   u16   style: 4
     
    +   u16   color: 3
     
    +   u16   scale: 4
     
    +   u16   ypos: 5
     
    glasses_details
     Glasses details.
     
    +struct {
    +   bool   enable: 1
     
    +   u16   scale: 5
     
    +   u16   xpos: 5
     
    +   u16   ypos: 5
     
    mole_details
     Mole details.
     
    +u16 author_name [10]
     Name of Mii's author (Encoded using UTF16)
     
    +

    Detailed Description

    +

    Shared Mii struct.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structMiiSelectorConf.html b/structMiiSelectorConf.html new file mode 100644 index 000000000..0d03826d0 --- /dev/null +++ b/structMiiSelectorConf.html @@ -0,0 +1,160 @@ + + + + + + + +libctru: MiiSelectorConf Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    MiiSelectorConf Struct Reference
    +
    +
    + +

    Parameter structure passed to AppletEd. + More...

    + +

    #include <miiselector.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u8 enable_cancel_button
     Enables canceling of selection if nonzero.
     
    +u8 enable_selecting_guests
     Makes Guets Miis selectable if nonzero.
     
    +u8 show_on_top_screen
     Shows applet on top screen if nonzero, otherwise show it on the bottom screen.
     
    u16 title [MIISELECTOR_TITLE_LEN]
     UTF16-LE string displayed at the top of the applet. More...
     
    +u8 show_guest_page
     If nonzero, the applet shows a page with Guest Miis on launch.
     
    u32 initial_index
     Index of the initially selected Mii. More...
     
    +u8 mii_guest_whitelist [MIISELECTOR_GUESTMII_SLOTS]
     Each byte set to a nonzero value enables its corresponding Guest Mii to be enabled for selection.
     
    +u8 mii_whitelist [MIISELECTOR_USERMII_SLOTS]
     Each byte set to a nonzero value enables its corresponding user Mii to be enabled for selection.
     
    +u32 magic
     Will be set to MIISELECTOR_MAGIC before launching the applet.
     
    +

    Detailed Description

    +

    Parameter structure passed to AppletEd.

    +

    Field Documentation

    + +

    ◆ initial_index

    + +
    +
    + + + + +
    u32 MiiSelectorConf::initial_index
    +
    + +

    Index of the initially selected Mii.

    +

    If MiiSelectorConf::show_guest_page is set, this is the index of a Guest Mii, otherwise that of a user Mii.

    + +
    +
    + +

    ◆ title

    + +
    +
    + + + + +
    u16 MiiSelectorConf::title[MIISELECTOR_TITLE_LEN]
    +
    + +

    UTF16-LE string displayed at the top of the applet.

    +

    If set to the empty string, a default title is displayed.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structMiiSelectorReturn.html b/structMiiSelectorReturn.html new file mode 100644 index 000000000..1dd51e40d --- /dev/null +++ b/structMiiSelectorReturn.html @@ -0,0 +1,148 @@ + + + + + + + +libctru: MiiSelectorReturn Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    MiiSelectorReturn Struct Reference
    +
    +
    + +

    Structure written by AppletEd. + More...

    + +

    #include <miiselector.h>

    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 no_mii_selected
     0 if a Mii was selected, 1 if the selection was canceled.
     
    +u32 guest_mii_was_selected
     1 if a Guest Mii was selected, 0 otherwise.
     
    +u32 guest_mii_index
     Index of the selected Guest Mii, 0xFFFFFFFF if no guest was selected.
     
    +MiiData mii
     Data of selected Mii.
     
    u16 checksum
     Checksum of the returned Mii data. More...
     
    u16 guest_mii_name [MIISELECTOR_GUESTMII_NAME_LEN]
     Localized name of a Guest Mii, if one was selected (UTF16-LE string). More...
     
    +

    Detailed Description

    +

    Structure written by AppletEd.

    +

    Field Documentation

    + +

    ◆ checksum

    + +
    +
    + + + + +
    u16 MiiSelectorReturn::checksum
    +
    + +

    Checksum of the returned Mii data.

    +

    Stored as a big-endian value; use miiSelectorChecksumIsValid to verify.

    + +
    +
    + +

    ◆ guest_mii_name

    + +
    +
    + + + + +
    u16 MiiSelectorReturn::guest_mii_name[MIISELECTOR_GUESTMII_NAME_LEN]
    +
    + +

    Localized name of a Guest Mii, if one was selected (UTF16-LE string).

    +

    Zeroed otherwise.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structNFC__AmiiboConfig.html b/structNFC__AmiiboConfig.html new file mode 100644 index 000000000..f5423c25c --- /dev/null +++ b/structNFC__AmiiboConfig.html @@ -0,0 +1,131 @@ + + + + + + + +libctru: NFC_AmiiboConfig Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    NFC_AmiiboConfig Struct Reference
    +
    +
    + +

    AmiiboConfig structure, see also here: https://3dbrew.org/wiki/NFC:GetAmiiboConfig. + More...

    + +

    #include <nfc.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u16 lastwritedate_year
     
    +u8 lastwritedate_month
     
    +u8 lastwritedate_day
     
    +u16 write_counter
     
    +u8 characterID [3]
     
    +u8 series
     the first element is the collection ID, the second the character in this collection, the third the variant
     
    +u16 amiiboID
     ID of the series.
     
    +u8 type
     ID shared by all exact same amiibo. Some amiibo are only distinguished by this one like regular SMB Series Mario and the gold one.
     
    +u8 pagex4_byte3
     Type of amiibo 0 = figure, 1 = card, 2 = plush.
     
    +u16 appdata_size
     
    +u8 zeros [0x30]
     "NFC module writes hard-coded u8 value 0xD8 here. This is the size of the Amiibo AppData, apps can use this with the AppData R/W commands. ..."
     
    +

    Detailed Description

    +

    AmiiboConfig structure, see also here: https://3dbrew.org/wiki/NFC:GetAmiiboConfig.

    +
    Examples
    nfc/source/main.c.
    +
    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/nfc.h
    • +
    +
    + + + + diff --git a/structNFC__AmiiboSettings.html b/structNFC__AmiiboSettings.html new file mode 100644 index 000000000..4e1fd04d3 --- /dev/null +++ b/structNFC__AmiiboSettings.html @@ -0,0 +1,121 @@ + + + + + + + +libctru: NFC_AmiiboSettings Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    NFC_AmiiboSettings Struct Reference
    +
    +
    + +

    AmiiboSettings structure, see also here: https://3dbrew.org/wiki/NFC:GetAmiiboSettings. + More...

    + +

    #include <nfc.h>

    + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u8 mii [0x60]
     
    +u16 nickname [11]
     "Owner Mii."
     
    +u8 flags
     "UTF-16BE Amiibo nickname."
     
    +u8 countrycodeid
     "This is plaintext_amiibosettingsdata[0] & 0xF." See also the NFC_amiiboFlag enums.
     
    +u16 setupdate_year
     "This is plaintext_amiibosettingsdata[1]." "Country Code ID, from the system which setup this amiibo."
     
    +u8 setupdate_month
     
    +u8 setupdate_day
     
    +u8 unk_x7c [0x2c]
     
    +

    Detailed Description

    +

    AmiiboSettings structure, see also here: https://3dbrew.org/wiki/NFC:GetAmiiboSettings.

    +
    Examples
    nfc/source/main.c.
    +
    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/nfc.h
    • +
    +
    + + + + diff --git a/structNFC__AppDataInitStruct.html b/structNFC__AppDataInitStruct.html new file mode 100644 index 000000000..e7e92fd04 --- /dev/null +++ b/structNFC__AppDataInitStruct.html @@ -0,0 +1,97 @@ + + + + + + + +libctru: NFC_AppDataInitStruct Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    NFC_AppDataInitStruct Struct Reference
    +
    +
    + +

    Used by nfcInitializeWriteAppData() internally, see also here: https://3dbrew.org/wiki/NFC:GetAppDataInitStruct. + More...

    + +

    #include <nfc.h>

    + + + + + + +

    +Data Fields

    +u8 data_x0 [0xC]
     
    +u8 data_xc [0x30]
     
    +

    Detailed Description

    +
    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/nfc.h
    • +
    +
    + + + + diff --git a/structNFC__AppDataWriteStruct.html b/structNFC__AppDataWriteStruct.html new file mode 100644 index 000000000..04770a20a --- /dev/null +++ b/structNFC__AppDataWriteStruct.html @@ -0,0 +1,100 @@ + + + + + + + +libctru: NFC_AppDataWriteStruct Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    NFC_AppDataWriteStruct Struct Reference
    +
    +
    + +

    Used by nfcWriteAppData() internally, see also: https://3dbrew.org/wiki/NFC:WriteAppData. + More...

    + +

    #include <nfc.h>

    + + + + + + + + +

    +Data Fields

    +u8 id [10]
     
    +u8 id_size
     
    +u8 unused_xb [0x15]
     
    +

    Detailed Description

    +
    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/nfc.h
    • +
    +
    + + + + diff --git a/structNFC__TagInfo.html b/structNFC__TagInfo.html new file mode 100644 index 000000000..be8f8f9b3 --- /dev/null +++ b/structNFC__TagInfo.html @@ -0,0 +1,100 @@ + + + + + + + +libctru: NFC_TagInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    NFC_TagInfo Struct Reference
    +
    +
    + + + + + + + + + + + +

    +Data Fields

    +u16 id_offset_size
     
    +u8 unk_x2
     "u16 size/offset of the below ID data. Normally this is 0x7. When this is <=10, this field is the size of the below ID data. When this is >10, this is the offset of the 10-byte ID data, relative to structstart+4+<offsetfield-10>. It's unknown in what cases this 10-byte ID data is used."
     
    +u8 unk_x3
     
    +u8 id [0x28]
     
    +

    Detailed Description

    +
    Examples
    nfc/source/main.c.
    +
    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/nfc.h
    • +
    +
    + + + + diff --git a/structNIM__TitleConfig.html b/structNIM__TitleConfig.html new file mode 100644 index 000000000..28735cd63 --- /dev/null +++ b/structNIM__TitleConfig.html @@ -0,0 +1,119 @@ + + + + + + + +libctru: NIM_TitleConfig Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    NIM_TitleConfig Struct Reference
    +
    +
    + +

    Input configuration for NIM download/installation tasks. + More...

    + +

    #include <nim.h>

    + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u64 titleId
     Title ID.
     
    +u32 version
     Title version.
     
    +u32 unknown_0
     Always 0.
     
    +u8 ratingAge
     Age for the HOME Menu parental controls.
     
    +u8 mediaType
     Media type, see FS_MediaType enum.
     
    +u8 padding [2]
     Padding.
     
    +u32 unknown_1
     Unknown input, seems to be always 0.
     
    +

    Detailed Description

    +

    Input configuration for NIM download/installation tasks.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/nim.h
    • +
    +
    + + + + diff --git a/structNIM__TitleProgress.html b/structNIM__TitleProgress.html new file mode 100644 index 000000000..2239bdeca --- /dev/null +++ b/structNIM__TitleProgress.html @@ -0,0 +1,107 @@ + + + + + + + +libctru: NIM_TitleProgress Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    NIM_TitleProgress Struct Reference
    +
    +
    + +

    Output struct for NIM downloads/installations in progress. + More...

    + +

    #include <nim.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +u32 state
     State, see NIM_DownloadState enum.
     
    +Result lastResult
     Last result code in NIM.
     
    +u64 downloadedSize
     Amount of bytes that have been downloaded.
     
    +u64 totalSize
     Amount of bytes that need to be downloaded in total.
     
    +

    Detailed Description

    +

    Output struct for NIM downloads/installations in progress.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/nim.h
    • +
    +
    + + + + diff --git a/structNotificationEvent.html b/structNotificationEvent.html new file mode 100644 index 000000000..1128d3979 --- /dev/null +++ b/structNotificationEvent.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: NotificationEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    NotificationEvent Struct Reference
    +
    +
    + +

    Friend Notification Event structure. + More...

    + +

    #include <frd.h>

    + + + + + + + + + + +

    +Data Fields

    +u8 type
     
    +u8 padding3 [3]
     
    +u32 padding
     
    +FriendKey key
     
    +

    Detailed Description

    +

    Friend Notification Event structure.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/frd.h
    • +
    +
    + + + + diff --git a/structNotificationHeader.html b/structNotificationHeader.html new file mode 100644 index 000000000..60002d61a --- /dev/null +++ b/structNotificationHeader.html @@ -0,0 +1,127 @@ + + + + + + + +libctru: NotificationHeader Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    NotificationHeader Struct Reference
    +
    +
    + +

    Notification header data. + More...

    + +

    #include <news.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +bool dataSet
     
    +bool unread
     
    +bool enableJPEG
     
    +bool isSpotPass
     
    +bool isOptedOut
     
    +u8 unkData [3]
     
    +u64 processID
     
    +u8 unkData2 [8]
     
    +u64 jumpParam
     
    +u8 unkData3 [8]
     
    +u64 time
     
    +u16 title [32]
     
    +

    Detailed Description

    +

    Notification header data.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/news.h
    • +
    +
    + + + + diff --git a/structOS__VersionBin.html b/structOS__VersionBin.html new file mode 100644 index 000000000..2e48bb5a1 --- /dev/null +++ b/structOS__VersionBin.html @@ -0,0 +1,109 @@ + + + + + + + +libctru: OS_VersionBin Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    OS_VersionBin Struct Reference
    +
    +
    + +

    OS_VersionBin. Format of the system version: "<major>.<minor>.<build>-<nupver><region>". + More...

    + +

    #include <os.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +u8 build
     
    +u8 minor
     
    +u8 mainver
     
    +u8 reserved_x3
     
    +char region
     
    +u8 reserved_x5 [0x3]
     
    +

    Detailed Description

    +

    OS_VersionBin. Format of the system version: "<major>.<minor>.<build>-<nupver><region>".

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/os.h
    • +
    +
    + + + + diff --git a/structOutputStringEvent.html b/structOutputStringEvent.html new file mode 100644 index 000000000..1c7403459 --- /dev/null +++ b/structOutputStringEvent.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: OutputStringEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    OutputStringEvent Struct Reference
    +
    +
    + +

    Event relating to debug output. + More...

    + +

    #include <svc.h>

    + + + + + + + + +

    +Data Fields

    +u32 string_addr
     Address of the outputted string.
     
    +u32 string_size
     Size of the outputted string.
     
    +

    Detailed Description

    +

    Event relating to debug output.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structPXIDEV__SPIBuffer.html b/structPXIDEV__SPIBuffer.html new file mode 100644 index 000000000..65774d796 --- /dev/null +++ b/structPXIDEV__SPIBuffer.html @@ -0,0 +1,107 @@ + + + + + + + +libctru: PXIDEV_SPIBuffer Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    PXIDEV_SPIBuffer Struct Reference
    +
    +
    + +

    Card SPI transfer buffer. + More...

    + +

    #include <pxidev.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +void * ptr
     Data pointer.
     
    +u32 size
     Data size.
     
    +u8 transferOption
     Transfer options. See pxiDevMakeTransferOption.
     
    +u64 waitOperation
     Wait operation. See pxiDevMakeWaitOperation.
     
    +

    Detailed Description

    +

    Card SPI transfer buffer.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structPageInfo.html b/structPageInfo.html new file mode 100644 index 000000000..e7a13aea9 --- /dev/null +++ b/structPageInfo.html @@ -0,0 +1,95 @@ + + + + + + + +libctru: PageInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    PageInfo Struct Reference
    +
    +
    + +

    Memory page information. + More...

    + +

    #include <svc.h>

    + + + + + +

    +Data Fields

    +u32 flags
     Page flags.
     
    +

    Detailed Description

    +

    Memory page information.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structPrintConsole.html b/structPrintConsole.html new file mode 100644 index 000000000..52392add2 --- /dev/null +++ b/structPrintConsole.html @@ -0,0 +1,188 @@ + + + + + + + +libctru: PrintConsole Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    PrintConsole Struct Reference
    +
    +
    + +

    Console structure used to store the state of a console render context. + More...

    + +

    #include <console.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +ConsoleFont font
     Font of the console.
     
    +u16frameBuffer
     Framebuffer address.
     
    +int cursorX
     Current X location of the cursor (as a tile offset by default)
     
    +int cursorY
     Current Y location of the cursor (as a tile offset by default)
     
    +int prevCursorX
     Internal state.
     
    +int prevCursorY
     Internal state.
     
    +int consoleWidth
     Width of the console hardware layer in characters.
     
    +int consoleHeight
     Height of the console hardware layer in characters.
     
    +int windowX
     Window X location in characters (not implemented)
     
    +int windowY
     Window Y location in characters (not implemented)
     
    +int windowWidth
     Window width in characters (not implemented)
     
    +int windowHeight
     Window height in characters (not implemented)
     
    +int tabSize
     Size of a tab.
     
    +u16 fg
     Foreground color.
     
    +u16 bg
     Background color.
     
    +int flags
     Reverse/bright flags.
     
    +ConsolePrint PrintChar
     Callback for printing a character. Should return true if it has handled rendering the graphics (else the print engine will attempt to render via tiles).
     
    +bool consoleInitialised
     True if the console is initialized.
     
    +

    Detailed Description

    +

    Console structure used to store the state of a console render context.

    +

    Default values from consoleGetDefault();

    PrintConsole defaultConsole =
    +
    {
    +
    //Font:
    +
    {
    +
    (u8*)default_font_bin, //font gfx
    +
    0, //first ascii character in the set
    +
    128, //number of characters in the font set
    +
    },
    +
    0,0, //cursorX cursorY
    +
    0,0, //prevcursorX prevcursorY
    +
    40, //console width
    +
    30, //console height
    +
    0, //window x
    +
    0, //window y
    +
    32, //window width
    +
    24, //window height
    +
    3, //tab size
    +
    0, //font character offset
    +
    0, //print callback
    +
    false //console initialized
    +
    };
    +
    Console structure used to store the state of a console render context.
    Definition: console.h:77
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    Examples
    audio/filters/source/main.c, audio/streaming/source/main.c, graphics/printing/both-screen-text/source/main.c, and graphics/printing/multiple-windows-text/source/main.c.
    +
    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structPtmSleepConfig.html b/structPtmSleepConfig.html new file mode 100644 index 000000000..31569d933 --- /dev/null +++ b/structPtmSleepConfig.html @@ -0,0 +1,92 @@ + + + + + + + +libctru: PtmSleepConfig Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    PtmSleepConfig Struct Reference
    +
    +
    + + + + + + + + +

    +Data Fields

    +PtmWakeEvents exit_sleep_events
     Wake events for which the system should fully wake up.
     
    +PtmWakeEvents continue_sleep_events
     Wake events for which the system should return to sleep.
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structPtmWakeEvents.html b/structPtmWakeEvents.html new file mode 100644 index 000000000..7b8fecaf7 --- /dev/null +++ b/structPtmWakeEvents.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: PtmWakeEvents Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    PtmWakeEvents Struct Reference
    +
    +
    + +

    PDN wake events and MCU interrupts to select, combined with those of other processes. + More...

    + +

    #include <ptmsysm.h>

    + + + + + + + + +

    +Data Fields

    +u32 pdn_wake_events
     Written to PDN_WAKE_EVENTS. Don't select bit26 (MCU), PTM will do it automatically.
     
    +u32 mcu_interupt_mask
     MCU interrupts to check when a MCU wake event happens.
     
    +

    Detailed Description

    +

    PDN wake events and MCU interrupts to select, combined with those of other processes.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structQTM__HeadTrackingInfo.html b/structQTM__HeadTrackingInfo.html new file mode 100644 index 000000000..b45837e56 --- /dev/null +++ b/structQTM__HeadTrackingInfo.html @@ -0,0 +1,113 @@ + + + + + + + +libctru: QTM_HeadTrackingInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    QTM_HeadTrackingInfo Struct Reference
    +
    +
    + +

    Head tracking info. + More...

    + +

    #include <qtm.h>

    + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u8 flags [5]
     Flags.
     
    +u8 padding [3]
     Padding.
     
    +float floatdata_x08
     Unknown. Not used by System_Settings.
     
    +QTM_HeadTrackingInfoCoord coords0 [4]
     Head coordinates.
     
    +u32 unk_x2c [5]
     Unknown. Not used by System_Settings.
     
    +

    Detailed Description

    +

    Head tracking info.

    +
    Examples
    qtm/source/main.c.
    +
    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/qtm.h
    • +
    +
    + + + + diff --git a/structQTM__HeadTrackingInfoCoord.html b/structQTM__HeadTrackingInfoCoord.html new file mode 100644 index 000000000..88870da55 --- /dev/null +++ b/structQTM__HeadTrackingInfoCoord.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: QTM_HeadTrackingInfoCoord Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    QTM_HeadTrackingInfoCoord Struct Reference
    +
    +
    + +

    Head tracking coordinate pair. + More...

    + +

    #include <qtm.h>

    + + + + + + + + +

    +Data Fields

    +float x
     X coordinate.
     
    +float y
     Y coordinate.
     
    +

    Detailed Description

    +

    Head tracking coordinate pair.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/qtm.h
    • +
    +
    + + + + diff --git a/structSOCU__ARPTableEntry.html b/structSOCU__ARPTableEntry.html new file mode 100644 index 000000000..e5ea941b8 --- /dev/null +++ b/structSOCU__ARPTableEntry.html @@ -0,0 +1,105 @@ + + + + + + + +libctru: SOCU_ARPTableEntry Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    SOCU_ARPTableEntry Struct Reference
    +
    +
    + +

    One entry of the ARP table retrieved by using SOCU_GetNetworkOpt and NETOPT_ARP_TABLE. + More...

    + +

    #include <soc.h>

    + + + + + + + + + + + + +

    +Data Fields

    +u32 unk0
     
    +struct in_addr ip
     The IPv4 address associated to the entry.
     
    +u8 mac [6]
     The MAC address of associated to the entry.
     
    +u8 padding [2]
     
    +

    Detailed Description

    +

    One entry of the ARP table retrieved by using SOCU_GetNetworkOpt and NETOPT_ARP_TABLE.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/soc.h
    • +
    +
    + + + + diff --git a/structSOCU__DNSTableEntry.html b/structSOCU__DNSTableEntry.html new file mode 100644 index 000000000..f652db0af --- /dev/null +++ b/structSOCU__DNSTableEntry.html @@ -0,0 +1,102 @@ + + + + + + + +libctru: SOCU_DNSTableEntry Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    SOCU_DNSTableEntry Struct Reference
    +
    +
    + +

    One entry of the DNS servers table retrieved by using SOCU_GetNetworkOpt and NETOPT_DNS_TABLE. + More...

    + +

    #include <soc.h>

    + + + + + + + + + + +

    +Data Fields

    +u32 family
     
    +struct in_addr ip
     Family of the address of the DNS server.
     
    +u8 padding [12]
     IP of the DNS server.
     
    +

    Detailed Description

    +

    One entry of the DNS servers table retrieved by using SOCU_GetNetworkOpt and NETOPT_DNS_TABLE.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/soc.h
    • +
    +
    + + + + diff --git a/structSOCU__IPInfo.html b/structSOCU__IPInfo.html new file mode 100644 index 000000000..bdf806630 --- /dev/null +++ b/structSOCU__IPInfo.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: SOCU_IPInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    SOCU_IPInfo Struct Reference
    +
    +
    + +

    Structure returned by SOCU_GetNetworkOpt when using NETOPT_IP_INFO. + More...

    + +

    #include <soc.h>

    + + + + + + + + + + + +

    +Data Fields

    +struct in_addr ip
     Current IPv4 address.
     
    +struct in_addr netmask
     Current network mask.
     
    +struct in_addr broadcast
     Current network broadcast address.
     
    +

    Detailed Description

    +

    Structure returned by SOCU_GetNetworkOpt when using NETOPT_IP_INFO.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/soc.h
    • +
    +
    + + + + diff --git a/structSOCU__RoutingTableEntry.html b/structSOCU__RoutingTableEntry.html new file mode 100644 index 000000000..751637cdd --- /dev/null +++ b/structSOCU__RoutingTableEntry.html @@ -0,0 +1,128 @@ + + + + + + + +libctru: SOCU_RoutingTableEntry Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    SOCU_RoutingTableEntry Struct Reference
    +
    +
    + +

    One entry of the routing table retrieved by using SOCU_GetNetworkOpt and NETOPT_ROUTING_TABLE. + More...

    + +

    #include <soc.h>

    + + + + + + + + + + + + + + + + + +

    +Data Fields

    +struct in_addr dest_ip
     Destination IP address of the route.
     
    +struct in_addr netmask
     Mask used for this route.
     
    +struct in_addr gateway
     Gateway address to reach the network.
     
    u32 flags
     Linux netstat flags. More...
     
    +u64 time
     number of milliseconds since 1st Jan 1900 00:00.
     
    +

    Detailed Description

    +

    One entry of the routing table retrieved by using SOCU_GetNetworkOpt and NETOPT_ROUTING_TABLE.

    +

    Field Documentation

    + +

    ◆ flags

    + +
    +
    + + + + +
    u32 SOCU_RoutingTableEntry::flags
    +
    + +

    Linux netstat flags.

    +
    See also
    ROUTING_FLAG_G
    + +
    +
    +
    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/soc.h
    • +
    +
    + + + + diff --git a/structSOCU__TCPTableEntry.html b/structSOCU__TCPTableEntry.html new file mode 100644 index 000000000..8290c7385 --- /dev/null +++ b/structSOCU__TCPTableEntry.html @@ -0,0 +1,117 @@ + + + + + + + +libctru: SOCU_TCPTableEntry Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    SOCU_TCPTableEntry Struct Reference
    +
    +
    + +

    One entry of the TCP sockets table retrieved by using SOCU_GetNetworkOpt and NETOPT_TCP_TABLE. + More...

    + +

    #include <soc.h>

    + + + + + + + + + + +

    +Data Fields

    u32 state
     
    +struct sockaddr_storage local
     Local address information.
     
    +struct sockaddr_storage remote
     Remote address information.
     
    +

    Detailed Description

    +

    One entry of the TCP sockets table retrieved by using SOCU_GetNetworkOpt and NETOPT_TCP_TABLE.

    +

    Field Documentation

    + +

    ◆ state

    + +
    +
    + + + + +
    u32 SOCU_TCPTableEntry::state
    +
    +
    See also
    TCP states defines
    + +
    +
    +
    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/soc.h
    • +
    +
    + + + + diff --git a/structSOCU__UDPTableEntry.html b/structSOCU__UDPTableEntry.html new file mode 100644 index 000000000..ee559775b --- /dev/null +++ b/structSOCU__UDPTableEntry.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: SOCU_UDPTableEntry Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    SOCU_UDPTableEntry Struct Reference
    +
    +
    + +

    One entry of the UDP sockets table retrieved by using SOCU_GetNetworkOpt and NETOPT_UDP_TABLE. + More...

    + +

    #include <soc.h>

    + + + + + + + + +

    +Data Fields

    +struct sockaddr_storage local
     Local address information.
     
    +struct sockaddr_storage remote
     Remote address information.
     
    +

    Detailed Description

    +

    One entry of the UDP sockets table retrieved by using SOCU_GetNetworkOpt and NETOPT_UDP_TABLE.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/soc.h
    • +
    +
    + + + + diff --git a/structScheduleInOutEvent.html b/structScheduleInOutEvent.html new file mode 100644 index 000000000..93edd708a --- /dev/null +++ b/structScheduleInOutEvent.html @@ -0,0 +1,95 @@ + + + + + + + +libctru: ScheduleInOutEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ScheduleInOutEvent Struct Reference
    +
    +
    + +

    Event relating to the scheduler. + More...

    + +

    #include <svc.h>

    + + + + + +

    +Data Fields

    +u64 clock_tick
     Clock tick that the event occurred.
     
    +

    Detailed Description

    +

    Event relating to the scheduler.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structStartupInfo.html b/structStartupInfo.html new file mode 100644 index 000000000..b565fad66 --- /dev/null +++ b/structStartupInfo.html @@ -0,0 +1,111 @@ + + + + + + + +libctru: StartupInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    StartupInfo Struct Reference
    +
    +
    + +

    Information for the main thread of a process. + More...

    + +

    #include <svc.h>

    + + + + + + + + + + + + + + + + + +

    +Data Fields

    +int priority
     Priority of the main thread.
     
    +u32 stack_size
     Size of the stack of the main thread.
     
    +int argc
     Unused on retail kernel.
     
    +u16argv
     Unused on retail kernel.
     
    +u16envp
     Unused on retail kernel.
     
    +

    Detailed Description

    +

    Information for the main thread of a process.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structStopPointExceptionEvent.html b/structStopPointExceptionEvent.html new file mode 100644 index 000000000..7017f0301 --- /dev/null +++ b/structStopPointExceptionEvent.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: StopPointExceptionEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    StopPointExceptionEvent Struct Reference
    +
    +
    + +

    Event relating to stop points. + More...

    + +

    #include <svc.h>

    + + + + + + + + +

    +Data Fields

    +StopPointType type
     Stop point type, see StopPointType.
     
    +u32 fault_information
     FAR for Watchpoints, otherwise 0.
     
    +

    Detailed Description

    +

    Event relating to stop points.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structSwkbdDictWord.html b/structSwkbdDictWord.html new file mode 100644 index 000000000..a560de936 --- /dev/null +++ b/structSwkbdDictWord.html @@ -0,0 +1,109 @@ + + + + + + + +libctru: SwkbdDictWord Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    SwkbdDictWord Struct Reference
    +
    +
    + +

    Keyboard dictionary word for predictive input. + More...

    + +

    #include <swkbd.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +u16 reading [SWKBD_MAX_WORD_LEN+1]
     Reading of the word (that is, the string that needs to be typed).
     
    +u16 word [SWKBD_MAX_WORD_LEN+1]
     Spelling of the word.
     
    +u8 language
     Language the word applies to.
     
    +bool all_languages
     Specifies if the word applies to all languages.
     
    +

    Detailed Description

    +

    Keyboard dictionary word for predictive input.

    +
    Examples
    input/software-keyboard/source/main.c.
    +
    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structSwkbdExtra.html b/structSwkbdExtra.html new file mode 100644 index 000000000..dc7795812 --- /dev/null +++ b/structSwkbdExtra.html @@ -0,0 +1,109 @@ + + + + + + + +libctru: SwkbdExtra Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    SwkbdExtra Struct Reference
    +
    +
    + +

    Internal libctru book-keeping structure for software keyboards. + More...

    + +

    #include <swkbd.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +const char * initial_text
     
    +const SwkbdDictWorddict
     
    +SwkbdStatusDatastatus_data
     
    +SwkbdLearningDatalearning_data
     
    +SwkbdCallbackFn callback
     
    +void * callback_user
     
    +

    Detailed Description

    +

    Internal libctru book-keeping structure for software keyboards.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structSwkbdLearningData.html b/structSwkbdLearningData.html new file mode 100644 index 000000000..d00a2376e --- /dev/null +++ b/structSwkbdLearningData.html @@ -0,0 +1,96 @@ + + + + + + + +libctru: SwkbdLearningData Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    SwkbdLearningData Struct Reference
    +
    +
    + +

    Keyboard predictive input learning data. + More...

    + +

    #include <swkbd.h>

    + + + + +

    +Data Fields

    +u32 data [0x291B]
     
    +

    Detailed Description

    +

    Keyboard predictive input learning data.

    +
    Examples
    input/software-keyboard/source/main.c.
    +
    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structSwkbdState.html b/structSwkbdState.html new file mode 100644 index 000000000..f89cc74f6 --- /dev/null +++ b/structSwkbdState.html @@ -0,0 +1,217 @@ + + + + + + + +libctru: SwkbdState Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    SwkbdState Struct Reference
    +
    +
    + +

    Software keyboard parameter structure, it shouldn't be modified directly. + More...

    + +

    #include <swkbd.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +int type
     
    +int num_buttons_m1
     
    +int valid_input
     
    +int password_mode
     
    +int is_parental_screen
     
    +int darken_top_screen
     
    +u32 filter_flags
     
    +u32 save_state_flags
     
    +u16 max_text_len
     
    +u16 dict_word_count
     
    +u16 max_digits
     
    +u16 button_text [3][SWKBD_MAX_BUTTON_TEXT_LEN+1]
     
    +u16 numpad_keys [2]
     
    +u16 hint_text [SWKBD_MAX_HINT_TEXT_LEN+1]
     
    +bool predictive_input
     
    +bool multiline
     
    +bool fixed_width
     
    +bool allow_home
     
    +bool allow_reset
     
    +bool allow_power
     
    +bool unknown
     
    +bool default_qwerty
     
    +bool button_submits_text [4]
     
    +u16 language
     
    +int initial_text_offset
     
    +int dict_offset
     
    +int initial_status_offset
     
    +int initial_learning_offset
     
    +size_t shared_memory_size
     
    +u32 version
     
    +SwkbdResult result
     
    +int status_offset
     
    +int learning_offset
     
    +int text_offset
     
    +u16 text_length
     
    +int callback_result
     
    +u16 callback_msg [SWKBD_MAX_CALLBACK_MSG_LEN+1]
     
    +bool skip_at_check
     
    +union {
    +   u8   reserved [171]
     
    +   SwkbdExtra   extra
     
    }; 
     
    +

    Detailed Description

    +

    Software keyboard parameter structure, it shouldn't be modified directly.

    +
    Examples
    input/software-keyboard/source/main.c.
    +
    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structSwkbdStatusData.html b/structSwkbdStatusData.html new file mode 100644 index 000000000..54c1dd39d --- /dev/null +++ b/structSwkbdStatusData.html @@ -0,0 +1,96 @@ + + + + + + + +libctru: SwkbdStatusData Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    SwkbdStatusData Struct Reference
    +
    +
    + +

    Keyboard status data. + More...

    + +

    #include <swkbd.h>

    + + + + +

    +Data Fields

    +u32 data [0x11]
     
    +

    Detailed Description

    +

    Keyboard status data.

    +
    Examples
    input/software-keyboard/source/main.c.
    +
    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structSyscallInOutEvent.html b/structSyscallInOutEvent.html new file mode 100644 index 000000000..ed786d9a3 --- /dev/null +++ b/structSyscallInOutEvent.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: SyscallInOutEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    SyscallInOutEvent Struct Reference
    +
    +
    + +

    Event relating to syscalls. + More...

    + +

    #include <svc.h>

    + + + + + + + + +

    +Data Fields

    +u64 clock_tick
     Clock tick that the event occurred.
     
    +u32 syscall
     Syscall sent/received.
     
    +

    Detailed Description

    +

    Event relating to syscalls.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structTGLP__s.html b/structTGLP__s.html new file mode 100644 index 000000000..01e8e831d --- /dev/null +++ b/structTGLP__s.html @@ -0,0 +1,139 @@ + + + + + + + +libctru: TGLP_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    TGLP_s Struct Reference
    +
    +
    + +

    Font texture sheet information. + More...

    + +

    #include <font.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u8 cellWidth
     Width of a glyph cell.
     
    +u8 cellHeight
     Height of a glyph cell.
     
    +u8 baselinePos
     Vertical position of the baseline.
     
    +u8 maxCharWidth
     Maximum character width.
     
    +u32 sheetSize
     Size in bytes of a texture sheet.
     
    +u16 nSheets
     Number of texture sheets.
     
    +u16 sheetFmt
     GPU texture format (GPU_TEXCOLOR).
     
    +u16 nRows
     Number of glyphs per row per sheet.
     
    +u16 nLines
     Number of glyph rows per sheet.
     
    +u16 sheetWidth
     Texture sheet width.
     
    +u16 sheetHeight
     Texture sheet height.
     
    +u8sheetData
     Pointer to texture sheet data.
     
    +

    Detailed Description

    +

    Font texture sheet information.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structThreadContext.html b/structThreadContext.html new file mode 100644 index 000000000..bf98cb918 --- /dev/null +++ b/structThreadContext.html @@ -0,0 +1,92 @@ + + + + + + + +libctru: ThreadContext Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ThreadContext Struct Reference
    +
    +
    + + + + + + + + +

    +Data Fields

    +CpuRegisters cpu_registers
     CPU registers.
     
    +FpuRegisters fpu_registers
     FPU registers.
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structTickCounter.html b/structTickCounter.html new file mode 100644 index 000000000..5a42bb511 --- /dev/null +++ b/structTickCounter.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: TickCounter Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    TickCounter Struct Reference
    +
    +
    + +

    Tick counter. + More...

    + +

    #include <os.h>

    + + + + + + + + +

    +Data Fields

    +u64 elapsed
     Elapsed CPU ticks between measurements.
     
    +u64 reference
     Point in time used as reference.
     
    +

    Detailed Description

    +

    Tick counter.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/os.h
    • +
    +
    + + + + diff --git a/structTitleData.html b/structTitleData.html new file mode 100644 index 000000000..962e7d46c --- /dev/null +++ b/structTitleData.html @@ -0,0 +1,100 @@ + + + + + + + +libctru: TitleData Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    TitleData Struct Reference
    +
    +
    + +

    Friend Title data. + More...

    + +

    #include <frd.h>

    + + + + + + + + +

    +Data Fields

    +u64 tid
     
    +u32 version
     
    +u32 unk
     
    +

    Detailed Description

    +

    Friend Title data.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/frd.h
    • +
    +
    + + + + diff --git a/structUserBreakExceptionEvent.html b/structUserBreakExceptionEvent.html new file mode 100644 index 000000000..a9e890084 --- /dev/null +++ b/structUserBreakExceptionEvent.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: UserBreakExceptionEvent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    UserBreakExceptionEvent Struct Reference
    +
    +
    + +

    Event relating to svcBreak. + More...

    + +

    #include <svc.h>

    + + + + + + + + + + + +

    +Data Fields

    +UserBreakType type
     User break type, see UserBreakType.
     
    +u32 croInfo
     For LOAD_RO and UNLOAD_RO.
     
    +u32 croInfoSize
     For LOAD_RO and UNLOAD_RO.
     
    +

    Detailed Description

    +

    Event relating to svcBreak.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structY2RU__ColorCoefficients.html b/structY2RU__ColorCoefficients.html new file mode 100644 index 000000000..8797640a7 --- /dev/null +++ b/structY2RU__ColorCoefficients.html @@ -0,0 +1,135 @@ + + + + + + + +libctru: Y2RU_ColorCoefficients Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    Y2RU_ColorCoefficients Struct Reference
    +
    +
    + +

    Coefficients of the YUV->RGB conversion formula. + More...

    + +

    #include <y2r.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u16 rgb_Y
     RGB per unit Y.
     
    +u16 r_V
     Red per unit V.
     
    +u16 g_V
     Green per unit V.
     
    +u16 g_U
     Green per unit U.
     
    +u16 b_U
     Blue per unit U.
     
    +u16 r_offset
     Red offset.
     
    +u16 g_offset
     Green offset.
     
    +u16 b_offset
     Blue offset.
     
    +

    Detailed Description

    +

    Coefficients of the YUV->RGB conversion formula.

    +

    A set of coefficients configuring the RGB to YUV conversion. Coefficients 0-4 are unsigned 2.8 fixed pointer numbers representing entries on the conversion matrix, while coefficient 5-7 are signed 11.5 fixed point numbers added as offsets to the RGB result.

    +

    The overall conversion process formula is:

    R = trunc((rgb_Y * Y + r_V * V) + 0.75 + r_offset)
    +
    G = trunc((rgb_Y * Y - g_U * U - g_V * V) + 0.75 + g_offset)
    +
    B = trunc((rgb_Y * Y + b_U * U ) + 0.75 + b_offset)
    +
    u16 r_V
    Red per unit V.
    Definition: y2r.h:72
    +
    u16 b_offset
    Blue offset.
    Definition: y2r.h:78
    +
    u16 b_U
    Blue per unit U.
    Definition: y2r.h:75
    +
    u16 g_V
    Green per unit V.
    Definition: y2r.h:73
    +
    u16 rgb_Y
    RGB per unit Y.
    Definition: y2r.h:71
    +
    u16 g_U
    Green per unit U.
    Definition: y2r.h:74
    +
    u16 g_offset
    Green offset.
    Definition: y2r.h:77
    +
    u16 r_offset
    Red offset.
    Definition: y2r.h:76
    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/y2r.h
    • +
    +
    + + + + diff --git a/structY2RU__ConversionParams.html b/structY2RU__ConversionParams.html new file mode 100644 index 000000000..671b4c4fe --- /dev/null +++ b/structY2RU__ConversionParams.html @@ -0,0 +1,128 @@ + + + + + + + +libctru: Y2RU_ConversionParams Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    Y2RU_ConversionParams Struct Reference
    +
    +
    + +

    Structure used to configure all parameters at once. + More...

    + +

    #include <y2r.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +Y2RU_InputFormat input_format: 8
     Value passed to Y2RU_SetInputFormat.
     
    +Y2RU_OutputFormat output_format: 8
     Value passed to Y2RU_SetOutputFormat.
     
    +Y2RU_Rotation rotation: 8
     Value passed to Y2RU_SetRotation.
     
    +Y2RU_BlockAlignment block_alignment: 8
     Value passed to Y2RU_SetBlockAlignment.
     
    +s16 input_line_width
     Value passed to Y2RU_SetInputLineWidth.
     
    +s16 input_lines
     Value passed to Y2RU_SetInputLines.
     
    +Y2RU_StandardCoefficient standard_coefficient: 8
     Value passed to Y2RU_SetStandardCoefficient.
     
    +u8 unused
     Unused.
     
    +u16 alpha
     Value passed to Y2RU_SetAlpha.
     
    +

    Detailed Description

    +

    Structure used to configure all parameters at once.

    +

    You can send a batch of configuration parameters using this structure and Y2RU_SetConversionParams.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/y2r.h
    • +
    +
    + + + + diff --git a/structY2RU__DitheringWeightParams.html b/structY2RU__DitheringWeightParams.html new file mode 100644 index 000000000..378484512 --- /dev/null +++ b/structY2RU__DitheringWeightParams.html @@ -0,0 +1,155 @@ + + + + + + + +libctru: Y2RU_DitheringWeightParams Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    Y2RU_DitheringWeightParams Struct Reference
    +
    +
    + +

    Dithering weights. + More...

    + +

    #include <y2r.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u16 w0_xEven_yEven
     Weight 0 for even X, even Y.
     
    +u16 w0_xOdd_yEven
     Weight 0 for odd X, even Y.
     
    +u16 w0_xEven_yOdd
     Weight 0 for even X, odd Y.
     
    +u16 w0_xOdd_yOdd
     Weight 0 for odd X, odd Y.
     
    +u16 w1_xEven_yEven
     Weight 1 for even X, even Y.
     
    +u16 w1_xOdd_yEven
     Weight 1 for odd X, even Y.
     
    +u16 w1_xEven_yOdd
     Weight 1 for even X, odd Y.
     
    +u16 w1_xOdd_yOdd
     Weight 1 for odd X, odd Y.
     
    +u16 w2_xEven_yEven
     Weight 2 for even X, even Y.
     
    +u16 w2_xOdd_yEven
     Weight 2 for odd X, even Y.
     
    +u16 w2_xEven_yOdd
     Weight 2 for even X, odd Y.
     
    +u16 w2_xOdd_yOdd
     Weight 2 for odd X, odd Y.
     
    +u16 w3_xEven_yEven
     Weight 3 for even X, even Y.
     
    +u16 w3_xOdd_yEven
     Weight 3 for odd X, even Y.
     
    +u16 w3_xEven_yOdd
     Weight 3 for even X, odd Y.
     
    +u16 w3_xOdd_yOdd
     Weight 3 for odd X, odd Y.
     
    +

    Detailed Description

    +

    Dithering weights.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/y2r.h
    • +
    +
    + + + + diff --git a/structaccelVector.html b/structaccelVector.html new file mode 100644 index 000000000..5fb7a69ef --- /dev/null +++ b/structaccelVector.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: accelVector Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    accelVector Struct Reference
    +
    +
    + +

    Accelerometer vector. + More...

    + +

    #include <hid.h>

    + + + + + + + + + + + +

    +Data Fields

    +s16 x
     Accelerometer X.
     
    +s16 y
     Accelerometer Y.
     
    +s16 z
     Accelerometer Z.
     
    +

    Detailed Description

    +

    Accelerometer vector.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/hid.h
    • +
    +
    + + + + diff --git a/structacuConfig.html b/structacuConfig.html new file mode 100644 index 000000000..b2b92ed7b --- /dev/null +++ b/structacuConfig.html @@ -0,0 +1,94 @@ + + + + + + + +libctru: acuConfig Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    acuConfig Struct Reference
    +
    +
    + +

    Struct to contain the data for connecting to a Wifi network from a stored slot. + More...

    + +

    #include <ac.h>

    + + + + +

    +Data Fields

    +u8 reserved [0x200]
     
    +

    Detailed Description

    +

    Struct to contain the data for connecting to a Wifi network from a stored slot.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/ac.h
    • +
    +
    + + + + diff --git a/structaddrinfo.html b/structaddrinfo.html new file mode 100644 index 000000000..f8879ad7d --- /dev/null +++ b/structaddrinfo.html @@ -0,0 +1,111 @@ + + + + + + + +libctru: addrinfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    addrinfo Struct Reference
    +
    +
    + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +int ai_flags
     
    +int ai_family
     
    +int ai_socktype
     
    +int ai_protocol
     
    +socklen_t ai_addrlen
     
    +char * ai_canonname
     
    +struct sockaddrai_addr
     
    +struct addrinfoai_next
     
    +

    Detailed Description

    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structangularRate.html b/structangularRate.html new file mode 100644 index 000000000..50b8a5bc6 --- /dev/null +++ b/structangularRate.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: angularRate Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    angularRate Struct Reference
    +
    +
    + +

    Gyroscope angular rate. + More...

    + +

    #include <hid.h>

    + + + + + + + + + + + +

    +Data Fields

    +s16 x
     Roll.
     
    +s16 z
     Yaw.
     
    +s16 y
     Pitch.
     
    +

    Detailed Description

    +

    Gyroscope angular rate.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/hid.h
    • +
    +
    + + + + diff --git a/structaptCaptureBufInfo.html b/structaptCaptureBufInfo.html new file mode 100644 index 000000000..bda6ea3a3 --- /dev/null +++ b/structaptCaptureBufInfo.html @@ -0,0 +1,123 @@ + + + + + + + +libctru: aptCaptureBufInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    aptCaptureBufInfo Struct Reference
    +
    +
    + +

    APT capture buffer information. + More...

    + +

    #include <apt.h>

    + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 size
     
    +u32 is3D
     
    +struct {
    +   u32   leftOffset
     
    +   u32   rightOffset
     
    +   u32   format
     
    top
     
    +struct {
    +   u32   leftOffset
     
    +   u32   rightOffset
     
    +   u32   format
     
    bottom
     
    +

    Detailed Description

    +

    APT capture buffer information.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/apt.h
    • +
    +
    + + + + diff --git a/structaptHookCookie.html b/structaptHookCookie.html new file mode 100644 index 000000000..172b56393 --- /dev/null +++ b/structaptHookCookie.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: aptHookCookie Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    aptHookCookie Struct Reference
    +
    +
    + +

    APT hook cookie. + More...

    + +

    #include <apt.h>

    + + + + + + + + + + + +

    +Data Fields

    +struct tag_aptHookCookie * next
     Next cookie.
     
    +aptHookFn callback
     Hook callback.
     
    +void * param
     Callback parameter.
     
    +

    Detailed Description

    +

    APT hook cookie.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/apt.h
    • +
    +
    + + + + diff --git a/structarchive__dir__t.html b/structarchive__dir__t.html new file mode 100644 index 000000000..3cd92f4c9 --- /dev/null +++ b/structarchive__dir__t.html @@ -0,0 +1,110 @@ + + + + + + + +libctru: archive_dir_t Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    archive_dir_t Struct Reference
    +
    +
    + +

    Open directory struct. + More...

    + +

    #include <archive.h>

    + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 magic
     
    +Handle fd
     "arch"
     
    +ssize_t index
     CTRU handle.
     
    +size_t size
     Current entry index.
     
    +FS_DirectoryEntry entry_data [32]
     Current batch size.
     
    +

    Detailed Description

    +

    Open directory struct.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structbossContext.html b/structbossContext.html new file mode 100644 index 000000000..d5ee8fe5e --- /dev/null +++ b/structbossContext.html @@ -0,0 +1,147 @@ + + + + + + + +libctru: bossContext Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    bossContext Struct Reference
    +
    +
    + +

    BOSS context. + More...

    + +

    #include <boss.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 property [0x7]
     
    +char url [0x200]
     
    +u32 property_x8
     
    +u8 property_x9
     
    +u8 property_xa [0x100]
     
    +u8 property_xb [0x200]
     
    +char property_xd [0x360]
     
    +u32 property_xe
     
    +u32 property_xf [0xc >>2]
     
    +u8 property_x10
     
    +u8 property_x11
     
    +u8 property_x12
     
    +u32 property_x13
     
    +u32 property_x14
     
    +u8 property_x15 [0x40]
     
    +u32 property_x16
     
    +u32 property_x3b
     
    +u8 property_x3e [0x200]
     
    +

    Detailed Description

    +

    BOSS context.

    +
    Examples
    network/boss/source/main.c.
    +
    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/boss.h
    • +
    +
    + + + + diff --git a/structcharWidthInfo__s.html b/structcharWidthInfo__s.html new file mode 100644 index 000000000..4fc89b059 --- /dev/null +++ b/structcharWidthInfo__s.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: charWidthInfo_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    charWidthInfo_s Struct Reference
    +
    +
    + +

    Character width information structure. + More...

    + +

    #include <font.h>

    + + + + + + + + + + + +

    +Data Fields

    +s8 left
     Horizontal offset to draw the glyph with.
     
    +u8 glyphWidth
     Width of the glyph.
     
    +u8 charWidth
     Width of the character, that is, horizontal distance to advance.
     
    +

    Detailed Description

    +

    Character width information structure.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structcirclePosition.html b/structcirclePosition.html new file mode 100644 index 000000000..ee14df2d5 --- /dev/null +++ b/structcirclePosition.html @@ -0,0 +1,101 @@ + + + + + + + +libctru: circlePosition Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    circlePosition Struct Reference
    +
    +
    + +

    Circle Pad position. + More...

    + +

    #include <hid.h>

    + + + + + + + + +

    +Data Fields

    +s16 dx
     Pad X.
     
    +s16 dy
     Pad Y.
     
    +

    Detailed Description

    +

    Circle Pad position.

    +
    Examples
    input/read-controls/source/main.c.
    +
    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/hid.h
    • +
    +
    + + + + diff --git a/structdecompressIOVec.html b/structdecompressIOVec.html new file mode 100644 index 000000000..8153a1540 --- /dev/null +++ b/structdecompressIOVec.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: decompressIOVec Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    decompressIOVec Struct Reference
    +
    +
    + +

    I/O vector. + More...

    + +

    #include <decompress.h>

    + + + + + + + + +

    +Data Fields

    +void * data
     I/O buffer.
     
    +size_t size
     Buffer size.
     
    +

    Detailed Description

    +

    I/O vector.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structdspHookCookie.html b/structdspHookCookie.html new file mode 100644 index 000000000..40b75a882 --- /dev/null +++ b/structdspHookCookie.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: dspHookCookie Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    dspHookCookie Struct Reference
    +
    +
    + +

    DSP hook cookie. + More...

    + +

    #include <dsp.h>

    + + + + + + + + +

    +Data Fields

    +struct tag_dspHookCookie * next
     Next cookie.
     
    +dspHookFn callback
     Hook callback.
     
    +

    Detailed Description

    +

    DSP hook cookie.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/dsp.h
    • +
    +
    + + + + diff --git a/structerrorConf.html b/structerrorConf.html new file mode 100644 index 000000000..38c23e576 --- /dev/null +++ b/structerrorConf.html @@ -0,0 +1,114 @@ + + + + + + + +libctru: errorConf Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    errorConf Struct Reference
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +errorType type
     
    +int errorCode
     
    +errorScreenFlag upperScreenFlag
     
    +u16 useLanguage
     
    +u16 Text [1900]
     
    +bool homeButton
     
    +bool softwareReset
     
    +bool appJump
     
    +errorReturnCode returnCode
     
    +u16 eulaVersion
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structfloat24Uniform__s.html b/structfloat24Uniform__s.html new file mode 100644 index 000000000..5656826e7 --- /dev/null +++ b/structfloat24Uniform__s.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: float24Uniform_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    float24Uniform_s Struct Reference
    +
    +
    + +

    24-bit float uniforms. + More...

    + +

    #include <shaderProgram.h>

    + + + + + + + + +

    +Data Fields

    +u32 id
     Uniform ID.
     
    +u32 data [3]
     Uniform data.
     
    +

    Detailed Description

    +

    24-bit float uniforms.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structfontGlyphPos__s.html b/structfontGlyphPos__s.html new file mode 100644 index 000000000..1c8a180fc --- /dev/null +++ b/structfontGlyphPos__s.html @@ -0,0 +1,141 @@ + + + + + + + +libctru: fontGlyphPos_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    fontGlyphPos_s Struct Reference
    +
    +
    + +

    Font glyph position structure. + More...

    + +

    #include <font.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +int sheetIndex
     Texture sheet index to use to render the glyph.
     
    +float xOffset
     Horizontal offset to draw the glyph width.
     
    +float xAdvance
     Horizontal distance to advance after drawing the glyph.
     
    +float width
     Glyph width.
     
    +struct {
    +   float   left
     
    +   float   top
     
    +   float   right
     
    +   float   bottom
     
    texcoord
     Texture coordinates to use to render the glyph.
     
    +struct {
    +   float   left
     
    +   float   top
     
    +   float   right
     
    +   float   bottom
     
    vtxcoord
     Vertex coordinates to use to render the glyph.
     
    +

    Detailed Description

    +

    Font glyph position structure.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structgxCmdQueue__s.html b/structgxCmdQueue__s.html new file mode 100644 index 000000000..eea856083 --- /dev/null +++ b/structgxCmdQueue__s.html @@ -0,0 +1,119 @@ + + + + + + + +libctru: gxCmdQueue_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    gxCmdQueue_s Struct Reference
    +
    +
    + +

    GX command queue structure. + More...

    + +

    #include <gx.h>

    + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +gxCmdEntry_sentries
     Pointer to array of GX command entries.
     
    +u16 maxEntries
     Capacity of the command array.
     
    +u16 numEntries
     Number of commands in the queue.
     
    +u16 curEntry
     Index of the first pending command to be submitted to GX.
     
    +u16 lastEntry
     Number of commands completed by GX.
     
    +void(* callback )(struct tag_gxCmdQueue_s *)
     User callback.
     
    +void * user
     Data for user callback.
     
    +

    Detailed Description

    +

    GX command queue structure.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/gpu/gx.h
    • +
    +
    + + + + diff --git a/structhostent.html b/structhostent.html new file mode 100644 index 000000000..078fc78a0 --- /dev/null +++ b/structhostent.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: hostent Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    hostent Struct Reference
    +
    +
    + + + + + + + + + + + + +

    +Data Fields

    +char * h_name
     
    +char ** h_aliases
     
    +uint16_t h_addrtype
     
    +uint16_t h_length
     
    +char ** h_addr_list
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structhttpcContext.html b/structhttpcContext.html new file mode 100644 index 000000000..914902e28 --- /dev/null +++ b/structhttpcContext.html @@ -0,0 +1,101 @@ + + + + + + + +libctru: httpcContext Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    httpcContext Struct Reference
    +
    +
    + +

    HTTP context. + More...

    + +

    #include <httpc.h>

    + + + + + + + + +

    +Data Fields

    +Handle servhandle
     Service handle.
     
    +u32 httphandle
     HTTP handle.
     
    +

    Detailed Description

    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structin__addr.html b/structin__addr.html new file mode 100644 index 000000000..31132134f --- /dev/null +++ b/structin__addr.html @@ -0,0 +1,87 @@ + + + + + + + +libctru: in_addr Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    in_addr Struct Reference
    +
    +
    + + + + +

    +Data Fields

    +in_addr_t s_addr
     
    +
    The documentation for this struct was generated from the following file:
      +
    • include/netinet/in.h
    • +
    +
    + + + + diff --git a/structip__mreq.html b/structip__mreq.html new file mode 100644 index 000000000..9746e519e --- /dev/null +++ b/structip__mreq.html @@ -0,0 +1,90 @@ + + + + + + + +libctru: ip_mreq Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ip_mreq Struct Reference
    +
    +
    + + + + + + +

    +Data Fields

    +struct in_addr imr_multiaddr
     
    +struct in_addr imr_interface
     
    +
    The documentation for this struct was generated from the following file:
      +
    • include/netinet/in.h
    • +
    +
    + + + + diff --git a/structlinger.html b/structlinger.html new file mode 100644 index 000000000..438589b8d --- /dev/null +++ b/structlinger.html @@ -0,0 +1,90 @@ + + + + + + + +libctru: linger Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    linger Struct Reference
    +
    +
    + + + + + + +

    +Data Fields

    +int l_onoff
     
    +int l_linger
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structndspAdpcmData.html b/structndspAdpcmData.html new file mode 100644 index 000000000..97d1c0a5e --- /dev/null +++ b/structndspAdpcmData.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: ndspAdpcmData Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ndspAdpcmData Struct Reference
    +
    +
    + +

    ADPCM data. + More...

    + +

    #include <ndsp.h>

    + + + + + + + + + + + +

    +Data Fields

    +u16 index
     Current predictor index.
     
    +s16 history0
     Last outputted PCM16 sample.
     
    +s16 history1
     Second to last outputted PCM16 sample.
     
    +

    Detailed Description

    +

    ADPCM data.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnwmBeaconDataReplyEntry.html b/structnwmBeaconDataReplyEntry.html new file mode 100644 index 000000000..dc0df0585 --- /dev/null +++ b/structnwmBeaconDataReplyEntry.html @@ -0,0 +1,118 @@ + + + + + + + +libctru: nwmBeaconDataReplyEntry Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    nwmBeaconDataReplyEntry Struct Reference
    +
    +
    + +

    General NWM output structure from AP scanning, for each entry. + More...

    + +

    #include <uds.h>

    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 size
     
    +u8 unk_x4
     
    +u8 channel
     
    +u8 unk_x6
     
    +u8 unk_x7
     
    +u8 mac_address [6]
     
    +u8 unk_xe [6]
     
    +u32 unk_x14
     
    +u32 val_x1c
     
    +

    Detailed Description

    +

    General NWM output structure from AP scanning, for each entry.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/uds.h
    • +
    +
    + + + + diff --git a/structnwmBeaconDataReplyHeader.html b/structnwmBeaconDataReplyHeader.html new file mode 100644 index 000000000..405f60e8a --- /dev/null +++ b/structnwmBeaconDataReplyHeader.html @@ -0,0 +1,100 @@ + + + + + + + +libctru: nwmBeaconDataReplyHeader Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    nwmBeaconDataReplyHeader Struct Reference
    +
    +
    + +

    General NWM output structure from AP scanning. + More...

    + +

    #include <uds.h>

    + + + + + + + + +

    +Data Fields

    +u32 maxsize
     
    +u32 size
     
    +u32 total_entries
     
    +

    Detailed Description

    +

    General NWM output structure from AP scanning.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/uds.h
    • +
    +
    + + + + diff --git a/structnwmScanInputStruct.html b/structnwmScanInputStruct.html new file mode 100644 index 000000000..0673fc2a5 --- /dev/null +++ b/structnwmScanInputStruct.html @@ -0,0 +1,109 @@ + + + + + + + +libctru: nwmScanInputStruct Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    nwmScanInputStruct Struct Reference
    +
    +
    + +

    General NWM input structure used for AP scanning. + More...

    + +

    #include <uds.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +u16 unk_x0
     
    +u16 unk_x2
     
    +u16 unk_x4
     
    +u16 unk_x6
     
    +u8 mac_address [6]
     
    +u8 unk_xe [0x26]
     
    +

    Detailed Description

    +

    General NWM input structure used for AP scanning.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/uds.h
    • +
    +
    + + + + diff --git a/structosKernelConfig__s.html b/structosKernelConfig__s.html new file mode 100644 index 000000000..29431883e --- /dev/null +++ b/structosKernelConfig__s.html @@ -0,0 +1,148 @@ + + + + + + + +libctru: osKernelConfig_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    osKernelConfig_s Struct Reference
    +
    +
    + +

    Kernel configuration page (read-only). + More...

    + +

    #include <os.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 kernel_ver
     
    +u32 update_flag
     
    +u64 ns_tid
     
    +u32 kernel_syscore_ver
     
    +u8 env_info
     
    +u8 unit_info
     
    +u8 boot_env
     
    +u8 unk_0x17
     
    +u32 kernel_ctrsdk_ver
     
    +u32 unk_0x1c
     
    +u32 firmlaunch_flags
     
    +u8 unk_0x24 [0xc]
     
    +u32 app_memtype
     
    +u8 unk_0x34 [0xc]
     
    +u32 memregion_sz [3]
     
    +u8 unk_0x4c [0x14]
     
    +u32 firm_ver
     
    +u32 firm_syscore_ver
     
    +u32 firm_ctrsdk_ver
     
    +

    Detailed Description

    +

    Kernel configuration page (read-only).

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/os.h
    • +
    +
    + + + + diff --git a/structosSharedConfig__s.html b/structosSharedConfig__s.html new file mode 100644 index 000000000..d34bd8447 --- /dev/null +++ b/structosSharedConfig__s.html @@ -0,0 +1,148 @@ + + + + + + + +libctru: osSharedConfig_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    osSharedConfig_s Struct Reference
    +
    +
    + +

    Shared system configuration page structure (read-only or read-write depending on exheader). + More...

    + +

    #include <os.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +vu32 timeref_cnt
     
    +u8 running_hw
     
    +u8 mcu_hwinfo
     
    +u8 unk_0x06 [0x1A]
     
    +volatile osTimeRef_s timeref [2]
     
    +u8 wifi_macaddr [6]
     
    +vu8 wifi_strength
     
    +vu8 network_state
     
    +u8 unk_0x68 [0x18]
     
    +volatile float slider_3d
     
    +vu8 led_3d
     
    +vu8 led_battery
     
    +vu8 unk_flag
     
    +u8 unk_0x87
     
    +u8 unk_0x88 [0x18]
     
    +vu64 menu_tid
     
    +vu64 cur_menu_tid
     
    +u8 unk_0xB0 [0x10]
     
    +vu8 headset_connected
     
    +

    Detailed Description

    +

    Shared system configuration page structure (read-only or read-write depending on exheader).

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/os.h
    • +
    +
    + + + + diff --git a/structosTimeRef__s.html b/structosTimeRef__s.html new file mode 100644 index 000000000..45e942e18 --- /dev/null +++ b/structosTimeRef__s.html @@ -0,0 +1,107 @@ + + + + + + + +libctru: osTimeRef_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    osTimeRef_s Struct Reference
    +
    +
    + +

    Time reference information struct (filled in by PTM). + More...

    + +

    #include <os.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +u64 value_ms
     Milliseconds elapsed since January 1900 when this structure was last updated.
     
    +u64 value_tick
     System ticks elapsed since boot when this structure was last updated.
     
    +s64 sysclock_hz
     System clock frequency in Hz adjusted using RTC measurements (usually around SYSCLOCK_ARM11)
     
    +s64 drift_ms
     Measured time drift of the system clock (according to the RTC) in milliseconds since the last update.
     
    +

    Detailed Description

    +

    Time reference information struct (filled in by PTM).

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/os.h
    • +
    +
    + + + + diff --git a/structpollfd.html b/structpollfd.html new file mode 100644 index 000000000..adf7cab79 --- /dev/null +++ b/structpollfd.html @@ -0,0 +1,93 @@ + + + + + + + +libctru: pollfd Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    pollfd Struct Reference
    +
    +
    + + + + + + + + +

    +Data Fields

    +int fd
     
    +int events
     
    +int revents
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structpsRSAContext.html b/structpsRSAContext.html new file mode 100644 index 000000000..2872c644f --- /dev/null +++ b/structpsRSAContext.html @@ -0,0 +1,103 @@ + + + + + + + +libctru: psRSAContext Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    psRSAContext Struct Reference
    +
    +
    + +

    RSA context. + More...

    + +

    #include <ps.h>

    + + + + + + + + + + +

    +Data Fields

    +u8 modulo [0x100]
     
    +u8 exponent [0x100]
     
    +u32 rsa_bitsize
     
    +u32 unk
     
    +

    Detailed Description

    +

    RSA context.

    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/ps.h
    • +
    +
    + + + + diff --git a/structrbtree.html b/structrbtree.html new file mode 100644 index 000000000..c1dbd2311 --- /dev/null +++ b/structrbtree.html @@ -0,0 +1,104 @@ + + + + + + + +libctru: rbtree_t Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    rbtree_t Struct Reference
    +
    +
    + +

    An rbtree. + More...

    + +

    #include <rbtree.h>

    + + + + + + + + + + + +

    +Data Fields

    +rbtree_node_t * root
     Root node.
     
    +rbtree_node_comparator_t comparator
     Node comparator.
     
    +size_t size
     Size.
     
    +

    Detailed Description

    +

    An rbtree.

    +

    rbtree type.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structrbtree__node.html b/structrbtree__node.html new file mode 100644 index 000000000..63b49289f --- /dev/null +++ b/structrbtree__node.html @@ -0,0 +1,100 @@ + + + + + + + +libctru: rbtree_node_t Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    rbtree_node_t Struct Reference
    +
    +
    + +

    An rbtree node. + More...

    + +

    #include <rbtree.h>

    + + + + + + + + +

    +Data Fields

    +uintptr_t parent_color
     Parent color.
     
    +rbtree_node_t * child [2]
     Node children.
     
    +

    Detailed Description

    +

    An rbtree node.

    +

    rbtree node type.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structromfs__dir.html b/structromfs__dir.html new file mode 100644 index 000000000..c3fa4f110 --- /dev/null +++ b/structromfs__dir.html @@ -0,0 +1,119 @@ + + + + + + + +libctru: romfs_dir Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    romfs_dir Struct Reference
    +
    +
    + +

    RomFS directory. + More...

    + +

    #include <romfs.h>

    + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 parent
     Offset of the parent directory.
     
    +u32 sibling
     Offset of the next sibling directory.
     
    +u32 childDir
     Offset of the first child directory.
     
    +u32 childFile
     Offset of the first file.
     
    +u32 nextHash
     Directory hash table pointer.
     
    +u32 nameLen
     Name length.
     
    +u16 name []
     Name. (UTF-16)
     
    +

    Detailed Description

    +

    RomFS directory.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structromfs__file.html b/structromfs__file.html new file mode 100644 index 000000000..affb651fa --- /dev/null +++ b/structromfs__file.html @@ -0,0 +1,119 @@ + + + + + + + +libctru: romfs_file Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    romfs_file Struct Reference
    +
    +
    + +

    RomFS file. + More...

    + +

    #include <romfs.h>

    + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 parent
     Offset of the parent directory.
     
    +u32 sibling
     Offset of the next sibling file.
     
    +u64 dataOff
     Offset of the file's data.
     
    +u64 dataSize
     Length of the file's data.
     
    +u32 nextHash
     File hash table pointer.
     
    +u32 nameLen
     Name length.
     
    +u16 name []
     Name. (UTF-16)
     
    +

    Detailed Description

    +

    RomFS file.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structromfs__header.html b/structromfs__header.html new file mode 100644 index 000000000..36a8e36d0 --- /dev/null +++ b/structromfs__header.html @@ -0,0 +1,131 @@ + + + + + + + +libctru: romfs_header Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    romfs_header Struct Reference
    +
    +
    + +

    RomFS header. + More...

    + +

    #include <romfs.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 headerSize
     Size of the header.
     
    +u32 dirHashTableOff
     Offset of the directory hash table.
     
    +u32 dirHashTableSize
     Size of the directory hash table.
     
    +u32 dirTableOff
     Offset of the directory table.
     
    +u32 dirTableSize
     Size of the directory table.
     
    +u32 fileHashTableOff
     Offset of the file hash table.
     
    +u32 fileHashTableSize
     Size of the file hash table.
     
    +u32 fileTableOff
     Offset of the file table.
     
    +u32 fileTableSize
     Size of the file table.
     
    +u32 fileDataOff
     Offset of the file data.
     
    +

    Detailed Description

    +

    RomFS header.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structshaderInstance__s.html b/structshaderInstance__s.html new file mode 100644 index 000000000..dc290188c --- /dev/null +++ b/structshaderInstance__s.html @@ -0,0 +1,119 @@ + + + + + + + +libctru: shaderInstance_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    shaderInstance_s Struct Reference
    +
    +
    + +

    Describes an instance of either a vertex or geometry shader. + More...

    + +

    #include <shaderProgram.h>

    + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +DVLE_sdvle
     Shader DVLE.
     
    +u16 boolUniforms
     Boolean uniforms.
     
    +u16 boolUniformMask
     Used boolean uniform mask.
     
    +u32 intUniforms [4]
     Integer uniforms.
     
    +float24Uniform_sfloat24Uniforms
     24-bit float uniforms.
     
    +u8 intUniformMask
     Used integer uniform mask.
     
    +u8 numFloat24Uniforms
     Float uniform count.
     
    +

    Detailed Description

    +

    Describes an instance of either a vertex or geometry shader.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structshaderProgram__s.html b/structshaderProgram__s.html new file mode 100644 index 000000000..6afd86a33 --- /dev/null +++ b/structshaderProgram__s.html @@ -0,0 +1,109 @@ + + + + + + + +libctru: shaderProgram_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    shaderProgram_s Struct Reference
    +
    +
    + +

    Describes an instance of a full shader program. + More...

    + +

    #include <shaderProgram.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +shaderInstance_svertexShader
     Vertex shader.
     
    +shaderInstance_sgeometryShader
     Geometry shader.
     
    +u32 geoShaderInputPermutation [2]
     Geometry shader input permutation.
     
    +u8 geoShaderInputStride
     Geometry shader input stride.
     
    +

    Detailed Description

    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structsockaddr.html b/structsockaddr.html new file mode 100644 index 000000000..4a4b50ca0 --- /dev/null +++ b/structsockaddr.html @@ -0,0 +1,93 @@ + + + + + + + +libctru: sockaddr Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    sockaddr Struct Reference
    +
    +
    + + + + + + +

    +Data Fields

    +sa_family_t sa_family
     
    +char sa_data []
     
    +

    Detailed Description

    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structsockaddr__in.html b/structsockaddr__in.html new file mode 100644 index 000000000..6bb6519b8 --- /dev/null +++ b/structsockaddr__in.html @@ -0,0 +1,99 @@ + + + + + + + +libctru: sockaddr_in Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    sockaddr_in Struct Reference
    +
    +
    + + + + + + + + + + +

    +Data Fields

    +sa_family_t sin_family
     
    +in_port_t sin_port
     
    +struct in_addr sin_addr
     
    +unsigned char sin_zero [8]
     
    +

    Detailed Description

    +
    The documentation for this struct was generated from the following file:
      +
    • include/netinet/in.h
    • +
    +
    + + + + diff --git a/structsockaddr__storage.html b/structsockaddr__storage.html new file mode 100644 index 000000000..f60b1117e --- /dev/null +++ b/structsockaddr__storage.html @@ -0,0 +1,90 @@ + + + + + + + +libctru: sockaddr_storage Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    sockaddr_storage Struct Reference
    +
    +
    + + + + + + +

    +Data Fields

    +sa_family_t ss_family
     
    +char __ss_padding [26]
     
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structsslcContext.html b/structsslcContext.html new file mode 100644 index 000000000..19ab9b788 --- /dev/null +++ b/structsslcContext.html @@ -0,0 +1,104 @@ + + + + + + + +libctru: sslcContext Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    sslcContext Struct Reference
    +
    +
    + +

    sslc context. + More...

    + +

    #include <sslc.h>

    + + + + + + + + + + +

    +Data Fields

    +Handle servhandle
     Service handle.
     
    +u32 sslchandle
     SSLC handle.
     
    +Handle sharedmem_handle
     
    +

    Detailed Description

    +

    sslc context.

    +
    Examples
    network/sslc/source/ssl.c.
    +
    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/sslc.h
    • +
    +
    + + + + diff --git a/structtag__CMAP__s.html b/structtag__CMAP__s.html new file mode 100644 index 000000000..79cece4c4 --- /dev/null +++ b/structtag__CMAP__s.html @@ -0,0 +1,145 @@ + + + + + + + +libctru: CMAP_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    CMAP_s Struct Reference
    +
    +
    + +

    Font character map structure. + More...

    + +

    #include <font.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u16 codeBegin
     First Unicode codepoint the block applies to.
     
    +u16 codeEnd
     Last Unicode codepoint the block applies to.
     
    +u16 mappingMethod
     Mapping method.
     
    +u16 reserved
     
    +CMAP_s * next
     Pointer to the next map.
     
    +union {
    +   u16   indexOffset
     For CMAP_TYPE_DIRECT: index of the first glyph.
     
    +   u16   indexTable [0]
     For CMAP_TYPE_TABLE: table of glyph indices.
     
    +   struct {
    +      u16   nScanEntries
     Number of pairs.
     
    +      struct {
    +         u16   code
     Unicode codepoint.
     
    +         u16   glyphIndex
     Mapped glyph index.
     
          }   scanEntries [0]
     Mapping pairs.
     
       } 
     For CMAP_TYPE_SCAN: Mapping data.
     
    }; 
     
    +

    Detailed Description

    +

    Font character map structure.

    +

    Font character map type.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structtag__CWDH__s.html b/structtag__CWDH__s.html new file mode 100644 index 000000000..5d9181651 --- /dev/null +++ b/structtag__CWDH__s.html @@ -0,0 +1,108 @@ + + + + + + + +libctru: CWDH_s Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    CWDH_s Struct Reference
    +
    +
    + +

    Font character width information block structure. + More...

    + +

    #include <font.h>

    + + + + + + + + + + + + + + +

    +Data Fields

    +u16 startIndex
     First Unicode codepoint the block applies to.
     
    +u16 endIndex
     Last Unicode codepoint the block applies to.
     
    +CWDH_s * next
     Pointer to the next block.
     
    +charWidthInfo_s widths [0]
     Table of character width information structures.
     
    +

    Detailed Description

    +

    Font character width information block structure.

    +

    Font character width information block type.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structtag__ndspWaveBuf.html b/structtag__ndspWaveBuf.html new file mode 100644 index 000000000..bf2460389 --- /dev/null +++ b/structtag__ndspWaveBuf.html @@ -0,0 +1,140 @@ + + + + + + + +libctru: ndspWaveBuf Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    ndspWaveBuf Struct Reference
    +
    +
    + +

    Wave buffer struct. + More...

    + +

    #include <ndsp.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +union {
    +   s8 *   data_pcm8
     Pointer to PCM8 sample data.
     
    +   s16 *   data_pcm16
     Pointer to PCM16 sample data.
     
    +   u8 *   data_adpcm
     Pointer to DSPADPCM sample data.
     
    +   const void *   data_vaddr
     Data virtual address.
     
    }; 
     
    +u32 nsamples
     Total number of samples (PCM8=bytes, PCM16=halfwords, DSPADPCM=nibbles without frame headers)
     
    +ndspAdpcmDataadpcm_data
     ADPCM data.
     
    +u32 offset
     Buffer offset. Only used for capture.
     
    +bool looping
     Whether to loop the buffer.
     
    +u8 status
     Queuing/playback status.
     
    +u16 sequence_id
     Sequence ID. Assigned automatically by ndspChnWaveBufAdd.
     
    +ndspWaveBuf * next
     Next buffer to play. Used internally, do not modify.
     
    +

    Detailed Description

    +

    Wave buffer struct.

    +

    Wave buffer type.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structtouchPosition.html b/structtouchPosition.html new file mode 100644 index 000000000..45bea83ad --- /dev/null +++ b/structtouchPosition.html @@ -0,0 +1,101 @@ + + + + + + + +libctru: touchPosition Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    touchPosition Struct Reference
    +
    +
    + +

    Touch position. + More...

    + +

    #include <hid.h>

    + + + + + + + + +

    +Data Fields

    +u16 px
     Touch X.
     
    +u16 py
     Touch Y.
     
    +

    Detailed Description

    +

    Touch position.

    +
    Examples
    input/touch-screen/source/main.c.
    +
    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/hid.h
    • +
    +
    + + + + diff --git a/structudsBindContext.html b/structudsBindContext.html new file mode 100644 index 000000000..9ecb6cbf3 --- /dev/null +++ b/structudsBindContext.html @@ -0,0 +1,96 @@ + + + + + + + +libctru: udsBindContext Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    udsBindContext Struct Reference
    +
    +
    + + + + + + + + +

    +Data Fields

    +u32 BindNodeID
     
    +Handle event
     
    +bool spectator
     
    +

    Detailed Description

    +
    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/uds.h
    • +
    +
    + + + + diff --git a/structudsConnectionStatus.html b/structudsConnectionStatus.html new file mode 100644 index 000000000..4a8649f46 --- /dev/null +++ b/structudsConnectionStatus.html @@ -0,0 +1,117 @@ + + + + + + + +libctru: udsConnectionStatus Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    udsConnectionStatus Struct Reference
    +
    +
    + +

    Connection status struct. + More...

    + +

    #include <uds.h>

    + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 status
     
    +u32 unk_x4
     
    +u16 cur_NetworkNodeID
     
    +u16 unk_xa
     
    +u32 unk_xc [0x20 >>2]
     
    +u8 total_nodes
     
    +u8 max_nodes
     
    +u16 node_bitmask
     
    +

    Detailed Description

    +

    Connection status struct.

    +
    Examples
    network/uds/source/uds.c.
    +
    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/uds.h
    • +
    +
    + + + + diff --git a/structudsNetworkScanInfo.html b/structudsNetworkScanInfo.html new file mode 100644 index 000000000..af14d9eb0 --- /dev/null +++ b/structudsNetworkScanInfo.html @@ -0,0 +1,102 @@ + + + + + + + +libctru: udsNetworkScanInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    udsNetworkScanInfo Struct Reference
    +
    +
    + +

    Output structure generated from host scanning output. + More...

    + +

    #include <uds.h>

    + + + + + + + + +

    +Data Fields

    +nwmBeaconDataReplyEntry datareply_entry
     
    +udsNetworkStruct network
     
    +udsNodeInfo nodes [UDS_MAXNODES]
     
    +

    Detailed Description

    +

    Output structure generated from host scanning output.

    +
    Examples
    network/uds/source/uds.c.
    +
    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/uds.h
    • +
    +
    + + + + diff --git a/structudsNetworkStruct.html b/structudsNetworkStruct.html new file mode 100644 index 000000000..d0c956cb9 --- /dev/null +++ b/structudsNetworkStruct.html @@ -0,0 +1,150 @@ + + + + + + + +libctru: udsNetworkStruct Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    udsNetworkStruct Struct Reference
    +
    +
    + +

    Network struct stored as big-endian. + More...

    + +

    #include <uds.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u8 host_macaddress [6]
     
    +u8 channel
     
    +u8 pad_x7
     
    +u8 initialized_flag
     
    +u8 unk_x9 [3]
     
    +u8 oui_value [3]
     
    +u8 oui_type
     
    +u32 wlancommID
     
    +u8 id8
     
    +u8 unk_x15
     
    +u16 attributes
     
    +u32 networkID
     
    +u8 total_nodes
     
    +u8 max_nodes
     
    +u8 unk_x1e
     
    +u8 unk_x1f
     
    +u8 unk_x20 [0x1f]
     
    +u8 appdata_size
     
    +u8 appdata [0xc8]
     
    +

    Detailed Description

    +

    Network struct stored as big-endian.

    +
    Examples
    network/uds/source/uds.c.
    +
    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/uds.h
    • +
    +
    + + + + diff --git a/structudsNodeInfo.html b/structudsNodeInfo.html new file mode 100644 index 000000000..5658b97ec --- /dev/null +++ b/structudsNodeInfo.html @@ -0,0 +1,128 @@ + + + + + + + +libctru: udsNodeInfo Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    udsNodeInfo Struct Reference
    +
    +
    + +

    Node info struct. + More...

    + +

    #include <uds.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u64 uds_friendcodeseed
     
    +union {
    +   u8   usercfg [0x18]
     
    +   struct {
    +      u16   username [10]
     
    +      u16   unk_x1c
     
    +      u8   flag
     
    +      u8   pad_x1f
     
       } 
     
    }; 
     
    +u16 NetworkNodeID
     
    +u16 pad_x22
     
    +u32 word_x24
     
    +

    Detailed Description

    +

    Node info struct.

    +
    Examples
    network/uds/source/uds.c.
    +
    +

    The documentation for this struct was generated from the following file:
      +
    • include/3ds/services/uds.h
    • +
    +
    + + + + diff --git a/svc_8h.html b/svc_8h.html new file mode 100644 index 000000000..2d351cc09 --- /dev/null +++ b/svc_8h.html @@ -0,0 +1,5828 @@ + + + + + + + +libctru: include/3ds/svc.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    svc.h File Reference
    +
    +
    + +

    Syscall wrappers. +More...

    +
    #include "types.h"
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Structures

    struct  MemInfo
     Memory information. More...
     
    struct  PageInfo
     Memory page information. More...
     
    struct  DmaDeviceConfig
     Device configuration structure, part of DmaConfig. More...
     
    struct  DmaConfig
     Configuration stucture for svcStartInterProcessDma. More...
     
    struct  AttachProcessEvent
     Event relating to the attachment of a process. More...
     
    struct  ExitProcessEvent
     Event relating to the exiting of a process. More...
     
    struct  AttachThreadEvent
     Event relating to the attachment of a thread. More...
     
    struct  ExitThreadEvent
     Event relating to the exiting of a thread. More...
     
    struct  FaultExceptionEvent
     Event relating to fault exceptions (CPU exceptions other than stop points and undefined syscalls). More...
     
    struct  StopPointExceptionEvent
     Event relating to stop points. More...
     
    struct  UserBreakExceptionEvent
     Event relating to svcBreak. More...
     
    struct  DebuggerBreakExceptionEvent
     Event relating to svcBreakDebugProcess. More...
     
    struct  ExceptionEvent
     Event relating to exceptions. More...
     
    struct  ScheduleInOutEvent
     Event relating to the scheduler. More...
     
    struct  SyscallInOutEvent
     Event relating to syscalls. More...
     
    struct  OutputStringEvent
     Event relating to debug output. More...
     
    struct  MapEvent
     Event relating to the mapping of memory. More...
     
    struct  DebugEventInfo
     Information about a debug event. More...
     
    struct  ThreadContext
     
    struct  CodeSetHeader
     Information on address space for process. All sizes are in pages (0x1000 bytes) More...
     
    struct  StartupInfo
     Information for the main thread of a process. More...
     
    + + + + + + + +

    +Macros

    +#define CUR_PROCESS_HANDLE   0xFFFF8001
     Pseudo handle for the current process.
     
    +#define SVC_STOP_POINT   __asm__ volatile("svc 0xFF");
     Stop point, does nothing if the process is not attached (as opposed to 'bkpt' instructions)
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    static void * getThreadLocalStorage (void)
     Gets the thread local storage buffer. More...
     
    static u32getThreadCommandBuffer (void)
     Gets the thread command buffer. More...
     
    static u32getThreadStaticBuffers (void)
     Gets the thread static buffer. More...
     
    Result svcBackdoor (s32(*callback)(void))
     Executes a function in supervisor mode. More...
     
    Process management
    Result svcOpenProcess (Handle *process, u32 processId)
     Gets the handle of a process. More...
     
    +void svcExitProcess (void) __attribute__((noreturn))
     Exits the current process.
     
    Result svcTerminateProcess (Handle process)
     Terminates a process. More...
     
    Result svcGetProcessInfo (s64 *out, Handle process, u32 type)
     Gets information about a process. More...
     
    Result svcGetProcessId (u32 *out, Handle handle)
     Gets the ID of a process. More...
     
    Result svcGetProcessList (s32 *processCount, u32 *processIds, s32 processIdMaxCount)
     Gets a list of running processes. More...
     
    Result svcGetThreadList (s32 *threadCount, u32 *threadIds, s32 threadIdMaxCount, Handle process)
     Gets a list of the threads of a process. More...
     
    Result svcCreatePort (Handle *portServer, Handle *portClient, const char *name, s32 maxSessions)
     Creates a port. More...
     
    Result svcConnectToPort (volatile Handle *out, const char *portName)
     Connects to a port. More...
     
    Result svcCreateCodeSet (Handle *out, const CodeSetHeader *info, u32 textSegmentLma, u32 roSegmentLma, u32 dataSegmentLma)
     Sets up virtual address space for a new process. More...
     
    Result svcCreateProcess (Handle *out, Handle codeset, const u32 *arm11KernelCaps, s32 numArm11KernelCaps)
     Create a new process. More...
     
    Result svcGetProcessAffinityMask (u8 *affinitymask, Handle process, s32 processorcount)
     Gets a process's affinity mask. More...
     
    Result svcSetProcessAffinityMask (Handle process, const u8 *affinitymask, s32 processorcount)
     Sets a process's affinity mask. More...
     
    Result svcGetProcessIdealProcessor (s32 *processorid, Handle process)
     Gets a process's ideal processor. More...
     
    Result svcSetProcessIdealProcessor (Handle process, s32 processorid)
     Sets a process's ideal processor. More...
     
    Result svcRun (Handle process, const StartupInfo *info)
     Launches the main thread of the process. More...
     
    Synchronization
    Result svcCreateMutex (Handle *mutex, bool initially_locked)
     Creates a mutex. More...
     
    Result svcReleaseMutex (Handle handle)
     Releases a mutex. More...
     
    Result svcCreateSemaphore (Handle *semaphore, s32 initial_count, s32 max_count)
     Creates a semaphore. More...
     
    Result svcReleaseSemaphore (s32 *count, Handle semaphore, s32 release_count)
     Releases a semaphore. More...
     
    Result svcCreateEvent (Handle *event, ResetType reset_type)
     Creates an event handle. More...
     
    Result svcSignalEvent (Handle handle)
     Signals an event. More...
     
    Result svcClearEvent (Handle handle)
     Clears an event. More...
     
    Result svcWaitSynchronization (Handle handle, s64 nanoseconds)
     Waits for synchronization on a handle. More...
     
    Result svcWaitSynchronizationN (s32 *out, const Handle *handles, s32 handles_num, bool wait_all, s64 nanoseconds)
     Waits for synchronization on multiple handles. More...
     
    Result svcCreateAddressArbiter (Handle *arbiter)
     Creates an address arbiter. More...
     
    Result svcArbitrateAddress (Handle arbiter, u32 addr, ArbitrationType type, s32 value, s64 timeout_ns)
     Arbitrate an address, can be used for synchronization. More...
     
    Result svcArbitrateAddressNoTimeout (Handle arbiter, u32 addr, ArbitrationType type, s32 value)
     Same as svcArbitrateAddress but with the timeout_ns parameter undefined. More...
     
    Result svcSendSyncRequest (Handle session)
     Sends a synchronized request to a session handle. More...
     
    Result svcCreateSessionToPort (Handle *clientSession, Handle clientPort)
     Connects to a port via a handle. More...
     
    Result svcCreateSession (Handle *serverSession, Handle *clientSession)
     Creates a linked pair of session endpoints. More...
     
    Result svcAcceptSession (Handle *session, Handle port)
     Accepts a session. More...
     
    Result svcReplyAndReceive (s32 *index, const Handle *handles, s32 handleCount, Handle replyTarget)
     Replies to and receives a new request. More...
     
    Time
    Result svcCreateTimer (Handle *timer, ResetType reset_type)
     Creates a timer. More...
     
    Result svcSetTimer (Handle timer, s64 initial, s64 interval)
     Sets a timer. More...
     
    Result svcCancelTimer (Handle timer)
     Cancels a timer. More...
     
    Result svcClearTimer (Handle timer)
     Clears a timer. More...
     
    u64 svcGetSystemTick (void)
     Gets the current system tick. More...
     
    System
    Result svcCloseHandle (Handle handle)
     Closes a handle. More...
     
    Result svcDuplicateHandle (Handle *out, Handle original)
     Duplicates a handle. More...
     
    Result svcGetHandleInfo (s64 *out, Handle handle, u32 param)
     Gets a handle info. More...
     
    Result svcGetSystemInfo (s64 *out, u32 type, s32 param)
     Gets the system info. More...
     
    Result svcKernelSetState (u32 type,...)
     Sets the current kernel state. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Memory management

    +#define ARBITRATION_SIGNAL_ALL   (-1)
     Special value to signal all the threads.
     
    enum  MemOp {
    +  MEMOP_FREE = 1 +,
    +  MEMOP_RESERVE = 2 +,
    +  MEMOP_ALLOC = 3 +,
    +  MEMOP_MAP = 4 +,
    +  MEMOP_UNMAP = 5 +,
    +  MEMOP_PROT = 6 +,
    +  MEMOP_REGION_APP = 0x100 +,
    +  MEMOP_REGION_SYSTEM = 0x200 +,
    +  MEMOP_REGION_BASE = 0x300 +,
    +  MEMOP_OP_MASK = 0xFF +,
    +  MEMOP_REGION_MASK = 0xF00 +,
    +  MEMOP_LINEAR_FLAG = 0x10000 +,
    +  MEMOP_ALLOC_LINEAR = MEMOP_LINEAR_FLAG | MEMOP_ALLOC +
    + }
     svcControlMemory operation flags More...
     
    enum  MemState {
    +  MEMSTATE_FREE = 0 +,
    +  MEMSTATE_RESERVED = 1 +,
    +  MEMSTATE_IO = 2 +,
    +  MEMSTATE_STATIC = 3 +,
    +  MEMSTATE_CODE = 4 +,
    +  MEMSTATE_PRIVATE = 5 +,
    +  MEMSTATE_SHARED = 6 +,
    +  MEMSTATE_CONTINUOUS = 7 +,
    +  MEMSTATE_ALIASED = 8 +,
    +  MEMSTATE_ALIAS = 9 +,
    +  MEMSTATE_ALIASCODE = 10 +,
    +  MEMSTATE_LOCKED = 11 +
    + }
     The state of a memory block. More...
     
    enum  MemPerm {
    +  MEMPERM_READ = 1 +,
    +  MEMPERM_WRITE = 2 +,
    +  MEMPERM_EXECUTE = 4 +,
    +  MEMPERM_READWRITE = MEMPERM_READ | MEMPERM_WRITE +,
    +  MEMPERM_READEXECUTE = MEMPERM_READ | MEMPERM_EXECUTE +,
    +  MEMPERM_DONTCARE = 0x10000000 +
    + }
     Memory permission flags. More...
     
    enum  MemRegion {
    +  MEMREGION_ALL = 0 +,
    +  MEMREGION_APPLICATION = 1 +,
    +  MEMREGION_SYSTEM = 2 +,
    +  MEMREGION_BASE = 3 +
    + }
     Memory regions. More...
     
    enum  ArbitrationType {
    +  ARBITRATION_SIGNAL = 0 +,
    +  ARBITRATION_WAIT_IF_LESS_THAN = 1 +,
    +  ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN = 2 +,
    +  ARBITRATION_WAIT_IF_LESS_THAN_TIMEOUT = 3 +,
    +  ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN_TIMEOUT = 4 +
    + }
     Arbitration modes. More...
     
    Result svcControlMemory (u32 *addr_out, u32 addr0, u32 addr1, u32 size, MemOp op, MemPerm perm)
     Controls memory mapping. More...
     
    Result svcControlProcessMemory (Handle process, u32 addr0, u32 addr1, u32 size, u32 type, u32 perm)
     Controls the memory mapping of a process. More...
     
    Result svcCreateMemoryBlock (Handle *memblock, u32 addr, u32 size, MemPerm my_perm, MemPerm other_perm)
     Creates a block of shared memory. More...
     
    Result svcMapMemoryBlock (Handle memblock, u32 addr, MemPerm my_perm, MemPerm other_perm)
     Maps a block of shared memory. More...
     
    Result svcMapProcessMemory (Handle process, u32 destAddress, u32 size)
     Maps a block of process memory, starting from address 0x00100000. More...
     
    Result svcUnmapProcessMemory (Handle process, u32 destAddress, u32 size)
     Unmaps a block of process memory, starting from address 0x00100000. More...
     
    Result svcUnmapMemoryBlock (Handle memblock, u32 addr)
     Unmaps a block of shared memory. More...
     
    Result svcQueryMemory (MemInfo *info, PageInfo *out, u32 addr)
     Queries memory information. More...
     
    Result svcQueryProcessMemory (MemInfo *info, PageInfo *out, Handle process, u32 addr)
     Queries process memory information. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Multithreading

    +#define CUR_THREAD_HANDLE   0xFFFF8000
     Pseudo handle for the current thread.
     
    enum  ResetType {
    +  RESET_ONESHOT = 0 +,
    +  RESET_STICKY = 1 +,
    +  RESET_PULSE = 2 +
    + }
     Reset types (for use with events and timers) More...
     
    enum  ThreadInfoType { THREADINFO_TYPE_UNKNOWN + }
     Types of thread info. More...
     
    enum  ResourceLimitType {
    +  RESLIMIT_PRIORITY = 0 +,
    +  RESLIMIT_COMMIT = 1 +,
    +  RESLIMIT_THREAD = 2 +,
    +  RESLIMIT_EVENT = 3 +,
    +  RESLIMIT_MUTEX = 4 +,
    +  RESLIMIT_SEMAPHORE = 5 +,
    +  RESLIMIT_TIMER = 6 +,
    +  RESLIMIT_SHAREDMEMORY = 7 +,
    +  RESLIMIT_ADDRESSARBITER = 8 +,
    +  RESLIMIT_CPUTIME = 9 +,
    +  RESLIMIT_BIT = BIT(31) +
    + }
     Types of resource limit. More...
     
    Result svcCreateThread (Handle *thread, ThreadFunc entrypoint, u32 arg, u32 *stack_top, s32 thread_priority, s32 processor_id)
     Creates a new thread. More...
     
    Result svcOpenThread (Handle *thread, Handle process, u32 threadId)
     Gets the handle of a thread. More...
     
    void svcExitThread (void) __attribute__((noreturn))
     Exits the current thread. More...
     
    void svcSleepThread (s64 ns)
     Puts the current thread to sleep. More...
     
    +Result svcGetThreadPriority (s32 *out, Handle handle)
     Retrieves the priority of a thread.
     
    Result svcSetThreadPriority (Handle thread, s32 prio)
     Changes the priority of a thread. More...
     
    Result svcGetThreadAffinityMask (u8 *affinitymask, Handle thread, s32 processorcount)
     Gets a thread's affinity mask. More...
     
    Result svcSetThreadAffinityMask (Handle thread, const u8 *affinitymask, s32 processorcount)
     Sets a thread's affinity mask. More...
     
    Result svcGetThreadIdealProcessor (s32 *processorid, Handle thread)
     Gets a thread's ideal processor. More...
     
    Result svcSetThreadIdealProcessor (Handle thread, s32 processorid)
     Sets a thread's ideal processor. More...
     
    s32 svcGetProcessorID (void)
     Returns the ID of the processor the current thread is running on. More...
     
    Result svcGetThreadId (u32 *out, Handle handle)
     Gets the ID of a thread. More...
     
    Result svcGetResourceLimit (Handle *resourceLimit, Handle process)
     Gets the resource limit set of a process. More...
     
    Result svcGetResourceLimitLimitValues (s64 *values, Handle resourceLimit, ResourceLimitType *names, s32 nameCount)
     Gets the value limits of a resource limit set. More...
     
    Result svcGetResourceLimitCurrentValues (s64 *values, Handle resourceLimit, ResourceLimitType *names, s32 nameCount)
     Gets the values of a resource limit set. More...
     
    Result svcSetProcessResourceLimits (Handle process, Handle resourceLimit)
     Sets the resource limit set of a process. More...
     
    Result svcCreateResourceLimit (Handle *resourceLimit)
     Creates a resource limit set. More...
     
    Result svcSetResourceLimitValues (Handle resourceLimit, const ResourceLimitType *names, const s64 *values, s32 nameCount)
     Sets the value limits of a resource limit set. More...
     
    Result svcGetProcessIdOfThread (u32 *out, Handle handle)
     Gets the process ID of a thread. More...
     
    Result svcGetThreadInfo (s64 *out, Handle thread, ThreadInfoType type)
     Checks if a thread handle is valid. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Device drivers

    enum  DmaState {
    +  DMASTATE_STARTING = 0 +,
    +  DMASTATE_WFP_DST = 1 +,
    +  DMASTATE_WFP_SRC = 2 +,
    +  DMASTATE_RUNNING = 3 +,
    +  DMASTATE_DONE = 4 +
    + }
     DMA transfer state. More...
     
    enum  {
    +  DMACFG_SRC_IS_DEVICE = BIT(0) +,
    +  DMACFG_DST_IS_DEVICE = BIT(1) +,
    +  DMACFG_WAIT_AVAILABLE = BIT(2) +,
    +  DMACFG_KEEP_LOCKED = BIT(3) +,
    +  DMACFG_USE_SRC_CONFIG = BIT(6) +,
    +  DMACFG_USE_DST_CONFIG = BIT(7) +
    + }
     Configuration flags for DmaConfig. More...
     
    enum  {
    +  DMARST_UNLOCK = BIT(0) +,
    +  DMARST_RESUME_DEVICE = BIT(1) +
    + }
     Configuration flags for svcRestartDma. More...
     
    +static void dmaDeviceConfigInitDefault (DmaDeviceConfig *cfg)
     Writes the default DMA device config that the kernel uses when DMACFG_*_IS_DEVICE and DMACFG_*_USE_CFG are not set.
     
    +static void dmaConfigInitDefault (DmaConfig *cfg)
     Initializes a DmaConfig instance with sane defaults for RAM<>RAM tranfers.
     
    Result svcBindInterrupt (u32 interruptId, Handle eventOrSemaphore, s32 priority, bool isManualClear)
     Binds an event or semaphore handle to an ARM11 interrupt. More...
     
    Result svcUnbindInterrupt (u32 interruptId, Handle eventOrSemaphore)
     Unbinds an event or semaphore handle from an ARM11 interrupt. More...
     
    Result svcInvalidateProcessDataCache (Handle process, u32 addr, u32 size)
     Invalidates a process's data cache. More...
     
    Result svcStoreProcessDataCache (Handle process, u32 addr, u32 size)
     Cleans a process's data cache. More...
     
    Result svcFlushProcessDataCache (Handle process, u32 addr, u32 size)
     Flushes (cleans and invalidates) a process's data cache. More...
     
    Result svcStartInterProcessDma (Handle *dma, Handle dstProcess, u32 dstAddr, Handle srcProcess, u32 srcAddr, u32 size, const DmaConfig *cfg)
     Begins an inter-process DMA transfer. More...
     
    Result svcStopDma (Handle dma)
     Stops an inter-process DMA transfer. More...
     
    Result svcGetDmaState (DmaState *state, Handle dma)
     Gets the state of an inter-process DMA transfer. More...
     
    Result svcRestartDma (Handle dma, u32 dstAddr, u32 srcAddr, u32 size, s8 flags)
     Restarts a DMA transfer, using the same configuration as before. More...
     
    Result svcSetGpuProt (bool useApplicationRestriction)
     Sets the GPU protection register to restrict the range of the GPU DMA. More...
     
    Result svcSetWifiEnabled (bool enabled)
     Enables or disables Wi-Fi. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Debugging

    enum  PerfCounterOperation {
    +  PERFCOUNTEROP_ENABLE = 0 +,
    +  PERFCOUNTEROP_DISABLE = 1 +,
    +  PERFCOUNTEROP_GET_VALUE = 2 +,
    +  PERFCOUNTEROP_SET_VALUE = 3 +,
    +  PERFCOUNTEROP_GET_OVERFLOW_FLAGS = 4 +,
    +  PERFCOUNTEROP_RESET = 5 +,
    +  PERFCOUNTEROP_GET_EVENT = 6 +,
    +  PERFCOUNTEROP_SET_EVENT = 7 +,
    +  PERFCOUNTEROP_SET_VIRTUAL_COUNTER_ENABLED = 8 +
    + }
     Operations for svcControlPerformanceCounter. More...
     
    enum  PerfCounterRegister {
    +  PERFCOUNTERREG_CORE_BASE = 0 +,
    +  PERFCOUNTERREG_CORE_COUNT_REG_0 = PERFCOUNTERREG_CORE_BASE +,
    +  PERFCOUNTERREG_CORE_COUNT_REG_1 +,
    +  PERFCOUNTERREG_CORE_CYCLE_COUNTER +,
    +  PERFCOUNTERREG_SCU_BASE = 0x10 +,
    +  PERFCOUNTERREG_SCU_0 = PERFCOUNTERREG_SCU_BASE +,
    +  PERFCOUNTERREG_SCU_1 +,
    +  PERFCOUNTERREG_SCU_2 +,
    +  PERFCOUNTERREG_SCU_3 +,
    +  PERFCOUNTERREG_SCU_4 +,
    +  PERFCOUNTERREG_SCU_5 +,
    +  PERFCOUNTERREG_SCU_6 +,
    +  PERFCOUNTERREG_SCU_7 +
    + }
     Performance counter register IDs (CP15 and SCU). More...
     
    enum  PerfCounterEvent {
    +  PERFCOUNTEREVT_CORE_BASE = 0x0 +,
    +  PERFCOUNTEREVT_CORE_INST_CACHE_MISS = PERFCOUNTEREVT_CORE_BASE +,
    +  PERFCOUNTEREVT_CORE_STALL_BY_LACK_OF_INST +,
    +  PERFCOUNTEREVT_CORE_STALL_BY_DATA_HAZARD +,
    +  PERFCOUNTEREVT_CORE_INST_MICRO_TLB_MISS +,
    +  PERFCOUNTEREVT_CORE_DATA_MICRO_TLB_MISS +,
    +  PERFCOUNTEREVT_CORE_BRANCH_INST +,
    +  PERFCOUNTEREVT_CORE_BRANCH_NOT_PREDICTED +,
    +  PERFCOUNTEREVT_CORE_BRANCH_MISS_PREDICTED +,
    +  PERFCOUNTEREVT_CORE_INST_EXECUTED +,
    +  PERFCOUNTEREVT_CORE_FOLDED_INST_EXECUTED +,
    +  PERFCOUNTEREVT_CORE_DATA_CACHE_READ +,
    +  PERFCOUNTEREVT_CORE_DATA_CACHE_READ_MISS +,
    +  PERFCOUNTEREVT_CORE_DATA_CACHE_WRITE +,
    +  PERFCOUNTEREVT_CORE_DATA_CACHE_WRITE_MISS +,
    +  PERFCOUNTEREVT_CORE_DATA_CACHE_LINE_EVICTION +,
    +  PERFCOUNTEREVT_CORE_PC_CHANGED +,
    +  PERFCOUNTEREVT_CORE_MAIN_TLB_MISS +,
    +  PERFCOUNTEREVT_CORE_EXTERNAL_REQUEST +,
    +  PERFCOUNTEREVT_CORE_STALL_BY_LSU_FULL +,
    +  PERFCOUNTEREVT_CORE_STORE_BUFFER_DRAIN +,
    +  PERFCOUNTEREVT_CORE_MERGE_IN_STORE_BUFFER +,
    +  PERFCOUNTEREVT_CORE_CYCLE_COUNT = PERFCOUNTEREVT_CORE_BASE + 0xFF +,
    +  PERFCOUNTEREVT_CORE_CYCLE_COUNT_64 = PERFCOUNTEREVT_CORE_BASE + 0xFFF +,
    +  PERFCOUNTEREVT_SCU_BASE = 0x1000 +,
    +  PERFCOUNTEREVT_SCU_DISABLED = PERFCOUNTEREVT_SCU_BASE +,
    +  PERFCOUNTEREVT_SCU_LINEFILL_MISS_FROM_CORE0 +,
    +  PERFCOUNTEREVT_SCU_LINEFILL_MISS_FROM_CORE1 +,
    +  PERFCOUNTEREVT_SCU_LINEFILL_MISS_FROM_CORE2 +,
    +  PERFCOUNTEREVT_SCU_LINEFILL_MISS_FROM_CORE3 +,
    +  PERFCOUNTEREVT_SCU_LINEFILL_HIT_FROM_CORE0 +,
    +  PERFCOUNTEREVT_SCU_LINEFILL_HIT_FROM_CORE1 +,
    +  PERFCOUNTEREVT_SCU_LINEFILL_HIT_FROM_CORE2 +,
    +  PERFCOUNTEREVT_SCU_LINEFILL_HIT_FROM_CORE3 +,
    +  PERFCOUNTEREVT_SCU_LINE_MISSING_FROM_CORE0 +,
    +  PERFCOUNTEREVT_SCU_LINE_MISSING_FROM_CORE1 +,
    +  PERFCOUNTEREVT_SCU_LINE_MISSING_FROM_CORE2 +,
    +  PERFCOUNTEREVT_SCU_LINE_MISSING_FROM_CORE3 +,
    +  PERFCOUNTEREVT_SCU_LINE_MIGRATION +,
    +  PERFCOUNTEREVT_SCU_READ_BUSY_PORT0 +,
    +  PERFCOUNTEREVT_SCU_READ_BUSY_PORT1 +,
    +  PERFCOUNTEREVT_SCU_WRITE_BUSY_PORT0 +,
    +  PERFCOUNTEREVT_SCU_WRITE_BUSY_PORT1 +,
    +  PERFCOUNTEREVT_SCU_EXTERNAL_READ +,
    +  PERFCOUNTEREVT_SCU_EXTERNAL_WRITE +,
    +  PERFCOUNTEREVT_SCU_CYCLE_COUNT = PERFCOUNTEREVT_SCU_BASE + 0x1F +
    + }
     Performance counter event IDs (CP15 or SCU). More...
     
    enum  ExitProcessEventReason {
    +  EXITPROCESS_EVENT_EXIT = 0 +,
    +  EXITPROCESS_EVENT_TERMINATE = 1 +,
    +  EXITPROCESS_EVENT_DEBUG_TERMINATE = 2 +
    + }
     Reasons for an exit process event. More...
     
    enum  ExitThreadEventReason {
    +  EXITTHREAD_EVENT_EXIT = 0 +,
    +  EXITTHREAD_EVENT_TERMINATE = 1 +,
    +  EXITTHREAD_EVENT_EXIT_PROCESS = 2 +,
    +  EXITTHREAD_EVENT_TERMINATE_PROCESS = 3 +
    + }
     Reasons for an exit thread event. More...
     
    enum  UserBreakType {
    +  USERBREAK_PANIC = 0 +,
    +  USERBREAK_ASSERT = 1 +,
    +  USERBREAK_USER = 2 +,
    +  USERBREAK_LOAD_RO = 3 +,
    +  USERBREAK_UNLOAD_RO = 4 +
    + }
     Reasons for a user break. More...
     
    enum  ExceptionEventType {
    +  EXCEVENT_UNDEFINED_INSTRUCTION = 0 +,
    +  EXCEVENT_PREFETCH_ABORT = 1 +,
    +  EXCEVENT_DATA_ABORT = 2 +,
    +  EXCEVENT_UNALIGNED_DATA_ACCESS = 3 +,
    +  EXCEVENT_ATTACH_BREAK = 4 +,
    +  EXCEVENT_STOP_POINT = 5 +,
    +  EXCEVENT_USER_BREAK = 6 +,
    +  EXCEVENT_DEBUGGER_BREAK = 7 +,
    +  EXCEVENT_UNDEFINED_SYSCALL = 8 +
    + }
     Reasons for an exception event. More...
     
    enum  StopPointType {
    +  STOPPOINT_SVC_FF = 0 +,
    +  STOPPOINT_BREAKPOINT = 1 +,
    +  STOPPOINT_WATCHPOINT = 2 +
    + }
     Stop point types. More...
     
    enum  DebugEventType {
    +  DBGEVENT_ATTACH_PROCESS = 0 +,
    +  DBGEVENT_ATTACH_THREAD = 1 +,
    +  DBGEVENT_EXIT_THREAD = 2 +,
    +  DBGEVENT_EXIT_PROCESS = 3 +,
    +  DBGEVENT_EXCEPTION = 4 +,
    +  DBGEVENT_DLL_LOAD = 5 +,
    +  DBGEVENT_DLL_UNLOAD = 6 +,
    +  DBGEVENT_SCHEDULE_IN = 7 +,
    +  DBGEVENT_SCHEDULE_OUT = 8 +,
    +  DBGEVENT_SYSCALL_IN = 9 +,
    +  DBGEVENT_SYSCALL_OUT = 10 +,
    +  DBGEVENT_OUTPUT_STRING = 11 +,
    +  DBGEVENT_MAP = 12 +
    + }
     Debug event type. More...
     
    enum  DebugFlags {
    +  DBG_INHIBIT_USER_CPU_EXCEPTION_HANDLERS = BIT(0) +,
    +  DBG_SIGNAL_FAULT_EXCEPTION_EVENTS = BIT(1) +,
    +  DBG_SIGNAL_SCHEDULE_EVENTS = BIT(2) +,
    +  DBG_SIGNAL_SYSCALL_EVENTS = BIT(3) +,
    +  DBG_SIGNAL_MAP_EVENTS = BIT(4) +
    + }
     Debug flags for an attached process, set by svcContinueDebugEvent. More...
     
    enum  ThreadContextControlFlags {
    +  THREADCONTEXT_CONTROL_CPU_GPRS = BIT(0) +,
    +  THREADCONTEXT_CONTROL_CPU_SPRS = BIT(1) +,
    +  THREADCONTEXT_CONTROL_FPU_GPRS = BIT(2) +,
    +  THREADCONTEXT_CONTROL_FPU_SPRS = BIT(3) +,
    +  THREADCONTEXT_CONTROL_CPU_REGS = BIT(0) | BIT(1) +,
    +  THREADCONTEXT_CONTROL_FPU_REGS = BIT(2) | BIT(3) +,
    +  THREADCONTEXT_CONTROL_ALL = BIT(0) | BIT(1) | BIT(2) | BIT(3) +
    + }
     Control flags for svcGetDebugThreadContext and svcSetDebugThreadContext. More...
     
    enum  DebugThreadParameter {
    +  DBGTHREAD_PARAMETER_PRIORITY = 0 +,
    +  DBGTHREAD_PARAMETER_SCHEDULING_MASK_LOW = 1 +,
    +  DBGTHREAD_PARAMETER_CPU_IDEAL = 2 +,
    +  DBGTHREAD_PARAMETER_CPU_CREATOR = 3 +
    + }
     Thread parameter field for svcGetDebugThreadParameter. More...
     
    void svcBreak (UserBreakType breakReason)
     Breaks execution. More...
     
    void svcBreakRO (UserBreakType breakReason, const void *croInfo, u32 croInfoSize) __asm__("svcBreak")
     Breaks execution (LOAD_RO and UNLOAD_RO). More...
     
    Result svcOutputDebugString (const char *str, s32 length)
     Outputs a debug string. More...
     
    Result svcControlPerformanceCounter (u64 *out, PerfCounterOperation op, u32 param1, u64 param2)
     Controls performance monitoring on the CP15 interface and the SCU. More...
     
    Result svcDebugActiveProcess (Handle *debug, u32 processId)
     Creates a debug handle for an active process. More...
     
    Result svcBreakDebugProcess (Handle debug)
     Breaks a debugged process. More...
     
    Result svcTerminateDebugProcess (Handle debug)
     Terminates a debugged process. More...
     
    Result svcGetProcessDebugEvent (DebugEventInfo *info, Handle debug)
     Gets the current debug event of a debugged process. More...
     
    Result svcContinueDebugEvent (Handle debug, DebugFlags flags)
     Continues the current debug event of a debugged process (not necessarily the same as svcGetProcessDebugEvent). More...
     
    Result svcGetDebugThreadContext (ThreadContext *context, Handle debug, u32 threadId, ThreadContextControlFlags controlFlags)
     Fetches the saved registers of a thread, either inactive or awaiting svcContinueDebugEvent, belonging to a debugged process. More...
     
    Result svcSetDebugThreadContext (Handle debug, u32 threadId, ThreadContext *context, ThreadContextControlFlags controlFlags)
     Updates the saved registers of a thread, either inactive or awaiting svcContinueDebugEvent, belonging to a debugged process. More...
     
    Result svcQueryDebugProcessMemory (MemInfo *info, PageInfo *out, Handle debug, u32 addr)
     Queries memory information of a debugged process. More...
     
    Result svcReadProcessMemory (void *buffer, Handle debug, u32 addr, u32 size)
     Reads from a debugged process's memory. More...
     
    Result svcWriteProcessMemory (Handle debug, const void *buffer, u32 addr, u32 size)
     Writes to a debugged process's memory. More...
     
    Result svcSetHardwareBreakPoint (s32 registerId, u32 control, u32 value)
     Sets an hardware breakpoint or watchpoint. More...
     
    Result svcGetDebugThreadParam (s64 *unused, u32 *out, Handle debug, u32 threadId, DebugThreadParameter parameter)
     Gets a debugged thread's parameter. More...
     
    +

    Detailed Description

    +

    Syscall wrappers.

    +

    Enumeration Type Documentation

    + +

    ◆ anonymous enum

    + +
    +
    + + + + +
    anonymous enum
    +
    + +

    Configuration flags for DmaConfig.

    + + + + + + + +
    Enumerator
    DMACFG_SRC_IS_DEVICE 

    DMA source is a device/peripheral. Address will not auto-increment.

    +
    DMACFG_DST_IS_DEVICE 

    DMA destination is a device/peripheral. Address will not auto-increment.

    +
    DMACFG_WAIT_AVAILABLE 

    Make svcStartInterProcessDma wait for the channel to be unlocked.

    +
    DMACFG_KEEP_LOCKED 

    Keep the channel locked after the transfer. Required for svcRestartDma.

    +
    DMACFG_USE_SRC_CONFIG 

    Use the provided source device configuration even if the DMA source is not a device.

    +
    DMACFG_USE_DST_CONFIG 

    Use the provided destination device configuration even if the DMA destination is not a device.

    +
    + +
    +
    + +

    ◆ anonymous enum

    + +
    +
    + + + + +
    anonymous enum
    +
    + +

    Configuration flags for svcRestartDma.

    + + + +
    Enumerator
    DMARST_UNLOCK 

    Unlock the channel after transfer.

    +
    DMARST_RESUME_DEVICE 

    Replace DMAFLUSHP instructions by NOP (they may not be regenerated even if this flag is not set).

    +
    + +
    +
    + +

    ◆ ArbitrationType

    + +
    +
    + + + + +
    enum ArbitrationType
    +
    + +

    Arbitration modes.

    + + + + + + +
    Enumerator
    ARBITRATION_SIGNAL 

    Signal #value threads for wake-up.

    +
    ARBITRATION_WAIT_IF_LESS_THAN 

    If the memory at the address is strictly lower than #value, then wait for signal.

    +
    ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN 

    If the memory at the address is strictly lower than #value, then decrement it and wait for signal.

    +
    ARBITRATION_WAIT_IF_LESS_THAN_TIMEOUT 

    If the memory at the address is strictly lower than #value, then wait for signal or timeout.

    +
    ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN_TIMEOUT 

    If the memory at the address is strictly lower than #value, then decrement it and wait for signal or timeout.

    +
    + +
    +
    + +

    ◆ DebugEventType

    + +
    +
    + + + + +
    enum DebugEventType
    +
    + +

    Debug event type.

    + + + + + + + + + + + + + + +
    Enumerator
    DBGEVENT_ATTACH_PROCESS 

    Process attached event.

    +
    DBGEVENT_ATTACH_THREAD 

    Thread attached event.

    +
    DBGEVENT_EXIT_THREAD 

    Thread exit event.

    +
    DBGEVENT_EXIT_PROCESS 

    Process exit event.

    +
    DBGEVENT_EXCEPTION 

    Exception event.

    +
    DBGEVENT_DLL_LOAD 

    DLL load event.

    +
    DBGEVENT_DLL_UNLOAD 

    DLL unload event.

    +
    DBGEVENT_SCHEDULE_IN 

    Schedule in event.

    +
    DBGEVENT_SCHEDULE_OUT 

    Schedule out event.

    +
    DBGEVENT_SYSCALL_IN 

    Syscall in event.

    +
    DBGEVENT_SYSCALL_OUT 

    Syscall out event.

    +
    DBGEVENT_OUTPUT_STRING 

    Output string event.

    +
    DBGEVENT_MAP 

    Map event.

    +
    + +
    +
    + +

    ◆ DebugFlags

    + +
    +
    + + + + +
    enum DebugFlags
    +
    + +

    Debug flags for an attached process, set by svcContinueDebugEvent.

    + + + + + + +
    Enumerator
    DBG_INHIBIT_USER_CPU_EXCEPTION_HANDLERS 

    Inhibit user-defined CPU exception handlers (including watchpoints and breakpoints, regardless of any svcKernelSetState call).

    +
    DBG_SIGNAL_FAULT_EXCEPTION_EVENTS 

    Signal fault exception events. See FaultExceptionEvent.

    +
    DBG_SIGNAL_SCHEDULE_EVENTS 

    Signal schedule in/out events. See ScheduleInOutEvent.

    +
    DBG_SIGNAL_SYSCALL_EVENTS 

    Signal syscall in/out events. See SyscallInOutEvent.

    +
    DBG_SIGNAL_MAP_EVENTS 

    Signal map events. See MapEvent.

    +
    + +
    +
    + +

    ◆ DebugThreadParameter

    + +
    +
    + + + + +
    enum DebugThreadParameter
    +
    + +

    Thread parameter field for svcGetDebugThreadParameter.

    + + + + + +
    Enumerator
    DBGTHREAD_PARAMETER_PRIORITY 

    Thread priority.

    +
    DBGTHREAD_PARAMETER_SCHEDULING_MASK_LOW 

    Low scheduling mask.

    +
    DBGTHREAD_PARAMETER_CPU_IDEAL 

    Ideal processor.

    +
    DBGTHREAD_PARAMETER_CPU_CREATOR 

    Processor that created the threod.

    +
    + +
    +
    + +

    ◆ DmaState

    + +
    +
    + + + + +
    enum DmaState
    +
    + +

    DMA transfer state.

    + + + + + + +
    Enumerator
    DMASTATE_STARTING 

    DMA transfer involving at least one device is starting and has not reached DMAWFP yet.

    +
    DMASTATE_WFP_DST 

    DMA channel is in WFP state for the destination device (2nd loop iteration onwards).

    +
    DMASTATE_WFP_SRC 

    DMA channel is in WFP state for the source device (2nd loop iteration onwards).

    +
    DMASTATE_RUNNING 

    DMA transfer is running.

    +
    DMASTATE_DONE 

    DMA transfer is done.

    +
    + +
    +
    + +

    ◆ ExceptionEventType

    + +
    +
    + + + + +
    enum ExceptionEventType
    +
    + +

    Reasons for an exception event.

    + + + + + + + + + + +
    Enumerator
    EXCEVENT_UNDEFINED_INSTRUCTION 

    Undefined instruction.

    +
    EXCEVENT_PREFETCH_ABORT 

    Prefetch abort.

    +
    EXCEVENT_DATA_ABORT 

    Data abort (other than the below kind).

    +
    EXCEVENT_UNALIGNED_DATA_ACCESS 

    Unaligned data access.

    +
    EXCEVENT_ATTACH_BREAK 

    Attached break.

    +
    EXCEVENT_STOP_POINT 

    Stop point reached.

    +
    EXCEVENT_USER_BREAK 

    User break occurred.

    +
    EXCEVENT_DEBUGGER_BREAK 

    Debugger break occurred.

    +
    EXCEVENT_UNDEFINED_SYSCALL 

    Undefined syscall.

    +
    + +
    +
    + +

    ◆ ExitProcessEventReason

    + +
    +
    + + + + +
    enum ExitProcessEventReason
    +
    + +

    Reasons for an exit process event.

    + + + + +
    Enumerator
    EXITPROCESS_EVENT_EXIT 

    Process exited either normally or due to an uncaught exception.

    +
    EXITPROCESS_EVENT_TERMINATE 

    Process has been terminated by svcTerminateProcess.

    +
    EXITPROCESS_EVENT_DEBUG_TERMINATE 

    Process has been terminated by svcTerminateDebugProcess.

    +
    + +
    +
    + +

    ◆ ExitThreadEventReason

    + +
    +
    + + + + +
    enum ExitThreadEventReason
    +
    + +

    Reasons for an exit thread event.

    + + + + + +
    Enumerator
    EXITTHREAD_EVENT_EXIT 

    Thread exited.

    +
    EXITTHREAD_EVENT_TERMINATE 

    Thread terminated.

    +
    EXITTHREAD_EVENT_EXIT_PROCESS 

    Process exited either normally or due to an uncaught exception.

    +
    EXITTHREAD_EVENT_TERMINATE_PROCESS 

    Process has been terminated by svcTerminateProcess.

    +
    + +
    +
    + +

    ◆ MemOp

    + +
    +
    + + + + +
    enum MemOp
    +
    + +

    svcControlMemory operation flags

    +

    The lowest 8 bits are the operation

    + + + + + + + + + + + + + + +
    Enumerator
    MEMOP_FREE 

    Memory un-mapping.

    +
    MEMOP_RESERVE 

    Reserve memory.

    +
    MEMOP_ALLOC 

    Memory mapping.

    +
    MEMOP_MAP 

    Mirror mapping.

    +
    MEMOP_UNMAP 

    Mirror unmapping.

    +
    MEMOP_PROT 

    Change protection.

    +
    MEMOP_REGION_APP 

    APPLICATION memory region.

    +
    MEMOP_REGION_SYSTEM 

    SYSTEM memory region.

    +
    MEMOP_REGION_BASE 

    BASE memory region.

    +
    MEMOP_OP_MASK 

    Operation bitmask.

    +
    MEMOP_REGION_MASK 

    Region bitmask.

    +
    MEMOP_LINEAR_FLAG 

    Flag for linear memory operations.

    +
    MEMOP_ALLOC_LINEAR 

    Allocates linear memory.

    +
    + +
    +
    + +

    ◆ MemPerm

    + +
    +
    + + + + +
    enum MemPerm
    +
    + +

    Memory permission flags.

    + + + + + + + +
    Enumerator
    MEMPERM_READ 

    Readable.

    +
    MEMPERM_WRITE 

    Writable.

    +
    MEMPERM_EXECUTE 

    Executable.

    +
    MEMPERM_READWRITE 

    Readable and writable.

    +
    MEMPERM_READEXECUTE 

    Readable and executable.

    +
    MEMPERM_DONTCARE 

    Don't care.

    +
    + +
    +
    + +

    ◆ MemRegion

    + +
    +
    + + + + +
    enum MemRegion
    +
    + +

    Memory regions.

    + + + + + +
    Enumerator
    MEMREGION_ALL 

    All regions.

    +
    MEMREGION_APPLICATION 

    APPLICATION memory.

    +
    MEMREGION_SYSTEM 

    SYSTEM memory.

    +
    MEMREGION_BASE 

    BASE memory.

    +
    + +
    +
    + +

    ◆ MemState

    + +
    +
    + + + + +
    enum MemState
    +
    + +

    The state of a memory block.

    + + + + + + + + + + + + + +
    Enumerator
    MEMSTATE_FREE 

    Free memory.

    +
    MEMSTATE_RESERVED 

    Reserved memory.

    +
    MEMSTATE_IO 

    I/O memory.

    +
    MEMSTATE_STATIC 

    Static memory.

    +
    MEMSTATE_CODE 

    Code memory.

    +
    MEMSTATE_PRIVATE 

    Private memory.

    +
    MEMSTATE_SHARED 

    Shared memory.

    +
    MEMSTATE_CONTINUOUS 

    Continuous memory.

    +
    MEMSTATE_ALIASED 

    Aliased memory.

    +
    MEMSTATE_ALIAS 

    Alias memory.

    +
    MEMSTATE_ALIASCODE 

    Aliased code memory.

    +
    MEMSTATE_LOCKED 

    Locked memory.

    +
    + +
    +
    + +

    ◆ PerfCounterEvent

    + +
    +
    + + + + +
    enum PerfCounterEvent
    +
    + +

    Performance counter event IDs (CP15 or SCU).

    +
    Note
    Refer to: +
    + + + +
    Enumerator
    PERFCOUNTEREVT_CORE_CYCLE_COUNT 

    One cycle elapsed.

    +
    PERFCOUNTEREVT_CORE_CYCLE_COUNT_64 

    64 cycles elapsed.

    +
    + +
    +
    + +

    ◆ PerfCounterOperation

    + +
    +
    + + + + +
    enum PerfCounterOperation
    +
    + +

    Operations for svcControlPerformanceCounter.

    + + + + + + + + + + +
    Enumerator
    PERFCOUNTEROP_ENABLE 

    Enable and lock perfmon. functionality.

    +
    PERFCOUNTEROP_DISABLE 

    Disable and forcibly unlock perfmon. functionality.

    +
    PERFCOUNTEROP_GET_VALUE 

    Get the value of a counter register.

    +
    PERFCOUNTEROP_SET_VALUE 

    Set the value of a counter register.

    +
    PERFCOUNTEROP_GET_OVERFLOW_FLAGS 

    Get the overflow flags for all CP15 and SCU counters.

    +
    PERFCOUNTEROP_RESET 

    Reset the value and/or overflow flags of selected counters.

    +
    PERFCOUNTEROP_GET_EVENT 

    Get the event ID associated to a particular counter.

    +
    PERFCOUNTEROP_SET_EVENT 

    Set the event ID associated to a paritcular counter.

    +
    PERFCOUNTEROP_SET_VIRTUAL_COUNTER_ENABLED 

    (Dis)allow the kernel to track counter overflows and to use 64-bit counter values.

    +
    + +
    +
    + +

    ◆ PerfCounterRegister

    + +
    +
    + + + + +
    enum PerfCounterRegister
    +
    + +

    Performance counter register IDs (CP15 and SCU).

    + + + + + + + + + + + + +
    Enumerator
    PERFCOUNTERREG_CORE_COUNT_REG_0 

    CP15 PMN0.

    +
    PERFCOUNTERREG_CORE_COUNT_REG_1 

    CP15 PMN1.

    +
    PERFCOUNTERREG_CORE_CYCLE_COUNTER 

    CP15 CCNT.

    +
    PERFCOUNTERREG_SCU_0 

    SCU MN0.

    +
    PERFCOUNTERREG_SCU_1 

    SCU MN1.

    +
    PERFCOUNTERREG_SCU_2 

    SCU MN2.

    +
    PERFCOUNTERREG_SCU_3 

    SCU MN3.

    +
    PERFCOUNTERREG_SCU_4 

    SCU MN4. Prod-N3DS only. IRQ line missing.

    +
    PERFCOUNTERREG_SCU_5 

    SCU MN5. Prod-N3DS only. IRQ line missing.

    +
    PERFCOUNTERREG_SCU_6 

    SCU MN6. Prod-N3DS only. IRQ line missing.

    +
    PERFCOUNTERREG_SCU_7 

    SCU MN7. Prod-N3DS only. IRQ line missing.

    +
    + +
    +
    + +

    ◆ ResetType

    + +
    +
    + + + + +
    enum ResetType
    +
    + +

    Reset types (for use with events and timers)

    + + + + +
    Enumerator
    RESET_ONESHOT 

    When the primitive is signaled, it will wake up exactly one thread and will clear itself automatically.

    +
    RESET_STICKY 

    When the primitive is signaled, it will wake up all threads and it won't clear itself automatically.

    +
    RESET_PULSE 

    Only meaningful for timers: same as ONESHOT but it will periodically signal the timer instead of just once.

    +
    + +
    +
    + +

    ◆ ResourceLimitType

    + +
    +
    + + + + +
    enum ResourceLimitType
    +
    + +

    Types of resource limit.

    + + + + + + + + + + + + +
    Enumerator
    RESLIMIT_PRIORITY 

    Thread priority.

    +
    RESLIMIT_COMMIT 

    Quantity of allocatable memory.

    +
    RESLIMIT_THREAD 

    Number of threads.

    +
    RESLIMIT_EVENT 

    Number of events.

    +
    RESLIMIT_MUTEX 

    Number of mutexes.

    +
    RESLIMIT_SEMAPHORE 

    Number of semaphores.

    +
    RESLIMIT_TIMER 

    Number of timers.

    +
    RESLIMIT_SHAREDMEMORY 

    Number of shared memory objects, see svcCreateMemoryBlock.

    +
    RESLIMIT_ADDRESSARBITER 

    Number of address arbiters.

    +
    RESLIMIT_CPUTIME 

    CPU time. Value expressed in percentage regular until it reaches 90.

    +
    RESLIMIT_BIT 

    Forces enum size to be 32 bits.

    +
    + +
    +
    + +

    ◆ StopPointType

    + +
    +
    + + + + +
    enum StopPointType
    +
    + +

    Stop point types.

    + + + + +
    Enumerator
    STOPPOINT_SVC_FF 

    See SVC_STOP_POINT.

    +
    STOPPOINT_BREAKPOINT 

    Breakpoint.

    +
    STOPPOINT_WATCHPOINT 

    Watchpoint.

    +
    + +
    +
    + +

    ◆ ThreadContextControlFlags

    + +
    +
    + + + + +
    enum ThreadContextControlFlags
    +
    + +

    Control flags for svcGetDebugThreadContext and svcSetDebugThreadContext.

    + + + + + + + + +
    Enumerator
    THREADCONTEXT_CONTROL_CPU_GPRS 

    Control r0-r12.

    +
    THREADCONTEXT_CONTROL_CPU_SPRS 

    Control sp, lr, pc, cpsr.

    +
    THREADCONTEXT_CONTROL_FPU_GPRS 

    Control d0-d15 (or s0-s31).

    +
    THREADCONTEXT_CONTROL_FPU_SPRS 

    Control fpscr, fpexc.

    +
    THREADCONTEXT_CONTROL_CPU_REGS 

    Control r0-r12, sp, lr, pc, cpsr.

    +
    THREADCONTEXT_CONTROL_FPU_REGS 

    Control d0-d15, fpscr, fpexc.

    +
    THREADCONTEXT_CONTROL_ALL 

    Control all of the above.

    +
    + +
    +
    + +

    ◆ ThreadInfoType

    + +
    +
    + + + + +
    enum ThreadInfoType
    +
    + +

    Types of thread info.

    + + +
    Enumerator
    THREADINFO_TYPE_UNKNOWN 

    Unknown.

    +
    + +
    +
    + +

    ◆ UserBreakType

    + +
    +
    + + + + +
    enum UserBreakType
    +
    + +

    Reasons for a user break.

    + + + + + + +
    Enumerator
    USERBREAK_PANIC 

    Panic.

    +
    USERBREAK_ASSERT 

    Assertion failed.

    +
    USERBREAK_USER 

    User related.

    +
    USERBREAK_LOAD_RO 

    Load RO.

    +
    USERBREAK_UNLOAD_RO 

    Unload RO.

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ getThreadCommandBuffer()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static u32* getThreadCommandBuffer (void )
    +
    +inlinestatic
    +
    + +

    Gets the thread command buffer.

    +
    Returns
    The thread command buffer.
    + +
    +
    + +

    ◆ getThreadLocalStorage()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static void* getThreadLocalStorage (void )
    +
    +inlinestatic
    +
    + +

    Gets the thread local storage buffer.

    +
    Returns
    The thread local storage buffer.
    + +
    +
    + +

    ◆ getThreadStaticBuffers()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static u32* getThreadStaticBuffers (void )
    +
    +inlinestatic
    +
    + +

    Gets the thread static buffer.

    +
    Returns
    The thread static buffer.
    + +
    +
    + +

    ◆ svcAcceptSession()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcAcceptSession (Handlesession,
    Handle port 
    )
    +
    + +

    Accepts a session.

    +
    Parameters
    + + + +
    [out]sessionPointer to output the created session handle to.
    portHandle of the port to accept a session from.
    +
    +
    + +
    +
    + +

    ◆ svcArbitrateAddress()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcArbitrateAddress (Handle arbiter,
    u32 addr,
    ArbitrationType type,
    s32 value,
    s64 timeout_ns 
    )
    +
    + +

    Arbitrate an address, can be used for synchronization.

    +
    Parameters
    + + + + + + +
    arbiterHandle of the arbiter
    addrA pointer to a s32 value.
    typeType of action to be performed by the arbiter
    valueNumber of threads to signal if using ARBITRATION_SIGNAL, or the value used for comparison.
    timeout_nsOptional timeout in nanoseconds when using TIMEOUT actions, ignored otherwise. If not needed, use svcArbitrateAddressNoTimeout instead.
    +
    +
    +
    Note
    Usage of this syscall entails an implicit Data Memory Barrier (dmb).
    +
    Warning
    Please use syncArbitrateAddressWithTimeout instead.
    + +
    +
    + +

    ◆ svcArbitrateAddressNoTimeout()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcArbitrateAddressNoTimeout (Handle arbiter,
    u32 addr,
    ArbitrationType type,
    s32 value 
    )
    +
    + +

    Same as svcArbitrateAddress but with the timeout_ns parameter undefined.

    +
    Parameters
    + + + + + +
    arbiterHandle of the arbiter
    addrA pointer to a s32 value.
    typeType of action to be performed by the arbiter
    valueNumber of threads to signal if using ARBITRATION_SIGNAL, or the value used for comparison.
    +
    +
    +
    Note
    Usage of this syscall entails an implicit Data Memory Barrier (dmb).
    +
    Warning
    Please use syncArbitrateAddress instead.
    + +
    +
    + +

    ◆ svcBackdoor()

    + +
    +
    + + + + + + + + +
    Result svcBackdoor (s32(*)(void) callback)
    +
    + +

    Executes a function in supervisor mode.

    +
    Parameters
    + + +
    callbackFunction to execute.
    +
    +
    + +
    +
    + +

    ◆ svcBindInterrupt()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcBindInterrupt (u32 interruptId,
    Handle eventOrSemaphore,
    s32 priority,
    bool isManualClear 
    )
    +
    + +

    Binds an event or semaphore handle to an ARM11 interrupt.

    +
    Parameters
    + + + + + +
    interruptIdInterrupt identfier (see https://www.3dbrew.org/wiki/ARM11_Interrupts).
    eventOrSemaphoreEvent or semaphore handle to bind to the given interrupt.
    priorityPriority of the interrupt for the current process.
    isManualClearIndicates whether the interrupt has to be manually cleared or not (= level-high active).
    +
    +
    + +
    +
    + +

    ◆ svcBreak()

    + +
    +
    + + + + + + + + +
    void svcBreak (UserBreakType breakReason)
    +
    + +

    Breaks execution.

    +
    Parameters
    + + +
    breakReasonReason for breaking.
    +
    +
    +
    Examples
    graphics/gpu/gpusprites/source/main.c, and graphics/gpu/textured_cube/source/main.c.
    +
    + +
    +
    + +

    ◆ svcBreakDebugProcess()

    + +
    +
    + + + + + + + + +
    Result svcBreakDebugProcess (Handle debug)
    +
    + +

    Breaks a debugged process.

    +
    Parameters
    + + +
    debugDebug handle of the process.
    +
    +
    + +
    +
    + +

    ◆ svcBreakRO()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void svcBreakRO (UserBreakType breakReason,
    const void * croInfo,
    u32 croInfoSize 
    )
    +
    + +

    Breaks execution (LOAD_RO and UNLOAD_RO).

    +
    Parameters
    + + + + +
    breakReasonDebug reason for breaking.
    croInfoLibrary information.
    croInfoSizeSize of the above structure.
    +
    +
    + +
    +
    + +

    ◆ svcCancelTimer()

    + +
    +
    + + + + + + + + +
    Result svcCancelTimer (Handle timer)
    +
    + +

    Cancels a timer.

    +
    Parameters
    + + +
    timerHandle of the timer to cancel.
    +
    +
    + +
    +
    + +

    ◆ svcClearEvent()

    + +
    +
    + + + + + + + + +
    Result svcClearEvent (Handle handle)
    +
    + +

    Clears an event.

    +
    Parameters
    + + +
    handleHandle of the event to clear.
    +
    +
    +
    Examples
    threads/event/source/main.c.
    +
    + +
    +
    + +

    ◆ svcClearTimer()

    + +
    +
    + + + + + + + + +
    Result svcClearTimer (Handle timer)
    +
    + +

    Clears a timer.

    +
    Parameters
    + + +
    timerHandle of the timer to clear.
    +
    +
    + +
    +
    + +

    ◆ svcCloseHandle()

    + +
    +
    + + + + + + + + +
    Result svcCloseHandle (Handle handle)
    +
    + +

    Closes a handle.

    +
    Parameters
    + + +
    handleHandle to close.
    +
    +
    +
    Examples
    camera/image/source/main.c, camera/video/source/main.c, and threads/event/source/main.c.
    +
    + +
    +
    + +

    ◆ svcConnectToPort()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcConnectToPort (volatile Handleout,
    const char * portName 
    )
    +
    + +

    Connects to a port.

    +
    Parameters
    + + + +
    [out]outPointer to output the port handle to.
    portNameName of the port.
    +
    +
    + +
    +
    + +

    ◆ svcContinueDebugEvent()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcContinueDebugEvent (Handle debug,
    DebugFlags flags 
    )
    +
    + +

    Continues the current debug event of a debugged process (not necessarily the same as svcGetProcessDebugEvent).

    +
    Parameters
    + + + +
    debugDebug handle of the process.
    flagsFlags to continue with, see DebugFlags.
    +
    +
    + +
    +
    + +

    ◆ svcControlMemory()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcControlMemory (u32addr_out,
    u32 addr0,
    u32 addr1,
    u32 size,
    MemOp op,
    MemPerm perm 
    )
    +
    + +

    Controls memory mapping.

    +
    Parameters
    + + + + + + + +
    [out]addr_outThe virtual address resulting from the operation. Usually the same as addr0.
    addr0The virtual address to be used for the operation.
    addr1The virtual address to be (un)mirrored by addr0 when using MEMOP_MAP or MEMOP_UNMAP. It has to be pointing to a RW memory. Use NULL if the operation is MEMOP_FREE or MEMOP_ALLOC.
    sizeThe requested size for MEMOP_ALLOC and MEMOP_ALLOC_LINEAR.
    opOperation flags. See MemOp.
    permA combination of MEMPERM_READ and MEMPERM_WRITE. Using MEMPERM_EXECUTE will return an error. Value 0 is used when unmapping memory.
    +
    +
    +

    If a memory is mapped for two or more addresses, you have to use MEMOP_UNMAP before being able to MEMOP_FREE it. MEMOP_MAP will fail if addr1 was already mapped to another address.

    +

    More information is available at http://3dbrew.org/wiki/SVC#Memory_Mapping.

    +
    See also
    svcControlProcessMemory
    + +
    +
    + +

    ◆ svcControlPerformanceCounter()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcControlPerformanceCounter (u64out,
    PerfCounterOperation op,
    u32 param1,
    u64 param2 
    )
    +
    + +

    Controls performance monitoring on the CP15 interface and the SCU.

    +

    The meaning of the parameters depend on the operation.

    Parameters
    + + + + + +
    [out]outOutput.
    opOperation, see details.
    param1First parameter.
    param2Second parameter.
    +
    +
    +

    The operations are the following:

    + +
    +
    + +

    ◆ svcControlProcessMemory()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcControlProcessMemory (Handle process,
    u32 addr0,
    u32 addr1,
    u32 size,
    u32 type,
    u32 perm 
    )
    +
    + +

    Controls the memory mapping of a process.

    +
    Parameters
    + + + + +
    addr0The virtual address to map
    addr1The virtual address to be mapped by addr0
    typeOnly operations MEMOP_MAP, MEMOP_UNMAP and MEMOP_PROT are allowed.
    +
    +
    +

    This is the only SVC which allows mapping executable memory. Using MEMOP_PROT will change the memory permissions of an already mapped memory.

    +
    Note
    The pseudo handle for the current process is not supported by this service call.
    +
    See also
    svcControlProcess
    + +
    +
    + +

    ◆ svcCreateAddressArbiter()

    + +
    +
    + + + + + + + + +
    Result svcCreateAddressArbiter (Handlearbiter)
    +
    + +

    Creates an address arbiter.

    +
    Parameters
    + + +
    [out]mutexPointer to output the handle of the created address arbiter to.
    +
    +
    +
    See also
    svcArbitrateAddress
    + +
    +
    + +

    ◆ svcCreateCodeSet()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcCreateCodeSet (Handleout,
    const CodeSetHeaderinfo,
    u32 textSegmentLma,
    u32 roSegmentLma,
    u32 dataSegmentLma 
    )
    +
    + +

    Sets up virtual address space for a new process.

    +
    Parameters
    + + + + + + +
    [out]outPointer to output the codeset handle to.
    infoCodeset header, contains process name, titleId and segment info.
    textSegmentLmaAddress of executable segment in caller's address space.
    roSegmentLmaAddress of read-only segment in caller's address space.
    dataSegmentLmaAddress of read-write segment in caller's address space.
    +
    +
    +
    Note
    On success, the provided segments are unmapped from the caller's address space.
    + +
    +
    + +

    ◆ svcCreateEvent()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcCreateEvent (Handleevent,
    ResetType reset_type 
    )
    +
    + +

    Creates an event handle.

    +
    Parameters
    + + + +
    [out]eventPointer to output the created event handle to.
    reset_typeType of reset the event uses (RESET_ONESHOT/RESET_STICKY).
    +
    +
    +
    Examples
    threads/event/source/main.c.
    +
    + +
    +
    + +

    ◆ svcCreateMemoryBlock()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcCreateMemoryBlock (Handlememblock,
    u32 addr,
    u32 size,
    MemPerm my_perm,
    MemPerm other_perm 
    )
    +
    + +

    Creates a block of shared memory.

    +
    Parameters
    + + + + + + +
    [out]memblockPointer to store the handle of the block
    addrAddress of the memory to map, page-aligned. So its alignment must be 0x1000.
    sizeSize of the memory to map, a multiple of 0x1000.
    my_permMemory permissions for the current process
    other_permMemory permissions for the other processes
    +
    +
    +
    Note
    The shared memory block, and its rights, are destroyed when the handle is closed.
    + +
    +
    + +

    ◆ svcCreateMutex()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcCreateMutex (Handlemutex,
    bool initially_locked 
    )
    +
    + +

    Creates a mutex.

    +
    Parameters
    + + + +
    [out]mutexPointer to output the handle of the created mutex to.
    initially_lockedWhether the mutex should be initially locked.
    +
    +
    + +
    +
    + +

    ◆ svcCreatePort()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcCreatePort (HandleportServer,
    HandleportClient,
    const char * name,
    s32 maxSessions 
    )
    +
    + +

    Creates a port.

    +
    Parameters
    + + + + + +
    [out]portServerPointer to output the port server handle to.
    [out]portClientPointer to output the port client handle to.
    nameName of the port.
    maxSessionsMaximum number of sessions that can connect to the port.
    +
    +
    + +
    +
    + +

    ◆ svcCreateProcess()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcCreateProcess (Handleout,
    Handle codeset,
    const u32arm11KernelCaps,
    s32 numArm11KernelCaps 
    )
    +
    + +

    Create a new process.

    +
    Parameters
    + + + + + +
    [out]outPointer to output the process handle to.
    codesetCodeset created for this process.
    arm11KernelCapsArm11 Kernel Capabilities from exheader.
    numArm11KernelCapsNumber of kernel capabilities.
    +
    +
    + +
    +
    + +

    ◆ svcCreateResourceLimit()

    + +
    +
    + + + + + + + + +
    Result svcCreateResourceLimit (HandleresourceLimit)
    +
    + +

    Creates a resource limit set.

    +
    Parameters
    + + +
    [out]resourceLimitPointer to output the resource limit set handle to.
    +
    +
    + +
    +
    + +

    ◆ svcCreateSemaphore()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcCreateSemaphore (Handlesemaphore,
    s32 initial_count,
    s32 max_count 
    )
    +
    + +

    Creates a semaphore.

    +
    Parameters
    + + + + +
    [out]semaphorePointer to output the handle of the created semaphore to.
    initial_countInitial count of the semaphore.
    max_countMaximum count of the semaphore.
    +
    +
    + +
    +
    + +

    ◆ svcCreateSession()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcCreateSession (HandleserverSession,
    HandleclientSession 
    )
    +
    + +

    Creates a linked pair of session endpoints.

    +
    Parameters
    + + + +
    [out]serverSessionPointer to output the created server endpoint handle to.
    [out]clientSessionPointer to output the created client endpoint handle to.
    +
    +
    + +
    +
    + +

    ◆ svcCreateSessionToPort()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcCreateSessionToPort (HandleclientSession,
    Handle clientPort 
    )
    +
    + +

    Connects to a port via a handle.

    +
    Parameters
    + + + +
    [out]clientSessionPointer to output the client session handle to.
    clientPortPort client endpoint to connect to.
    +
    +
    + +
    +
    + +

    ◆ svcCreateThread()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcCreateThread (Handlethread,
    ThreadFunc entrypoint,
    u32 arg,
    u32stack_top,
    s32 thread_priority,
    s32 processor_id 
    )
    +
    + +

    Creates a new thread.

    +
    Parameters
    + + + + + + + +
    [out]threadThe thread handle
    entrypointThe function that will be called first upon thread creation
    argThe argument passed to entrypoint
    stack_topThe top of the thread's stack. Must be 0x8 bytes mem-aligned.
    thread_priorityLow values gives the thread higher priority. For userland apps, this has to be within the range [0x18;0x3F]
    processor_idThe id of the processor the thread should be ran on. Those are labelled starting from 0. For old 3ds it has to be <2, and for new 3DS <4. Value -1 means all CPUs and -2 read from the Exheader.
    +
    +
    +

    The processor with ID 1 is the system processor. To enable multi-threading on this core you need to call APT_SetAppCpuTimeLimit at least once with a non-zero value.

    +

    Since a thread is considered as a waitable object, you can use svcWaitSynchronization and svcWaitSynchronizationN to join with it.

    +
    Note
    The kernel will clear the stack_top's address low 3 bits to make sure it is 0x8-bytes aligned.
    + +
    +
    + +

    ◆ svcCreateTimer()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcCreateTimer (Handletimer,
    ResetType reset_type 
    )
    +
    + +

    Creates a timer.

    +
    Parameters
    + + + +
    [out]timerPointer to output the handle of the created timer to.
    reset_typeType of reset to perform on the timer.
    +
    +
    + +
    +
    + +

    ◆ svcDebugActiveProcess()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcDebugActiveProcess (Handledebug,
    u32 processId 
    )
    +
    + +

    Creates a debug handle for an active process.

    +
    Parameters
    + + + +
    [out]debugPointer to output the created debug handle to.
    processIdID of the process to debug.
    +
    +
    + +
    +
    + +

    ◆ svcDuplicateHandle()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcDuplicateHandle (Handleout,
    Handle original 
    )
    +
    + +

    Duplicates a handle.

    +
    Parameters
    + + + +
    [out]outPointer to output the duplicated handle to.
    originalHandle to duplicate.
    +
    +
    + +
    +
    + +

    ◆ svcExitThread()

    + +
    +
    + + + + + + + + +
    void svcExitThread (void )
    +
    + +

    Exits the current thread.

    +

    This will trigger a state change and hence release all svcWaitSynchronization operations. It means that you can join a thread by calling

    svcWaitSynchronization(threadHandle,yourtimeout);
    +
    Result svcWaitSynchronization(Handle handle, s64 nanoseconds)
    Waits for synchronization on a handle.
    +
    +
    +
    + +

    ◆ svcFlushProcessDataCache()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcFlushProcessDataCache (Handle process,
    u32 addr,
    u32 size 
    )
    +
    + +

    Flushes (cleans and invalidates) a process's data cache.

    +
    Parameters
    + + + + +
    processHandle of the process.
    addrAddress to flush.
    sizeSize of the memory to flush.
    +
    +
    + +
    +
    + +

    ◆ svcGetDebugThreadContext()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcGetDebugThreadContext (ThreadContextcontext,
    Handle debug,
    u32 threadId,
    ThreadContextControlFlags controlFlags 
    )
    +
    + +

    Fetches the saved registers of a thread, either inactive or awaiting svcContinueDebugEvent, belonging to a debugged process.

    +
    Parameters
    + + + + + +
    [out]contextValues of the registers to fetch, see ThreadContext.
    debugDebug handle of the parent process.
    threadIdID of the thread to fetch the saved registers of.
    controlFlagsWhich registers to fetch, see ThreadContextControlFlags.
    +
    +
    + +
    +
    + +

    ◆ svcGetDebugThreadParam()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcGetDebugThreadParam (s64unused,
    u32out,
    Handle debug,
    u32 threadId,
    DebugThreadParameter parameter 
    )
    +
    + +

    Gets a debugged thread's parameter.

    +
    Parameters
    + + + + + + +
    [out]unusedUnused.
    [out]outOutput value.
    debugDebug handle of the process.
    threadIdID of the thread
    parameterParameter to fetch, see DebugThreadParameter.
    +
    +
    + +
    +
    + +

    ◆ svcGetDmaState()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcGetDmaState (DmaStatestate,
    Handle dma 
    )
    +
    + +

    Gets the state of an inter-process DMA transfer.

    +
    Parameters
    + + + +
    [out]statePointer to output the state of the DMA transfer to.
    dmaHandle of the DMA channel object.
    +
    +
    + +
    +
    + +

    ◆ svcGetHandleInfo()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcGetHandleInfo (s64out,
    Handle handle,
    u32 param 
    )
    +
    + +

    Gets a handle info.

    +
    Parameters
    + + + + +
    [out]outPointer to output the handle info to.
    handleHandle to get the info for.
    paramParameter clarifying the handle info type.
    +
    +
    + +
    +
    + +

    ◆ svcGetProcessAffinityMask()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcGetProcessAffinityMask (u8affinitymask,
    Handle process,
    s32 processorcount 
    )
    +
    + +

    Gets a process's affinity mask.

    +
    Parameters
    + + + + +
    [out]affinitymaskPointer to store the affinity masks.
    processHandle of the process.
    processorcountNumber of processors.
    +
    +
    + +
    +
    + +

    ◆ svcGetProcessDebugEvent()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcGetProcessDebugEvent (DebugEventInfoinfo,
    Handle debug 
    )
    +
    + +

    Gets the current debug event of a debugged process.

    +
    Parameters
    + + + +
    [out]infoPointer to output the debug event information to.
    debugDebug handle of the process.
    +
    +
    + +
    +
    + +

    ◆ svcGetProcessId()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcGetProcessId (u32out,
    Handle handle 
    )
    +
    + +

    Gets the ID of a process.

    +
    Parameters
    + + + +
    [out]outPointer to output the process ID to.
    handleHandle of the process to get the ID of.
    +
    +
    + +
    +
    + +

    ◆ svcGetProcessIdealProcessor()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcGetProcessIdealProcessor (s32processorid,
    Handle process 
    )
    +
    + +

    Gets a process's ideal processor.

    +
    Parameters
    + + + +
    [out]processoridPointer to store the ID of the process's ideal processor.
    processHandle of the process.
    +
    +
    + +
    +
    + +

    ◆ svcGetProcessIdOfThread()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcGetProcessIdOfThread (u32out,
    Handle handle 
    )
    +
    + +

    Gets the process ID of a thread.

    +
    Parameters
    + + + +
    [out]outPointer to output the process ID of the thread handle to.
    handleHandle of the thread.
    +
    +
    +
    See also
    svcOpenProcess
    + +
    +
    + +

    ◆ svcGetProcessInfo()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcGetProcessInfo (s64out,
    Handle process,
    u32 type 
    )
    +
    + +

    Gets information about a process.

    +
    Parameters
    + + + + +
    [out]outPointer to output process info to.
    processHandle of the process to get information about.
    typeType of information to retreieve.
    +
    +
    + +
    +
    + +

    ◆ svcGetProcessList()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcGetProcessList (s32processCount,
    u32processIds,
    s32 processIdMaxCount 
    )
    +
    + +

    Gets a list of running processes.

    +
    Parameters
    + + + + +
    [out]processCountPointer to output the process count to.
    [out]processIdsPointer to output the process IDs to.
    processIdMaxCountMaximum number of process IDs.
    +
    +
    + +
    +
    + +

    ◆ svcGetProcessorID()

    + +
    +
    + + + + + + + + +
    s32 svcGetProcessorID (void )
    +
    + +

    Returns the ID of the processor the current thread is running on.

    +
    See also
    svcCreateThread
    + +
    +
    + +

    ◆ svcGetResourceLimit()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcGetResourceLimit (HandleresourceLimit,
    Handle process 
    )
    +
    + +

    Gets the resource limit set of a process.

    +
    Parameters
    + + + +
    [out]resourceLimitPointer to output the resource limit set handle to.
    processProcess to get the resource limits of.
    +
    +
    + +
    +
    + +

    ◆ svcGetResourceLimitCurrentValues()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcGetResourceLimitCurrentValues (s64values,
    Handle resourceLimit,
    ResourceLimitTypenames,
    s32 nameCount 
    )
    +
    + +

    Gets the values of a resource limit set.

    +
    Parameters
    + + + + + +
    [out]valuesPointer to output the values to.
    resourceLimitResource limit set to use.
    namesResource limit names to get the values of.
    nameCountNumber of resource limit names.
    +
    +
    + +
    +
    + +

    ◆ svcGetResourceLimitLimitValues()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcGetResourceLimitLimitValues (s64values,
    Handle resourceLimit,
    ResourceLimitTypenames,
    s32 nameCount 
    )
    +
    + +

    Gets the value limits of a resource limit set.

    +
    Parameters
    + + + + + +
    [out]valuesPointer to output the value limits to.
    resourceLimitResource limit set to use.
    namesResource limit names to get the limits of.
    nameCountNumber of resource limit names.
    +
    +
    + +
    +
    + +

    ◆ svcGetSystemInfo()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcGetSystemInfo (s64out,
    u32 type,
    s32 param 
    )
    +
    + +

    Gets the system info.

    +
    Parameters
    + + + + +
    [out]outPointer to output the system info to.
    typeType of system info to retrieve.
    paramParameter clarifying the system info type.
    +
    +
    + +
    +
    + +

    ◆ svcGetSystemTick()

    + +
    +
    + + + + + + + + +
    u64 svcGetSystemTick (void )
    +
    + +

    Gets the current system tick.

    +
    Returns
    The current system tick.
    + +
    +
    + +

    ◆ svcGetThreadAffinityMask()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcGetThreadAffinityMask (u8affinitymask,
    Handle thread,
    s32 processorcount 
    )
    +
    + +

    Gets a thread's affinity mask.

    +
    Parameters
    + + + + +
    [out]affinitymaskPointer to output the affinity masks to.
    threadHandle of the thread.
    processorcountNumber of processors.
    +
    +
    + +
    +
    + +

    ◆ svcGetThreadId()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcGetThreadId (u32out,
    Handle handle 
    )
    +
    + +

    Gets the ID of a thread.

    +
    Parameters
    + + + +
    [out]outPointer to output the thread ID of the thread handle to.
    handleHandle of the thread.
    +
    +
    + +
    +
    + +

    ◆ svcGetThreadIdealProcessor()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcGetThreadIdealProcessor (s32processorid,
    Handle thread 
    )
    +
    + +

    Gets a thread's ideal processor.

    +
    Parameters
    + + + +
    [out]processoridPointer to output the ID of the thread's ideal processor to.
    threadHandle of the thread.
    +
    +
    + +
    +
    + +

    ◆ svcGetThreadInfo()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcGetThreadInfo (s64out,
    Handle thread,
    ThreadInfoType type 
    )
    +
    + +

    Checks if a thread handle is valid.

    +

    This requests always return an error when called, it only checks if the handle is a thread or not.

    Returns
    0xD8E007ED (BAD_ENUM) if the Handle is a Thread Handle
    +
    +0xD8E007F7 (BAD_HANDLE) if it isn't.
    + +
    +
    + +

    ◆ svcGetThreadList()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcGetThreadList (s32threadCount,
    u32threadIds,
    s32 threadIdMaxCount,
    Handle process 
    )
    +
    + +

    Gets a list of the threads of a process.

    +
    Parameters
    + + + + + +
    [out]threadCountPointer to output the thread count to.
    [out]threadIdsPointer to output the thread IDs to.
    threadIdMaxCountMaximum number of thread IDs.
    processProcess handle to list the threads of.
    +
    +
    + +
    +
    + +

    ◆ svcInvalidateProcessDataCache()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcInvalidateProcessDataCache (Handle process,
    u32 addr,
    u32 size 
    )
    +
    + +

    Invalidates a process's data cache.

    +
    Parameters
    + + + + +
    processHandle of the process.
    addrAddress to invalidate.
    sizeSize of the memory to invalidate.
    +
    +
    + +
    +
    + +

    ◆ svcKernelSetState()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcKernelSetState (u32 type,
     ... 
    )
    +
    + +

    Sets the current kernel state.

    +
    Parameters
    + + +
    typeType of state to set (the other parameters depend on it).
    +
    +
    + +
    +
    + +

    ◆ svcMapMemoryBlock()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcMapMemoryBlock (Handle memblock,
    u32 addr,
    MemPerm my_perm,
    MemPerm other_perm 
    )
    +
    + +

    Maps a block of shared memory.

    +
    Parameters
    + + + + + +
    memblockHandle of the block
    addrAddress of the memory to map, page-aligned. So its alignment must be 0x1000.
    my_permMemory permissions for the current process
    other_permMemory permissions for the other processes
    +
    +
    +
    Note
    The shared memory block, and its rights, are destroyed when the handle is closed.
    + +
    +
    + +

    ◆ svcMapProcessMemory()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcMapProcessMemory (Handle process,
    u32 destAddress,
    u32 size 
    )
    +
    + +

    Maps a block of process memory, starting from address 0x00100000.

    +
    Parameters
    + + + + +
    processHandle of the process.
    destAddressAddress of the block of memory to map, in the current (destination) process.
    sizeSize of the block of memory to map (truncated to a multiple of 0x1000 bytes).
    +
    +
    + +
    +
    + +

    ◆ svcOpenProcess()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcOpenProcess (Handleprocess,
    u32 processId 
    )
    +
    + +

    Gets the handle of a process.

    +
    Parameters
    + + + +
    [out]processThe handle of the process
    processIdThe ID of the process to open
    +
    +
    + +
    +
    + +

    ◆ svcOpenThread()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcOpenThread (Handlethread,
    Handle process,
    u32 threadId 
    )
    +
    + +

    Gets the handle of a thread.

    +
    Parameters
    + + + +
    [out]threadThe handle of the thread
    processThe ID of the process linked to the thread
    +
    +
    + +
    +
    + +

    ◆ svcOutputDebugString()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcOutputDebugString (const char * str,
    s32 length 
    )
    +
    + +

    Outputs a debug string.

    +
    Parameters
    + + + +
    strString to output.
    lengthLength of the string to output, needs to be positive.
    +
    +
    + +
    +
    + +

    ◆ svcQueryDebugProcessMemory()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcQueryDebugProcessMemory (MemInfoinfo,
    PageInfoout,
    Handle debug,
    u32 addr 
    )
    +
    + +

    Queries memory information of a debugged process.

    +
    Parameters
    + + + + + +
    [out]infoPointer to output memory info to.
    [out]outPointer to output page info to.
    debugDebug handle of the process to query memory from.
    addrVirtual memory address to query.
    +
    +
    + +
    +
    + +

    ◆ svcQueryMemory()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcQueryMemory (MemInfoinfo,
    PageInfoout,
    u32 addr 
    )
    +
    + +

    Queries memory information.

    +
    Parameters
    + + + + +
    [out]infoPointer to output memory info to.
    outPointer to output page info to.
    addrVirtual memory address to query.
    +
    +
    + +
    +
    + +

    ◆ svcQueryProcessMemory()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcQueryProcessMemory (MemInfoinfo,
    PageInfoout,
    Handle process,
    u32 addr 
    )
    +
    + +

    Queries process memory information.

    +
    Parameters
    + + + + + +
    [out]infoPointer to output memory info to.
    [out]outPointer to output page info to.
    processProcess to query memory from.
    addrVirtual memory address to query.
    +
    +
    + +
    +
    + +

    ◆ svcReadProcessMemory()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcReadProcessMemory (void * buffer,
    Handle debug,
    u32 addr,
    u32 size 
    )
    +
    + +

    Reads from a debugged process's memory.

    +
    Parameters
    + + + + + +
    bufferBuffer to read data to.
    debugDebug handle of the process.
    addrAddress to read from.
    sizeSize of the memory to read.
    +
    +
    + +
    +
    + +

    ◆ svcReleaseMutex()

    + +
    +
    + + + + + + + + +
    Result svcReleaseMutex (Handle handle)
    +
    + +

    Releases a mutex.

    +
    Parameters
    + + +
    handleHandle of the mutex.
    +
    +
    + +
    +
    + +

    ◆ svcReleaseSemaphore()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcReleaseSemaphore (s32count,
    Handle semaphore,
    s32 release_count 
    )
    +
    + +

    Releases a semaphore.

    +
    Parameters
    + + + + +
    [out]countPointer to output the current count of the semaphore to.
    semaphoreHandle of the semaphore.
    release_countNumber to increase the semaphore count by.
    +
    +
    + +
    +
    + +

    ◆ svcReplyAndReceive()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcReplyAndReceive (s32index,
    const Handlehandles,
    s32 handleCount,
    Handle replyTarget 
    )
    +
    + +

    Replies to and receives a new request.

    +
    Parameters
    + + + + + +
    indexPointer to the index of the request.
    handlesSession handles to receive requests from.
    handleCountNumber of handles.
    replyTargetHandle of the session to reply to.
    +
    +
    + +
    +
    + +

    ◆ svcRestartDma()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcRestartDma (Handle dma,
    u32 dstAddr,
    u32 srcAddr,
    u32 size,
    s8 flags 
    )
    +
    + +

    Restarts a DMA transfer, using the same configuration as before.

    +
    Parameters
    + + + + + + + +
    [out]statePointer to output the state of the DMA transfer to.
    dmaHandle of the DMA channel object.
    dstAddrAddress in the destination process to write data to.
    srcAddrAddress in the source to read data from.
    sizeSize of the data to transfer.
    flagsRestart flags, DMARST_UNLOCK and/or DMARST_RESUME_DEVICE.
    +
    +
    +
    Note
    The first transfer has to be configured with DMACFG_KEEP_LOCKED.
    + +
    +
    + +

    ◆ svcRun()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcRun (Handle process,
    const StartupInfoinfo 
    )
    +
    + +

    Launches the main thread of the process.

    +
    Parameters
    + + + +
    processHandle of the process.
    infoPointer to a StartupInfo structure describing information for the main thread.
    +
    +
    + +
    +
    + +

    ◆ svcSendSyncRequest()

    + +
    +
    + + + + + + + + +
    Result svcSendSyncRequest (Handle session)
    +
    + +

    Sends a synchronized request to a session handle.

    +
    Parameters
    + + +
    sessionHandle of the session.
    +
    +
    + +
    +
    + +

    ◆ svcSetDebugThreadContext()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcSetDebugThreadContext (Handle debug,
    u32 threadId,
    ThreadContextcontext,
    ThreadContextControlFlags controlFlags 
    )
    +
    + +

    Updates the saved registers of a thread, either inactive or awaiting svcContinueDebugEvent, belonging to a debugged process.

    +
    Parameters
    + + + + + +
    debugDebug handle of the parent process.
    threadIdID of the thread to update the saved registers of.
    contextValues of the registers to update, see ThreadContext.
    controlFlagsWhich registers to update, see ThreadContextControlFlags.
    +
    +
    + +
    +
    + +

    ◆ svcSetGpuProt()

    + +
    +
    + + + + + + + + +
    Result svcSetGpuProt (bool useApplicationRestriction)
    +
    + +

    Sets the GPU protection register to restrict the range of the GPU DMA.

    +

    11.3+ only.

    Parameters
    + + +
    useApplicationRestrictionWhether to use the register value used for APPLICATION titles.
    +
    +
    + +
    +
    + +

    ◆ svcSetHardwareBreakPoint()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcSetHardwareBreakPoint (s32 registerId,
    u32 control,
    u32 value 
    )
    +
    + +

    Sets an hardware breakpoint or watchpoint.

    +

    This is an interface to the BRP/WRP registers, see http://infocenter.arm.com/help/topic/com.arm.doc.ddi0360f/CEGEBGFC.html .

    Parameters
    + + + + +
    registerIdrange 0..5 = breakpoints (BRP0-5), 0x100..0x101 = watchpoints (WRP0-1). The previous stop point for the register is disabled.
    controlValue of the control regiser.
    valueValue of the value register: either and address (if bit21 of control is clear) or the debug handle of a process to fetch the context ID of.
    +
    +
    + +
    +
    + +

    ◆ svcSetProcessAffinityMask()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcSetProcessAffinityMask (Handle process,
    const u8affinitymask,
    s32 processorcount 
    )
    +
    + +

    Sets a process's affinity mask.

    +
    Parameters
    + + + + +
    processHandle of the process.
    affinitymaskPointer to retrieve the affinity masks from.
    processorcountNumber of processors.
    +
    +
    + +
    +
    + +

    ◆ svcSetProcessIdealProcessor()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcSetProcessIdealProcessor (Handle process,
    s32 processorid 
    )
    +
    + +

    Sets a process's ideal processor.

    +
    Parameters
    + + + +
    processHandle of the process.
    processoridID of the process's ideal processor.
    +
    +
    + +
    +
    + +

    ◆ svcSetProcessResourceLimits()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcSetProcessResourceLimits (Handle process,
    Handle resourceLimit 
    )
    +
    + +

    Sets the resource limit set of a process.

    +
    Parameters
    + + + +
    processProcess to set the resource limit set to.
    resourceLimitResource limit set handle.
    +
    +
    + +
    +
    + +

    ◆ svcSetResourceLimitValues()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcSetResourceLimitValues (Handle resourceLimit,
    const ResourceLimitTypenames,
    const s64values,
    s32 nameCount 
    )
    +
    + +

    Sets the value limits of a resource limit set.

    +
    Parameters
    + + + + + +
    resourceLimitResource limit set to use.
    namesResource limit names to set the limits of.
    valuesValue limits to set. The high 32 bits of RESLIMIT_COMMIT are used to set APPMEMALLOC in configuration memory, otherwise those bits are unused.
    nameCountNumber of resource limit names.
    +
    +
    + +
    +
    + +

    ◆ svcSetThreadAffinityMask()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcSetThreadAffinityMask (Handle thread,
    const u8affinitymask,
    s32 processorcount 
    )
    +
    + +

    Sets a thread's affinity mask.

    +
    Parameters
    + + + + +
    threadHandle of the thread.
    affinitymaskPointer to retrieve the affinity masks from.
    processorcountNumber of processors.
    +
    +
    + +
    +
    + +

    ◆ svcSetThreadIdealProcessor()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcSetThreadIdealProcessor (Handle thread,
    s32 processorid 
    )
    +
    + +

    Sets a thread's ideal processor.

    +
    Parameters
    + + + +
    threadHandle of the thread.
    processoridID of the thread's ideal processor.
    +
    +
    + +
    +
    + +

    ◆ svcSetThreadPriority()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcSetThreadPriority (Handle thread,
    s32 prio 
    )
    +
    + +

    Changes the priority of a thread.

    +
    Parameters
    + + +
    prioFor userland apps, this has to be within the range [0x18;0x3F]
    +
    +
    +

    Low values gives the thread higher priority.

    + +
    +
    + +

    ◆ svcSetTimer()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcSetTimer (Handle timer,
    s64 initial,
    s64 interval 
    )
    +
    + +

    Sets a timer.

    +
    Parameters
    + + + + +
    timerHandle of the timer to set.
    initialInitial value of the timer.
    intervalInterval of the timer.
    +
    +
    + +
    +
    + +

    ◆ svcSetWifiEnabled()

    + +
    +
    + + + + + + + + +
    Result svcSetWifiEnabled (bool enabled)
    +
    + +

    Enables or disables Wi-Fi.

    +

    11.4+ only.

    Parameters
    + + +
    enabledWhether to enable or disable Wi-Fi.
    +
    +
    + +
    +
    + +

    ◆ svcSignalEvent()

    + +
    +
    + + + + + + + + +
    Result svcSignalEvent (Handle handle)
    +
    + +

    Signals an event.

    +
    Parameters
    + + +
    handleHandle of the event to signal.
    +
    +
    +
    Examples
    threads/event/source/main.c.
    +
    + +
    +
    + +

    ◆ svcSleepThread()

    + +
    +
    + + + + + + + + +
    void svcSleepThread (s64 ns)
    +
    + +

    Puts the current thread to sleep.

    +
    Parameters
    + + +
    nsThe minimum number of nanoseconds to sleep for.
    +
    +
    +
    Examples
    network/boss/source/main.c, and threads/thread-basic/source/main.c.
    +
    + +
    +
    + +

    ◆ svcStartInterProcessDma()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcStartInterProcessDma (Handledma,
    Handle dstProcess,
    u32 dstAddr,
    Handle srcProcess,
    u32 srcAddr,
    u32 size,
    const DmaConfigcfg 
    )
    +
    + +

    Begins an inter-process DMA transfer.

    +
    Parameters
    + + + + + + + + +
    [out]dmaPointer to output the handle of the DMA channel object to.
    dstProcessDestination process handle.
    dstAddrAddress in the destination process to write data to.
    srcProcessSource process handle.
    srcAddrAddress in the source to read data from.
    sizeSize of the data to transfer.
    cfgConfiguration structure.
    +
    +
    +
    Note
    The handle is signaled when the transfer finishes.
    + +
    +
    + +

    ◆ svcStopDma()

    + +
    +
    + + + + + + + + +
    Result svcStopDma (Handle dma)
    +
    + +

    Stops an inter-process DMA transfer.

    +
    Parameters
    + + +
    dmaHandle of the DMA channel object.
    +
    +
    + +
    +
    + +

    ◆ svcStoreProcessDataCache()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcStoreProcessDataCache (Handle process,
    u32 addr,
    u32 size 
    )
    +
    + +

    Cleans a process's data cache.

    +
    Parameters
    + + + + +
    processHandle of the process.
    addrAddress to clean.
    sizeSize of the memory to clean.
    +
    +
    + +
    +
    + +

    ◆ svcTerminateDebugProcess()

    + +
    +
    + + + + + + + + +
    Result svcTerminateDebugProcess (Handle debug)
    +
    + +

    Terminates a debugged process.

    +
    Parameters
    + + +
    debugDebug handle of the process.
    +
    +
    + +
    +
    + +

    ◆ svcTerminateProcess()

    + +
    +
    + + + + + + + + +
    Result svcTerminateProcess (Handle process)
    +
    + +

    Terminates a process.

    +
    Parameters
    + + +
    processHandle of the process to terminate.
    +
    +
    + +
    +
    + +

    ◆ svcUnbindInterrupt()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcUnbindInterrupt (u32 interruptId,
    Handle eventOrSemaphore 
    )
    +
    + +

    Unbinds an event or semaphore handle from an ARM11 interrupt.

    +
    Parameters
    + + + +
    interruptIdInterrupt identfier, see (see https://www.3dbrew.org/wiki/ARM11_Interrupts).
    eventOrSemaphoreEvent or semaphore handle to unbind from the given interrupt.
    +
    +
    + +
    +
    + +

    ◆ svcUnmapMemoryBlock()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcUnmapMemoryBlock (Handle memblock,
    u32 addr 
    )
    +
    + +

    Unmaps a block of shared memory.

    +
    Parameters
    + + + +
    memblockHandle of the block
    addrAddress of the memory to unmap, page-aligned. So its alignment must be 0x1000.
    +
    +
    + +
    +
    + +

    ◆ svcUnmapProcessMemory()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcUnmapProcessMemory (Handle process,
    u32 destAddress,
    u32 size 
    )
    +
    + +

    Unmaps a block of process memory, starting from address 0x00100000.

    +
    Parameters
    + + + + +
    processHandle of the process.
    destAddressAddress of the block of memory to unmap, in the current (destination) process.
    sizeSize of the block of memory to unmap (truncated to a multiple of 0x1000 bytes).
    +
    +
    + +
    +
    + +

    ◆ svcWaitSynchronization()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result svcWaitSynchronization (Handle handle,
    s64 nanoseconds 
    )
    +
    + +

    Waits for synchronization on a handle.

    +
    Parameters
    + + + +
    handleHandle to wait on.
    nanosecondsMaximum nanoseconds to wait for.
    +
    +
    +
    Examples
    camera/image/source/main.c, camera/video/source/main.c, and threads/event/source/main.c.
    +
    + +
    +
    + +

    ◆ svcWaitSynchronizationN()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcWaitSynchronizationN (s32out,
    const Handlehandles,
    s32 handles_num,
    bool wait_all,
    s64 nanoseconds 
    )
    +
    + +

    Waits for synchronization on multiple handles.

    +
    Parameters
    + + + + + + +
    [out]outPointer to output the index of the synchronized handle to.
    handlesHandles to wait on.
    handles_numNumber of handles.
    wait_allWhether to wait for synchronization on all handles.
    nanosecondsMaximum nanoseconds to wait for.
    +
    +
    +
    Examples
    camera/video/source/main.c.
    +
    + +
    +
    + +

    ◆ svcWriteProcessMemory()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result svcWriteProcessMemory (Handle debug,
    const void * buffer,
    u32 addr,
    u32 size 
    )
    +
    + +

    Writes to a debugged process's memory.

    +
    Parameters
    + + + + + +
    debugDebug handle of the process.
    bufferBuffer to write data from.
    addrAddress to write to.
    sizeSize of the memory to write.
    +
    +
    + +
    +
    +
    + + + + diff --git a/svc_8h_source.html b/svc_8h_source.html new file mode 100644 index 000000000..1e4ef73a8 --- /dev/null +++ b/svc_8h_source.html @@ -0,0 +1,1901 @@ + + + + + + + +libctru: include/3ds/svc.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    svc.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file svc.h
    +
    3  * @brief Syscall wrappers.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 #include "types.h"
    +
    8 
    +
    9 /// Pseudo handle for the current process
    +
    10 #define CUR_PROCESS_HANDLE 0xFFFF8001
    +
    11 
    +
    12 ///@name Memory management
    +
    13 ///@{
    +
    14 
    +
    15 /**
    +
    16  * @brief @ref svcControlMemory operation flags
    +
    17  *
    +
    18  * The lowest 8 bits are the operation
    +
    19  */
    +
    20 typedef enum {
    +
    21  MEMOP_FREE = 1, ///< Memory un-mapping
    +
    22  MEMOP_RESERVE = 2, ///< Reserve memory
    +
    23  MEMOP_ALLOC = 3, ///< Memory mapping
    +
    24  MEMOP_MAP = 4, ///< Mirror mapping
    +
    25  MEMOP_UNMAP = 5, ///< Mirror unmapping
    +
    26  MEMOP_PROT = 6, ///< Change protection
    +
    27 
    +
    28  MEMOP_REGION_APP = 0x100, ///< APPLICATION memory region.
    +
    29  MEMOP_REGION_SYSTEM = 0x200, ///< SYSTEM memory region.
    +
    30  MEMOP_REGION_BASE = 0x300, ///< BASE memory region.
    +
    31 
    +
    32  MEMOP_OP_MASK = 0xFF, ///< Operation bitmask.
    +
    33  MEMOP_REGION_MASK = 0xF00, ///< Region bitmask.
    +
    34  MEMOP_LINEAR_FLAG = 0x10000, ///< Flag for linear memory operations
    +
    35 
    +
    36  MEMOP_ALLOC_LINEAR = MEMOP_LINEAR_FLAG | MEMOP_ALLOC, ///< Allocates linear memory.
    +
    37 } MemOp;
    +
    38 
    +
    39 /// The state of a memory block.
    +
    40 typedef enum {
    +
    41  MEMSTATE_FREE = 0, ///< Free memory
    +
    42  MEMSTATE_RESERVED = 1, ///< Reserved memory
    +
    43  MEMSTATE_IO = 2, ///< I/O memory
    +
    44  MEMSTATE_STATIC = 3, ///< Static memory
    +
    45  MEMSTATE_CODE = 4, ///< Code memory
    +
    46  MEMSTATE_PRIVATE = 5, ///< Private memory
    +
    47  MEMSTATE_SHARED = 6, ///< Shared memory
    +
    48  MEMSTATE_CONTINUOUS = 7, ///< Continuous memory
    +
    49  MEMSTATE_ALIASED = 8, ///< Aliased memory
    +
    50  MEMSTATE_ALIAS = 9, ///< Alias memory
    +
    51  MEMSTATE_ALIASCODE = 10, ///< Aliased code memory
    +
    52  MEMSTATE_LOCKED = 11, ///< Locked memory
    +
    53 } MemState;
    +
    54 
    +
    55 /// Memory permission flags
    +
    56 typedef enum {
    +
    57  MEMPERM_READ = 1, ///< Readable
    +
    58  MEMPERM_WRITE = 2, ///< Writable
    +
    59  MEMPERM_EXECUTE = 4, ///< Executable
    +
    60  MEMPERM_READWRITE = MEMPERM_READ | MEMPERM_WRITE, ///< Readable and writable
    +
    61  MEMPERM_READEXECUTE = MEMPERM_READ | MEMPERM_EXECUTE, ///< Readable and executable
    +
    62  MEMPERM_DONTCARE = 0x10000000, ///< Don't care
    +
    63 } MemPerm;
    +
    64 
    +
    65 /// Memory regions.
    +
    66 typedef enum
    +
    67 {
    +
    68  MEMREGION_ALL = 0, ///< All regions.
    +
    69  MEMREGION_APPLICATION = 1, ///< APPLICATION memory.
    +
    70  MEMREGION_SYSTEM = 2, ///< SYSTEM memory.
    +
    71  MEMREGION_BASE = 3, ///< BASE memory.
    +
    72 } MemRegion;
    +
    73 
    +
    74 /// Memory information.
    +
    75 typedef struct {
    +
    76  u32 base_addr; ///< Base address.
    +
    77  u32 size; ///< Size.
    +
    78  u32 perm; ///< Memory permissions. See @ref MemPerm
    +
    79  u32 state; ///< Memory state. See @ref MemState
    +
    80 } MemInfo;
    +
    81 
    +
    82 /// Memory page information.
    +
    83 typedef struct {
    +
    84  u32 flags; ///< Page flags.
    +
    85 } PageInfo;
    +
    86 
    +
    87 /// Arbitration modes.
    +
    88 typedef enum {
    +
    89  ARBITRATION_SIGNAL = 0, ///< Signal #value threads for wake-up.
    +
    90  ARBITRATION_WAIT_IF_LESS_THAN = 1, ///< If the memory at the address is strictly lower than #value, then wait for signal.
    +
    91  ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN = 2, ///< If the memory at the address is strictly lower than #value, then decrement it and wait for signal.
    +
    92  ARBITRATION_WAIT_IF_LESS_THAN_TIMEOUT = 3, ///< If the memory at the address is strictly lower than #value, then wait for signal or timeout.
    +
    93  ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN_TIMEOUT = 4, ///< If the memory at the address is strictly lower than #value, then decrement it and wait for signal or timeout.
    + +
    95 
    +
    96 /// Special value to signal all the threads
    +
    97 #define ARBITRATION_SIGNAL_ALL (-1)
    +
    98 
    +
    99 ///@}
    +
    100 
    +
    101 ///@name Multithreading
    +
    102 ///@{
    +
    103 
    +
    104 /// Reset types (for use with events and timers)
    +
    105 typedef enum {
    +
    106  RESET_ONESHOT = 0, ///< When the primitive is signaled, it will wake up exactly one thread and will clear itself automatically.
    +
    107  RESET_STICKY = 1, ///< When the primitive is signaled, it will wake up all threads and it won't clear itself automatically.
    +
    108  RESET_PULSE = 2, ///< Only meaningful for timers: same as ONESHOT but it will periodically signal the timer instead of just once.
    +
    109 } ResetType;
    +
    110 
    +
    111 /// Types of thread info.
    +
    112 typedef enum {
    +
    113  THREADINFO_TYPE_UNKNOWN ///< Unknown.
    + +
    115 
    +
    116 /// Types of resource limit
    +
    117 typedef enum {
    +
    118  RESLIMIT_PRIORITY = 0, ///< Thread priority
    +
    119  RESLIMIT_COMMIT = 1, ///< Quantity of allocatable memory
    +
    120  RESLIMIT_THREAD = 2, ///< Number of threads
    +
    121  RESLIMIT_EVENT = 3, ///< Number of events
    +
    122  RESLIMIT_MUTEX = 4, ///< Number of mutexes
    +
    123  RESLIMIT_SEMAPHORE = 5, ///< Number of semaphores
    +
    124  RESLIMIT_TIMER = 6, ///< Number of timers
    +
    125  RESLIMIT_SHAREDMEMORY = 7, ///< Number of shared memory objects, see @ref svcCreateMemoryBlock
    +
    126  RESLIMIT_ADDRESSARBITER = 8, ///< Number of address arbiters
    +
    127  RESLIMIT_CPUTIME = 9, ///< CPU time. Value expressed in percentage regular until it reaches 90.
    +
    128 
    +
    129  RESLIMIT_BIT = BIT(31), ///< Forces enum size to be 32 bits
    + +
    131 
    +
    132 /// Pseudo handle for the current thread
    +
    133 #define CUR_THREAD_HANDLE 0xFFFF8000
    +
    134 
    +
    135 ///@}
    +
    136 
    +
    137 ///@name Device drivers
    +
    138 ///@{
    +
    139 
    +
    140 /// DMA transfer state.
    +
    141 typedef enum {
    +
    142  DMASTATE_STARTING = 0, ///< DMA transfer involving at least one device is starting and has not reached DMAWFP yet.
    +
    143  DMASTATE_WFP_DST = 1, ///< DMA channel is in WFP state for the destination device (2nd loop iteration onwards).
    +
    144  DMASTATE_WFP_SRC = 2, ///< DMA channel is in WFP state for the source device (2nd loop iteration onwards).
    +
    145  DMASTATE_RUNNING = 3, ///< DMA transfer is running.
    +
    146  DMASTATE_DONE = 4, ///< DMA transfer is done.
    +
    147 } DmaState;
    +
    148 
    +
    149 /// Configuration flags for \ref DmaConfig.
    +
    150 enum {
    +
    151  DMACFG_SRC_IS_DEVICE = BIT(0), ///< DMA source is a device/peripheral. Address will not auto-increment.
    +
    152  DMACFG_DST_IS_DEVICE = BIT(1), ///< DMA destination is a device/peripheral. Address will not auto-increment.
    +
    153  DMACFG_WAIT_AVAILABLE = BIT(2), ///< Make \ref svcStartInterProcessDma wait for the channel to be unlocked.
    +
    154  DMACFG_KEEP_LOCKED = BIT(3), ///< Keep the channel locked after the transfer. Required for \ref svcRestartDma.
    +
    155  DMACFG_USE_SRC_CONFIG = BIT(6), ///< Use the provided source device configuration even if the DMA source is not a device.
    +
    156  DMACFG_USE_DST_CONFIG = BIT(7), ///< Use the provided destination device configuration even if the DMA destination is not a device.
    +
    157 };
    +
    158 
    +
    159 /// Configuration flags for \ref svcRestartDma.
    +
    160 enum {
    +
    161  DMARST_UNLOCK = BIT(0), ///< Unlock the channel after transfer.
    +
    162  DMARST_RESUME_DEVICE = BIT(1), ///< Replace DMAFLUSHP instructions by NOP (they may not be regenerated even if this flag is not set).
    +
    163 };
    +
    164 
    +
    165 /**
    +
    166  * @brief Device configuration structure, part of \ref DmaConfig.
    +
    167  * @note
    +
    168  * - if (and only if) src/dst is a device, then src/dst won't be auto-incremented.
    +
    169  * - the kernel uses DMAMOV instead of DMAADNH, when having to decrement (possibly working around an erratum);
    +
    170  * this forces all loops to be unrolled -- you need to keep that in mind when using negative increments, as the kernel
    +
    171  * uses a limit of 100 DMA instruction bytes per channel.
    +
    172  */
    +
    173 typedef struct {
    +
    174  s8 deviceId; ///< DMA device ID.
    +
    175  s8 allowedAlignments; ///< Mask of allowed access alignments (8, 4, 2, 1).
    +
    176  s16 burstSize; ///< Number of bytes transferred in a burst loop. Can be 0 (in which case the max allowed alignment is used as unit).
    +
    177  s16 transferSize; ///< Number of bytes transferred in a "transfer" loop (made of burst loops).
    +
    178  s16 burstStride; ///< Burst loop stride, can be <= 0.
    +
    179  s16 transferStride; ///< "Transfer" loop stride, can be <= 0.
    + +
    181 
    +
    182 /// Configuration stucture for \ref svcStartInterProcessDma.
    +
    183 typedef struct {
    +
    184  s8 channelId; ///< Channel ID (Arm11: 0-7, Arm9: 0-1). Use -1 to auto-assign to a free channel (Arm11: 3-7, Arm9: 0-1).
    +
    185  s8 endianSwapSize; ///< Endian swap size (can be 0).
    +
    186  u8 flags; ///< DMACFG_* flags.
    +
    187  u8 _padding;
    +
    188  DmaDeviceConfig srcCfg; ///< Source device configuration, read if \ref DMACFG_SRC_IS_DEVICE and/or \ref DMACFG_USE_SRC_CONFIG are set.
    +
    189  DmaDeviceConfig dstCfg; ///< Destination device configuration, read if \ref DMACFG_SRC_IS_DEVICE and/or \ref DMACFG_USE_SRC_CONFIG are set.
    +
    190 } DmaConfig;
    +
    191 
    +
    192 ///@}
    +
    193 
    +
    194 ///@name Debugging
    +
    195 ///@{
    +
    196 
    +
    197 /// Operations for \ref svcControlPerformanceCounter
    +
    198 typedef enum {
    +
    199  PERFCOUNTEROP_ENABLE = 0, ///< Enable and lock perfmon. functionality.
    +
    200  PERFCOUNTEROP_DISABLE = 1, ///< Disable and forcibly unlock perfmon. functionality.
    +
    201  PERFCOUNTEROP_GET_VALUE = 2, ///< Get the value of a counter register.
    +
    202  PERFCOUNTEROP_SET_VALUE = 3, ///< Set the value of a counter register.
    +
    203  PERFCOUNTEROP_GET_OVERFLOW_FLAGS = 4, ///< Get the overflow flags for all CP15 and SCU counters.
    +
    204  PERFCOUNTEROP_RESET = 5, ///< Reset the value and/or overflow flags of selected counters.
    +
    205  PERFCOUNTEROP_GET_EVENT = 6, ///< Get the event ID associated to a particular counter.
    +
    206  PERFCOUNTEROP_SET_EVENT = 7, ///< Set the event ID associated to a paritcular counter.
    +
    207  PERFCOUNTEROP_SET_VIRTUAL_COUNTER_ENABLED = 8, ///< (Dis)allow the kernel to track counter overflows and to use 64-bit counter values.
    + +
    209 
    +
    210 /// Performance counter register IDs (CP15 and SCU).
    +
    211 typedef enum
    +
    212 {
    +
    213  // CP15 registers:
    +
    214  PERFCOUNTERREG_CORE_BASE = 0,
    +
    215  PERFCOUNTERREG_CORE_COUNT_REG_0 = PERFCOUNTERREG_CORE_BASE, ///< CP15 PMN0.
    + + +
    218 
    +
    219  // SCU registers
    +
    220  PERFCOUNTERREG_SCU_BASE = 0x10,
    +
    221  PERFCOUNTERREG_SCU_0 = PERFCOUNTERREG_SCU_BASE, ///< SCU MN0.
    +
    222  PERFCOUNTERREG_SCU_1, ///< SCU MN1.
    +
    223  PERFCOUNTERREG_SCU_2, ///< SCU MN2.
    +
    224  PERFCOUNTERREG_SCU_3, ///< SCU MN3.
    +
    225  PERFCOUNTERREG_SCU_4, ///< SCU MN4. Prod-N3DS only. IRQ line missing.
    +
    226  PERFCOUNTERREG_SCU_5, ///< SCU MN5. Prod-N3DS only. IRQ line missing.
    +
    227  PERFCOUNTERREG_SCU_6, ///< SCU MN6. Prod-N3DS only. IRQ line missing.
    +
    228  PERFCOUNTERREG_SCU_7, ///< SCU MN7. Prod-N3DS only. IRQ line missing.
    + +
    230 
    +
    231 /**
    +
    232  * @brief Performance counter event IDs (CP15 or SCU).
    +
    233  *
    +
    234  * @note Refer to:
    +
    235  * - CP15: https://developer.arm.com/documentation/ddi0360/e/control-coprocessor-cp15/register-descriptions/c15--performance-monitor-control-register--pmnc-
    +
    236  * - SCU: https://developer.arm.com/documentation/ddi0360/e/mpcore-private-memory-region/about-the-mpcore-private-memory-region/performance-monitor-event-registers
    +
    237  */
    +
    238 typedef enum
    +
    239 {
    +
    240  // Core events:
    +
    241  PERFCOUNTEREVT_CORE_BASE = 0x0,
    +
    242  PERFCOUNTEREVT_CORE_INST_CACHE_MISS = PERFCOUNTEREVT_CORE_BASE,
    +
    243  PERFCOUNTEREVT_CORE_STALL_BY_LACK_OF_INST,
    +
    244  PERFCOUNTEREVT_CORE_STALL_BY_DATA_HAZARD,
    +
    245  PERFCOUNTEREVT_CORE_INST_MICRO_TLB_MISS,
    +
    246  PERFCOUNTEREVT_CORE_DATA_MICRO_TLB_MISS,
    +
    247  PERFCOUNTEREVT_CORE_BRANCH_INST,
    +
    248  PERFCOUNTEREVT_CORE_BRANCH_NOT_PREDICTED,
    +
    249  PERFCOUNTEREVT_CORE_BRANCH_MISS_PREDICTED,
    +
    250  PERFCOUNTEREVT_CORE_INST_EXECUTED,
    +
    251  PERFCOUNTEREVT_CORE_FOLDED_INST_EXECUTED,
    +
    252  PERFCOUNTEREVT_CORE_DATA_CACHE_READ,
    +
    253  PERFCOUNTEREVT_CORE_DATA_CACHE_READ_MISS,
    +
    254  PERFCOUNTEREVT_CORE_DATA_CACHE_WRITE,
    +
    255  PERFCOUNTEREVT_CORE_DATA_CACHE_WRITE_MISS,
    +
    256  PERFCOUNTEREVT_CORE_DATA_CACHE_LINE_EVICTION,
    +
    257  PERFCOUNTEREVT_CORE_PC_CHANGED,
    +
    258  PERFCOUNTEREVT_CORE_MAIN_TLB_MISS,
    +
    259  PERFCOUNTEREVT_CORE_EXTERNAL_REQUEST,
    +
    260  PERFCOUNTEREVT_CORE_STALL_BY_LSU_FULL,
    +
    261  PERFCOUNTEREVT_CORE_STORE_BUFFER_DRAIN,
    +
    262  PERFCOUNTEREVT_CORE_MERGE_IN_STORE_BUFFER,
    +
    263  PERFCOUNTEREVT_CORE_CYCLE_COUNT = PERFCOUNTEREVT_CORE_BASE + 0xFF, ///< One cycle elapsed.
    +
    264  PERFCOUNTEREVT_CORE_CYCLE_COUNT_64 = PERFCOUNTEREVT_CORE_BASE + 0xFFF, ///< 64 cycles elapsed.
    +
    265 
    +
    266 
    +
    267  PERFCOUNTEREVT_SCU_BASE = 0x1000,
    +
    268  PERFCOUNTEREVT_SCU_DISABLED = PERFCOUNTEREVT_SCU_BASE,
    +
    269  PERFCOUNTEREVT_SCU_LINEFILL_MISS_FROM_CORE0,
    +
    270  PERFCOUNTEREVT_SCU_LINEFILL_MISS_FROM_CORE1,
    +
    271  PERFCOUNTEREVT_SCU_LINEFILL_MISS_FROM_CORE2,
    +
    272  PERFCOUNTEREVT_SCU_LINEFILL_MISS_FROM_CORE3,
    +
    273  PERFCOUNTEREVT_SCU_LINEFILL_HIT_FROM_CORE0,
    +
    274  PERFCOUNTEREVT_SCU_LINEFILL_HIT_FROM_CORE1,
    +
    275  PERFCOUNTEREVT_SCU_LINEFILL_HIT_FROM_CORE2,
    +
    276  PERFCOUNTEREVT_SCU_LINEFILL_HIT_FROM_CORE3,
    +
    277  PERFCOUNTEREVT_SCU_LINE_MISSING_FROM_CORE0,
    +
    278  PERFCOUNTEREVT_SCU_LINE_MISSING_FROM_CORE1,
    +
    279  PERFCOUNTEREVT_SCU_LINE_MISSING_FROM_CORE2,
    +
    280  PERFCOUNTEREVT_SCU_LINE_MISSING_FROM_CORE3,
    +
    281  PERFCOUNTEREVT_SCU_LINE_MIGRATION,
    +
    282  PERFCOUNTEREVT_SCU_READ_BUSY_PORT0,
    +
    283  PERFCOUNTEREVT_SCU_READ_BUSY_PORT1,
    +
    284  PERFCOUNTEREVT_SCU_WRITE_BUSY_PORT0,
    +
    285  PERFCOUNTEREVT_SCU_WRITE_BUSY_PORT1,
    +
    286  PERFCOUNTEREVT_SCU_EXTERNAL_READ,
    +
    287  PERFCOUNTEREVT_SCU_EXTERNAL_WRITE,
    +
    288  PERFCOUNTEREVT_SCU_CYCLE_COUNT = PERFCOUNTEREVT_SCU_BASE + 0x1F,
    + +
    290 
    +
    291 /// Event relating to the attachment of a process.
    +
    292 typedef struct {
    +
    293  u64 program_id; ///< ID of the program.
    +
    294  char process_name[8]; ///< Name of the process.
    +
    295  u32 process_id; ///< ID of the process.
    +
    296  u32 other_flags; ///< Always 0
    + +
    298 
    +
    299 /// Reasons for an exit process event.
    +
    300 typedef enum {
    +
    301  EXITPROCESS_EVENT_EXIT = 0, ///< Process exited either normally or due to an uncaught exception.
    +
    302  EXITPROCESS_EVENT_TERMINATE = 1, ///< Process has been terminated by @ref svcTerminateProcess.
    +
    303  EXITPROCESS_EVENT_DEBUG_TERMINATE = 2, ///< Process has been terminated by @ref svcTerminateDebugProcess.
    + +
    305 
    +
    306 /// Event relating to the exiting of a process.
    +
    307 typedef struct {
    +
    308  ExitProcessEventReason reason; ///< Reason for exiting. See @ref ExitProcessEventReason
    + +
    310 
    +
    311 /// Event relating to the attachment of a thread.
    +
    312 typedef struct {
    +
    313  u32 creator_thread_id; ///< ID of the creating thread.
    +
    314  u32 thread_local_storage; ///< Thread local storage.
    +
    315  u32 entry_point; ///< Entry point of the thread.
    + +
    317 
    +
    318 /// Reasons for an exit thread event.
    +
    319 typedef enum {
    +
    320  EXITTHREAD_EVENT_EXIT = 0, ///< Thread exited.
    +
    321  EXITTHREAD_EVENT_TERMINATE = 1, ///< Thread terminated.
    +
    322  EXITTHREAD_EVENT_EXIT_PROCESS = 2, ///< Process exited either normally or due to an uncaught exception.
    +
    323  EXITTHREAD_EVENT_TERMINATE_PROCESS = 3, ///< Process has been terminated by @ref svcTerminateProcess.
    + +
    325 
    +
    326 /// Event relating to the exiting of a thread.
    +
    327 typedef struct {
    +
    328  ExitThreadEventReason reason; ///< Reason for exiting. See @ref ExitThreadEventReason
    + +
    330 
    +
    331 /// Reasons for a user break.
    +
    332 typedef enum {
    +
    333  USERBREAK_PANIC = 0, ///< Panic.
    +
    334  USERBREAK_ASSERT = 1, ///< Assertion failed.
    +
    335  USERBREAK_USER = 2, ///< User related.
    +
    336  USERBREAK_LOAD_RO = 3, ///< Load RO.
    +
    337  USERBREAK_UNLOAD_RO = 4, ///< Unload RO.
    +
    338 } UserBreakType;
    +
    339 
    +
    340 /// Reasons for an exception event.
    +
    341 typedef enum {
    +
    342  EXCEVENT_UNDEFINED_INSTRUCTION = 0, ///< Undefined instruction.
    +
    343  EXCEVENT_PREFETCH_ABORT = 1, ///< Prefetch abort.
    +
    344  EXCEVENT_DATA_ABORT = 2, ///< Data abort (other than the below kind).
    +
    345  EXCEVENT_UNALIGNED_DATA_ACCESS = 3, ///< Unaligned data access.
    +
    346  EXCEVENT_ATTACH_BREAK = 4, ///< Attached break.
    +
    347  EXCEVENT_STOP_POINT = 5, ///< Stop point reached.
    +
    348  EXCEVENT_USER_BREAK = 6, ///< User break occurred.
    +
    349  EXCEVENT_DEBUGGER_BREAK = 7, ///< Debugger break occurred.
    +
    350  EXCEVENT_UNDEFINED_SYSCALL = 8, ///< Undefined syscall.
    + +
    352 
    +
    353 /// Event relating to fault exceptions (CPU exceptions other than stop points and undefined syscalls).
    +
    354 typedef struct {
    +
    355  u32 fault_information; ///< FAR (for DATA ABORT / UNALIGNED DATA ACCESS), attempted syscall or 0
    + +
    357 
    +
    358 /// Stop point types
    +
    359 typedef enum {
    +
    360  STOPPOINT_SVC_FF = 0, ///< See @ref SVC_STOP_POINT.
    +
    361  STOPPOINT_BREAKPOINT = 1, ///< Breakpoint.
    +
    362  STOPPOINT_WATCHPOINT = 2, ///< Watchpoint.
    +
    363 } StopPointType;
    +
    364 
    +
    365 /// Event relating to stop points
    +
    366 typedef struct {
    +
    367  StopPointType type; ///< Stop point type, see @ref StopPointType.
    +
    368  u32 fault_information; ///< FAR for Watchpoints, otherwise 0.
    + +
    370 
    +
    371 /// Event relating to @ref svcBreak
    +
    372 typedef struct {
    +
    373  UserBreakType type; ///< User break type, see @ref UserBreakType.
    +
    374  u32 croInfo; ///< For LOAD_RO and UNLOAD_RO.
    +
    375  u32 croInfoSize; ///< For LOAD_RO and UNLOAD_RO.
    + +
    377 
    +
    378 /// Event relating to @ref svcBreakDebugProcess
    +
    379 typedef struct {
    +
    380  s32 thread_ids[4]; ///< IDs of the attached process's threads that were running on each core at the time of the @ref svcBreakDebugProcess call, or -1 (only the first 2 values are meaningful on O3DS).
    + +
    382 
    +
    383 /// Event relating to exceptions.
    +
    384 typedef struct {
    +
    385  ExceptionEventType type; ///< Type of event. See @ref ExceptionEventType.
    +
    386  u32 address; ///< Address of the exception.
    +
    387  union {
    +
    388  FaultExceptionEvent fault; ///< Fault exception event data.
    +
    389  StopPointExceptionEvent stop_point; ///< Stop point exception event data.
    +
    390  UserBreakExceptionEvent user_break; ///< User break exception event data.
    +
    391  DebuggerBreakExceptionEvent debugger_break; ///< Debugger break exception event data
    +
    392  };
    + +
    394 
    +
    395 /// Event relating to the scheduler.
    +
    396 typedef struct {
    +
    397  u64 clock_tick; ///< Clock tick that the event occurred.
    + +
    399 
    +
    400 /// Event relating to syscalls.
    +
    401 typedef struct {
    +
    402  u64 clock_tick; ///< Clock tick that the event occurred.
    +
    403  u32 syscall; ///< Syscall sent/received.
    + +
    405 
    +
    406 /// Event relating to debug output.
    +
    407 typedef struct {
    +
    408  u32 string_addr; ///< Address of the outputted string.
    +
    409  u32 string_size; ///< Size of the outputted string.
    + +
    411 
    +
    412 /// Event relating to the mapping of memory.
    +
    413 typedef struct {
    +
    414  u32 mapped_addr; ///< Mapped address.
    +
    415  u32 mapped_size; ///< Mapped size.
    +
    416  MemPerm memperm; ///< Memory permissions. See @ref MemPerm.
    +
    417  MemState memstate; ///< Memory state. See @ref MemState.
    +
    418 } MapEvent;
    +
    419 
    +
    420 /// Debug event type.
    +
    421 typedef enum {
    +
    422  DBGEVENT_ATTACH_PROCESS = 0, ///< Process attached event.
    +
    423  DBGEVENT_ATTACH_THREAD = 1, ///< Thread attached event.
    +
    424  DBGEVENT_EXIT_THREAD = 2, ///< Thread exit event.
    +
    425  DBGEVENT_EXIT_PROCESS = 3, ///< Process exit event.
    +
    426  DBGEVENT_EXCEPTION = 4, ///< Exception event.
    +
    427  DBGEVENT_DLL_LOAD = 5, ///< DLL load event.
    +
    428  DBGEVENT_DLL_UNLOAD = 6, ///< DLL unload event.
    +
    429  DBGEVENT_SCHEDULE_IN = 7, ///< Schedule in event.
    +
    430  DBGEVENT_SCHEDULE_OUT = 8, ///< Schedule out event.
    +
    431  DBGEVENT_SYSCALL_IN = 9, ///< Syscall in event.
    +
    432  DBGEVENT_SYSCALL_OUT = 10, ///< Syscall out event.
    +
    433  DBGEVENT_OUTPUT_STRING = 11, ///< Output string event.
    +
    434  DBGEVENT_MAP = 12, ///< Map event.
    + +
    436 
    +
    437 /// Information about a debug event.
    +
    438 typedef struct {
    +
    439  DebugEventType type; ///< Type of event. See @ref DebugEventType
    +
    440  u32 thread_id; ///< ID of the thread.
    +
    441  u32 flags; ///< Flags. Bit0 means that @ref svcContinueDebugEvent needs to be called for this event (except for EXIT PROCESS events, where this flag is disregarded).
    +
    442  u8 remnants[4]; ///< Always 0.
    +
    443  union {
    +
    444  AttachProcessEvent attach_process; ///< Process attachment event data.
    +
    445  AttachThreadEvent attach_thread; ///< Thread attachment event data.
    +
    446  ExitThreadEvent exit_thread; ///< Thread exit event data.
    +
    447  ExitProcessEvent exit_process; ///< Process exit event data.
    +
    448  ExceptionEvent exception; ///< Exception event data.
    +
    449  /* DLL_LOAD and DLL_UNLOAD do not seem to possess any event data */
    +
    450  ScheduleInOutEvent scheduler; ///< Schedule in/out event data.
    +
    451  SyscallInOutEvent syscall; ///< Syscall in/out event data.
    +
    452  OutputStringEvent output_string; ///< Output string event data.
    +
    453  MapEvent map; ///< Map event data.
    +
    454  };
    + +
    456 
    +
    457 /// Debug flags for an attached process, set by @ref svcContinueDebugEvent
    +
    458 typedef enum {
    +
    459  DBG_INHIBIT_USER_CPU_EXCEPTION_HANDLERS = BIT(0), ///< Inhibit user-defined CPU exception handlers (including watchpoints and breakpoints, regardless of any @ref svcKernelSetState call).
    +
    460  DBG_SIGNAL_FAULT_EXCEPTION_EVENTS = BIT(1), ///< Signal fault exception events. See @ref FaultExceptionEvent.
    +
    461  DBG_SIGNAL_SCHEDULE_EVENTS = BIT(2), ///< Signal schedule in/out events. See @ref ScheduleInOutEvent.
    +
    462  DBG_SIGNAL_SYSCALL_EVENTS = BIT(3), ///< Signal syscall in/out events. See @ref SyscallInOutEvent.
    +
    463  DBG_SIGNAL_MAP_EVENTS = BIT(4), ///< Signal map events. See @ref MapEvent.
    +
    464 } DebugFlags;
    +
    465 
    +
    466 typedef struct {
    +
    467  CpuRegisters cpu_registers; ///< CPU registers.
    +
    468  FpuRegisters fpu_registers; ///< FPU registers.
    +
    469 } ThreadContext;
    +
    470 
    +
    471 /// Control flags for @ref svcGetDebugThreadContext and @ref svcSetDebugThreadContext
    +
    472 typedef enum {
    +
    473  THREADCONTEXT_CONTROL_CPU_GPRS = BIT(0), ///< Control r0-r12.
    +
    474  THREADCONTEXT_CONTROL_CPU_SPRS = BIT(1), ///< Control sp, lr, pc, cpsr.
    +
    475  THREADCONTEXT_CONTROL_FPU_GPRS = BIT(2), ///< Control d0-d15 (or s0-s31).
    +
    476  THREADCONTEXT_CONTROL_FPU_SPRS = BIT(3), ///< Control fpscr, fpexc.
    +
    477 
    +
    478  THREADCONTEXT_CONTROL_CPU_REGS = BIT(0) | BIT(1), ///< Control r0-r12, sp, lr, pc, cpsr.
    +
    479  THREADCONTEXT_CONTROL_FPU_REGS = BIT(2) | BIT(3), ///< Control d0-d15, fpscr, fpexc.
    +
    480 
    +
    481  THREADCONTEXT_CONTROL_ALL = BIT(0) | BIT(1) | BIT(2) | BIT(3), ///< Control all of the above.
    + +
    483 
    +
    484 /// Thread parameter field for @ref svcGetDebugThreadParameter
    +
    485 typedef enum {
    +
    486  DBGTHREAD_PARAMETER_PRIORITY = 0, ///< Thread priority.
    +
    487  DBGTHREAD_PARAMETER_SCHEDULING_MASK_LOW = 1, ///< Low scheduling mask.
    +
    488  DBGTHREAD_PARAMETER_CPU_IDEAL = 2, ///< Ideal processor.
    +
    489  DBGTHREAD_PARAMETER_CPU_CREATOR = 3, ///< Processor that created the threod.
    + +
    491 
    +
    492 ///@}
    +
    493 
    +
    494 ///@name Processes
    +
    495 ///@{
    +
    496 
    +
    497 /// Information on address space for process. All sizes are in pages (0x1000 bytes)
    +
    498 typedef struct {
    +
    499  u8 name[8]; ///< ASCII name of codeset
    +
    500  u16 version; ///< Version field of codeset (unused)
    +
    501  u16 padding[3]; ///< Padding
    +
    502  u32 text_addr; ///< .text start address
    +
    503  u32 text_size; ///< .text number of pages
    +
    504  u32 ro_addr; ///< .rodata start address
    +
    505  u32 ro_size; ///< .rodata number of pages
    +
    506  u32 rw_addr; ///< .data, .bss start address
    +
    507  u32 rw_size; ///< .data number of pages
    +
    508  u32 text_size_total; ///< total pages for .text (aligned)
    +
    509  u32 ro_size_total; ///< total pages for .rodata (aligned)
    +
    510  u32 rw_size_total; ///< total pages for .data, .bss (aligned)
    +
    511  u32 padding2; ///< Padding
    +
    512  u64 program_id; ///< Program ID
    +
    513 } CodeSetHeader;
    +
    514 
    +
    515 /// Information for the main thread of a process.
    +
    516 typedef struct
    +
    517 {
    +
    518  int priority; ///< Priority of the main thread.
    +
    519  u32 stack_size; ///< Size of the stack of the main thread.
    +
    520  int argc; ///< Unused on retail kernel.
    +
    521  u16* argv; ///< Unused on retail kernel.
    +
    522  u16* envp; ///< Unused on retail kernel.
    +
    523 } StartupInfo;
    +
    524 
    +
    525 ///@}
    +
    526 
    +
    527 /**
    +
    528  * @brief Gets the thread local storage buffer.
    +
    529  * @return The thread local storage buffer.
    +
    530  */
    +
    531 static inline void* getThreadLocalStorage(void)
    +
    532 {
    +
    533  void* ret;
    +
    534  __asm__ ("mrc p15, 0, %[data], c13, c0, 3" : [data] "=r" (ret));
    +
    535  return ret;
    +
    536 }
    +
    537 
    +
    538 /**
    +
    539  * @brief Gets the thread command buffer.
    +
    540  * @return The thread command buffer.
    +
    541  */
    +
    542 static inline u32* getThreadCommandBuffer(void)
    +
    543 {
    +
    544  return (u32*)((u8*)getThreadLocalStorage() + 0x80);
    +
    545 }
    +
    546 
    +
    547 /**
    +
    548  * @brief Gets the thread static buffer.
    +
    549  * @return The thread static buffer.
    +
    550  */
    +
    551 static inline u32* getThreadStaticBuffers(void)
    +
    552 {
    +
    553  return (u32*)((u8*)getThreadLocalStorage() + 0x180);
    +
    554 }
    +
    555 
    +
    556 ///@name Device drivers
    +
    557 ///@{
    +
    558 
    +
    559 /// Writes the default DMA device config that the kernel uses when DMACFG_*_IS_DEVICE and DMACFG_*_USE_CFG are not set
    + +
    561 {
    +
    562  // Kernel uses this default instance if _IS_DEVICE and _USE_CFG are not set
    +
    563  *cfg = (DmaDeviceConfig) {
    +
    564  .deviceId = -1,
    +
    565  .allowedAlignments = 8 | 4 | 2 | 1,
    +
    566  .burstSize = 0x80,
    +
    567  .transferSize = 0,
    +
    568  .burstStride = 0x80,
    +
    569  .transferStride = 0,
    +
    570  };
    +
    571 }
    +
    572 
    +
    573 /// Initializes a \ref DmaConfig instance with sane defaults for RAM<>RAM tranfers
    +
    574 static inline void dmaConfigInitDefault(DmaConfig *cfg)
    +
    575 {
    +
    576  *cfg = (DmaConfig) {
    +
    577  .channelId = -1,
    +
    578  .endianSwapSize = 0,
    +
    579  .flags = DMACFG_WAIT_AVAILABLE,
    +
    580  ._padding = 0,
    +
    581  .srcCfg = {},
    +
    582  .dstCfg = {},
    +
    583  };
    +
    584 }
    +
    585 
    +
    586 ///@}
    +
    587 
    +
    588 ///@name Memory management
    +
    589 ///@{
    +
    590 /**
    +
    591  * @brief Controls memory mapping
    +
    592  * @param[out] addr_out The virtual address resulting from the operation. Usually the same as addr0.
    +
    593  * @param addr0 The virtual address to be used for the operation.
    +
    594  * @param addr1 The virtual address to be (un)mirrored by @p addr0 when using @ref MEMOP_MAP or @ref MEMOP_UNMAP.
    +
    595  * It has to be pointing to a RW memory.
    +
    596  * Use NULL if the operation is @ref MEMOP_FREE or @ref MEMOP_ALLOC.
    +
    597  * @param size The requested size for @ref MEMOP_ALLOC and @ref MEMOP_ALLOC_LINEAR.
    +
    598  * @param op Operation flags. See @ref MemOp.
    +
    599  * @param perm A combination of @ref MEMPERM_READ and @ref MEMPERM_WRITE. Using MEMPERM_EXECUTE will return an error.
    +
    600  * Value 0 is used when unmapping memory.
    +
    601  *
    +
    602  * If a memory is mapped for two or more addresses, you have to use MEMOP_UNMAP before being able to MEMOP_FREE it.
    +
    603  * MEMOP_MAP will fail if @p addr1 was already mapped to another address.
    +
    604  *
    +
    605  * More information is available at http://3dbrew.org/wiki/SVC#Memory_Mapping.
    +
    606  *
    +
    607  * @sa svcControlProcessMemory
    +
    608  */
    +
    609 Result svcControlMemory(u32* addr_out, u32 addr0, u32 addr1, u32 size, MemOp op, MemPerm perm);
    +
    610 
    +
    611 /**
    +
    612  * @brief Controls the memory mapping of a process
    +
    613  * @param addr0 The virtual address to map
    +
    614  * @param addr1 The virtual address to be mapped by @p addr0
    +
    615  * @param type Only operations @ref MEMOP_MAP, @ref MEMOP_UNMAP and @ref MEMOP_PROT are allowed.
    +
    616  *
    +
    617  * This is the only SVC which allows mapping executable memory.
    +
    618  * Using @ref MEMOP_PROT will change the memory permissions of an already mapped memory.
    +
    619  *
    +
    620  * @note The pseudo handle for the current process is not supported by this service call.
    +
    621  * @sa svcControlProcess
    +
    622  */
    +
    623 Result svcControlProcessMemory(Handle process, u32 addr0, u32 addr1, u32 size, u32 type, u32 perm);
    +
    624 
    +
    625 /**
    +
    626  * @brief Creates a block of shared memory
    +
    627  * @param[out] memblock Pointer to store the handle of the block
    +
    628  * @param addr Address of the memory to map, page-aligned. So its alignment must be 0x1000.
    +
    629  * @param size Size of the memory to map, a multiple of 0x1000.
    +
    630  * @param my_perm Memory permissions for the current process
    +
    631  * @param other_perm Memory permissions for the other processes
    +
    632  *
    +
    633  * @note The shared memory block, and its rights, are destroyed when the handle is closed.
    +
    634  */
    +
    635 Result svcCreateMemoryBlock(Handle* memblock, u32 addr, u32 size, MemPerm my_perm, MemPerm other_perm);
    +
    636 
    +
    637 /**
    +
    638  * @brief Maps a block of shared memory
    +
    639  * @param memblock Handle of the block
    +
    640  * @param addr Address of the memory to map, page-aligned. So its alignment must be 0x1000.
    +
    641  * @param my_perm Memory permissions for the current process
    +
    642  * @param other_perm Memory permissions for the other processes
    +
    643  *
    +
    644  * @note The shared memory block, and its rights, are destroyed when the handle is closed.
    +
    645  */
    +
    646 Result svcMapMemoryBlock(Handle memblock, u32 addr, MemPerm my_perm, MemPerm other_perm);
    +
    647 
    +
    648 /**
    +
    649  * @brief Maps a block of process memory, starting from address 0x00100000.
    +
    650  * @param process Handle of the process.
    +
    651  * @param destAddress Address of the block of memory to map, in the current (destination) process.
    +
    652  * @param size Size of the block of memory to map (truncated to a multiple of 0x1000 bytes).
    +
    653  */
    +
    654 Result svcMapProcessMemory(Handle process, u32 destAddress, u32 size);
    +
    655 
    +
    656 /**
    +
    657  * @brief Unmaps a block of process memory, starting from address 0x00100000.
    +
    658  * @param process Handle of the process.
    +
    659  * @param destAddress Address of the block of memory to unmap, in the current (destination) process.
    +
    660  * @param size Size of the block of memory to unmap (truncated to a multiple of 0x1000 bytes).
    +
    661  */
    +
    662 Result svcUnmapProcessMemory(Handle process, u32 destAddress, u32 size);
    +
    663 
    +
    664 /**
    +
    665  * @brief Unmaps a block of shared memory
    +
    666  * @param memblock Handle of the block
    +
    667  * @param addr Address of the memory to unmap, page-aligned. So its alignment must be 0x1000.
    +
    668  */
    + +
    670 
    +
    671 /**
    +
    672  * @brief Queries memory information.
    +
    673  * @param[out] info Pointer to output memory info to.
    +
    674  * @param out Pointer to output page info to.
    +
    675  * @param addr Virtual memory address to query.
    +
    676  */
    + +
    678 
    +
    679 /**
    +
    680  * @brief Queries process memory information.
    +
    681  * @param[out] info Pointer to output memory info to.
    +
    682  * @param[out] out Pointer to output page info to.
    +
    683  * @param process Process to query memory from.
    +
    684  * @param addr Virtual memory address to query.
    +
    685  */
    + +
    687 
    +
    688 ///@}
    +
    689 
    +
    690 
    +
    691 ///@name Process management
    +
    692 ///@{
    +
    693 /**
    +
    694  * @brief Gets the handle of a process.
    +
    695  * @param[out] process The handle of the process
    +
    696  * @param processId The ID of the process to open
    +
    697  */
    +
    698 Result svcOpenProcess(Handle* process, u32 processId);
    +
    699 
    +
    700 /// Exits the current process.
    +
    701 void svcExitProcess(void) __attribute__((noreturn));
    +
    702 
    +
    703 /**
    +
    704  * @brief Terminates a process.
    +
    705  * @param process Handle of the process to terminate.
    +
    706  */
    + +
    708 
    +
    709 /**
    +
    710  * @brief Gets information about a process.
    +
    711  * @param[out] out Pointer to output process info to.
    +
    712  * @param process Handle of the process to get information about.
    +
    713  * @param type Type of information to retreieve.
    +
    714  */
    +
    715 Result svcGetProcessInfo(s64* out, Handle process, u32 type);
    +
    716 
    +
    717 /**
    +
    718  * @brief Gets the ID of a process.
    +
    719  * @param[out] out Pointer to output the process ID to.
    +
    720  * @param handle Handle of the process to get the ID of.
    +
    721  */
    + +
    723 
    +
    724 /**
    +
    725  * @brief Gets a list of running processes.
    +
    726  * @param[out] processCount Pointer to output the process count to.
    +
    727  * @param[out] processIds Pointer to output the process IDs to.
    +
    728  * @param processIdMaxCount Maximum number of process IDs.
    +
    729  */
    +
    730 Result svcGetProcessList(s32* processCount, u32* processIds, s32 processIdMaxCount);
    +
    731 
    +
    732 /**
    +
    733  * @brief Gets a list of the threads of a process.
    +
    734  * @param[out] threadCount Pointer to output the thread count to.
    +
    735  * @param[out] threadIds Pointer to output the thread IDs to.
    +
    736  * @param threadIdMaxCount Maximum number of thread IDs.
    +
    737  * @param process Process handle to list the threads of.
    +
    738  */
    +
    739 Result svcGetThreadList(s32* threadCount, u32* threadIds, s32 threadIdMaxCount, Handle process);
    +
    740 
    +
    741 /**
    +
    742  * @brief Creates a port.
    +
    743  * @param[out] portServer Pointer to output the port server handle to.
    +
    744  * @param[out] portClient Pointer to output the port client handle to.
    +
    745  * @param name Name of the port.
    +
    746  * @param maxSessions Maximum number of sessions that can connect to the port.
    +
    747  */
    +
    748 Result svcCreatePort(Handle* portServer, Handle* portClient, const char* name, s32 maxSessions);
    +
    749 
    +
    750 /**
    +
    751  * @brief Connects to a port.
    +
    752  * @param[out] out Pointer to output the port handle to.
    +
    753  * @param portName Name of the port.
    +
    754  */
    +
    755 Result svcConnectToPort(volatile Handle* out, const char* portName);
    +
    756 
    +
    757 /**
    +
    758  * @brief Sets up virtual address space for a new process.
    +
    759  * @param[out] out Pointer to output the codeset handle to.
    +
    760  * @param info Codeset header, contains process name, titleId and segment info.
    +
    761  * @param textSegmentLma Address of executable segment in caller's address space.
    +
    762  * @param roSegmentLma Address of read-only segment in caller's address space.
    +
    763  * @param dataSegmentLma Address of read-write segment in caller's address space.
    +
    764  * @note On success, the provided segments are unmapped from the caller's address space.
    +
    765  */
    +
    766 Result svcCreateCodeSet(Handle* out, const CodeSetHeader* info, u32 textSegmentLma, u32 roSegmentLma, u32 dataSegmentLma);
    +
    767 
    +
    768 /**
    +
    769  * @brief Create a new process.
    +
    770  * @param[out] out Pointer to output the process handle to.
    +
    771  * @param codeset Codeset created for this process.
    +
    772  * @param arm11KernelCaps Arm11 Kernel Capabilities from exheader.
    +
    773  * @param numArm11KernelCaps Number of kernel capabilities.
    +
    774  */
    +
    775 Result svcCreateProcess(Handle* out, Handle codeset, const u32* arm11KernelCaps, s32 numArm11KernelCaps);
    +
    776 
    +
    777 /**
    +
    778  * @brief Gets a process's affinity mask.
    +
    779  * @param[out] affinitymask Pointer to store the affinity masks.
    +
    780  * @param process Handle of the process.
    +
    781  * @param processorcount Number of processors.
    +
    782  */
    +
    783 Result svcGetProcessAffinityMask(u8* affinitymask, Handle process, s32 processorcount);
    +
    784 
    +
    785 /**
    +
    786  * @brief Sets a process's affinity mask.
    +
    787  * @param process Handle of the process.
    +
    788  * @param affinitymask Pointer to retrieve the affinity masks from.
    +
    789  * @param processorcount Number of processors.
    +
    790  */
    +
    791 Result svcSetProcessAffinityMask(Handle process, const u8* affinitymask, s32 processorcount);
    +
    792 
    +
    793 /**
    +
    794  * Gets a process's ideal processor.
    +
    795  * @param[out] processorid Pointer to store the ID of the process's ideal processor.
    +
    796  * @param process Handle of the process.
    +
    797  */
    + +
    799 
    +
    800 /**
    +
    801  * Sets a process's ideal processor.
    +
    802  * @param process Handle of the process.
    +
    803  * @param processorid ID of the process's ideal processor.
    +
    804  */
    + +
    806 
    +
    807 /**
    +
    808  * Launches the main thread of the process.
    +
    809  * @param process Handle of the process.
    +
    810  * @param info Pointer to a StartupInfo structure describing information for the main thread.
    +
    811  */
    +
    812 Result svcRun(Handle process, const StartupInfo* info);
    +
    813 
    +
    814 ///@}
    +
    815 
    +
    816 ///@name Multithreading
    +
    817 ///@{
    +
    818 /**
    +
    819  * @brief Creates a new thread.
    +
    820  * @param[out] thread The thread handle
    +
    821  * @param entrypoint The function that will be called first upon thread creation
    +
    822  * @param arg The argument passed to @p entrypoint
    +
    823  * @param stack_top The top of the thread's stack. Must be 0x8 bytes mem-aligned.
    +
    824  * @param thread_priority Low values gives the thread higher priority.
    +
    825  * For userland apps, this has to be within the range [0x18;0x3F]
    +
    826  * @param processor_id The id of the processor the thread should be ran on. Those are labelled starting from 0.
    +
    827  * For old 3ds it has to be <2, and for new 3DS <4.
    +
    828  * Value -1 means all CPUs and -2 read from the Exheader.
    +
    829  *
    +
    830  * The processor with ID 1 is the system processor.
    +
    831  * To enable multi-threading on this core you need to call APT_SetAppCpuTimeLimit at least once with a non-zero value.
    +
    832  *
    +
    833  * Since a thread is considered as a waitable object, you can use @ref svcWaitSynchronization
    +
    834  * and @ref svcWaitSynchronizationN to join with it.
    +
    835  *
    +
    836  * @note The kernel will clear the @p stack_top's address low 3 bits to make sure it is 0x8-bytes aligned.
    +
    837  */
    +
    838 Result svcCreateThread(Handle* thread, ThreadFunc entrypoint, u32 arg, u32* stack_top, s32 thread_priority, s32 processor_id);
    +
    839 
    +
    840 /**
    +
    841  * @brief Gets the handle of a thread.
    +
    842  * @param[out] thread The handle of the thread
    +
    843  * @param process The ID of the process linked to the thread
    +
    844  */
    +
    845 Result svcOpenThread(Handle* thread,Handle process, u32 threadId);
    +
    846 
    +
    847 /**
    +
    848  * @brief Exits the current thread.
    +
    849  *
    +
    850  * This will trigger a state change and hence release all @ref svcWaitSynchronization operations.
    +
    851  * It means that you can join a thread by calling @code svcWaitSynchronization(threadHandle,yourtimeout); @endcode
    +
    852  */
    +
    853 void svcExitThread(void) __attribute__((noreturn));
    +
    854 
    +
    855 /**
    +
    856  * @brief Puts the current thread to sleep.
    +
    857  * @param ns The minimum number of nanoseconds to sleep for.
    +
    858  */
    + +
    860 
    +
    861 /// Retrieves the priority of a thread.
    + +
    863 
    +
    864 /**
    +
    865  * @brief Changes the priority of a thread
    +
    866  * @param prio For userland apps, this has to be within the range [0x18;0x3F]
    +
    867  *
    +
    868  * Low values gives the thread higher priority.
    +
    869  */
    + +
    871 
    +
    872 /**
    +
    873  * @brief Gets a thread's affinity mask.
    +
    874  * @param[out] affinitymask Pointer to output the affinity masks to.
    +
    875  * @param thread Handle of the thread.
    +
    876  * @param processorcount Number of processors.
    +
    877  */
    +
    878 Result svcGetThreadAffinityMask(u8* affinitymask, Handle thread, s32 processorcount);
    +
    879 
    +
    880 /**
    +
    881  * @brief Sets a thread's affinity mask.
    +
    882  * @param thread Handle of the thread.
    +
    883  * @param affinitymask Pointer to retrieve the affinity masks from.
    +
    884  * @param processorcount Number of processors.
    +
    885  */
    +
    886 Result svcSetThreadAffinityMask(Handle thread, const u8* affinitymask, s32 processorcount);
    +
    887 
    +
    888 /**
    +
    889  * @brief Gets a thread's ideal processor.
    +
    890  * @param[out] processorid Pointer to output the ID of the thread's ideal processor to.
    +
    891  * @param thread Handle of the thread.
    +
    892  */
    + +
    894 
    +
    895 /**
    +
    896  * Sets a thread's ideal processor.
    +
    897  * @param thread Handle of the thread.
    +
    898  * @param processorid ID of the thread's ideal processor.
    +
    899  */
    + +
    901 
    +
    902 /**
    +
    903  * @brief Returns the ID of the processor the current thread is running on.
    +
    904  * @sa svcCreateThread
    +
    905  */
    + +
    907 
    +
    908 /**
    +
    909  * @brief Gets the ID of a thread.
    +
    910  * @param[out] out Pointer to output the thread ID of the thread @p handle to.
    +
    911  * @param handle Handle of the thread.
    +
    912  */
    + +
    914 
    +
    915 /**
    +
    916  * @brief Gets the resource limit set of a process.
    +
    917  * @param[out] resourceLimit Pointer to output the resource limit set handle to.
    +
    918  * @param process Process to get the resource limits of.
    +
    919  */
    +
    920 Result svcGetResourceLimit(Handle* resourceLimit, Handle process);
    +
    921 
    +
    922 /**
    +
    923  * @brief Gets the value limits of a resource limit set.
    +
    924  * @param[out] values Pointer to output the value limits to.
    +
    925  * @param resourceLimit Resource limit set to use.
    +
    926  * @param names Resource limit names to get the limits of.
    +
    927  * @param nameCount Number of resource limit names.
    +
    928  */
    +
    929 Result svcGetResourceLimitLimitValues(s64* values, Handle resourceLimit, ResourceLimitType* names, s32 nameCount);
    +
    930 
    +
    931 /**
    +
    932  * @brief Gets the values of a resource limit set.
    +
    933  * @param[out] values Pointer to output the values to.
    +
    934  * @param resourceLimit Resource limit set to use.
    +
    935  * @param names Resource limit names to get the values of.
    +
    936  * @param nameCount Number of resource limit names.
    +
    937  */
    +
    938 Result svcGetResourceLimitCurrentValues(s64* values, Handle resourceLimit, ResourceLimitType* names, s32 nameCount);
    +
    939 
    +
    940 /**
    +
    941  * @brief Sets the resource limit set of a process.
    +
    942  * @param process Process to set the resource limit set to.
    +
    943  * @param resourceLimit Resource limit set handle.
    +
    944  */
    + +
    946 
    +
    947 /**
    +
    948  * @brief Creates a resource limit set.
    +
    949  * @param[out] resourceLimit Pointer to output the resource limit set handle to.
    +
    950  */
    + +
    952 
    +
    953 /**
    +
    954  * @brief Sets the value limits of a resource limit set.
    +
    955  * @param resourceLimit Resource limit set to use.
    +
    956  * @param names Resource limit names to set the limits of.
    +
    957  * @param values Value limits to set. The high 32 bits of RESLIMIT_COMMIT are used to
    +
    958  set APPMEMALLOC in configuration memory, otherwise those bits are unused.
    +
    959  * @param nameCount Number of resource limit names.
    +
    960  */
    +
    961 Result svcSetResourceLimitValues(Handle resourceLimit, const ResourceLimitType* names, const s64* values, s32 nameCount);
    +
    962 
    +
    963 /**
    +
    964  * @brief Gets the process ID of a thread.
    +
    965  * @param[out] out Pointer to output the process ID of the thread @p handle to.
    +
    966  * @param handle Handle of the thread.
    +
    967  * @sa svcOpenProcess
    +
    968  */
    + +
    970 
    +
    971 /**
    +
    972  * @brief Checks if a thread handle is valid.
    +
    973  * This requests always return an error when called, it only checks if the handle is a thread or not.
    +
    974  * @return 0xD8E007ED (BAD_ENUM) if the Handle is a Thread Handle
    +
    975  * @return 0xD8E007F7 (BAD_HANDLE) if it isn't.
    +
    976  */
    + +
    978 ///@}
    +
    979 
    +
    980 
    +
    981 ///@name Synchronization
    +
    982 ///@{
    +
    983 /**
    +
    984  * @brief Creates a mutex.
    +
    985  * @param[out] mutex Pointer to output the handle of the created mutex to.
    +
    986  * @param initially_locked Whether the mutex should be initially locked.
    +
    987  */
    +
    988 Result svcCreateMutex(Handle* mutex, bool initially_locked);
    +
    989 
    +
    990 /**
    +
    991  * @brief Releases a mutex.
    +
    992  * @param handle Handle of the mutex.
    +
    993  */
    + +
    995 
    +
    996 /**
    +
    997  * @brief Creates a semaphore.
    +
    998  * @param[out] semaphore Pointer to output the handle of the created semaphore to.
    +
    999  * @param initial_count Initial count of the semaphore.
    +
    1000  * @param max_count Maximum count of the semaphore.
    +
    1001  */
    +
    1002 Result svcCreateSemaphore(Handle* semaphore, s32 initial_count, s32 max_count);
    +
    1003 
    +
    1004 /**
    +
    1005  * @brief Releases a semaphore.
    +
    1006  * @param[out] count Pointer to output the current count of the semaphore to.
    +
    1007  * @param semaphore Handle of the semaphore.
    +
    1008  * @param release_count Number to increase the semaphore count by.
    +
    1009  */
    +
    1010 Result svcReleaseSemaphore(s32* count, Handle semaphore, s32 release_count);
    +
    1011 
    +
    1012 /**
    +
    1013  * @brief Creates an event handle.
    +
    1014  * @param[out] event Pointer to output the created event handle to.
    +
    1015  * @param reset_type Type of reset the event uses (RESET_ONESHOT/RESET_STICKY).
    +
    1016  */
    + +
    1018 
    +
    1019 /**
    +
    1020  * @brief Signals an event.
    +
    1021  * @param handle Handle of the event to signal.
    +
    1022  */
    + +
    1024 
    +
    1025 /**
    +
    1026  * @brief Clears an event.
    +
    1027  * @param handle Handle of the event to clear.
    +
    1028  */
    + +
    1030 
    +
    1031 /**
    +
    1032  * @brief Waits for synchronization on a handle.
    +
    1033  * @param handle Handle to wait on.
    +
    1034  * @param nanoseconds Maximum nanoseconds to wait for.
    +
    1035  */
    + +
    1037 
    +
    1038 /**
    +
    1039  * @brief Waits for synchronization on multiple handles.
    +
    1040  * @param[out] out Pointer to output the index of the synchronized handle to.
    +
    1041  * @param handles Handles to wait on.
    +
    1042  * @param handles_num Number of handles.
    +
    1043  * @param wait_all Whether to wait for synchronization on all handles.
    +
    1044  * @param nanoseconds Maximum nanoseconds to wait for.
    +
    1045  */
    +
    1046 Result svcWaitSynchronizationN(s32* out, const Handle* handles, s32 handles_num, bool wait_all, s64 nanoseconds);
    +
    1047 
    +
    1048 /**
    +
    1049  * @brief Creates an address arbiter
    +
    1050  * @param[out] mutex Pointer to output the handle of the created address arbiter to.
    +
    1051  * @sa svcArbitrateAddress
    +
    1052  */
    + +
    1054 
    +
    1055 /**
    +
    1056  * @brief Arbitrate an address, can be used for synchronization
    +
    1057  * @param arbiter Handle of the arbiter
    +
    1058  * @param addr A pointer to a s32 value.
    +
    1059  * @param type Type of action to be performed by the arbiter
    +
    1060  * @param value Number of threads to signal if using @ref ARBITRATION_SIGNAL, or the value used for comparison.
    +
    1061  * @param timeout_ns Optional timeout in nanoseconds when using TIMEOUT actions, ignored otherwise. If not needed, use \ref svcArbitrateAddressNoTimeout instead.
    +
    1062  * @note Usage of this syscall entails an implicit Data Memory Barrier (dmb).
    +
    1063  * @warning Please use \ref syncArbitrateAddressWithTimeout instead.
    +
    1064  */
    +
    1065 Result svcArbitrateAddress(Handle arbiter, u32 addr, ArbitrationType type, s32 value, s64 timeout_ns);
    +
    1066 
    +
    1067 /**
    +
    1068  * @brief Same as \ref svcArbitrateAddress but with the timeout_ns parameter undefined.
    +
    1069  * @param arbiter Handle of the arbiter
    +
    1070  * @param addr A pointer to a s32 value.
    +
    1071  * @param type Type of action to be performed by the arbiter
    +
    1072  * @param value Number of threads to signal if using @ref ARBITRATION_SIGNAL, or the value used for comparison.
    +
    1073  * @note Usage of this syscall entails an implicit Data Memory Barrier (dmb).
    +
    1074  * @warning Please use \ref syncArbitrateAddress instead.
    +
    1075  */
    + +
    1077 
    +
    1078 /**
    +
    1079  * @brief Sends a synchronized request to a session handle.
    +
    1080  * @param session Handle of the session.
    +
    1081  */
    + +
    1083 
    +
    1084 /**
    +
    1085  * @brief Connects to a port via a handle.
    +
    1086  * @param[out] clientSession Pointer to output the client session handle to.
    +
    1087  * @param clientPort Port client endpoint to connect to.
    +
    1088  */
    +
    1089 Result svcCreateSessionToPort(Handle* clientSession, Handle clientPort);
    +
    1090 
    +
    1091 /**
    +
    1092  * @brief Creates a linked pair of session endpoints.
    +
    1093  * @param[out] serverSession Pointer to output the created server endpoint handle to.
    +
    1094  * @param[out] clientSession Pointer to output the created client endpoint handle to.
    +
    1095  */
    +
    1096 Result svcCreateSession(Handle* serverSession, Handle* clientSession);
    +
    1097 
    +
    1098 /**
    +
    1099  * @brief Accepts a session.
    +
    1100  * @param[out] session Pointer to output the created session handle to.
    +
    1101  * @param port Handle of the port to accept a session from.
    +
    1102  */
    + +
    1104 
    +
    1105 /**
    +
    1106  * @brief Replies to and receives a new request.
    +
    1107  * @param index Pointer to the index of the request.
    +
    1108  * @param handles Session handles to receive requests from.
    +
    1109  * @param handleCount Number of handles.
    +
    1110  * @param replyTarget Handle of the session to reply to.
    +
    1111  */
    +
    1112 Result svcReplyAndReceive(s32* index, const Handle* handles, s32 handleCount, Handle replyTarget);
    +
    1113 
    +
    1114 ///@}
    +
    1115 
    +
    1116 ///@name Time
    +
    1117 ///@{
    +
    1118 /**
    +
    1119  * @brief Creates a timer.
    +
    1120  * @param[out] timer Pointer to output the handle of the created timer to.
    +
    1121  * @param reset_type Type of reset to perform on the timer.
    +
    1122  */
    + +
    1124 
    +
    1125 /**
    +
    1126  * @brief Sets a timer.
    +
    1127  * @param timer Handle of the timer to set.
    +
    1128  * @param initial Initial value of the timer.
    +
    1129  * @param interval Interval of the timer.
    +
    1130  */
    +
    1131 Result svcSetTimer(Handle timer, s64 initial, s64 interval);
    +
    1132 
    +
    1133 /**
    +
    1134  * @brief Cancels a timer.
    +
    1135  * @param timer Handle of the timer to cancel.
    +
    1136  */
    + +
    1138 
    +
    1139 /**
    +
    1140  * @brief Clears a timer.
    +
    1141  * @param timer Handle of the timer to clear.
    +
    1142  */
    + +
    1144 
    +
    1145 /**
    +
    1146  * @brief Gets the current system tick.
    +
    1147  * @return The current system tick.
    +
    1148  */
    + +
    1150 ///@}
    +
    1151 
    +
    1152 ///@name System
    +
    1153 ///@{
    +
    1154 /**
    +
    1155  * @brief Closes a handle.
    +
    1156  * @param handle Handle to close.
    +
    1157  */
    + +
    1159 
    +
    1160 /**
    +
    1161  * @brief Duplicates a handle.
    +
    1162  * @param[out] out Pointer to output the duplicated handle to.
    +
    1163  * @param original Handle to duplicate.
    +
    1164  */
    + +
    1166 
    +
    1167 /**
    +
    1168  * @brief Gets a handle info.
    +
    1169  * @param[out] out Pointer to output the handle info to.
    +
    1170  * @param handle Handle to get the info for.
    +
    1171  * @param param Parameter clarifying the handle info type.
    +
    1172  */
    +
    1173 Result svcGetHandleInfo(s64* out, Handle handle, u32 param);
    +
    1174 
    +
    1175 /**
    +
    1176  * @brief Gets the system info.
    +
    1177  * @param[out] out Pointer to output the system info to.
    +
    1178  * @param type Type of system info to retrieve.
    +
    1179  * @param param Parameter clarifying the system info type.
    +
    1180  */
    +
    1181 Result svcGetSystemInfo(s64* out, u32 type, s32 param);
    +
    1182 
    +
    1183 /**
    +
    1184  * @brief Sets the current kernel state.
    +
    1185  * @param type Type of state to set (the other parameters depend on it).
    +
    1186  */
    + +
    1188 ///@}
    +
    1189 
    +
    1190 ///@name Device drivers
    +
    1191 ///@{
    +
    1192 
    +
    1193 /**
    +
    1194  * @brief Binds an event or semaphore handle to an ARM11 interrupt.
    +
    1195  * @param interruptId Interrupt identfier (see https://www.3dbrew.org/wiki/ARM11_Interrupts).
    +
    1196  * @param eventOrSemaphore Event or semaphore handle to bind to the given interrupt.
    +
    1197  * @param priority Priority of the interrupt for the current process.
    +
    1198  * @param isManualClear Indicates whether the interrupt has to be manually cleared or not (= level-high active).
    +
    1199  */
    +
    1200 Result svcBindInterrupt(u32 interruptId, Handle eventOrSemaphore, s32 priority, bool isManualClear);
    +
    1201 
    +
    1202 /**
    +
    1203  * @brief Unbinds an event or semaphore handle from an ARM11 interrupt.
    +
    1204  * @param interruptId Interrupt identfier, see (see https://www.3dbrew.org/wiki/ARM11_Interrupts).
    +
    1205  * @param eventOrSemaphore Event or semaphore handle to unbind from the given interrupt.
    +
    1206  */
    +
    1207 Result svcUnbindInterrupt(u32 interruptId, Handle eventOrSemaphore);
    +
    1208 
    +
    1209 /**
    +
    1210  * @brief Invalidates a process's data cache.
    +
    1211  * @param process Handle of the process.
    +
    1212  * @param addr Address to invalidate.
    +
    1213  * @param size Size of the memory to invalidate.
    +
    1214  */
    + +
    1216 
    +
    1217 /**
    +
    1218  * @brief Cleans a process's data cache.
    +
    1219  * @param process Handle of the process.
    +
    1220  * @param addr Address to clean.
    +
    1221  * @param size Size of the memory to clean.
    +
    1222  */
    + +
    1224 
    +
    1225 /**
    +
    1226  * @brief Flushes (cleans and invalidates) a process's data cache.
    +
    1227  * @param process Handle of the process.
    +
    1228  * @param addr Address to flush.
    +
    1229  * @param size Size of the memory to flush.
    +
    1230  */
    + +
    1232 
    +
    1233 /**
    +
    1234  * @brief Begins an inter-process DMA transfer.
    +
    1235  * @param[out] dma Pointer to output the handle of the DMA channel object to.
    +
    1236  * @param dstProcess Destination process handle.
    +
    1237  * @param dstAddr Address in the destination process to write data to.
    +
    1238  * @param srcProcess Source process handle.
    +
    1239  * @param srcAddr Address in the source to read data from.
    +
    1240  * @param size Size of the data to transfer.
    +
    1241  * @param cfg Configuration structure.
    +
    1242  * @note The handle is signaled when the transfer finishes.
    +
    1243  */
    +
    1244 Result svcStartInterProcessDma(Handle *dma, Handle dstProcess, u32 dstAddr, Handle srcProcess, u32 srcAddr, u32 size, const DmaConfig *cfg);
    +
    1245 
    +
    1246 /**
    +
    1247  * @brief Stops an inter-process DMA transfer.
    +
    1248  * @param dma Handle of the DMA channel object.
    +
    1249  */
    + +
    1251 
    +
    1252 /**
    +
    1253  * @brief Gets the state of an inter-process DMA transfer.
    +
    1254  * @param[out] state Pointer to output the state of the DMA transfer to.
    +
    1255  * @param dma Handle of the DMA channel object.
    +
    1256  */
    + +
    1258 
    +
    1259 /**
    +
    1260  * @brief Restarts a DMA transfer, using the same configuration as before.
    +
    1261  * @param[out] state Pointer to output the state of the DMA transfer to.
    +
    1262  * @param dma Handle of the DMA channel object.
    +
    1263  * @param dstAddr Address in the destination process to write data to.
    +
    1264  * @param srcAddr Address in the source to read data from.
    +
    1265  * @param size Size of the data to transfer.
    +
    1266  * @param flags Restart flags, \ref DMARST_UNLOCK and/or \ref DMARST_RESUME_DEVICE.
    +
    1267  * @note The first transfer has to be configured with \ref DMACFG_KEEP_LOCKED.
    +
    1268  */
    +
    1269 Result svcRestartDma(Handle dma, u32 dstAddr, u32 srcAddr, u32 size, s8 flags);
    +
    1270 
    +
    1271 /**
    +
    1272  * @brief Sets the GPU protection register to restrict the range of the GPU DMA. 11.3+ only.
    +
    1273  * @param useApplicationRestriction Whether to use the register value used for APPLICATION titles.
    +
    1274  */
    +
    1275 Result svcSetGpuProt(bool useApplicationRestriction);
    +
    1276 
    +
    1277 /**
    +
    1278  * @brief Enables or disables Wi-Fi. 11.4+ only.
    +
    1279  * @param enabled Whether to enable or disable Wi-Fi.
    +
    1280  */
    + +
    1282 
    +
    1283 ///@}
    +
    1284 
    +
    1285 ///@name Debugging
    +
    1286 ///@{
    +
    1287 /**
    +
    1288  * @brief Breaks execution.
    +
    1289  * @param breakReason Reason for breaking.
    +
    1290  */
    +
    1291 void svcBreak(UserBreakType breakReason);
    +
    1292 
    +
    1293 /**
    +
    1294  * @brief Breaks execution (LOAD_RO and UNLOAD_RO).
    +
    1295  * @param breakReason Debug reason for breaking.
    +
    1296  * @param croInfo Library information.
    +
    1297  * @param croInfoSize Size of the above structure.
    +
    1298  */
    +
    1299 void svcBreakRO(UserBreakType breakReason, const void* croInfo, u32 croInfoSize) __asm__("svcBreak");
    +
    1300 
    +
    1301 /**
    +
    1302  * @brief Outputs a debug string.
    +
    1303  * @param str String to output.
    +
    1304  * @param length Length of the string to output, needs to be positive.
    +
    1305  */
    +
    1306 Result svcOutputDebugString(const char* str, s32 length);
    +
    1307 
    +
    1308 
    +
    1309 /**
    +
    1310  * @brief Controls performance monitoring on the CP15 interface and the SCU.
    +
    1311  * The meaning of the parameters depend on the operation.
    +
    1312  * @param[out] out Output.
    +
    1313  * @param op Operation, see details.
    +
    1314  * @param param1 First parameter.
    +
    1315  * @param param2 Second parameter.
    +
    1316  * @details The operations are the following:
    +
    1317  * - \ref PERFCOUNTEROP_ENABLE (void) -> void, tries to enable and lock perfmon. functionality.
    +
    1318  * - \ref PERFCOUNTEROP_DISABLE (void) -> void, disable and forcibly unlocks perfmon. functionality.
    +
    1319  * - \ref PERFCOUNTEROP_GET_VALUE (\ref PerfCounterRegister reg) -> u64, gets the value of a particular counter register.
    +
    1320  * - \ref PERFCOUNTEROP_SET_VALUE (\ref PerfCounterRegister reg, u64 value) -> void, sets the value of a particular counter register.
    +
    1321  * - \ref PERFCOUNTEROP_GET_OVERFLOW_FLAGS (void) -> u32, gets the overflow flags of all CP15 and SCU registers.
    +
    1322  * - Format is a bitfield of \ref PerfCounterRegister.
    +
    1323  * - \ref PERFCOUNTEROP_RESET (u32 valueResetMask, u32 overflowFlagResetMask) -> void, resets the value and/or
    +
    1324  * overflow flags of selected registers.
    +
    1325  * - Format is two bitfields of \ref PerfCounterRegister.
    +
    1326  * - \ref PERFCOUNTEROP_GET_EVENT (\ref PerfCounterRegister reg) -> \ref PerfCounterEvent, gets the event associated
    +
    1327  * to a particular counter register.
    +
    1328  * - \ref PERFCOUNTEROP_SET_EVENT (\ref PerfCounterRegister reg, \ref PerfCounterEvent) -> void, sets the event associated
    +
    1329  * to a particular counter register.
    +
    1330  * - \ref PERFCOUNTEROP_SET_VIRTUAL_COUNTER_ENABLED (bool enabled) -> void, (dis)allows the kernel to track counter overflows
    +
    1331  * and to use 64-bit counter values.
    +
    1332  */
    + +
    1334 
    +
    1335 /**
    +
    1336  * @brief Creates a debug handle for an active process.
    +
    1337  * @param[out] debug Pointer to output the created debug handle to.
    +
    1338  * @param processId ID of the process to debug.
    +
    1339  */
    + +
    1341 
    +
    1342 /**
    +
    1343  * @brief Breaks a debugged process.
    +
    1344  * @param debug Debug handle of the process.
    +
    1345  */
    + +
    1347 
    +
    1348 /**
    +
    1349  * @brief Terminates a debugged process.
    +
    1350  * @param debug Debug handle of the process.
    +
    1351  */
    + +
    1353 
    +
    1354 /**
    +
    1355  * @brief Gets the current debug event of a debugged process.
    +
    1356  * @param[out] info Pointer to output the debug event information to.
    +
    1357  * @param debug Debug handle of the process.
    +
    1358  */
    + +
    1360 
    +
    1361 /**
    +
    1362  * @brief Continues the current debug event of a debugged process (not necessarily the same as @ref svcGetProcessDebugEvent).
    +
    1363  * @param debug Debug handle of the process.
    +
    1364  * @param flags Flags to continue with, see @ref DebugFlags.
    +
    1365  */
    + +
    1367 
    +
    1368 /**
    +
    1369  * @brief Fetches the saved registers of a thread, either inactive or awaiting @ref svcContinueDebugEvent, belonging to a debugged process.
    +
    1370  * @param[out] context Values of the registers to fetch, see @ref ThreadContext.
    +
    1371  * @param debug Debug handle of the parent process.
    +
    1372  * @param threadId ID of the thread to fetch the saved registers of.
    +
    1373  * @param controlFlags Which registers to fetch, see @ref ThreadContextControlFlags.
    +
    1374  */
    + +
    1376 
    +
    1377 /**
    +
    1378  * @brief Updates the saved registers of a thread, either inactive or awaiting @ref svcContinueDebugEvent, belonging to a debugged process.
    +
    1379  * @param debug Debug handle of the parent process.
    +
    1380  * @param threadId ID of the thread to update the saved registers of.
    +
    1381  * @param context Values of the registers to update, see @ref ThreadContext.
    +
    1382  * @param controlFlags Which registers to update, see @ref ThreadContextControlFlags.
    +
    1383  */
    + +
    1385 
    +
    1386 /**
    +
    1387  * @brief Queries memory information of a debugged process.
    +
    1388  * @param[out] info Pointer to output memory info to.
    +
    1389  * @param[out] out Pointer to output page info to.
    +
    1390  * @param debug Debug handle of the process to query memory from.
    +
    1391  * @param addr Virtual memory address to query.
    +
    1392  */
    + +
    1394 
    +
    1395 /**
    +
    1396  * @brief Reads from a debugged process's memory.
    +
    1397  * @param buffer Buffer to read data to.
    +
    1398  * @param debug Debug handle of the process.
    +
    1399  * @param addr Address to read from.
    +
    1400  * @param size Size of the memory to read.
    +
    1401  */
    +
    1402 Result svcReadProcessMemory(void* buffer, Handle debug, u32 addr, u32 size);
    +
    1403 
    +
    1404 /**
    +
    1405  * @brief Writes to a debugged process's memory.
    +
    1406  * @param debug Debug handle of the process.
    +
    1407  * @param buffer Buffer to write data from.
    +
    1408  * @param addr Address to write to.
    +
    1409  * @param size Size of the memory to write.
    +
    1410  */
    +
    1411 Result svcWriteProcessMemory(Handle debug, const void* buffer, u32 addr, u32 size);
    +
    1412 
    +
    1413 /**
    +
    1414  * @brief Sets an hardware breakpoint or watchpoint. This is an interface to the BRP/WRP registers, see http://infocenter.arm.com/help/topic/com.arm.doc.ddi0360f/CEGEBGFC.html .
    +
    1415  * @param registerId range 0..5 = breakpoints (BRP0-5), 0x100..0x101 = watchpoints (WRP0-1). The previous stop point for the register is disabled.
    +
    1416  * @param control Value of the control regiser.
    +
    1417  * @param value Value of the value register: either and address (if bit21 of control is clear) or the debug handle of a process to fetch the context ID of.
    +
    1418  */
    +
    1419 Result svcSetHardwareBreakPoint(s32 registerId, u32 control, u32 value);
    +
    1420 
    +
    1421 /**
    +
    1422  * @brief Gets a debugged thread's parameter.
    +
    1423  * @param[out] unused Unused.
    +
    1424  * @param[out] out Output value.
    +
    1425  * @param debug Debug handle of the process.
    +
    1426  * @param threadId ID of the thread
    +
    1427  * @param parameter Parameter to fetch, see @ref DebugThreadParameter.
    +
    1428  */
    +
    1429 Result svcGetDebugThreadParam(s64* unused, u32* out, Handle debug, u32 threadId, DebugThreadParameter parameter);
    +
    1430 
    +
    1431 ///@}
    +
    1432 
    +
    1433 /**
    +
    1434  * @brief Executes a function in supervisor mode.
    +
    1435  * @param callback Function to execute.
    +
    1436  */
    +
    1437 Result svcBackdoor(s32 (*callback)(void));
    +
    1438 
    +
    1439 /// Stop point, does nothing if the process is not attached (as opposed to 'bkpt' instructions)
    +
    1440 #define SVC_STOP_POINT __asm__ volatile("svc 0xFF");
    +
    __attribute__((warn_unused_result)) rbtree_node_t *rbtree_insert(rbtree_t *tree
    Inserts a node into an rbtree.
    +
    Event relating to the attachment of a process.
    Definition: svc.h:292
    +
    u32 other_flags
    Always 0.
    Definition: svc.h:296
    +
    u64 program_id
    ID of the program.
    Definition: svc.h:293
    +
    u32 process_id
    ID of the process.
    Definition: svc.h:295
    +
    Event relating to the attachment of a thread.
    Definition: svc.h:312
    +
    u32 entry_point
    Entry point of the thread.
    Definition: svc.h:315
    +
    u32 creator_thread_id
    ID of the creating thread.
    Definition: svc.h:313
    +
    u32 thread_local_storage
    Thread local storage.
    Definition: svc.h:314
    +
    Information on address space for process. All sizes are in pages (0x1000 bytes)
    Definition: svc.h:498
    +
    u32 text_size_total
    total pages for .text (aligned)
    Definition: svc.h:508
    +
    u32 text_addr
    .text start address
    Definition: svc.h:502
    +
    u32 ro_size
    .rodata number of pages
    Definition: svc.h:505
    +
    u32 rw_addr
    .data, .bss start address
    Definition: svc.h:506
    +
    u16 version
    Version field of codeset (unused)
    Definition: svc.h:500
    +
    u64 program_id
    Program ID.
    Definition: svc.h:512
    +
    u32 padding2
    Padding.
    Definition: svc.h:511
    +
    u32 ro_size_total
    total pages for .rodata (aligned)
    Definition: svc.h:509
    +
    u32 rw_size
    .data number of pages
    Definition: svc.h:507
    +
    u32 rw_size_total
    total pages for .data, .bss (aligned)
    Definition: svc.h:510
    +
    u32 text_size
    .text number of pages
    Definition: svc.h:503
    +
    u32 ro_addr
    .rodata start address
    Definition: svc.h:504
    +
    Structure representing CPU registers.
    Definition: types.h:63
    +
    Information about a debug event.
    Definition: svc.h:438
    +
    u32 flags
    Flags. Bit0 means that svcContinueDebugEvent needs to be called for this event (except for EXIT PROCE...
    Definition: svc.h:441
    +
    ExitProcessEvent exit_process
    Process exit event data.
    Definition: svc.h:447
    +
    SyscallInOutEvent syscall
    Syscall in/out event data.
    Definition: svc.h:451
    +
    ScheduleInOutEvent scheduler
    Schedule in/out event data.
    Definition: svc.h:450
    +
    u32 thread_id
    ID of the thread.
    Definition: svc.h:440
    +
    AttachThreadEvent attach_thread
    Thread attachment event data.
    Definition: svc.h:445
    +
    ExitThreadEvent exit_thread
    Thread exit event data.
    Definition: svc.h:446
    +
    AttachProcessEvent attach_process
    Process attachment event data.
    Definition: svc.h:444
    +
    OutputStringEvent output_string
    Output string event data.
    Definition: svc.h:452
    +
    ExceptionEvent exception
    Exception event data.
    Definition: svc.h:448
    +
    DebugEventType type
    Type of event. See DebugEventType.
    Definition: svc.h:439
    +
    MapEvent map
    Map event data.
    Definition: svc.h:453
    +
    Event relating to svcBreakDebugProcess.
    Definition: svc.h:379
    +
    Configuration stucture for svcStartInterProcessDma.
    Definition: svc.h:183
    +
    s8 channelId
    Channel ID (Arm11: 0-7, Arm9: 0-1). Use -1 to auto-assign to a free channel (Arm11: 3-7,...
    Definition: svc.h:184
    +
    s8 endianSwapSize
    Endian swap size (can be 0).
    Definition: svc.h:185
    +
    DmaDeviceConfig srcCfg
    Source device configuration, read if DMACFG_SRC_IS_DEVICE and/or DMACFG_USE_SRC_CONFIG are set.
    Definition: svc.h:188
    +
    u8 flags
    DMACFG_* flags.
    Definition: svc.h:186
    +
    DmaDeviceConfig dstCfg
    Destination device configuration, read if DMACFG_SRC_IS_DEVICE and/or DMACFG_USE_SRC_CONFIG are set.
    Definition: svc.h:189
    +
    Device configuration structure, part of DmaConfig.
    Definition: svc.h:173
    +
    s16 burstStride
    Burst loop stride, can be <= 0.
    Definition: svc.h:178
    +
    s8 deviceId
    DMA device ID.
    Definition: svc.h:174
    +
    s16 transferStride
    "Transfer" loop stride, can be <= 0.
    Definition: svc.h:179
    +
    s16 burstSize
    Number of bytes transferred in a burst loop. Can be 0 (in which case the max allowed alignment is use...
    Definition: svc.h:176
    +
    s16 transferSize
    Number of bytes transferred in a "transfer" loop (made of burst loops).
    Definition: svc.h:177
    +
    s8 allowedAlignments
    Mask of allowed access alignments (8, 4, 2, 1).
    Definition: svc.h:175
    +
    Event relating to exceptions.
    Definition: svc.h:384
    +
    ExceptionEventType type
    Type of event. See ExceptionEventType.
    Definition: svc.h:385
    +
    UserBreakExceptionEvent user_break
    User break exception event data.
    Definition: svc.h:390
    +
    u32 address
    Address of the exception.
    Definition: svc.h:386
    +
    FaultExceptionEvent fault
    Fault exception event data.
    Definition: svc.h:388
    +
    StopPointExceptionEvent stop_point
    Stop point exception event data.
    Definition: svc.h:389
    +
    DebuggerBreakExceptionEvent debugger_break
    Debugger break exception event data.
    Definition: svc.h:391
    +
    Event relating to the exiting of a process.
    Definition: svc.h:307
    +
    ExitProcessEventReason reason
    Reason for exiting. See ExitProcessEventReason.
    Definition: svc.h:308
    +
    Event relating to the exiting of a thread.
    Definition: svc.h:327
    +
    ExitThreadEventReason reason
    Reason for exiting. See ExitThreadEventReason.
    Definition: svc.h:328
    +
    Event relating to fault exceptions (CPU exceptions other than stop points and undefined syscalls).
    Definition: svc.h:354
    +
    u32 fault_information
    FAR (for DATA ABORT / UNALIGNED DATA ACCESS), attempted syscall or 0.
    Definition: svc.h:355
    +
    Structure representing FPU registers.
    Definition: types.h:72
    +
    Event relating to the mapping of memory.
    Definition: svc.h:413
    +
    MemState memstate
    Memory state. See MemState.
    Definition: svc.h:417
    +
    u32 mapped_addr
    Mapped address.
    Definition: svc.h:414
    +
    MemPerm memperm
    Memory permissions. See MemPerm.
    Definition: svc.h:416
    +
    u32 mapped_size
    Mapped size.
    Definition: svc.h:415
    +
    Memory information.
    Definition: svc.h:75
    +
    u32 base_addr
    Base address.
    Definition: svc.h:76
    +
    u32 state
    Memory state. See MemState.
    Definition: svc.h:79
    +
    u32 perm
    Memory permissions. See MemPerm.
    Definition: svc.h:78
    +
    u32 size
    Size.
    Definition: svc.h:77
    +
    Event relating to debug output.
    Definition: svc.h:407
    +
    u32 string_size
    Size of the outputted string.
    Definition: svc.h:409
    +
    u32 string_addr
    Address of the outputted string.
    Definition: svc.h:408
    +
    Memory page information.
    Definition: svc.h:83
    +
    u32 flags
    Page flags.
    Definition: svc.h:84
    +
    Event relating to the scheduler.
    Definition: svc.h:396
    +
    u64 clock_tick
    Clock tick that the event occurred.
    Definition: svc.h:397
    +
    Information for the main thread of a process.
    Definition: svc.h:517
    +
    u32 stack_size
    Size of the stack of the main thread.
    Definition: svc.h:519
    +
    u16 * envp
    Unused on retail kernel.
    Definition: svc.h:522
    +
    int priority
    Priority of the main thread.
    Definition: svc.h:518
    +
    int argc
    Unused on retail kernel.
    Definition: svc.h:520
    +
    u16 * argv
    Unused on retail kernel.
    Definition: svc.h:521
    +
    Event relating to stop points.
    Definition: svc.h:366
    +
    StopPointType type
    Stop point type, see StopPointType.
    Definition: svc.h:367
    +
    u32 fault_information
    FAR for Watchpoints, otherwise 0.
    Definition: svc.h:368
    +
    Event relating to syscalls.
    Definition: svc.h:401
    +
    u32 syscall
    Syscall sent/received.
    Definition: svc.h:403
    +
    u64 clock_tick
    Clock tick that the event occurred.
    Definition: svc.h:402
    +
    Definition: svc.h:466
    +
    CpuRegisters cpu_registers
    CPU registers.
    Definition: svc.h:467
    +
    FpuRegisters fpu_registers
    FPU registers.
    Definition: svc.h:468
    +
    Event relating to svcBreak.
    Definition: svc.h:372
    +
    u32 croInfo
    For LOAD_RO and UNLOAD_RO.
    Definition: svc.h:374
    +
    UserBreakType type
    User break type, see UserBreakType.
    Definition: svc.h:373
    +
    u32 croInfoSize
    For LOAD_RO and UNLOAD_RO.
    Definition: svc.h:375
    +
    ArbitrationType
    Arbitration modes.
    Definition: svc.h:88
    +
    @ ARBITRATION_SIGNAL
    Signal #value threads for wake-up.
    Definition: svc.h:89
    +
    @ ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN
    If the memory at the address is strictly lower than #value, then decrement it and wait for signal.
    Definition: svc.h:91
    +
    @ ARBITRATION_WAIT_IF_LESS_THAN
    If the memory at the address is strictly lower than #value, then wait for signal.
    Definition: svc.h:90
    +
    @ ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN_TIMEOUT
    If the memory at the address is strictly lower than #value, then decrement it and wait for signal or ...
    Definition: svc.h:93
    +
    @ ARBITRATION_WAIT_IF_LESS_THAN_TIMEOUT
    If the memory at the address is strictly lower than #value, then wait for signal or timeout.
    Definition: svc.h:92
    +
    Result svcTerminateProcess(Handle process)
    Terminates a process.
    +
    Result svcCreateTimer(Handle *timer, ResetType reset_type)
    Creates a timer.
    +
    Result svcOpenProcess(Handle *process, u32 processId)
    Gets the handle of a process.
    +
    Result svcMapMemoryBlock(Handle memblock, u32 addr, MemPerm my_perm, MemPerm other_perm)
    Maps a block of shared memory.
    +
    Result svcGetProcessInfo(s64 *out, Handle process, u32 type)
    Gets information about a process.
    +
    Result svcCloseHandle(Handle handle)
    Closes a handle.
    +
    ThreadInfoType
    Types of thread info.
    Definition: svc.h:112
    +
    @ THREADINFO_TYPE_UNKNOWN
    Unknown.
    Definition: svc.h:113
    +
    Result svcWriteProcessMemory(Handle debug, const void *buffer, u32 addr, u32 size)
    Writes to a debugged process's memory.
    +
    Result svcWaitSynchronizationN(s32 *out, const Handle *handles, s32 handles_num, bool wait_all, s64 nanoseconds)
    Waits for synchronization on multiple handles.
    +
    Result svcGetResourceLimitLimitValues(s64 *values, Handle resourceLimit, ResourceLimitType *names, s32 nameCount)
    Gets the value limits of a resource limit set.
    +
    Result svcGetResourceLimitCurrentValues(s64 *values, Handle resourceLimit, ResourceLimitType *names, s32 nameCount)
    Gets the values of a resource limit set.
    +
    ThreadContextControlFlags
    Control flags for svcGetDebugThreadContext and svcSetDebugThreadContext.
    Definition: svc.h:472
    +
    @ THREADCONTEXT_CONTROL_ALL
    Control all of the above.
    Definition: svc.h:481
    +
    @ THREADCONTEXT_CONTROL_FPU_GPRS
    Control d0-d15 (or s0-s31).
    Definition: svc.h:475
    +
    @ THREADCONTEXT_CONTROL_CPU_REGS
    Control r0-r12, sp, lr, pc, cpsr.
    Definition: svc.h:478
    +
    @ THREADCONTEXT_CONTROL_CPU_SPRS
    Control sp, lr, pc, cpsr.
    Definition: svc.h:474
    +
    @ THREADCONTEXT_CONTROL_CPU_GPRS
    Control r0-r12.
    Definition: svc.h:473
    +
    @ THREADCONTEXT_CONTROL_FPU_SPRS
    Control fpscr, fpexc.
    Definition: svc.h:476
    +
    @ THREADCONTEXT_CONTROL_FPU_REGS
    Control d0-d15, fpscr, fpexc.
    Definition: svc.h:479
    +
    Result svcOutputDebugString(const char *str, s32 length)
    Outputs a debug string.
    +
    Result svcUnmapMemoryBlock(Handle memblock, u32 addr)
    Unmaps a block of shared memory.
    +
    Result svcBackdoor(s32(*callback)(void))
    Executes a function in supervisor mode.
    +
    Result svcDebugActiveProcess(Handle *debug, u32 processId)
    Creates a debug handle for an active process.
    +
    UserBreakType
    Reasons for a user break.
    Definition: svc.h:332
    +
    @ USERBREAK_LOAD_RO
    Load RO.
    Definition: svc.h:336
    +
    @ USERBREAK_PANIC
    Panic.
    Definition: svc.h:333
    +
    @ USERBREAK_USER
    User related.
    Definition: svc.h:335
    +
    @ USERBREAK_UNLOAD_RO
    Unload RO.
    Definition: svc.h:337
    +
    @ USERBREAK_ASSERT
    Assertion failed.
    Definition: svc.h:334
    +
    Result svcRun(Handle process, const StartupInfo *info)
    Launches the main thread of the process.
    +
    Result svcReleaseMutex(Handle handle)
    Releases a mutex.
    +
    void svcExitThread(void) __attribute__((noreturn))
    Exits the current thread.
    +
    static u32 * getThreadCommandBuffer(void)
    Gets the thread command buffer.
    Definition: svc.h:542
    +
    ExitProcessEventReason
    Reasons for an exit process event.
    Definition: svc.h:300
    +
    @ EXITPROCESS_EVENT_DEBUG_TERMINATE
    Process has been terminated by svcTerminateDebugProcess.
    Definition: svc.h:303
    +
    @ EXITPROCESS_EVENT_EXIT
    Process exited either normally or due to an uncaught exception.
    Definition: svc.h:301
    +
    @ EXITPROCESS_EVENT_TERMINATE
    Process has been terminated by svcTerminateProcess.
    Definition: svc.h:302
    +
    Result svcBindInterrupt(u32 interruptId, Handle eventOrSemaphore, s32 priority, bool isManualClear)
    Binds an event or semaphore handle to an ARM11 interrupt.
    +
    Result svcDuplicateHandle(Handle *out, Handle original)
    Duplicates a handle.
    +
    Result svcConnectToPort(volatile Handle *out, const char *portName)
    Connects to a port.
    +
    PerfCounterOperation
    Operations for svcControlPerformanceCounter.
    Definition: svc.h:198
    +
    @ PERFCOUNTEROP_SET_EVENT
    Set the event ID associated to a paritcular counter.
    Definition: svc.h:206
    +
    @ PERFCOUNTEROP_ENABLE
    Enable and lock perfmon. functionality.
    Definition: svc.h:199
    +
    @ PERFCOUNTEROP_SET_VIRTUAL_COUNTER_ENABLED
    (Dis)allow the kernel to track counter overflows and to use 64-bit counter values.
    Definition: svc.h:207
    +
    @ PERFCOUNTEROP_SET_VALUE
    Set the value of a counter register.
    Definition: svc.h:202
    +
    @ PERFCOUNTEROP_GET_EVENT
    Get the event ID associated to a particular counter.
    Definition: svc.h:205
    +
    @ PERFCOUNTEROP_GET_OVERFLOW_FLAGS
    Get the overflow flags for all CP15 and SCU counters.
    Definition: svc.h:203
    +
    @ PERFCOUNTEROP_DISABLE
    Disable and forcibly unlock perfmon. functionality.
    Definition: svc.h:200
    +
    @ PERFCOUNTEROP_GET_VALUE
    Get the value of a counter register.
    Definition: svc.h:201
    +
    @ PERFCOUNTEROP_RESET
    Reset the value and/or overflow flags of selected counters.
    Definition: svc.h:204
    +
    s32 svcGetProcessorID(void)
    Returns the ID of the processor the current thread is running on.
    +
    Result svcClearTimer(Handle timer)
    Clears a timer.
    +
    Result svcCreateSession(Handle *serverSession, Handle *clientSession)
    Creates a linked pair of session endpoints.
    +
    u64 svcGetSystemTick(void)
    Gets the current system tick.
    +
    DebugThreadParameter
    Thread parameter field for svcGetDebugThreadParameter.
    Definition: svc.h:485
    +
    @ DBGTHREAD_PARAMETER_SCHEDULING_MASK_LOW
    Low scheduling mask.
    Definition: svc.h:487
    +
    @ DBGTHREAD_PARAMETER_CPU_IDEAL
    Ideal processor.
    Definition: svc.h:488
    +
    @ DBGTHREAD_PARAMETER_CPU_CREATOR
    Processor that created the threod.
    Definition: svc.h:489
    +
    @ DBGTHREAD_PARAMETER_PRIORITY
    Thread priority.
    Definition: svc.h:486
    +
    Result svcSendSyncRequest(Handle session)
    Sends a synchronized request to a session handle.
    +
    Result svcGetThreadList(s32 *threadCount, u32 *threadIds, s32 threadIdMaxCount, Handle process)
    Gets a list of the threads of a process.
    +
    static void * getThreadLocalStorage(void)
    Gets the thread local storage buffer.
    Definition: svc.h:531
    +
    Result svcCreateThread(Handle *thread, ThreadFunc entrypoint, u32 arg, u32 *stack_top, s32 thread_priority, s32 processor_id)
    Creates a new thread.
    +
    StopPointType
    Stop point types.
    Definition: svc.h:359
    +
    @ STOPPOINT_BREAKPOINT
    Breakpoint.
    Definition: svc.h:361
    +
    @ STOPPOINT_WATCHPOINT
    Watchpoint.
    Definition: svc.h:362
    +
    @ STOPPOINT_SVC_FF
    See SVC_STOP_POINT.
    Definition: svc.h:360
    +
    Result svcGetDebugThreadContext(ThreadContext *context, Handle debug, u32 threadId, ThreadContextControlFlags controlFlags)
    Fetches the saved registers of a thread, either inactive or awaiting svcContinueDebugEvent,...
    +
    Result svcGetProcessId(u32 *out, Handle handle)
    Gets the ID of a process.
    +
    Result svcGetProcessList(s32 *processCount, u32 *processIds, s32 processIdMaxCount)
    Gets a list of running processes.
    +
    Result svcGetHandleInfo(s64 *out, Handle handle, u32 param)
    Gets a handle info.
    +
    Result svcGetThreadAffinityMask(u8 *affinitymask, Handle thread, s32 processorcount)
    Gets a thread's affinity mask.
    +
    Result svcWaitSynchronization(Handle handle, s64 nanoseconds)
    Waits for synchronization on a handle.
    +
    Result svcArbitrateAddress(Handle arbiter, u32 addr, ArbitrationType type, s32 value, s64 timeout_ns)
    Arbitrate an address, can be used for synchronization.
    +
    void svcExitProcess(void) __attribute__((noreturn))
    Exits the current process.
    +
    Result svcCreateSessionToPort(Handle *clientSession, Handle clientPort)
    Connects to a port via a handle.
    +
    Result svcGetSystemInfo(s64 *out, u32 type, s32 param)
    Gets the system info.
    +
    Result svcSetWifiEnabled(bool enabled)
    Enables or disables Wi-Fi.
    +
    Result svcControlPerformanceCounter(u64 *out, PerfCounterOperation op, u32 param1, u64 param2)
    Controls performance monitoring on the CP15 interface and the SCU.
    +
    Result svcCreateMemoryBlock(Handle *memblock, u32 addr, u32 size, MemPerm my_perm, MemPerm other_perm)
    Creates a block of shared memory.
    +
    Result svcGetThreadInfo(s64 *out, Handle thread, ThreadInfoType type)
    Checks if a thread handle is valid.
    +
    Result svcGetThreadPriority(s32 *out, Handle handle)
    Retrieves the priority of a thread.
    +
    PerfCounterEvent
    Performance counter event IDs (CP15 or SCU).
    Definition: svc.h:239
    +
    @ PERFCOUNTEREVT_CORE_CYCLE_COUNT
    One cycle elapsed.
    Definition: svc.h:263
    +
    @ PERFCOUNTEREVT_CORE_CYCLE_COUNT_64
    64 cycles elapsed.
    Definition: svc.h:264
    +
    Result svcCreateSemaphore(Handle *semaphore, s32 initial_count, s32 max_count)
    Creates a semaphore.
    +
    void svcBreakRO(UserBreakType breakReason, const void *croInfo, u32 croInfoSize) __asm__("svcBreak")
    Breaks execution (LOAD_RO and UNLOAD_RO).
    +
    Result svcContinueDebugEvent(Handle debug, DebugFlags flags)
    Continues the current debug event of a debugged process (not necessarily the same as svcGetProcessDeb...
    +
    Result svcSetResourceLimitValues(Handle resourceLimit, const ResourceLimitType *names, const s64 *values, s32 nameCount)
    Sets the value limits of a resource limit set.
    +
    Result svcQueryDebugProcessMemory(MemInfo *info, PageInfo *out, Handle debug, u32 addr)
    Queries memory information of a debugged process.
    +
    void svcBreak(UserBreakType breakReason)
    Breaks execution.
    +
    Result svcSetProcessResourceLimits(Handle process, Handle resourceLimit)
    Sets the resource limit set of a process.
    +
    Result svcSetGpuProt(bool useApplicationRestriction)
    Sets the GPU protection register to restrict the range of the GPU DMA.
    +
    MemOp
    svcControlMemory operation flags
    Definition: svc.h:20
    +
    @ MEMOP_FREE
    Memory un-mapping.
    Definition: svc.h:21
    +
    @ MEMOP_OP_MASK
    Operation bitmask.
    Definition: svc.h:32
    +
    @ MEMOP_PROT
    Change protection.
    Definition: svc.h:26
    +
    @ MEMOP_ALLOC
    Memory mapping.
    Definition: svc.h:23
    +
    @ MEMOP_LINEAR_FLAG
    Flag for linear memory operations.
    Definition: svc.h:34
    +
    @ MEMOP_REGION_BASE
    BASE memory region.
    Definition: svc.h:30
    +
    @ MEMOP_REGION_MASK
    Region bitmask.
    Definition: svc.h:33
    +
    @ MEMOP_RESERVE
    Reserve memory.
    Definition: svc.h:22
    +
    @ MEMOP_ALLOC_LINEAR
    Allocates linear memory.
    Definition: svc.h:36
    +
    @ MEMOP_MAP
    Mirror mapping.
    Definition: svc.h:24
    +
    @ MEMOP_REGION_APP
    APPLICATION memory region.
    Definition: svc.h:28
    +
    @ MEMOP_REGION_SYSTEM
    SYSTEM memory region.
    Definition: svc.h:29
    +
    @ MEMOP_UNMAP
    Mirror unmapping.
    Definition: svc.h:25
    +
    Result svcSetThreadAffinityMask(Handle thread, const u8 *affinitymask, s32 processorcount)
    Sets a thread's affinity mask.
    +
    Result svcReadProcessMemory(void *buffer, Handle debug, u32 addr, u32 size)
    Reads from a debugged process's memory.
    +
    Result svcSetProcessIdealProcessor(Handle process, s32 processorid)
    Sets a process's ideal processor.
    +
    Result svcCreatePort(Handle *portServer, Handle *portClient, const char *name, s32 maxSessions)
    Creates a port.
    +
    static u32 * getThreadStaticBuffers(void)
    Gets the thread static buffer.
    Definition: svc.h:551
    +
    Result svcControlMemory(u32 *addr_out, u32 addr0, u32 addr1, u32 size, MemOp op, MemPerm perm)
    Controls memory mapping.
    +
    Result svcMapProcessMemory(Handle process, u32 destAddress, u32 size)
    Maps a block of process memory, starting from address 0x00100000.
    +
    DebugFlags
    Debug flags for an attached process, set by svcContinueDebugEvent.
    Definition: svc.h:458
    +
    @ DBG_SIGNAL_SCHEDULE_EVENTS
    Signal schedule in/out events. See ScheduleInOutEvent.
    Definition: svc.h:461
    +
    @ DBG_SIGNAL_MAP_EVENTS
    Signal map events. See MapEvent.
    Definition: svc.h:463
    +
    @ DBG_SIGNAL_SYSCALL_EVENTS
    Signal syscall in/out events. See SyscallInOutEvent.
    Definition: svc.h:462
    +
    @ DBG_SIGNAL_FAULT_EXCEPTION_EVENTS
    Signal fault exception events. See FaultExceptionEvent.
    Definition: svc.h:460
    +
    @ DBG_INHIBIT_USER_CPU_EXCEPTION_HANDLERS
    Inhibit user-defined CPU exception handlers (including watchpoints and breakpoints,...
    Definition: svc.h:459
    +
    Result svcCancelTimer(Handle timer)
    Cancels a timer.
    +
    DmaState
    DMA transfer state.
    Definition: svc.h:141
    +
    @ DMASTATE_WFP_SRC
    DMA channel is in WFP state for the source device (2nd loop iteration onwards).
    Definition: svc.h:144
    +
    @ DMASTATE_STARTING
    DMA transfer involving at least one device is starting and has not reached DMAWFP yet.
    Definition: svc.h:142
    +
    @ DMASTATE_WFP_DST
    DMA channel is in WFP state for the destination device (2nd loop iteration onwards).
    Definition: svc.h:143
    +
    @ DMASTATE_DONE
    DMA transfer is done.
    Definition: svc.h:146
    +
    @ DMASTATE_RUNNING
    DMA transfer is running.
    Definition: svc.h:145
    +
    Result svcArbitrateAddressNoTimeout(Handle arbiter, u32 addr, ArbitrationType type, s32 value)
    Same as svcArbitrateAddress but with the timeout_ns parameter undefined.
    +
    Result svcCreateCodeSet(Handle *out, const CodeSetHeader *info, u32 textSegmentLma, u32 roSegmentLma, u32 dataSegmentLma)
    Sets up virtual address space for a new process.
    +
    Result svcReleaseSemaphore(s32 *count, Handle semaphore, s32 release_count)
    Releases a semaphore.
    +
    MemPerm
    Memory permission flags.
    Definition: svc.h:56
    +
    @ MEMPERM_DONTCARE
    Don't care.
    Definition: svc.h:62
    +
    @ MEMPERM_WRITE
    Writable.
    Definition: svc.h:58
    +
    @ MEMPERM_READWRITE
    Readable and writable.
    Definition: svc.h:60
    +
    @ MEMPERM_READ
    Readable.
    Definition: svc.h:57
    +
    @ MEMPERM_EXECUTE
    Executable.
    Definition: svc.h:59
    +
    @ MEMPERM_READEXECUTE
    Readable and executable.
    Definition: svc.h:61
    +
    MemState
    The state of a memory block.
    Definition: svc.h:40
    +
    @ MEMSTATE_ALIAS
    Alias memory.
    Definition: svc.h:50
    +
    @ MEMSTATE_CODE
    Code memory.
    Definition: svc.h:45
    +
    @ MEMSTATE_FREE
    Free memory.
    Definition: svc.h:41
    +
    @ MEMSTATE_SHARED
    Shared memory.
    Definition: svc.h:47
    +
    @ MEMSTATE_CONTINUOUS
    Continuous memory.
    Definition: svc.h:48
    +
    @ MEMSTATE_ALIASCODE
    Aliased code memory.
    Definition: svc.h:51
    +
    @ MEMSTATE_ALIASED
    Aliased memory.
    Definition: svc.h:49
    +
    @ MEMSTATE_PRIVATE
    Private memory.
    Definition: svc.h:46
    +
    @ MEMSTATE_IO
    I/O memory.
    Definition: svc.h:43
    +
    @ MEMSTATE_STATIC
    Static memory.
    Definition: svc.h:44
    +
    @ MEMSTATE_RESERVED
    Reserved memory.
    Definition: svc.h:42
    +
    @ MEMSTATE_LOCKED
    Locked memory.
    Definition: svc.h:52
    +
    Result svcGetThreadIdealProcessor(s32 *processorid, Handle thread)
    Gets a thread's ideal processor.
    +
    Result svcBreakDebugProcess(Handle debug)
    Breaks a debugged process.
    +
    Result svcGetResourceLimit(Handle *resourceLimit, Handle process)
    Gets the resource limit set of a process.
    +
    Result svcQueryMemory(MemInfo *info, PageInfo *out, u32 addr)
    Queries memory information.
    +
    Result svcCreateProcess(Handle *out, Handle codeset, const u32 *arm11KernelCaps, s32 numArm11KernelCaps)
    Create a new process.
    +
    ExitThreadEventReason
    Reasons for an exit thread event.
    Definition: svc.h:319
    +
    @ EXITTHREAD_EVENT_EXIT_PROCESS
    Process exited either normally or due to an uncaught exception.
    Definition: svc.h:322
    +
    @ EXITTHREAD_EVENT_TERMINATE_PROCESS
    Process has been terminated by svcTerminateProcess.
    Definition: svc.h:323
    +
    @ EXITTHREAD_EVENT_TERMINATE
    Thread terminated.
    Definition: svc.h:321
    +
    @ EXITTHREAD_EVENT_EXIT
    Thread exited.
    Definition: svc.h:320
    +
    Result svcAcceptSession(Handle *session, Handle port)
    Accepts a session.
    +
    Result svcGetThreadId(u32 *out, Handle handle)
    Gets the ID of a thread.
    +
    @ DMACFG_SRC_IS_DEVICE
    DMA source is a device/peripheral. Address will not auto-increment.
    Definition: svc.h:151
    +
    @ DMACFG_USE_SRC_CONFIG
    Use the provided source device configuration even if the DMA source is not a device.
    Definition: svc.h:155
    +
    @ DMACFG_DST_IS_DEVICE
    DMA destination is a device/peripheral. Address will not auto-increment.
    Definition: svc.h:152
    +
    @ DMACFG_WAIT_AVAILABLE
    Make svcStartInterProcessDma wait for the channel to be unlocked.
    Definition: svc.h:153
    +
    @ DMACFG_USE_DST_CONFIG
    Use the provided destination device configuration even if the DMA destination is not a device.
    Definition: svc.h:156
    +
    @ DMACFG_KEEP_LOCKED
    Keep the channel locked after the transfer. Required for svcRestartDma.
    Definition: svc.h:154
    +
    Result svcQueryProcessMemory(MemInfo *info, PageInfo *out, Handle process, u32 addr)
    Queries process memory information.
    +
    Result svcRestartDma(Handle dma, u32 dstAddr, u32 srcAddr, u32 size, s8 flags)
    Restarts a DMA transfer, using the same configuration as before.
    +
    Result svcCreateAddressArbiter(Handle *arbiter)
    Creates an address arbiter.
    +
    Result svcGetProcessIdealProcessor(s32 *processorid, Handle process)
    Gets a process's ideal processor.
    +
    Result svcReplyAndReceive(s32 *index, const Handle *handles, s32 handleCount, Handle replyTarget)
    Replies to and receives a new request.
    +
    Result svcUnmapProcessMemory(Handle process, u32 destAddress, u32 size)
    Unmaps a block of process memory, starting from address 0x00100000.
    +
    DebugEventType
    Debug event type.
    Definition: svc.h:421
    +
    @ DBGEVENT_SCHEDULE_IN
    Schedule in event.
    Definition: svc.h:429
    +
    @ DBGEVENT_DLL_UNLOAD
    DLL unload event.
    Definition: svc.h:428
    +
    @ DBGEVENT_EXCEPTION
    Exception event.
    Definition: svc.h:426
    +
    @ DBGEVENT_EXIT_PROCESS
    Process exit event.
    Definition: svc.h:425
    +
    @ DBGEVENT_SYSCALL_IN
    Syscall in event.
    Definition: svc.h:431
    +
    @ DBGEVENT_SYSCALL_OUT
    Syscall out event.
    Definition: svc.h:432
    +
    @ DBGEVENT_SCHEDULE_OUT
    Schedule out event.
    Definition: svc.h:430
    +
    @ DBGEVENT_MAP
    Map event.
    Definition: svc.h:434
    +
    @ DBGEVENT_ATTACH_THREAD
    Thread attached event.
    Definition: svc.h:423
    +
    @ DBGEVENT_OUTPUT_STRING
    Output string event.
    Definition: svc.h:433
    +
    @ DBGEVENT_ATTACH_PROCESS
    Process attached event.
    Definition: svc.h:422
    +
    @ DBGEVENT_EXIT_THREAD
    Thread exit event.
    Definition: svc.h:424
    +
    @ DBGEVENT_DLL_LOAD
    DLL load event.
    Definition: svc.h:427
    +
    Result svcSetHardwareBreakPoint(s32 registerId, u32 control, u32 value)
    Sets an hardware breakpoint or watchpoint.
    +
    Result svcSetTimer(Handle timer, s64 initial, s64 interval)
    Sets a timer.
    +
    Result svcStoreProcessDataCache(Handle process, u32 addr, u32 size)
    Cleans a process's data cache.
    +
    Result svcCreateResourceLimit(Handle *resourceLimit)
    Creates a resource limit set.
    +
    ResourceLimitType
    Types of resource limit.
    Definition: svc.h:117
    +
    @ RESLIMIT_TIMER
    Number of timers.
    Definition: svc.h:124
    +
    @ RESLIMIT_SEMAPHORE
    Number of semaphores.
    Definition: svc.h:123
    +
    @ RESLIMIT_CPUTIME
    CPU time. Value expressed in percentage regular until it reaches 90.
    Definition: svc.h:127
    +
    @ RESLIMIT_COMMIT
    Quantity of allocatable memory.
    Definition: svc.h:119
    +
    @ RESLIMIT_EVENT
    Number of events.
    Definition: svc.h:121
    +
    @ RESLIMIT_BIT
    Forces enum size to be 32 bits.
    Definition: svc.h:129
    +
    @ RESLIMIT_ADDRESSARBITER
    Number of address arbiters.
    Definition: svc.h:126
    +
    @ RESLIMIT_MUTEX
    Number of mutexes.
    Definition: svc.h:122
    +
    @ RESLIMIT_THREAD
    Number of threads.
    Definition: svc.h:120
    +
    @ RESLIMIT_SHAREDMEMORY
    Number of shared memory objects, see svcCreateMemoryBlock.
    Definition: svc.h:125
    +
    @ RESLIMIT_PRIORITY
    Thread priority.
    Definition: svc.h:118
    +
    Result svcCreateEvent(Handle *event, ResetType reset_type)
    Creates an event handle.
    +
    MemRegion
    Memory regions.
    Definition: svc.h:67
    +
    @ MEMREGION_SYSTEM
    SYSTEM memory.
    Definition: svc.h:70
    +
    @ MEMREGION_BASE
    BASE memory.
    Definition: svc.h:71
    +
    @ MEMREGION_ALL
    All regions.
    Definition: svc.h:68
    +
    @ MEMREGION_APPLICATION
    APPLICATION memory.
    Definition: svc.h:69
    +
    Result svcClearEvent(Handle handle)
    Clears an event.
    +
    Result svcStopDma(Handle dma)
    Stops an inter-process DMA transfer.
    +
    Result svcInvalidateProcessDataCache(Handle process, u32 addr, u32 size)
    Invalidates a process's data cache.
    +
    static void dmaConfigInitDefault(DmaConfig *cfg)
    Initializes a DmaConfig instance with sane defaults for RAM<>RAM tranfers.
    Definition: svc.h:574
    +
    Result svcGetProcessIdOfThread(u32 *out, Handle handle)
    Gets the process ID of a thread.
    +
    ExceptionEventType
    Reasons for an exception event.
    Definition: svc.h:341
    +
    @ EXCEVENT_UNDEFINED_SYSCALL
    Undefined syscall.
    Definition: svc.h:350
    +
    @ EXCEVENT_USER_BREAK
    User break occurred.
    Definition: svc.h:348
    +
    @ EXCEVENT_UNALIGNED_DATA_ACCESS
    Unaligned data access.
    Definition: svc.h:345
    +
    @ EXCEVENT_DEBUGGER_BREAK
    Debugger break occurred.
    Definition: svc.h:349
    +
    @ EXCEVENT_ATTACH_BREAK
    Attached break.
    Definition: svc.h:346
    +
    @ EXCEVENT_PREFETCH_ABORT
    Prefetch abort.
    Definition: svc.h:343
    +
    @ EXCEVENT_UNDEFINED_INSTRUCTION
    Undefined instruction.
    Definition: svc.h:342
    +
    @ EXCEVENT_DATA_ABORT
    Data abort (other than the below kind).
    Definition: svc.h:344
    +
    @ EXCEVENT_STOP_POINT
    Stop point reached.
    Definition: svc.h:347
    +
    @ DMARST_UNLOCK
    Unlock the channel after transfer.
    Definition: svc.h:161
    +
    @ DMARST_RESUME_DEVICE
    Replace DMAFLUSHP instructions by NOP (they may not be regenerated even if this flag is not set).
    Definition: svc.h:162
    +
    Result svcGetDebugThreadParam(s64 *unused, u32 *out, Handle debug, u32 threadId, DebugThreadParameter parameter)
    Gets a debugged thread's parameter.
    +
    Result svcKernelSetState(u32 type,...)
    Sets the current kernel state.
    +
    ResetType
    Reset types (for use with events and timers)
    Definition: svc.h:105
    +
    @ RESET_STICKY
    When the primitive is signaled, it will wake up all threads and it won't clear itself automatically.
    Definition: svc.h:107
    +
    @ RESET_ONESHOT
    When the primitive is signaled, it will wake up exactly one thread and will clear itself automaticall...
    Definition: svc.h:106
    +
    @ RESET_PULSE
    Only meaningful for timers: same as ONESHOT but it will periodically signal the timer instead of just...
    Definition: svc.h:108
    +
    void svcSleepThread(s64 ns)
    Puts the current thread to sleep.
    +
    Result svcGetProcessDebugEvent(DebugEventInfo *info, Handle debug)
    Gets the current debug event of a debugged process.
    +
    Result svcSetThreadIdealProcessor(Handle thread, s32 processorid)
    Sets a thread's ideal processor.
    +
    Result svcSetThreadPriority(Handle thread, s32 prio)
    Changes the priority of a thread.
    +
    Result svcGetProcessAffinityMask(u8 *affinitymask, Handle process, s32 processorcount)
    Gets a process's affinity mask.
    +
    Result svcTerminateDebugProcess(Handle debug)
    Terminates a debugged process.
    +
    Result svcOpenThread(Handle *thread, Handle process, u32 threadId)
    Gets the handle of a thread.
    +
    Result svcSetDebugThreadContext(Handle debug, u32 threadId, ThreadContext *context, ThreadContextControlFlags controlFlags)
    Updates the saved registers of a thread, either inactive or awaiting svcContinueDebugEvent,...
    +
    Result svcUnbindInterrupt(u32 interruptId, Handle eventOrSemaphore)
    Unbinds an event or semaphore handle from an ARM11 interrupt.
    +
    Result svcSetProcessAffinityMask(Handle process, const u8 *affinitymask, s32 processorcount)
    Sets a process's affinity mask.
    +
    PerfCounterRegister
    Performance counter register IDs (CP15 and SCU).
    Definition: svc.h:212
    +
    @ PERFCOUNTERREG_CORE_CYCLE_COUNTER
    CP15 CCNT.
    Definition: svc.h:217
    +
    @ PERFCOUNTERREG_CORE_COUNT_REG_1
    CP15 PMN1.
    Definition: svc.h:216
    +
    @ PERFCOUNTERREG_SCU_7
    SCU MN7. Prod-N3DS only. IRQ line missing.
    Definition: svc.h:228
    +
    @ PERFCOUNTERREG_SCU_6
    SCU MN6. Prod-N3DS only. IRQ line missing.
    Definition: svc.h:227
    +
    @ PERFCOUNTERREG_SCU_3
    SCU MN3.
    Definition: svc.h:224
    +
    @ PERFCOUNTERREG_SCU_5
    SCU MN5. Prod-N3DS only. IRQ line missing.
    Definition: svc.h:226
    +
    @ PERFCOUNTERREG_SCU_1
    SCU MN1.
    Definition: svc.h:222
    +
    @ PERFCOUNTERREG_SCU_2
    SCU MN2.
    Definition: svc.h:223
    +
    @ PERFCOUNTERREG_SCU_0
    SCU MN0.
    Definition: svc.h:221
    +
    @ PERFCOUNTERREG_CORE_COUNT_REG_0
    CP15 PMN0.
    Definition: svc.h:215
    +
    @ PERFCOUNTERREG_SCU_4
    SCU MN4. Prod-N3DS only. IRQ line missing.
    Definition: svc.h:225
    +
    Result svcSignalEvent(Handle handle)
    Signals an event.
    +
    Result svcStartInterProcessDma(Handle *dma, Handle dstProcess, u32 dstAddr, Handle srcProcess, u32 srcAddr, u32 size, const DmaConfig *cfg)
    Begins an inter-process DMA transfer.
    +
    Result svcFlushProcessDataCache(Handle process, u32 addr, u32 size)
    Flushes (cleans and invalidates) a process's data cache.
    +
    Result svcCreateMutex(Handle *mutex, bool initially_locked)
    Creates a mutex.
    +
    static void dmaDeviceConfigInitDefault(DmaDeviceConfig *cfg)
    Writes the default DMA device config that the kernel uses when DMACFG_*_IS_DEVICE and DMACFG_*_USE_CF...
    Definition: svc.h:560
    +
    Result svcControlProcessMemory(Handle process, u32 addr0, u32 addr1, u32 size, u32 type, u32 perm)
    Controls the memory mapping of a process.
    +
    Result svcGetDmaState(DmaState *state, Handle dma)
    Gets the state of an inter-process DMA transfer.
    +
    Various system types.
    +
    int64_t s64
    64-bit signed integer
    Definition: types.h:29
    +
    #define BIT(n)
    Creates a bitmask from a bit number.
    Definition: types.h:47
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    void(* ThreadFunc)(void *)
    Thread entrypoint function.
    Definition: types.h:43
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    int8_t s8
    8-bit signed integer
    Definition: types.h:26
    +
    int16_t s16
    16-bit signed integer
    Definition: types.h:27
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint16_t u16
    16-bit unsigned integer
    Definition: types.h:22
    +
    int32_t s32
    32-bit signed integer
    Definition: types.h:28
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/swkbd_8h.html b/swkbd_8h.html new file mode 100644 index 000000000..de86f607f --- /dev/null +++ b/swkbd_8h.html @@ -0,0 +1,1280 @@ + + + + + + + +libctru: include/3ds/applets/swkbd.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    swkbd.h File Reference
    +
    +
    + +

    Software keyboard applet. +More...

    +
    #include <3ds/types.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + +

    +Data Structures

    struct  SwkbdDictWord
     Keyboard dictionary word for predictive input. More...
     
    struct  SwkbdStatusData
     Keyboard status data. More...
     
    struct  SwkbdLearningData
     Keyboard predictive input learning data. More...
     
    struct  SwkbdExtra
     Internal libctru book-keeping structure for software keyboards. More...
     
    struct  SwkbdState
     Software keyboard parameter structure, it shouldn't be modified directly. More...
     
    + + + + + + + + + + + + + +

    +Macros

    +#define SWKBD_MAX_WORD_LEN   40
     Maximum dictionary word length, in UTF-16 code units.
     
    +#define SWKBD_MAX_BUTTON_TEXT_LEN   16
     Maximum button text length, in UTF-16 code units.
     
    +#define SWKBD_MAX_HINT_TEXT_LEN   64
     Maximum hint text length, in UTF-16 code units.
     
    +#define SWKBD_MAX_CALLBACK_MSG_LEN   256
     Maximum filter callback error message length, in UTF-16 code units.
     
    + + + + +

    +Typedefs

    +typedef SwkbdCallbackResult(* SwkbdCallbackFn) (void *user, const char **ppMessage, const char *text, size_t textlen)
     Keyboard filter callback function.
     
    + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Enumerations

    enum  SwkbdType {
    +  SWKBD_TYPE_NORMAL = 0 +,
    +  SWKBD_TYPE_QWERTY +,
    +  SWKBD_TYPE_NUMPAD +,
    +  SWKBD_TYPE_WESTERN +
    + }
     Keyboard types. More...
     
    enum  SwkbdValidInput {
    +  SWKBD_ANYTHING = 0 +,
    +  SWKBD_NOTEMPTY +,
    +  SWKBD_NOTEMPTY_NOTBLANK +,
    +  SWKBD_NOTBLANK_NOTEMPTY = SWKBD_NOTEMPTY_NOTBLANK +,
    +  SWKBD_NOTBLANK +,
    +  SWKBD_FIXEDLEN +
    + }
     Accepted input types. More...
     
    enum  SwkbdButton {
    +  SWKBD_BUTTON_LEFT = 0 +,
    +  SWKBD_BUTTON_MIDDLE +,
    +  SWKBD_BUTTON_RIGHT +,
    +  SWKBD_BUTTON_CONFIRM = SWKBD_BUTTON_RIGHT +,
    +  SWKBD_BUTTON_NONE +
    + }
     Keyboard dialog buttons. More...
     
    enum  SwkbdPasswordMode {
    +  SWKBD_PASSWORD_NONE = 0 +,
    +  SWKBD_PASSWORD_HIDE +,
    +  SWKBD_PASSWORD_HIDE_DELAY +
    + }
     Keyboard password modes. More...
     
    enum  {
    +  SWKBD_FILTER_DIGITS = BIT(0) +,
    +  SWKBD_FILTER_AT = BIT(1) +,
    +  SWKBD_FILTER_PERCENT = BIT(2) +,
    +  SWKBD_FILTER_BACKSLASH = BIT(3) +,
    +  SWKBD_FILTER_PROFANITY = BIT(4) +,
    +  SWKBD_FILTER_CALLBACK = BIT(5) +
    + }
     Keyboard input filtering flags. More...
     
    enum  {
    +  SWKBD_PARENTAL = BIT(0) +,
    +  SWKBD_DARKEN_TOP_SCREEN = BIT(1) +,
    +  SWKBD_PREDICTIVE_INPUT = BIT(2) +,
    +  SWKBD_MULTILINE = BIT(3) +,
    +  SWKBD_FIXED_WIDTH = BIT(4) +,
    +  SWKBD_ALLOW_HOME = BIT(5) +,
    +  SWKBD_ALLOW_RESET = BIT(6) +,
    +  SWKBD_ALLOW_POWER = BIT(7) +,
    +  SWKBD_DEFAULT_QWERTY = BIT(9) +
    + }
     Keyboard features. More...
     
    enum  SwkbdCallbackResult {
    +  SWKBD_CALLBACK_OK = 0 +,
    +  SWKBD_CALLBACK_CLOSE +,
    +  SWKBD_CALLBACK_CONTINUE +
    + }
     Keyboard filter callback return values. More...
     
    enum  SwkbdResult {
    +  SWKBD_NONE = -1 +,
    +  SWKBD_INVALID_INPUT = -2 +,
    +  SWKBD_OUTOFMEM = -3 +,
    +  SWKBD_D0_CLICK = 0 +,
    +  SWKBD_D1_CLICK0 +,
    +  SWKBD_D1_CLICK1 +,
    +  SWKBD_D2_CLICK0 +,
    +  SWKBD_D2_CLICK1 +,
    +  SWKBD_D2_CLICK2 +,
    +  SWKBD_HOMEPRESSED = 10 +,
    +  SWKBD_RESETPRESSED +,
    +  SWKBD_POWERPRESSED +,
    +  SWKBD_PARENTAL_OK = 20 +,
    +  SWKBD_PARENTAL_FAIL +,
    +  SWKBD_BANNED_INPUT = 30 +
    + }
     Keyboard return values. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    void swkbdInit (SwkbdState *swkbd, SwkbdType type, int numButtons, int maxTextLength)
     Initializes software keyboard status. More...
     
    static void swkbdSetPasswordMode (SwkbdState *swkbd, SwkbdPasswordMode mode)
     Configures password mode in a software keyboard. More...
     
    static void swkbdSetValidation (SwkbdState *swkbd, SwkbdValidInput validInput, u32 filterFlags, int maxDigits)
     Configures input validation in a software keyboard. More...
     
    static void swkbdSetNumpadKeys (SwkbdState *swkbd, int left, int right)
     Configures what characters will the two bottom keys in a numpad produce. More...
     
    void swkbdSetFeatures (SwkbdState *swkbd, u32 features)
     Specifies which special features are enabled in a software keyboard. More...
     
    void swkbdSetHintText (SwkbdState *swkbd, const char *text)
     Sets the hint text of a software keyboard (that is, the help text that is displayed when the textbox is empty). More...
     
    void swkbdSetButton (SwkbdState *swkbd, SwkbdButton button, const char *text, bool submit)
     Configures a dialog button in a software keyboard. More...
     
    void swkbdSetInitialText (SwkbdState *swkbd, const char *text)
     Sets the initial text that a software keyboard will display on launch. More...
     
    void swkbdSetDictWord (SwkbdDictWord *word, const char *reading, const char *text)
     Configures a word in a predictive dictionary for use with a software keyboard. More...
     
    void swkbdSetDictionary (SwkbdState *swkbd, const SwkbdDictWord *dict, int wordCount)
     Sets the custom word dictionary to be used with the predictive input system of a software keyboard. More...
     
    void swkbdSetStatusData (SwkbdState *swkbd, SwkbdStatusData *data, bool in, bool out)
     Configures software keyboard internal status management. More...
     
    void swkbdSetLearningData (SwkbdState *swkbd, SwkbdLearningData *data, bool in, bool out)
     Configures software keyboard predictive input learning data management. More...
     
    void swkbdSetFilterCallback (SwkbdState *swkbd, SwkbdCallbackFn callback, void *user)
     Configures a custom function to be used to check the validity of input when it is submitted in a software keyboard. More...
     
    SwkbdButton swkbdInputText (SwkbdState *swkbd, char *buf, size_t bufsize)
     Launches a software keyboard in order to input text. More...
     
    static SwkbdResult swkbdGetResult (SwkbdState *swkbd)
     Retrieves the result condition of a software keyboard after it has been used. More...
     
    +

    Detailed Description

    +

    Software keyboard applet.

    +

    Enumeration Type Documentation

    + +

    ◆ anonymous enum

    + +
    +
    + + + + +
    anonymous enum
    +
    + +

    Keyboard input filtering flags.

    + + + + + + + +
    Enumerator
    SWKBD_FILTER_DIGITS 

    Disallow the use of more than a certain number of digits (0 or more)

    +
    SWKBD_FILTER_AT 

    Disallow the use of the @ sign.

    +
    SWKBD_FILTER_PERCENT 

    Disallow the use of the % sign.

    +
    SWKBD_FILTER_BACKSLASH 

    Disallow the use of the \ sign.

    +
    SWKBD_FILTER_PROFANITY 

    Disallow profanity using Nintendo's profanity filter.

    +
    SWKBD_FILTER_CALLBACK 

    Use a callback in order to check the input.

    +
    + +
    +
    + +

    ◆ anonymous enum

    + +
    +
    + + + + +
    anonymous enum
    +
    + +

    Keyboard features.

    + + + + + + + + + + +
    Enumerator
    SWKBD_PARENTAL 

    Parental PIN mode.

    +
    SWKBD_DARKEN_TOP_SCREEN 

    Darken the top screen when the keyboard is shown.

    +
    SWKBD_PREDICTIVE_INPUT 

    Enable predictive input (necessary for Kanji input in JPN systems).

    +
    SWKBD_MULTILINE 

    Enable multiline input.

    +
    SWKBD_FIXED_WIDTH 

    Enable fixed-width mode.

    +
    SWKBD_ALLOW_HOME 

    Allow the usage of the HOME button.

    +
    SWKBD_ALLOW_RESET 

    Allow the usage of a software-reset combination.

    +
    SWKBD_ALLOW_POWER 

    Allow the usage of the POWER button.

    +
    SWKBD_DEFAULT_QWERTY 

    Default to the QWERTY page when the keyboard is shown.

    +
    + +
    +
    + +

    ◆ SwkbdButton

    + +
    +
    + + + + +
    enum SwkbdButton
    +
    + +

    Keyboard dialog buttons.

    + + + + + +
    Enumerator
    SWKBD_BUTTON_LEFT 

    Left button (usually Cancel)

    +
    SWKBD_BUTTON_MIDDLE 

    Middle button (usually I Forgot)

    +
    SWKBD_BUTTON_RIGHT 

    Right button (usually OK)

    +
    SWKBD_BUTTON_NONE 

    No button (returned by swkbdInputText in special cases)

    +
    + +
    +
    + +

    ◆ SwkbdCallbackResult

    + +
    +
    + + + + +
    enum SwkbdCallbackResult
    +
    + +

    Keyboard filter callback return values.

    + + + + +
    Enumerator
    SWKBD_CALLBACK_OK 

    Specifies that the input is valid.

    +
    SWKBD_CALLBACK_CLOSE 

    Displays an error message, then closes the keyboard.

    +
    SWKBD_CALLBACK_CONTINUE 

    Displays an error message and continues displaying the keyboard.

    +
    + +
    +
    + +

    ◆ SwkbdPasswordMode

    + +
    +
    + + + + +
    enum SwkbdPasswordMode
    +
    + +

    Keyboard password modes.

    + + + + +
    Enumerator
    SWKBD_PASSWORD_NONE 

    Characters are not concealed.

    +
    SWKBD_PASSWORD_HIDE 

    Characters are concealed immediately.

    +
    SWKBD_PASSWORD_HIDE_DELAY 

    Characters are concealed a second after they've been typed.

    +
    + +
    +
    + +

    ◆ SwkbdResult

    + +
    +
    + + + + +
    enum SwkbdResult
    +
    + +

    Keyboard return values.

    + + + + + + + + + + + + + + + + +
    Enumerator
    SWKBD_NONE 

    Dummy/unused.

    +
    SWKBD_INVALID_INPUT 

    Invalid parameters to swkbd.

    +
    SWKBD_OUTOFMEM 

    Out of memory.

    +
    SWKBD_D0_CLICK 

    The button was clicked in 1-button dialogs.

    +
    SWKBD_D1_CLICK0 

    The left button was clicked in 2-button dialogs.

    +
    SWKBD_D1_CLICK1 

    The right button was clicked in 2-button dialogs.

    +
    SWKBD_D2_CLICK0 

    The left button was clicked in 3-button dialogs.

    +
    SWKBD_D2_CLICK1 

    The middle button was clicked in 3-button dialogs.

    +
    SWKBD_D2_CLICK2 

    The right button was clicked in 3-button dialogs.

    +
    SWKBD_HOMEPRESSED 

    The HOME button was pressed.

    +
    SWKBD_RESETPRESSED 

    The soft-reset key combination was pressed.

    +
    SWKBD_POWERPRESSED 

    The POWER button was pressed.

    +
    SWKBD_PARENTAL_OK 

    The parental PIN was verified successfully.

    +
    SWKBD_PARENTAL_FAIL 

    The parental PIN was incorrect.

    +
    SWKBD_BANNED_INPUT 

    The filter callback returned SWKBD_CALLBACK_CLOSE.

    +
    + +
    +
    + +

    ◆ SwkbdType

    + +
    +
    + + + + +
    enum SwkbdType
    +
    + +

    Keyboard types.

    + + + + + +
    Enumerator
    SWKBD_TYPE_NORMAL 

    Normal keyboard with several pages (QWERTY/accents/symbol/mobile)

    +
    SWKBD_TYPE_QWERTY 

    QWERTY keyboard only.

    +
    SWKBD_TYPE_NUMPAD 

    Number pad.

    +
    SWKBD_TYPE_WESTERN 

    On JPN systems, a text keyboard without Japanese input capabilities, otherwise same as SWKBD_TYPE_NORMAL.

    +
    + +
    +
    + +

    ◆ SwkbdValidInput

    + +
    +
    + + + + +
    enum SwkbdValidInput
    +
    + +

    Accepted input types.

    + + + + + + +
    Enumerator
    SWKBD_ANYTHING 

    All inputs are accepted.

    +
    SWKBD_NOTEMPTY 

    Empty inputs are not accepted.

    +
    SWKBD_NOTEMPTY_NOTBLANK 

    Empty or blank inputs (consisting solely of whitespace) are not accepted.

    +
    SWKBD_NOTBLANK 

    Blank inputs (consisting solely of whitespace) are not accepted, but empty inputs are.

    +
    SWKBD_FIXEDLEN 

    The input must have a fixed length (specified by maxTextLength in swkbdInit).

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ swkbdGetResult()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static SwkbdResult swkbdGetResult (SwkbdStateswkbd)
    +
    +inlinestatic
    +
    + +

    Retrieves the result condition of a software keyboard after it has been used.

    +
    Parameters
    + + +
    swkbdPointer to swkbd state.
    +
    +
    +
    Returns
    The result value.
    +
    Examples
    input/software-keyboard/source/main.c.
    +
    + +
    +
    + +

    ◆ swkbdInit()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void swkbdInit (SwkbdStateswkbd,
    SwkbdType type,
    int numButtons,
    int maxTextLength 
    )
    +
    + +

    Initializes software keyboard status.

    +
    Parameters
    + + + + + +
    swkbdPointer to swkbd state.
    typeKeyboard type.
    numButtonsNumber of dialog buttons to display (1, 2 or 3).
    maxTextLengthMaximum number of UTF-16 code units that input text can have (or -1 to let libctru use a big default).
    +
    +
    +
    Examples
    input/software-keyboard/source/main.c.
    +
    + +
    +
    + +

    ◆ swkbdInputText()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    SwkbdButton swkbdInputText (SwkbdStateswkbd,
    char * buf,
    size_t bufsize 
    )
    +
    + +

    Launches a software keyboard in order to input text.

    +
    Parameters
    + + + + +
    swkbdPointer to swkbd state.
    bufPointer to output buffer which will hold the inputted text.
    bufsizeMaximum number of UTF-8 code units that the buffer can hold (including null terminator).
    +
    +
    +
    Returns
    The identifier of the dialog button that was pressed, or SWKBD_BUTTON_NONE if a different condition was triggered - in that case use swkbdGetResult to check the condition.
    +
    Examples
    input/software-keyboard/source/main.c.
    +
    + +
    +
    + +

    ◆ swkbdSetButton()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void swkbdSetButton (SwkbdStateswkbd,
    SwkbdButton button,
    const char * text,
    bool submit 
    )
    +
    + +

    Configures a dialog button in a software keyboard.

    +
    Parameters
    + + + + + +
    swkbdPointer to swkbd state.
    buttonSpecifies which button to configure.
    textButton text.
    submitSpecifies whether pushing the button will submit the text or discard it.
    +
    +
    +
    Examples
    input/software-keyboard/source/main.c.
    +
    + +
    +
    + +

    ◆ swkbdSetDictionary()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void swkbdSetDictionary (SwkbdStateswkbd,
    const SwkbdDictWorddict,
    int wordCount 
    )
    +
    + +

    Sets the custom word dictionary to be used with the predictive input system of a software keyboard.

    +
    Parameters
    + + + + +
    swkbdPointer to swkbd state.
    dictPointer to dictionary words.
    wordCountNumber of words in the dictionary.
    +
    +
    +
    Examples
    input/software-keyboard/source/main.c.
    +
    + +
    +
    + +

    ◆ swkbdSetDictWord()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void swkbdSetDictWord (SwkbdDictWordword,
    const char * reading,
    const char * text 
    )
    +
    + +

    Configures a word in a predictive dictionary for use with a software keyboard.

    +
    Parameters
    + + + + +
    wordPointer to dictionary word structure.
    readingReading of the word, that is, the sequence of characters that need to be typed to trigger the word in the predictive input system.
    textSpelling of the word, that is, the actual characters that will be produced when the user decides to select the word.
    +
    +
    +
    Examples
    input/software-keyboard/source/main.c.
    +
    + +
    +
    + +

    ◆ swkbdSetFeatures()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void swkbdSetFeatures (SwkbdStateswkbd,
    u32 features 
    )
    +
    + +

    Specifies which special features are enabled in a software keyboard.

    +
    Parameters
    + + + +
    swkbdPointer to swkbd state.
    featuresFeature bitmask.
    +
    +
    +
    Examples
    input/software-keyboard/source/main.c.
    +
    + +
    +
    + +

    ◆ swkbdSetFilterCallback()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void swkbdSetFilterCallback (SwkbdStateswkbd,
    SwkbdCallbackFn callback,
    void * user 
    )
    +
    + +

    Configures a custom function to be used to check the validity of input when it is submitted in a software keyboard.

    +
    Parameters
    + + + + +
    swkbdPointer to swkbd state.
    callbackFilter callback function.
    userCustom data to be passed to the callback function.
    +
    +
    +
    Examples
    input/software-keyboard/source/main.c.
    +
    + +
    +
    + +

    ◆ swkbdSetHintText()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void swkbdSetHintText (SwkbdStateswkbd,
    const char * text 
    )
    +
    + +

    Sets the hint text of a software keyboard (that is, the help text that is displayed when the textbox is empty).

    +
    Parameters
    + + + +
    swkbdPointer to swkbd state.
    textHint text.
    +
    +
    +
    Examples
    input/software-keyboard/source/main.c.
    +
    + +
    +
    + +

    ◆ swkbdSetInitialText()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void swkbdSetInitialText (SwkbdStateswkbd,
    const char * text 
    )
    +
    + +

    Sets the initial text that a software keyboard will display on launch.

    +
    Parameters
    + + + +
    swkbdPointer to swkbd state.
    textInitial text.
    +
    +
    +
    Examples
    input/software-keyboard/source/main.c.
    +
    + +
    +
    + +

    ◆ swkbdSetLearningData()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void swkbdSetLearningData (SwkbdStateswkbd,
    SwkbdLearningDatadata,
    bool in,
    bool out 
    )
    +
    + +

    Configures software keyboard predictive input learning data management.

    +
    Parameters
    + + + + + +
    swkbdPointer to swkbd state.
    dataPointer to learning data structure (can be in, out or both depending on the other parameters).
    inSpecifies whether the data should be read from the structure when the keyboard is launched.
    outSpecifies whether the data should be written to the structure when the keyboard is closed.
    +
    +
    +
    Examples
    input/software-keyboard/source/main.c.
    +
    + +
    +
    + +

    ◆ swkbdSetNumpadKeys()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static void swkbdSetNumpadKeys (SwkbdStateswkbd,
    int left,
    int right 
    )
    +
    +inlinestatic
    +
    + +

    Configures what characters will the two bottom keys in a numpad produce.

    +
    Parameters
    + + + + +
    swkbdPointer to swkbd state.
    leftUnicode codepoint produced by the leftmost key in the bottom row (0 hides the key).
    leftUnicode codepoint produced by the rightmost key in the bottom row (0 hides the key).
    +
    +
    +
    Examples
    input/software-keyboard/source/main.c.
    +
    + +
    +
    + +

    ◆ swkbdSetPasswordMode()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void swkbdSetPasswordMode (SwkbdStateswkbd,
    SwkbdPasswordMode mode 
    )
    +
    +inlinestatic
    +
    + +

    Configures password mode in a software keyboard.

    +
    Parameters
    + + + +
    swkbdPointer to swkbd state.
    modePassword mode.
    +
    +
    +
    Examples
    input/software-keyboard/source/main.c.
    +
    + +
    +
    + +

    ◆ swkbdSetStatusData()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void swkbdSetStatusData (SwkbdStateswkbd,
    SwkbdStatusDatadata,
    bool in,
    bool out 
    )
    +
    + +

    Configures software keyboard internal status management.

    +
    Parameters
    + + + + + +
    swkbdPointer to swkbd state.
    dataPointer to internal status structure (can be in, out or both depending on the other parameters).
    inSpecifies whether the data should be read from the structure when the keyboard is launched.
    outSpecifies whether the data should be written to the structure when the keyboard is closed.
    +
    +
    +
    Examples
    input/software-keyboard/source/main.c.
    +
    + +
    +
    + +

    ◆ swkbdSetValidation()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static void swkbdSetValidation (SwkbdStateswkbd,
    SwkbdValidInput validInput,
    u32 filterFlags,
    int maxDigits 
    )
    +
    +inlinestatic
    +
    + +

    Configures input validation in a software keyboard.

    +
    Parameters
    + + + + + +
    swkbdPointer to swkbd state.
    validInputSpecifies which inputs are valid.
    filterFlagsBitmask specifying which characters are disallowed (filtered).
    maxDigitsIn case digits are disallowed, specifies how many digits are allowed at maximum in input strings (0 completely restricts digit input).
    +
    +
    +
    Examples
    input/software-keyboard/source/main.c.
    +
    + +
    +
    +
    + + + + diff --git a/swkbd_8h_source.html b/swkbd_8h_source.html new file mode 100644 index 000000000..21991d12e --- /dev/null +++ b/swkbd_8h_source.html @@ -0,0 +1,487 @@ + + + + + + + +libctru: include/3ds/applets/swkbd.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    swkbd.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file swkbd.h
    +
    3  * @brief Software keyboard applet.
    +
    4  */
    +
    5 #pragma once
    +
    6 #include <3ds/types.h>
    +
    7 
    +
    8 /// Keyboard types.
    +
    9 typedef enum
    +
    10 {
    +
    11  SWKBD_TYPE_NORMAL = 0, ///< Normal keyboard with several pages (QWERTY/accents/symbol/mobile)
    +
    12  SWKBD_TYPE_QWERTY, ///< QWERTY keyboard only.
    +
    13  SWKBD_TYPE_NUMPAD, ///< Number pad.
    +
    14  SWKBD_TYPE_WESTERN, ///< On JPN systems, a text keyboard without Japanese input capabilities, otherwise same as SWKBD_TYPE_NORMAL.
    +
    15 } SwkbdType;
    +
    16 
    +
    17 /// Accepted input types.
    +
    18 typedef enum
    +
    19 {
    +
    20  SWKBD_ANYTHING = 0, ///< All inputs are accepted.
    +
    21  SWKBD_NOTEMPTY, ///< Empty inputs are not accepted.
    +
    22  SWKBD_NOTEMPTY_NOTBLANK, ///< Empty or blank inputs (consisting solely of whitespace) are not accepted.
    +
    23  SWKBD_NOTBLANK_NOTEMPTY = SWKBD_NOTEMPTY_NOTBLANK,
    +
    24  SWKBD_NOTBLANK, ///< Blank inputs (consisting solely of whitespace) are not accepted, but empty inputs are.
    +
    25  SWKBD_FIXEDLEN, ///< The input must have a fixed length (specified by maxTextLength in swkbdInit).
    + +
    27 
    +
    28 /// Keyboard dialog buttons.
    +
    29 typedef enum
    +
    30 {
    +
    31  SWKBD_BUTTON_LEFT = 0, ///< Left button (usually Cancel)
    +
    32  SWKBD_BUTTON_MIDDLE, ///< Middle button (usually I Forgot)
    +
    33  SWKBD_BUTTON_RIGHT, ///< Right button (usually OK)
    +
    34  SWKBD_BUTTON_CONFIRM = SWKBD_BUTTON_RIGHT,
    +
    35  SWKBD_BUTTON_NONE, ///< No button (returned by swkbdInputText in special cases)
    +
    36 } SwkbdButton;
    +
    37 
    +
    38 /// Keyboard password modes.
    +
    39 typedef enum
    +
    40 {
    +
    41  SWKBD_PASSWORD_NONE = 0, ///< Characters are not concealed.
    +
    42  SWKBD_PASSWORD_HIDE, ///< Characters are concealed immediately.
    +
    43  SWKBD_PASSWORD_HIDE_DELAY, ///< Characters are concealed a second after they've been typed.
    + +
    45 
    +
    46 /// Keyboard input filtering flags.
    +
    47 enum
    +
    48 {
    +
    49  SWKBD_FILTER_DIGITS = BIT(0), ///< Disallow the use of more than a certain number of digits (0 or more)
    +
    50  SWKBD_FILTER_AT = BIT(1), ///< Disallow the use of the @ sign.
    +
    51  SWKBD_FILTER_PERCENT = BIT(2), ///< Disallow the use of the % sign.
    +
    52  SWKBD_FILTER_BACKSLASH = BIT(3), ///< Disallow the use of the \ sign.
    +
    53  SWKBD_FILTER_PROFANITY = BIT(4), ///< Disallow profanity using Nintendo's profanity filter.
    +
    54  SWKBD_FILTER_CALLBACK = BIT(5), ///< Use a callback in order to check the input.
    +
    55 };
    +
    56 
    +
    57 /// Keyboard features.
    +
    58 enum
    +
    59 {
    +
    60  SWKBD_PARENTAL = BIT(0), ///< Parental PIN mode.
    +
    61  SWKBD_DARKEN_TOP_SCREEN = BIT(1), ///< Darken the top screen when the keyboard is shown.
    +
    62  SWKBD_PREDICTIVE_INPUT = BIT(2), ///< Enable predictive input (necessary for Kanji input in JPN systems).
    +
    63  SWKBD_MULTILINE = BIT(3), ///< Enable multiline input.
    +
    64  SWKBD_FIXED_WIDTH = BIT(4), ///< Enable fixed-width mode.
    +
    65  SWKBD_ALLOW_HOME = BIT(5), ///< Allow the usage of the HOME button.
    +
    66  SWKBD_ALLOW_RESET = BIT(6), ///< Allow the usage of a software-reset combination.
    +
    67  SWKBD_ALLOW_POWER = BIT(7), ///< Allow the usage of the POWER button.
    +
    68  SWKBD_DEFAULT_QWERTY = BIT(9), ///< Default to the QWERTY page when the keyboard is shown.
    +
    69 };
    +
    70 
    +
    71 /// Keyboard filter callback return values.
    +
    72 typedef enum
    +
    73 {
    +
    74  SWKBD_CALLBACK_OK = 0, ///< Specifies that the input is valid.
    +
    75  SWKBD_CALLBACK_CLOSE, ///< Displays an error message, then closes the keyboard.
    +
    76  SWKBD_CALLBACK_CONTINUE, ///< Displays an error message and continues displaying the keyboard.
    + +
    78 
    +
    79 /// Keyboard return values.
    +
    80 typedef enum
    +
    81 {
    +
    82  SWKBD_NONE = -1, ///< Dummy/unused.
    +
    83  SWKBD_INVALID_INPUT = -2, ///< Invalid parameters to swkbd.
    +
    84  SWKBD_OUTOFMEM = -3, ///< Out of memory.
    +
    85 
    +
    86  SWKBD_D0_CLICK = 0, ///< The button was clicked in 1-button dialogs.
    +
    87  SWKBD_D1_CLICK0, ///< The left button was clicked in 2-button dialogs.
    +
    88  SWKBD_D1_CLICK1, ///< The right button was clicked in 2-button dialogs.
    +
    89  SWKBD_D2_CLICK0, ///< The left button was clicked in 3-button dialogs.
    +
    90  SWKBD_D2_CLICK1, ///< The middle button was clicked in 3-button dialogs.
    +
    91  SWKBD_D2_CLICK2, ///< The right button was clicked in 3-button dialogs.
    +
    92 
    +
    93  SWKBD_HOMEPRESSED = 10, ///< The HOME button was pressed.
    +
    94  SWKBD_RESETPRESSED, ///< The soft-reset key combination was pressed.
    +
    95  SWKBD_POWERPRESSED, ///< The POWER button was pressed.
    +
    96 
    +
    97  SWKBD_PARENTAL_OK = 20, ///< The parental PIN was verified successfully.
    +
    98  SWKBD_PARENTAL_FAIL, ///< The parental PIN was incorrect.
    +
    99 
    +
    100  SWKBD_BANNED_INPUT = 30, ///< The filter callback returned SWKBD_CALLBACK_CLOSE.
    +
    101 } SwkbdResult;
    +
    102 
    +
    103 /// Maximum dictionary word length, in UTF-16 code units.
    +
    104 #define SWKBD_MAX_WORD_LEN 40
    +
    105 /// Maximum button text length, in UTF-16 code units.
    +
    106 #define SWKBD_MAX_BUTTON_TEXT_LEN 16
    +
    107 /// Maximum hint text length, in UTF-16 code units.
    +
    108 #define SWKBD_MAX_HINT_TEXT_LEN 64
    +
    109 /// Maximum filter callback error message length, in UTF-16 code units.
    +
    110 #define SWKBD_MAX_CALLBACK_MSG_LEN 256
    +
    111 
    +
    112 /// Keyboard dictionary word for predictive input.
    +
    113 typedef struct
    +
    114 {
    +
    115  u16 reading[SWKBD_MAX_WORD_LEN+1]; ///< Reading of the word (that is, the string that needs to be typed).
    +
    116  u16 word[SWKBD_MAX_WORD_LEN+1]; ///< Spelling of the word.
    +
    117  u8 language; ///< Language the word applies to.
    +
    118  bool all_languages; ///< Specifies if the word applies to all languages.
    +
    119 } SwkbdDictWord;
    +
    120 
    +
    121 /// Keyboard filter callback function.
    +
    122 typedef SwkbdCallbackResult (* SwkbdCallbackFn)(void* user, const char** ppMessage, const char* text, size_t textlen);
    +
    123 /// Keyboard status data.
    +
    124 typedef struct { u32 data[0x11]; } SwkbdStatusData;
    +
    125 /// Keyboard predictive input learning data.
    +
    126 typedef struct { u32 data[0x291B]; } SwkbdLearningData;
    +
    127 
    +
    128 /// Internal libctru book-keeping structure for software keyboards.
    +
    129 typedef struct
    +
    130 {
    +
    131  const char* initial_text;
    +
    132  const SwkbdDictWord* dict;
    +
    133  SwkbdStatusData* status_data;
    +
    134  SwkbdLearningData* learning_data;
    +
    135  SwkbdCallbackFn callback;
    +
    136  void* callback_user;
    +
    137 } SwkbdExtra;
    +
    138 
    +
    139 /// Software keyboard parameter structure, it shouldn't be modified directly.
    +
    140 typedef struct
    +
    141 {
    +
    142  int type;
    +
    143  int num_buttons_m1;
    +
    144  int valid_input;
    +
    145  int password_mode;
    +
    146  int is_parental_screen;
    +
    147  int darken_top_screen;
    +
    148  u32 filter_flags;
    +
    149  u32 save_state_flags;
    +
    150  u16 max_text_len;
    +
    151  u16 dict_word_count;
    +
    152  u16 max_digits;
    +
    153  u16 button_text[3][SWKBD_MAX_BUTTON_TEXT_LEN+1];
    +
    154  u16 numpad_keys[2];
    +
    155  u16 hint_text[SWKBD_MAX_HINT_TEXT_LEN+1];
    +
    156  bool predictive_input;
    +
    157  bool multiline;
    +
    158  bool fixed_width;
    +
    159  bool allow_home;
    +
    160  bool allow_reset;
    +
    161  bool allow_power;
    +
    162  bool unknown; // XX: what is this supposed to do? "communicateWithOtherRegions"
    +
    163  bool default_qwerty;
    +
    164  bool button_submits_text[4];
    +
    165  u16 language; // XX: not working? supposedly 0 = use system language, CFG_Language+1 = pick language
    +
    166  int initial_text_offset;
    +
    167  int dict_offset;
    +
    168  int initial_status_offset;
    +
    169  int initial_learning_offset;
    +
    170  size_t shared_memory_size;
    +
    171  u32 version;
    +
    172  SwkbdResult result;
    +
    173  int status_offset;
    +
    174  int learning_offset;
    +
    175  int text_offset;
    +
    176  u16 text_length;
    +
    177  int callback_result;
    +
    178  u16 callback_msg[SWKBD_MAX_CALLBACK_MSG_LEN+1];
    +
    179  bool skip_at_check;
    +
    180  union
    +
    181  {
    +
    182  u8 reserved[171];
    +
    183  SwkbdExtra extra;
    +
    184  };
    +
    185 } SwkbdState;
    +
    186 
    +
    187 /**
    +
    188  * @brief Initializes software keyboard status.
    +
    189  * @param swkbd Pointer to swkbd state.
    +
    190  * @param type Keyboard type.
    +
    191  * @param numButtons Number of dialog buttons to display (1, 2 or 3).
    +
    192  * @param maxTextLength Maximum number of UTF-16 code units that input text can have (or -1 to let libctru use a big default).
    +
    193  */
    +
    194 void swkbdInit(SwkbdState* swkbd, SwkbdType type, int numButtons, int maxTextLength);
    +
    195 
    +
    196 /**
    +
    197  * @brief Configures password mode in a software keyboard.
    +
    198  * @param swkbd Pointer to swkbd state.
    +
    199  * @param mode Password mode.
    +
    200  */
    +
    201 static inline void swkbdSetPasswordMode(SwkbdState* swkbd, SwkbdPasswordMode mode)
    +
    202 {
    +
    203  swkbd->password_mode = mode;
    +
    204 }
    +
    205 
    +
    206 /**
    +
    207  * @brief Configures input validation in a software keyboard.
    +
    208  * @param swkbd Pointer to swkbd state.
    +
    209  * @param validInput Specifies which inputs are valid.
    +
    210  * @param filterFlags Bitmask specifying which characters are disallowed (filtered).
    +
    211  * @param maxDigits In case digits are disallowed, specifies how many digits are allowed at maximum in input strings (0 completely restricts digit input).
    +
    212  */
    +
    213 static inline void swkbdSetValidation(SwkbdState* swkbd, SwkbdValidInput validInput, u32 filterFlags, int maxDigits)
    +
    214 {
    +
    215  swkbd->valid_input = validInput;
    +
    216  swkbd->filter_flags = filterFlags;
    +
    217  swkbd->max_digits = (filterFlags & SWKBD_FILTER_DIGITS) ? maxDigits : 0;
    +
    218 }
    +
    219 
    +
    220 /**
    +
    221  * @brief Configures what characters will the two bottom keys in a numpad produce.
    +
    222  * @param swkbd Pointer to swkbd state.
    +
    223  * @param left Unicode codepoint produced by the leftmost key in the bottom row (0 hides the key).
    +
    224  * @param left Unicode codepoint produced by the rightmost key in the bottom row (0 hides the key).
    +
    225  */
    +
    226 static inline void swkbdSetNumpadKeys(SwkbdState* swkbd, int left, int right)
    +
    227 {
    +
    228  swkbd->numpad_keys[0] = left;
    +
    229  swkbd->numpad_keys[1] = right;
    +
    230 }
    +
    231 
    +
    232 /**
    +
    233  * @brief Specifies which special features are enabled in a software keyboard.
    +
    234  * @param swkbd Pointer to swkbd state.
    +
    235  * @param features Feature bitmask.
    +
    236  */
    +
    237 void swkbdSetFeatures(SwkbdState* swkbd, u32 features);
    +
    238 
    +
    239 /**
    +
    240  * @brief Sets the hint text of a software keyboard (that is, the help text that is displayed when the textbox is empty).
    +
    241  * @param swkbd Pointer to swkbd state.
    +
    242  * @param text Hint text.
    +
    243  */
    +
    244 void swkbdSetHintText(SwkbdState* swkbd, const char* text);
    +
    245 
    +
    246 /**
    +
    247  * @brief Configures a dialog button in a software keyboard.
    +
    248  * @param swkbd Pointer to swkbd state.
    +
    249  * @param button Specifies which button to configure.
    +
    250  * @param text Button text.
    +
    251  * @param submit Specifies whether pushing the button will submit the text or discard it.
    +
    252  */
    +
    253 void swkbdSetButton(SwkbdState* swkbd, SwkbdButton button, const char* text, bool submit);
    +
    254 
    +
    255 /**
    +
    256  * @brief Sets the initial text that a software keyboard will display on launch.
    +
    257  * @param swkbd Pointer to swkbd state.
    +
    258  * @param text Initial text.
    +
    259  */
    +
    260 void swkbdSetInitialText(SwkbdState* swkbd, const char* text);
    +
    261 
    +
    262 /**
    +
    263  * @brief Configures a word in a predictive dictionary for use with a software keyboard.
    +
    264  * @param word Pointer to dictionary word structure.
    +
    265  * @param reading Reading of the word, that is, the sequence of characters that need to be typed to trigger the word in the predictive input system.
    +
    266  * @param text Spelling of the word, that is, the actual characters that will be produced when the user decides to select the word.
    +
    267  */
    +
    268 void swkbdSetDictWord(SwkbdDictWord* word, const char* reading, const char* text);
    +
    269 
    +
    270 /**
    +
    271  * @brief Sets the custom word dictionary to be used with the predictive input system of a software keyboard.
    +
    272  * @param swkbd Pointer to swkbd state.
    +
    273  * @param dict Pointer to dictionary words.
    +
    274  * @param wordCount Number of words in the dictionary.
    +
    275  */
    +
    276 void swkbdSetDictionary(SwkbdState* swkbd, const SwkbdDictWord* dict, int wordCount);
    +
    277 
    +
    278 /**
    +
    279  * @brief Configures software keyboard internal status management.
    +
    280  * @param swkbd Pointer to swkbd state.
    +
    281  * @param data Pointer to internal status structure (can be in, out or both depending on the other parameters).
    +
    282  * @param in Specifies whether the data should be read from the structure when the keyboard is launched.
    +
    283  * @param out Specifies whether the data should be written to the structure when the keyboard is closed.
    +
    284  */
    +
    285 void swkbdSetStatusData(SwkbdState* swkbd, SwkbdStatusData* data, bool in, bool out);
    +
    286 
    +
    287 /**
    +
    288  * @brief Configures software keyboard predictive input learning data management.
    +
    289  * @param swkbd Pointer to swkbd state.
    +
    290  * @param data Pointer to learning data structure (can be in, out or both depending on the other parameters).
    +
    291  * @param in Specifies whether the data should be read from the structure when the keyboard is launched.
    +
    292  * @param out Specifies whether the data should be written to the structure when the keyboard is closed.
    +
    293  */
    +
    294 void swkbdSetLearningData(SwkbdState* swkbd, SwkbdLearningData* data, bool in, bool out);
    +
    295 
    +
    296 /**
    +
    297  * @brief Configures a custom function to be used to check the validity of input when it is submitted in a software keyboard.
    +
    298  * @param swkbd Pointer to swkbd state.
    +
    299  * @param callback Filter callback function.
    +
    300  * @param user Custom data to be passed to the callback function.
    +
    301  */
    +
    302 void swkbdSetFilterCallback(SwkbdState* swkbd, SwkbdCallbackFn callback, void* user);
    +
    303 
    +
    304 /**
    +
    305  * @brief Launches a software keyboard in order to input text.
    +
    306  * @param swkbd Pointer to swkbd state.
    +
    307  * @param buf Pointer to output buffer which will hold the inputted text.
    +
    308  * @param bufsize Maximum number of UTF-8 code units that the buffer can hold (including null terminator).
    +
    309  * @return The identifier of the dialog button that was pressed, or SWKBD_BUTTON_NONE if a different condition was triggered - in that case use swkbdGetResult to check the condition.
    +
    310  */
    +
    311 SwkbdButton swkbdInputText(SwkbdState* swkbd, char* buf, size_t bufsize);
    +
    312 
    +
    313 /**
    +
    314  * @brief Retrieves the result condition of a software keyboard after it has been used.
    +
    315  * @param swkbd Pointer to swkbd state.
    +
    316  * @return The result value.
    +
    317  */
    +
    318 static inline SwkbdResult swkbdGetResult(SwkbdState* swkbd)
    +
    319 {
    +
    320  return swkbd->result;
    +
    321 }
    +
    Keyboard dictionary word for predictive input.
    Definition: swkbd.h:114
    +
    bool all_languages
    Specifies if the word applies to all languages.
    Definition: swkbd.h:118
    +
    u8 language
    Language the word applies to.
    Definition: swkbd.h:117
    +
    Internal libctru book-keeping structure for software keyboards.
    Definition: swkbd.h:130
    +
    Keyboard predictive input learning data.
    Definition: swkbd.h:126
    +
    Software keyboard parameter structure, it shouldn't be modified directly.
    Definition: swkbd.h:141
    +
    Keyboard status data.
    Definition: swkbd.h:124
    +
    void swkbdSetButton(SwkbdState *swkbd, SwkbdButton button, const char *text, bool submit)
    Configures a dialog button in a software keyboard.
    +
    SwkbdCallbackResult
    Keyboard filter callback return values.
    Definition: swkbd.h:73
    +
    @ SWKBD_CALLBACK_CLOSE
    Displays an error message, then closes the keyboard.
    Definition: swkbd.h:75
    +
    @ SWKBD_CALLBACK_OK
    Specifies that the input is valid.
    Definition: swkbd.h:74
    +
    @ SWKBD_CALLBACK_CONTINUE
    Displays an error message and continues displaying the keyboard.
    Definition: swkbd.h:76
    +
    #define SWKBD_MAX_CALLBACK_MSG_LEN
    Maximum filter callback error message length, in UTF-16 code units.
    Definition: swkbd.h:110
    +
    void swkbdSetInitialText(SwkbdState *swkbd, const char *text)
    Sets the initial text that a software keyboard will display on launch.
    +
    SwkbdButton swkbdInputText(SwkbdState *swkbd, char *buf, size_t bufsize)
    Launches a software keyboard in order to input text.
    +
    #define SWKBD_MAX_HINT_TEXT_LEN
    Maximum hint text length, in UTF-16 code units.
    Definition: swkbd.h:108
    +
    void swkbdSetFilterCallback(SwkbdState *swkbd, SwkbdCallbackFn callback, void *user)
    Configures a custom function to be used to check the validity of input when it is submitted in a soft...
    +
    void swkbdSetLearningData(SwkbdState *swkbd, SwkbdLearningData *data, bool in, bool out)
    Configures software keyboard predictive input learning data management.
    +
    void swkbdSetFeatures(SwkbdState *swkbd, u32 features)
    Specifies which special features are enabled in a software keyboard.
    +
    void swkbdSetDictWord(SwkbdDictWord *word, const char *reading, const char *text)
    Configures a word in a predictive dictionary for use with a software keyboard.
    +
    SwkbdPasswordMode
    Keyboard password modes.
    Definition: swkbd.h:40
    +
    @ SWKBD_PASSWORD_HIDE
    Characters are concealed immediately.
    Definition: swkbd.h:42
    +
    @ SWKBD_PASSWORD_HIDE_DELAY
    Characters are concealed a second after they've been typed.
    Definition: swkbd.h:43
    +
    @ SWKBD_PASSWORD_NONE
    Characters are not concealed.
    Definition: swkbd.h:41
    +
    static void swkbdSetPasswordMode(SwkbdState *swkbd, SwkbdPasswordMode mode)
    Configures password mode in a software keyboard.
    Definition: swkbd.h:201
    +
    SwkbdButton
    Keyboard dialog buttons.
    Definition: swkbd.h:30
    +
    @ SWKBD_BUTTON_LEFT
    Left button (usually Cancel)
    Definition: swkbd.h:31
    +
    @ SWKBD_BUTTON_RIGHT
    Right button (usually OK)
    Definition: swkbd.h:33
    +
    @ SWKBD_BUTTON_MIDDLE
    Middle button (usually I Forgot)
    Definition: swkbd.h:32
    +
    @ SWKBD_BUTTON_NONE
    No button (returned by swkbdInputText in special cases)
    Definition: swkbd.h:35
    +
    void swkbdSetStatusData(SwkbdState *swkbd, SwkbdStatusData *data, bool in, bool out)
    Configures software keyboard internal status management.
    +
    static void swkbdSetValidation(SwkbdState *swkbd, SwkbdValidInput validInput, u32 filterFlags, int maxDigits)
    Configures input validation in a software keyboard.
    Definition: swkbd.h:213
    +
    @ SWKBD_FILTER_PROFANITY
    Disallow profanity using Nintendo's profanity filter.
    Definition: swkbd.h:53
    +
    @ SWKBD_FILTER_AT
    Disallow the use of the @ sign.
    Definition: swkbd.h:50
    +
    @ SWKBD_FILTER_CALLBACK
    Use a callback in order to check the input.
    Definition: swkbd.h:54
    +
    @ SWKBD_FILTER_BACKSLASH
    Disallow the use of the \ sign.
    Definition: swkbd.h:52
    +
    @ SWKBD_FILTER_DIGITS
    Disallow the use of more than a certain number of digits (0 or more)
    Definition: swkbd.h:49
    +
    @ SWKBD_FILTER_PERCENT
    Disallow the use of the % sign.
    Definition: swkbd.h:51
    +
    SwkbdValidInput
    Accepted input types.
    Definition: swkbd.h:19
    +
    @ SWKBD_NOTBLANK
    Blank inputs (consisting solely of whitespace) are not accepted, but empty inputs are.
    Definition: swkbd.h:24
    +
    @ SWKBD_NOTEMPTY_NOTBLANK
    Empty or blank inputs (consisting solely of whitespace) are not accepted.
    Definition: swkbd.h:22
    +
    @ SWKBD_FIXEDLEN
    The input must have a fixed length (specified by maxTextLength in swkbdInit).
    Definition: swkbd.h:25
    +
    @ SWKBD_NOTEMPTY
    Empty inputs are not accepted.
    Definition: swkbd.h:21
    +
    @ SWKBD_ANYTHING
    All inputs are accepted.
    Definition: swkbd.h:20
    +
    static SwkbdResult swkbdGetResult(SwkbdState *swkbd)
    Retrieves the result condition of a software keyboard after it has been used.
    Definition: swkbd.h:318
    +
    SwkbdResult
    Keyboard return values.
    Definition: swkbd.h:81
    +
    @ SWKBD_D2_CLICK0
    The left button was clicked in 3-button dialogs.
    Definition: swkbd.h:89
    +
    @ SWKBD_D2_CLICK2
    The right button was clicked in 3-button dialogs.
    Definition: swkbd.h:91
    +
    @ SWKBD_PARENTAL_OK
    The parental PIN was verified successfully.
    Definition: swkbd.h:97
    +
    @ SWKBD_BANNED_INPUT
    The filter callback returned SWKBD_CALLBACK_CLOSE.
    Definition: swkbd.h:100
    +
    @ SWKBD_NONE
    Dummy/unused.
    Definition: swkbd.h:82
    +
    @ SWKBD_D0_CLICK
    The button was clicked in 1-button dialogs.
    Definition: swkbd.h:86
    +
    @ SWKBD_RESETPRESSED
    The soft-reset key combination was pressed.
    Definition: swkbd.h:94
    +
    @ SWKBD_D2_CLICK1
    The middle button was clicked in 3-button dialogs.
    Definition: swkbd.h:90
    +
    @ SWKBD_POWERPRESSED
    The POWER button was pressed.
    Definition: swkbd.h:95
    +
    @ SWKBD_OUTOFMEM
    Out of memory.
    Definition: swkbd.h:84
    +
    @ SWKBD_HOMEPRESSED
    The HOME button was pressed.
    Definition: swkbd.h:93
    +
    @ SWKBD_INVALID_INPUT
    Invalid parameters to swkbd.
    Definition: swkbd.h:83
    +
    @ SWKBD_D1_CLICK1
    The right button was clicked in 2-button dialogs.
    Definition: swkbd.h:88
    +
    @ SWKBD_D1_CLICK0
    The left button was clicked in 2-button dialogs.
    Definition: swkbd.h:87
    +
    @ SWKBD_PARENTAL_FAIL
    The parental PIN was incorrect.
    Definition: swkbd.h:98
    +
    SwkbdCallbackResult(* SwkbdCallbackFn)(void *user, const char **ppMessage, const char *text, size_t textlen)
    Keyboard filter callback function.
    Definition: swkbd.h:122
    +
    #define SWKBD_MAX_BUTTON_TEXT_LEN
    Maximum button text length, in UTF-16 code units.
    Definition: swkbd.h:106
    +
    void swkbdSetHintText(SwkbdState *swkbd, const char *text)
    Sets the hint text of a software keyboard (that is, the help text that is displayed when the textbox ...
    +
    @ SWKBD_ALLOW_POWER
    Allow the usage of the POWER button.
    Definition: swkbd.h:67
    +
    @ SWKBD_PARENTAL
    Parental PIN mode.
    Definition: swkbd.h:60
    +
    @ SWKBD_ALLOW_RESET
    Allow the usage of a software-reset combination.
    Definition: swkbd.h:66
    +
    @ SWKBD_ALLOW_HOME
    Allow the usage of the HOME button.
    Definition: swkbd.h:65
    +
    @ SWKBD_FIXED_WIDTH
    Enable fixed-width mode.
    Definition: swkbd.h:64
    +
    @ SWKBD_MULTILINE
    Enable multiline input.
    Definition: swkbd.h:63
    +
    @ SWKBD_DARKEN_TOP_SCREEN
    Darken the top screen when the keyboard is shown.
    Definition: swkbd.h:61
    +
    @ SWKBD_DEFAULT_QWERTY
    Default to the QWERTY page when the keyboard is shown.
    Definition: swkbd.h:68
    +
    @ SWKBD_PREDICTIVE_INPUT
    Enable predictive input (necessary for Kanji input in JPN systems).
    Definition: swkbd.h:62
    +
    void swkbdInit(SwkbdState *swkbd, SwkbdType type, int numButtons, int maxTextLength)
    Initializes software keyboard status.
    +
    static void swkbdSetNumpadKeys(SwkbdState *swkbd, int left, int right)
    Configures what characters will the two bottom keys in a numpad produce.
    Definition: swkbd.h:226
    +
    SwkbdType
    Keyboard types.
    Definition: swkbd.h:10
    +
    @ SWKBD_TYPE_NORMAL
    Normal keyboard with several pages (QWERTY/accents/symbol/mobile)
    Definition: swkbd.h:11
    +
    @ SWKBD_TYPE_WESTERN
    On JPN systems, a text keyboard without Japanese input capabilities, otherwise same as SWKBD_TYPE_NOR...
    Definition: swkbd.h:14
    +
    @ SWKBD_TYPE_NUMPAD
    Number pad.
    Definition: swkbd.h:13
    +
    @ SWKBD_TYPE_QWERTY
    QWERTY keyboard only.
    Definition: swkbd.h:12
    +
    void swkbdSetDictionary(SwkbdState *swkbd, const SwkbdDictWord *dict, int wordCount)
    Sets the custom word dictionary to be used with the predictive input system of a software keyboard.
    +
    #define SWKBD_MAX_WORD_LEN
    Maximum dictionary word length, in UTF-16 code units.
    Definition: swkbd.h:104
    +
    Various system types.
    +
    #define BIT(n)
    Creates a bitmask from a bit number.
    Definition: types.h:47
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    uint16_t u16
    16-bit unsigned integer
    Definition: types.h:22
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/sync_off.png b/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..3b443fc62892114406e3d399421b2a881b897acc GIT binary patch literal 853 zcmV-b1FHOqP)oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sTxLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* literal 0 HcmV?d00001 diff --git a/sync_on.png b/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76 GIT binary patch literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 literal 0 HcmV?d00001 diff --git a/synchronization_8h.html b/synchronization_8h.html new file mode 100644 index 000000000..40e16695b --- /dev/null +++ b/synchronization_8h.html @@ -0,0 +1,1397 @@ + + + + + + + +libctru: include/3ds/synchronization.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    synchronization.h File Reference
    +
    +
    + +

    Provides synchronization locks. +More...

    +
    #include <sys/lock.h>
    +#include <3ds/svc.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + +

    +Data Structures

    struct  LightEvent
     A light event. More...
     
    struct  LightSemaphore
     A light semaphore. More...
     
    + + + + + + + + + + + + + + + + +

    +Macros

    +#define AtomicIncrement(ptr)   __atomic_add_fetch((u32*)(ptr), 1, __ATOMIC_SEQ_CST)
     Performs an atomic pre-increment operation.
     
    +#define AtomicDecrement(ptr)   __atomic_sub_fetch((u32*)(ptr), 1, __ATOMIC_SEQ_CST)
     Performs an atomic pre-decrement operation.
     
    +#define AtomicPostIncrement(ptr)   __atomic_fetch_add((u32*)(ptr), 1, __ATOMIC_SEQ_CST)
     Performs an atomic post-increment operation.
     
    +#define AtomicPostDecrement(ptr)   __atomic_fetch_sub((u32*)(ptr), 1, __ATOMIC_SEQ_CST)
     Performs an atomic post-decrement operation.
     
    +#define AtomicSwap(ptr, value)   __atomic_exchange_n((u32*)(ptr), (value), __ATOMIC_SEQ_CST)
     Performs an atomic swap operation.
     
    + + + + + + + + + + +

    +Typedefs

    +typedef _LOCK_T LightLock
     A light lock.
     
    +typedef _LOCK_RECURSIVE_T RecursiveLock
     A recursive lock.
     
    +typedef s32 CondVar
     A condition variable.
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    +static void __dsb (void)
     Performs a Data Synchronization Barrier operation.
     
    +static void __dmb (void)
     Performs a Data Memory Barrier operation.
     
    +static void __isb (void)
     Performs an Instruction Synchronization Barrier (officially "flush prefetch buffer") operation.
     
    +static void __clrex (void)
     Performs a clrex operation.
     
    static s32 __ldrex (s32 *addr)
     Performs a ldrex operation. More...
     
    static bool __strex (s32 *addr, s32 val)
     Performs a strex operation. More...
     
    static u16 __ldrexh (u16 *addr)
     Performs a ldrexh operation. More...
     
    static bool __strexh (u16 *addr, u16 val)
     Performs a strexh operation. More...
     
    static u8 __ldrexb (u8 *addr)
     Performs a ldrexb operation. More...
     
    static bool __strexb (u8 *addr, u8 val)
     Performs a strexb operation. More...
     
    Result syncArbitrateAddress (s32 *addr, ArbitrationType type, s32 value)
     Function used to implement user-mode synchronization primitives. More...
     
    Result syncArbitrateAddressWithTimeout (s32 *addr, ArbitrationType type, s32 value, s64 timeout_ns)
     Function used to implement user-mode synchronization primitives (with timeout). More...
     
    void LightLock_Init (LightLock *lock)
     Initializes a light lock. More...
     
    void LightLock_Lock (LightLock *lock)
     Locks a light lock. More...
     
    int LightLock_TryLock (LightLock *lock)
     Attempts to lock a light lock. More...
     
    void LightLock_Unlock (LightLock *lock)
     Unlocks a light lock. More...
     
    void RecursiveLock_Init (RecursiveLock *lock)
     Initializes a recursive lock. More...
     
    void RecursiveLock_Lock (RecursiveLock *lock)
     Locks a recursive lock. More...
     
    int RecursiveLock_TryLock (RecursiveLock *lock)
     Attempts to lock a recursive lock. More...
     
    void RecursiveLock_Unlock (RecursiveLock *lock)
     Unlocks a recursive lock. More...
     
    void CondVar_Init (CondVar *cv)
     Initializes a condition variable. More...
     
    void CondVar_Wait (CondVar *cv, LightLock *lock)
     Waits on a condition variable. More...
     
    int CondVar_WaitTimeout (CondVar *cv, LightLock *lock, s64 timeout_ns)
     Waits on a condition variable with a timeout. More...
     
    void CondVar_WakeUp (CondVar *cv, s32 num_threads)
     Wakes up threads waiting on a condition variable. More...
     
    static void CondVar_Signal (CondVar *cv)
     Wakes up a single thread waiting on a condition variable. More...
     
    static void CondVar_Broadcast (CondVar *cv)
     Wakes up all threads waiting on a condition variable. More...
     
    void LightEvent_Init (LightEvent *event, ResetType reset_type)
     Initializes a light event. More...
     
    void LightEvent_Clear (LightEvent *event)
     Clears a light event. More...
     
    void LightEvent_Pulse (LightEvent *event)
     Wakes up threads waiting on a sticky light event without signaling it. More...
     
    void LightEvent_Signal (LightEvent *event)
     Signals a light event, waking up threads waiting on it. More...
     
    int LightEvent_TryWait (LightEvent *event)
     Attempts to wait on a light event. More...
     
    void LightEvent_Wait (LightEvent *event)
     Waits on a light event. More...
     
    int LightEvent_WaitTimeout (LightEvent *event, s64 timeout_ns)
     Waits on a light event until either the event is signaled or the timeout is reached. More...
     
    void LightSemaphore_Init (LightSemaphore *semaphore, s16 initial_count, s16 max_count)
     Initializes a light semaphore. More...
     
    void LightSemaphore_Acquire (LightSemaphore *semaphore, s32 count)
     Acquires a light semaphore. More...
     
    int LightSemaphore_TryAcquire (LightSemaphore *semaphore, s32 count)
     Attempts to acquire a light semaphore. More...
     
    void LightSemaphore_Release (LightSemaphore *semaphore, s32 count)
     Releases a light semaphore. More...
     
    +

    Detailed Description

    +

    Provides synchronization locks.

    +

    Function Documentation

    + +

    ◆ __ldrex()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static s32 __ldrex (s32addr)
    +
    +inlinestatic
    +
    + +

    Performs a ldrex operation.

    +
    Parameters
    + + +
    addrAddress to perform the operation on.
    +
    +
    +
    Returns
    The resulting value.
    + +
    +
    + +

    ◆ __ldrexb()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static u8 __ldrexb (u8addr)
    +
    +inlinestatic
    +
    + +

    Performs a ldrexb operation.

    +
    Parameters
    + + +
    addrAddress to perform the operation on.
    +
    +
    +
    Returns
    The resulting value.
    + +
    +
    + +

    ◆ __ldrexh()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static u16 __ldrexh (u16addr)
    +
    +inlinestatic
    +
    + +

    Performs a ldrexh operation.

    +
    Parameters
    + + +
    addrAddress to perform the operation on.
    +
    +
    +
    Returns
    The resulting value.
    + +
    +
    + +

    ◆ __strex()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static bool __strex (s32addr,
    s32 val 
    )
    +
    +inlinestatic
    +
    + +

    Performs a strex operation.

    +
    Parameters
    + + + +
    addrAddress to perform the operation on.
    valValue to store.
    +
    +
    +
    Returns
    Whether the operation was successful.
    + +
    +
    + +

    ◆ __strexb()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static bool __strexb (u8addr,
    u8 val 
    )
    +
    +inlinestatic
    +
    + +

    Performs a strexb operation.

    +
    Parameters
    + + + +
    addrAddress to perform the operation on.
    valValue to store.
    +
    +
    +
    Returns
    Whether the operation was successful.
    + +
    +
    + +

    ◆ __strexh()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static bool __strexh (u16addr,
    u16 val 
    )
    +
    +inlinestatic
    +
    + +

    Performs a strexh operation.

    +
    Parameters
    + + + +
    addrAddress to perform the operation on.
    valValue to store.
    +
    +
    +
    Returns
    Whether the operation was successful.
    + +
    +
    + +

    ◆ CondVar_Broadcast()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static void CondVar_Broadcast (CondVarcv)
    +
    +inlinestatic
    +
    + +

    Wakes up all threads waiting on a condition variable.

    +
    Parameters
    + + +
    cvPointer to the condition variable.
    +
    +
    + +
    +
    + +

    ◆ CondVar_Init()

    + +
    +
    + + + + + + + + +
    void CondVar_Init (CondVarcv)
    +
    + +

    Initializes a condition variable.

    +
    Parameters
    + + +
    cvPointer to the condition variable.
    +
    +
    + +
    +
    + +

    ◆ CondVar_Signal()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static void CondVar_Signal (CondVarcv)
    +
    +inlinestatic
    +
    + +

    Wakes up a single thread waiting on a condition variable.

    +
    Parameters
    + + +
    cvPointer to the condition variable.
    +
    +
    + +
    +
    + +

    ◆ CondVar_Wait()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void CondVar_Wait (CondVarcv,
    LightLocklock 
    )
    +
    + +

    Waits on a condition variable.

    +
    Parameters
    + + + +
    cvPointer to the condition variable.
    lockPointer to the lock to atomically unlock/relock during the wait.
    +
    +
    + +
    +
    + +

    ◆ CondVar_WaitTimeout()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    int CondVar_WaitTimeout (CondVarcv,
    LightLocklock,
    s64 timeout_ns 
    )
    +
    + +

    Waits on a condition variable with a timeout.

    +
    Parameters
    + + + + +
    cvPointer to the condition variable.
    lockPointer to the lock to atomically unlock/relock during the wait.
    timeout_nsTimeout in nanoseconds.
    +
    +
    +
    Returns
    Zero on success, non-zero on failure.
    + +
    +
    + +

    ◆ CondVar_WakeUp()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void CondVar_WakeUp (CondVarcv,
    s32 num_threads 
    )
    +
    + +

    Wakes up threads waiting on a condition variable.

    +
    Parameters
    + + + +
    cvPointer to the condition variable.
    num_threadsMaximum number of threads to wake up (or ARBITRATION_SIGNAL_ALL to wake them all).
    +
    +
    + +
    +
    + +

    ◆ LightEvent_Clear()

    + +
    +
    + + + + + + + + +
    void LightEvent_Clear (LightEventevent)
    +
    + +

    Clears a light event.

    +
    Parameters
    + + +
    eventPointer to the event.
    +
    +
    + +
    +
    + +

    ◆ LightEvent_Init()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void LightEvent_Init (LightEventevent,
    ResetType reset_type 
    )
    +
    + +

    Initializes a light event.

    +
    Parameters
    + + + +
    eventPointer to the event.
    reset_typeType of reset the event uses (RESET_ONESHOT/RESET_STICKY).
    +
    +
    + +
    +
    + +

    ◆ LightEvent_Pulse()

    + +
    +
    + + + + + + + + +
    void LightEvent_Pulse (LightEventevent)
    +
    + +

    Wakes up threads waiting on a sticky light event without signaling it.

    +

    If the event had been signaled before, it is cleared instead.

    Parameters
    + + +
    eventPointer to the event.
    +
    +
    + +
    +
    + +

    ◆ LightEvent_Signal()

    + +
    +
    + + + + + + + + +
    void LightEvent_Signal (LightEventevent)
    +
    + +

    Signals a light event, waking up threads waiting on it.

    +
    Parameters
    + + +
    eventPointer to the event.
    +
    +
    + +
    +
    + +

    ◆ LightEvent_TryWait()

    + +
    +
    + + + + + + + + +
    int LightEvent_TryWait (LightEventevent)
    +
    + +

    Attempts to wait on a light event.

    +
    Parameters
    + + +
    eventPointer to the event.
    +
    +
    +
    Returns
    Non-zero if the event was signaled, zero otherwise.
    + +
    +
    + +

    ◆ LightEvent_Wait()

    + +
    +
    + + + + + + + + +
    void LightEvent_Wait (LightEventevent)
    +
    + +

    Waits on a light event.

    +
    Parameters
    + + +
    eventPointer to the event.
    +
    +
    + +
    +
    + +

    ◆ LightEvent_WaitTimeout()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int LightEvent_WaitTimeout (LightEventevent,
    s64 timeout_ns 
    )
    +
    + +

    Waits on a light event until either the event is signaled or the timeout is reached.

    +
    Parameters
    + + + +
    eventPointer to the event.
    timeout_nsTimeout in nanoseconds.
    +
    +
    +
    Returns
    Non-zero on timeout, zero otherwise.
    + +
    +
    + +

    ◆ LightLock_Init()

    + +
    +
    + + + + + + + + +
    void LightLock_Init (LightLocklock)
    +
    + +

    Initializes a light lock.

    +
    Parameters
    + + +
    lockPointer to the lock.
    +
    +
    + +
    +
    + +

    ◆ LightLock_Lock()

    + +
    +
    + + + + + + + + +
    void LightLock_Lock (LightLocklock)
    +
    + +

    Locks a light lock.

    +
    Parameters
    + + +
    lockPointer to the lock.
    +
    +
    + +
    +
    + +

    ◆ LightLock_TryLock()

    + +
    +
    + + + + + + + + +
    int LightLock_TryLock (LightLocklock)
    +
    + +

    Attempts to lock a light lock.

    +
    Parameters
    + + +
    lockPointer to the lock.
    +
    +
    +
    Returns
    Zero on success, non-zero on failure.
    + +
    +
    + +

    ◆ LightLock_Unlock()

    + +
    +
    + + + + + + + + +
    void LightLock_Unlock (LightLocklock)
    +
    + +

    Unlocks a light lock.

    +
    Parameters
    + + +
    lockPointer to the lock.
    +
    +
    + +
    +
    + +

    ◆ LightSemaphore_Acquire()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void LightSemaphore_Acquire (LightSemaphoresemaphore,
    s32 count 
    )
    +
    + +

    Acquires a light semaphore.

    +
    Parameters
    + + + +
    semaphorePointer to the semaphore.
    countAcquire count
    +
    +
    + +
    +
    + +

    ◆ LightSemaphore_Init()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void LightSemaphore_Init (LightSemaphoresemaphore,
    s16 initial_count,
    s16 max_count 
    )
    +
    + +

    Initializes a light semaphore.

    +
    Parameters
    + + + + +
    eventPointer to the semaphore.
    max_countInitial count of the semaphore.
    max_countMaximum count of the semaphore.
    +
    +
    + +
    +
    + +

    ◆ LightSemaphore_Release()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void LightSemaphore_Release (LightSemaphoresemaphore,
    s32 count 
    )
    +
    + +

    Releases a light semaphore.

    +
    Parameters
    + + + +
    semaphorePointer to the semaphore.
    countRelease count
    +
    +
    + +
    +
    + +

    ◆ LightSemaphore_TryAcquire()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    int LightSemaphore_TryAcquire (LightSemaphoresemaphore,
    s32 count 
    )
    +
    + +

    Attempts to acquire a light semaphore.

    +
    Parameters
    + + + +
    semaphorePointer to the semaphore.
    countAcquire count
    +
    +
    +
    Returns
    Zero on success, non-zero on failure
    + +
    +
    + +

    ◆ RecursiveLock_Init()

    + +
    +
    + + + + + + + + +
    void RecursiveLock_Init (RecursiveLocklock)
    +
    + +

    Initializes a recursive lock.

    +
    Parameters
    + + +
    lockPointer to the lock.
    +
    +
    + +
    +
    + +

    ◆ RecursiveLock_Lock()

    + +
    +
    + + + + + + + + +
    void RecursiveLock_Lock (RecursiveLocklock)
    +
    + +

    Locks a recursive lock.

    +
    Parameters
    + + +
    lockPointer to the lock.
    +
    +
    + +
    +
    + +

    ◆ RecursiveLock_TryLock()

    + +
    +
    + + + + + + + + +
    int RecursiveLock_TryLock (RecursiveLocklock)
    +
    + +

    Attempts to lock a recursive lock.

    +
    Parameters
    + + +
    lockPointer to the lock.
    +
    +
    +
    Returns
    Zero on success, non-zero on failure.
    + +
    +
    + +

    ◆ RecursiveLock_Unlock()

    + +
    +
    + + + + + + + + +
    void RecursiveLock_Unlock (RecursiveLocklock)
    +
    + +

    Unlocks a recursive lock.

    +
    Parameters
    + + +
    lockPointer to the lock.
    +
    +
    + +
    +
    + +

    ◆ syncArbitrateAddress()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result syncArbitrateAddress (s32addr,
    ArbitrationType type,
    s32 value 
    )
    +
    + +

    Function used to implement user-mode synchronization primitives.

    +
    Parameters
    + + + + +
    addrPointer to a signed 32-bit value whose address will be used to identify waiting threads.
    typeType of action to be performed by the arbiter
    valueNumber of threads to signal if using ARBITRATION_SIGNAL, or the value used for comparison.
    +
    +
    +

    This will perform an arbitration based on #type. The comparisons are done between #value and the value at the address #addr.

    +
    s32 val=0;
    +
    // Does *nothing* since val >= 0
    + +
    @ ARBITRATION_WAIT_IF_LESS_THAN
    If the memory at the address is strictly lower than #value, then wait for signal.
    Definition: svc.h:90
    +
    Result syncArbitrateAddress(s32 *addr, ArbitrationType type, s32 value)
    Function used to implement user-mode synchronization primitives.
    +
    int32_t s32
    32-bit signed integer
    Definition: types.h:28
    +
    Note
    Usage of this function entails an implicit Data Memory Barrier (dmb).
    + +
    +
    + +

    ◆ syncArbitrateAddressWithTimeout()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result syncArbitrateAddressWithTimeout (s32addr,
    ArbitrationType type,
    s32 value,
    s64 timeout_ns 
    )
    +
    + +

    Function used to implement user-mode synchronization primitives (with timeout).

    +
    Parameters
    + + + + +
    addrPointer to a signed 32-bit value whose address will be used to identify waiting threads.
    typeType of action to be performed by the arbiter (must use ARBITRATION_WAIT_IF_LESS_THAN_TIMEOUT or ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN_TIMEOUT)
    valueNumber of threads to signal if using ARBITRATION_SIGNAL, or the value used for comparison.
    +
    +
    +

    This will perform an arbitration based on #type. The comparisons are done between #value and the value at the address #addr.

    +
    s32 val=0;
    +
    // Thread will wait for a signal or wake up after 10000000 nanoseconds because val < 1.
    + +
    @ ARBITRATION_WAIT_IF_LESS_THAN_TIMEOUT
    If the memory at the address is strictly lower than #value, then wait for signal or timeout.
    Definition: svc.h:92
    +
    Result syncArbitrateAddressWithTimeout(s32 *addr, ArbitrationType type, s32 value, s64 timeout_ns)
    Function used to implement user-mode synchronization primitives (with timeout).
    +
    Note
    Usage of this function entails an implicit Data Memory Barrier (dmb).
    + +
    +
    +
    + + + + diff --git a/synchronization_8h_source.html b/synchronization_8h_source.html new file mode 100644 index 000000000..dad98b0bb --- /dev/null +++ b/synchronization_8h_source.html @@ -0,0 +1,486 @@ + + + + + + + +libctru: include/3ds/synchronization.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    synchronization.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file synchronization.h
    +
    3  * @brief Provides synchronization locks.
    +
    4  */
    +
    5 #pragma once
    +
    6 #include <sys/lock.h>
    +
    7 #include <3ds/svc.h>
    +
    8 
    +
    9 /// A light lock.
    +
    10 typedef _LOCK_T LightLock;
    +
    11 
    +
    12 /// A recursive lock.
    +
    13 typedef _LOCK_RECURSIVE_T RecursiveLock;
    +
    14 
    +
    15 /// A condition variable.
    +
    16 typedef s32 CondVar;
    +
    17 
    +
    18 /// A light event.
    +
    19 typedef struct
    +
    20 {
    +
    21  s32 state; ///< State of the event: -2=cleared sticky, -1=cleared oneshot, 0=signaled oneshot, 1=signaled sticky
    +
    22  LightLock lock; ///< Lock used for sticky timer operation
    +
    23 } LightEvent;
    +
    24 
    +
    25 /// A light semaphore.
    +
    26 typedef struct
    +
    27 {
    +
    28  s32 current_count; ///< The current release count of the semaphore
    +
    29  s16 num_threads_acq; ///< Number of threads concurrently acquiring the semaphore
    +
    30  s16 max_count; ///< The maximum release count of the semaphore
    + +
    32 
    +
    33 /// Performs a Data Synchronization Barrier operation.
    +
    34 static inline void __dsb(void)
    +
    35 {
    +
    36  __asm__ __volatile__("mcr p15, 0, %[val], c7, c10, 4" :: [val] "r" (0) : "memory");
    +
    37 }
    +
    38 
    +
    39 /// Performs a Data Memory Barrier operation.
    +
    40 static inline void __dmb(void)
    +
    41 {
    +
    42  __asm__ __volatile__("mcr p15, 0, %[val], c7, c10, 5" :: [val] "r" (0) : "memory");
    +
    43 }
    +
    44 
    +
    45 /// Performs an Instruction Synchronization Barrier (officially "flush prefetch buffer") operation.
    +
    46 static inline void __isb(void)
    +
    47 {
    +
    48  __asm__ __volatile__("mcr p15, 0, %[val], c7, c5, 4" :: [val] "r" (0) : "memory");
    +
    49 }
    +
    50 
    +
    51 /// Performs a clrex operation.
    +
    52 static inline void __clrex(void)
    +
    53 {
    +
    54  __asm__ __volatile__("clrex" ::: "memory");
    +
    55 }
    +
    56 
    +
    57 /**
    +
    58  * @brief Performs a ldrex operation.
    +
    59  * @param addr Address to perform the operation on.
    +
    60  * @return The resulting value.
    +
    61  */
    +
    62 static inline s32 __ldrex(s32* addr)
    +
    63 {
    +
    64  s32 val;
    +
    65  __asm__ __volatile__("ldrex %[val], %[addr]" : [val] "=r" (val) : [addr] "Q" (*addr));
    +
    66  return val;
    +
    67 }
    +
    68 
    +
    69 /**
    +
    70  * @brief Performs a strex operation.
    +
    71  * @param addr Address to perform the operation on.
    +
    72  * @param val Value to store.
    +
    73  * @return Whether the operation was successful.
    +
    74  */
    +
    75 static inline bool __strex(s32* addr, s32 val)
    +
    76 {
    +
    77  bool res;
    +
    78  __asm__ __volatile__("strex %[res], %[val], %[addr]" : [res] "=&r" (res) : [val] "r" (val), [addr] "Q" (*addr));
    +
    79  return res;
    +
    80 }
    +
    81 
    +
    82 /**
    +
    83  * @brief Performs a ldrexh operation.
    +
    84  * @param addr Address to perform the operation on.
    +
    85  * @return The resulting value.
    +
    86  */
    +
    87 static inline u16 __ldrexh(u16* addr)
    +
    88 {
    +
    89  u16 val;
    +
    90  __asm__ __volatile__("ldrexh %[val], %[addr]" : [val] "=r" (val) : [addr] "Q" (*addr));
    +
    91  return val;
    +
    92 }
    +
    93 
    +
    94 /**
    +
    95  * @brief Performs a strexh operation.
    +
    96  * @param addr Address to perform the operation on.
    +
    97  * @param val Value to store.
    +
    98  * @return Whether the operation was successful.
    +
    99  */
    +
    100 static inline bool __strexh(u16* addr, u16 val)
    +
    101 {
    +
    102  bool res;
    +
    103  __asm__ __volatile__("strexh %[res], %[val], %[addr]" : [res] "=&r" (res) : [val] "r" (val), [addr] "Q" (*addr));
    +
    104  return res;
    +
    105 }
    +
    106 
    +
    107 /**
    +
    108  * @brief Performs a ldrexb operation.
    +
    109  * @param addr Address to perform the operation on.
    +
    110  * @return The resulting value.
    +
    111  */
    +
    112 static inline u8 __ldrexb(u8* addr)
    +
    113 {
    +
    114  u8 val;
    +
    115  __asm__ __volatile__("ldrexb %[val], %[addr]" : [val] "=r" (val) : [addr] "Q" (*addr));
    +
    116  return val;
    +
    117 }
    +
    118 
    +
    119 /**
    +
    120  * @brief Performs a strexb operation.
    +
    121  * @param addr Address to perform the operation on.
    +
    122  * @param val Value to store.
    +
    123  * @return Whether the operation was successful.
    +
    124  */
    +
    125 static inline bool __strexb(u8* addr, u8 val)
    +
    126 {
    +
    127  bool res;
    +
    128  __asm__ __volatile__("strexb %[res], %[val], %[addr]" : [res] "=&r" (res) : [val] "r" (val), [addr] "Q" (*addr));
    +
    129  return res;
    +
    130 }
    +
    131 
    +
    132 /// Performs an atomic pre-increment operation.
    +
    133 #define AtomicIncrement(ptr) __atomic_add_fetch((u32*)(ptr), 1, __ATOMIC_SEQ_CST)
    +
    134 /// Performs an atomic pre-decrement operation.
    +
    135 #define AtomicDecrement(ptr) __atomic_sub_fetch((u32*)(ptr), 1, __ATOMIC_SEQ_CST)
    +
    136 /// Performs an atomic post-increment operation.
    +
    137 #define AtomicPostIncrement(ptr) __atomic_fetch_add((u32*)(ptr), 1, __ATOMIC_SEQ_CST)
    +
    138 /// Performs an atomic post-decrement operation.
    +
    139 #define AtomicPostDecrement(ptr) __atomic_fetch_sub((u32*)(ptr), 1, __ATOMIC_SEQ_CST)
    +
    140 /// Performs an atomic swap operation.
    +
    141 #define AtomicSwap(ptr, value) __atomic_exchange_n((u32*)(ptr), (value), __ATOMIC_SEQ_CST)
    +
    142 
    +
    143 /**
    +
    144  * @brief Function used to implement user-mode synchronization primitives.
    +
    145  * @param addr Pointer to a signed 32-bit value whose address will be used to identify waiting threads.
    +
    146  * @param type Type of action to be performed by the arbiter
    +
    147  * @param value Number of threads to signal if using @ref ARBITRATION_SIGNAL, or the value used for comparison.
    +
    148  *
    +
    149  * This will perform an arbitration based on #type. The comparisons are done between #value and the value at the address #addr.
    +
    150  *
    +
    151  * @code
    +
    152  * s32 val=0;
    +
    153  * // Does *nothing* since val >= 0
    +
    154  * syncArbitrateAddress(&val,ARBITRATION_WAIT_IF_LESS_THAN,0);
    +
    155  * @endcode
    +
    156  *
    +
    157  * @note Usage of this function entails an implicit Data Memory Barrier (dmb).
    +
    158  */
    + +
    160 
    +
    161 /**
    +
    162  * @brief Function used to implement user-mode synchronization primitives (with timeout).
    +
    163  * @param addr Pointer to a signed 32-bit value whose address will be used to identify waiting threads.
    +
    164  * @param type Type of action to be performed by the arbiter (must use \ref ARBITRATION_WAIT_IF_LESS_THAN_TIMEOUT or \ref ARBITRATION_DECREMENT_AND_WAIT_IF_LESS_THAN_TIMEOUT)
    +
    165  * @param value Number of threads to signal if using @ref ARBITRATION_SIGNAL, or the value used for comparison.
    +
    166  *
    +
    167  * This will perform an arbitration based on #type. The comparisons are done between #value and the value at the address #addr.
    +
    168  *
    +
    169  * @code
    +
    170  * s32 val=0;
    +
    171  * // Thread will wait for a signal or wake up after 10000000 nanoseconds because val < 1.
    +
    172  * syncArbitrateAddressWithTimeout(&val,ARBITRATION_WAIT_IF_LESS_THAN_TIMEOUT,1,10000000LL);
    +
    173  * @endcode
    +
    174  *
    +
    175  * @note Usage of this function entails an implicit Data Memory Barrier (dmb).
    +
    176  */
    + +
    178 
    +
    179 /**
    +
    180  * @brief Initializes a light lock.
    +
    181  * @param lock Pointer to the lock.
    +
    182  */
    + +
    184 
    +
    185 /**
    +
    186  * @brief Locks a light lock.
    +
    187  * @param lock Pointer to the lock.
    +
    188  */
    + +
    190 
    +
    191 /**
    +
    192  * @brief Attempts to lock a light lock.
    +
    193  * @param lock Pointer to the lock.
    +
    194  * @return Zero on success, non-zero on failure.
    +
    195  */
    + +
    197 
    +
    198 /**
    +
    199  * @brief Unlocks a light lock.
    +
    200  * @param lock Pointer to the lock.
    +
    201  */
    + +
    203 
    +
    204 /**
    +
    205  * @brief Initializes a recursive lock.
    +
    206  * @param lock Pointer to the lock.
    +
    207  */
    + +
    209 
    +
    210 /**
    +
    211  * @brief Locks a recursive lock.
    +
    212  * @param lock Pointer to the lock.
    +
    213  */
    + +
    215 
    +
    216 /**
    +
    217  * @brief Attempts to lock a recursive lock.
    +
    218  * @param lock Pointer to the lock.
    +
    219  * @return Zero on success, non-zero on failure.
    +
    220  */
    + +
    222 
    +
    223 /**
    +
    224  * @brief Unlocks a recursive lock.
    +
    225  * @param lock Pointer to the lock.
    +
    226  */
    + +
    228 
    +
    229 /**
    +
    230  * @brief Initializes a condition variable.
    +
    231  * @param cv Pointer to the condition variable.
    +
    232  */
    + +
    234 
    +
    235 /**
    +
    236  * @brief Waits on a condition variable.
    +
    237  * @param cv Pointer to the condition variable.
    +
    238  * @param lock Pointer to the lock to atomically unlock/relock during the wait.
    +
    239  */
    +
    240 void CondVar_Wait(CondVar* cv, LightLock* lock);
    +
    241 
    +
    242 /**
    +
    243  * @brief Waits on a condition variable with a timeout.
    +
    244  * @param cv Pointer to the condition variable.
    +
    245  * @param lock Pointer to the lock to atomically unlock/relock during the wait.
    +
    246  * @param timeout_ns Timeout in nanoseconds.
    +
    247  * @return Zero on success, non-zero on failure.
    +
    248  */
    +
    249 int CondVar_WaitTimeout(CondVar* cv, LightLock* lock, s64 timeout_ns);
    +
    250 
    +
    251 /**
    +
    252  * @brief Wakes up threads waiting on a condition variable.
    +
    253  * @param cv Pointer to the condition variable.
    +
    254  * @param num_threads Maximum number of threads to wake up (or \ref ARBITRATION_SIGNAL_ALL to wake them all).
    +
    255  */
    +
    256 void CondVar_WakeUp(CondVar* cv, s32 num_threads);
    +
    257 
    +
    258 /**
    +
    259  * @brief Wakes up a single thread waiting on a condition variable.
    +
    260  * @param cv Pointer to the condition variable.
    +
    261  */
    +
    262 static inline void CondVar_Signal(CondVar* cv)
    +
    263 {
    +
    264  CondVar_WakeUp(cv, 1);
    +
    265 }
    +
    266 
    +
    267 /**
    +
    268  * @brief Wakes up all threads waiting on a condition variable.
    +
    269  * @param cv Pointer to the condition variable.
    +
    270  */
    +
    271 static inline void CondVar_Broadcast(CondVar* cv)
    +
    272 {
    + +
    274 }
    +
    275 
    +
    276 /**
    +
    277  * @brief Initializes a light event.
    +
    278  * @param event Pointer to the event.
    +
    279  * @param reset_type Type of reset the event uses (RESET_ONESHOT/RESET_STICKY).
    +
    280  */
    +
    281 void LightEvent_Init(LightEvent* event, ResetType reset_type);
    +
    282 
    +
    283 /**
    +
    284  * @brief Clears a light event.
    +
    285  * @param event Pointer to the event.
    +
    286  */
    + +
    288 
    +
    289 /**
    +
    290  * @brief Wakes up threads waiting on a sticky light event without signaling it. If the event had been signaled before, it is cleared instead.
    +
    291  * @param event Pointer to the event.
    +
    292  */
    + +
    294 
    +
    295 /**
    +
    296  * @brief Signals a light event, waking up threads waiting on it.
    +
    297  * @param event Pointer to the event.
    +
    298  */
    + +
    300 
    +
    301 /**
    +
    302  * @brief Attempts to wait on a light event.
    +
    303  * @param event Pointer to the event.
    +
    304  * @return Non-zero if the event was signaled, zero otherwise.
    +
    305  */
    + +
    307 
    +
    308 /**
    +
    309  * @brief Waits on a light event.
    +
    310  * @param event Pointer to the event.
    +
    311  */
    + +
    313 
    +
    314 /**
    +
    315  * @brief Waits on a light event until either the event is signaled or the timeout is reached.
    +
    316  * @param event Pointer to the event.
    +
    317  * @param timeout_ns Timeout in nanoseconds.
    +
    318  * @return Non-zero on timeout, zero otherwise.
    +
    319  */
    +
    320 int LightEvent_WaitTimeout(LightEvent* event, s64 timeout_ns);
    +
    321 
    +
    322 /**
    +
    323  * @brief Initializes a light semaphore.
    +
    324  * @param event Pointer to the semaphore.
    +
    325  * @param max_count Initial count of the semaphore.
    +
    326  * @param max_count Maximum count of the semaphore.
    +
    327  */
    +
    328 void LightSemaphore_Init(LightSemaphore* semaphore, s16 initial_count, s16 max_count);
    +
    329 
    +
    330 /**
    +
    331  * @brief Acquires a light semaphore.
    +
    332  * @param semaphore Pointer to the semaphore.
    +
    333  * @param count Acquire count
    +
    334  */
    +
    335 void LightSemaphore_Acquire(LightSemaphore* semaphore, s32 count);
    +
    336 
    +
    337 /**
    +
    338  * @brief Attempts to acquire a light semaphore.
    +
    339  * @param semaphore Pointer to the semaphore.
    +
    340  * @param count Acquire count
    +
    341  * @return Zero on success, non-zero on failure
    +
    342  */
    + +
    344 
    +
    345 /**
    +
    346  * @brief Releases a light semaphore.
    +
    347  * @param semaphore Pointer to the semaphore.
    +
    348  * @param count Release count
    +
    349  */
    +
    350 void LightSemaphore_Release(LightSemaphore* semaphore, s32 count);
    +
    A light event.
    Definition: synchronization.h:20
    +
    LightLock lock
    Lock used for sticky timer operation.
    Definition: synchronization.h:22
    +
    s32 state
    State of the event: -2=cleared sticky, -1=cleared oneshot, 0=signaled oneshot, 1=signaled sticky.
    Definition: synchronization.h:21
    +
    A light semaphore.
    Definition: synchronization.h:27
    +
    s32 current_count
    The current release count of the semaphore.
    Definition: synchronization.h:28
    +
    s16 num_threads_acq
    Number of threads concurrently acquiring the semaphore.
    Definition: synchronization.h:29
    +
    s16 max_count
    The maximum release count of the semaphore.
    Definition: synchronization.h:30
    +
    Syscall wrappers.
    +
    ArbitrationType
    Arbitration modes.
    Definition: svc.h:88
    +
    #define ARBITRATION_SIGNAL_ALL
    Special value to signal all the threads.
    Definition: svc.h:97
    +
    ResetType
    Reset types (for use with events and timers)
    Definition: svc.h:105
    +
    void LightEvent_Wait(LightEvent *event)
    Waits on a light event.
    +
    _LOCK_T LightLock
    A light lock.
    Definition: synchronization.h:10
    +
    Result syncArbitrateAddress(s32 *addr, ArbitrationType type, s32 value)
    Function used to implement user-mode synchronization primitives.
    +
    int LightLock_TryLock(LightLock *lock)
    Attempts to lock a light lock.
    +
    void RecursiveLock_Init(RecursiveLock *lock)
    Initializes a recursive lock.
    +
    static bool __strexh(u16 *addr, u16 val)
    Performs a strexh operation.
    Definition: synchronization.h:100
    +
    void LightEvent_Init(LightEvent *event, ResetType reset_type)
    Initializes a light event.
    +
    int LightEvent_TryWait(LightEvent *event)
    Attempts to wait on a light event.
    +
    void LightEvent_Pulse(LightEvent *event)
    Wakes up threads waiting on a sticky light event without signaling it.
    +
    Result syncArbitrateAddressWithTimeout(s32 *addr, ArbitrationType type, s32 value, s64 timeout_ns)
    Function used to implement user-mode synchronization primitives (with timeout).
    +
    static void CondVar_Signal(CondVar *cv)
    Wakes up a single thread waiting on a condition variable.
    Definition: synchronization.h:262
    +
    static u8 __ldrexb(u8 *addr)
    Performs a ldrexb operation.
    Definition: synchronization.h:112
    +
    void LightSemaphore_Release(LightSemaphore *semaphore, s32 count)
    Releases a light semaphore.
    +
    void CondVar_WakeUp(CondVar *cv, s32 num_threads)
    Wakes up threads waiting on a condition variable.
    +
    int LightSemaphore_TryAcquire(LightSemaphore *semaphore, s32 count)
    Attempts to acquire a light semaphore.
    +
    static void __dsb(void)
    Performs a Data Synchronization Barrier operation.
    Definition: synchronization.h:34
    +
    void RecursiveLock_Unlock(RecursiveLock *lock)
    Unlocks a recursive lock.
    +
    void LightEvent_Clear(LightEvent *event)
    Clears a light event.
    +
    s32 CondVar
    A condition variable.
    Definition: synchronization.h:16
    +
    void LightLock_Init(LightLock *lock)
    Initializes a light lock.
    +
    void LightLock_Unlock(LightLock *lock)
    Unlocks a light lock.
    +
    int RecursiveLock_TryLock(RecursiveLock *lock)
    Attempts to lock a recursive lock.
    +
    static void __isb(void)
    Performs an Instruction Synchronization Barrier (officially "flush prefetch buffer") operation.
    Definition: synchronization.h:46
    +
    void CondVar_Wait(CondVar *cv, LightLock *lock)
    Waits on a condition variable.
    +
    static s32 __ldrex(s32 *addr)
    Performs a ldrex operation.
    Definition: synchronization.h:62
    +
    int CondVar_WaitTimeout(CondVar *cv, LightLock *lock, s64 timeout_ns)
    Waits on a condition variable with a timeout.
    +
    int LightEvent_WaitTimeout(LightEvent *event, s64 timeout_ns)
    Waits on a light event until either the event is signaled or the timeout is reached.
    +
    static void __dmb(void)
    Performs a Data Memory Barrier operation.
    Definition: synchronization.h:40
    +
    void CondVar_Init(CondVar *cv)
    Initializes a condition variable.
    +
    static void CondVar_Broadcast(CondVar *cv)
    Wakes up all threads waiting on a condition variable.
    Definition: synchronization.h:271
    +
    static u16 __ldrexh(u16 *addr)
    Performs a ldrexh operation.
    Definition: synchronization.h:87
    +
    void LightEvent_Signal(LightEvent *event)
    Signals a light event, waking up threads waiting on it.
    +
    static bool __strexb(u8 *addr, u8 val)
    Performs a strexb operation.
    Definition: synchronization.h:125
    +
    void LightSemaphore_Init(LightSemaphore *semaphore, s16 initial_count, s16 max_count)
    Initializes a light semaphore.
    +
    void LightSemaphore_Acquire(LightSemaphore *semaphore, s32 count)
    Acquires a light semaphore.
    +
    _LOCK_RECURSIVE_T RecursiveLock
    A recursive lock.
    Definition: synchronization.h:13
    +
    static bool __strex(s32 *addr, s32 val)
    Performs a strex operation.
    Definition: synchronization.h:75
    +
    void LightLock_Lock(LightLock *lock)
    Locks a light lock.
    +
    static void __clrex(void)
    Performs a clrex operation.
    Definition: synchronization.h:52
    +
    void RecursiveLock_Lock(RecursiveLock *lock)
    Locks a recursive lock.
    +
    int64_t s64
    64-bit signed integer
    Definition: types.h:29
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    int16_t s16
    16-bit signed integer
    Definition: types.h:27
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint16_t u16
    16-bit unsigned integer
    Definition: types.h:22
    +
    int32_t s32
    32-bit signed integer
    Definition: types.h:28
    +
    + + + + diff --git a/tab_a.png b/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 literal 0 HcmV?d00001 diff --git a/tab_b.png b/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b4a8638cb3496a016eaed9e16ffc12846dea18 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QU#tajv*C{Z}0l@H7kg?K0Lnr z!j&C6_(~HV9oQ0Pa6x{-v0AGV_E?vLn=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ literal 0 HcmV?d00001 diff --git a/tabs.css b/tabs.css new file mode 100644 index 000000000..7d45d36c1 --- /dev/null +++ b/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} diff --git a/tcp_8h_source.html b/tcp_8h_source.html new file mode 100644 index 000000000..b30530ce5 --- /dev/null +++ b/tcp_8h_source.html @@ -0,0 +1,88 @@ + + + + + + + +libctru: include/netinet/tcp.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    tcp.h
    +
    +
    +
    1 #pragma once
    +
    2 
    +
    3 #define SOL_TCP 6 /* TCP level */
    +
    4 
    +
    5 enum{
    +
    6  _CTRU_TCP_OPT = 0x2000, /* Flag for tcp opt values */
    +
    7  TCP_NODELAY = 1 | _CTRU_TCP_OPT, /* Don't delay send to coalesce packets */
    +
    8  TCP_MAXSEG = 2 | _CTRU_TCP_OPT,
    +
    9 };
    +
    + + + + diff --git a/thread_8h.html b/thread_8h.html new file mode 100644 index 000000000..5a4dde372 --- /dev/null +++ b/thread_8h.html @@ -0,0 +1,480 @@ + + + + + + + +libctru: include/3ds/thread.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    thread.h File Reference
    +
    +
    + +

    Provides functions to use threads. +More...

    +
    #include <3ds/types.h>
    +#include <3ds/result.h>
    +#include <3ds/synchronization.h>
    +#include <3ds/svc.h>
    +#include <3ds/errf.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + +

    +Macros

    +#define RUN_HANDLER_ON_FAULTING_STACK   ((void*)1)
     Makes the exception handler reuse the stack of the faulting thread as-is.
     
    +#define WRITE_DATA_TO_HANDLER_STACK   NULL
     Makes the exception handler push the exception data on its stack.
     
    +#define WRITE_DATA_TO_FAULTING_STACK   ((ERRF_ExceptionData*)1)
     Makes the exception handler push the exception data on the stack of the faulting thread.
     
    + + + + + + + +

    +Typedefs

    +typedef struct Thread_tag * Thread
     libctru thread handle type
     
    +typedef void(* ExceptionHandler) (ERRF_ExceptionInfo *excep, CpuRegisters *regs)
     Exception handler type, necessarily an ARM function that does not return.
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    Thread threadCreate (ThreadFunc entrypoint, void *arg, size_t stack_size, int prio, int core_id, bool detached)
     Creates a new libctru thread. More...
     
    Handle threadGetHandle (Thread thread)
     Retrieves the OS thread handle of a libctru thread. More...
     
    int threadGetExitCode (Thread thread)
     Retrieves the exit code of a finished libctru thread. More...
     
    void threadFree (Thread thread)
     Frees a finished libctru thread. More...
     
    Result threadJoin (Thread thread, u64 timeout_ns)
     Waits for a libctru thread to finish (or returns immediately if it is already finished). More...
     
    void threadDetach (Thread thread)
     Changes a thread's status from attached to detached. More...
     
    Thread threadGetCurrent (void)
     Retrieves the libctru thread handle of the current thread. More...
     
    void threadExit (int rc) __attribute__((noreturn))
     Exits the current libctru thread with an exit code (not usable from the main thread). More...
     
    static void threadOnException (ExceptionHandler handler, void *stack_top, ERRF_ExceptionData *exception_data)
     Sets the exception handler for the current thread. More...
     
    +

    Detailed Description

    +

    Provides functions to use threads.

    +

    Function Documentation

    + +

    ◆ threadCreate()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Thread threadCreate (ThreadFunc entrypoint,
    void * arg,
    size_t stack_size,
    int prio,
    int core_id,
    bool detached 
    )
    +
    + +

    Creates a new libctru thread.

    +
    Parameters
    + + + + + + + +
    entrypointThe function that will be called first upon thread creation
    argThe argument passed to entrypoint
    stack_sizeThe size of the stack that will be allocated for the thread (will be rounded to a multiple of 8 bytes)
    prioLow values gives the thread higher priority. For userland apps, this has to be within the range [0x18;0x3F]. The main thread usually has a priority of 0x30, but not always. Use svcGetThreadPriority() if you need to create a thread with a priority that is explicitly greater or smaller than that of the main thread.
    core_idThe ID of the processor the thread should be ran on. Processor IDs are labeled starting from 0. On Old3DS it must be <2, and on New3DS it must be <4. Pass -1 to execute the thread on all CPUs and -2 to execute the thread on the default CPU (read from the Exheader).
    detachedWhen set to true, the thread is automatically freed when it finishes.
    +
    +
    +
    Returns
    The libctru thread handle on success, NULL on failure.
    +
      +
    • Processor #0 is the application core. It is always possible to create a thread on this core.
    • +
    • Processor #1 is the system core. If APT_SetAppCpuTimeLimit is used, it is possible to create a single thread on this core.
    • +
    • Processor #2 is New3DS exclusive. Normal applications can create threads on this core if the exheader kernel flags bitmask has 0x2000 set.
    • +
    • Processor #3 is New3DS exclusive. Normal applications cannot create threads on this core.
    • +
    • Processes in the BASE memory region can always create threads on processors #2 and #3.
    • +
    +
    Note
    Default exit code of a thread is 0.
    +
    Warning
    svcExitThread should never be called from the thread, use threadExit instead.
    +
    Examples
    threads/event/source/main.c, and threads/thread-basic/source/main.c.
    +
    + +
    +
    + +

    ◆ threadDetach()

    + +
    +
    + + + + + + + + +
    void threadDetach (Thread thread)
    +
    + +

    Changes a thread's status from attached to detached.

    +
    Parameters
    + + +
    threadlibctru thread handle
    +
    +
    + +
    +
    + +

    ◆ threadExit()

    + +
    +
    + + + + + + + + +
    void threadExit (int rc)
    +
    + +

    Exits the current libctru thread with an exit code (not usable from the main thread).

    +
    Parameters
    + + +
    rcExit code
    +
    +
    + +
    +
    + +

    ◆ threadFree()

    + +
    +
    + + + + + + + + +
    void threadFree (Thread thread)
    +
    + +

    Frees a finished libctru thread.

    +
    Parameters
    + + +
    threadlibctru thread handle
    +
    +
    +
    Remarks
    This function should not be called if the thread is detached, as it is freed automatically when it finishes.
    +
    Examples
    threads/thread-basic/source/main.c.
    +
    + +
    +
    + +

    ◆ threadGetCurrent()

    + +
    +
    + + + + + + + + +
    Thread threadGetCurrent (void )
    +
    + +

    Retrieves the libctru thread handle of the current thread.

    +
    Returns
    libctru thread handle of the current thread, or NULL for the main thread
    + +
    +
    + +

    ◆ threadGetExitCode()

    + +
    +
    + + + + + + + + +
    int threadGetExitCode (Thread thread)
    +
    + +

    Retrieves the exit code of a finished libctru thread.

    +
    Parameters
    + + +
    threadlibctru thread handle
    +
    +
    +
    Returns
    Exit code
    + +
    +
    + +

    ◆ threadGetHandle()

    + +
    +
    + + + + + + + + +
    Handle threadGetHandle (Thread thread)
    +
    + +

    Retrieves the OS thread handle of a libctru thread.

    +
    Parameters
    + + +
    threadlibctru thread handle
    +
    +
    +
    Returns
    OS thread handle
    + +
    +
    + +

    ◆ threadJoin()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result threadJoin (Thread thread,
    u64 timeout_ns 
    )
    +
    + +

    Waits for a libctru thread to finish (or returns immediately if it is already finished).

    +
    Parameters
    + + + +
    threadlibctru thread handle
    timeout_nsTimeout in nanoseconds. Pass U64_MAX if a timeout isn't desired
    +
    +
    +
    Examples
    threads/event/source/main.c, and threads/thread-basic/source/main.c.
    +
    + +
    +
    + +

    ◆ threadOnException()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static void threadOnException (ExceptionHandler handler,
    void * stack_top,
    ERRF_ExceptionDataexception_data 
    )
    +
    +inlinestatic
    +
    + +

    Sets the exception handler for the current thread.

    +

    Called from the main thread, this sets the default handler.

    Parameters
    + + + + +
    handlerThe exception handler, necessarily an ARM function that does not return
    stack_topA pointer to the top of the stack that will be used by the handler. See also RUN_HANDLER_ON_FAULTING_STACK
    exception_dataA pointer to the buffer that will contain the exception data. See also WRITE_DATA_TO_HANDLER_STACK and WRITE_DATA_TO_FAULTING_STACK
    +
    +
    +

    To have CPU exceptions reported through this mechanism, it is normally necessary that UNITINFO is set to a non-zero value when Kernel11 starts, and this mechanism is also controlled by svcKernelSetState type 6, see 3dbrew.

    +

    VFP exceptions are always reported this way even if the process is being debugged using the debug SVCs.

    +

    The current thread need not be a libctru thread.

    + +
    +
    +
    + + + + diff --git a/thread_8h_source.html b/thread_8h_source.html new file mode 100644 index 000000000..722f8a951 --- /dev/null +++ b/thread_8h_source.html @@ -0,0 +1,231 @@ + + + + + + + +libctru: include/3ds/thread.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    thread.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file thread.h
    +
    3  * @brief Provides functions to use threads.
    +
    4  */
    +
    5 #pragma once
    +
    6 #include <3ds/types.h>
    +
    7 #include <3ds/result.h>
    +
    8 #include <3ds/synchronization.h>
    +
    9 #include <3ds/svc.h>
    +
    10 #include <3ds/errf.h>
    +
    11 
    +
    12 /// Makes the exception handler reuse the stack of the faulting thread as-is
    +
    13 #define RUN_HANDLER_ON_FAULTING_STACK ((void*)1)
    +
    14 
    +
    15 /// Makes the exception handler push the exception data on its stack
    +
    16 #define WRITE_DATA_TO_HANDLER_STACK NULL
    +
    17 
    +
    18 /// Makes the exception handler push the exception data on the stack of the faulting thread
    +
    19 #define WRITE_DATA_TO_FAULTING_STACK ((ERRF_ExceptionData*)1)
    +
    20 
    +
    21 /// libctru thread handle type
    +
    22 typedef struct Thread_tag* Thread;
    +
    23 
    +
    24 /// Exception handler type, necessarily an ARM function that does not return.
    +
    25 typedef void (*ExceptionHandler)(ERRF_ExceptionInfo* excep, CpuRegisters* regs);
    +
    26 
    +
    27 /**
    +
    28  * @brief Creates a new libctru thread.
    +
    29  * @param entrypoint The function that will be called first upon thread creation
    +
    30  * @param arg The argument passed to @p entrypoint
    +
    31  * @param stack_size The size of the stack that will be allocated for the thread (will be rounded to a multiple of 8 bytes)
    +
    32  * @param prio Low values gives the thread higher priority.
    +
    33  * For userland apps, this has to be within the range [0x18;0x3F].
    +
    34  * The main thread usually has a priority of 0x30, but not always. Use svcGetThreadPriority() if you need
    +
    35  * to create a thread with a priority that is explicitly greater or smaller than that of the main thread.
    +
    36  * @param core_id The ID of the processor the thread should be ran on. Processor IDs are labeled starting from 0.
    +
    37  * On Old3DS it must be <2, and on New3DS it must be <4.
    +
    38  * Pass -1 to execute the thread on all CPUs and -2 to execute the thread on the default CPU (read from the Exheader).
    +
    39  * @param detached When set to true, the thread is automatically freed when it finishes.
    +
    40  * @return The libctru thread handle on success, NULL on failure.
    +
    41  *
    +
    42  * - Processor #0 is the application core. It is always possible to create a thread on this core.
    +
    43  * - Processor #1 is the system core. If APT_SetAppCpuTimeLimit is used, it is possible to create a single thread on this core.
    +
    44  * - Processor #2 is New3DS exclusive. Normal applications can create threads on this core if the exheader kernel flags bitmask has 0x2000 set.
    +
    45  * - Processor #3 is New3DS exclusive. Normal applications cannot create threads on this core.
    +
    46  * - Processes in the BASE memory region can always create threads on processors #2 and #3.
    +
    47  *
    +
    48  * @note Default exit code of a thread is 0.
    +
    49  * @warning @ref svcExitThread should never be called from the thread, use @ref threadExit instead.
    +
    50  */
    +
    51 Thread threadCreate(ThreadFunc entrypoint, void* arg, size_t stack_size, int prio, int core_id, bool detached);
    +
    52 
    +
    53 /**
    +
    54  * @brief Retrieves the OS thread handle of a libctru thread.
    +
    55  * @param thread libctru thread handle
    +
    56  * @return OS thread handle
    +
    57  */
    + +
    59 
    +
    60 /**
    +
    61  * @brief Retrieves the exit code of a finished libctru thread.
    +
    62  * @param thread libctru thread handle
    +
    63  * @return Exit code
    +
    64  */
    + +
    66 
    +
    67 /**
    +
    68  * @brief Frees a finished libctru thread.
    +
    69  * @param thread libctru thread handle
    +
    70  * @remarks This function should not be called if the thread is detached, as it is freed automatically when it finishes.
    +
    71  */
    +
    72 void threadFree(Thread thread);
    +
    73 
    +
    74 /**
    +
    75  * @brief Waits for a libctru thread to finish (or returns immediately if it is already finished).
    +
    76  * @param thread libctru thread handle
    +
    77  * @param timeout_ns Timeout in nanoseconds. Pass U64_MAX if a timeout isn't desired
    +
    78  */
    +
    79 Result threadJoin(Thread thread, u64 timeout_ns);
    +
    80 
    +
    81 /**
    +
    82  * @brief Changes a thread's status from attached to detached.
    +
    83  * @param thread libctru thread handle
    +
    84  */
    +
    85 void threadDetach(Thread thread);
    +
    86 
    +
    87 /**
    +
    88  * @brief Retrieves the libctru thread handle of the current thread.
    +
    89  * @return libctru thread handle of the current thread, or NULL for the main thread
    +
    90  */
    + +
    92 
    +
    93 /**
    +
    94  * @brief Exits the current libctru thread with an exit code (not usable from the main thread).
    +
    95  * @param rc Exit code
    +
    96  */
    +
    97 void threadExit(int rc) __attribute__((noreturn));
    +
    98 
    +
    99 /**
    +
    100  * @brief Sets the exception handler for the current thread. Called from the main thread, this sets the default handler.
    +
    101  * @param handler The exception handler, necessarily an ARM function that does not return
    +
    102  * @param stack_top A pointer to the top of the stack that will be used by the handler. See also @ref RUN_HANDLER_ON_FAULTING_STACK
    +
    103  * @param exception_data A pointer to the buffer that will contain the exception data.
    +
    104  See also @ref WRITE_DATA_TO_HANDLER_STACK and @ref WRITE_DATA_TO_FAULTING_STACK
    +
    105  *
    +
    106  * To have CPU exceptions reported through this mechanism, it is normally necessary that UNITINFO is set to a non-zero value when Kernel11 starts,
    +
    107  * and this mechanism is also controlled by @ref svcKernelSetState type 6, see 3dbrew.
    +
    108  *
    +
    109  * VFP exceptions are always reported this way even if the process is being debugged using the debug SVCs.
    +
    110  *
    +
    111  * The current thread need not be a libctru thread.
    +
    112  */
    +
    113 static inline void threadOnException(ExceptionHandler handler, void* stack_top, ERRF_ExceptionData* exception_data)
    +
    114 {
    +
    115  u8* tls = (u8*)getThreadLocalStorage();
    +
    116 
    +
    117  *(u32*)(tls + 0x40) = (u32)handler;
    +
    118  *(u32*)(tls + 0x44) = (u32)stack_top;
    +
    119  *(u32*)(tls + 0x48) = (u32)exception_data;
    +
    120 
    +
    121  __dsb();
    +
    122  __isb();
    +
    123 }
    +
    Error Display API.
    +
    __attribute__((warn_unused_result)) rbtree_node_t *rbtree_insert(rbtree_t *tree
    Inserts a node into an rbtree.
    +
    3DS result code tools
    +
    Structure representing CPU registers.
    Definition: types.h:63
    +
    Definition: errf.h:38
    +
    Definition: errf.h:28
    +
    Syscall wrappers.
    +
    static void * getThreadLocalStorage(void)
    Gets the thread local storage buffer.
    Definition: svc.h:531
    +
    Provides synchronization locks.
    +
    static void __dsb(void)
    Performs a Data Synchronization Barrier operation.
    Definition: synchronization.h:34
    +
    static void __isb(void)
    Performs an Instruction Synchronization Barrier (officially "flush prefetch buffer") operation.
    Definition: synchronization.h:46
    +
    struct Thread_tag * Thread
    libctru thread handle type
    Definition: thread.h:22
    +
    void(* ExceptionHandler)(ERRF_ExceptionInfo *excep, CpuRegisters *regs)
    Exception handler type, necessarily an ARM function that does not return.
    Definition: thread.h:25
    +
    Thread threadCreate(ThreadFunc entrypoint, void *arg, size_t stack_size, int prio, int core_id, bool detached)
    Creates a new libctru thread.
    +
    Result threadJoin(Thread thread, u64 timeout_ns)
    Waits for a libctru thread to finish (or returns immediately if it is already finished).
    +
    Handle threadGetHandle(Thread thread)
    Retrieves the OS thread handle of a libctru thread.
    +
    void threadExit(int rc) __attribute__((noreturn))
    Exits the current libctru thread with an exit code (not usable from the main thread).
    +
    Thread threadGetCurrent(void)
    Retrieves the libctru thread handle of the current thread.
    +
    void threadDetach(Thread thread)
    Changes a thread's status from attached to detached.
    +
    static void threadOnException(ExceptionHandler handler, void *stack_top, ERRF_ExceptionData *exception_data)
    Sets the exception handler for the current thread.
    Definition: thread.h:113
    +
    int threadGetExitCode(Thread thread)
    Retrieves the exit code of a finished libctru thread.
    +
    void threadFree(Thread thread)
    Frees a finished libctru thread.
    +
    Various system types.
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    void(* ThreadFunc)(void *)
    Thread entrypoint function.
    Definition: types.h:43
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/threads_2event_2source_2main_8c-example.html b/threads_2event_2source_2main_8c-example.html new file mode 100644 index 000000000..68d65610d --- /dev/null +++ b/threads_2event_2source_2main_8c-example.html @@ -0,0 +1,170 @@ + + + + + + + +libctru: threads/event/source/main.c + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    threads/event/source/main.c
    +
    +
    +
    #include <string.h>
    +
    #include <malloc.h>
    +
    #include <inttypes.h>
    +
    #include <stdio.h>
    +
    +
    +
    #include <3ds.h>
    +
    +
    Thread threadHandle;
    +
    Handle threadRequest;
    +
    +
    #define STACKSIZE (4 * 1024)
    +
    +
    volatile bool runThread = true;
    +
    +
    volatile int threadcount=0;
    +
    +
    void threadMain(void *arg) {
    +
    +
    while(runThread) {
    + +
    svcClearEvent(threadRequest);
    +
    +
    threadcount++;
    +
    }
    +
    }
    +
    +
    int main(int argc, char** argv)
    +
    {
    + + +
    +
    svcCreateEvent(&threadRequest,0);
    +
    threadHandle = threadCreate(threadMain, 0, STACKSIZE, 0x3f, -2, true);
    +
    +
    printf("thread handle: %p\n", threadHandle);
    +
    +
    // Main loop
    +
    while (aptMainLoop())
    +
    {
    + + +
    +
    printf("\x1b[6;1H");
    +
    printf("thread counter = %d\n",threadcount);
    +
    +
    u32 kDown = hidKeysDown();
    +
    if (kDown & KEY_START)
    +
    break; // break in order to return to hbmenu
    +
    +
    if (kDown & KEY_A)
    +
    svcSignalEvent(threadRequest);
    +
    +
    // Flush and swap framebuffers
    + + +
    }
    +
    +
    // tell thread to exit
    +
    runThread = false;
    +
    +
    // signal the thread and wait for it to exit
    +
    svcSignalEvent(threadRequest);
    +
    threadJoin(threadHandle, U64_MAX);
    +
    +
    // close event handle
    +
    svcCloseHandle(threadRequest);
    +
    + +
    return 0;
    +
    }
    +
    Central 3DS header.
    +
    bool aptMainLoop(void)
    Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
    +
    PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
    Initialise the console.
    +
    void gfxSwapBuffers(void)
    Updates the configuration of both screens.
    +
    void gfxInitDefault(void)
    Initializes the LCD framebuffers with default parameters This is equivalent to calling:
    +
    @ GFX_TOP
    Top screen.
    Definition: gfx.h:26
    +
    void gfxExit(void)
    Deinitializes and frees the LCD framebuffers.
    +
    void gfxFlushBuffers(void)
    Flushes the data cache for the current framebuffers.
    +
    #define gspWaitForVBlank()
    Waits for VBlank.
    Definition: gspgpu.h:151
    +
    @ KEY_START
    Start.
    Definition: hid.h:15
    +
    @ KEY_A
    A.
    Definition: hid.h:12
    +
    u32 hidKeysDown(void)
    Returns a bitmask of newly pressed buttons, this frame.
    +
    void hidScanInput(void)
    Scans HID for input data.
    +
    Result svcCloseHandle(Handle handle)
    Closes a handle.
    +
    Result svcWaitSynchronization(Handle handle, s64 nanoseconds)
    Waits for synchronization on a handle.
    +
    Result svcCreateEvent(Handle *event, ResetType reset_type)
    Creates an event handle.
    +
    Result svcClearEvent(Handle handle)
    Clears an event.
    +
    Result svcSignalEvent(Handle handle)
    Signals an event.
    +
    struct Thread_tag * Thread
    libctru thread handle type
    Definition: thread.h:22
    +
    Thread threadCreate(ThreadFunc entrypoint, void *arg, size_t stack_size, int prio, int core_id, bool detached)
    Creates a new libctru thread.
    +
    Result threadJoin(Thread thread, u64 timeout_ns)
    Waits for a libctru thread to finish (or returns immediately if it is already finished).
    +
    #define U64_MAX
    The maximum value of a u64.
    Definition: types.h:12
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/threads_2thread-basic_2source_2main_8c-example.html b/threads_2thread-basic_2source_2main_8c-example.html new file mode 100644 index 000000000..e307582c0 --- /dev/null +++ b/threads_2thread-basic_2source_2main_8c-example.html @@ -0,0 +1,163 @@ + + + + + + + +libctru: threads/thread-basic/source/main.c + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    threads/thread-basic/source/main.c
    +
    +
    +
    #include <string.h>
    +
    #include <stdio.h>
    +
    #include <3ds.h>
    +
    +
    #define NUMTHREADS 3
    +
    #define STACKSIZE (4 * 1024)
    +
    +
    volatile bool runThreads = true;
    +
    +
    void threadMain(void *arg)
    +
    {
    +
    u64 sleepDuration = 1000000ULL * (u32)arg;
    +
    int i = 0;
    +
    while (runThreads)
    +
    {
    +
    printf("thread%d says %d\n", (int)arg, i++);
    +
    svcSleepThread(sleepDuration);
    +
    }
    +
    }
    +
    +
    int main(int argc, char** argv)
    +
    {
    + + +
    +
    Thread threads[NUMTHREADS];
    +
    int i;
    +
    s32 prio = 0;
    + +
    printf("Main thread prio: 0x%lx\n", prio);
    +
    +
    for (i = 0; i < NUMTHREADS; i ++)
    +
    {
    +
    // The priority of these child threads must be higher (aka the value is lower) than that
    +
    // of the main thread, otherwise there is thread starvation due to stdio being locked.
    +
    threads[i] = threadCreate(threadMain, (void*)((i+1)*250), STACKSIZE, prio-1, -2, false);
    +
    printf("created thread %d: %p\n", i, threads[i]);
    +
    }
    +
    +
    // Main loop
    +
    while (aptMainLoop())
    +
    {
    + + +
    +
    u32 kDown = hidKeysDown();
    +
    if (kDown & KEY_START)
    +
    break; // break in order to return to hbmenu
    +
    +
    // Flush and swap framebuffers
    + + +
    }
    +
    +
    // tell threads to exit & wait for them to exit
    +
    runThreads = false;
    +
    for (i = 0; i < NUMTHREADS; i ++)
    +
    {
    +
    threadJoin(threads[i], U64_MAX);
    +
    threadFree(threads[i]);
    +
    }
    +
    + +
    return 0;
    +
    }
    +
    Central 3DS header.
    +
    bool aptMainLoop(void)
    Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
    +
    PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
    Initialise the console.
    +
    void gfxSwapBuffers(void)
    Updates the configuration of both screens.
    +
    void gfxInitDefault(void)
    Initializes the LCD framebuffers with default parameters This is equivalent to calling:
    +
    @ GFX_TOP
    Top screen.
    Definition: gfx.h:26
    +
    void gfxExit(void)
    Deinitializes and frees the LCD framebuffers.
    +
    void gfxFlushBuffers(void)
    Flushes the data cache for the current framebuffers.
    +
    #define gspWaitForVBlank()
    Waits for VBlank.
    Definition: gspgpu.h:151
    +
    @ KEY_START
    Start.
    Definition: hid.h:15
    +
    u32 hidKeysDown(void)
    Returns a bitmask of newly pressed buttons, this frame.
    +
    void hidScanInput(void)
    Scans HID for input data.
    +
    Result svcGetThreadPriority(s32 *out, Handle handle)
    Retrieves the priority of a thread.
    +
    #define CUR_THREAD_HANDLE
    Pseudo handle for the current thread.
    Definition: svc.h:133
    +
    void svcSleepThread(s64 ns)
    Puts the current thread to sleep.
    +
    struct Thread_tag * Thread
    libctru thread handle type
    Definition: thread.h:22
    +
    Thread threadCreate(ThreadFunc entrypoint, void *arg, size_t stack_size, int prio, int core_id, bool detached)
    Creates a new libctru thread.
    +
    Result threadJoin(Thread thread, u64 timeout_ns)
    Waits for a libctru thread to finish (or returns immediately if it is already finished).
    +
    void threadFree(Thread thread)
    Frees a finished libctru thread.
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    #define U64_MAX
    The maximum value of a u64.
    Definition: types.h:12
    +
    int32_t s32
    32-bit signed integer
    Definition: types.h:28
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/time_2rtc_2source_2main_8c-example.html b/time_2rtc_2source_2main_8c-example.html new file mode 100644 index 000000000..84048e501 --- /dev/null +++ b/time_2rtc_2source_2main_8c-example.html @@ -0,0 +1,176 @@ + + + + + + + +libctru: time/rtc/source/main.c + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    time/rtc/source/main.c
    +
    +
    +
    #include <3ds.h>
    +
    #include <stdio.h>
    +
    #include <time.h>
    +
    +
    const char* const months[12] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
    +
    +
    const char* const weekDays[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
    +
    +
    const u16 daysAtStartOfMonthLUT[12] =
    +
    {
    +
    0 % 7, //january 31
    +
    31 % 7, //february 28+1(leap year)
    +
    59 % 7, //march 31
    +
    90 % 7, //april 30
    +
    120 % 7, //may 31
    +
    151 % 7, //june 30
    +
    181 % 7, //july 31
    +
    212 % 7, //august 31
    +
    243 % 7, //september 30
    +
    273 % 7, //october 31
    +
    304 % 7, //november 30
    +
    334 % 7 //december 31
    +
    };
    +
    +
    static inline bool isLeapYear(int year)
    +
    {
    +
    return (year%4) == 0 && !((year%100) == 0 && (year%400) != 0);
    +
    }
    +
    +
    static inline int getDayOfWeek(int day, int month, int year)
    +
    {
    +
    //http://en.wikipedia.org/wiki/Calculating_the_day_of_the_week
    +
    day += 2*(3-((year/100)%4));
    +
    year %= 100;
    +
    day += year + (year/4);
    +
    day += daysAtStartOfMonthLUT[month] - (isLeapYear(year) && (month <= 1));
    +
    return day % 7;
    +
    }
    +
    +
    int main(int argc, char **argv)
    +
    {
    +
    // Initialize services
    + +
    +
    //Initialize console on top screen. Using NULL as the second argument tells the console library to use the internal console structure as current one
    + +
    +
    printf("\x1b[30;16HPress Start to exit.");
    +
    +
    // Main loop
    +
    while (aptMainLoop())
    +
    {
    +
    //Scan all the inputs. This should be done once for each frame
    + +
    +
    //hidKeysDown returns information about which buttons have been just pressed (and they weren't in the previous frame)
    +
    u32 kDown = hidKeysDown();
    +
    +
    if (kDown & KEY_START) break; // break in order to return to hbmenu
    +
    +
    //Print current time
    +
    time_t unixTime = time(NULL);
    +
    struct tm* timeStruct = gmtime((const time_t *)&unixTime);
    +
    +
    int hours = timeStruct->tm_hour;
    +
    int minutes = timeStruct->tm_min;
    +
    int seconds = timeStruct->tm_sec;
    +
    int day = timeStruct->tm_mday;
    +
    int month = timeStruct->tm_mon;
    +
    int year = timeStruct->tm_year +1900;
    +
    +
    printf("\x1b[1;1H%02i:%02i:%02i", hours, minutes, seconds);
    +
    printf("\n%s %s %i %i", weekDays[getDayOfWeek(day, month, year)], months[month], day, year);
    +
    +
    // Flush and swap framebuffers
    + + +
    +
    //Wait for VBlank
    + +
    }
    +
    +
    // Exit services
    + +
    +
    return 0;
    +
    }
    +
    Central 3DS header.
    +
    bool aptMainLoop(void)
    Main function which handles sleep mode and HOME/power buttons - call this at the beginning of every f...
    +
    PrintConsole * consoleInit(gfxScreen_t screen, PrintConsole *console)
    Initialise the console.
    +
    void gfxSwapBuffers(void)
    Updates the configuration of both screens.
    +
    void gfxInitDefault(void)
    Initializes the LCD framebuffers with default parameters This is equivalent to calling:
    +
    @ GFX_TOP
    Top screen.
    Definition: gfx.h:26
    +
    void gfxExit(void)
    Deinitializes and frees the LCD framebuffers.
    +
    void gfxFlushBuffers(void)
    Flushes the data cache for the current framebuffers.
    +
    #define gspWaitForVBlank()
    Waits for VBlank.
    Definition: gspgpu.h:151
    +
    @ KEY_START
    Start.
    Definition: hid.h:15
    +
    u32 hidKeysDown(void)
    Returns a bitmask of newly pressed buttons, this frame.
    +
    void hidScanInput(void)
    Scans HID for input data.
    +
    uint16_t u16
    16-bit unsigned integer
    Definition: types.h:22
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/types_8h.html b/types_8h.html new file mode 100644 index 000000000..1c7654c18 --- /dev/null +++ b/types_8h.html @@ -0,0 +1,225 @@ + + + + + + + +libctru: include/3ds/types.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    types.h File Reference
    +
    +
    + +

    Various system types. +More...

    +
    #include <stdint.h>
    +#include <stdbool.h>
    +#include <stddef.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + +

    +Data Structures

    struct  CpuRegisters
     Structure representing CPU registers. More...
     
    struct  FpuRegisters
     Structure representing FPU registers. More...
     
    + + + + + + + + + + + + + + + + +

    +Macros

    +#define U64_MAX   UINT64_MAX
     The maximum value of a u64.
     
    +#define BIT(n)   (1U<<(n))
     Creates a bitmask from a bit number.
     
    +#define CTR_ALIGN(m)   __attribute__((aligned(m)))
     Aligns a struct (and other types?) to m, making sure that the size of the struct is a multiple of m.
     
    +#define CTR_PACKED   __attribute__((packed))
     Packs a struct (and other types?) so it won't include padding bytes.
     
    +#define CTR_DEPRECATED   __attribute__ ((deprecated))
     Flags a function as deprecated.
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Typedefs

    typedef uint8_t u8
     would be nice if newlib had this already More...
     
    +typedef uint16_t u16
     16-bit unsigned integer
     
    +typedef uint32_t u32
     32-bit unsigned integer
     
    +typedef uint64_t u64
     64-bit unsigned integer
     
    +typedef int8_t s8
     8-bit signed integer
     
    +typedef int16_t s16
     16-bit signed integer
     
    +typedef int32_t s32
     32-bit signed integer
     
    +typedef int64_t s64
     64-bit signed integer
     
    +typedef volatile u8 vu8
     8-bit volatile unsigned integer.
     
    +typedef volatile u16 vu16
     16-bit volatile unsigned integer.
     
    +typedef volatile u32 vu32
     32-bit volatile unsigned integer.
     
    +typedef volatile u64 vu64
     64-bit volatile unsigned integer.
     
    +typedef volatile s8 vs8
     8-bit volatile signed integer.
     
    +typedef volatile s16 vs16
     16-bit volatile signed integer.
     
    +typedef volatile s32 vs32
     32-bit volatile signed integer.
     
    +typedef volatile s64 vs64
     64-bit volatile signed integer.
     
    +typedef u32 Handle
     Resource handle.
     
    +typedef s32 Result
     Function result.
     
    +typedef void(* ThreadFunc) (void *)
     Thread entrypoint function.
     
    +typedef void(* voidfn) (void)
     
    +

    Detailed Description

    +

    Various system types.

    +

    Typedef Documentation

    + +

    ◆ u8

    + +
    +
    + + + + +
    typedef uint8_t u8
    +
    + +

    would be nice if newlib had this already

    +

    8-bit unsigned integer

    + +
    +
    +
    + + + + diff --git a/types_8h_source.html b/types_8h_source.html new file mode 100644 index 000000000..723e8c396 --- /dev/null +++ b/types_8h_source.html @@ -0,0 +1,186 @@ + + + + + + + +libctru: include/3ds/types.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    types.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file types.h
    +
    3  * @brief Various system types.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 #include <stdint.h>
    +
    8 #include <stdbool.h>
    +
    9 #include <stddef.h>
    +
    10 
    +
    11 /// The maximum value of a u64.
    +
    12 #define U64_MAX UINT64_MAX
    +
    13 
    +
    14 /// would be nice if newlib had this already
    +
    15 #ifndef SSIZE_MAX
    +
    16 #ifdef SIZE_MAX
    +
    17 #define SSIZE_MAX ((SIZE_MAX) >> 1)
    +
    18 #endif
    +
    19 #endif
    +
    20 
    +
    21 typedef uint8_t u8; ///< 8-bit unsigned integer
    +
    22 typedef uint16_t u16; ///< 16-bit unsigned integer
    +
    23 typedef uint32_t u32; ///< 32-bit unsigned integer
    +
    24 typedef uint64_t u64; ///< 64-bit unsigned integer
    +
    25 
    +
    26 typedef int8_t s8; ///< 8-bit signed integer
    +
    27 typedef int16_t s16; ///< 16-bit signed integer
    +
    28 typedef int32_t s32; ///< 32-bit signed integer
    +
    29 typedef int64_t s64; ///< 64-bit signed integer
    +
    30 
    +
    31 typedef volatile u8 vu8; ///< 8-bit volatile unsigned integer.
    +
    32 typedef volatile u16 vu16; ///< 16-bit volatile unsigned integer.
    +
    33 typedef volatile u32 vu32; ///< 32-bit volatile unsigned integer.
    +
    34 typedef volatile u64 vu64; ///< 64-bit volatile unsigned integer.
    +
    35 
    +
    36 typedef volatile s8 vs8; ///< 8-bit volatile signed integer.
    +
    37 typedef volatile s16 vs16; ///< 16-bit volatile signed integer.
    +
    38 typedef volatile s32 vs32; ///< 32-bit volatile signed integer.
    +
    39 typedef volatile s64 vs64; ///< 64-bit volatile signed integer.
    +
    40 
    +
    41 typedef u32 Handle; ///< Resource handle.
    +
    42 typedef s32 Result; ///< Function result.
    +
    43 typedef void (*ThreadFunc)(void *); ///< Thread entrypoint function.
    +
    44 typedef void (*voidfn)(void);
    +
    45 
    +
    46 /// Creates a bitmask from a bit number.
    +
    47 #define BIT(n) (1U<<(n))
    +
    48 
    +
    49 /// Aligns a struct (and other types?) to m, making sure that the size of the struct is a multiple of m.
    +
    50 #define CTR_ALIGN(m) __attribute__((aligned(m)))
    +
    51 /// Packs a struct (and other types?) so it won't include padding bytes.
    +
    52 #define CTR_PACKED __attribute__((packed))
    +
    53 
    +
    54 #ifndef CTR_NO_DEPRECATION
    +
    55 /// Flags a function as deprecated.
    +
    56 #define CTR_DEPRECATED __attribute__ ((deprecated))
    +
    57 #else
    +
    58 /// Flags a function as deprecated.
    +
    59 #define CTR_DEPRECATED
    +
    60 #endif
    +
    61 
    +
    62 /// Structure representing CPU registers
    +
    63 typedef struct {
    +
    64  u32 r[13]; ///< r0-r12.
    +
    65  u32 sp; ///< sp.
    +
    66  u32 lr; ///< lr.
    +
    67  u32 pc; ///< pc. May need to be adjusted.
    +
    68  u32 cpsr; ///< cpsr.
    +
    69 } CpuRegisters;
    +
    70 
    +
    71 /// Structure representing FPU registers
    +
    72 typedef struct {
    +
    73  union {
    +
    74  struct CTR_PACKED { double d[16]; }; ///< d0-d15.
    +
    75  float s[32]; ///< s0-s31.
    +
    76  };
    +
    77  u32 fpscr; ///< fpscr.
    +
    78  u32 fpexc; ///< fpexc.
    +
    79 } FpuRegisters;
    +
    Structure representing CPU registers.
    Definition: types.h:63
    +
    u32 sp
    sp.
    Definition: types.h:65
    +
    u32 pc
    pc. May need to be adjusted.
    Definition: types.h:67
    +
    u32 cpsr
    cpsr.
    Definition: types.h:68
    +
    u32 lr
    lr.
    Definition: types.h:66
    +
    Structure representing FPU registers.
    Definition: types.h:72
    +
    u32 fpexc
    fpexc.
    Definition: types.h:78
    +
    u32 fpscr
    fpscr.
    Definition: types.h:77
    +
    volatile s8 vs8
    8-bit volatile signed integer.
    Definition: types.h:36
    +
    volatile u8 vu8
    8-bit volatile unsigned integer.
    Definition: types.h:31
    +
    int64_t s64
    64-bit signed integer
    Definition: types.h:29
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    #define CTR_PACKED
    Packs a struct (and other types?) so it won't include padding bytes.
    Definition: types.h:52
    +
    volatile s64 vs64
    64-bit volatile signed integer.
    Definition: types.h:39
    +
    volatile u16 vu16
    16-bit volatile unsigned integer.
    Definition: types.h:32
    +
    volatile s32 vs32
    32-bit volatile signed integer.
    Definition: types.h:38
    +
    volatile s16 vs16
    16-bit volatile signed integer.
    Definition: types.h:37
    +
    void(* ThreadFunc)(void *)
    Thread entrypoint function.
    Definition: types.h:43
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    int8_t s8
    8-bit signed integer
    Definition: types.h:26
    +
    int16_t s16
    16-bit signed integer
    Definition: types.h:27
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    volatile u32 vu32
    32-bit volatile unsigned integer.
    Definition: types.h:33
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    volatile u64 vu64
    64-bit volatile unsigned integer.
    Definition: types.h:34
    +
    uint16_t u16
    16-bit unsigned integer
    Definition: types.h:22
    +
    int32_t s32
    32-bit signed integer
    Definition: types.h:28
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    + + + + diff --git a/uds_8h.html b/uds_8h.html new file mode 100644 index 000000000..fa654f46d --- /dev/null +++ b/uds_8h.html @@ -0,0 +1,1365 @@ + + + + + + + +libctru: include/3ds/services/uds.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    uds.h File Reference
    +
    +
    + +

    UDS(NWMUDS) local-WLAN service. +More...

    + +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Structures

    struct  udsNodeInfo
     Node info struct. More...
     
    struct  udsConnectionStatus
     Connection status struct. More...
     
    struct  udsNetworkStruct
     Network struct stored as big-endian. More...
     
    struct  udsBindContext
     
    struct  nwmScanInputStruct
     General NWM input structure used for AP scanning. More...
     
    struct  nwmBeaconDataReplyHeader
     General NWM output structure from AP scanning. More...
     
    struct  nwmBeaconDataReplyEntry
     General NWM output structure from AP scanning, for each entry. More...
     
    struct  udsNetworkScanInfo
     Output structure generated from host scanning output. More...
     
    + + + + + + + + + + + + + + + + + + + +

    +Macros

    +#define UDS_MAXNODES   16
     Maximum number of nodes(devices) that can be connected to the network.
     
    +#define UDS_BROADCAST_NETWORKNODEID   0xFFFF
     Broadcast value for NetworkNodeID / alias for all NetworkNodeIDs.
     
    +#define UDS_HOST_NETWORKNODEID   0x1
     NetworkNodeID for the host(the first node).
     
    +#define UDS_DEFAULT_RECVBUFSIZE   0x2E30
     Default recv_buffer_size that can be used for udsBind() input / code which uses udsBind() internally.
     
    +#define UDS_DATAFRAME_MAXSIZE   0x5C6
     Max size of user data-frames.
     
    +#define UDS_CHECK_SENDTO_FATALERROR(x)   (R_FAILED(x) && x!=0xC86113F0)
     Check whether a fatal udsSendTo error occured(some error(s) from udsSendTo() can be ignored, but the frame won't be sent when that happens).
     
    + + + + + + + +

    +Enumerations

    enum  {
    +  UDSNETATTR_DisableConnectSpectators = BIT(0) +,
    +  UDSNETATTR_DisableConnectClients = BIT(1) +,
    +  UDSNETATTR_x4 = BIT(2) +,
    +  UDSNETATTR_Default = BIT(15) +
    + }
     
    enum  {
    +  UDS_SENDFLAG_Default = BIT(0) +,
    +  UDS_SENDFLAG_Broadcast = BIT(1) +
    + }
     
    enum  udsConnectionType {
    +  UDSCONTYPE_Client = 0x1 +,
    +  UDSCONTYPE_Spectator = 0x2 +
    + }
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    Result udsInit (size_t sharedmem_size, const char *username)
     Initializes UDS. More...
     
    +void udsExit (void)
     Exits UDS.
     
    Result udsGenerateNodeInfo (udsNodeInfo *nodeinfo, const char *username)
     Generates a NodeInfo struct with data loaded from system-config. More...
     
    Result udsGetNodeInfoUsername (const udsNodeInfo *nodeinfo, char *username)
     Loads the UTF-16 username stored in the input NodeInfo struct, converted to UTF-8. More...
     
    bool udsCheckNodeInfoInitialized (const udsNodeInfo *nodeinfo)
     Checks whether a NodeInfo struct was initialized by NWM-module(not any output from udsGenerateNodeInfo()). More...
     
    void udsGenerateDefaultNetworkStruct (udsNetworkStruct *network, u32 wlancommID, u8 id8, u8 max_nodes)
     Generates a default NetworkStruct for creating networks. More...
     
    Result udsScanBeacons (void *outbuf, size_t maxsize, udsNetworkScanInfo **networks, size_t *total_networks, u32 wlancommID, u8 id8, const u8 *host_macaddress, bool connected)
     Scans for networks via beacon-scanning. More...
     
    Result udsSetApplicationData (const void *buf, size_t size)
     This can be used by the host to set the appdata contained in the broadcasted beacons. More...
     
    Result udsGetApplicationData (void *buf, size_t size, size_t *actual_size)
     This can be used while on a network(host/client) to get the appdata from the current beacon. More...
     
    Result udsGetNetworkStructApplicationData (const udsNetworkStruct *network, void *buf, size_t size, size_t *actual_size)
     This can be used with a NetworkStruct, from udsScanBeacons() mainly, for getting the appdata. More...
     
    Result udsBind (udsBindContext *bindcontext, u16 NetworkNodeID, bool spectator, u8 data_channel, u32 recv_buffer_size)
     Create a bind. More...
     
    Result udsUnbind (udsBindContext *bindcontext)
     Remove a bind. More...
     
    bool udsWaitDataAvailable (const udsBindContext *bindcontext, bool nextEvent, bool wait)
     Waits for the bind event to occur, or checks if the event was signaled. More...
     
    Result udsPullPacket (const udsBindContext *bindcontext, void *buf, size_t size, size_t *actual_size, u16 *src_NetworkNodeID)
     Receives data over the network. More...
     
    Result udsSendTo (u16 dst_NetworkNodeID, u8 data_channel, u8 flags, const void *buf, size_t size)
     Sends data over the network. More...
     
    Result udsGetChannel (u8 *channel)
     Gets the wifi channel currently being used. More...
     
    Result udsCreateNetwork (const udsNetworkStruct *network, const void *passphrase, size_t passphrase_size, udsBindContext *context, u8 data_channel, u32 recv_buffer_size)
     Starts hosting a new network. More...
     
    Result udsConnectNetwork (const udsNetworkStruct *network, const void *passphrase, size_t passphrase_size, udsBindContext *context, u16 recv_NetworkNodeID, udsConnectionType connection_type, u8 data_channel, u32 recv_buffer_size)
     Connect to a network. More...
     
    +Result udsDestroyNetwork (void)
     Stop hosting the network.
     
    +Result udsDisconnectNetwork (void)
     Disconnect this client device from the network.
     
    Result udsEjectClient (u16 NetworkNodeID)
     This can be used by the host to force-disconnect client(s). More...
     
    Result udsEjectSpectator (void)
     This can be used by the host to force-disconnect the spectators. More...
     
    Result udsUpdateNetworkAttribute (u16 bitmask, bool flag)
     This can be used by the host to update the network attributes. More...
     
    Result udsSetNewConnectionsBlocked (bool block, bool clients, bool flag)
     This uses udsUpdateNetworkAttribute() for (un)blocking new connections to this host. More...
     
    Result udsAllowSpectators (void)
     This uses udsUpdateNetworkAttribute() for unblocking new spectator connections to this host. More...
     
    Result udsGetConnectionStatus (udsConnectionStatus *output)
     This loads the current ConnectionStatus struct. More...
     
    bool udsWaitConnectionStatusEvent (bool nextEvent, bool wait)
     Waits for the ConnectionStatus event to occur, or checks if the event was signaled. More...
     
    Result udsGetNodeInformation (u16 NetworkNodeID, udsNodeInfo *output)
     This loads a NodeInfo struct for the specified NetworkNodeID. More...
     
    +

    Detailed Description

    +

    UDS(NWMUDS) local-WLAN service.

    +

    https://3dbrew.org/wiki/NWM_Services

    +

    Function Documentation

    + +

    ◆ udsAllowSpectators()

    + +
    +
    + + + + + + + + +
    Result udsAllowSpectators (void )
    +
    + +

    This uses udsUpdateNetworkAttribute() for unblocking new spectator connections to this host.

    +

    See udsEjectSpectator() for blocking new spectators.

    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsBind()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result udsBind (udsBindContextbindcontext,
    u16 NetworkNodeID,
    bool spectator,
    u8 data_channel,
    u32 recv_buffer_size 
    )
    +
    + +

    Create a bind.

    +
    Parameters
    + + + + + + +
    bindcontextThe output bind context.
    NetworkNodeIDThis is the NetworkNodeID which this bind can receive data from.
    spectatorFalse for a regular bind, true for a spectator.
    data_channelThis is an arbitrary value to use for data-frame filtering. This bind will only receive data frames which contain a matching data_channel value, which was specified by udsSendTo(). The data_channel must be non-zero.
    recv_buffer_sizeSize of the buffer under sharedmem used for temporarily storing received data-frames which are then loaded by udsPullPacket(). The system requires this to be >=0x5F4. UDS_DEFAULT_RECVBUFSIZE can be used for this.
    +
    +
    + +
    +
    + +

    ◆ udsCheckNodeInfoInitialized()

    + +
    +
    + + + + + + + + +
    bool udsCheckNodeInfoInitialized (const udsNodeInfonodeinfo)
    +
    + +

    Checks whether a NodeInfo struct was initialized by NWM-module(not any output from udsGenerateNodeInfo()).

    +
    Parameters
    + + +
    nodeinfoInput NodeInfo struct.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsConnectNetwork()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result udsConnectNetwork (const udsNetworkStructnetwork,
    const void * passphrase,
    size_t passphrase_size,
    udsBindContextcontext,
    u16 recv_NetworkNodeID,
    udsConnectionType connection_type,
    u8 data_channel,
    u32 recv_buffer_size 
    )
    +
    + +

    Connect to a network.

    +
    Parameters
    + + + + + + + + + +
    networkThe NetworkStruct, you can use udsScanBeacons() for this.
    passphraseRaw input passphrase buffer.
    passphrase_sizeSize of the passphrase buffer.
    contextOptional output bind context which will be created for this host.
    recv_NetworkNodeIDThis is the NetworkNodeID passed to udsBind() internally.
    connection_typeType of connection, see the udsConnectionType enum values.
    data_channelThis is the data_channel value which will be passed to udsBind() internally.
    recv_buffer_sizeThis is the recv_buffer_size value which will be passed to udsBind() internally.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsCreateNetwork()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result udsCreateNetwork (const udsNetworkStructnetwork,
    const void * passphrase,
    size_t passphrase_size,
    udsBindContextcontext,
    u8 data_channel,
    u32 recv_buffer_size 
    )
    +
    + +

    Starts hosting a new network.

    +
    Parameters
    + + + + + + + +
    networkThe NetworkStruct, you can use udsGenerateDefaultNetworkStruct() for generating this.
    passphraseRaw input passphrase buffer.
    passphrase_sizeSize of the passphrase buffer.
    contextOptional output bind context which will be created for this host, with NetworkNodeID=UDS_BROADCAST_NETWORKNODEID.
    data_channelThis is the data_channel value which will be passed to udsBind() internally.
    recv_buffer_sizeThis is the recv_buffer_size value which will be passed to udsBind() internally.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsEjectClient()

    + +
    +
    + + + + + + + + +
    Result udsEjectClient (u16 NetworkNodeID)
    +
    + +

    This can be used by the host to force-disconnect client(s).

    +
    Parameters
    + + +
    NetworkNodeIDTarget NetworkNodeID. UDS_BROADCAST_NETWORKNODEID can be used to disconnect all clients.
    +
    +
    + +
    +
    + +

    ◆ udsEjectSpectator()

    + +
    +
    + + + + + + + + +
    Result udsEjectSpectator (void )
    +
    + +

    This can be used by the host to force-disconnect the spectators.

    +

    Afterwards new spectators will not be allowed to connect until udsAllowSpectators() is used.

    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsGenerateDefaultNetworkStruct()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void udsGenerateDefaultNetworkStruct (udsNetworkStructnetwork,
    u32 wlancommID,
    u8 id8,
    u8 max_nodes 
    )
    +
    + +

    Generates a default NetworkStruct for creating networks.

    +
    Parameters
    + + + + + +
    networkThe output struct.
    wlancommIDUnique local-WLAN communications ID for each application.
    id8Additional ID that can be used by the application for different types of networks.
    max_nodesMaximum number of nodes(devices) that can be connected to the network, including the host.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsGenerateNodeInfo()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result udsGenerateNodeInfo (udsNodeInfonodeinfo,
    const char * username 
    )
    +
    + +

    Generates a NodeInfo struct with data loaded from system-config.

    +
    Parameters
    + + + +
    nodeinfoOutput NodeInfo struct.
    usernameIf set, this is the UTF-8 string to convert for use in the struct. Max len is 10 characters without NUL-terminator.
    +
    +
    + +
    +
    + +

    ◆ udsGetApplicationData()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result udsGetApplicationData (void * buf,
    size_t size,
    size_t * actual_size 
    )
    +
    + +

    This can be used while on a network(host/client) to get the appdata from the current beacon.

    +
    Parameters
    + + + + +
    bufAppdata buffer.
    sizeMax size of the output buffer.
    actual_sizeIf set, the actual size of the appdata written into the buffer is stored here.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsGetChannel()

    + +
    +
    + + + + + + + + +
    Result udsGetChannel (u8channel)
    +
    + +

    Gets the wifi channel currently being used.

    +
    Parameters
    + + +
    channelOutput channel.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsGetConnectionStatus()

    + +
    +
    + + + + + + + + +
    Result udsGetConnectionStatus (udsConnectionStatusoutput)
    +
    + +

    This loads the current ConnectionStatus struct.

    +
    Parameters
    + + +
    outputOutput ConnectionStatus struct.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsGetNetworkStructApplicationData()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result udsGetNetworkStructApplicationData (const udsNetworkStructnetwork,
    void * buf,
    size_t size,
    size_t * actual_size 
    )
    +
    + +

    This can be used with a NetworkStruct, from udsScanBeacons() mainly, for getting the appdata.

    +
    Parameters
    + + + + +
    bufAppdata buffer.
    sizeMax size of the output buffer.
    actual_sizeIf set, the actual size of the appdata written into the buffer is stored here.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsGetNodeInformation()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result udsGetNodeInformation (u16 NetworkNodeID,
    udsNodeInfooutput 
    )
    +
    + +

    This loads a NodeInfo struct for the specified NetworkNodeID.

    +

    The broadcast alias can't be used with this.

    Parameters
    + + + +
    NetworkNodeIDTarget NetworkNodeID.
    outputOutput NodeInfo struct.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsGetNodeInfoUsername()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result udsGetNodeInfoUsername (const udsNodeInfonodeinfo,
    char * username 
    )
    +
    + +

    Loads the UTF-16 username stored in the input NodeInfo struct, converted to UTF-8.

    +
    Parameters
    + + + +
    nodeinfoInput NodeInfo struct.
    usernameThis is the output UTF-8 string. Max len is 10 characters without NUL-terminator.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsInit()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result udsInit (size_t sharedmem_size,
    const char * username 
    )
    +
    + +

    Initializes UDS.

    +
    Parameters
    + + + +
    sharedmem_sizeThis must be 0x1000-byte aligned.
    usernameOptional custom UTF-8 username(converted to UTF-16 internally) that other nodes on the UDS network can use. If not set the username from system-config is used. Max len is 10 characters without NUL-terminator.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsPullPacket()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result udsPullPacket (const udsBindContextbindcontext,
    void * buf,
    size_t size,
    size_t * actual_size,
    u16src_NetworkNodeID 
    )
    +
    + +

    Receives data over the network.

    +

    This data is loaded from the recv_buffer setup by udsBind(). When a node disconnects, this will still return data from that node until there's no more frames from that node in the recv_buffer.

    Parameters
    + + + + + + +
    bindcontextBind context.
    bufOutput receive buffer.
    sizeSize of the buffer.
    actual_sizeIf set, the actual size written into the output buffer is stored here. This is zero when no data was received.
    src_NetworkNodeIDIf set, the source NetworkNodeID is written here. This is zero when no data was received.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsScanBeacons()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result udsScanBeacons (void * outbuf,
    size_t maxsize,
    udsNetworkScanInfo ** networks,
    size_t * total_networks,
    u32 wlancommID,
    u8 id8,
    const u8host_macaddress,
    bool connected 
    )
    +
    + +

    Scans for networks via beacon-scanning.

    +
    Parameters
    + + + + + + +
    outbufBuffer which will be used by the beacon-scanning command and for the data parsing afterwards. Normally there's no need to use the contents of this buffer once this function returns.
    maxsizeMax size of the buffer. @Param networks Ptr where the allocated udsNetworkScanInfo array buffer is written. The allocsize is sizeof(udsNetworkScanInfo)*total_networks. @Param total_networks Total number of networks stored under the networks buffer.
    wlancommIDUnique local-WLAN communications ID for each application.
    id8Additional ID that can be used by the application for different types of networks.
    host_macaddressWhen set, this code will only return network info from the specified host MAC address. @connected When not connected to a network this must be false. When connected to a network this must be true.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsSendTo()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result udsSendTo (u16 dst_NetworkNodeID,
    u8 data_channel,
    u8 flags,
    const void * buf,
    size_t size 
    )
    +
    + +

    Sends data over the network.

    +
    Parameters
    + + + + + + +
    dst_NetworkNodeIDDestination NetworkNodeID.
    data_channelSee udsBind().
    flagsSend flags, see the UDS_SENDFLAG enum values.
    bufInput send buffer.
    sizeSize of the buffer.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsSetApplicationData()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result udsSetApplicationData (const void * buf,
    size_t size 
    )
    +
    + +

    This can be used by the host to set the appdata contained in the broadcasted beacons.

    +
    Parameters
    + + + +
    bufAppdata buffer.
    sizeSize of the input appdata.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsSetNewConnectionsBlocked()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    Result udsSetNewConnectionsBlocked (bool block,
    bool clients,
    bool flag 
    )
    +
    + +

    This uses udsUpdateNetworkAttribute() for (un)blocking new connections to this host.

    +
    Parameters
    + + + + +
    blockWhen true, block the specified connection types(bitmask set). Otherwise allow them(bitmask clear).
    clientsWhen true, (un)block regular clients.
    flagWhen true, update UDSNETATTR_x4. Normally this should be false.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsUnbind()

    + +
    +
    + + + + + + + + +
    Result udsUnbind (udsBindContextbindcontext)
    +
    + +

    Remove a bind.

    +
    Parameters
    + + +
    bindcontextThe bind context.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsUpdateNetworkAttribute()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result udsUpdateNetworkAttribute (u16 bitmask,
    bool flag 
    )
    +
    + +

    This can be used by the host to update the network attributes.

    +

    If bitmask 0x4 is clear in the input bitmask, this clears that bit in the value before actually writing the value into state. Normally you should use the below wrapper functions.

    Parameters
    + + + +
    bitmaskBitmask to clear/set in the attributes. See the UDSNETATTR enum values.
    flagWhen false, bit-clear, otherwise bit-set.
    +
    +
    + +
    +
    + +

    ◆ udsWaitConnectionStatusEvent()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    bool udsWaitConnectionStatusEvent (bool nextEvent,
    bool wait 
    )
    +
    + +

    Waits for the ConnectionStatus event to occur, or checks if the event was signaled.

    +

    This event is signaled when the data from udsGetConnectionStatus() was updated internally.

    Returns
    Always true. However if wait=false, this will return false if the event wasn't signaled.
    +
    Parameters
    + + + +
    nextEventWhether to discard the current event and wait for the next event.
    waitWhen true this will not return until the event is signaled. When false this checks if the event was signaled without waiting for it.
    +
    +
    +
    Examples
    network/uds/source/uds.c.
    +
    + +
    +
    + +

    ◆ udsWaitDataAvailable()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    bool udsWaitDataAvailable (const udsBindContextbindcontext,
    bool nextEvent,
    bool wait 
    )
    +
    + +

    Waits for the bind event to occur, or checks if the event was signaled.

    +

    This event is signaled every time new data is available via udsPullPacket().

    Returns
    Always true. However if wait=false, this will return false if the event wasn't signaled.
    +
    Parameters
    + + + + +
    bindcontextThe bind context.
    nextEventWhether to discard the current event and wait for the next event.
    waitWhen true this will not return until the event is signaled. When false this checks if the event was signaled without waiting for it.
    +
    +
    + +
    +
    +
    + + + + diff --git a/uds_8h_source.html b/uds_8h_source.html new file mode 100644 index 000000000..0b1e080a8 --- /dev/null +++ b/uds_8h_source.html @@ -0,0 +1,491 @@ + + + + + + + +libctru: include/3ds/services/uds.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    uds.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file uds.h
    +
    3  * @brief UDS(NWMUDS) local-WLAN service. https://3dbrew.org/wiki/NWM_Services
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 /// Maximum number of nodes(devices) that can be connected to the network.
    +
    8 #define UDS_MAXNODES 16
    +
    9 
    +
    10 /// Broadcast value for NetworkNodeID / alias for all NetworkNodeIDs.
    +
    11 #define UDS_BROADCAST_NETWORKNODEID 0xFFFF
    +
    12 
    +
    13 /// NetworkNodeID for the host(the first node).
    +
    14 #define UDS_HOST_NETWORKNODEID 0x1
    +
    15 
    +
    16 /// Default recv_buffer_size that can be used for udsBind() input / code which uses udsBind() internally.
    +
    17 #define UDS_DEFAULT_RECVBUFSIZE 0x2E30
    +
    18 
    +
    19 /// Max size of user data-frames.
    +
    20 #define UDS_DATAFRAME_MAXSIZE 0x5C6
    +
    21 
    +
    22 /// Check whether a fatal udsSendTo error occured(some error(s) from udsSendTo() can be ignored, but the frame won't be sent when that happens).
    +
    23 #define UDS_CHECK_SENDTO_FATALERROR(x) (R_FAILED(x) && x!=0xC86113F0)
    +
    24 
    +
    25 /// Node info struct.
    +
    26 typedef struct {
    +
    27  u64 uds_friendcodeseed;//UDS version of the FriendCodeSeed.
    +
    28 
    +
    29  union {
    +
    30  u8 usercfg[0x18];//This is the first 0x18-bytes from this config block: https://www.3dbrew.org/wiki/Config_Savegame#0x000A0000_Block
    +
    31 
    +
    32  struct {
    +
    33  u16 username[10];
    +
    34 
    +
    35  u16 unk_x1c;//Unknown, normally zero. Set to 0x0 with the output from udsScanBeacons().
    +
    36  u8 flag;//"u8 flag, unknown. Originates from the u16 bitmask in the beacon node-list header. This flag is normally 0 since that bitmask is normally 0?"
    +
    37  u8 pad_x1f;//Unknown, normally zero.
    +
    38  };
    +
    39  };
    +
    40 
    +
    41  //The rest of this is initialized by NWM-module.
    +
    42  u16 NetworkNodeID;
    +
    43  u16 pad_x22;//Unknown, normally zero?
    +
    44  u32 word_x24;//Normally zero?
    +
    45 } udsNodeInfo;
    +
    46 
    +
    47 /// Connection status struct.
    +
    48 typedef struct {
    +
    49  u32 status;
    +
    50  u32 unk_x4;
    +
    51  u16 cur_NetworkNodeID;//"u16 NetworkNodeID for this device."
    +
    52  u16 unk_xa;
    +
    53  u32 unk_xc[0x20>>2];
    +
    54 
    +
    55  u8 total_nodes;
    +
    56  u8 max_nodes;
    +
    57  u16 node_bitmask;//"This is a bitmask of NetworkNodeIDs: bit0 for NetworkNodeID 0x1(host), bit1 for NetworkNodeID 0x2(first original client), and so on."
    + +
    59 
    +
    60 /// Network struct stored as big-endian.
    +
    61 typedef struct {
    +
    62  u8 host_macaddress[6];
    +
    63  u8 channel;//Wifi channel for this network. If you want to create a network on a specific channel instead of the system selecting it, you can set this to a non-zero channel value.
    +
    64  u8 pad_x7;
    +
    65 
    +
    66  u8 initialized_flag;//Must be non-zero otherwise NWM-module will use zeros internally instead of the actual field data, for most/all(?) of the fields in this struct.
    +
    67 
    +
    68  u8 unk_x9[3];
    +
    69 
    +
    70  u8 oui_value[3];//"This is the OUI value for use with the beacon tags. Normally this is 001F32."
    +
    71  u8 oui_type;//"OUI type (21/0x15)"
    +
    72 
    +
    73  u32 wlancommID;//Unique local-WLAN communications ID for each application.
    +
    74  u8 id8;//Additional ID that can be used by the application for different types of networks.
    +
    75  u8 unk_x15;
    +
    76 
    +
    77  u16 attributes;//See the UDSNETATTR enum values below.
    +
    78 
    +
    79  u32 networkID;
    +
    80 
    +
    81  u8 total_nodes;
    +
    82  u8 max_nodes;
    +
    83  u8 unk_x1e;
    +
    84  u8 unk_x1f;
    +
    85  u8 unk_x20[0x1f];
    +
    86 
    +
    87  u8 appdata_size;
    +
    88  u8 appdata[0xc8];
    + +
    90 
    +
    91 typedef struct {
    +
    92  u32 BindNodeID;
    +
    93  Handle event;
    +
    94  bool spectator;
    + +
    96 
    +
    97 /// General NWM input structure used for AP scanning.
    +
    98 typedef struct {
    +
    99  u16 unk_x0;
    +
    100  u16 unk_x2;
    +
    101  u16 unk_x4;
    +
    102  u16 unk_x6;
    +
    103 
    +
    104  u8 mac_address[6];
    +
    105 
    +
    106  u8 unk_xe[0x26];//Not initialized by dlp.
    + +
    108 
    +
    109 /// General NWM output structure from AP scanning.
    +
    110 typedef struct {
    +
    111  u32 maxsize;//"Max output size, from the command request."
    +
    112  u32 size;//"Total amount of output data written relative to struct+0. 0xC when there's no entries."
    +
    113  u32 total_entries;//"Total entries, 0 for none. "
    +
    114 
    +
    115  //The entries start here.
    + +
    117 
    +
    118 /// General NWM output structure from AP scanning, for each entry.
    +
    119 typedef struct {
    +
    120  u32 size;//"Size of this entire entry. The next entry starts at curentry_startoffset+curentry_size."
    +
    121  u8 unk_x4;
    +
    122  u8 channel;//Wifi channel for the AP.
    +
    123  u8 unk_x6;
    +
    124  u8 unk_x7;
    +
    125  u8 mac_address[6];//"AP MAC address."
    +
    126  u8 unk_xe[6];
    +
    127  u32 unk_x14;
    +
    128  u32 val_x1c;//"Value 0x1C(size of this header and/or offset to the actual beacon data)."
    +
    129 
    +
    130  //The actual beacon data starts here.
    + +
    132 
    +
    133 /// Output structure generated from host scanning output.
    +
    134 typedef struct {
    +
    135  nwmBeaconDataReplyEntry datareply_entry;
    +
    136  udsNetworkStruct network;
    +
    137  udsNodeInfo nodes[UDS_MAXNODES];
    + +
    139 
    +
    140 enum {
    +
    141  UDSNETATTR_DisableConnectSpectators = BIT(0), //When set new Spectators are not allowed to connect.
    +
    142  UDSNETATTR_DisableConnectClients = BIT(1), //When set new Clients are not allowed to connect.
    +
    143  UDSNETATTR_x4 = BIT(2), //Unknown what this bit is for.
    +
    144  UDSNETATTR_Default = BIT(15), //Unknown what this bit is for.
    +
    145 };
    +
    146 
    +
    147 enum {
    +
    148  UDS_SENDFLAG_Default = BIT(0), //Unknown what this bit is for.
    +
    149  UDS_SENDFLAG_Broadcast = BIT(1) //When set, broadcast the data frame via the destination MAC address even when UDS_BROADCAST_NETWORKNODEID isn't used.
    +
    150 };
    +
    151 
    +
    152 typedef enum {
    +
    153  UDSCONTYPE_Client = 0x1,
    +
    154  UDSCONTYPE_Spectator = 0x2
    +
    155 } udsConnectionType;
    +
    156 
    +
    157 /**
    +
    158  * @brief Initializes UDS.
    +
    159  * @param sharedmem_size This must be 0x1000-byte aligned.
    +
    160  * @param username Optional custom UTF-8 username(converted to UTF-16 internally) that other nodes on the UDS network can use. If not set the username from system-config is used. Max len is 10 characters without NUL-terminator.
    +
    161  */
    +
    162 Result udsInit(size_t sharedmem_size, const char *username);
    +
    163 
    +
    164 /// Exits UDS.
    +
    165 void udsExit(void);
    +
    166 
    +
    167 /**
    +
    168  * @brief Generates a NodeInfo struct with data loaded from system-config.
    +
    169  * @param nodeinfo Output NodeInfo struct.
    +
    170  * @param username If set, this is the UTF-8 string to convert for use in the struct. Max len is 10 characters without NUL-terminator.
    +
    171  */
    +
    172 Result udsGenerateNodeInfo(udsNodeInfo *nodeinfo, const char *username);
    +
    173 
    +
    174 /**
    +
    175  * @brief Loads the UTF-16 username stored in the input NodeInfo struct, converted to UTF-8.
    +
    176  * @param nodeinfo Input NodeInfo struct.
    +
    177  * @param username This is the output UTF-8 string. Max len is 10 characters without NUL-terminator.
    +
    178  */
    +
    179 Result udsGetNodeInfoUsername(const udsNodeInfo *nodeinfo, char *username);
    +
    180 
    +
    181 /**
    +
    182  * @brief Checks whether a NodeInfo struct was initialized by NWM-module(not any output from udsGenerateNodeInfo()).
    +
    183  * @param nodeinfo Input NodeInfo struct.
    +
    184  */
    + +
    186 
    +
    187 /**
    +
    188  * @brief Generates a default NetworkStruct for creating networks.
    +
    189  * @param network The output struct.
    +
    190  * @param wlancommID Unique local-WLAN communications ID for each application.
    +
    191  * @param id8 Additional ID that can be used by the application for different types of networks.
    +
    192  * @param max_nodes Maximum number of nodes(devices) that can be connected to the network, including the host.
    +
    193  */
    +
    194 void udsGenerateDefaultNetworkStruct(udsNetworkStruct *network, u32 wlancommID, u8 id8, u8 max_nodes);
    +
    195 
    +
    196 /**
    +
    197  * @brief Scans for networks via beacon-scanning.
    +
    198  * @param outbuf Buffer which will be used by the beacon-scanning command and for the data parsing afterwards. Normally there's no need to use the contents of this buffer once this function returns.
    +
    199  * @param maxsize Max size of the buffer.
    +
    200  * @Param networks Ptr where the allocated udsNetworkScanInfo array buffer is written. The allocsize is sizeof(udsNetworkScanInfo)*total_networks.
    +
    201  * @Param total_networks Total number of networks stored under the networks buffer.
    +
    202  * @param wlancommID Unique local-WLAN communications ID for each application.
    +
    203  * @param id8 Additional ID that can be used by the application for different types of networks.
    +
    204  * @param host_macaddress When set, this code will only return network info from the specified host MAC address.
    +
    205  * @connected When not connected to a network this *must* be false. When connected to a network this *must* be true.
    +
    206  */
    +
    207 Result udsScanBeacons(void *outbuf, size_t maxsize, udsNetworkScanInfo **networks, size_t *total_networks, u32 wlancommID, u8 id8, const u8 *host_macaddress, bool connected);
    +
    208 
    +
    209 /**
    +
    210  * @brief This can be used by the host to set the appdata contained in the broadcasted beacons.
    +
    211  * @param buf Appdata buffer.
    +
    212  * @param size Size of the input appdata.
    +
    213  */
    +
    214 Result udsSetApplicationData(const void *buf, size_t size);
    +
    215 
    +
    216 /**
    +
    217  * @brief This can be used while on a network(host/client) to get the appdata from the current beacon.
    +
    218  * @param buf Appdata buffer.
    +
    219  * @param size Max size of the output buffer.
    +
    220  * @param actual_size If set, the actual size of the appdata written into the buffer is stored here.
    +
    221  */
    +
    222 Result udsGetApplicationData(void *buf, size_t size, size_t *actual_size);
    +
    223 
    +
    224 /**
    +
    225  * @brief This can be used with a NetworkStruct, from udsScanBeacons() mainly, for getting the appdata.
    +
    226  * @param buf Appdata buffer.
    +
    227  * @param size Max size of the output buffer.
    +
    228  * @param actual_size If set, the actual size of the appdata written into the buffer is stored here.
    +
    229  */
    +
    230 Result udsGetNetworkStructApplicationData(const udsNetworkStruct *network, void *buf, size_t size, size_t *actual_size);
    +
    231 
    +
    232 /**
    +
    233  * @brief Create a bind.
    +
    234  * @param bindcontext The output bind context.
    +
    235  * @param NetworkNodeID This is the NetworkNodeID which this bind can receive data from.
    +
    236  * @param spectator False for a regular bind, true for a spectator.
    +
    237  * @param data_channel This is an arbitrary value to use for data-frame filtering. This bind will only receive data frames which contain a matching data_channel value, which was specified by udsSendTo(). The data_channel must be non-zero.
    +
    238  * @param recv_buffer_size Size of the buffer under sharedmem used for temporarily storing received data-frames which are then loaded by udsPullPacket(). The system requires this to be >=0x5F4. UDS_DEFAULT_RECVBUFSIZE can be used for this.
    +
    239  */
    +
    240 Result udsBind(udsBindContext *bindcontext, u16 NetworkNodeID, bool spectator, u8 data_channel, u32 recv_buffer_size);
    +
    241 
    +
    242 /**
    +
    243  * @brief Remove a bind.
    +
    244  * @param bindcontext The bind context.
    +
    245  */
    + +
    247 
    +
    248 /**
    +
    249  * @brief Waits for the bind event to occur, or checks if the event was signaled. This event is signaled every time new data is available via udsPullPacket().
    +
    250  * @return Always true. However if wait=false, this will return false if the event wasn't signaled.
    +
    251  * @param bindcontext The bind context.
    +
    252  * @param nextEvent Whether to discard the current event and wait for the next event.
    +
    253  * @param wait When true this will not return until the event is signaled. When false this checks if the event was signaled without waiting for it.
    +
    254  */
    +
    255 bool udsWaitDataAvailable(const udsBindContext *bindcontext, bool nextEvent, bool wait);
    +
    256 
    +
    257 /**
    +
    258  * @brief Receives data over the network. This data is loaded from the recv_buffer setup by udsBind(). When a node disconnects, this will still return data from that node until there's no more frames from that node in the recv_buffer.
    +
    259  * @param bindcontext Bind context.
    +
    260  * @param buf Output receive buffer.
    +
    261  * @param size Size of the buffer.
    +
    262  * @param actual_size If set, the actual size written into the output buffer is stored here. This is zero when no data was received.
    +
    263  * @param src_NetworkNodeID If set, the source NetworkNodeID is written here. This is zero when no data was received.
    +
    264  */
    +
    265 Result udsPullPacket(const udsBindContext *bindcontext, void *buf, size_t size, size_t *actual_size, u16 *src_NetworkNodeID);
    +
    266 
    +
    267 /**
    +
    268  * @brief Sends data over the network.
    +
    269  * @param dst_NetworkNodeID Destination NetworkNodeID.
    +
    270  * @param data_channel See udsBind().
    +
    271  * @param flags Send flags, see the UDS_SENDFLAG enum values.
    +
    272  * @param buf Input send buffer.
    +
    273  * @param size Size of the buffer.
    +
    274  */
    +
    275 Result udsSendTo(u16 dst_NetworkNodeID, u8 data_channel, u8 flags, const void *buf, size_t size);
    +
    276 
    +
    277 /**
    +
    278  * @brief Gets the wifi channel currently being used.
    +
    279  * @param channel Output channel.
    +
    280  */
    + +
    282 
    +
    283 /**
    +
    284  * @brief Starts hosting a new network.
    +
    285  * @param network The NetworkStruct, you can use udsGenerateDefaultNetworkStruct() for generating this.
    +
    286  * @param passphrase Raw input passphrase buffer.
    +
    287  * @param passphrase_size Size of the passphrase buffer.
    +
    288  * @param context Optional output bind context which will be created for this host, with NetworkNodeID=UDS_BROADCAST_NETWORKNODEID.
    +
    289  * @param data_channel This is the data_channel value which will be passed to udsBind() internally.
    +
    290  * @param recv_buffer_size This is the recv_buffer_size value which will be passed to udsBind() internally.
    +
    291  */
    +
    292 Result udsCreateNetwork(const udsNetworkStruct *network, const void *passphrase, size_t passphrase_size, udsBindContext *context, u8 data_channel, u32 recv_buffer_size);
    +
    293 
    +
    294 /**
    +
    295  * @brief Connect to a network.
    +
    296  * @param network The NetworkStruct, you can use udsScanBeacons() for this.
    +
    297  * @param passphrase Raw input passphrase buffer.
    +
    298  * @param passphrase_size Size of the passphrase buffer.
    +
    299  * @param context Optional output bind context which will be created for this host.
    +
    300  * @param recv_NetworkNodeID This is the NetworkNodeID passed to udsBind() internally.
    +
    301  * @param connection_type Type of connection, see the udsConnectionType enum values.
    +
    302  * @param data_channel This is the data_channel value which will be passed to udsBind() internally.
    +
    303  * @param recv_buffer_size This is the recv_buffer_size value which will be passed to udsBind() internally.
    +
    304  */
    +
    305 Result udsConnectNetwork(const udsNetworkStruct *network, const void *passphrase, size_t passphrase_size, udsBindContext *context, u16 recv_NetworkNodeID, udsConnectionType connection_type, u8 data_channel, u32 recv_buffer_size);
    +
    306 
    +
    307 /**
    +
    308  * @brief Stop hosting the network.
    +
    309  */
    + +
    311 
    +
    312 /**
    +
    313  * @brief Disconnect this client device from the network.
    +
    314  */
    + +
    316 
    +
    317 /**
    +
    318  * @brief This can be used by the host to force-disconnect client(s).
    +
    319  * @param NetworkNodeID Target NetworkNodeID. UDS_BROADCAST_NETWORKNODEID can be used to disconnect all clients.
    +
    320  */
    +
    321 Result udsEjectClient(u16 NetworkNodeID);
    +
    322 
    +
    323 /**
    +
    324  * @brief This can be used by the host to force-disconnect the spectators. Afterwards new spectators will not be allowed to connect until udsAllowSpectators() is used.
    +
    325  */
    + +
    327 
    +
    328 /**
    +
    329  * @brief This can be used by the host to update the network attributes. If bitmask 0x4 is clear in the input bitmask, this clears that bit in the value before actually writing the value into state. Normally you should use the below wrapper functions.
    +
    330  * @param bitmask Bitmask to clear/set in the attributes. See the UDSNETATTR enum values.
    +
    331  * @param flag When false, bit-clear, otherwise bit-set.
    +
    332  */
    + +
    334 
    +
    335 /**
    +
    336  * @brief This uses udsUpdateNetworkAttribute() for (un)blocking new connections to this host.
    +
    337  * @param block When true, block the specified connection types(bitmask set). Otherwise allow them(bitmask clear).
    +
    338  * @param clients When true, (un)block regular clients.
    +
    339  * @param flag When true, update UDSNETATTR_x4. Normally this should be false.
    +
    340  */
    +
    341 Result udsSetNewConnectionsBlocked(bool block, bool clients, bool flag);
    +
    342 
    +
    343 /**
    +
    344  * @brief This uses udsUpdateNetworkAttribute() for unblocking new spectator connections to this host. See udsEjectSpectator() for blocking new spectators.
    +
    345  */
    + +
    347 
    +
    348 /**
    +
    349  * @brief This loads the current ConnectionStatus struct.
    +
    350  * @param output Output ConnectionStatus struct.
    +
    351  */
    + +
    353 
    +
    354 /**
    +
    355  * @brief Waits for the ConnectionStatus event to occur, or checks if the event was signaled. This event is signaled when the data from udsGetConnectionStatus() was updated internally.
    +
    356  * @return Always true. However if wait=false, this will return false if the event wasn't signaled.
    +
    357  * @param nextEvent Whether to discard the current event and wait for the next event.
    +
    358  * @param wait When true this will not return until the event is signaled. When false this checks if the event was signaled without waiting for it.
    +
    359  */
    +
    360 bool udsWaitConnectionStatusEvent(bool nextEvent, bool wait);
    +
    361 
    +
    362 /**
    +
    363  * @brief This loads a NodeInfo struct for the specified NetworkNodeID. The broadcast alias can't be used with this.
    +
    364  * @param NetworkNodeID Target NetworkNodeID.
    +
    365  * @param output Output NodeInfo struct.
    +
    366  */
    +
    367 Result udsGetNodeInformation(u16 NetworkNodeID, udsNodeInfo *output);
    +
    368 
    +
    General NWM output structure from AP scanning, for each entry.
    Definition: uds.h:119
    +
    General NWM output structure from AP scanning.
    Definition: uds.h:110
    +
    General NWM input structure used for AP scanning.
    Definition: uds.h:98
    +
    Definition: uds.h:91
    +
    Connection status struct.
    Definition: uds.h:48
    +
    Output structure generated from host scanning output.
    Definition: uds.h:134
    +
    Network struct stored as big-endian.
    Definition: uds.h:61
    +
    Node info struct.
    Definition: uds.h:26
    +
    #define BIT(n)
    Creates a bitmask from a bit number.
    Definition: types.h:47
    +
    uint64_t u64
    64-bit unsigned integer
    Definition: types.h:24
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint16_t u16
    16-bit unsigned integer
    Definition: types.h:22
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    Result udsUnbind(udsBindContext *bindcontext)
    Remove a bind.
    +
    void udsExit(void)
    Exits UDS.
    +
    Result udsPullPacket(const udsBindContext *bindcontext, void *buf, size_t size, size_t *actual_size, u16 *src_NetworkNodeID)
    Receives data over the network.
    +
    Result udsCreateNetwork(const udsNetworkStruct *network, const void *passphrase, size_t passphrase_size, udsBindContext *context, u8 data_channel, u32 recv_buffer_size)
    Starts hosting a new network.
    +
    Result udsSendTo(u16 dst_NetworkNodeID, u8 data_channel, u8 flags, const void *buf, size_t size)
    Sends data over the network.
    +
    Result udsScanBeacons(void *outbuf, size_t maxsize, udsNetworkScanInfo **networks, size_t *total_networks, u32 wlancommID, u8 id8, const u8 *host_macaddress, bool connected)
    Scans for networks via beacon-scanning.
    +
    Result udsBind(udsBindContext *bindcontext, u16 NetworkNodeID, bool spectator, u8 data_channel, u32 recv_buffer_size)
    Create a bind.
    +
    Result udsDisconnectNetwork(void)
    Disconnect this client device from the network.
    +
    bool udsWaitConnectionStatusEvent(bool nextEvent, bool wait)
    Waits for the ConnectionStatus event to occur, or checks if the event was signaled.
    +
    Result udsDestroyNetwork(void)
    Stop hosting the network.
    +
    Result udsSetNewConnectionsBlocked(bool block, bool clients, bool flag)
    This uses udsUpdateNetworkAttribute() for (un)blocking new connections to this host.
    +
    Result udsEjectSpectator(void)
    This can be used by the host to force-disconnect the spectators.
    +
    Result udsConnectNetwork(const udsNetworkStruct *network, const void *passphrase, size_t passphrase_size, udsBindContext *context, u16 recv_NetworkNodeID, udsConnectionType connection_type, u8 data_channel, u32 recv_buffer_size)
    Connect to a network.
    +
    Result udsGetChannel(u8 *channel)
    Gets the wifi channel currently being used.
    +
    Result udsSetApplicationData(const void *buf, size_t size)
    This can be used by the host to set the appdata contained in the broadcasted beacons.
    +
    bool udsWaitDataAvailable(const udsBindContext *bindcontext, bool nextEvent, bool wait)
    Waits for the bind event to occur, or checks if the event was signaled.
    +
    Result udsAllowSpectators(void)
    This uses udsUpdateNetworkAttribute() for unblocking new spectator connections to this host.
    +
    Result udsInit(size_t sharedmem_size, const char *username)
    Initializes UDS.
    +
    Result udsGetConnectionStatus(udsConnectionStatus *output)
    This loads the current ConnectionStatus struct.
    +
    bool udsCheckNodeInfoInitialized(const udsNodeInfo *nodeinfo)
    Checks whether a NodeInfo struct was initialized by NWM-module(not any output from udsGenerateNodeInf...
    +
    Result udsGetNodeInformation(u16 NetworkNodeID, udsNodeInfo *output)
    This loads a NodeInfo struct for the specified NetworkNodeID.
    +
    Result udsGetApplicationData(void *buf, size_t size, size_t *actual_size)
    This can be used while on a network(host/client) to get the appdata from the current beacon.
    +
    Result udsGetNodeInfoUsername(const udsNodeInfo *nodeinfo, char *username)
    Loads the UTF-16 username stored in the input NodeInfo struct, converted to UTF-8.
    +
    Result udsGetNetworkStructApplicationData(const udsNetworkStruct *network, void *buf, size_t size, size_t *actual_size)
    This can be used with a NetworkStruct, from udsScanBeacons() mainly, for getting the appdata.
    +
    Result udsEjectClient(u16 NetworkNodeID)
    This can be used by the host to force-disconnect client(s).
    +
    Result udsGenerateNodeInfo(udsNodeInfo *nodeinfo, const char *username)
    Generates a NodeInfo struct with data loaded from system-config.
    +
    Result udsUpdateNetworkAttribute(u16 bitmask, bool flag)
    This can be used by the host to update the network attributes.
    +
    void udsGenerateDefaultNetworkStruct(udsNetworkStruct *network, u32 wlancommID, u8 id8, u8 max_nodes)
    Generates a default NetworkStruct for creating networks.
    +
    #define UDS_MAXNODES
    Maximum number of nodes(devices) that can be connected to the network.
    Definition: uds.h:8
    +
    + + + + diff --git a/unionCSND__CapInfo.html b/unionCSND__CapInfo.html new file mode 100644 index 000000000..ccc63e963 --- /dev/null +++ b/unionCSND__CapInfo.html @@ -0,0 +1,115 @@ + + + + + + + +libctru: CSND_CapInfo Union Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    CSND_CapInfo Union Reference
    +
    +
    + +

    Capture info. + More...

    + +

    #include <csnd.h>

    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 value [2]
     Raw values.
     
    +struct {
    +   u8   active
     Capture active.
     
    +   u8   _pad1
     Padding.
     
    +   u16   _pad2
     Padding.
     
    +   u32   unknownZero
     Unknown.
     
    }; 
     
    +

    Detailed Description

    +

    Capture info.

    +

    The documentation for this union was generated from the following file:
      +
    • include/3ds/services/csnd.h
    • +
    +
    + + + + diff --git a/unionCSND__ChnInfo.html b/unionCSND__ChnInfo.html new file mode 100644 index 000000000..c6c785ed3 --- /dev/null +++ b/unionCSND__ChnInfo.html @@ -0,0 +1,127 @@ + + + + + + + +libctru: CSND_ChnInfo Union Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    CSND_ChnInfo Union Reference
    +
    +
    + +

    Channel info. + More...

    + +

    #include <csnd.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 value [3]
     Raw values.
     
    +struct {
    +   u8   active
     Channel active.
     
    +   u8   _pad1
     Padding.
     
    +   u16   _pad2
     Padding.
     
    +   s16   adpcmSample
     Current ADPCM sample.
     
    +   u8   adpcmIndex
     Current ADPCM index.
     
    +   u8   _pad3
     Padding.
     
    +   u32   unknownZero
     Unknown.
     
    }; 
     
    +

    Detailed Description

    +

    Channel info.

    +

    The documentation for this union was generated from the following file:
      +
    • include/3ds/services/csnd.h
    • +
    +
    + + + + diff --git a/uniongxCmdEntry__s.html b/uniongxCmdEntry__s.html new file mode 100644 index 000000000..4978e83ea --- /dev/null +++ b/uniongxCmdEntry__s.html @@ -0,0 +1,116 @@ + + + + + + + +libctru: gxCmdEntry_s Union Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    gxCmdEntry_s Union Reference
    +
    +
    + +

    GX command entry. + More...

    + +

    #include <gx.h>

    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    +u32 data [8]
     Raw command data.
     
    +struct {
    +   u8   type
     Command type.
     
    +   u8   unk1
     
    +   u8   unk2
     
    +   u8   unk3
     
    +   u32   args [7]
     Command arguments.
     
    }; 
     
    +

    Detailed Description

    +

    GX command entry.

    +

    The documentation for this union was generated from the following file:
      +
    • include/3ds/gpu/gx.h
    • +
    +
    + + + + diff --git a/utf_8h.html b/utf_8h.html new file mode 100644 index 000000000..e0c7742e3 --- /dev/null +++ b/utf_8h.html @@ -0,0 +1,580 @@ + + + + + + + +libctru: include/3ds/util/utf.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    utf.h File Reference
    +
    +
    + +

    UTF conversion functions. +More...

    +
    #include <stdint.h>
    +#include <sys/types.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    ssize_t decode_utf8 (uint32_t *out, const uint8_t *in)
     Convert a UTF-8 sequence into a UTF-32 codepoint. More...
     
    ssize_t decode_utf16 (uint32_t *out, const uint16_t *in)
     Convert a UTF-16 sequence into a UTF-32 codepoint. More...
     
    ssize_t encode_utf8 (uint8_t *out, uint32_t in)
     Convert a UTF-32 codepoint into a UTF-8 sequence. More...
     
    ssize_t encode_utf16 (uint16_t *out, uint32_t in)
     Convert a UTF-32 codepoint into a UTF-16 sequence. More...
     
    ssize_t utf8_to_utf16 (uint16_t *out, const uint8_t *in, size_t len)
     Convert a UTF-8 sequence into a UTF-16 sequence. More...
     
    ssize_t utf8_to_utf32 (uint32_t *out, const uint8_t *in, size_t len)
     Convert a UTF-8 sequence into a UTF-32 sequence. More...
     
    ssize_t utf16_to_utf8 (uint8_t *out, const uint16_t *in, size_t len)
     Convert a UTF-16 sequence into a UTF-8 sequence. More...
     
    ssize_t utf16_to_utf32 (uint32_t *out, const uint16_t *in, size_t len)
     Convert a UTF-16 sequence into a UTF-32 sequence. More...
     
    ssize_t utf32_to_utf8 (uint8_t *out, const uint32_t *in, size_t len)
     Convert a UTF-32 sequence into a UTF-8 sequence. More...
     
    ssize_t utf32_to_utf16 (uint16_t *out, const uint32_t *in, size_t len)
     Convert a UTF-32 sequence into a UTF-16 sequence. More...
     
    +

    Detailed Description

    +

    UTF conversion functions.

    +

    Function Documentation

    + +

    ◆ decode_utf16()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    ssize_t decode_utf16 (uint32_t * out,
    const uint16_t * in 
    )
    +
    + +

    Convert a UTF-16 sequence into a UTF-32 codepoint.

    +
    Parameters
    + + + +
    [out]outOutput codepoint
    [in]inInput sequence
    +
    +
    +
    Returns
    number of input code units consumed
    +
    +-1 for error
    + +
    +
    + +

    ◆ decode_utf8()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    ssize_t decode_utf8 (uint32_t * out,
    const uint8_t * in 
    )
    +
    + +

    Convert a UTF-8 sequence into a UTF-32 codepoint.

    +
    Parameters
    + + + +
    [out]outOutput codepoint
    [in]inInput sequence
    +
    +
    +
    Returns
    number of input code units consumed
    +
    +-1 for error
    + +
    +
    + +

    ◆ encode_utf16()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    ssize_t encode_utf16 (uint16_t * out,
    uint32_t in 
    )
    +
    + +

    Convert a UTF-32 codepoint into a UTF-16 sequence.

    +
    Parameters
    + + + +
    [out]outOutput sequence
    [in]inInput codepoint
    +
    +
    +
    Returns
    number of output code units produced
    +
    +-1 for error
    +
    Note
    out must be able to store 2 code units
    + +
    +
    + +

    ◆ encode_utf8()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    ssize_t encode_utf8 (uint8_t * out,
    uint32_t in 
    )
    +
    + +

    Convert a UTF-32 codepoint into a UTF-8 sequence.

    +
    Parameters
    + + + +
    [out]outOutput sequence
    [in]inInput codepoint
    +
    +
    +
    Returns
    number of output code units produced
    +
    +-1 for error
    +
    Note
    out must be able to store 4 code units
    + +
    +
    + +

    ◆ utf16_to_utf32()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    ssize_t utf16_to_utf32 (uint32_t * out,
    const uint16_t * in,
    size_t len 
    )
    +
    + +

    Convert a UTF-16 sequence into a UTF-32 sequence.

    +

    Fills the output buffer up to len code units. Returns the number of code units that the input would produce; if it returns greater than len, the output has been truncated.

    +
    Parameters
    + + + + +
    [out]outOutput sequence
    [in]inInput sequence (null-terminated)
    [in]lenOutput length
    +
    +
    +
    Returns
    number of output code units produced
    +
    +-1 for error
    +
    Note
    out is not null-terminated
    + +
    +
    + +

    ◆ utf16_to_utf8()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    ssize_t utf16_to_utf8 (uint8_t * out,
    const uint16_t * in,
    size_t len 
    )
    +
    + +

    Convert a UTF-16 sequence into a UTF-8 sequence.

    +

    Fills the output buffer up to len code units. Returns the number of code units that the input would produce; if it returns greater than len, the output has been truncated.

    +
    Parameters
    + + + + +
    [out]outOutput sequence
    [in]inInput sequence (null-terminated)
    [in]lenOutput length
    +
    +
    +
    Returns
    number of output code units produced
    +
    +-1 for error
    +
    Note
    out is not null-terminated
    + +
    +
    + +

    ◆ utf32_to_utf16()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    ssize_t utf32_to_utf16 (uint16_t * out,
    const uint32_t * in,
    size_t len 
    )
    +
    + +

    Convert a UTF-32 sequence into a UTF-16 sequence.

    +
    Parameters
    + + + + +
    [out]outOutput sequence
    [in]inInput sequence (null-terminated)
    [in]lenOutput length
    +
    +
    +
    Returns
    number of output code units produced
    +
    +-1 for error
    +
    Note
    out is not null-terminated
    + +
    +
    + +

    ◆ utf32_to_utf8()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    ssize_t utf32_to_utf8 (uint8_t * out,
    const uint32_t * in,
    size_t len 
    )
    +
    + +

    Convert a UTF-32 sequence into a UTF-8 sequence.

    +

    Fills the output buffer up to len code units. Returns the number of code units that the input would produce; if it returns greater than len, the output has been truncated.

    +
    Parameters
    + + + + +
    [out]outOutput sequence
    [in]inInput sequence (null-terminated)
    [in]lenOutput length
    +
    +
    +
    Returns
    number of output code units produced
    +
    +-1 for error
    +
    Note
    out is not null-terminated
    + +
    +
    + +

    ◆ utf8_to_utf16()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    ssize_t utf8_to_utf16 (uint16_t * out,
    const uint8_t * in,
    size_t len 
    )
    +
    + +

    Convert a UTF-8 sequence into a UTF-16 sequence.

    +

    Fills the output buffer up to len code units. Returns the number of code units that the input would produce; if it returns greater than len, the output has been truncated.

    +
    Parameters
    + + + + +
    [out]outOutput sequence
    [in]inInput sequence (null-terminated)
    [in]lenOutput length
    +
    +
    +
    Returns
    number of output code units produced
    +
    +-1 for error
    +
    Note
    out is not null-terminated
    + +
    +
    + +

    ◆ utf8_to_utf32()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    ssize_t utf8_to_utf32 (uint32_t * out,
    const uint8_t * in,
    size_t len 
    )
    +
    + +

    Convert a UTF-8 sequence into a UTF-32 sequence.

    +

    Fills the output buffer up to len code units. Returns the number of code units that the input would produce; if it returns greater than len, the output has been truncated.

    +
    Parameters
    + + + + +
    [out]outOutput sequence
    [in]inInput sequence (null-terminated)
    [in]lenOutput length
    +
    +
    +
    Returns
    number of output code units produced
    +
    +-1 for error
    +
    Note
    out is not null-terminated
    + +
    +
    +
    + + + + diff --git a/utf_8h_source.html b/utf_8h_source.html new file mode 100644 index 000000000..9d6fbe38b --- /dev/null +++ b/utf_8h_source.html @@ -0,0 +1,244 @@ + + + + + + + +libctru: include/3ds/util/utf.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    utf.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file utf.h
    +
    3  * @brief UTF conversion functions.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 #include <stdint.h>
    +
    8 #include <sys/types.h>
    +
    9 
    +
    10 /** Convert a UTF-8 sequence into a UTF-32 codepoint
    +
    11  *
    +
    12  * @param[out] out Output codepoint
    +
    13  * @param[in] in Input sequence
    +
    14  *
    +
    15  * @returns number of input code units consumed
    +
    16  * @returns -1 for error
    +
    17  */
    +
    18 ssize_t decode_utf8 (uint32_t *out, const uint8_t *in);
    +
    19 
    +
    20 /** Convert a UTF-16 sequence into a UTF-32 codepoint
    +
    21  *
    +
    22  * @param[out] out Output codepoint
    +
    23  * @param[in] in Input sequence
    +
    24  *
    +
    25  * @returns number of input code units consumed
    +
    26  * @returns -1 for error
    +
    27  */
    +
    28 ssize_t decode_utf16(uint32_t *out, const uint16_t *in);
    +
    29 
    +
    30 /** Convert a UTF-32 codepoint into a UTF-8 sequence
    +
    31  *
    +
    32  * @param[out] out Output sequence
    +
    33  * @param[in] in Input codepoint
    +
    34  *
    +
    35  * @returns number of output code units produced
    +
    36  * @returns -1 for error
    +
    37  *
    +
    38  * @note \a out must be able to store 4 code units
    +
    39  */
    +
    40 ssize_t encode_utf8 (uint8_t *out, uint32_t in);
    +
    41 
    +
    42 /** Convert a UTF-32 codepoint into a UTF-16 sequence
    +
    43  *
    +
    44  * @param[out] out Output sequence
    +
    45  * @param[in] in Input codepoint
    +
    46  *
    +
    47  * @returns number of output code units produced
    +
    48  * @returns -1 for error
    +
    49  *
    +
    50  * @note \a out must be able to store 2 code units
    +
    51  */
    +
    52 ssize_t encode_utf16(uint16_t *out, uint32_t in);
    +
    53 
    +
    54 /** Convert a UTF-8 sequence into a UTF-16 sequence
    +
    55  *
    +
    56  * Fills the output buffer up to \a len code units.
    +
    57  * Returns the number of code units that the input would produce;
    +
    58  * if it returns greater than \a len, the output has been
    +
    59  * truncated.
    +
    60  *
    +
    61  * @param[out] out Output sequence
    +
    62  * @param[in] in Input sequence (null-terminated)
    +
    63  * @param[in] len Output length
    +
    64  *
    +
    65  * @returns number of output code units produced
    +
    66  * @returns -1 for error
    +
    67  *
    +
    68  * @note \a out is not null-terminated
    +
    69  */
    +
    70 ssize_t utf8_to_utf16(uint16_t *out, const uint8_t *in, size_t len);
    +
    71 
    +
    72 /** Convert a UTF-8 sequence into a UTF-32 sequence
    +
    73  *
    +
    74  * Fills the output buffer up to \a len code units.
    +
    75  * Returns the number of code units that the input would produce;
    +
    76  * if it returns greater than \a len, the output has been
    +
    77  * truncated.
    +
    78  *
    +
    79  * @param[out] out Output sequence
    +
    80  * @param[in] in Input sequence (null-terminated)
    +
    81  * @param[in] len Output length
    +
    82  *
    +
    83  * @returns number of output code units produced
    +
    84  * @returns -1 for error
    +
    85  *
    +
    86  * @note \a out is not null-terminated
    +
    87  */
    +
    88 ssize_t utf8_to_utf32(uint32_t *out, const uint8_t *in, size_t len);
    +
    89 
    +
    90 /** Convert a UTF-16 sequence into a UTF-8 sequence
    +
    91  *
    +
    92  * Fills the output buffer up to \a len code units.
    +
    93  * Returns the number of code units that the input would produce;
    +
    94  * if it returns greater than \a len, the output has been
    +
    95  * truncated.
    +
    96  *
    +
    97  * @param[out] out Output sequence
    +
    98  * @param[in] in Input sequence (null-terminated)
    +
    99  * @param[in] len Output length
    +
    100  *
    +
    101  * @returns number of output code units produced
    +
    102  * @returns -1 for error
    +
    103  *
    +
    104  * @note \a out is not null-terminated
    +
    105  */
    +
    106 ssize_t utf16_to_utf8(uint8_t *out, const uint16_t *in, size_t len);
    +
    107 
    +
    108 /** Convert a UTF-16 sequence into a UTF-32 sequence
    +
    109  *
    +
    110  * Fills the output buffer up to \a len code units.
    +
    111  * Returns the number of code units that the input would produce;
    +
    112  * if it returns greater than \a len, the output has been
    +
    113  * truncated.
    +
    114  *
    +
    115  * @param[out] out Output sequence
    +
    116  * @param[in] in Input sequence (null-terminated)
    +
    117  * @param[in] len Output length
    +
    118  *
    +
    119  * @returns number of output code units produced
    +
    120  * @returns -1 for error
    +
    121  *
    +
    122  * @note \a out is not null-terminated
    +
    123  */
    +
    124 ssize_t utf16_to_utf32(uint32_t *out, const uint16_t *in, size_t len);
    +
    125 
    +
    126 /** Convert a UTF-32 sequence into a UTF-8 sequence
    +
    127  *
    +
    128  * Fills the output buffer up to \a len code units.
    +
    129  * Returns the number of code units that the input would produce;
    +
    130  * if it returns greater than \a len, the output has been
    +
    131  * truncated.
    +
    132  *
    +
    133  * @param[out] out Output sequence
    +
    134  * @param[in] in Input sequence (null-terminated)
    +
    135  * @param[in] len Output length
    +
    136  *
    +
    137  * @returns number of output code units produced
    +
    138  * @returns -1 for error
    +
    139  *
    +
    140  * @note \a out is not null-terminated
    +
    141  */
    +
    142 ssize_t utf32_to_utf8(uint8_t *out, const uint32_t *in, size_t len);
    +
    143 
    +
    144 /** Convert a UTF-32 sequence into a UTF-16 sequence
    +
    145  *
    +
    146  * @param[out] out Output sequence
    +
    147  * @param[in] in Input sequence (null-terminated)
    +
    148  * @param[in] len Output length
    +
    149  *
    +
    150  * @returns number of output code units produced
    +
    151  * @returns -1 for error
    +
    152  *
    +
    153  * @note \a out is not null-terminated
    +
    154  */
    +
    155 ssize_t utf32_to_utf16(uint16_t *out, const uint32_t *in, size_t len);
    +
    ssize_t encode_utf16(uint16_t *out, uint32_t in)
    Convert a UTF-32 codepoint into a UTF-16 sequence.
    +
    ssize_t utf8_to_utf16(uint16_t *out, const uint8_t *in, size_t len)
    Convert a UTF-8 sequence into a UTF-16 sequence.
    +
    ssize_t utf16_to_utf8(uint8_t *out, const uint16_t *in, size_t len)
    Convert a UTF-16 sequence into a UTF-8 sequence.
    +
    ssize_t decode_utf16(uint32_t *out, const uint16_t *in)
    Convert a UTF-16 sequence into a UTF-32 codepoint.
    +
    ssize_t decode_utf8(uint32_t *out, const uint8_t *in)
    Convert a UTF-8 sequence into a UTF-32 codepoint.
    +
    ssize_t utf32_to_utf8(uint8_t *out, const uint32_t *in, size_t len)
    Convert a UTF-32 sequence into a UTF-8 sequence.
    +
    ssize_t utf8_to_utf32(uint32_t *out, const uint8_t *in, size_t len)
    Convert a UTF-8 sequence into a UTF-32 sequence.
    +
    ssize_t utf16_to_utf32(uint32_t *out, const uint16_t *in, size_t len)
    Convert a UTF-16 sequence into a UTF-32 sequence.
    +
    ssize_t utf32_to_utf16(uint16_t *out, const uint32_t *in, size_t len)
    Convert a UTF-32 sequence into a UTF-16 sequence.
    +
    ssize_t encode_utf8(uint8_t *out, uint32_t in)
    Convert a UTF-32 codepoint into a UTF-8 sequence.
    +
    + + + + diff --git a/vram_8h.html b/vram_8h.html new file mode 100644 index 000000000..0f01ddbb3 --- /dev/null +++ b/vram_8h.html @@ -0,0 +1,384 @@ + + + + + + + +libctru: include/3ds/allocator/vram.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    vram.h File Reference
    +
    +
    + +

    VRAM allocator. +More...

    + +

    Go to the source code of this file.

    + + + + +

    +Enumerations

    enum  vramAllocPos {
    +  VRAM_ALLOC_A = BIT(0) +,
    +  VRAM_ALLOC_B = BIT(1) +,
    +  VRAM_ALLOC_ANY = VRAM_ALLOC_A | VRAM_ALLOC_B +
    + }
     
    + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    void * vramAlloc (size_t size)
     Allocates a 0x80-byte aligned buffer. More...
     
    void * vramAllocAt (size_t size, vramAllocPos pos)
     Allocates a 0x80-byte aligned buffer in the given VRAM bank. More...
     
    void * vramMemAlign (size_t size, size_t alignment)
     Allocates a buffer aligned to the given size. More...
     
    void * vramMemAlignAt (size_t size, size_t alignment, vramAllocPos pos)
     Allocates a buffer aligned to the given size in the given VRAM bank. More...
     
    void * vramRealloc (void *mem, size_t size)
     Reallocates a buffer. More...
     
    size_t vramGetSize (void *mem)
     Retrieves the allocated size of a buffer. More...
     
    void vramFree (void *mem)
     Frees a buffer. More...
     
    u32 vramSpaceFree (void)
     Gets the current VRAM free space. More...
     
    +

    Detailed Description

    +

    VRAM allocator.

    +

    Function Documentation

    + +

    ◆ vramAlloc()

    + +
    +
    + + + + + + + + +
    void* vramAlloc (size_t size)
    +
    + +

    Allocates a 0x80-byte aligned buffer.

    +
    Parameters
    + + +
    sizeSize of the buffer to allocate.
    +
    +
    +
    Returns
    The allocated buffer.
    + +
    +
    + +

    ◆ vramAllocAt()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void* vramAllocAt (size_t size,
    vramAllocPos pos 
    )
    +
    + +

    Allocates a 0x80-byte aligned buffer in the given VRAM bank.

    +
    Parameters
    + + + +
    sizeSize of the buffer to allocate.
    posVRAM bank to use (see vramAllocPos).
    +
    +
    +
    Returns
    The allocated buffer.
    + +
    +
    + +

    ◆ vramFree()

    + +
    +
    + + + + + + + + +
    void vramFree (void * mem)
    +
    + +

    Frees a buffer.

    +
    Parameters
    + + +
    memBuffer to free.
    +
    +
    + +
    +
    + +

    ◆ vramGetSize()

    + +
    +
    + + + + + + + + +
    size_t vramGetSize (void * mem)
    +
    + +

    Retrieves the allocated size of a buffer.

    +
    Returns
    The size of the buffer.
    + +
    +
    + +

    ◆ vramMemAlign()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void* vramMemAlign (size_t size,
    size_t alignment 
    )
    +
    + +

    Allocates a buffer aligned to the given size.

    +
    Parameters
    + + + +
    sizeSize of the buffer to allocate.
    alignmentAlignment to use.
    +
    +
    +
    Returns
    The allocated buffer.
    + +
    +
    + +

    ◆ vramMemAlignAt()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void* vramMemAlignAt (size_t size,
    size_t alignment,
    vramAllocPos pos 
    )
    +
    + +

    Allocates a buffer aligned to the given size in the given VRAM bank.

    +
    Parameters
    + + + + +
    sizeSize of the buffer to allocate.
    alignmentAlignment to use.
    posVRAM bank to use (see vramAllocPos).
    +
    +
    +
    Returns
    The allocated buffer.
    + +
    +
    + +

    ◆ vramRealloc()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    void* vramRealloc (void * mem,
    size_t size 
    )
    +
    + +

    Reallocates a buffer.

    +

    Note: Not implemented yet.

    Parameters
    + + + +
    memBuffer to reallocate.
    sizeSize of the buffer to allocate.
    +
    +
    +
    Returns
    The reallocated buffer.
    + +
    +
    + +

    ◆ vramSpaceFree()

    + +
    +
    + + + + + + + + +
    u32 vramSpaceFree (void )
    +
    + +

    Gets the current VRAM free space.

    +
    Returns
    The current VRAM free space.
    + +
    +
    +
    + + + + diff --git a/vram_8h_source.html b/vram_8h_source.html new file mode 100644 index 000000000..fdedc6038 --- /dev/null +++ b/vram_8h_source.html @@ -0,0 +1,160 @@ + + + + + + + +libctru: include/3ds/allocator/vram.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    vram.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file vram.h
    +
    3  * @brief VRAM allocator.
    +
    4  */
    +
    5 #pragma once
    +
    6 
    +
    7 typedef enum vramAllocPos
    +
    8 {
    +
    9  VRAM_ALLOC_A = BIT(0),
    +
    10  VRAM_ALLOC_B = BIT(1),
    +
    11  VRAM_ALLOC_ANY = VRAM_ALLOC_A | VRAM_ALLOC_B,
    +
    12 } vramAllocPos;
    +
    13 
    +
    14 /**
    +
    15  * @brief Allocates a 0x80-byte aligned buffer.
    +
    16  * @param size Size of the buffer to allocate.
    +
    17  * @return The allocated buffer.
    +
    18  */
    +
    19 void* vramAlloc(size_t size);
    +
    20 
    +
    21 /**
    +
    22  * @brief Allocates a 0x80-byte aligned buffer in the given VRAM bank.
    +
    23  * @param size Size of the buffer to allocate.
    +
    24  * @param pos VRAM bank to use (see \ref vramAllocPos).
    +
    25  * @return The allocated buffer.
    +
    26  */
    +
    27 void* vramAllocAt(size_t size, vramAllocPos pos);
    +
    28 
    +
    29 /**
    +
    30  * @brief Allocates a buffer aligned to the given size.
    +
    31  * @param size Size of the buffer to allocate.
    +
    32  * @param alignment Alignment to use.
    +
    33  * @return The allocated buffer.
    +
    34  */
    +
    35 void* vramMemAlign(size_t size, size_t alignment);
    +
    36 
    +
    37 /**
    +
    38  * @brief Allocates a buffer aligned to the given size in the given VRAM bank.
    +
    39  * @param size Size of the buffer to allocate.
    +
    40  * @param alignment Alignment to use.
    +
    41  * @param pos VRAM bank to use (see \ref vramAllocPos).
    +
    42  * @return The allocated buffer.
    +
    43  */
    +
    44 void* vramMemAlignAt(size_t size, size_t alignment, vramAllocPos pos);
    +
    45 
    +
    46 /**
    +
    47  * @brief Reallocates a buffer.
    +
    48  * Note: Not implemented yet.
    +
    49  * @param mem Buffer to reallocate.
    +
    50  * @param size Size of the buffer to allocate.
    +
    51  * @return The reallocated buffer.
    +
    52  */
    +
    53 void* vramRealloc(void* mem, size_t size);
    +
    54 
    +
    55 /**
    +
    56  * @brief Retrieves the allocated size of a buffer.
    +
    57  * @return The size of the buffer.
    +
    58  */
    +
    59 size_t vramGetSize(void* mem);
    +
    60 
    +
    61 /**
    +
    62  * @brief Frees a buffer.
    +
    63  * @param mem Buffer to free.
    +
    64  */
    +
    65 void vramFree(void* mem);
    +
    66 
    +
    67 /**
    +
    68  * @brief Gets the current VRAM free space.
    +
    69  * @return The current VRAM free space.
    +
    70  */
    + +
    #define BIT(n)
    Creates a bitmask from a bit number.
    Definition: types.h:47
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    void * vramAlloc(size_t size)
    Allocates a 0x80-byte aligned buffer.
    +
    void * vramMemAlign(size_t size, size_t alignment)
    Allocates a buffer aligned to the given size.
    +
    void * vramMemAlignAt(size_t size, size_t alignment, vramAllocPos pos)
    Allocates a buffer aligned to the given size in the given VRAM bank.
    +
    void * vramAllocAt(size_t size, vramAllocPos pos)
    Allocates a 0x80-byte aligned buffer in the given VRAM bank.
    +
    u32 vramSpaceFree(void)
    Gets the current VRAM free space.
    +
    void vramFree(void *mem)
    Frees a buffer.
    +
    void * vramRealloc(void *mem, size_t size)
    Reallocates a buffer.
    +
    size_t vramGetSize(void *mem)
    Retrieves the allocated size of a buffer.
    +
    + + + + diff --git a/y2r_8h.html b/y2r_8h.html new file mode 100644 index 000000000..3f08a6153 --- /dev/null +++ b/y2r_8h.html @@ -0,0 +1,1710 @@ + + + + + + + +libctru: include/3ds/services/y2r.h File Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    y2r.h File Reference
    +
    +
    + +

    Y2R service for hardware YUV->RGB conversions. +More...

    +
    #include <3ds/types.h>
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + +

    +Data Structures

    struct  Y2RU_ColorCoefficients
     Coefficients of the YUV->RGB conversion formula. More...
     
    struct  Y2RU_ConversionParams
     Structure used to configure all parameters at once. More...
     
    struct  Y2RU_DitheringWeightParams
     Dithering weights. More...
     
    + + + + + + + + + + + + + + + + +

    +Enumerations

    enum  Y2RU_InputFormat {
    +  INPUT_YUV422_INDIV_8 = 0x0 +,
    +  INPUT_YUV420_INDIV_8 = 0x1 +,
    +  INPUT_YUV422_INDIV_16 = 0x2 +,
    +  INPUT_YUV420_INDIV_16 = 0x3 +,
    +  INPUT_YUV422_BATCH = 0x4 +
    + }
     Input color formats. More...
     
    enum  Y2RU_OutputFormat {
    +  OUTPUT_RGB_32 = 0x0 +,
    +  OUTPUT_RGB_24 = 0x1 +,
    +  OUTPUT_RGB_16_555 = 0x2 +,
    +  OUTPUT_RGB_16_565 = 0x3 +
    + }
     Output color formats. More...
     
    enum  Y2RU_Rotation {
    +  ROTATION_NONE = 0x0 +,
    +  ROTATION_CLOCKWISE_90 = 0x1 +,
    +  ROTATION_CLOCKWISE_180 = 0x2 +,
    +  ROTATION_CLOCKWISE_270 = 0x3 +
    + }
     Rotation to be applied to the output. More...
     
    enum  Y2RU_BlockAlignment {
    +  BLOCK_LINE = 0x0 +,
    +  BLOCK_8_BY_8 = 0x1 +
    + }
     Block alignment of output. More...
     
    enum  Y2RU_StandardCoefficient {
    +  COEFFICIENT_ITU_R_BT_601 = 0x0 +,
    +  COEFFICIENT_ITU_R_BT_709 = 0x1 +,
    +  COEFFICIENT_ITU_R_BT_601_SCALING = 0x2 +,
    +  COEFFICIENT_ITU_R_BT_709_SCALING = 0x3 +
    + }
     Preset conversion coefficients based on ITU standards for the YUV->RGB formula. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    Result y2rInit (void)
     Initializes the y2r service. More...
     
    void y2rExit (void)
     Closes the y2r service. More...
     
    Result Y2RU_SetInputFormat (Y2RU_InputFormat format)
     Used to configure the input format. More...
     
    Result Y2RU_GetInputFormat (Y2RU_InputFormat *format)
     Gets the configured input format. More...
     
    Result Y2RU_SetOutputFormat (Y2RU_OutputFormat format)
     Used to configure the output format. More...
     
    Result Y2RU_GetOutputFormat (Y2RU_OutputFormat *format)
     Gets the configured output format. More...
     
    Result Y2RU_SetRotation (Y2RU_Rotation rotation)
     Used to configure the rotation of the output. More...
     
    Result Y2RU_GetRotation (Y2RU_Rotation *rotation)
     Gets the configured rotation. More...
     
    Result Y2RU_SetBlockAlignment (Y2RU_BlockAlignment alignment)
     Used to configure the alignment of the output buffer. More...
     
    Result Y2RU_GetBlockAlignment (Y2RU_BlockAlignment *alignment)
     Gets the configured alignment. More...
     
    Result Y2RU_SetSpacialDithering (bool enable)
     Sets whether to use spacial dithering. More...
     
    Result Y2RU_GetSpacialDithering (bool *enabled)
     Gets whether to use spacial dithering. More...
     
    Result Y2RU_SetTemporalDithering (bool enable)
     Sets whether to use temporal dithering. More...
     
    Result Y2RU_GetTemporalDithering (bool *enabled)
     Gets whether to use temporal dithering. More...
     
    Result Y2RU_SetInputLineWidth (u16 line_width)
     Used to configure the width of the image. More...
     
    Result Y2RU_GetInputLineWidth (u16 *line_width)
     Gets the configured input line width. More...
     
    Result Y2RU_SetInputLines (u16 num_lines)
     Used to configure the height of the image. More...
     
    Result Y2RU_GetInputLines (u16 *num_lines)
     Gets the configured number of input lines. More...
     
    Result Y2RU_SetCoefficients (const Y2RU_ColorCoefficients *coefficients)
     Used to configure the color conversion formula. More...
     
    Result Y2RU_GetCoefficients (Y2RU_ColorCoefficients *coefficients)
     Gets the configured color coefficients. More...
     
    Result Y2RU_SetStandardCoefficient (Y2RU_StandardCoefficient coefficient)
     Used to configure the color conversion formula with ITU stantards coefficients. More...
     
    Result Y2RU_GetStandardCoefficient (Y2RU_ColorCoefficients *coefficients, Y2RU_StandardCoefficient standardCoeff)
     Gets the color coefficient parameters of a standard coefficient. More...
     
    Result Y2RU_SetAlpha (u16 alpha)
     Used to configure the alpha value of the output. More...
     
    Result Y2RU_GetAlpha (u16 *alpha)
     Gets the configured output alpha value. More...
     
    Result Y2RU_SetTransferEndInterrupt (bool should_interrupt)
     Used to enable the end of conversion interrupt. More...
     
    Result Y2RU_GetTransferEndInterrupt (bool *should_interrupt)
     Gets whether the transfer end interrupt is enabled. More...
     
    Result Y2RU_GetTransferEndEvent (Handle *end_event)
     Gets an handle to the end of conversion event. More...
     
    Result Y2RU_SetSendingY (const void *src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
     Configures the Y plane buffer. More...
     
    Result Y2RU_SetSendingU (const void *src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
     Configures the U plane buffer. More...
     
    Result Y2RU_SetSendingV (const void *src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
     Configures the V plane buffer. More...
     
    Result Y2RU_SetSendingYUYV (const void *src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
     Configures the YUYV source buffer. More...
     
    Result Y2RU_SetReceiving (void *dst_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
     Configures the destination buffer. More...
     
    Result Y2RU_IsDoneSendingY (bool *is_done)
     Checks if the DMA has finished sending the Y buffer. More...
     
    Result Y2RU_IsDoneSendingU (bool *is_done)
     Checks if the DMA has finished sending the U buffer. More...
     
    Result Y2RU_IsDoneSendingV (bool *is_done)
     Checks if the DMA has finished sending the V buffer. More...
     
    Result Y2RU_IsDoneSendingYUYV (bool *is_done)
     Checks if the DMA has finished sending the YUYV buffer. More...
     
    Result Y2RU_IsDoneReceiving (bool *is_done)
     Checks if the DMA has finished sending the converted result. More...
     
    Result Y2RU_SetDitheringWeightParams (const Y2RU_DitheringWeightParams *params)
     Configures the dithering weight parameters. More...
     
    Result Y2RU_GetDitheringWeightParams (Y2RU_DitheringWeightParams *params)
     Gets the configured dithering weight parameters. More...
     
    Result Y2RU_SetConversionParams (const Y2RU_ConversionParams *params)
     Sets all of the parameters of Y2RU_ConversionParams at once. More...
     
    +Result Y2RU_StartConversion (void)
     Starts the conversion process.
     
    +Result Y2RU_StopConversion (void)
     Cancels the conversion.
     
    Result Y2RU_IsBusyConversion (bool *is_busy)
     Checks if the conversion and DMA transfer are finished. More...
     
    Result Y2RU_PingProcess (u8 *ping)
     Checks whether Y2R is ready to be used. More...
     
    +Result Y2RU_DriverInitialize (void)
     Initializes the Y2R driver.
     
    +Result Y2RU_DriverFinalize (void)
     Terminates the Y2R driver.
     
    +

    Detailed Description

    +

    Y2R service for hardware YUV->RGB conversions.

    +

    Enumeration Type Documentation

    + +

    ◆ Y2RU_BlockAlignment

    + +
    +
    + + + + +
    enum Y2RU_BlockAlignment
    +
    + +

    Block alignment of output.

    +

    Defines the way the output will be laid out in memory.

    + + + +
    Enumerator
    BLOCK_LINE 

    The result buffer will be laid out in linear format, the usual way.

    +
    BLOCK_8_BY_8 

    The result will be stored as 8x8 blocks in Z-order.
    + Useful for textures since it is the format used by the PICA200.

    +
    + +
    +
    + +

    ◆ Y2RU_InputFormat

    + +
    +
    + + + + +
    enum Y2RU_InputFormat
    +
    + +

    Input color formats.

    +

    For the 16-bit per component formats, bits 15-8 are padding and 7-0 contains the value.

    + + + + + + +
    Enumerator
    INPUT_YUV422_INDIV_8 

    8-bit per component, planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples).
    + Usually named YUV422P.

    +
    INPUT_YUV420_INDIV_8 

    8-bit per component, planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples).
    + Usually named YUV420P.

    +
    INPUT_YUV422_INDIV_16 

    16-bit per component, planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples).
    + Usually named YUV422P16.

    +
    INPUT_YUV420_INDIV_16 

    16-bit per component, planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples).
    + Usually named YUV420P16.

    +
    INPUT_YUV422_BATCH 

    8-bit per component, packed YUV 4:2:2, 16bpp, (Y0 Cb Y1 Cr).
    + Usually named YUYV422.

    +
    + +
    +
    + +

    ◆ Y2RU_OutputFormat

    + +
    +
    + + + + +
    enum Y2RU_OutputFormat
    +
    + +

    Output color formats.

    +

    Those are the same as the framebuffer and GPU texture formats.

    + + + + + +
    Enumerator
    OUTPUT_RGB_32 

    32-bit RGBA8888. The alpha component is the 8-bit value set by Y2RU_SetAlpha

    +
    OUTPUT_RGB_24 

    24-bit RGB888.

    +
    OUTPUT_RGB_16_555 

    16-bit RGBA5551. The alpha bit is the 7th bit of the alpha value set by Y2RU_SetAlpha

    +
    OUTPUT_RGB_16_565 

    16-bit RGB565.

    +
    + +
    +
    + +

    ◆ Y2RU_Rotation

    + +
    +
    + + + + +
    enum Y2RU_Rotation
    +
    + +

    Rotation to be applied to the output.

    + + + + + +
    Enumerator
    ROTATION_NONE 

    No rotation.

    +
    ROTATION_CLOCKWISE_90 

    Clockwise 90 degrees.

    +
    ROTATION_CLOCKWISE_180 

    Clockwise 180 degrees.

    +
    ROTATION_CLOCKWISE_270 

    Clockwise 270 degrees.

    +
    + +
    +
    + +

    ◆ Y2RU_StandardCoefficient

    + +
    +
    + + + + +
    enum Y2RU_StandardCoefficient
    +
    + +

    Preset conversion coefficients based on ITU standards for the YUV->RGB formula.

    +

    For more details refer to Y2RU_ColorCoefficients

    + + + + + +
    Enumerator
    COEFFICIENT_ITU_R_BT_601 

    Coefficients from the ITU-R BT.601 standard with PC ranges.

    +
    COEFFICIENT_ITU_R_BT_709 

    Coefficients from the ITU-R BT.709 standard with PC ranges.

    +
    COEFFICIENT_ITU_R_BT_601_SCALING 

    Coefficients from the ITU-R BT.601 standard with TV ranges.

    +
    COEFFICIENT_ITU_R_BT_709_SCALING 

    Coefficients from the ITU-R BT.709 standard with TV ranges.

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ y2rExit()

    + +
    +
    + + + + + + + + +
    void y2rExit (void )
    +
    + +

    Closes the y2r service.

    +

    This will internally call Y2RU_DriverFinalize and close the handle of the service.

    + +
    +
    + +

    ◆ y2rInit()

    + +
    +
    + + + + + + + + +
    Result y2rInit (void )
    +
    + +

    Initializes the y2r service.

    +

    This will internally get the handle of the service, and on success call Y2RU_DriverInitialize.

    + +
    +
    + +

    ◆ Y2RU_GetAlpha()

    + +
    +
    + + + + + + + + +
    Result Y2RU_GetAlpha (u16alpha)
    +
    + +

    Gets the configured output alpha value.

    +
    Parameters
    + + +
    alphaPointer to output the alpha value to.
    +
    +
    + +
    +
    + +

    ◆ Y2RU_GetBlockAlignment()

    + +
    +
    + + + + + + + + +
    Result Y2RU_GetBlockAlignment (Y2RU_BlockAlignmentalignment)
    +
    + +

    Gets the configured alignment.

    +
    Parameters
    + + +
    alignmentPointer to output the alignment to.
    +
    +
    + +
    +
    + +

    ◆ Y2RU_GetCoefficients()

    + +
    +
    + + + + + + + + +
    Result Y2RU_GetCoefficients (Y2RU_ColorCoefficientscoefficients)
    +
    + +

    Gets the configured color coefficients.

    +
    Parameters
    + + +
    num_linesPointer to output the coefficients to.
    +
    +
    + +
    +
    + +

    ◆ Y2RU_GetDitheringWeightParams()

    + +
    +
    + + + + + + + + +
    Result Y2RU_GetDitheringWeightParams (Y2RU_DitheringWeightParamsparams)
    +
    + +

    Gets the configured dithering weight parameters.

    +
    Parameters
    + + +
    paramsPointer to output the dithering weight parameters to.
    +
    +
    + +
    +
    + +

    ◆ Y2RU_GetInputFormat()

    + +
    +
    + + + + + + + + +
    Result Y2RU_GetInputFormat (Y2RU_InputFormatformat)
    +
    + +

    Gets the configured input format.

    +
    Parameters
    + + +
    formatPointer to output the input format to.
    +
    +
    + +
    +
    + +

    ◆ Y2RU_GetInputLines()

    + +
    +
    + + + + + + + + +
    Result Y2RU_GetInputLines (u16num_lines)
    +
    + +

    Gets the configured number of input lines.

    +
    Parameters
    + + +
    num_linesPointer to output the input lines to.
    +
    +
    + +
    +
    + +

    ◆ Y2RU_GetInputLineWidth()

    + +
    +
    + + + + + + + + +
    Result Y2RU_GetInputLineWidth (u16line_width)
    +
    + +

    Gets the configured input line width.

    +
    Parameters
    + + +
    line_widthPointer to output the line width to.
    +
    +
    + +
    +
    + +

    ◆ Y2RU_GetOutputFormat()

    + +
    +
    + + + + + + + + +
    Result Y2RU_GetOutputFormat (Y2RU_OutputFormatformat)
    +
    + +

    Gets the configured output format.

    +
    Parameters
    + + +
    formatPointer to output the output format to.
    +
    +
    + +
    +
    + +

    ◆ Y2RU_GetRotation()

    + +
    +
    + + + + + + + + +
    Result Y2RU_GetRotation (Y2RU_Rotationrotation)
    +
    + +

    Gets the configured rotation.

    +
    Parameters
    + + +
    rotationPointer to output the rotation to.
    +
    +
    + +
    +
    + +

    ◆ Y2RU_GetSpacialDithering()

    + +
    +
    + + + + + + + + +
    Result Y2RU_GetSpacialDithering (bool * enabled)
    +
    + +

    Gets whether to use spacial dithering.

    +
    Parameters
    + + +
    enablePointer to output the spacial dithering state to.
    +
    +
    + +
    +
    + +

    ◆ Y2RU_GetStandardCoefficient()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    Result Y2RU_GetStandardCoefficient (Y2RU_ColorCoefficientscoefficients,
    Y2RU_StandardCoefficient standardCoeff 
    )
    +
    + +

    Gets the color coefficient parameters of a standard coefficient.

    +
    Parameters
    + + + +
    coefficientsPointer to output the coefficients to.
    standardCoeffStandard coefficient to check.
    +
    +
    + +
    +
    + +

    ◆ Y2RU_GetTemporalDithering()

    + +
    +
    + + + + + + + + +
    Result Y2RU_GetTemporalDithering (bool * enabled)
    +
    + +

    Gets whether to use temporal dithering.

    +
    Parameters
    + + +
    enablePointer to output the temporal dithering state to.
    +
    +
    + +
    +
    + +

    ◆ Y2RU_GetTransferEndEvent()

    + +
    +
    + + + + + + + + +
    Result Y2RU_GetTransferEndEvent (Handleend_event)
    +
    + +

    Gets an handle to the end of conversion event.

    +
    Parameters
    + + +
    end_eventPointer to the event handle to be set to the end of conversion event. It isn't necessary to create or close this handle.
    +
    +
    +

    To enable this event you have to use

    +
    Result Y2RU_SetTransferEndInterrupt(bool should_interrupt)
    Used to enable the end of conversion interrupt.
    +

    The event will be triggered when the corresponding interrupt is fired.

    +
    Note
    It is recommended to use a timeout when waiting on this event, as it sometimes (but rarely) isn't triggered.
    + +
    +
    + +

    ◆ Y2RU_GetTransferEndInterrupt()

    + +
    +
    + + + + + + + + +
    Result Y2RU_GetTransferEndInterrupt (bool * should_interrupt)
    +
    + +

    Gets whether the transfer end interrupt is enabled.

    +
    Parameters
    + + +
    should_interruptPointer to output the interrupt state to.
    +
    +
    + +
    +
    + +

    ◆ Y2RU_IsBusyConversion()

    + +
    +
    + + + + + + + + +
    Result Y2RU_IsBusyConversion (bool * is_busy)
    +
    + +

    Checks if the conversion and DMA transfer are finished.

    +
    Parameters
    + + +
    is_busyPointer to output the busy state to.
    +
    +
    +

    This can have the same problems as the event and interrupt. See Y2RU_SetTransferEndInterrupt.

    + +
    +
    + +

    ◆ Y2RU_IsDoneReceiving()

    + +
    +
    + + + + + + + + +
    Result Y2RU_IsDoneReceiving (bool * is_done)
    +
    + +

    Checks if the DMA has finished sending the converted result.

    +
    Parameters
    + + +
    is_donePointer to the boolean that will hold the result.
    +
    +
    +

    True if the DMA has finished transferring data to your destination buffer, false otherwise.

    + +
    +
    + +

    ◆ Y2RU_IsDoneSendingU()

    + +
    +
    + + + + + + + + +
    Result Y2RU_IsDoneSendingU (bool * is_done)
    +
    + +

    Checks if the DMA has finished sending the U buffer.

    +
    Parameters
    + + +
    is_donePointer to the boolean that will hold the result.
    +
    +
    +

    True if the DMA has finished transferring the U plane, false otherwise. To be used with Y2RU_SetSendingU.

    + +
    +
    + +

    ◆ Y2RU_IsDoneSendingV()

    + +
    +
    + + + + + + + + +
    Result Y2RU_IsDoneSendingV (bool * is_done)
    +
    + +

    Checks if the DMA has finished sending the V buffer.

    +
    Parameters
    + + +
    is_donePointer to the boolean that will hold the result.
    +
    +
    +

    True if the DMA has finished transferring the V plane, false otherwise. To be used with Y2RU_SetSendingV.

    + +
    +
    + +

    ◆ Y2RU_IsDoneSendingY()

    + +
    +
    + + + + + + + + +
    Result Y2RU_IsDoneSendingY (bool * is_done)
    +
    + +

    Checks if the DMA has finished sending the Y buffer.

    +
    Parameters
    + + +
    is_donePointer to the boolean that will hold the result.
    +
    +
    +

    True if the DMA has finished transferring the Y plane, false otherwise. To be used with Y2RU_SetSendingY.

    + +
    +
    + +

    ◆ Y2RU_IsDoneSendingYUYV()

    + +
    +
    + + + + + + + + +
    Result Y2RU_IsDoneSendingYUYV (bool * is_done)
    +
    + +

    Checks if the DMA has finished sending the YUYV buffer.

    +
    Parameters
    + + +
    is_donePointer to the boolean that will hold the result.
    +
    +
    +

    True if the DMA has finished transferring the YUYV buffer, false otherwise. To be used with Y2RU_SetSendingYUYV.

    + +
    +
    + +

    ◆ Y2RU_PingProcess()

    + +
    +
    + + + + + + + + +
    Result Y2RU_PingProcess (u8ping)
    +
    + +

    Checks whether Y2R is ready to be used.

    +
    Parameters
    + + +
    pingPointer to output the ready status to.
    +
    +
    + +
    +
    + +

    ◆ Y2RU_SetAlpha()

    + +
    +
    + + + + + + + + +
    Result Y2RU_SetAlpha (u16 alpha)
    +
    + +

    Used to configure the alpha value of the output.

    +
    Parameters
    + + +
    alpha8-bit value to be used for the output when the format requires it.
    +
    +
    +
    Note
    Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.
    + +
    +
    + +

    ◆ Y2RU_SetBlockAlignment()

    + +
    +
    + + + + + + + + +
    Result Y2RU_SetBlockAlignment (Y2RU_BlockAlignment alignment)
    +
    + +

    Used to configure the alignment of the output buffer.

    +
    Parameters
    + + +
    alignmentAlignment to use.
    +
    +
    +
    Note
    Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.
    + +
    +
    + +

    ◆ Y2RU_SetCoefficients()

    + +
    +
    + + + + + + + + +
    Result Y2RU_SetCoefficients (const Y2RU_ColorCoefficientscoefficients)
    +
    + +

    Used to configure the color conversion formula.

    +
    Parameters
    + + +
    coefficientsCoefficients to use.
    +
    +
    +

    See Y2RU_ColorCoefficients for more information about the coefficients.

    +
    Note
    Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.
    + +
    +
    + +

    ◆ Y2RU_SetConversionParams()

    + +
    +
    + + + + + + + + +
    Result Y2RU_SetConversionParams (const Y2RU_ConversionParamsparams)
    +
    + +

    Sets all of the parameters of Y2RU_ConversionParams at once.

    +
    Parameters
    + + +
    paramsConversion parameters to set.
    +
    +
    +

    Faster than calling the individual value through Y2R_Set* because only one system call is made.

    + +
    +
    + +

    ◆ Y2RU_SetDitheringWeightParams()

    + +
    +
    + + + + + + + + +
    Result Y2RU_SetDitheringWeightParams (const Y2RU_DitheringWeightParamsparams)
    +
    + +

    Configures the dithering weight parameters.

    +
    Parameters
    + + +
    paramsDithering weight parameters to use.
    +
    +
    + +
    +
    + +

    ◆ Y2RU_SetInputFormat()

    + +
    +
    + + + + + + + + +
    Result Y2RU_SetInputFormat (Y2RU_InputFormat format)
    +
    + +

    Used to configure the input format.

    +
    Parameters
    + + +
    formatInput format to use.
    +
    +
    +
    Note
    Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.
    + +
    +
    + +

    ◆ Y2RU_SetInputLines()

    + +
    +
    + + + + + + + + +
    Result Y2RU_SetInputLines (u16 num_lines)
    +
    + +

    Used to configure the height of the image.

    +
    Parameters
    + + +
    num_linesNumber of lines to be converted.
    +
    +
    +

    A multiple of 8 seems to be preferred. If using the BLOCK_8_BY_8 mode, it must be a multiple of 8.

    +
    Note
    Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.
    + +
    +
    + +

    ◆ Y2RU_SetInputLineWidth()

    + +
    +
    + + + + + + + + +
    Result Y2RU_SetInputLineWidth (u16 line_width)
    +
    + +

    Used to configure the width of the image.

    +
    Parameters
    + + +
    line_widthWidth of the image in pixels. Must be a multiple of 8, up to 1024.
    +
    +
    +
    Note
    Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.
    + +
    +
    + +

    ◆ Y2RU_SetOutputFormat()

    + +
    +
    + + + + + + + + +
    Result Y2RU_SetOutputFormat (Y2RU_OutputFormat format)
    +
    + +

    Used to configure the output format.

    +
    Parameters
    + + +
    formatOutput format to use.
    +
    +
    +
    Note
    Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.
    + +
    +
    + +

    ◆ Y2RU_SetReceiving()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result Y2RU_SetReceiving (void * dst_buf,
    u32 image_size,
    s16 transfer_unit,
    s16 transfer_gap 
    )
    +
    + +

    Configures the destination buffer.

    +
    Parameters
    + + + + + +
    src_bufA pointer to the beginning of your destination buffer in FCRAM
    image_sizeThe total size of the data buffer.
    transfer_unitSpecifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
    transfer_gapSpecifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.
    +
    +
    +

    This specifies the destination buffer of the conversion. The actual transfer will only happen after calling Y2RU_StartConversion. The buffer does NOT need to be allocated in the linear heap.

    +
    Warning
    transfer_unit+transfer_gap must be less than 32768 (0x8000)
    +
    Note
    It seems that depending on the size of the image and of the transfer unit,
    + it is possible for the end of conversion interrupt to be triggered right after the conversion began.
    + One line as transfer_unit seems to trigger this issue for 400x240, setting to 2/4/8 lines fixes it.
    +
    +Setting a transfer_unit of 4 or 8 lines seems to bring the best results in terms of speed for a 400x240 image.
    + +
    +
    + +

    ◆ Y2RU_SetRotation()

    + +
    +
    + + + + + + + + +
    Result Y2RU_SetRotation (Y2RU_Rotation rotation)
    +
    + +

    Used to configure the rotation of the output.

    +
    Parameters
    + + +
    rotationRotation to use.
    +
    +
    +

    It seems to apply the rotation per batch of 8 lines, so the output will be (height/8) images of size 8 x width.

    +
    Note
    Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.
    + +
    +
    + +

    ◆ Y2RU_SetSendingU()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result Y2RU_SetSendingU (const void * src_buf,
    u32 image_size,
    s16 transfer_unit,
    s16 transfer_gap 
    )
    +
    + +

    Configures the U plane buffer.

    +
    Parameters
    + + + + + +
    src_bufA pointer to the beginning of your Y data buffer.
    image_sizeThe total size of the data buffer.
    transfer_unitSpecifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
    transfer_gapSpecifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.
    +
    +
    +
    Warning
    transfer_unit+transfer_gap must be less than 32768 (0x8000)
    +

    This specifies the U data buffer for the planar input formats (INPUT_YUV42*_INDIV_*). The actual transfer will only happen after calling Y2RU_StartConversion.

    + +
    +
    + +

    ◆ Y2RU_SetSendingV()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result Y2RU_SetSendingV (const void * src_buf,
    u32 image_size,
    s16 transfer_unit,
    s16 transfer_gap 
    )
    +
    + +

    Configures the V plane buffer.

    +
    Parameters
    + + + + + +
    src_bufA pointer to the beginning of your Y data buffer.
    image_sizeThe total size of the data buffer.
    transfer_unitSpecifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
    transfer_gapSpecifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.
    +
    +
    +
    Warning
    transfer_unit+transfer_gap must be less than 32768 (0x8000)
    +

    This specifies the V data buffer for the planar input formats (INPUT_YUV42*_INDIV_*). The actual transfer will only happen after calling Y2RU_StartConversion.

    + +
    +
    + +

    ◆ Y2RU_SetSendingY()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result Y2RU_SetSendingY (const void * src_buf,
    u32 image_size,
    s16 transfer_unit,
    s16 transfer_gap 
    )
    +
    + +

    Configures the Y plane buffer.

    +
    Parameters
    + + + + + +
    src_bufA pointer to the beginning of your Y data buffer.
    image_sizeThe total size of the data buffer.
    transfer_unitSpecifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
    transfer_gapSpecifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.
    +
    +
    +
    Warning
    transfer_unit+transfer_gap must be less than 32768 (0x8000)
    +

    This specifies the Y data buffer for the planar input formats (INPUT_YUV42*_INDIV_*). The actual transfer will only happen after calling Y2RU_StartConversion.

    + +
    +
    + +

    ◆ Y2RU_SetSendingYUYV()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Result Y2RU_SetSendingYUYV (const void * src_buf,
    u32 image_size,
    s16 transfer_unit,
    s16 transfer_gap 
    )
    +
    + +

    Configures the YUYV source buffer.

    +
    Parameters
    + + + + + +
    src_bufA pointer to the beginning of your Y data buffer.
    image_sizeThe total size of the data buffer.
    transfer_unitSpecifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
    transfer_gapSpecifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.
    +
    +
    +
    Warning
    transfer_unit+transfer_gap must be less than 32768 (0x8000)
    +

    This specifies the YUYV data buffer for the packed input format INPUT_YUV422_BATCH. The actual transfer will only happen after calling Y2RU_StartConversion.

    + +
    +
    + +

    ◆ Y2RU_SetSpacialDithering()

    + +
    +
    + + + + + + + + +
    Result Y2RU_SetSpacialDithering (bool enable)
    +
    + +

    Sets whether to use spacial dithering.

    +
    Parameters
    + + +
    enableWhether to use spacial dithering.
    +
    +
    + +
    +
    + +

    ◆ Y2RU_SetStandardCoefficient()

    + +
    +
    + + + + + + + + +
    Result Y2RU_SetStandardCoefficient (Y2RU_StandardCoefficient coefficient)
    +
    + +

    Used to configure the color conversion formula with ITU stantards coefficients.

    +
    Parameters
    + + +
    coefficientStandard coefficient to use.
    +
    +
    +

    See Y2RU_ColorCoefficients for more information about the coefficients.

    +
    Note
    Prefer using Y2RU_SetConversionParams if you have to set multiple parameters.
    + +
    +
    + +

    ◆ Y2RU_SetTemporalDithering()

    + +
    +
    + + + + + + + + +
    Result Y2RU_SetTemporalDithering (bool enable)
    +
    + +

    Sets whether to use temporal dithering.

    +
    Parameters
    + + +
    enableWhether to use temporal dithering.
    +
    +
    + +
    +
    + +

    ◆ Y2RU_SetTransferEndInterrupt()

    + +
    +
    + + + + + + + + +
    Result Y2RU_SetTransferEndInterrupt (bool should_interrupt)
    +
    + +

    Used to enable the end of conversion interrupt.

    +
    Parameters
    + + +
    should_interruptEnables the interrupt if true, disable it if false.
    +
    +
    +

    It is possible to fire an interrupt when the conversion is finished, and that the DMA is done copying the data. This interrupt will then be used to fire an event. See Y2RU_GetTransferEndEvent. By default the interrupt is enabled.

    +
    Note
    It seems that the event can be fired too soon in some cases, depending the transfer_unit size.
    + Please see the note at Y2RU_SetReceiving
    + +
    +
    +
    + + + + diff --git a/y2r_8h_source.html b/y2r_8h_source.html new file mode 100644 index 000000000..2444c7299 --- /dev/null +++ b/y2r_8h_source.html @@ -0,0 +1,692 @@ + + + + + + + +libctru: include/3ds/services/y2r.h Source File + + + + + + + + + +
    +
    + + + + + + +
    +
    libctru +  v2.3.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    y2r.h
    +
    +
    +Go to the documentation of this file.
    1 /**
    +
    2  * @file y2r.h
    +
    3  * @brief Y2R service for hardware YUV->RGB conversions
    +
    4  */
    +
    5 #pragma once
    +
    6 #include <3ds/types.h>
    +
    7 
    +
    8 /**
    +
    9  * @brief Input color formats
    +
    10  *
    +
    11  * For the 16-bit per component formats, bits 15-8 are padding and 7-0 contains the value.
    +
    12  */
    +
    13 typedef enum
    +
    14 {
    +
    15  INPUT_YUV422_INDIV_8 = 0x0, ///< 8-bit per component, planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples).\n Usually named YUV422P.
    +
    16  INPUT_YUV420_INDIV_8 = 0x1, ///< 8-bit per component, planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples).\n Usually named YUV420P.
    +
    17  INPUT_YUV422_INDIV_16 = 0x2, ///< 16-bit per component, planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples).\n Usually named YUV422P16.
    +
    18  INPUT_YUV420_INDIV_16 = 0x3, ///< 16-bit per component, planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples).\n Usually named YUV420P16.
    +
    19  INPUT_YUV422_BATCH = 0x4, ///< 8-bit per component, packed YUV 4:2:2, 16bpp, (Y0 Cb Y1 Cr).\n Usually named YUYV422.
    + +
    21 
    +
    22 /**
    +
    23  * @brief Output color formats
    +
    24  *
    +
    25  * Those are the same as the framebuffer and GPU texture formats.
    +
    26  */
    +
    27 typedef enum
    +
    28 {
    +
    29  OUTPUT_RGB_32 = 0x0, ///< 32-bit RGBA8888. The alpha component is the 8-bit value set by @ref Y2RU_SetAlpha
    +
    30  OUTPUT_RGB_24 = 0x1, ///< 24-bit RGB888.
    +
    31  OUTPUT_RGB_16_555 = 0x2, ///< 16-bit RGBA5551. The alpha bit is the 7th bit of the alpha value set by @ref Y2RU_SetAlpha
    +
    32  OUTPUT_RGB_16_565 = 0x3, ///< 16-bit RGB565.
    + +
    34 
    +
    35 /// Rotation to be applied to the output.
    +
    36 typedef enum
    +
    37 {
    +
    38  ROTATION_NONE = 0x0, ///< No rotation.
    +
    39  ROTATION_CLOCKWISE_90 = 0x1, ///< Clockwise 90 degrees.
    +
    40  ROTATION_CLOCKWISE_180 = 0x2, ///< Clockwise 180 degrees.
    +
    41  ROTATION_CLOCKWISE_270 = 0x3, ///< Clockwise 270 degrees.
    + +
    43 
    +
    44 /**
    +
    45  * @brief Block alignment of output
    +
    46  *
    +
    47  * Defines the way the output will be laid out in memory.
    +
    48  */
    +
    49 typedef enum
    +
    50 {
    +
    51  BLOCK_LINE = 0x0, ///< The result buffer will be laid out in linear format, the usual way.
    +
    52  BLOCK_8_BY_8 = 0x1, ///< The result will be stored as 8x8 blocks in Z-order.\n Useful for textures since it is the format used by the PICA200.
    + +
    54 
    +
    55 /**
    +
    56  * @brief Coefficients of the YUV->RGB conversion formula.
    +
    57  *
    +
    58  * A set of coefficients configuring the RGB to YUV conversion. Coefficients 0-4 are unsigned 2.8
    +
    59  * fixed pointer numbers representing entries on the conversion matrix, while coefficient 5-7 are
    +
    60  * signed 11.5 fixed point numbers added as offsets to the RGB result.
    +
    61  *
    +
    62  * The overall conversion process formula is:
    +
    63  * @code
    +
    64  * R = trunc((rgb_Y * Y + r_V * V) + 0.75 + r_offset)
    +
    65  * G = trunc((rgb_Y * Y - g_U * U - g_V * V) + 0.75 + g_offset)
    +
    66  * B = trunc((rgb_Y * Y + b_U * U ) + 0.75 + b_offset)
    +
    67  * @endcode
    +
    68  */
    +
    69 typedef struct
    +
    70 {
    +
    71  u16 rgb_Y; ///< RGB per unit Y.
    +
    72  u16 r_V; ///< Red per unit V.
    +
    73  u16 g_V; ///< Green per unit V.
    +
    74  u16 g_U; ///< Green per unit U.
    +
    75  u16 b_U; ///< Blue per unit U.
    +
    76  u16 r_offset; ///< Red offset.
    +
    77  u16 g_offset; ///< Green offset.
    +
    78  u16 b_offset; ///< Blue offset.
    + +
    80 
    +
    81 /**
    +
    82  * @brief Preset conversion coefficients based on ITU standards for the YUV->RGB formula.
    +
    83  *
    +
    84  * For more details refer to @ref Y2RU_ColorCoefficients
    +
    85  */
    +
    86 typedef enum
    +
    87 {
    +
    88  COEFFICIENT_ITU_R_BT_601 = 0x0, ///< Coefficients from the ITU-R BT.601 standard with PC ranges.
    +
    89  COEFFICIENT_ITU_R_BT_709 = 0x1, ///< Coefficients from the ITU-R BT.709 standard with PC ranges.
    +
    90  COEFFICIENT_ITU_R_BT_601_SCALING = 0x2, ///< Coefficients from the ITU-R BT.601 standard with TV ranges.
    +
    91  COEFFICIENT_ITU_R_BT_709_SCALING = 0x3, ///< Coefficients from the ITU-R BT.709 standard with TV ranges.
    + +
    93 
    +
    94 /**
    +
    95  * @brief Structure used to configure all parameters at once.
    +
    96  *
    +
    97  * You can send a batch of configuration parameters using this structure and @ref Y2RU_SetConversionParams.
    +
    98  */
    +
    99 typedef struct
    +
    100 {
    +
    101  Y2RU_InputFormat input_format : 8; ///< Value passed to @ref Y2RU_SetInputFormat
    +
    102  Y2RU_OutputFormat output_format : 8; ///< Value passed to @ref Y2RU_SetOutputFormat
    +
    103  Y2RU_Rotation rotation : 8; ///< Value passed to @ref Y2RU_SetRotation
    +
    104  Y2RU_BlockAlignment block_alignment : 8; ///< Value passed to @ref Y2RU_SetBlockAlignment
    +
    105  s16 input_line_width; ///< Value passed to @ref Y2RU_SetInputLineWidth
    +
    106  s16 input_lines; ///< Value passed to @ref Y2RU_SetInputLines
    +
    107  Y2RU_StandardCoefficient standard_coefficient : 8; ///< Value passed to @ref Y2RU_SetStandardCoefficient
    +
    108  u8 unused; ///< Unused.
    +
    109  u16 alpha; ///< Value passed to @ref Y2RU_SetAlpha
    + +
    111 
    +
    112 /// Dithering weights.
    +
    113 typedef struct
    +
    114 {
    +
    115  u16 w0_xEven_yEven; ///< Weight 0 for even X, even Y.
    +
    116  u16 w0_xOdd_yEven; ///< Weight 0 for odd X, even Y.
    +
    117  u16 w0_xEven_yOdd; ///< Weight 0 for even X, odd Y.
    +
    118  u16 w0_xOdd_yOdd; ///< Weight 0 for odd X, odd Y.
    +
    119  u16 w1_xEven_yEven; ///< Weight 1 for even X, even Y.
    +
    120  u16 w1_xOdd_yEven; ///< Weight 1 for odd X, even Y.
    +
    121  u16 w1_xEven_yOdd; ///< Weight 1 for even X, odd Y.
    +
    122  u16 w1_xOdd_yOdd; ///< Weight 1 for odd X, odd Y.
    +
    123  u16 w2_xEven_yEven; ///< Weight 2 for even X, even Y.
    +
    124  u16 w2_xOdd_yEven; ///< Weight 2 for odd X, even Y.
    +
    125  u16 w2_xEven_yOdd; ///< Weight 2 for even X, odd Y.
    +
    126  u16 w2_xOdd_yOdd; ///< Weight 2 for odd X, odd Y.
    +
    127  u16 w3_xEven_yEven; ///< Weight 3 for even X, even Y.
    +
    128  u16 w3_xOdd_yEven; ///< Weight 3 for odd X, even Y.
    +
    129  u16 w3_xEven_yOdd; ///< Weight 3 for even X, odd Y.
    +
    130  u16 w3_xOdd_yOdd; ///< Weight 3 for odd X, odd Y.
    + +
    132 
    +
    133 /**
    +
    134  * @brief Initializes the y2r service.
    +
    135  *
    +
    136  * This will internally get the handle of the service, and on success call Y2RU_DriverInitialize.
    +
    137  */
    + +
    139 
    +
    140 /**
    +
    141  * @brief Closes the y2r service.
    +
    142  *
    +
    143  * This will internally call Y2RU_DriverFinalize and close the handle of the service.
    +
    144  */
    +
    145 void y2rExit(void);
    +
    146 
    +
    147 /**
    +
    148  * @brief Used to configure the input format.
    +
    149  * @param format Input format to use.
    +
    150  *
    +
    151  * @note Prefer using @ref Y2RU_SetConversionParams if you have to set multiple parameters.
    +
    152  */
    + +
    154 
    +
    155 /**
    +
    156  * @brief Gets the configured input format.
    +
    157  * @param format Pointer to output the input format to.
    +
    158  */
    + +
    160 
    +
    161 /**
    +
    162  * @brief Used to configure the output format.
    +
    163  * @param format Output format to use.
    +
    164  *
    +
    165  * @note Prefer using @ref Y2RU_SetConversionParams if you have to set multiple parameters.
    +
    166  */
    + +
    168 
    +
    169 /**
    +
    170  * @brief Gets the configured output format.
    +
    171  * @param format Pointer to output the output format to.
    +
    172  */
    + +
    174 
    +
    175 /**
    +
    176  * @brief Used to configure the rotation of the output.
    +
    177  * @param rotation Rotation to use.
    +
    178  *
    +
    179  * It seems to apply the rotation per batch of 8 lines, so the output will be (height/8) images of size 8 x width.
    +
    180  *
    +
    181  * @note Prefer using @ref Y2RU_SetConversionParams if you have to set multiple parameters.
    +
    182  */
    + +
    184 
    +
    185 /**
    +
    186  * @brief Gets the configured rotation.
    +
    187  * @param rotation Pointer to output the rotation to.
    +
    188  */
    + +
    190 
    +
    191 /**
    +
    192  * @brief Used to configure the alignment of the output buffer.
    +
    193  * @param alignment Alignment to use.
    +
    194  *
    +
    195  * @note Prefer using @ref Y2RU_SetConversionParams if you have to set multiple parameters.
    +
    196  */
    + +
    198 
    +
    199 /**
    +
    200  * @brief Gets the configured alignment.
    +
    201  * @param alignment Pointer to output the alignment to.
    +
    202  */
    + +
    204 
    +
    205 /**
    +
    206  * @brief Sets whether to use spacial dithering.
    +
    207  * @param enable Whether to use spacial dithering.
    +
    208  */
    + +
    210 
    +
    211 /**
    +
    212  * @brief Gets whether to use spacial dithering.
    +
    213  * @param enable Pointer to output the spacial dithering state to.
    +
    214  */
    + +
    216 
    +
    217 /**
    +
    218  * @brief Sets whether to use temporal dithering.
    +
    219  * @param enable Whether to use temporal dithering.
    +
    220  */
    + +
    222 
    +
    223 /**
    +
    224  * @brief Gets whether to use temporal dithering.
    +
    225  * @param enable Pointer to output the temporal dithering state to.
    +
    226  */
    + +
    228 
    +
    229 
    +
    230 /**
    +
    231  * @brief Used to configure the width of the image.
    +
    232  * @param line_width Width of the image in pixels. Must be a multiple of 8, up to 1024.
    +
    233  *
    +
    234  * @note Prefer using @ref Y2RU_SetConversionParams if you have to set multiple parameters.
    +
    235  */
    + +
    237 
    +
    238 /**
    +
    239  * @brief Gets the configured input line width.
    +
    240  * @param line_width Pointer to output the line width to.
    +
    241  */
    + +
    243 
    +
    244 /**
    +
    245  * @brief Used to configure the height of the image.
    +
    246  * @param num_lines Number of lines to be converted.
    +
    247  *
    +
    248  * A multiple of 8 seems to be preferred.
    +
    249  * If using the @ref BLOCK_8_BY_8 mode, it must be a multiple of 8.
    +
    250  *
    +
    251  * @note Prefer using @ref Y2RU_SetConversionParams if you have to set multiple parameters.
    +
    252  */
    + +
    254 
    +
    255 /**
    +
    256  * @brief Gets the configured number of input lines.
    +
    257  * @param num_lines Pointer to output the input lines to.
    +
    258  */
    + +
    260 
    +
    261 /**
    +
    262  * @brief Used to configure the color conversion formula.
    +
    263  * @param coefficients Coefficients to use.
    +
    264  *
    +
    265  * See @ref Y2RU_ColorCoefficients for more information about the coefficients.
    +
    266  *
    +
    267  * @note Prefer using @ref Y2RU_SetConversionParams if you have to set multiple parameters.
    +
    268  */
    + +
    270 
    +
    271 /**
    +
    272  * @brief Gets the configured color coefficients.
    +
    273  * @param num_lines Pointer to output the coefficients to.
    +
    274  */
    + +
    276 
    +
    277 /**
    +
    278  * @brief Used to configure the color conversion formula with ITU stantards coefficients.
    +
    279  * @param coefficient Standard coefficient to use.
    +
    280  *
    +
    281  * See @ref Y2RU_ColorCoefficients for more information about the coefficients.
    +
    282  *
    +
    283  * @note Prefer using @ref Y2RU_SetConversionParams if you have to set multiple parameters.
    +
    284  */
    + +
    286 
    +
    287 /**
    +
    288  * @brief Gets the color coefficient parameters of a standard coefficient.
    +
    289  * @param coefficients Pointer to output the coefficients to.
    +
    290  * @param standardCoeff Standard coefficient to check.
    +
    291  */
    + +
    293 
    +
    294 /**
    +
    295  * @brief Used to configure the alpha value of the output.
    +
    296  * @param alpha 8-bit value to be used for the output when the format requires it.
    +
    297  *
    +
    298  * @note Prefer using @ref Y2RU_SetConversionParams if you have to set multiple parameters.
    +
    299  */
    + +
    301 
    +
    302 /**
    +
    303  * @brief Gets the configured output alpha value.
    +
    304  * @param alpha Pointer to output the alpha value to.
    +
    305  */
    + +
    307 
    +
    308 /**
    +
    309  * @brief Used to enable the end of conversion interrupt.
    +
    310  * @param should_interrupt Enables the interrupt if true, disable it if false.
    +
    311  *
    +
    312  * It is possible to fire an interrupt when the conversion is finished, and that the DMA is done copying the data.
    +
    313  * This interrupt will then be used to fire an event. See @ref Y2RU_GetTransferEndEvent.
    +
    314  * By default the interrupt is enabled.
    +
    315  *
    +
    316  * @note It seems that the event can be fired too soon in some cases, depending the transfer_unit size.\n Please see the note at @ref Y2RU_SetReceiving
    +
    317  */
    +
    318 Result Y2RU_SetTransferEndInterrupt(bool should_interrupt);
    +
    319 
    +
    320 /**
    +
    321  * @brief Gets whether the transfer end interrupt is enabled.
    +
    322  * @param should_interrupt Pointer to output the interrupt state to.
    +
    323  */
    +
    324 Result Y2RU_GetTransferEndInterrupt(bool* should_interrupt);
    +
    325 
    +
    326 /**
    +
    327  * @brief Gets an handle to the end of conversion event.
    +
    328  * @param end_event Pointer to the event handle to be set to the end of conversion event. It isn't necessary to create or close this handle.
    +
    329  *
    +
    330  * To enable this event you have to use @code{C} Y2RU_SetTransferEndInterrupt(true);@endcode
    +
    331  * The event will be triggered when the corresponding interrupt is fired.
    +
    332  *
    +
    333  * @note It is recommended to use a timeout when waiting on this event, as it sometimes (but rarely) isn't triggered.
    +
    334  */
    + +
    336 
    +
    337 /**
    +
    338  * @brief Configures the Y plane buffer.
    +
    339  * @param src_buf A pointer to the beginning of your Y data buffer.
    +
    340  * @param image_size The total size of the data buffer.
    +
    341  * @param transfer_unit Specifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
    +
    342  * @param transfer_gap Specifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.
    +
    343  *
    +
    344  * @warning transfer_unit+transfer_gap must be less than 32768 (0x8000)
    +
    345  *
    +
    346  * This specifies the Y data buffer for the planar input formats (INPUT_YUV42*_INDIV_*).
    +
    347  * The actual transfer will only happen after calling @ref Y2RU_StartConversion.
    +
    348  */
    +
    349 Result Y2RU_SetSendingY(const void* src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap);
    +
    350 
    +
    351 /**
    +
    352  * @brief Configures the U plane buffer.
    +
    353  * @param src_buf A pointer to the beginning of your Y data buffer.
    +
    354  * @param image_size The total size of the data buffer.
    +
    355  * @param transfer_unit Specifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
    +
    356  * @param transfer_gap Specifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.
    +
    357  *
    +
    358  * @warning transfer_unit+transfer_gap must be less than 32768 (0x8000)
    +
    359  *
    +
    360  * This specifies the U data buffer for the planar input formats (INPUT_YUV42*_INDIV_*).
    +
    361  * The actual transfer will only happen after calling @ref Y2RU_StartConversion.
    +
    362  */
    +
    363 Result Y2RU_SetSendingU(const void* src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap);
    +
    364 
    +
    365 /**
    +
    366  * @brief Configures the V plane buffer.
    +
    367  * @param src_buf A pointer to the beginning of your Y data buffer.
    +
    368  * @param image_size The total size of the data buffer.
    +
    369  * @param transfer_unit Specifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
    +
    370  * @param transfer_gap Specifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.
    +
    371  *
    +
    372  * @warning transfer_unit+transfer_gap must be less than 32768 (0x8000)
    +
    373  *
    +
    374  * This specifies the V data buffer for the planar input formats (INPUT_YUV42*_INDIV_*).
    +
    375  * The actual transfer will only happen after calling @ref Y2RU_StartConversion.
    +
    376  */
    +
    377 Result Y2RU_SetSendingV(const void* src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap);
    +
    378 
    +
    379 /**
    +
    380  * @brief Configures the YUYV source buffer.
    +
    381  * @param src_buf A pointer to the beginning of your Y data buffer.
    +
    382  * @param image_size The total size of the data buffer.
    +
    383  * @param transfer_unit Specifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
    +
    384  * @param transfer_gap Specifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.
    +
    385  *
    +
    386  * @warning transfer_unit+transfer_gap must be less than 32768 (0x8000)
    +
    387  *
    +
    388  * This specifies the YUYV data buffer for the packed input format @ref INPUT_YUV422_BATCH.
    +
    389  * The actual transfer will only happen after calling @ref Y2RU_StartConversion.
    +
    390  */
    +
    391 Result Y2RU_SetSendingYUYV(const void* src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap);
    +
    392 
    +
    393 /**
    +
    394  * @brief Configures the destination buffer.
    +
    395  * @param src_buf A pointer to the beginning of your destination buffer in FCRAM
    +
    396  * @param image_size The total size of the data buffer.
    +
    397  * @param transfer_unit Specifies the size of 1 DMA transfer. Usually set to 1 line. This has to be a divisor of image_size.
    +
    398  * @param transfer_gap Specifies the gap (offset) to be added after each transfer. Can be used to convert images with stride or only a part of it.
    +
    399  *
    +
    400  * This specifies the destination buffer of the conversion.
    +
    401  * The actual transfer will only happen after calling @ref Y2RU_StartConversion.
    +
    402  * The buffer does NOT need to be allocated in the linear heap.
    +
    403  *
    +
    404  * @warning transfer_unit+transfer_gap must be less than 32768 (0x8000)
    +
    405  *
    +
    406  * @note
    +
    407  * It seems that depending on the size of the image and of the transfer unit,\n
    +
    408  * it is possible for the end of conversion interrupt to be triggered right after the conversion began.\n
    +
    409  * One line as transfer_unit seems to trigger this issue for 400x240, setting to 2/4/8 lines fixes it.
    +
    410  *
    +
    411  * @note Setting a transfer_unit of 4 or 8 lines seems to bring the best results in terms of speed for a 400x240 image.
    +
    412  */
    +
    413 Result Y2RU_SetReceiving(void* dst_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap);
    +
    414 
    +
    415 /**
    +
    416  * @brief Checks if the DMA has finished sending the Y buffer.
    +
    417  * @param is_done Pointer to the boolean that will hold the result.
    +
    418  *
    +
    419  * True if the DMA has finished transferring the Y plane, false otherwise. To be used with @ref Y2RU_SetSendingY.
    +
    420  */
    + +
    422 
    +
    423 /**
    +
    424  * @brief Checks if the DMA has finished sending the U buffer.
    +
    425  * @param is_done Pointer to the boolean that will hold the result.
    +
    426  *
    +
    427  * True if the DMA has finished transferring the U plane, false otherwise. To be used with @ref Y2RU_SetSendingU.
    +
    428  */
    + +
    430 
    +
    431 /**
    +
    432  * @brief Checks if the DMA has finished sending the V buffer.
    +
    433  * @param is_done Pointer to the boolean that will hold the result.
    +
    434  *
    +
    435  * True if the DMA has finished transferring the V plane, false otherwise. To be used with @ref Y2RU_SetSendingV.
    +
    436  */
    + +
    438 
    +
    439 /**
    +
    440  * @brief Checks if the DMA has finished sending the YUYV buffer.
    +
    441  * @param is_done Pointer to the boolean that will hold the result.
    +
    442  *
    +
    443  * True if the DMA has finished transferring the YUYV buffer, false otherwise. To be used with @ref Y2RU_SetSendingYUYV.
    +
    444  */
    + +
    446 
    +
    447 /**
    +
    448  * @brief Checks if the DMA has finished sending the converted result.
    +
    449  * @param is_done Pointer to the boolean that will hold the result.
    +
    450  *
    +
    451  * True if the DMA has finished transferring data to your destination buffer, false otherwise.
    +
    452  */
    + +
    454 
    +
    455 /**
    +
    456  * @brief Configures the dithering weight parameters.
    +
    457  * @param params Dithering weight parameters to use.
    +
    458  */
    + +
    460 
    +
    461 /**
    +
    462  * @brief Gets the configured dithering weight parameters.
    +
    463  * @param params Pointer to output the dithering weight parameters to.
    +
    464  */
    + +
    466 
    +
    467 /**
    +
    468  * @brief Sets all of the parameters of Y2RU_ConversionParams at once.
    +
    469  * @param params Conversion parameters to set.
    +
    470  *
    +
    471  * Faster than calling the individual value through Y2R_Set* because only one system call is made.
    +
    472  */
    + +
    474 
    +
    475 /// Starts the conversion process
    + +
    477 
    +
    478 /// Cancels the conversion
    + +
    480 
    +
    481 /**
    +
    482  * @brief Checks if the conversion and DMA transfer are finished.
    +
    483  * @param is_busy Pointer to output the busy state to.
    +
    484  *
    +
    485  * This can have the same problems as the event and interrupt. See @ref Y2RU_SetTransferEndInterrupt.
    +
    486  */
    + +
    488 
    +
    489 /**
    +
    490  * @brief Checks whether Y2R is ready to be used.
    +
    491  * @param ping Pointer to output the ready status to.
    +
    492  */
    + +
    494 
    +
    495 /// Initializes the Y2R driver.
    + +
    497 
    +
    498 /// Terminates the Y2R driver.
    + +
    500 
    +
    Coefficients of the YUV->RGB conversion formula.
    Definition: y2r.h:70
    +
    u16 r_V
    Red per unit V.
    Definition: y2r.h:72
    +
    u16 b_offset
    Blue offset.
    Definition: y2r.h:78
    +
    u16 b_U
    Blue per unit U.
    Definition: y2r.h:75
    +
    u16 g_V
    Green per unit V.
    Definition: y2r.h:73
    +
    u16 rgb_Y
    RGB per unit Y.
    Definition: y2r.h:71
    +
    u16 g_U
    Green per unit U.
    Definition: y2r.h:74
    +
    u16 g_offset
    Green offset.
    Definition: y2r.h:77
    +
    u16 r_offset
    Red offset.
    Definition: y2r.h:76
    +
    Structure used to configure all parameters at once.
    Definition: y2r.h:100
    +
    Y2RU_OutputFormat output_format
    Value passed to Y2RU_SetOutputFormat.
    Definition: y2r.h:102
    +
    s16 input_lines
    Value passed to Y2RU_SetInputLines.
    Definition: y2r.h:106
    +
    u16 alpha
    Value passed to Y2RU_SetAlpha.
    Definition: y2r.h:109
    +
    Y2RU_Rotation rotation
    Value passed to Y2RU_SetRotation.
    Definition: y2r.h:103
    +
    u8 unused
    Unused.
    Definition: y2r.h:108
    +
    s16 input_line_width
    Value passed to Y2RU_SetInputLineWidth.
    Definition: y2r.h:105
    +
    Y2RU_InputFormat input_format
    Value passed to Y2RU_SetInputFormat.
    Definition: y2r.h:101
    +
    Y2RU_StandardCoefficient standard_coefficient
    Value passed to Y2RU_SetStandardCoefficient.
    Definition: y2r.h:107
    +
    Y2RU_BlockAlignment block_alignment
    Value passed to Y2RU_SetBlockAlignment.
    Definition: y2r.h:104
    +
    Dithering weights.
    Definition: y2r.h:114
    +
    u16 w0_xEven_yOdd
    Weight 0 for even X, odd Y.
    Definition: y2r.h:117
    +
    u16 w1_xEven_yEven
    Weight 1 for even X, even Y.
    Definition: y2r.h:119
    +
    u16 w1_xEven_yOdd
    Weight 1 for even X, odd Y.
    Definition: y2r.h:121
    +
    u16 w3_xEven_yEven
    Weight 3 for even X, even Y.
    Definition: y2r.h:127
    +
    u16 w2_xOdd_yEven
    Weight 2 for odd X, even Y.
    Definition: y2r.h:124
    +
    u16 w2_xOdd_yOdd
    Weight 2 for odd X, odd Y.
    Definition: y2r.h:126
    +
    u16 w2_xEven_yEven
    Weight 2 for even X, even Y.
    Definition: y2r.h:123
    +
    u16 w1_xOdd_yOdd
    Weight 1 for odd X, odd Y.
    Definition: y2r.h:122
    +
    u16 w2_xEven_yOdd
    Weight 2 for even X, odd Y.
    Definition: y2r.h:125
    +
    u16 w0_xEven_yEven
    Weight 0 for even X, even Y.
    Definition: y2r.h:115
    +
    u16 w3_xEven_yOdd
    Weight 3 for even X, odd Y.
    Definition: y2r.h:129
    +
    u16 w1_xOdd_yEven
    Weight 1 for odd X, even Y.
    Definition: y2r.h:120
    +
    u16 w0_xOdd_yEven
    Weight 0 for odd X, even Y.
    Definition: y2r.h:116
    +
    u16 w3_xOdd_yEven
    Weight 3 for odd X, even Y.
    Definition: y2r.h:128
    +
    u16 w0_xOdd_yOdd
    Weight 0 for odd X, odd Y.
    Definition: y2r.h:118
    +
    u16 w3_xOdd_yOdd
    Weight 3 for odd X, odd Y.
    Definition: y2r.h:130
    +
    Various system types.
    +
    uint8_t u8
    would be nice if newlib had this already
    Definition: types.h:21
    +
    int16_t s16
    16-bit signed integer
    Definition: types.h:27
    +
    u32 Handle
    Resource handle.
    Definition: types.h:41
    +
    s32 Result
    Function result.
    Definition: types.h:42
    +
    uint16_t u16
    16-bit unsigned integer
    Definition: types.h:22
    +
    uint32_t u32
    32-bit unsigned integer
    Definition: types.h:23
    +
    Y2RU_Rotation
    Rotation to be applied to the output.
    Definition: y2r.h:37
    +
    @ ROTATION_CLOCKWISE_270
    Clockwise 270 degrees.
    Definition: y2r.h:41
    +
    @ ROTATION_NONE
    No rotation.
    Definition: y2r.h:38
    +
    @ ROTATION_CLOCKWISE_180
    Clockwise 180 degrees.
    Definition: y2r.h:40
    +
    @ ROTATION_CLOCKWISE_90
    Clockwise 90 degrees.
    Definition: y2r.h:39
    +
    Result Y2RU_IsDoneReceiving(bool *is_done)
    Checks if the DMA has finished sending the converted result.
    +
    Result Y2RU_GetInputFormat(Y2RU_InputFormat *format)
    Gets the configured input format.
    +
    Result Y2RU_SetConversionParams(const Y2RU_ConversionParams *params)
    Sets all of the parameters of Y2RU_ConversionParams at once.
    +
    Result Y2RU_IsDoneSendingU(bool *is_done)
    Checks if the DMA has finished sending the U buffer.
    +
    void y2rExit(void)
    Closes the y2r service.
    +
    Result Y2RU_SetSendingYUYV(const void *src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
    Configures the YUYV source buffer.
    +
    Result Y2RU_GetStandardCoefficient(Y2RU_ColorCoefficients *coefficients, Y2RU_StandardCoefficient standardCoeff)
    Gets the color coefficient parameters of a standard coefficient.
    +
    Result Y2RU_SetTemporalDithering(bool enable)
    Sets whether to use temporal dithering.
    +
    Result Y2RU_SetSendingY(const void *src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
    Configures the Y plane buffer.
    +
    Result Y2RU_GetAlpha(u16 *alpha)
    Gets the configured output alpha value.
    +
    Result Y2RU_GetSpacialDithering(bool *enabled)
    Gets whether to use spacial dithering.
    +
    Y2RU_StandardCoefficient
    Preset conversion coefficients based on ITU standards for the YUV->RGB formula.
    Definition: y2r.h:87
    +
    @ COEFFICIENT_ITU_R_BT_601_SCALING
    Coefficients from the ITU-R BT.601 standard with TV ranges.
    Definition: y2r.h:90
    +
    @ COEFFICIENT_ITU_R_BT_709_SCALING
    Coefficients from the ITU-R BT.709 standard with TV ranges.
    Definition: y2r.h:91
    +
    @ COEFFICIENT_ITU_R_BT_601
    Coefficients from the ITU-R BT.601 standard with PC ranges.
    Definition: y2r.h:88
    +
    @ COEFFICIENT_ITU_R_BT_709
    Coefficients from the ITU-R BT.709 standard with PC ranges.
    Definition: y2r.h:89
    +
    Result Y2RU_IsDoneSendingYUYV(bool *is_done)
    Checks if the DMA has finished sending the YUYV buffer.
    +
    Result y2rInit(void)
    Initializes the y2r service.
    +
    Result Y2RU_SetOutputFormat(Y2RU_OutputFormat format)
    Used to configure the output format.
    +
    Result Y2RU_SetSendingV(const void *src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
    Configures the V plane buffer.
    +
    Result Y2RU_SetTransferEndInterrupt(bool should_interrupt)
    Used to enable the end of conversion interrupt.
    +
    Result Y2RU_GetTransferEndInterrupt(bool *should_interrupt)
    Gets whether the transfer end interrupt is enabled.
    +
    Result Y2RU_SetCoefficients(const Y2RU_ColorCoefficients *coefficients)
    Used to configure the color conversion formula.
    +
    Result Y2RU_IsDoneSendingY(bool *is_done)
    Checks if the DMA has finished sending the Y buffer.
    +
    Result Y2RU_GetDitheringWeightParams(Y2RU_DitheringWeightParams *params)
    Gets the configured dithering weight parameters.
    +
    Result Y2RU_GetCoefficients(Y2RU_ColorCoefficients *coefficients)
    Gets the configured color coefficients.
    +
    Result Y2RU_SetStandardCoefficient(Y2RU_StandardCoefficient coefficient)
    Used to configure the color conversion formula with ITU stantards coefficients.
    +
    Result Y2RU_GetInputLineWidth(u16 *line_width)
    Gets the configured input line width.
    +
    Result Y2RU_IsBusyConversion(bool *is_busy)
    Checks if the conversion and DMA transfer are finished.
    +
    Result Y2RU_SetRotation(Y2RU_Rotation rotation)
    Used to configure the rotation of the output.
    +
    Result Y2RU_SetSendingU(const void *src_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
    Configures the U plane buffer.
    +
    Result Y2RU_SetSpacialDithering(bool enable)
    Sets whether to use spacial dithering.
    +
    Result Y2RU_DriverInitialize(void)
    Initializes the Y2R driver.
    +
    Result Y2RU_StartConversion(void)
    Starts the conversion process.
    +
    Result Y2RU_StopConversion(void)
    Cancels the conversion.
    +
    Result Y2RU_SetInputLines(u16 num_lines)
    Used to configure the height of the image.
    +
    Result Y2RU_GetBlockAlignment(Y2RU_BlockAlignment *alignment)
    Gets the configured alignment.
    +
    Result Y2RU_GetOutputFormat(Y2RU_OutputFormat *format)
    Gets the configured output format.
    +
    Result Y2RU_IsDoneSendingV(bool *is_done)
    Checks if the DMA has finished sending the V buffer.
    +
    Y2RU_BlockAlignment
    Block alignment of output.
    Definition: y2r.h:50
    +
    @ BLOCK_8_BY_8
    The result will be stored as 8x8 blocks in Z-order. Useful for textures since it is the format used ...
    Definition: y2r.h:52
    +
    @ BLOCK_LINE
    The result buffer will be laid out in linear format, the usual way.
    Definition: y2r.h:51
    +
    Result Y2RU_GetRotation(Y2RU_Rotation *rotation)
    Gets the configured rotation.
    +
    Result Y2RU_SetDitheringWeightParams(const Y2RU_DitheringWeightParams *params)
    Configures the dithering weight parameters.
    +
    Result Y2RU_SetBlockAlignment(Y2RU_BlockAlignment alignment)
    Used to configure the alignment of the output buffer.
    +
    Y2RU_InputFormat
    Input color formats.
    Definition: y2r.h:14
    +
    @ INPUT_YUV420_INDIV_16
    16-bit per component, planar YUV 4:2:0, 24bpp, (1 Cr & Cb sample per 2x2 Y samples)....
    Definition: y2r.h:18
    +
    @ INPUT_YUV422_INDIV_16
    16-bit per component, planar YUV 4:2:2, 32bpp, (1 Cr & Cb sample per 2x1 Y samples)....
    Definition: y2r.h:17
    +
    @ INPUT_YUV422_BATCH
    8-bit per component, packed YUV 4:2:2, 16bpp, (Y0 Cb Y1 Cr). Usually named YUYV422.
    Definition: y2r.h:19
    +
    @ INPUT_YUV422_INDIV_8
    8-bit per component, planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)....
    Definition: y2r.h:15
    +
    @ INPUT_YUV420_INDIV_8
    8-bit per component, planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)....
    Definition: y2r.h:16
    +
    Y2RU_OutputFormat
    Output color formats.
    Definition: y2r.h:28
    +
    @ OUTPUT_RGB_32
    32-bit RGBA8888. The alpha component is the 8-bit value set by Y2RU_SetAlpha
    Definition: y2r.h:29
    +
    @ OUTPUT_RGB_24
    24-bit RGB888.
    Definition: y2r.h:30
    +
    @ OUTPUT_RGB_16_565
    16-bit RGB565.
    Definition: y2r.h:32
    +
    @ OUTPUT_RGB_16_555
    16-bit RGBA5551. The alpha bit is the 7th bit of the alpha value set by Y2RU_SetAlpha
    Definition: y2r.h:31
    +
    Result Y2RU_SetReceiving(void *dst_buf, u32 image_size, s16 transfer_unit, s16 transfer_gap)
    Configures the destination buffer.
    +
    Result Y2RU_SetInputLineWidth(u16 line_width)
    Used to configure the width of the image.
    +
    Result Y2RU_GetInputLines(u16 *num_lines)
    Gets the configured number of input lines.
    +
    Result Y2RU_DriverFinalize(void)
    Terminates the Y2R driver.
    +
    Result Y2RU_SetInputFormat(Y2RU_InputFormat format)
    Used to configure the input format.
    +
    Result Y2RU_GetTemporalDithering(bool *enabled)
    Gets whether to use temporal dithering.
    +
    Result Y2RU_GetTransferEndEvent(Handle *end_event)
    Gets an handle to the end of conversion event.
    +
    Result Y2RU_PingProcess(u8 *ping)
    Checks whether Y2R is ready to be used.
    +
    Result Y2RU_SetAlpha(u16 alpha)
    Used to configure the alpha value of the output.
    +
    + + + +