1 //! PSP C type definitions 2 //! 3 //! These type declarations are not enough, as they must be ultimately resolved 4 //! by the linker. Crates that use these definitions must, somewhere in the 5 //! crate graph, include a stub provider crate such as the `psp` crate. 6 7 pub type c_schar = i8; 8 pub type c_uchar = u8; 9 pub type c_short = i16; 10 pub type c_ushort = u16; 11 pub type c_int = i32; 12 pub type c_uint = u32; 13 pub type c_float = f32; 14 pub type c_double = f64; 15 pub type c_longlong = i64; 16 pub type c_ulonglong = u64; 17 pub type intmax_t = i64; 18 pub type uintmax_t = u64; 19 20 pub type size_t = usize; 21 pub type ptrdiff_t = isize; 22 pub type intptr_t = isize; 23 pub type uintptr_t = usize; 24 pub type ssize_t = isize; 25 26 pub type c_char = u8; 27 pub type c_long = i64; 28 pub type c_ulong = u64; 29 30 cfg_if! { 31 if #[cfg(libc_core_cvoid)] { 32 pub use ::ffi::c_void; 33 } else { 34 // Use repr(u8) as LLVM expects `void*` to be the same as `i8*` to help 35 // enable more optimization opportunities around it recognizing things 36 // like malloc/free. 37 #[repr(u8)] 38 #[allow(missing_copy_implementations)] 39 #[allow(missing_debug_implementations)] 40 pub enum c_void { 41 // Two dummy variants so the #[repr] attribute can be used. 42 #[doc(hidden)] 43 __variant1, 44 #[doc(hidden)] 45 __variant2, 46 } 47 } 48 } 49 50 pub type SceKernelVTimerHandler = unsafe extern "C" fn( 51 uid: SceUid, 52 arg1: *mut SceKernelSysClock, 53 arg2: *mut SceKernelSysClock, 54 arg3: *mut c_void, 55 ) -> u32; 56 57 pub type SceKernelVTimerHandlerWide = 58 unsafe extern "C" fn(uid: SceUid, arg1: i64, arg2: i64, arg3: *mut c_void) -> u32; 59 60 pub type SceKernelThreadEventHandler = 61 unsafe extern "C" fn(mask: i32, thid: SceUid, common: *mut c_void) -> i32; 62 63 pub type SceKernelAlarmHandler = unsafe extern "C" fn(common: *mut c_void) -> u32; 64 65 pub type SceKernelCallbackFunction = 66 unsafe extern "C" fn(arg1: i32, arg2: i32, arg: *mut c_void) -> i32; 67 68 pub type SceKernelThreadEntry = unsafe extern "C" fn(args: usize, argp: *mut c_void) -> i32; 69 70 pub type PowerCallback = extern "C" fn(unknown: i32, power_info: i32); 71 72 pub type IoPermissions = i32; 73 74 pub type UmdCallback = fn(unknown: i32, event: i32) -> i32; 75 76 pub type SceMpegRingbufferCb = 77 ::Option<unsafe extern "C" fn(data: *mut c_void, num_packets: i32, param: *mut c_void) -> i32>; 78 79 pub type GuCallback = ::Option<extern "C" fn(id: i32, arg: *mut c_void)>; 80 pub type GuSwapBuffersCallback = 81 ::Option<extern "C" fn(display: *mut *mut c_void, render: *mut *mut c_void)>; 82 83 pub type SceNetAdhocctlHandler = 84 ::Option<unsafe extern "C" fn(flag: i32, error: i32, unknown: *mut c_void)>; 85 86 pub type AdhocMatchingCallback = ::Option< 87 unsafe extern "C" fn( 88 matching_id: i32, 89 event: i32, 90 mac: *mut u8, 91 opt_len: i32, 92 opt_data: *mut c_void, 93 ), 94 >; 95 96 pub type SceNetApctlHandler = ::Option< 97 unsafe extern "C" fn(oldState: i32, newState: i32, event: i32, error: i32, pArg: *mut c_void), 98 >; 99 100 pub type HttpMallocFunction = ::Option<unsafe extern "C" fn(size: usize) -> *mut c_void>; 101 pub type HttpReallocFunction = 102 ::Option<unsafe extern "C" fn(p: *mut c_void, size: usize) -> *mut c_void>; 103 pub type HttpFreeFunction = ::Option<unsafe extern "C" fn(p: *mut c_void)>; 104 pub type HttpPasswordCB = ::Option< 105 unsafe extern "C" fn( 106 request: i32, 107 auth_type: HttpAuthType, 108 realm: *const u8, 109 username: *mut u8, 110 password: *mut u8, 111 need_entity: i32, 112 entity_body: *mut *mut u8, 113 entity_size: *mut usize, 114 save: *mut i32, 115 ) -> i32, 116 >; 117 118 pub type socklen_t = u32; 119 120 e! { 121 #[repr(u32)] 122 pub enum AudioFormat { 123 Stereo = 0, 124 Mono = 0x10, 125 } 126 127 #[repr(u32)] 128 pub enum DisplayMode { 129 Lcd = 0, 130 } 131 132 #[repr(u32)] 133 pub enum DisplayPixelFormat { 134 Psm5650 = 0, 135 Psm5551 = 1, 136 Psm4444 = 2, 137 Psm8888 = 3, 138 } 139 140 #[repr(u32)] 141 pub enum DisplaySetBufSync { 142 Immediate = 0, 143 NextFrame = 1, 144 } 145 146 #[repr(i32)] 147 pub enum AudioOutputFrequency { 148 Khz48 = 48000, 149 Khz44_1 = 44100, 150 Khz32 = 32000, 151 Khz24 = 24000, 152 Khz22_05 = 22050, 153 Khz16 = 16000, 154 Khz12 = 12000, 155 Khz11_025 = 11025, 156 Khz8 = 8000, 157 } 158 159 #[repr(i32)] 160 pub enum AudioInputFrequency { 161 Khz44_1 = 44100, 162 Khz22_05 = 22050, 163 Khz11_025 = 11025, 164 } 165 166 #[repr(u32)] 167 pub enum CtrlMode { 168 Digital = 0, 169 Analog, 170 } 171 172 #[repr(i32)] 173 pub enum GeMatrixType { 174 Bone0 = 0, 175 Bone1, 176 Bone2, 177 Bone3, 178 Bone4, 179 Bone5, 180 Bone6, 181 Bone7, 182 World, 183 View, 184 Projection, 185 TexGen, 186 } 187 188 #[repr(i32)] 189 pub enum GeListState { 190 Done = 0, 191 Queued, 192 DrawingDone, 193 StallReached, 194 CancelDone, 195 } 196 197 #[repr(u8)] 198 pub enum GeCommand { 199 Nop = 0, 200 Vaddr = 0x1, 201 Iaddr = 0x2, 202 Prim = 0x4, 203 Bezier = 0x5, 204 Spline = 0x6, 205 BoundingBox = 0x7, 206 Jump = 0x8, 207 BJump = 0x9, 208 Call = 0xa, 209 Ret = 0xb, 210 End = 0xc, 211 Signal = 0xe, 212 Finish = 0xf, 213 Base = 0x10, 214 VertexType = 0x12, 215 OffsetAddr = 0x13, 216 Origin = 0x14, 217 Region1 = 0x15, 218 Region2 = 0x16, 219 LightingEnable = 0x17, 220 LightEnable0 = 0x18, 221 LightEnable1 = 0x19, 222 LightEnable2 = 0x1a, 223 LightEnable3 = 0x1b, 224 DepthClampEnable = 0x1c, 225 CullFaceEnable = 0x1d, 226 TextureMapEnable = 0x1e, 227 FogEnable = 0x1f, 228 DitherEnable = 0x20, 229 AlphaBlendEnable = 0x21, 230 AlphaTestEnable = 0x22, 231 ZTestEnable = 0x23, 232 StencilTestEnable = 0x24, 233 AntiAliasEnable = 0x25, 234 PatchCullEnable = 0x26, 235 ColorTestEnable = 0x27, 236 LogicOpEnable = 0x28, 237 BoneMatrixNumber = 0x2a, 238 BoneMatrixData = 0x2b, 239 MorphWeight0 = 0x2c, 240 MorphWeight1 = 0x2d, 241 MorphWeight2 = 0x2e, 242 MorphWeight3 = 0x2f, 243 MorphWeight4 = 0x30, 244 MorphWeight5 = 0x31, 245 MorphWeight6 = 0x32, 246 MorphWeight7 = 0x33, 247 PatchDivision = 0x36, 248 PatchPrimitive = 0x37, 249 PatchFacing = 0x38, 250 WorldMatrixNumber = 0x3a, 251 WorldMatrixData = 0x3b, 252 ViewMatrixNumber = 0x3c, 253 ViewMatrixData = 0x3d, 254 ProjMatrixNumber = 0x3e, 255 ProjMatrixData = 0x3f, 256 TGenMatrixNumber = 0x40, 257 TGenMatrixData = 0x41, 258 ViewportXScale = 0x42, 259 ViewportYScale = 0x43, 260 ViewportZScale = 0x44, 261 ViewportXCenter = 0x45, 262 ViewportYCenter = 0x46, 263 ViewportZCenter = 0x47, 264 TexScaleU = 0x48, 265 TexScaleV = 0x49, 266 TexOffsetU = 0x4a, 267 TexOffsetV = 0x4b, 268 OffsetX = 0x4c, 269 OffsetY = 0x4d, 270 ShadeMode = 0x50, 271 ReverseNormal = 0x51, 272 MaterialUpdate = 0x53, 273 MaterialEmissive = 0x54, 274 MaterialAmbient = 0x55, 275 MaterialDiffuse = 0x56, 276 MaterialSpecular = 0x57, 277 MaterialAlpha = 0x58, 278 MaterialSpecularCoef = 0x5b, 279 AmbientColor = 0x5c, 280 AmbientAlpha = 0x5d, 281 LightMode = 0x5e, 282 LightType0 = 0x5f, 283 LightType1 = 0x60, 284 LightType2 = 0x61, 285 LightType3 = 0x62, 286 Light0X = 0x63, 287 Light0Y, 288 Light0Z, 289 Light1X, 290 Light1Y, 291 Light1Z, 292 Light2X, 293 Light2Y, 294 Light2Z, 295 Light3X, 296 Light3Y, 297 Light3Z, 298 Light0DirectionX = 0x6f, 299 Light0DirectionY, 300 Light0DirectionZ, 301 Light1DirectionX, 302 Light1DirectionY, 303 Light1DirectionZ, 304 Light2DirectionX, 305 Light2DirectionY, 306 Light2DirectionZ, 307 Light3DirectionX, 308 Light3DirectionY, 309 Light3DirectionZ, 310 Light0ConstantAtten = 0x7b, 311 Light0LinearAtten, 312 Light0QuadtraticAtten, 313 Light1ConstantAtten, 314 Light1LinearAtten, 315 Light1QuadtraticAtten, 316 Light2ConstantAtten, 317 Light2LinearAtten, 318 Light2QuadtraticAtten, 319 Light3ConstantAtten, 320 Light3LinearAtten, 321 Light3QuadtraticAtten, 322 Light0ExponentAtten = 0x87, 323 Light1ExponentAtten, 324 Light2ExponentAtten, 325 Light3ExponentAtten, 326 Light0CutoffAtten = 0x8b, 327 Light1CutoffAtten, 328 Light2CutoffAtten, 329 Light3CutoffAtten, 330 Light0Ambient = 0x8f, 331 Light0Diffuse, 332 Light0Specular, 333 Light1Ambient, 334 Light1Diffuse, 335 Light1Specular, 336 Light2Ambient, 337 Light2Diffuse, 338 Light2Specular, 339 Light3Ambient, 340 Light3Diffuse, 341 Light3Specular, 342 Cull = 0x9b, 343 FrameBufPtr = 0x9c, 344 FrameBufWidth = 0x9d, 345 ZBufPtr = 0x9e, 346 ZBufWidth = 0x9f, 347 TexAddr0 = 0xa0, 348 TexAddr1, 349 TexAddr2, 350 TexAddr3, 351 TexAddr4, 352 TexAddr5, 353 TexAddr6, 354 TexAddr7, 355 TexBufWidth0 = 0xa8, 356 TexBufWidth1, 357 TexBufWidth2, 358 TexBufWidth3, 359 TexBufWidth4, 360 TexBufWidth5, 361 TexBufWidth6, 362 TexBufWidth7, 363 ClutAddr = 0xb0, 364 ClutAddrUpper = 0xb1, 365 TransferSrc, 366 TransferSrcW, 367 TransferDst, 368 TransferDstW, 369 TexSize0 = 0xb8, 370 TexSize1, 371 TexSize2, 372 TexSize3, 373 TexSize4, 374 TexSize5, 375 TexSize6, 376 TexSize7, 377 TexMapMode = 0xc0, 378 TexShadeLs = 0xc1, 379 TexMode = 0xc2, 380 TexFormat = 0xc3, 381 LoadClut = 0xc4, 382 ClutFormat = 0xc5, 383 TexFilter = 0xc6, 384 TexWrap = 0xc7, 385 TexLevel = 0xc8, 386 TexFunc = 0xc9, 387 TexEnvColor = 0xca, 388 TexFlush = 0xcb, 389 TexSync = 0xcc, 390 Fog1 = 0xcd, 391 Fog2 = 0xce, 392 FogColor = 0xcf, 393 TexLodSlope = 0xd0, 394 FramebufPixFormat = 0xd2, 395 ClearMode = 0xd3, 396 Scissor1 = 0xd4, 397 Scissor2 = 0xd5, 398 MinZ = 0xd6, 399 MaxZ = 0xd7, 400 ColorTest = 0xd8, 401 ColorRef = 0xd9, 402 ColorTestmask = 0xda, 403 AlphaTest = 0xdb, 404 StencilTest = 0xdc, 405 StencilOp = 0xdd, 406 ZTest = 0xde, 407 BlendMode = 0xdf, 408 BlendFixedA = 0xe0, 409 BlendFixedB = 0xe1, 410 Dith0 = 0xe2, 411 Dith1, 412 Dith2, 413 Dith3, 414 LogicOp = 0xe6, 415 ZWriteDisable = 0xe7, 416 MaskRgb = 0xe8, 417 MaskAlpha = 0xe9, 418 TransferStart = 0xea, 419 TransferSrcPos = 0xeb, 420 TransferDstPos = 0xec, 421 TransferSize = 0xee, 422 Vscx = 0xf0, 423 Vscy = 0xf1, 424 Vscz = 0xf2, 425 Vtcs = 0xf3, 426 Vtct = 0xf4, 427 Vtcq = 0xf5, 428 Vcv = 0xf6, 429 Vap = 0xf7, 430 Vfc = 0xf8, 431 Vscv = 0xf9, 432 433 Unknown03 = 0x03, 434 Unknown0D = 0x0d, 435 Unknown11 = 0x11, 436 Unknown29 = 0x29, 437 Unknown34 = 0x34, 438 Unknown35 = 0x35, 439 Unknown39 = 0x39, 440 Unknown4E = 0x4e, 441 Unknown4F = 0x4f, 442 Unknown52 = 0x52, 443 Unknown59 = 0x59, 444 Unknown5A = 0x5a, 445 UnknownB6 = 0xb6, 446 UnknownB7 = 0xb7, 447 UnknownD1 = 0xd1, 448 UnknownED = 0xed, 449 UnknownEF = 0xef, 450 UnknownFA = 0xfa, 451 UnknownFB = 0xfb, 452 UnknownFC = 0xfc, 453 UnknownFD = 0xfd, 454 UnknownFE = 0xfe, 455 NopFF = 0xff, 456 } 457 458 #[repr(i32)] 459 pub enum SceSysMemPartitionId { 460 SceKernelUnknownPartition = 0, 461 SceKernelPrimaryKernelPartition = 1, 462 SceKernelPrimaryUserPartition = 2, 463 SceKernelOtherKernelPartition1 = 3, 464 SceKernelOtherKernelPartition2 = 4, 465 SceKernelVshellPARTITION = 5, 466 SceKernelScUserPartition = 6, 467 SceKernelMeUserPartition = 7, 468 SceKernelExtendedScKernelPartition = 8, 469 SceKernelExtendedSc2KernelPartition = 9, 470 SceKernelExtendedMeKernelPartition = 10, 471 SceKernelVshellKernelPartition = 11, 472 SceKernelExtendedKernelPartition = 12, 473 } 474 475 #[repr(i32)] 476 pub enum SceSysMemBlockTypes { 477 Low = 0, 478 High, 479 Addr, 480 } 481 482 #[repr(u32)] 483 pub enum Interrupt { 484 Gpio = 4, 485 Ata = 5, 486 Umd = 6, 487 Mscm0 = 7, 488 Wlan = 8, 489 Audio = 10, 490 I2c = 12, 491 Sircs = 14, 492 Systimer0 = 15, 493 Systimer1 = 16, 494 Systimer2 = 17, 495 Systimer3 = 18, 496 Thread0 = 19, 497 Nand = 20, 498 Dmacplus = 21, 499 Dma0 = 22, 500 Dma1 = 23, 501 Memlmd = 24, 502 Ge = 25, 503 Vblank = 30, 504 Mecodec = 31, 505 Hpremote = 36, 506 Mscm1 = 60, 507 Mscm2 = 61, 508 Thread1 = 65, 509 Interrupt = 66, 510 } 511 512 #[repr(u32)] 513 pub enum SubInterrupt { 514 Gpio = Interrupt::Gpio as u32, 515 Ata = Interrupt::Ata as u32, 516 Umd = Interrupt::Umd as u32, 517 Dmacplus = Interrupt::Dmacplus as u32, 518 Ge = Interrupt::Ge as u32, 519 Display = Interrupt::Vblank as u32, 520 } 521 522 #[repr(u32)] 523 pub enum SceKernelIdListType { 524 Thread = 1, 525 Semaphore = 2, 526 EventFlag = 3, 527 Mbox = 4, 528 Vpl = 5, 529 Fpl = 6, 530 Mpipe = 7, 531 Callback = 8, 532 ThreadEventHandler = 9, 533 Alarm = 10, 534 VTimer = 11, 535 SleepThread = 64, 536 DelayThread = 65, 537 SuspendThread = 66, 538 DormantThread = 67, 539 } 540 541 #[repr(i32)] 542 pub enum UsbCamResolution { 543 Px160_120 = 0, 544 Px176_144 = 1, 545 Px320_240 = 2, 546 Px352_288 = 3, 547 Px640_480 = 4, 548 Px1024_768 = 5, 549 Px1280_960 = 6, 550 Px480_272 = 7, 551 Px360_272 = 8, 552 } 553 554 #[repr(i32)] 555 pub enum UsbCamResolutionEx { 556 Px160_120 = 0, 557 Px176_144 = 1, 558 Px320_240 = 2, 559 Px352_288 = 3, 560 Px360_272 = 4, 561 Px480_272 = 5, 562 Px640_480 = 6, 563 Px1024_768 = 7, 564 Px1280_960 = 8, 565 } 566 567 #[repr(i32)] 568 pub enum UsbCamDelay { 569 NoDelay = 0, 570 Delay10Sec = 1, 571 Delay20Sec = 2, 572 Delay30Sec = 3, 573 } 574 575 #[repr(i32)] 576 pub enum UsbCamFrameRate { 577 Fps3_75 = 0, 578 Fps5 = 1, 579 Fps7_5 = 2, 580 Fps10 = 3, 581 Fps15 = 4, 582 Fps20 = 5, 583 Fps30 = 6, 584 Fps60 = 7, 585 } 586 587 #[repr(i32)] 588 pub enum UsbCamWb { 589 Auto = 0, 590 Daylight = 1, 591 Fluorescent = 2, 592 Incadescent = 3, 593 } 594 595 #[repr(i32)] 596 pub enum UsbCamEffectMode { 597 Normal = 0, 598 Negative = 1, 599 Blackwhite = 2, 600 Sepia = 3, 601 Blue = 4, 602 Red = 5, 603 Green = 6, 604 } 605 606 #[repr(i32)] 607 pub enum UsbCamEvLevel { 608 Pos2_0 = 0, 609 Pos1_7 = 1, 610 Pos1_5 = 2, 611 Pos1_3 = 3, 612 Pos1_0 = 4, 613 Pos0_7 = 5, 614 Pos0_5 = 6, 615 Pos0_3 = 7, 616 Zero = 8, 617 Neg0_3, 618 Neg0_5, 619 Neg0_7, 620 Neg1_0, 621 Neg1_3, 622 Neg1_5, 623 Neg1_7, 624 Neg2_0, 625 } 626 627 #[repr(i32)] 628 pub enum RtcCheckValidError { 629 InvalidYear = -1, 630 InvalidMonth = -2, 631 InvalidDay = -3, 632 InvalidHour = -4, 633 InvalidMinutes = -5, 634 InvalidSeconds = -6, 635 InvalidMicroseconds = -7, 636 } 637 638 #[repr(u32)] 639 pub enum PowerTick { 640 All = 0, 641 Suspend = 1, 642 Display = 6, 643 } 644 645 #[repr(u32)] 646 pub enum IoAssignPerms { 647 RdWr = 0, 648 RdOnly = 1, 649 } 650 651 #[repr(u32)] 652 pub enum IoWhence { 653 Set = 0, 654 Cur = 1, 655 End = 2, 656 } 657 658 #[repr(u32)] 659 pub enum UmdType { 660 Game = 0x10, 661 Video = 0x20, 662 Audio = 0x40, 663 } 664 665 #[repr(u32)] 666 pub enum GuPrimitive { 667 Points = 0, 668 Lines = 1, 669 LineStrip = 2, 670 Triangles = 3, 671 TriangleStrip = 4, 672 TriangleFan = 5, 673 Sprites = 6, 674 } 675 676 #[repr(u32)] 677 pub enum PatchPrimitive { 678 Points = 0, 679 LineStrip = 2, 680 TriangleStrip = 4, 681 } 682 683 #[repr(u32)] 684 pub enum GuState { 685 AlphaTest = 0, 686 DepthTest = 1, 687 ScissorTest = 2, 688 StencilTest = 3, 689 Blend = 4, 690 CullFace = 5, 691 Dither = 6, 692 Fog = 7, 693 ClipPlanes = 8, 694 Texture2D = 9, 695 Lighting = 10, 696 Light0 = 11, 697 Light1 = 12, 698 Light2 = 13, 699 Light3 = 14, 700 LineSmooth = 15, 701 PatchCullFace = 16, 702 ColorTest = 17, 703 ColorLogicOp = 18, 704 FaceNormalReverse = 19, 705 PatchFace = 20, 706 Fragment2X = 21, 707 } 708 709 #[repr(u32)] 710 pub enum MatrixMode { 711 Projection = 0, 712 View = 1, 713 Model = 2, 714 Texture = 3, 715 } 716 717 #[repr(u32)] 718 pub enum TexturePixelFormat { 719 Psm5650 = 0, 720 Psm5551 = 1, 721 Psm4444 = 2, 722 Psm8888 = 3, 723 PsmT4 = 4, 724 PsmT8 = 5, 725 PsmT16 = 6, 726 PsmT32 = 7, 727 PsmDxt1 = 8, 728 PsmDxt3 = 9, 729 PsmDxt5 = 10, 730 } 731 732 #[repr(u32)] 733 pub enum SplineMode { 734 FillFill = 0, 735 OpenFill = 1, 736 FillOpen = 2, 737 OpenOpen = 3, 738 } 739 740 #[repr(u32)] 741 pub enum ShadingModel { 742 Flat = 0, 743 Smooth = 1, 744 } 745 746 #[repr(u32)] 747 pub enum LogicalOperation { 748 Clear = 0, 749 And = 1, 750 AndReverse = 2, 751 Copy = 3, 752 AndInverted = 4, 753 Noop = 5, 754 Xor = 6, 755 Or = 7, 756 Nor = 8, 757 Equiv = 9, 758 Inverted = 10, 759 OrReverse = 11, 760 CopyInverted = 12, 761 OrInverted = 13, 762 Nand = 14, 763 Set = 15, 764 } 765 766 #[repr(u32)] 767 pub enum TextureFilter { 768 Nearest = 0, 769 Linear = 1, 770 NearestMipmapNearest = 4, 771 LinearMipmapNearest = 5, 772 NearestMipmapLinear = 6, 773 LinearMipmapLinear = 7, 774 } 775 776 #[repr(u32)] 777 pub enum TextureMapMode { 778 TextureCoords = 0, 779 TextureMatrix = 1, 780 EnvironmentMap = 2, 781 } 782 783 #[repr(u32)] 784 pub enum TextureLevelMode { 785 Auto = 0, 786 Const = 1, 787 Slope = 2, 788 } 789 790 #[repr(u32)] 791 pub enum TextureProjectionMapMode { 792 Position = 0, 793 Uv = 1, 794 NormalizedNormal = 2, 795 Normal = 3, 796 } 797 798 #[repr(u32)] 799 pub enum GuTexWrapMode { 800 Repeat = 0, 801 Clamp = 1, 802 } 803 804 #[repr(u32)] 805 pub enum FrontFaceDirection { 806 Clockwise = 0, 807 CounterClockwise = 1, 808 } 809 810 #[repr(u32)] 811 pub enum AlphaFunc { 812 Never = 0, 813 Always, 814 Equal, 815 NotEqual, 816 Less, 817 LessOrEqual, 818 Greater, 819 GreaterOrEqual, 820 } 821 822 #[repr(u32)] 823 pub enum StencilFunc { 824 Never = 0, 825 Always, 826 Equal, 827 NotEqual, 828 Less, 829 LessOrEqual, 830 Greater, 831 GreaterOrEqual, 832 } 833 834 #[repr(u32)] 835 pub enum ColorFunc { 836 Never = 0, 837 Always, 838 Equal, 839 NotEqual, 840 } 841 842 #[repr(u32)] 843 pub enum DepthFunc { 844 Never = 0, 845 Always, 846 Equal, 847 NotEqual, 848 Less, 849 LessOrEqual, 850 Greater, 851 GreaterOrEqual, 852 } 853 854 #[repr(u32)] 855 pub enum TextureEffect { 856 Modulate = 0, 857 Decal = 1, 858 Blend = 2, 859 Replace = 3, 860 Add = 4, 861 } 862 863 #[repr(u32)] 864 pub enum TextureColorComponent { 865 Rgb = 0, 866 Rgba = 1, 867 } 868 869 #[repr(u32)] 870 pub enum MipmapLevel { 871 None = 0, 872 Level1, 873 Level2, 874 Level3, 875 Level4, 876 Level5, 877 Level6, 878 Level7, 879 } 880 881 #[repr(u32)] 882 pub enum BlendOp { 883 Add = 0, 884 Subtract = 1, 885 ReverseSubtract = 2, 886 Min = 3, 887 Max = 4, 888 Abs = 5, 889 } 890 891 #[repr(u32)] 892 pub enum BlendSrc { 893 SrcColor = 0, 894 OneMinusSrcColor = 1, 895 SrcAlpha = 2, 896 OneMinusSrcAlpha = 3, 897 Fix = 10, 898 } 899 900 #[repr(u32)] 901 pub enum BlendDst { 902 DstColor = 0, 903 OneMinusDstColor = 1, 904 DstAlpha = 4, 905 OneMinusDstAlpha = 5, 906 Fix = 10, 907 } 908 909 #[repr(u32)] 910 pub enum StencilOperation { 911 Keep = 0, 912 Zero = 1, 913 Replace = 2, 914 Invert = 3, 915 Incr = 4, 916 Decr = 5, 917 } 918 919 #[repr(u32)] 920 pub enum LightMode { 921 SingleColor = 0, 922 SeparateSpecularColor = 1, 923 } 924 925 #[repr(u32)] 926 pub enum LightType { 927 Directional = 0, 928 Pointlight = 1, 929 Spotlight = 2, 930 } 931 932 #[repr(u32)] 933 pub enum GuContextType { 934 Direct = 0, 935 Call = 1, 936 Send = 2, 937 } 938 939 #[repr(u32)] 940 pub enum GuQueueMode { 941 Tail = 0, 942 Head = 1, 943 } 944 945 #[repr(u32)] 946 pub enum GuSyncMode { 947 Finish = 0, 948 Signal = 1, 949 Done = 2, 950 List = 3, 951 Send = 4, 952 } 953 954 #[repr(u32)] 955 pub enum GuSyncBehavior { 956 Wait = 0, 957 NoWait = 1, 958 } 959 960 #[repr(u32)] 961 pub enum GuCallbackId { 962 Signal = 1, 963 Finish = 4, 964 } 965 966 #[repr(u32)] 967 pub enum SignalBehavior { 968 Suspend = 1, 969 Continue = 2, 970 } 971 972 #[repr(u32)] 973 pub enum ClutPixelFormat { 974 Psm5650 = 0, 975 Psm5551 = 1, 976 Psm4444 = 2, 977 Psm8888 = 3, 978 } 979 980 #[repr(C)] 981 pub enum KeyType { 982 Directory = 1, 983 Integer = 2, 984 String = 3, 985 Bytes = 4, 986 } 987 988 #[repr(u32)] 989 pub enum UtilityMsgDialogMode { 990 Error, 991 Text, 992 } 993 994 #[repr(u32)] 995 pub enum UtilityMsgDialogPressed { 996 Unknown1, 997 Yes, 998 No, 999 Back, 1000 } 1001 1002 #[repr(u32)] 1003 pub enum UtilityDialogButtonAccept { 1004 Circle, 1005 Cross, 1006 } 1007 1008 #[repr(u32)] 1009 pub enum SceUtilityOskInputLanguage { 1010 Default, 1011 Japanese, 1012 English, 1013 French, 1014 Spanish, 1015 German, 1016 Italian, 1017 Dutch, 1018 Portugese, 1019 Russian, 1020 Korean, 1021 } 1022 1023 #[repr(u32)] 1024 pub enum SceUtilityOskInputType { 1025 All, 1026 LatinDigit, 1027 LatinSymbol, 1028 LatinLowercase = 4, 1029 LatinUppercase = 8, 1030 JapaneseDigit = 0x100, 1031 JapaneseSymbol = 0x200, 1032 JapaneseLowercase = 0x400, 1033 JapaneseUppercase = 0x800, 1034 JapaneseHiragana = 0x1000, 1035 JapaneseHalfWidthKatakana = 0x2000, 1036 JapaneseKatakana = 0x4000, 1037 JapaneseKanji = 0x8000, 1038 RussianLowercase = 0x10000, 1039 RussianUppercase = 0x20000, 1040 Korean = 0x40000, 1041 Url = 0x80000, 1042 } 1043 1044 #[repr(u32)] 1045 pub enum SceUtilityOskState { 1046 None, 1047 Initializing, 1048 Initialized, 1049 Visible, 1050 Quit, 1051 Finished, 1052 } 1053 1054 #[repr(u32)] 1055 pub enum SceUtilityOskResult { 1056 Unchanged, 1057 Cancelled, 1058 Changed, 1059 } 1060 1061 #[repr(u32)] 1062 pub enum SystemParamLanguage { 1063 Japanese, 1064 English, 1065 French, 1066 Spanish, 1067 German, 1068 Italian, 1069 Dutch, 1070 Portugese, 1071 Russian, 1072 Korean, 1073 ChineseTraditional, 1074 ChineseSimplified, 1075 } 1076 1077 #[repr(u32)] 1078 pub enum SystemParamId { 1079 StringNickname = 1, 1080 AdhocChannel, 1081 WlanPowerSave, 1082 DateFormat, 1083 TimeFormat, 1084 Timezone, 1085 DaylightSavings, 1086 Language, 1087 Unknown, 1088 } 1089 1090 #[repr(u32)] 1091 pub enum SystemParamAdhocChannel { 1092 ChannelAutomatic = 0, 1093 Channel1 = 1, 1094 Channel6 = 6, 1095 Channel11 = 11, 1096 } 1097 1098 #[repr(u32)] 1099 pub enum SystemParamWlanPowerSaveState { 1100 Off, 1101 On, 1102 } 1103 1104 #[repr(u32)] 1105 pub enum SystemParamDateFormat { 1106 YYYYMMDD, 1107 MMDDYYYY, 1108 DDMMYYYY, 1109 } 1110 1111 #[repr(u32)] 1112 pub enum SystemParamTimeFormat { 1113 Hour24, 1114 Hour12, 1115 } 1116 1117 #[repr(u32)] 1118 pub enum SystemParamDaylightSavings { 1119 Std, 1120 Dst, 1121 } 1122 1123 #[repr(u32)] 1124 pub enum AvModule { 1125 AvCodec, 1126 SasCore, 1127 Atrac3Plus, 1128 MpegBase, 1129 Mp3, 1130 Vaudio, 1131 Aac, 1132 G729, 1133 } 1134 1135 #[repr(u32)] 1136 pub enum Module { 1137 NetCommon = 0x100, 1138 NetAdhoc, 1139 NetInet, 1140 NetParseUri, 1141 NetHttp, 1142 NetSsl, 1143 1144 UsbPspCm = 0x200, 1145 UsbMic, 1146 UsbCam, 1147 UsbGps, 1148 1149 AvCodec = 0x300, 1150 AvSascore, 1151 AvAtrac3Plus, 1152 AvMpegBase, 1153 AvMp3, 1154 AvVaudio, 1155 AvAac, 1156 AvG729, 1157 1158 NpCommon = 0x400, 1159 NpService, 1160 NpMatching2, 1161 NpDrm = 0x500, 1162 1163 Irda = 0x600, 1164 } 1165 1166 #[repr(u32)] 1167 pub enum NetModule { 1168 NetCommon = 1, 1169 NetAdhoc, 1170 NetInet, 1171 NetParseUri, 1172 NetHttp, 1173 NetSsl, 1174 } 1175 1176 #[repr(u32)] 1177 pub enum UsbModule { 1178 UsbPspCm = 1, 1179 UsbAcc, 1180 UsbMic, 1181 UsbCam, 1182 UsbGps, 1183 } 1184 1185 #[repr(u32)] 1186 pub enum NetParam { 1187 Name, 1188 Ssid, 1189 Secure, 1190 WepKey, 1191 IsStaticIp, 1192 Ip, 1193 NetMask, 1194 Route, 1195 ManualDns, 1196 PrimaryDns, 1197 SecondaryDns, 1198 ProxyUser, 1199 ProxyPass, 1200 UseProxy, 1201 ProxyServer, 1202 ProxyPort, 1203 Unknown1, 1204 Unknown2, 1205 } 1206 1207 #[repr(u32)] 1208 pub enum UtilityNetconfAction { 1209 ConnectAP, 1210 DisplayStatus, 1211 ConnectAdhoc, 1212 } 1213 1214 #[repr(u32)] 1215 pub enum UtilitySavedataMode { 1216 AutoLoad, 1217 AutoSave, 1218 Load, 1219 Save, 1220 ListLoad, 1221 ListSave, 1222 ListDelete, 1223 Delete, 1224 } 1225 1226 #[repr(u32)] 1227 pub enum UtilitySavedataFocus { 1228 Unknown1, 1229 FirstList, 1230 LastList, 1231 Latest, 1232 Oldest, 1233 Unknown2, 1234 Unknown3, 1235 FirstEmpty, 1236 LastEmpty, 1237 } 1238 1239 #[repr(u32)] 1240 pub enum UtilityGameSharingMode { 1241 Single = 1, 1242 Multiple, 1243 } 1244 1245 #[repr(u32)] 1246 pub enum UtilityGameSharingDataType { 1247 File = 1, 1248 Memory, 1249 } 1250 1251 #[repr(u32)] 1252 pub enum UtilityHtmlViewerInterfaceMode { 1253 Full, 1254 Limited, 1255 None, 1256 } 1257 1258 #[repr(u32)] 1259 pub enum UtilityHtmlViewerCookieMode { 1260 Disabled = 0, 1261 Enabled, 1262 Confirm, 1263 Default, 1264 } 1265 1266 #[repr(u32)] 1267 pub enum UtilityHtmlViewerTextSize { 1268 Large, 1269 Normal, 1270 Small, 1271 } 1272 1273 #[repr(u32)] 1274 pub enum UtilityHtmlViewerDisplayMode { 1275 Normal, 1276 Fit, 1277 SmartFit, 1278 } 1279 1280 #[repr(u32)] 1281 pub enum UtilityHtmlViewerConnectMode { 1282 Last, 1283 ManualOnce, 1284 ManualAll, 1285 } 1286 1287 #[repr(u32)] 1288 pub enum UtilityHtmlViewerDisconnectMode { 1289 Enable, 1290 Disable, 1291 Confirm, 1292 } 1293 1294 #[repr(u32)] 1295 pub enum ScePspnetAdhocPtpState { 1296 Closed, 1297 Listen, 1298 SynSent, 1299 SynReceived, 1300 Established, 1301 } 1302 1303 #[repr(u32)] 1304 pub enum AdhocMatchingMode { 1305 Host = 1, 1306 Client, 1307 Ptp, 1308 } 1309 1310 #[repr(u32)] 1311 pub enum ApctlState { 1312 Disconnected, 1313 Scanning, 1314 Joining, 1315 GettingIp, 1316 GotIp, 1317 EapAuth, 1318 KeyExchange, 1319 } 1320 1321 #[repr(u32)] 1322 pub enum ApctlEvent { 1323 ConnectRequest, 1324 ScanRequest, 1325 ScanComplete, 1326 Established, 1327 GetIp, 1328 DisconnectRequest, 1329 Error, 1330 Info, 1331 EapAuth, 1332 KeyExchange, 1333 Reconnect, 1334 } 1335 1336 #[repr(u32)] 1337 pub enum ApctlInfo { 1338 ProfileName, 1339 Bssid, 1340 Ssid, 1341 SsidLength, 1342 SecurityType, 1343 Strength, 1344 Channel, 1345 PowerSave, 1346 Ip, 1347 SubnetMask, 1348 Gateway, 1349 PrimaryDns, 1350 SecondaryDns, 1351 UseProxy, 1352 ProxyUrl, 1353 ProxyPort, 1354 EapType, 1355 StartBrowser, 1356 Wifisp, 1357 } 1358 1359 #[repr(u32)] 1360 pub enum ApctlInfoSecurityType { 1361 None, 1362 Wep, 1363 Wpa, 1364 } 1365 1366 #[repr(u32)] 1367 pub enum HttpMethod { 1368 Get, 1369 Post, 1370 Head, 1371 } 1372 1373 #[repr(u32)] 1374 pub enum HttpAuthType { 1375 Basic, 1376 Digest, 1377 } 1378 } 1379 1380 s_paren! { 1381 #[repr(transparent)] 1382 pub struct SceUid(pub i32); 1383 1384 #[repr(transparent)] 1385 pub struct SceMpeg(*mut *mut c_void); 1386 1387 #[repr(transparent)] 1388 pub struct SceMpegStream(*mut c_void); 1389 1390 #[repr(transparent)] 1391 pub struct Mp3Handle(pub i32); 1392 1393 #[repr(transparent)] 1394 pub struct RegHandle(u32); 1395 } 1396 1397 s! { 1398 pub struct sockaddr { 1399 pub sa_len: u8, 1400 pub sa_family: u8, 1401 pub sa_data: [u8;14], 1402 } 1403 1404 pub struct in_addr { 1405 pub s_addr: u32, 1406 } 1407 1408 pub struct AudioInputParams { 1409 pub unknown1: i32, 1410 pub gain: i32, 1411 pub unknown2: i32, 1412 pub unknown3: i32, 1413 pub unknown4: i32, 1414 pub unknown5: i32, 1415 } 1416 1417 pub struct Atrac3BufferInfo { 1418 pub puc_write_position_first_buf: *mut u8, 1419 pub ui_writable_byte_first_buf: u32, 1420 pub ui_min_write_byte_first_buf: u32, 1421 pub ui_read_position_first_buf: u32, 1422 pub puc_write_position_second_buf: *mut u8, 1423 pub ui_writable_byte_second_buf: u32, 1424 pub ui_min_write_byte_second_buf: u32, 1425 pub ui_read_position_second_buf: u32, 1426 } 1427 1428 pub struct SceCtrlData { 1429 pub timestamp: u32, 1430 pub buttons: i32, 1431 pub lx: u8, 1432 pub ly: u8, 1433 pub rsrv: [u8; 6], 1434 } 1435 1436 pub struct SceCtrlLatch { 1437 pub ui_make: u32, 1438 pub ui_break: u32, 1439 pub ui_press: u32, 1440 pub ui_release: u32, 1441 } 1442 1443 pub struct GeStack { 1444 pub stack: [u32; 8], 1445 } 1446 1447 pub struct GeCallbackData { 1448 pub signal_func: ::Option<extern "C" fn(id: i32, arg: *mut c_void)>, 1449 pub signal_arg: *mut c_void, 1450 pub finish_func: ::Option<extern "C" fn(id: i32, arg: *mut c_void)>, 1451 pub finish_arg: *mut c_void, 1452 } 1453 1454 pub struct GeListArgs { 1455 pub size: u32, 1456 pub context: *mut GeContext, 1457 pub num_stacks: u32, 1458 pub stacks: *mut GeStack, 1459 } 1460 1461 pub struct GeBreakParam { 1462 pub buf: [u32; 4], 1463 } 1464 1465 pub struct SceKernelLoadExecParam { 1466 pub size: usize, 1467 pub args: usize, 1468 pub argp: *mut c_void, 1469 pub key: *const u8, 1470 } 1471 1472 pub struct timeval { 1473 pub tv_sec: i32, 1474 pub tv_usec: i32, 1475 } 1476 1477 pub struct timezone { 1478 pub tz_minutes_west: i32, 1479 pub tz_dst_time: i32, 1480 } 1481 1482 pub struct IntrHandlerOptionParam { 1483 size: i32, 1484 entry: u32, 1485 common: u32, 1486 gp: u32, 1487 intr_code: u16, 1488 sub_count: u16, 1489 intr_level: u16, 1490 enabled: u16, 1491 calls: u32, 1492 field_1c: u32, 1493 total_clock_lo: u32, 1494 total_clock_hi: u32, 1495 min_clock_lo: u32, 1496 min_clock_hi: u32, 1497 max_clock_lo: u32, 1498 max_clock_hi: u32, 1499 } 1500 1501 pub struct SceKernelLMOption { 1502 pub size: usize, 1503 pub m_pid_text: SceUid, 1504 pub m_pid_data: SceUid, 1505 pub flags: u32, 1506 pub position: u8, 1507 pub access: u8, 1508 pub c_reserved: [u8; 2usize], 1509 } 1510 1511 pub struct SceKernelSMOption { 1512 pub size: usize, 1513 pub m_pid_stack: SceUid, 1514 pub stack_size: usize, 1515 pub priority: i32, 1516 pub attribute: u32, 1517 } 1518 1519 pub struct SceKernelModuleInfo { 1520 pub size: usize, 1521 pub n_segment: u8, 1522 pub reserved: [u8; 3usize], 1523 pub segment_addr: [i32; 4usize], 1524 pub segment_size: [i32; 4usize], 1525 pub entry_addr: u32, 1526 pub gp_value: u32, 1527 pub text_addr: u32, 1528 pub text_size: u32, 1529 pub data_size: u32, 1530 pub bss_size: u32, 1531 pub attribute: u16, 1532 pub version: [u8; 2usize], 1533 pub name: [u8; 28usize], 1534 } 1535 1536 pub struct DebugProfilerRegs { 1537 pub enable: u32, 1538 pub systemck: u32, 1539 pub cpuck: u32, 1540 pub internal: u32, 1541 pub memory: u32, 1542 pub copz: u32, 1543 pub vfpu: u32, 1544 pub sleep: u32, 1545 pub bus_access: u32, 1546 pub uncached_load: u32, 1547 pub uncached_store: u32, 1548 pub cached_load: u32, 1549 pub cached_store: u32, 1550 pub i_miss: u32, 1551 pub d_miss: u32, 1552 pub d_writeback: u32, 1553 pub cop0_inst: u32, 1554 pub fpu_inst: u32, 1555 pub vfpu_inst: u32, 1556 pub local_bus: u32, 1557 } 1558 1559 pub struct SceKernelSysClock { 1560 pub low: u32, 1561 pub hi: u32, 1562 } 1563 1564 pub struct SceKernelThreadOptParam { 1565 pub size: usize, 1566 pub stack_mpid: SceUid, 1567 } 1568 1569 pub struct SceKernelThreadInfo { 1570 pub size: usize, 1571 pub name: [u8; 32], 1572 pub attr: u32, 1573 pub status: i32, 1574 pub entry: SceKernelThreadEntry, 1575 pub stack: *mut c_void, 1576 pub stack_size: i32, 1577 pub gp_reg: *mut c_void, 1578 pub init_priority: i32, 1579 pub current_priority: i32, 1580 pub wait_type: i32, 1581 pub wait_id: SceUid, 1582 pub wakeup_count: i32, 1583 pub exit_status: i32, 1584 pub run_clocks: SceKernelSysClock, 1585 pub intr_preempt_count: u32, 1586 pub thread_preempt_count: u32, 1587 pub release_count: u32, 1588 } 1589 1590 pub struct SceKernelThreadRunStatus { 1591 pub size: usize, 1592 pub status: i32, 1593 pub current_priority: i32, 1594 pub wait_type: i32, 1595 pub wait_id: i32, 1596 pub wakeup_count: i32, 1597 pub run_clocks: SceKernelSysClock, 1598 pub intr_preempt_count: u32, 1599 pub thread_preempt_count: u32, 1600 pub release_count: u32, 1601 } 1602 1603 pub struct SceKernelSemaOptParam { 1604 pub size: usize, 1605 } 1606 1607 pub struct SceKernelSemaInfo { 1608 pub size: usize, 1609 pub name: [u8; 32], 1610 pub attr: u32, 1611 pub init_count: i32, 1612 pub current_count: i32, 1613 pub max_count: i32, 1614 pub num_wait_threads: i32, 1615 } 1616 1617 pub struct SceKernelEventFlagInfo { 1618 pub size: usize, 1619 pub name: [u8; 32], 1620 pub attr: u32, 1621 pub init_pattern: u32, 1622 pub current_pattern: u32, 1623 pub num_wait_threads: i32, 1624 } 1625 1626 pub struct SceKernelEventFlagOptParam { 1627 pub size: usize, 1628 } 1629 1630 pub struct SceKernelMbxOptParam { 1631 pub size: usize, 1632 } 1633 1634 pub struct SceKernelMbxInfo { 1635 pub size: usize, 1636 pub name: [u8; 32usize], 1637 pub attr: u32, 1638 pub num_wait_threads: i32, 1639 pub num_messages: i32, 1640 pub first_message: *mut c_void, 1641 } 1642 1643 pub struct SceKernelVTimerInfo { 1644 pub size: usize, 1645 pub name: [u8; 32], 1646 pub active: i32, 1647 pub base: SceKernelSysClock, 1648 pub current: SceKernelSysClock, 1649 pub schedule: SceKernelSysClock, 1650 pub handler: SceKernelVTimerHandler, 1651 pub common: *mut c_void, 1652 } 1653 1654 pub struct SceKernelThreadEventHandlerInfo { 1655 pub size: usize, 1656 pub name: [u8; 32], 1657 pub thread_id: SceUid, 1658 pub mask: i32, 1659 pub handler: SceKernelThreadEventHandler, 1660 pub common: *mut c_void, 1661 } 1662 1663 pub struct SceKernelAlarmInfo { 1664 pub size: usize, 1665 pub schedule: SceKernelSysClock, 1666 pub handler: SceKernelAlarmHandler, 1667 pub common: *mut c_void, 1668 } 1669 1670 pub struct SceKernelSystemStatus { 1671 pub size: usize, 1672 pub status: u32, 1673 pub idle_clocks: SceKernelSysClock, 1674 pub comes_out_of_idle_count: u32, 1675 pub thread_switch_count: u32, 1676 pub vfpu_switch_count: u32, 1677 } 1678 1679 pub struct SceKernelMppInfo { 1680 pub size: usize, 1681 pub name: [u8; 32], 1682 pub attr: u32, 1683 pub buf_size: i32, 1684 pub free_size: i32, 1685 pub num_send_wait_threads: i32, 1686 pub num_receive_wait_threads: i32, 1687 } 1688 1689 pub struct SceKernelVplOptParam { 1690 pub size: usize, 1691 } 1692 1693 pub struct SceKernelVplInfo { 1694 pub size: usize, 1695 pub name: [u8; 32], 1696 pub attr: u32, 1697 pub pool_size: i32, 1698 pub free_size: i32, 1699 pub num_wait_threads: i32, 1700 } 1701 1702 pub struct SceKernelFplOptParam { 1703 pub size: usize, 1704 } 1705 1706 pub struct SceKernelFplInfo { 1707 pub size: usize, 1708 pub name: [u8; 32usize], 1709 pub attr: u32, 1710 pub block_size: i32, 1711 pub num_blocks: i32, 1712 pub free_blocks: i32, 1713 pub num_wait_threads: i32, 1714 } 1715 1716 pub struct SceKernelVTimerOptParam { 1717 pub size: usize, 1718 } 1719 1720 pub struct SceKernelCallbackInfo { 1721 pub size: usize, 1722 pub name: [u8; 32usize], 1723 pub thread_id: SceUid, 1724 pub callback: SceKernelCallbackFunction, 1725 pub common: *mut c_void, 1726 pub notify_count: i32, 1727 pub notify_arg: i32, 1728 } 1729 1730 pub struct UsbCamSetupStillParam { 1731 pub size: i32, 1732 pub resolution: UsbCamResolution, 1733 pub jpeg_size: i32, 1734 pub reverse_flags: i32, 1735 pub delay: UsbCamDelay, 1736 pub comp_level: i32, 1737 } 1738 1739 pub struct UsbCamSetupStillExParam { 1740 pub size: i32, 1741 pub unk: u32, 1742 pub resolution: UsbCamResolutionEx, 1743 pub jpeg_size: i32, 1744 pub comp_level: i32, 1745 pub unk2: u32, 1746 pub unk3: u32, 1747 pub flip: i32, 1748 pub mirror: i32, 1749 pub delay: UsbCamDelay, 1750 pub unk4: [u32; 5usize], 1751 } 1752 1753 pub struct UsbCamSetupVideoParam { 1754 pub size: i32, 1755 pub resolution: UsbCamResolution, 1756 pub framerate: UsbCamFrameRate, 1757 pub white_balance: UsbCamWb, 1758 pub saturation: i32, 1759 pub brightness: i32, 1760 pub contrast: i32, 1761 pub sharpness: i32, 1762 pub effect_mode: UsbCamEffectMode, 1763 pub frame_size: i32, 1764 pub unk: u32, 1765 pub evl_evel: UsbCamEvLevel, 1766 } 1767 1768 pub struct UsbCamSetupVideoExParam { 1769 pub size: i32, 1770 pub unk: u32, 1771 pub resolution: UsbCamResolutionEx, 1772 pub framerate: UsbCamFrameRate, 1773 pub unk2: u32, 1774 pub unk3: u32, 1775 pub white_balance: UsbCamWb, 1776 pub saturation: i32, 1777 pub brightness: i32, 1778 pub contrast: i32, 1779 pub sharpness: i32, 1780 pub unk4: u32, 1781 pub unk5: u32, 1782 pub unk6: [u32; 3usize], 1783 pub effect_mode: UsbCamEffectMode, 1784 pub unk7: u32, 1785 pub unk8: u32, 1786 pub unk9: u32, 1787 pub unk10: u32, 1788 pub unk11: u32, 1789 pub frame_size: i32, 1790 pub unk12: u32, 1791 pub ev_level: UsbCamEvLevel, 1792 } 1793 1794 pub struct ScePspDateTime { 1795 pub year: u16, 1796 pub month: u16, 1797 pub day: u16, 1798 pub hour: u16, 1799 pub minutes: u16, 1800 pub seconds: u16, 1801 pub microseconds: u32, 1802 } 1803 1804 pub struct SceIoStat { 1805 pub st_mode: i32, 1806 pub st_attr: i32, 1807 pub st_size: i64, 1808 pub st_ctime: ScePspDateTime, 1809 pub st_atime: ScePspDateTime, 1810 pub st_mtime: ScePspDateTime, 1811 pub st_private: [u32; 6usize], 1812 } 1813 1814 pub struct UmdInfo { 1815 pub size: u32, 1816 pub type_: UmdType, 1817 } 1818 1819 pub struct SceMpegRingbuffer { 1820 pub packets: i32, 1821 pub unk0: u32, 1822 pub unk1: u32, 1823 pub unk2: u32, 1824 pub unk3: u32, 1825 pub data: *mut c_void, 1826 pub callback: SceMpegRingbufferCb, 1827 pub cb_param: *mut c_void, 1828 pub unk4: u32, 1829 pub unk5: u32, 1830 pub sce_mpeg: *mut c_void, 1831 } 1832 1833 pub struct SceMpegAu { 1834 pub pts_msb: u32, 1835 pub pts: u32, 1836 pub dts_msb: u32, 1837 pub dts: u32, 1838 pub es_buffer: u32, 1839 pub au_size: u32, 1840 } 1841 1842 pub struct SceMpegAvcMode { 1843 pub unk0: i32, 1844 pub pixel_format: super::DisplayPixelFormat, 1845 } 1846 1847 #[repr(align(64))] 1848 pub struct SceMpegLLI { 1849 pub src: *mut c_void, 1850 pub dst: *mut c_void, 1851 pub next: *mut c_void, 1852 pub size: i32, 1853 } 1854 1855 #[repr(align(64))] 1856 pub struct SceMpegYCrCbBuffer { 1857 pub frame_buffer_height16: i32, 1858 pub frame_buffer_width16: i32, 1859 pub unknown: i32, 1860 pub unknown2: i32, 1861 pub y_buffer: *mut c_void, 1862 pub y_buffer2: *mut c_void, 1863 pub cr_buffer: *mut c_void, 1864 pub cb_buffer: *mut c_void, 1865 pub cr_buffer2: *mut c_void, 1866 pub cb_buffer2: *mut c_void, 1867 1868 pub frame_height: i32, 1869 pub frame_width: i32, 1870 pub frame_buffer_width: i32, 1871 pub unknown3: [i32; 11usize], 1872 } 1873 1874 pub struct ScePspSRect { 1875 pub x: i16, 1876 pub y: i16, 1877 pub w: i16, 1878 pub h: i16, 1879 } 1880 1881 pub struct ScePspIRect { 1882 pub x: i32, 1883 pub y: i32, 1884 pub w: i32, 1885 pub h: i32, 1886 } 1887 1888 pub struct ScePspL64Rect { 1889 pub x: u64, 1890 pub y: u64, 1891 pub w: u64, 1892 pub h: u64, 1893 } 1894 1895 pub struct ScePspSVector2 { 1896 pub x: i16, 1897 pub y: i16, 1898 } 1899 1900 pub struct ScePspIVector2 { 1901 pub x: i32, 1902 pub y: i32, 1903 } 1904 1905 pub struct ScePspL64Vector2 { 1906 pub x: u64, 1907 pub y: u64, 1908 } 1909 1910 pub struct ScePspSVector3 { 1911 pub x: i16, 1912 pub y: i16, 1913 pub z: i16, 1914 } 1915 1916 pub struct ScePspIVector3 { 1917 pub x: i32, 1918 pub y: i32, 1919 pub z: i32, 1920 } 1921 1922 pub struct ScePspL64Vector3 { 1923 pub x: u64, 1924 pub y: u64, 1925 pub z: u64, 1926 } 1927 1928 pub struct ScePspSVector4 { 1929 pub x: i16, 1930 pub y: i16, 1931 pub z: i16, 1932 pub w: i16, 1933 } 1934 1935 pub struct ScePspIVector4 { 1936 pub x: i32, 1937 pub y: i32, 1938 pub z: i32, 1939 pub w: i32, 1940 } 1941 1942 pub struct ScePspL64Vector4 { 1943 pub x: u64, 1944 pub y: u64, 1945 pub z: u64, 1946 pub w: u64, 1947 } 1948 1949 pub struct ScePspIMatrix2 { 1950 pub x: ScePspIVector2, 1951 pub y: ScePspIVector2, 1952 } 1953 1954 pub struct ScePspIMatrix3 { 1955 pub x: ScePspIVector3, 1956 pub y: ScePspIVector3, 1957 pub z: ScePspIVector3, 1958 } 1959 1960 #[repr(align(16))] 1961 pub struct ScePspIMatrix4 { 1962 pub x: ScePspIVector4, 1963 pub y: ScePspIVector4, 1964 pub z: ScePspIVector4, 1965 pub w: ScePspIVector4, 1966 } 1967 1968 pub struct ScePspIMatrix4Unaligned { 1969 pub x: ScePspIVector4, 1970 pub y: ScePspIVector4, 1971 pub z: ScePspIVector4, 1972 pub w: ScePspIVector4, 1973 } 1974 1975 pub struct SceMp3InitArg { 1976 pub mp3_stream_start: u32, 1977 pub unk1: u32, 1978 pub mp3_stream_end: u32, 1979 pub unk2: u32, 1980 pub mp3_buf: *mut c_void, 1981 pub mp3_buf_size: i32, 1982 pub pcm_buf: *mut c_void, 1983 pub pcm_buf_size: i32, 1984 } 1985 1986 pub struct OpenPSID { 1987 pub data: [u8; 16usize], 1988 } 1989 1990 pub struct UtilityDialogCommon { 1991 pub size: u32, 1992 pub language: SystemParamLanguage, 1993 pub button_accept: UtilityDialogButtonAccept, 1994 pub graphics_thread: i32, 1995 pub access_thread: i32, 1996 pub font_thread: i32, 1997 pub sound_thread: i32, 1998 pub result: i32, 1999 pub reserved: [i32; 4usize], 2000 } 2001 2002 pub struct UtilityNetconfAdhoc { 2003 pub name: [u8; 8usize], 2004 pub timeout: u32, 2005 } 2006 2007 pub struct UtilityNetconfData { 2008 pub base: UtilityDialogCommon, 2009 pub action: UtilityNetconfAction, 2010 pub adhocparam: *mut UtilityNetconfAdhoc, 2011 pub hotspot: i32, 2012 pub hotspot_connected: i32, 2013 pub wifisp: i32, 2014 } 2015 2016 pub struct UtilitySavedataFileData { 2017 pub buf: *mut c_void, 2018 pub buf_size: usize, 2019 pub size: usize, 2020 pub unknown: i32, 2021 } 2022 2023 pub struct UtilitySavedataListSaveNewData { 2024 pub icon0: UtilitySavedataFileData, 2025 pub title: *mut u8, 2026 } 2027 2028 pub struct UtilityGameSharingParams { 2029 pub base: UtilityDialogCommon, 2030 pub unknown1: i32, 2031 pub unknown2: i32, 2032 pub name: [u8; 8usize], 2033 pub unknown3: i32, 2034 pub unknown4: i32, 2035 pub unknown5: i32, 2036 pub result: i32, 2037 pub filepath: *mut u8, 2038 pub mode: UtilityGameSharingMode, 2039 pub datatype: UtilityGameSharingDataType, 2040 pub data: *mut c_void, 2041 pub datasize: u32, 2042 } 2043 2044 pub struct UtilityHtmlViewerParam { 2045 pub base: UtilityDialogCommon, 2046 pub memaddr: *mut c_void, 2047 pub memsize: u32, 2048 pub unknown1: i32, 2049 pub unknown2: i32, 2050 pub initialurl: *mut u8, 2051 pub numtabs: u32, 2052 pub interfacemode: UtilityHtmlViewerInterfaceMode, 2053 pub options: i32, 2054 pub dldirname: *mut u8, 2055 pub dlfilename: *mut u8, 2056 pub uldirname: *mut u8, 2057 pub ulfilename: *mut u8, 2058 pub cookiemode: UtilityHtmlViewerCookieMode, 2059 pub unknown3: u32, 2060 pub homeurl: *mut u8, 2061 pub textsize: UtilityHtmlViewerTextSize, 2062 pub displaymode: UtilityHtmlViewerDisplayMode, 2063 pub connectmode: UtilityHtmlViewerConnectMode, 2064 pub disconnectmode: UtilityHtmlViewerDisconnectMode, 2065 pub memused: u32, 2066 pub unknown4: [i32; 10usize], 2067 } 2068 2069 pub struct SceUtilityOskData { 2070 pub unk_00: i32, 2071 pub unk_04: i32, 2072 pub language: SceUtilityOskInputLanguage, 2073 pub unk_12: i32, 2074 pub inputtype: SceUtilityOskInputType, 2075 pub lines: i32, 2076 pub unk_24: i32, 2077 pub desc: *mut u16, 2078 pub intext: *mut u16, 2079 pub outtextlength: i32, 2080 pub outtext: *mut u16, 2081 pub result: SceUtilityOskResult, 2082 pub outtextlimit: i32, 2083 } 2084 2085 pub struct SceUtilityOskParams { 2086 pub base: UtilityDialogCommon, 2087 pub datacount: i32, 2088 pub data: *mut SceUtilityOskData, 2089 pub state: SceUtilityOskState, 2090 pub unk_60: i32, 2091 } 2092 2093 pub struct SceNetMallocStat { 2094 pub pool: i32, 2095 pub maximum: i32, 2096 pub free: i32, 2097 } 2098 2099 pub struct SceNetAdhocctlAdhocId { 2100 pub unknown: i32, 2101 pub adhoc_id: [u8; 9usize], 2102 pub unk: [u8; 3usize], 2103 } 2104 2105 pub struct SceNetAdhocctlScanInfo { 2106 pub next: *mut SceNetAdhocctlScanInfo, 2107 pub channel: i32, 2108 pub name: [u8; 8usize], 2109 pub bssid: [u8; 6usize], 2110 pub unknown: [u8; 2usize], 2111 pub unknown2: i32, 2112 } 2113 2114 pub struct SceNetAdhocctlGameModeInfo { 2115 pub count: i32, 2116 pub macs: [[u8; 6usize]; 16usize], 2117 } 2118 2119 pub struct SceNetAdhocPtpStat { 2120 pub next: *mut SceNetAdhocPtpStat, 2121 pub ptp_id: i32, 2122 pub mac: [u8; 6usize], 2123 pub peermac: [u8; 6usize], 2124 pub port: u16, 2125 pub peerport: u16, 2126 pub sent_data: u32, 2127 pub rcvd_data: u32, 2128 pub state: ScePspnetAdhocPtpState, 2129 } 2130 2131 pub struct SceNetAdhocPdpStat { 2132 pub next: *mut SceNetAdhocPdpStat, 2133 pub pdp_id: i32, 2134 pub mac: [u8; 6usize], 2135 pub port: u16, 2136 pub rcvd_data: u32, 2137 } 2138 2139 pub struct AdhocPoolStat { 2140 pub size: i32, 2141 pub maxsize: i32, 2142 pub freesize: i32, 2143 } 2144 } 2145 2146 s_no_extra_traits! { 2147 #[allow(missing_debug_implementations)] 2148 pub struct GeContext { 2149 pub context: [u32; 512], 2150 } 2151 2152 #[allow(missing_debug_implementations)] 2153 pub struct SceKernelUtilsSha1Context { 2154 pub h: [u32; 5usize], 2155 pub us_remains: u16, 2156 pub us_computed: u16, 2157 pub ull_total_len: u64, 2158 pub buf: [u8; 64usize], 2159 } 2160 2161 #[allow(missing_debug_implementations)] 2162 pub struct SceKernelUtilsMt19937Context { 2163 pub count: u32, 2164 pub state: [u32; 624usize], 2165 } 2166 2167 #[allow(missing_debug_implementations)] 2168 pub struct SceKernelUtilsMd5Context { 2169 pub h: [u32; 4usize], 2170 pub pad: u32, 2171 pub us_remains: u16, 2172 pub us_computed: u16, 2173 pub ull_total_len: u64, 2174 pub buf: [u8; 64usize], 2175 } 2176 2177 #[allow(missing_debug_implementations)] 2178 pub struct SceIoDirent { 2179 pub d_stat: SceIoStat, 2180 pub d_name: [u8; 256usize], 2181 pub d_private: *mut c_void, 2182 pub dummy: i32, 2183 } 2184 2185 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2186 pub struct ScePspFRect { 2187 pub x: f32, 2188 pub y: f32, 2189 pub w: f32, 2190 pub h: f32, 2191 } 2192 2193 #[repr(align(16))] 2194 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2195 pub struct ScePspFVector3 { 2196 pub x: f32, 2197 pub y: f32, 2198 pub z: f32, 2199 } 2200 2201 #[repr(align(16))] 2202 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2203 pub struct ScePspFVector4 { 2204 pub x: f32, 2205 pub y: f32, 2206 pub z: f32, 2207 pub w: f32, 2208 } 2209 2210 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2211 pub struct ScePspFVector4Unaligned { 2212 pub x: f32, 2213 pub y: f32, 2214 pub z: f32, 2215 pub w: f32, 2216 } 2217 2218 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2219 pub struct ScePspFVector2 { 2220 pub x: f32, 2221 pub y: f32, 2222 } 2223 2224 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2225 pub struct ScePspFMatrix2 { 2226 pub x: ScePspFVector2, 2227 pub y: ScePspFVector2, 2228 } 2229 2230 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2231 pub struct ScePspFMatrix3 { 2232 pub x: ScePspFVector3, 2233 pub y: ScePspFVector3, 2234 pub z: ScePspFVector3, 2235 } 2236 2237 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2238 #[repr(align(16))] 2239 pub struct ScePspFMatrix4 { 2240 pub x: ScePspFVector4, 2241 pub y: ScePspFVector4, 2242 pub z: ScePspFVector4, 2243 pub w: ScePspFVector4, 2244 } 2245 2246 #[allow(missing_debug_implementations)] 2247 pub struct ScePspFMatrix4Unaligned { 2248 pub x: ScePspFVector4, 2249 pub y: ScePspFVector4, 2250 pub z: ScePspFVector4, 2251 pub w: ScePspFVector4, 2252 } 2253 2254 #[allow(missing_debug_implementations)] 2255 pub union ScePspVector3 { 2256 pub fv: ScePspFVector3, 2257 pub iv: ScePspIVector3, 2258 pub f: [f32; 3usize], 2259 pub i: [i32; 3usize], 2260 } 2261 2262 #[allow(missing_debug_implementations)] 2263 pub union ScePspVector4 { 2264 pub fv: ScePspFVector4, 2265 pub iv: ScePspIVector4, 2266 pub qw: u128, 2267 pub f: [f32; 4usize], 2268 pub i: [i32; 4usize], 2269 } 2270 2271 #[allow(missing_debug_implementations)] 2272 pub union ScePspMatrix2 { 2273 pub fm: ScePspFMatrix2, 2274 pub im: ScePspIMatrix2, 2275 pub fv: [ScePspFVector2; 2usize], 2276 pub iv: [ScePspIVector2; 2usize], 2277 pub v: [ScePspVector2; 2usize], 2278 pub f: [[f32; 2usize]; 2usize], 2279 pub i: [[i32; 2usize]; 2usize], 2280 } 2281 2282 #[allow(missing_debug_implementations)] 2283 pub union ScePspMatrix3 { 2284 pub fm: ScePspFMatrix3, 2285 pub im: ScePspIMatrix3, 2286 pub fv: [ScePspFVector3; 3usize], 2287 pub iv: [ScePspIVector3; 3usize], 2288 pub v: [ScePspVector3; 3usize], 2289 pub f: [[f32; 3usize]; 3usize], 2290 pub i: [[i32; 3usize]; 3usize], 2291 } 2292 2293 #[allow(missing_debug_implementations)] 2294 pub union ScePspVector2 { 2295 pub fv: ScePspFVector2, 2296 pub iv: ScePspIVector2, 2297 pub f: [f32; 2usize], 2298 pub i: [i32; 2usize], 2299 } 2300 2301 #[allow(missing_debug_implementations)] 2302 pub union ScePspMatrix4 { 2303 pub fm: ScePspFMatrix4, 2304 pub im: ScePspIMatrix4, 2305 pub fv: [ScePspFVector4; 4usize], 2306 pub iv: [ScePspIVector4; 4usize], 2307 pub v: [ScePspVector4; 4usize], 2308 pub f: [[f32; 4usize]; 4usize], 2309 pub i: [[i32; 4usize]; 4usize], 2310 } 2311 2312 #[allow(missing_debug_implementations)] 2313 pub struct Key { 2314 pub key_type: KeyType, 2315 pub name: [u8; 256usize], 2316 pub name_len: u32, 2317 pub unk2: u32, 2318 pub unk3: u32, 2319 } 2320 2321 #[allow(missing_debug_implementations)] 2322 pub struct UtilityMsgDialogParams { 2323 pub base: UtilityDialogCommon, 2324 pub unknown: i32, 2325 pub mode: UtilityMsgDialogMode, 2326 pub error_value: u32, 2327 pub message: [u8; 512usize], 2328 pub options: i32, 2329 pub button_pressed: UtilityMsgDialogPressed, 2330 } 2331 2332 #[allow(missing_debug_implementations)] 2333 pub union UtilityNetData { 2334 pub as_uint: u32, 2335 pub as_string: [u8; 128usize], 2336 } 2337 2338 #[allow(missing_debug_implementations)] 2339 pub struct UtilitySavedataSFOParam { 2340 pub title: [u8; 128usize], 2341 pub savedata_title: [u8; 128usize], 2342 pub detail: [u8; 1024usize], 2343 pub parental_level: u8, 2344 pub unknown: [u8; 3usize], 2345 } 2346 2347 #[allow(missing_debug_implementations)] 2348 pub struct SceUtilitySavedataParam { 2349 pub base: UtilityDialogCommon, 2350 pub mode: UtilitySavedataMode, 2351 pub unknown1: i32, 2352 pub overwrite: i32, 2353 pub game_name: [u8; 13usize], 2354 pub reserved: [u8; 3usize], 2355 pub save_name: [u8; 20usize], 2356 pub save_name_list: *mut [u8; 20usize], 2357 pub file_name: [u8; 13usize], 2358 pub reserved1: [u8; 3usize], 2359 pub data_buf: *mut c_void, 2360 pub data_buf_size: usize, 2361 pub data_size: usize, 2362 pub sfo_param: UtilitySavedataSFOParam, 2363 pub icon0_file_data: UtilitySavedataFileData, 2364 pub icon1_file_data: UtilitySavedataFileData, 2365 pub pic1_file_data: UtilitySavedataFileData, 2366 pub snd0_file_data: UtilitySavedataFileData, 2367 pub new_data: *mut UtilitySavedataListSaveNewData, 2368 pub focus: UtilitySavedataFocus, 2369 pub unknown2: [i32; 4usize], 2370 pub key: [u8; 16], 2371 pub unknown3: [u8; 20], 2372 } 2373 2374 #[allow(missing_debug_implementations)] 2375 pub struct SceNetAdhocctlPeerInfo { 2376 pub next: *mut SceNetAdhocctlPeerInfo, 2377 pub nickname: [u8; 128usize], 2378 pub mac: [u8; 6usize], 2379 pub unknown: [u8; 6usize], 2380 pub timestamp: u32, 2381 } 2382 2383 #[allow(missing_debug_implementations)] 2384 pub struct SceNetAdhocctlParams { 2385 pub channel: i32, 2386 pub name: [u8; 8usize], 2387 pub bssid: [u8; 6usize], 2388 pub nickname: [u8; 128usize], 2389 } 2390 2391 #[cfg_attr(feature = "extra_traits", allow(missing_debug_implementations))] 2392 pub union SceNetApctlInfo { 2393 pub name: [u8; 64usize], 2394 pub bssid: [u8; 6usize], 2395 pub ssid: [u8; 32usize], 2396 pub ssid_length: u32, 2397 pub security_type: u32, 2398 pub strength: u8, 2399 pub channel: u8, 2400 pub power_save: u8, 2401 pub ip: [u8; 16usize], 2402 pub sub_net_mask: [u8; 16usize], 2403 pub gateway: [u8; 16usize], 2404 pub primary_dns: [u8; 16usize], 2405 pub secondary_dns: [u8; 16usize], 2406 pub use_proxy: u32, 2407 pub proxy_url: [u8; 128usize], 2408 pub proxy_port: u16, 2409 pub eap_type: u32, 2410 pub start_browser: u32, 2411 pub wifisp: u32, 2412 } 2413 } 2414 2415 pub const INT_MIN: c_int = -2147483648; 2416 pub const INT_MAX: c_int = 2147483647; 2417 2418 pub const AUDIO_VOLUME_MAX: u32 = 0x8000; 2419 pub const AUDIO_CHANNEL_MAX: u32 = 8; 2420 pub const AUDIO_NEXT_CHANNEL: i32 = -1; 2421 pub const AUDIO_SAMPLE_MIN: u32 = 64; 2422 pub const AUDIO_SAMPLE_MAX: u32 = 65472; 2423 2424 pub const PSP_CTRL_SELECT: i32 = 0x000001; 2425 pub const PSP_CTRL_START: i32 = 0x000008; 2426 pub const PSP_CTRL_UP: i32 = 0x000010; 2427 pub const PSP_CTRL_RIGHT: i32 = 0x000020; 2428 pub const PSP_CTRL_DOWN: i32 = 0x000040; 2429 pub const PSP_CTRL_LEFT: i32 = 0x000080; 2430 pub const PSP_CTRL_LTRIGGER: i32 = 0x000100; 2431 pub const PSP_CTRL_RTRIGGER: i32 = 0x000200; 2432 pub const PSP_CTRL_TRIANGLE: i32 = 0x001000; 2433 pub const PSP_CTRL_CIRCLE: i32 = 0x002000; 2434 pub const PSP_CTRL_CROSS: i32 = 0x004000; 2435 pub const PSP_CTRL_SQUARE: i32 = 0x008000; 2436 pub const PSP_CTRL_HOME: i32 = 0x010000; 2437 pub const PSP_CTRL_HOLD: i32 = 0x020000; 2438 pub const PSP_CTRL_NOTE: i32 = 0x800000; 2439 pub const PSP_CTRL_SCREEN: i32 = 0x400000; 2440 pub const PSP_CTRL_VOLUP: i32 = 0x100000; 2441 pub const PSP_CTRL_VOLDOWN: i32 = 0x200000; 2442 pub const PSP_CTRL_WLAN_UP: i32 = 0x040000; 2443 pub const PSP_CTRL_REMOTE: i32 = 0x080000; 2444 pub const PSP_CTRL_DISC: i32 = 0x1000000; 2445 pub const PSP_CTRL_MS: i32 = 0x2000000; 2446 2447 pub const USB_CAM_PID: i32 = 0x282; 2448 pub const USB_BUS_DRIVER_NAME: &str = "USBBusDriver"; 2449 pub const USB_CAM_DRIVER_NAME: &str = "USBCamDriver"; 2450 pub const USB_CAM_MIC_DRIVER_NAME: &str = "USBCamMicDriver"; 2451 pub const USB_STOR_DRIVER_NAME: &str = "USBStor_Driver"; 2452 2453 pub const ACTIVATED: i32 = 0x200; 2454 pub const CONNECTED: i32 = 0x020; 2455 pub const ESTABLISHED: i32 = 0x002; 2456 2457 pub const USB_CAM_FLIP: i32 = 1; 2458 pub const USB_CAM_MIRROR: i32 = 0x100; 2459 2460 pub const THREAD_ATTR_VFPU: i32 = 0x00004000; 2461 pub const THREAD_ATTR_USER: i32 = 0x80000000; 2462 pub const THREAD_ATTR_USBWLAN: i32 = 0xa0000000; 2463 pub const THREAD_ATTR_VSH: i32 = 0xc0000000; 2464 pub const THREAD_ATTR_SCRATCH_SRAM: i32 = 0x00008000; 2465 pub const THREAD_ATTR_NO_FILLSTACK: i32 = 0x00100000; 2466 pub const THREAD_ATTR_CLEAR_STACK: i32 = 0x00200000; 2467 2468 pub const EVENT_WAIT_MULTIPLE: i32 = 0x200; 2469 2470 pub const EVENT_WAIT_AND: i32 = 0; 2471 pub const EVENT_WAIT_OR: i32 = 1; 2472 pub const EVENT_WAIT_CLEAR: i32 = 0x20; 2473 2474 pub const POWER_INFO_POWER_SWITCH: i32 = 0x80000000; 2475 pub const POWER_INFO_HOLD_SWITCH: i32 = 0x40000000; 2476 pub const POWER_INFO_STANDBY: i32 = 0x00080000; 2477 pub const POWER_INFO_RESUME_COMPLETE: i32 = 0x00040000; 2478 pub const POWER_INFO_RESUMING: i32 = 0x00020000; 2479 pub const POWER_INFO_SUSPENDING: i32 = 0x00010000; 2480 pub const POWER_INFO_AC_POWER: i32 = 0x00001000; 2481 pub const POWER_INFO_BATTERY_LOW: i32 = 0x00000100; 2482 pub const POWER_INFO_BATTERY_EXIST: i32 = 0x00000080; 2483 pub const POWER_INFO_BATTERY_POWER: i32 = 0x0000007; 2484 2485 pub const FIO_S_IFLNK: i32 = 0x4000; 2486 pub const FIO_S_IFDIR: i32 = 0x1000; 2487 pub const FIO_S_IFREG: i32 = 0x2000; 2488 pub const FIO_S_ISUID: i32 = 0x0800; 2489 pub const FIO_S_ISGID: i32 = 0x0400; 2490 pub const FIO_S_ISVTX: i32 = 0x0200; 2491 pub const FIO_S_IRUSR: i32 = 0x0100; 2492 pub const FIO_S_IWUSR: i32 = 0x0080; 2493 pub const FIO_S_IXUSR: i32 = 0x0040; 2494 pub const FIO_S_IRGRP: i32 = 0x0020; 2495 pub const FIO_S_IWGRP: i32 = 0x0010; 2496 pub const FIO_S_IXGRP: i32 = 0x0008; 2497 pub const FIO_S_IROTH: i32 = 0x0004; 2498 pub const FIO_S_IWOTH: i32 = 0x0002; 2499 pub const FIO_S_IXOTH: i32 = 0x0001; 2500 2501 pub const FIO_SO_IFLNK: i32 = 0x0008; 2502 pub const FIO_SO_IFDIR: i32 = 0x0010; 2503 pub const FIO_SO_IFREG: i32 = 0x0020; 2504 pub const FIO_SO_IROTH: i32 = 0x0004; 2505 pub const FIO_SO_IWOTH: i32 = 0x0002; 2506 pub const FIO_SO_IXOTH: i32 = 0x0001; 2507 2508 pub const PSP_O_RD_ONLY: i32 = 0x0001; 2509 pub const PSP_O_WR_ONLY: i32 = 0x0002; 2510 pub const PSP_O_RD_WR: i32 = 0x0003; 2511 pub const PSP_O_NBLOCK: i32 = 0x0004; 2512 pub const PSP_O_DIR: i32 = 0x0008; 2513 pub const PSP_O_APPEND: i32 = 0x0100; 2514 pub const PSP_O_CREAT: i32 = 0x0200; 2515 pub const PSP_O_TRUNC: i32 = 0x0400; 2516 pub const PSP_O_EXCL: i32 = 0x0800; 2517 pub const PSP_O_NO_WAIT: i32 = 0x8000; 2518 2519 pub const UMD_NOT_PRESENT: i32 = 0x01; 2520 pub const UMD_PRESENT: i32 = 0x02; 2521 pub const UMD_CHANGED: i32 = 0x04; 2522 pub const UMD_INITING: i32 = 0x08; 2523 pub const UMD_INITED: i32 = 0x10; 2524 pub const UMD_READY: i32 = 0x20; 2525 2526 pub const PLAY_PAUSE: i32 = 0x1; 2527 pub const FORWARD: i32 = 0x4; 2528 pub const BACK: i32 = 0x8; 2529 pub const VOL_UP: i32 = 0x10; 2530 pub const VOL_DOWN: i32 = 0x20; 2531 pub const HOLD: i32 = 0x80; 2532 2533 pub const GU_PI: f32 = 3.141593; 2534 2535 pub const GU_TEXTURE_8BIT: i32 = 1; 2536 pub const GU_TEXTURE_16BIT: i32 = 2; 2537 pub const GU_TEXTURE_32BITF: i32 = 3; 2538 pub const GU_COLOR_5650: i32 = 4 << 2; 2539 pub const GU_COLOR_5551: i32 = 5 << 2; 2540 pub const GU_COLOR_4444: i32 = 6 << 2; 2541 pub const GU_COLOR_8888: i32 = 7 << 2; 2542 pub const GU_NORMAL_8BIT: i32 = 1 << 5; 2543 pub const GU_NORMAL_16BIT: i32 = 2 << 5; 2544 pub const GU_NORMAL_32BITF: i32 = 3 << 5; 2545 pub const GU_VERTEX_8BIT: i32 = 1 << 7; 2546 pub const GU_VERTEX_16BIT: i32 = 2 << 7; 2547 pub const GU_VERTEX_32BITF: i32 = 3 << 7; 2548 pub const GU_WEIGHT_8BIT: i32 = 1 << 9; 2549 pub const GU_WEIGHT_16BIT: i32 = 2 << 9; 2550 pub const GU_WEIGHT_32BITF: i32 = 3 << 9; 2551 pub const GU_INDEX_8BIT: i32 = 1 << 11; 2552 pub const GU_INDEX_16BIT: i32 = 2 << 11; 2553 pub const GU_WEIGHTS1: i32 = (((1 - 1) & 7) << 14) as i32; 2554 pub const GU_WEIGHTS2: i32 = (((2 - 1) & 7) << 14) as i32; 2555 pub const GU_WEIGHTS3: i32 = (((3 - 1) & 7) << 14) as i32; 2556 pub const GU_WEIGHTS4: i32 = (((4 - 1) & 7) << 14) as i32; 2557 pub const GU_WEIGHTS5: i32 = (((5 - 1) & 7) << 14) as i32; 2558 pub const GU_WEIGHTS6: i32 = (((6 - 1) & 7) << 14) as i32; 2559 pub const GU_WEIGHTS7: i32 = (((7 - 1) & 7) << 14) as i32; 2560 pub const GU_WEIGHTS8: i32 = (((8 - 1) & 7) << 14) as i32; 2561 pub const GU_VERTICES1: i32 = (((1 - 1) & 7) << 18) as i32; 2562 pub const GU_VERTICES2: i32 = (((2 - 1) & 7) << 18) as i32; 2563 pub const GU_VERTICES3: i32 = (((3 - 1) & 7) << 18) as i32; 2564 pub const GU_VERTICES4: i32 = (((4 - 1) & 7) << 18) as i32; 2565 pub const GU_VERTICES5: i32 = (((5 - 1) & 7) << 18) as i32; 2566 pub const GU_VERTICES6: i32 = (((6 - 1) & 7) << 18) as i32; 2567 pub const GU_VERTICES7: i32 = (((7 - 1) & 7) << 18) as i32; 2568 pub const GU_VERTICES8: i32 = (((8 - 1) & 7) << 18) as i32; 2569 pub const GU_TRANSFORM_2D: i32 = 1 << 23; 2570 pub const GU_TRANSFORM_3D: i32 = 0; 2571 2572 pub const GU_COLOR_BUFFER_BIT: i32 = 1; 2573 pub const GU_STENCIL_BUFFER_BIT: i32 = 2; 2574 pub const GU_DEPTH_BUFFER_BIT: i32 = 4; 2575 pub const GU_FAST_CLEAR_BIT: i32 = 16; 2576 2577 pub const GU_AMBIENT: i32 = 1; 2578 pub const GU_DIFFUSE: i32 = 2; 2579 pub const GU_SPECULAR: i32 = 4; 2580 pub const GU_UNKNOWN_LIGHT_COMPONENT: i32 = 8; 2581 2582 pub const SYSTEM_REGISTRY: [u8; 7] = *b"/system"; 2583 pub const REG_KEYNAME_SIZE: u32 = 27; 2584 2585 pub const UTILITY_MSGDIALOG_ERROR: i32 = 0; 2586 pub const UTILITY_MSGDIALOG_TEXT: i32 = 1; 2587 pub const UTILITY_MSGDIALOG_YES_NO_BUTTONS: i32 = 0x10; 2588 pub const UTILITY_MSGDIALOG_DEFAULT_NO: i32 = 0x100; 2589 2590 pub const UTILITY_HTMLVIEWER_OPEN_SCE_START_PAGE: i32 = 0x000001; 2591 pub const UTILITY_HTMLVIEWER_DISABLE_STARTUP_LIMITS: i32 = 0x000002; 2592 pub const UTILITY_HTMLVIEWER_DISABLE_EXIT_DIALOG: i32 = 0x000004; 2593 pub const UTILITY_HTMLVIEWER_DISABLE_CURSOR: i32 = 0x000008; 2594 pub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_COMPLETE_DIALOG: i32 = 0x000010; 2595 pub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_START_DIALOG: i32 = 0x000020; 2596 pub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_DESTINATION_DIALOG: i32 = 0x000040; 2597 pub const UTILITY_HTMLVIEWER_LOCK_DOWNLOAD_DESTINATION_DIALOG: i32 = 0x000080; 2598 pub const UTILITY_HTMLVIEWER_DISABLE_TAB_DISPLAY: i32 = 0x000100; 2599 pub const UTILITY_HTMLVIEWER_ENABLE_ANALOG_HOLD: i32 = 0x000200; 2600 pub const UTILITY_HTMLVIEWER_ENABLE_FLASH: i32 = 0x000400; 2601 pub const UTILITY_HTMLVIEWER_DISABLE_LRTRIGGER: i32 = 0x000800; 2602 2603 extern "C" { sceAudioChReserve(channel: i32, sample_count: i32, format: AudioFormat) -> i322604 pub fn sceAudioChReserve(channel: i32, sample_count: i32, format: AudioFormat) -> i32; sceAudioChRelease(channel: i32) -> i322605 pub fn sceAudioChRelease(channel: i32) -> i32; sceAudioOutput(channel: i32, vol: i32, buf: *mut c_void) -> i322606 pub fn sceAudioOutput(channel: i32, vol: i32, buf: *mut c_void) -> i32; sceAudioOutputBlocking(channel: i32, vol: i32, buf: *mut c_void) -> i322607 pub fn sceAudioOutputBlocking(channel: i32, vol: i32, buf: *mut c_void) -> i32; sceAudioOutputPanned( channel: i32, left_vol: i32, right_vol: i32, buf: *mut c_void, ) -> i322608 pub fn sceAudioOutputPanned( 2609 channel: i32, 2610 left_vol: i32, 2611 right_vol: i32, 2612 buf: *mut c_void, 2613 ) -> i32; sceAudioOutputPannedBlocking( channel: i32, left_vol: i32, right_vol: i32, buf: *mut c_void, ) -> i322614 pub fn sceAudioOutputPannedBlocking( 2615 channel: i32, 2616 left_vol: i32, 2617 right_vol: i32, 2618 buf: *mut c_void, 2619 ) -> i32; sceAudioGetChannelRestLen(channel: i32) -> i322620 pub fn sceAudioGetChannelRestLen(channel: i32) -> i32; sceAudioGetChannelRestLength(channel: i32) -> i322621 pub fn sceAudioGetChannelRestLength(channel: i32) -> i32; sceAudioSetChannelDataLen(channel: i32, sample_count: i32) -> i322622 pub fn sceAudioSetChannelDataLen(channel: i32, sample_count: i32) -> i32; sceAudioChangeChannelConfig(channel: i32, format: AudioFormat) -> i322623 pub fn sceAudioChangeChannelConfig(channel: i32, format: AudioFormat) -> i32; sceAudioChangeChannelVolume(channel: i32, left_vol: i32, right_vol: i32) -> i322624 pub fn sceAudioChangeChannelVolume(channel: i32, left_vol: i32, right_vol: i32) -> i32; sceAudioOutput2Reserve(sample_count: i32) -> i322625 pub fn sceAudioOutput2Reserve(sample_count: i32) -> i32; sceAudioOutput2Release() -> i322626 pub fn sceAudioOutput2Release() -> i32; sceAudioOutput2ChangeLength(sample_count: i32) -> i322627 pub fn sceAudioOutput2ChangeLength(sample_count: i32) -> i32; sceAudioOutput2OutputBlocking(vol: i32, buf: *mut c_void) -> i322628 pub fn sceAudioOutput2OutputBlocking(vol: i32, buf: *mut c_void) -> i32; sceAudioOutput2GetRestSample() -> i322629 pub fn sceAudioOutput2GetRestSample() -> i32; sceAudioSRCChReserve( sample_count: i32, freq: AudioOutputFrequency, channels: i32, ) -> i322630 pub fn sceAudioSRCChReserve( 2631 sample_count: i32, 2632 freq: AudioOutputFrequency, 2633 channels: i32, 2634 ) -> i32; sceAudioSRCChRelease() -> i322635 pub fn sceAudioSRCChRelease() -> i32; sceAudioSRCOutputBlocking(vol: i32, buf: *mut c_void) -> i322636 pub fn sceAudioSRCOutputBlocking(vol: i32, buf: *mut c_void) -> i32; sceAudioInputInit(unknown1: i32, gain: i32, unknown2: i32) -> i322637 pub fn sceAudioInputInit(unknown1: i32, gain: i32, unknown2: i32) -> i32; sceAudioInputInitEx(params: *mut AudioInputParams) -> i322638 pub fn sceAudioInputInitEx(params: *mut AudioInputParams) -> i32; sceAudioInputBlocking(sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void)2639 pub fn sceAudioInputBlocking(sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void); sceAudioInput(sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void)2640 pub fn sceAudioInput(sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void); sceAudioGetInputLength() -> i322641 pub fn sceAudioGetInputLength() -> i32; sceAudioWaitInputEnd() -> i322642 pub fn sceAudioWaitInputEnd() -> i32; sceAudioPollInputEnd() -> i322643 pub fn sceAudioPollInputEnd() -> i32; 2644 sceAtracGetAtracID(ui_codec_type: u32) -> i322645 pub fn sceAtracGetAtracID(ui_codec_type: u32) -> i32; sceAtracSetDataAndGetID(buf: *mut c_void, bufsize: usize) -> i322646 pub fn sceAtracSetDataAndGetID(buf: *mut c_void, bufsize: usize) -> i32; sceAtracDecodeData( atrac_id: i32, out_samples: *mut u16, out_n: *mut i32, out_end: *mut i32, out_remain_frame: *mut i32, ) -> i322647 pub fn sceAtracDecodeData( 2648 atrac_id: i32, 2649 out_samples: *mut u16, 2650 out_n: *mut i32, 2651 out_end: *mut i32, 2652 out_remain_frame: *mut i32, 2653 ) -> i32; sceAtracGetRemainFrame(atrac_id: i32, out_remain_frame: *mut i32) -> i322654 pub fn sceAtracGetRemainFrame(atrac_id: i32, out_remain_frame: *mut i32) -> i32; sceAtracGetStreamDataInfo( atrac_id: i32, write_pointer: *mut *mut u8, available_bytes: *mut u32, read_offset: *mut u32, ) -> i322655 pub fn sceAtracGetStreamDataInfo( 2656 atrac_id: i32, 2657 write_pointer: *mut *mut u8, 2658 available_bytes: *mut u32, 2659 read_offset: *mut u32, 2660 ) -> i32; sceAtracAddStreamData(atrac_id: i32, bytes_to_add: u32) -> i322661 pub fn sceAtracAddStreamData(atrac_id: i32, bytes_to_add: u32) -> i32; sceAtracGetBitrate(atrac_id: i32, out_bitrate: *mut i32) -> i322662 pub fn sceAtracGetBitrate(atrac_id: i32, out_bitrate: *mut i32) -> i32; sceAtracSetLoopNum(atrac_id: i32, nloops: i32) -> i322663 pub fn sceAtracSetLoopNum(atrac_id: i32, nloops: i32) -> i32; sceAtracReleaseAtracID(atrac_id: i32) -> i322664 pub fn sceAtracReleaseAtracID(atrac_id: i32) -> i32; sceAtracGetNextSample(atrac_id: i32, out_n: *mut i32) -> i322665 pub fn sceAtracGetNextSample(atrac_id: i32, out_n: *mut i32) -> i32; sceAtracGetMaxSample(atrac_id: i32, out_max: *mut i32) -> i322666 pub fn sceAtracGetMaxSample(atrac_id: i32, out_max: *mut i32) -> i32; sceAtracGetBufferInfoForReseting( atrac_id: i32, ui_sample: u32, pbuffer_info: *mut Atrac3BufferInfo, ) -> i322667 pub fn sceAtracGetBufferInfoForReseting( 2668 atrac_id: i32, 2669 ui_sample: u32, 2670 pbuffer_info: *mut Atrac3BufferInfo, 2671 ) -> i32; sceAtracGetChannel(atrac_id: i32, pui_channel: *mut u32) -> i322672 pub fn sceAtracGetChannel(atrac_id: i32, pui_channel: *mut u32) -> i32; sceAtracGetInternalErrorInfo(atrac_id: i32, pi_result: *mut i32) -> i322673 pub fn sceAtracGetInternalErrorInfo(atrac_id: i32, pi_result: *mut i32) -> i32; sceAtracGetLoopStatus( atrac_id: i32, pi_loop_num: *mut i32, pui_loop_status: *mut u32, ) -> i322674 pub fn sceAtracGetLoopStatus( 2675 atrac_id: i32, 2676 pi_loop_num: *mut i32, 2677 pui_loop_status: *mut u32, 2678 ) -> i32; sceAtracGetNextDecodePosition(atrac_id: i32, pui_sample_position: *mut u32) -> i322679 pub fn sceAtracGetNextDecodePosition(atrac_id: i32, pui_sample_position: *mut u32) -> i32; sceAtracGetSecondBufferInfo( atrac_id: i32, pui_position: *mut u32, pui_data_byte: *mut u32, ) -> i322680 pub fn sceAtracGetSecondBufferInfo( 2681 atrac_id: i32, 2682 pui_position: *mut u32, 2683 pui_data_byte: *mut u32, 2684 ) -> i32; sceAtracGetSoundSample( atrac_id: i32, pi_end_sample: *mut i32, pi_loop_start_sample: *mut i32, pi_loop_end_sample: *mut i32, ) -> i322685 pub fn sceAtracGetSoundSample( 2686 atrac_id: i32, 2687 pi_end_sample: *mut i32, 2688 pi_loop_start_sample: *mut i32, 2689 pi_loop_end_sample: *mut i32, 2690 ) -> i32; sceAtracResetPlayPosition( atrac_id: i32, ui_sample: u32, ui_write_byte_first_buf: u32, ui_write_byte_second_buf: u32, ) -> i322691 pub fn sceAtracResetPlayPosition( 2692 atrac_id: i32, 2693 ui_sample: u32, 2694 ui_write_byte_first_buf: u32, 2695 ui_write_byte_second_buf: u32, 2696 ) -> i32; sceAtracSetData(atrac_id: i32, puc_buffer_addr: *mut u8, ui_buffer_byte: u32) -> i322697 pub fn sceAtracSetData(atrac_id: i32, puc_buffer_addr: *mut u8, ui_buffer_byte: u32) -> i32; sceAtracSetHalfwayBuffer( atrac_id: i32, puc_buffer_addr: *mut u8, ui_read_byte: u32, ui_buffer_byte: u32, ) -> i322698 pub fn sceAtracSetHalfwayBuffer( 2699 atrac_id: i32, 2700 puc_buffer_addr: *mut u8, 2701 ui_read_byte: u32, 2702 ui_buffer_byte: u32, 2703 ) -> i32; sceAtracSetHalfwayBufferAndGetID( puc_buffer_addr: *mut u8, ui_read_byte: u32, ui_buffer_byte: u32, ) -> i322704 pub fn sceAtracSetHalfwayBufferAndGetID( 2705 puc_buffer_addr: *mut u8, 2706 ui_read_byte: u32, 2707 ui_buffer_byte: u32, 2708 ) -> i32; sceAtracSetSecondBuffer( atrac_id: i32, puc_second_buffer_addr: *mut u8, ui_second_buffer_byte: u32, ) -> i322709 pub fn sceAtracSetSecondBuffer( 2710 atrac_id: i32, 2711 puc_second_buffer_addr: *mut u8, 2712 ui_second_buffer_byte: u32, 2713 ) -> i32; 2714 sceCtrlSetSamplingCycle(cycle: i32) -> i322715 pub fn sceCtrlSetSamplingCycle(cycle: i32) -> i32; sceCtrlGetSamplingCycle(pcycle: *mut i32) -> i322716 pub fn sceCtrlGetSamplingCycle(pcycle: *mut i32) -> i32; sceCtrlSetSamplingMode(mode: CtrlMode) -> i322717 pub fn sceCtrlSetSamplingMode(mode: CtrlMode) -> i32; sceCtrlGetSamplingMode(pmode: *mut i32) -> i322718 pub fn sceCtrlGetSamplingMode(pmode: *mut i32) -> i32; sceCtrlPeekBufferPositive(pad_data: *mut SceCtrlData, count: i32) -> i322719 pub fn sceCtrlPeekBufferPositive(pad_data: *mut SceCtrlData, count: i32) -> i32; sceCtrlPeekBufferNegative(pad_data: *mut SceCtrlData, count: i32) -> i322720 pub fn sceCtrlPeekBufferNegative(pad_data: *mut SceCtrlData, count: i32) -> i32; sceCtrlReadBufferPositive(pad_data: *mut SceCtrlData, count: i32) -> i322721 pub fn sceCtrlReadBufferPositive(pad_data: *mut SceCtrlData, count: i32) -> i32; sceCtrlReadBufferNegative(pad_data: *mut SceCtrlData, count: i32) -> i322722 pub fn sceCtrlReadBufferNegative(pad_data: *mut SceCtrlData, count: i32) -> i32; sceCtrlPeekLatch(latch_data: *mut SceCtrlLatch) -> i322723 pub fn sceCtrlPeekLatch(latch_data: *mut SceCtrlLatch) -> i32; sceCtrlReadLatch(latch_data: *mut SceCtrlLatch) -> i322724 pub fn sceCtrlReadLatch(latch_data: *mut SceCtrlLatch) -> i32; sceCtrlSetIdleCancelThreshold(idlereset: i32, idleback: i32) -> i322725 pub fn sceCtrlSetIdleCancelThreshold(idlereset: i32, idleback: i32) -> i32; sceCtrlGetIdleCancelThreshold(idlereset: *mut i32, idleback: *mut i32) -> i322726 pub fn sceCtrlGetIdleCancelThreshold(idlereset: *mut i32, idleback: *mut i32) -> i32; 2727 sceDisplaySetMode(mode: DisplayMode, width: usize, height: usize) -> u322728 pub fn sceDisplaySetMode(mode: DisplayMode, width: usize, height: usize) -> u32; sceDisplayGetMode(pmode: *mut i32, pwidth: *mut i32, pheight: *mut i32) -> i322729 pub fn sceDisplayGetMode(pmode: *mut i32, pwidth: *mut i32, pheight: *mut i32) -> i32; sceDisplaySetFrameBuf( top_addr: *const u8, buffer_width: usize, pixel_format: DisplayPixelFormat, sync: DisplaySetBufSync, ) -> u322730 pub fn sceDisplaySetFrameBuf( 2731 top_addr: *const u8, 2732 buffer_width: usize, 2733 pixel_format: DisplayPixelFormat, 2734 sync: DisplaySetBufSync, 2735 ) -> u32; sceDisplayGetFrameBuf( top_addr: *mut *mut c_void, buffer_width: *mut usize, pixel_format: *mut DisplayPixelFormat, sync: DisplaySetBufSync, ) -> i322736 pub fn sceDisplayGetFrameBuf( 2737 top_addr: *mut *mut c_void, 2738 buffer_width: *mut usize, 2739 pixel_format: *mut DisplayPixelFormat, 2740 sync: DisplaySetBufSync, 2741 ) -> i32; sceDisplayGetVcount() -> u322742 pub fn sceDisplayGetVcount() -> u32; sceDisplayWaitVblank() -> i322743 pub fn sceDisplayWaitVblank() -> i32; sceDisplayWaitVblankCB() -> i322744 pub fn sceDisplayWaitVblankCB() -> i32; sceDisplayWaitVblankStart() -> i322745 pub fn sceDisplayWaitVblankStart() -> i32; sceDisplayWaitVblankStartCB() -> i322746 pub fn sceDisplayWaitVblankStartCB() -> i32; sceDisplayGetAccumulatedHcount() -> i322747 pub fn sceDisplayGetAccumulatedHcount() -> i32; sceDisplayGetCurrentHcount() -> i322748 pub fn sceDisplayGetCurrentHcount() -> i32; sceDisplayGetFramePerSec() -> f322749 pub fn sceDisplayGetFramePerSec() -> f32; sceDisplayIsForeground() -> i322750 pub fn sceDisplayIsForeground() -> i32; sceDisplayIsVblank() -> i322751 pub fn sceDisplayIsVblank() -> i32; 2752 sceGeEdramGetSize() -> u322753 pub fn sceGeEdramGetSize() -> u32; sceGeEdramGetAddr() -> *mut u82754 pub fn sceGeEdramGetAddr() -> *mut u8; sceGeEdramSetAddrTranslation(width: i32) -> i322755 pub fn sceGeEdramSetAddrTranslation(width: i32) -> i32; sceGeGetCmd(cmd: i32) -> u322756 pub fn sceGeGetCmd(cmd: i32) -> u32; sceGeGetMtx(type_: GeMatrixType, matrix: *mut c_void) -> i322757 pub fn sceGeGetMtx(type_: GeMatrixType, matrix: *mut c_void) -> i32; sceGeGetStack(stack_id: i32, stack: *mut GeStack) -> i322758 pub fn sceGeGetStack(stack_id: i32, stack: *mut GeStack) -> i32; sceGeSaveContext(context: *mut GeContext) -> i322759 pub fn sceGeSaveContext(context: *mut GeContext) -> i32; sceGeRestoreContext(context: *const GeContext) -> i322760 pub fn sceGeRestoreContext(context: *const GeContext) -> i32; sceGeListEnQueue( list: *const c_void, stall: *mut c_void, cbid: i32, arg: *mut GeListArgs, ) -> i322761 pub fn sceGeListEnQueue( 2762 list: *const c_void, 2763 stall: *mut c_void, 2764 cbid: i32, 2765 arg: *mut GeListArgs, 2766 ) -> i32; sceGeListEnQueueHead( list: *const c_void, stall: *mut c_void, cbid: i32, arg: *mut GeListArgs, ) -> i322767 pub fn sceGeListEnQueueHead( 2768 list: *const c_void, 2769 stall: *mut c_void, 2770 cbid: i32, 2771 arg: *mut GeListArgs, 2772 ) -> i32; sceGeListDeQueue(qid: i32) -> i322773 pub fn sceGeListDeQueue(qid: i32) -> i32; sceGeListUpdateStallAddr(qid: i32, stall: *mut c_void) -> i322774 pub fn sceGeListUpdateStallAddr(qid: i32, stall: *mut c_void) -> i32; sceGeListSync(qid: i32, sync_type: i32) -> GeListState2775 pub fn sceGeListSync(qid: i32, sync_type: i32) -> GeListState; sceGeDrawSync(sync_type: i32) -> GeListState2776 pub fn sceGeDrawSync(sync_type: i32) -> GeListState; sceGeBreak(mode: i32, p_param: *mut GeBreakParam) -> i322777 pub fn sceGeBreak(mode: i32, p_param: *mut GeBreakParam) -> i32; sceGeContinue() -> i322778 pub fn sceGeContinue() -> i32; sceGeSetCallback(cb: *mut GeCallbackData) -> i322779 pub fn sceGeSetCallback(cb: *mut GeCallbackData) -> i32; sceGeUnsetCallback(cbid: i32) -> i322780 pub fn sceGeUnsetCallback(cbid: i32) -> i32; 2781 sceKernelExitGame()2782 pub fn sceKernelExitGame(); sceKernelRegisterExitCallback(id: SceUid) -> i322783 pub fn sceKernelRegisterExitCallback(id: SceUid) -> i32; sceKernelLoadExec(file: *const u8, param: *mut SceKernelLoadExecParam) -> i322784 pub fn sceKernelLoadExec(file: *const u8, param: *mut SceKernelLoadExecParam) -> i32; 2785 sceKernelAllocPartitionMemory( partition: SceSysMemPartitionId, name: *const u8, type_: SceSysMemBlockTypes, size: u32, addr: *mut c_void, ) -> SceUid2786 pub fn sceKernelAllocPartitionMemory( 2787 partition: SceSysMemPartitionId, 2788 name: *const u8, 2789 type_: SceSysMemBlockTypes, 2790 size: u32, 2791 addr: *mut c_void, 2792 ) -> SceUid; sceKernelGetBlockHeadAddr(blockid: SceUid) -> *mut c_void2793 pub fn sceKernelGetBlockHeadAddr(blockid: SceUid) -> *mut c_void; sceKernelFreePartitionMemory(blockid: SceUid) -> i322794 pub fn sceKernelFreePartitionMemory(blockid: SceUid) -> i32; sceKernelTotalFreeMemSize() -> usize2795 pub fn sceKernelTotalFreeMemSize() -> usize; sceKernelMaxFreeMemSize() -> usize2796 pub fn sceKernelMaxFreeMemSize() -> usize; sceKernelDevkitVersion() -> u322797 pub fn sceKernelDevkitVersion() -> u32; sceKernelSetCompiledSdkVersion(version: u32) -> i322798 pub fn sceKernelSetCompiledSdkVersion(version: u32) -> i32; sceKernelGetCompiledSdkVersion() -> u322799 pub fn sceKernelGetCompiledSdkVersion() -> u32; 2800 sceKernelLibcTime(t: *mut i32) -> i322801 pub fn sceKernelLibcTime(t: *mut i32) -> i32; sceKernelLibcClock() -> u322802 pub fn sceKernelLibcClock() -> u32; sceKernelLibcGettimeofday(tp: *mut timeval, tzp: *mut timezone) -> i322803 pub fn sceKernelLibcGettimeofday(tp: *mut timeval, tzp: *mut timezone) -> i32; sceKernelDcacheWritebackAll()2804 pub fn sceKernelDcacheWritebackAll(); sceKernelDcacheWritebackInvalidateAll()2805 pub fn sceKernelDcacheWritebackInvalidateAll(); sceKernelDcacheWritebackRange(p: *const c_void, size: u32)2806 pub fn sceKernelDcacheWritebackRange(p: *const c_void, size: u32); sceKernelDcacheWritebackInvalidateRange(p: *const c_void, size: u32)2807 pub fn sceKernelDcacheWritebackInvalidateRange(p: *const c_void, size: u32); sceKernelDcacheInvalidateRange(p: *const c_void, size: u32)2808 pub fn sceKernelDcacheInvalidateRange(p: *const c_void, size: u32); sceKernelIcacheInvalidateAll()2809 pub fn sceKernelIcacheInvalidateAll(); sceKernelIcacheInvalidateRange(p: *const c_void, size: u32)2810 pub fn sceKernelIcacheInvalidateRange(p: *const c_void, size: u32); sceKernelUtilsMt19937Init(ctx: *mut SceKernelUtilsMt19937Context, seed: u32) -> i322811 pub fn sceKernelUtilsMt19937Init(ctx: *mut SceKernelUtilsMt19937Context, seed: u32) -> i32; sceKernelUtilsMt19937UInt(ctx: *mut SceKernelUtilsMt19937Context) -> u322812 pub fn sceKernelUtilsMt19937UInt(ctx: *mut SceKernelUtilsMt19937Context) -> u32; sceKernelUtilsMd5Digest(data: *mut u8, size: u32, digest: *mut u8) -> i322813 pub fn sceKernelUtilsMd5Digest(data: *mut u8, size: u32, digest: *mut u8) -> i32; sceKernelUtilsMd5BlockInit(ctx: *mut SceKernelUtilsMd5Context) -> i322814 pub fn sceKernelUtilsMd5BlockInit(ctx: *mut SceKernelUtilsMd5Context) -> i32; sceKernelUtilsMd5BlockUpdate( ctx: *mut SceKernelUtilsMd5Context, data: *mut u8, size: u32, ) -> i322815 pub fn sceKernelUtilsMd5BlockUpdate( 2816 ctx: *mut SceKernelUtilsMd5Context, 2817 data: *mut u8, 2818 size: u32, 2819 ) -> i32; sceKernelUtilsMd5BlockResult(ctx: *mut SceKernelUtilsMd5Context, digest: *mut u8) -> i322820 pub fn sceKernelUtilsMd5BlockResult(ctx: *mut SceKernelUtilsMd5Context, digest: *mut u8) 2821 -> i32; sceKernelUtilsSha1Digest(data: *mut u8, size: u32, digest: *mut u8) -> i322822 pub fn sceKernelUtilsSha1Digest(data: *mut u8, size: u32, digest: *mut u8) -> i32; sceKernelUtilsSha1BlockInit(ctx: *mut SceKernelUtilsSha1Context) -> i322823 pub fn sceKernelUtilsSha1BlockInit(ctx: *mut SceKernelUtilsSha1Context) -> i32; sceKernelUtilsSha1BlockUpdate( ctx: *mut SceKernelUtilsSha1Context, data: *mut u8, size: u32, ) -> i322824 pub fn sceKernelUtilsSha1BlockUpdate( 2825 ctx: *mut SceKernelUtilsSha1Context, 2826 data: *mut u8, 2827 size: u32, 2828 ) -> i32; sceKernelUtilsSha1BlockResult( ctx: *mut SceKernelUtilsSha1Context, digest: *mut u8, ) -> i322829 pub fn sceKernelUtilsSha1BlockResult( 2830 ctx: *mut SceKernelUtilsSha1Context, 2831 digest: *mut u8, 2832 ) -> i32; 2833 sceKernelRegisterSubIntrHandler( int_no: i32, no: i32, handler: *mut c_void, arg: *mut c_void, ) -> i322834 pub fn sceKernelRegisterSubIntrHandler( 2835 int_no: i32, 2836 no: i32, 2837 handler: *mut c_void, 2838 arg: *mut c_void, 2839 ) -> i32; sceKernelReleaseSubIntrHandler(int_no: i32, no: i32) -> i322840 pub fn sceKernelReleaseSubIntrHandler(int_no: i32, no: i32) -> i32; sceKernelEnableSubIntr(int_no: i32, no: i32) -> i322841 pub fn sceKernelEnableSubIntr(int_no: i32, no: i32) -> i32; sceKernelDisableSubIntr(int_no: i32, no: i32) -> i322842 pub fn sceKernelDisableSubIntr(int_no: i32, no: i32) -> i32; QueryIntrHandlerInfo( intr_code: SceUid, sub_intr_code: SceUid, data: *mut IntrHandlerOptionParam, ) -> i322843 pub fn QueryIntrHandlerInfo( 2844 intr_code: SceUid, 2845 sub_intr_code: SceUid, 2846 data: *mut IntrHandlerOptionParam, 2847 ) -> i32; 2848 sceKernelCpuSuspendIntr() -> u322849 pub fn sceKernelCpuSuspendIntr() -> u32; sceKernelCpuResumeIntr(flags: u32)2850 pub fn sceKernelCpuResumeIntr(flags: u32); sceKernelCpuResumeIntrWithSync(flags: u32)2851 pub fn sceKernelCpuResumeIntrWithSync(flags: u32); sceKernelIsCpuIntrSuspended(flags: u32) -> i322852 pub fn sceKernelIsCpuIntrSuspended(flags: u32) -> i32; sceKernelIsCpuIntrEnable() -> i322853 pub fn sceKernelIsCpuIntrEnable() -> i32; 2854 sceKernelLoadModule( path: *const u8, flags: i32, option: *mut SceKernelLMOption, ) -> SceUid2855 pub fn sceKernelLoadModule( 2856 path: *const u8, 2857 flags: i32, 2858 option: *mut SceKernelLMOption, 2859 ) -> SceUid; sceKernelLoadModuleMs( path: *const u8, flags: i32, option: *mut SceKernelLMOption, ) -> SceUid2860 pub fn sceKernelLoadModuleMs( 2861 path: *const u8, 2862 flags: i32, 2863 option: *mut SceKernelLMOption, 2864 ) -> SceUid; sceKernelLoadModuleByID( fid: SceUid, flags: i32, option: *mut SceKernelLMOption, ) -> SceUid2865 pub fn sceKernelLoadModuleByID( 2866 fid: SceUid, 2867 flags: i32, 2868 option: *mut SceKernelLMOption, 2869 ) -> SceUid; sceKernelLoadModuleBufferUsbWlan( buf_size: usize, buf: *mut c_void, flags: i32, option: *mut SceKernelLMOption, ) -> SceUid2870 pub fn sceKernelLoadModuleBufferUsbWlan( 2871 buf_size: usize, 2872 buf: *mut c_void, 2873 flags: i32, 2874 option: *mut SceKernelLMOption, 2875 ) -> SceUid; sceKernelStartModule( mod_id: SceUid, arg_size: usize, argp: *mut c_void, status: *mut i32, option: *mut SceKernelSMOption, ) -> i322876 pub fn sceKernelStartModule( 2877 mod_id: SceUid, 2878 arg_size: usize, 2879 argp: *mut c_void, 2880 status: *mut i32, 2881 option: *mut SceKernelSMOption, 2882 ) -> i32; sceKernelStopModule( mod_id: SceUid, arg_size: usize, argp: *mut c_void, status: *mut i32, option: *mut SceKernelSMOption, ) -> i322883 pub fn sceKernelStopModule( 2884 mod_id: SceUid, 2885 arg_size: usize, 2886 argp: *mut c_void, 2887 status: *mut i32, 2888 option: *mut SceKernelSMOption, 2889 ) -> i32; sceKernelUnloadModule(mod_id: SceUid) -> i322890 pub fn sceKernelUnloadModule(mod_id: SceUid) -> i32; sceKernelSelfStopUnloadModule(unknown: i32, arg_size: usize, argp: *mut c_void) -> i322891 pub fn sceKernelSelfStopUnloadModule(unknown: i32, arg_size: usize, argp: *mut c_void) -> i32; sceKernelStopUnloadSelfModule( arg_size: usize, argp: *mut c_void, status: *mut i32, option: *mut SceKernelSMOption, ) -> i322892 pub fn sceKernelStopUnloadSelfModule( 2893 arg_size: usize, 2894 argp: *mut c_void, 2895 status: *mut i32, 2896 option: *mut SceKernelSMOption, 2897 ) -> i32; sceKernelQueryModuleInfo(mod_id: SceUid, info: *mut SceKernelModuleInfo) -> i322898 pub fn sceKernelQueryModuleInfo(mod_id: SceUid, info: *mut SceKernelModuleInfo) -> i32; sceKernelGetModuleIdList( read_buf: *mut SceUid, read_buf_size: i32, id_count: *mut i32, ) -> i322899 pub fn sceKernelGetModuleIdList( 2900 read_buf: *mut SceUid, 2901 read_buf_size: i32, 2902 id_count: *mut i32, 2903 ) -> i32; 2904 sceKernelVolatileMemLock(unk: i32, ptr: *mut *mut c_void, size: *mut i32) -> i322905 pub fn sceKernelVolatileMemLock(unk: i32, ptr: *mut *mut c_void, size: *mut i32) -> i32; sceKernelVolatileMemTryLock(unk: i32, ptr: *mut *mut c_void, size: *mut i32) -> i322906 pub fn sceKernelVolatileMemTryLock(unk: i32, ptr: *mut *mut c_void, size: *mut i32) -> i32; sceKernelVolatileMemUnlock(unk: i32) -> i322907 pub fn sceKernelVolatileMemUnlock(unk: i32) -> i32; 2908 sceKernelStdin() -> SceUid2909 pub fn sceKernelStdin() -> SceUid; sceKernelStdout() -> SceUid2910 pub fn sceKernelStdout() -> SceUid; sceKernelStderr() -> SceUid2911 pub fn sceKernelStderr() -> SceUid; 2912 sceKernelGetThreadmanIdType(uid: SceUid) -> SceKernelIdListType2913 pub fn sceKernelGetThreadmanIdType(uid: SceUid) -> SceKernelIdListType; sceKernelCreateThread( name: *const u8, entry: SceKernelThreadEntry, init_priority: i32, stack_size: i32, attr: i32, option: *mut SceKernelThreadOptParam, ) -> SceUid2914 pub fn sceKernelCreateThread( 2915 name: *const u8, 2916 entry: SceKernelThreadEntry, 2917 init_priority: i32, 2918 stack_size: i32, 2919 attr: i32, 2920 option: *mut SceKernelThreadOptParam, 2921 ) -> SceUid; sceKernelDeleteThread(thid: SceUid) -> i322922 pub fn sceKernelDeleteThread(thid: SceUid) -> i32; sceKernelStartThread(id: SceUid, arg_len: usize, arg_p: *mut c_void) -> i322923 pub fn sceKernelStartThread(id: SceUid, arg_len: usize, arg_p: *mut c_void) -> i32; sceKernelExitThread(status: i32) -> i322924 pub fn sceKernelExitThread(status: i32) -> i32; sceKernelExitDeleteThread(status: i32) -> i322925 pub fn sceKernelExitDeleteThread(status: i32) -> i32; sceKernelTerminateThread(thid: SceUid) -> i322926 pub fn sceKernelTerminateThread(thid: SceUid) -> i32; sceKernelTerminateDeleteThread(thid: SceUid) -> i322927 pub fn sceKernelTerminateDeleteThread(thid: SceUid) -> i32; sceKernelSuspendDispatchThread() -> i322928 pub fn sceKernelSuspendDispatchThread() -> i32; sceKernelResumeDispatchThread(state: i32) -> i322929 pub fn sceKernelResumeDispatchThread(state: i32) -> i32; sceKernelSleepThread() -> i322930 pub fn sceKernelSleepThread() -> i32; sceKernelSleepThreadCB() -> i322931 pub fn sceKernelSleepThreadCB() -> i32; sceKernelWakeupThread(thid: SceUid) -> i322932 pub fn sceKernelWakeupThread(thid: SceUid) -> i32; sceKernelCancelWakeupThread(thid: SceUid) -> i322933 pub fn sceKernelCancelWakeupThread(thid: SceUid) -> i32; sceKernelSuspendThread(thid: SceUid) -> i322934 pub fn sceKernelSuspendThread(thid: SceUid) -> i32; sceKernelResumeThread(thid: SceUid) -> i322935 pub fn sceKernelResumeThread(thid: SceUid) -> i32; sceKernelWaitThreadEnd(thid: SceUid, timeout: *mut u32) -> i322936 pub fn sceKernelWaitThreadEnd(thid: SceUid, timeout: *mut u32) -> i32; sceKernelWaitThreadEndCB(thid: SceUid, timeout: *mut u32) -> i322937 pub fn sceKernelWaitThreadEndCB(thid: SceUid, timeout: *mut u32) -> i32; sceKernelDelayThread(delay: u32) -> i322938 pub fn sceKernelDelayThread(delay: u32) -> i32; sceKernelDelayThreadCB(delay: u32) -> i322939 pub fn sceKernelDelayThreadCB(delay: u32) -> i32; sceKernelDelaySysClockThread(delay: *mut SceKernelSysClock) -> i322940 pub fn sceKernelDelaySysClockThread(delay: *mut SceKernelSysClock) -> i32; sceKernelDelaySysClockThreadCB(delay: *mut SceKernelSysClock) -> i322941 pub fn sceKernelDelaySysClockThreadCB(delay: *mut SceKernelSysClock) -> i32; sceKernelChangeCurrentThreadAttr(unknown: i32, attr: i32) -> i322942 pub fn sceKernelChangeCurrentThreadAttr(unknown: i32, attr: i32) -> i32; sceKernelChangeThreadPriority(thid: SceUid, priority: i32) -> i322943 pub fn sceKernelChangeThreadPriority(thid: SceUid, priority: i32) -> i32; sceKernelRotateThreadReadyQueue(priority: i32) -> i322944 pub fn sceKernelRotateThreadReadyQueue(priority: i32) -> i32; sceKernelReleaseWaitThread(thid: SceUid) -> i322945 pub fn sceKernelReleaseWaitThread(thid: SceUid) -> i32; sceKernelGetThreadId() -> i322946 pub fn sceKernelGetThreadId() -> i32; sceKernelGetThreadCurrentPriority() -> i322947 pub fn sceKernelGetThreadCurrentPriority() -> i32; sceKernelGetThreadExitStatus(thid: SceUid) -> i322948 pub fn sceKernelGetThreadExitStatus(thid: SceUid) -> i32; sceKernelCheckThreadStack() -> i322949 pub fn sceKernelCheckThreadStack() -> i32; sceKernelGetThreadStackFreeSize(thid: SceUid) -> i322950 pub fn sceKernelGetThreadStackFreeSize(thid: SceUid) -> i32; sceKernelReferThreadStatus(thid: SceUid, info: *mut SceKernelThreadInfo) -> i322951 pub fn sceKernelReferThreadStatus(thid: SceUid, info: *mut SceKernelThreadInfo) -> i32; sceKernelReferThreadRunStatus( thid: SceUid, status: *mut SceKernelThreadRunStatus, ) -> i322952 pub fn sceKernelReferThreadRunStatus( 2953 thid: SceUid, 2954 status: *mut SceKernelThreadRunStatus, 2955 ) -> i32; sceKernelCreateSema( name: *const u8, attr: u32, init_val: i32, max_val: i32, option: *mut SceKernelSemaOptParam, ) -> SceUid2956 pub fn sceKernelCreateSema( 2957 name: *const u8, 2958 attr: u32, 2959 init_val: i32, 2960 max_val: i32, 2961 option: *mut SceKernelSemaOptParam, 2962 ) -> SceUid; sceKernelDeleteSema(sema_id: SceUid) -> i322963 pub fn sceKernelDeleteSema(sema_id: SceUid) -> i32; sceKernelSignalSema(sema_id: SceUid, signal: i32) -> i322964 pub fn sceKernelSignalSema(sema_id: SceUid, signal: i32) -> i32; sceKernelWaitSema(sema_id: SceUid, signal: i32, timeout: *mut u32) -> i322965 pub fn sceKernelWaitSema(sema_id: SceUid, signal: i32, timeout: *mut u32) -> i32; sceKernelWaitSemaCB(sema_id: SceUid, signal: i32, timeout: *mut u32) -> i322966 pub fn sceKernelWaitSemaCB(sema_id: SceUid, signal: i32, timeout: *mut u32) -> i32; sceKernelPollSema(sema_id: SceUid, signal: i32) -> i322967 pub fn sceKernelPollSema(sema_id: SceUid, signal: i32) -> i32; sceKernelReferSemaStatus(sema_id: SceUid, info: *mut SceKernelSemaInfo) -> i322968 pub fn sceKernelReferSemaStatus(sema_id: SceUid, info: *mut SceKernelSemaInfo) -> i32; sceKernelCreateEventFlag( name: *const u8, attr: i32, bits: i32, opt: *mut SceKernelEventFlagOptParam, ) -> SceUid2969 pub fn sceKernelCreateEventFlag( 2970 name: *const u8, 2971 attr: i32, 2972 bits: i32, 2973 opt: *mut SceKernelEventFlagOptParam, 2974 ) -> SceUid; sceKernelSetEventFlag(ev_id: SceUid, bits: u32) -> i322975 pub fn sceKernelSetEventFlag(ev_id: SceUid, bits: u32) -> i32; sceKernelClearEventFlag(ev_id: SceUid, bits: u32) -> i322976 pub fn sceKernelClearEventFlag(ev_id: SceUid, bits: u32) -> i32; sceKernelPollEventFlag(ev_id: SceUid, bits: u32, wait: i32, out_bits: *mut u32) -> i322977 pub fn sceKernelPollEventFlag(ev_id: SceUid, bits: u32, wait: i32, out_bits: *mut u32) -> i32; sceKernelWaitEventFlag( ev_id: SceUid, bits: u32, wait: i32, out_bits: *mut u32, timeout: *mut u32, ) -> i322978 pub fn sceKernelWaitEventFlag( 2979 ev_id: SceUid, 2980 bits: u32, 2981 wait: i32, 2982 out_bits: *mut u32, 2983 timeout: *mut u32, 2984 ) -> i32; sceKernelWaitEventFlagCB( ev_id: SceUid, bits: u32, wait: i32, out_bits: *mut u32, timeout: *mut u32, ) -> i322985 pub fn sceKernelWaitEventFlagCB( 2986 ev_id: SceUid, 2987 bits: u32, 2988 wait: i32, 2989 out_bits: *mut u32, 2990 timeout: *mut u32, 2991 ) -> i32; sceKernelDeleteEventFlag(ev_id: SceUid) -> i322992 pub fn sceKernelDeleteEventFlag(ev_id: SceUid) -> i32; sceKernelReferEventFlagStatus(event: SceUid, status: *mut SceKernelEventFlagInfo) -> i322993 pub fn sceKernelReferEventFlagStatus(event: SceUid, status: *mut SceKernelEventFlagInfo) 2994 -> i32; sceKernelCreateMbx( name: *const u8, attr: u32, option: *mut SceKernelMbxOptParam, ) -> SceUid2995 pub fn sceKernelCreateMbx( 2996 name: *const u8, 2997 attr: u32, 2998 option: *mut SceKernelMbxOptParam, 2999 ) -> SceUid; sceKernelDeleteMbx(mbx_id: SceUid) -> i323000 pub fn sceKernelDeleteMbx(mbx_id: SceUid) -> i32; sceKernelSendMbx(mbx_id: SceUid, message: *mut c_void) -> i323001 pub fn sceKernelSendMbx(mbx_id: SceUid, message: *mut c_void) -> i32; sceKernelReceiveMbx(mbx_id: SceUid, message: *mut *mut c_void, timeout: *mut u32) -> i323002 pub fn sceKernelReceiveMbx(mbx_id: SceUid, message: *mut *mut c_void, timeout: *mut u32) 3003 -> i32; sceKernelReceiveMbxCB( mbx_id: SceUid, message: *mut *mut c_void, timeout: *mut u32, ) -> i323004 pub fn sceKernelReceiveMbxCB( 3005 mbx_id: SceUid, 3006 message: *mut *mut c_void, 3007 timeout: *mut u32, 3008 ) -> i32; sceKernelPollMbx(mbx_id: SceUid, pmessage: *mut *mut c_void) -> i323009 pub fn sceKernelPollMbx(mbx_id: SceUid, pmessage: *mut *mut c_void) -> i32; sceKernelCancelReceiveMbx(mbx_id: SceUid, num: *mut i32) -> i323010 pub fn sceKernelCancelReceiveMbx(mbx_id: SceUid, num: *mut i32) -> i32; sceKernelReferMbxStatus(mbx_id: SceUid, info: *mut SceKernelMbxInfo) -> i323011 pub fn sceKernelReferMbxStatus(mbx_id: SceUid, info: *mut SceKernelMbxInfo) -> i32; sceKernelSetAlarm( clock: u32, handler: SceKernelAlarmHandler, common: *mut c_void, ) -> SceUid3012 pub fn sceKernelSetAlarm( 3013 clock: u32, 3014 handler: SceKernelAlarmHandler, 3015 common: *mut c_void, 3016 ) -> SceUid; sceKernelSetSysClockAlarm( clock: *mut SceKernelSysClock, handler: *mut SceKernelAlarmHandler, common: *mut c_void, ) -> SceUid3017 pub fn sceKernelSetSysClockAlarm( 3018 clock: *mut SceKernelSysClock, 3019 handler: *mut SceKernelAlarmHandler, 3020 common: *mut c_void, 3021 ) -> SceUid; sceKernelCancelAlarm(alarm_id: SceUid) -> i323022 pub fn sceKernelCancelAlarm(alarm_id: SceUid) -> i32; sceKernelReferAlarmStatus(alarm_id: SceUid, info: *mut SceKernelAlarmInfo) -> i323023 pub fn sceKernelReferAlarmStatus(alarm_id: SceUid, info: *mut SceKernelAlarmInfo) -> i32; sceKernelCreateCallback( name: *const u8, func: SceKernelCallbackFunction, arg: *mut c_void, ) -> SceUid3024 pub fn sceKernelCreateCallback( 3025 name: *const u8, 3026 func: SceKernelCallbackFunction, 3027 arg: *mut c_void, 3028 ) -> SceUid; sceKernelReferCallbackStatus(cb: SceUid, status: *mut SceKernelCallbackInfo) -> i323029 pub fn sceKernelReferCallbackStatus(cb: SceUid, status: *mut SceKernelCallbackInfo) -> i32; sceKernelDeleteCallback(cb: SceUid) -> i323030 pub fn sceKernelDeleteCallback(cb: SceUid) -> i32; sceKernelNotifyCallback(cb: SceUid, arg2: i32) -> i323031 pub fn sceKernelNotifyCallback(cb: SceUid, arg2: i32) -> i32; sceKernelCancelCallback(cb: SceUid) -> i323032 pub fn sceKernelCancelCallback(cb: SceUid) -> i32; sceKernelGetCallbackCount(cb: SceUid) -> i323033 pub fn sceKernelGetCallbackCount(cb: SceUid) -> i32; sceKernelCheckCallback() -> i323034 pub fn sceKernelCheckCallback() -> i32; sceKernelGetThreadmanIdList( type_: SceKernelIdListType, read_buf: *mut SceUid, read_buf_size: i32, id_count: *mut i32, ) -> i323035 pub fn sceKernelGetThreadmanIdList( 3036 type_: SceKernelIdListType, 3037 read_buf: *mut SceUid, 3038 read_buf_size: i32, 3039 id_count: *mut i32, 3040 ) -> i32; sceKernelReferSystemStatus(status: *mut SceKernelSystemStatus) -> i323041 pub fn sceKernelReferSystemStatus(status: *mut SceKernelSystemStatus) -> i32; sceKernelCreateMsgPipe( name: *const u8, part: i32, attr: i32, unk1: *mut c_void, opt: *mut c_void, ) -> SceUid3042 pub fn sceKernelCreateMsgPipe( 3043 name: *const u8, 3044 part: i32, 3045 attr: i32, 3046 unk1: *mut c_void, 3047 opt: *mut c_void, 3048 ) -> SceUid; sceKernelDeleteMsgPipe(uid: SceUid) -> i323049 pub fn sceKernelDeleteMsgPipe(uid: SceUid) -> i32; sceKernelSendMsgPipe( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, timeout: *mut u32, ) -> i323050 pub fn sceKernelSendMsgPipe( 3051 uid: SceUid, 3052 message: *mut c_void, 3053 size: u32, 3054 unk1: i32, 3055 unk2: *mut c_void, 3056 timeout: *mut u32, 3057 ) -> i32; sceKernelSendMsgPipeCB( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, timeout: *mut u32, ) -> i323058 pub fn sceKernelSendMsgPipeCB( 3059 uid: SceUid, 3060 message: *mut c_void, 3061 size: u32, 3062 unk1: i32, 3063 unk2: *mut c_void, 3064 timeout: *mut u32, 3065 ) -> i32; sceKernelTrySendMsgPipe( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, ) -> i323066 pub fn sceKernelTrySendMsgPipe( 3067 uid: SceUid, 3068 message: *mut c_void, 3069 size: u32, 3070 unk1: i32, 3071 unk2: *mut c_void, 3072 ) -> i32; sceKernelReceiveMsgPipe( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, timeout: *mut u32, ) -> i323073 pub fn sceKernelReceiveMsgPipe( 3074 uid: SceUid, 3075 message: *mut c_void, 3076 size: u32, 3077 unk1: i32, 3078 unk2: *mut c_void, 3079 timeout: *mut u32, 3080 ) -> i32; sceKernelReceiveMsgPipeCB( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, timeout: *mut u32, ) -> i323081 pub fn sceKernelReceiveMsgPipeCB( 3082 uid: SceUid, 3083 message: *mut c_void, 3084 size: u32, 3085 unk1: i32, 3086 unk2: *mut c_void, 3087 timeout: *mut u32, 3088 ) -> i32; sceKernelTryReceiveMsgPipe( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, ) -> i323089 pub fn sceKernelTryReceiveMsgPipe( 3090 uid: SceUid, 3091 message: *mut c_void, 3092 size: u32, 3093 unk1: i32, 3094 unk2: *mut c_void, 3095 ) -> i32; sceKernelCancelMsgPipe(uid: SceUid, send: *mut i32, recv: *mut i32) -> i323096 pub fn sceKernelCancelMsgPipe(uid: SceUid, send: *mut i32, recv: *mut i32) -> i32; sceKernelReferMsgPipeStatus(uid: SceUid, info: *mut SceKernelMppInfo) -> i323097 pub fn sceKernelReferMsgPipeStatus(uid: SceUid, info: *mut SceKernelMppInfo) -> i32; sceKernelCreateVpl( name: *const u8, part: i32, attr: i32, size: u32, opt: *mut SceKernelVplOptParam, ) -> SceUid3098 pub fn sceKernelCreateVpl( 3099 name: *const u8, 3100 part: i32, 3101 attr: i32, 3102 size: u32, 3103 opt: *mut SceKernelVplOptParam, 3104 ) -> SceUid; sceKernelDeleteVpl(uid: SceUid) -> i323105 pub fn sceKernelDeleteVpl(uid: SceUid) -> i32; sceKernelAllocateVpl( uid: SceUid, size: u32, data: *mut *mut c_void, timeout: *mut u32, ) -> i323106 pub fn sceKernelAllocateVpl( 3107 uid: SceUid, 3108 size: u32, 3109 data: *mut *mut c_void, 3110 timeout: *mut u32, 3111 ) -> i32; sceKernelAllocateVplCB( uid: SceUid, size: u32, data: *mut *mut c_void, timeout: *mut u32, ) -> i323112 pub fn sceKernelAllocateVplCB( 3113 uid: SceUid, 3114 size: u32, 3115 data: *mut *mut c_void, 3116 timeout: *mut u32, 3117 ) -> i32; sceKernelTryAllocateVpl(uid: SceUid, size: u32, data: *mut *mut c_void) -> i323118 pub fn sceKernelTryAllocateVpl(uid: SceUid, size: u32, data: *mut *mut c_void) -> i32; sceKernelFreeVpl(uid: SceUid, data: *mut c_void) -> i323119 pub fn sceKernelFreeVpl(uid: SceUid, data: *mut c_void) -> i32; sceKernelCancelVpl(uid: SceUid, num: *mut i32) -> i323120 pub fn sceKernelCancelVpl(uid: SceUid, num: *mut i32) -> i32; sceKernelReferVplStatus(uid: SceUid, info: *mut SceKernelVplInfo) -> i323121 pub fn sceKernelReferVplStatus(uid: SceUid, info: *mut SceKernelVplInfo) -> i32; sceKernelCreateFpl( name: *const u8, part: i32, attr: i32, size: u32, blocks: u32, opt: *mut SceKernelFplOptParam, ) -> i323122 pub fn sceKernelCreateFpl( 3123 name: *const u8, 3124 part: i32, 3125 attr: i32, 3126 size: u32, 3127 blocks: u32, 3128 opt: *mut SceKernelFplOptParam, 3129 ) -> i32; sceKernelDeleteFpl(uid: SceUid) -> i323130 pub fn sceKernelDeleteFpl(uid: SceUid) -> i32; sceKernelAllocateFpl(uid: SceUid, data: *mut *mut c_void, timeout: *mut u32) -> i323131 pub fn sceKernelAllocateFpl(uid: SceUid, data: *mut *mut c_void, timeout: *mut u32) -> i32; sceKernelAllocateFplCB(uid: SceUid, data: *mut *mut c_void, timeout: *mut u32) -> i323132 pub fn sceKernelAllocateFplCB(uid: SceUid, data: *mut *mut c_void, timeout: *mut u32) -> i32; sceKernelTryAllocateFpl(uid: SceUid, data: *mut *mut c_void) -> i323133 pub fn sceKernelTryAllocateFpl(uid: SceUid, data: *mut *mut c_void) -> i32; sceKernelFreeFpl(uid: SceUid, data: *mut c_void) -> i323134 pub fn sceKernelFreeFpl(uid: SceUid, data: *mut c_void) -> i32; sceKernelCancelFpl(uid: SceUid, pnum: *mut i32) -> i323135 pub fn sceKernelCancelFpl(uid: SceUid, pnum: *mut i32) -> i32; sceKernelReferFplStatus(uid: SceUid, info: *mut SceKernelFplInfo) -> i323136 pub fn sceKernelReferFplStatus(uid: SceUid, info: *mut SceKernelFplInfo) -> i32; sceKernelUSec2SysClock(usec: u32, clock: *mut SceKernelSysClock) -> i323137 pub fn sceKernelUSec2SysClock(usec: u32, clock: *mut SceKernelSysClock) -> i32; sceKernelUSec2SysClockWide(usec: u32) -> i643138 pub fn sceKernelUSec2SysClockWide(usec: u32) -> i64; sceKernelSysClock2USec( clock: *mut SceKernelSysClock, low: *mut u32, high: *mut u32, ) -> i323139 pub fn sceKernelSysClock2USec( 3140 clock: *mut SceKernelSysClock, 3141 low: *mut u32, 3142 high: *mut u32, 3143 ) -> i32; sceKernelSysClock2USecWide(clock: i64, low: *mut u32, high: *mut u32) -> i323144 pub fn sceKernelSysClock2USecWide(clock: i64, low: *mut u32, high: *mut u32) -> i32; sceKernelGetSystemTime(time: *mut SceKernelSysClock) -> i323145 pub fn sceKernelGetSystemTime(time: *mut SceKernelSysClock) -> i32; sceKernelGetSystemTimeWide() -> i643146 pub fn sceKernelGetSystemTimeWide() -> i64; sceKernelGetSystemTimeLow() -> u323147 pub fn sceKernelGetSystemTimeLow() -> u32; sceKernelCreateVTimer(name: *const u8, opt: *mut SceKernelVTimerOptParam) -> SceUid3148 pub fn sceKernelCreateVTimer(name: *const u8, opt: *mut SceKernelVTimerOptParam) -> SceUid; sceKernelDeleteVTimer(uid: SceUid) -> i323149 pub fn sceKernelDeleteVTimer(uid: SceUid) -> i32; sceKernelGetVTimerBase(uid: SceUid, base: *mut SceKernelSysClock) -> i323150 pub fn sceKernelGetVTimerBase(uid: SceUid, base: *mut SceKernelSysClock) -> i32; sceKernelGetVTimerBaseWide(uid: SceUid) -> i643151 pub fn sceKernelGetVTimerBaseWide(uid: SceUid) -> i64; sceKernelGetVTimerTime(uid: SceUid, time: *mut SceKernelSysClock) -> i323152 pub fn sceKernelGetVTimerTime(uid: SceUid, time: *mut SceKernelSysClock) -> i32; sceKernelGetVTimerTimeWide(uid: SceUid) -> i643153 pub fn sceKernelGetVTimerTimeWide(uid: SceUid) -> i64; sceKernelSetVTimerTime(uid: SceUid, time: *mut SceKernelSysClock) -> i323154 pub fn sceKernelSetVTimerTime(uid: SceUid, time: *mut SceKernelSysClock) -> i32; sceKernelSetVTimerTimeWide(uid: SceUid, time: i64) -> i643155 pub fn sceKernelSetVTimerTimeWide(uid: SceUid, time: i64) -> i64; sceKernelStartVTimer(uid: SceUid) -> i323156 pub fn sceKernelStartVTimer(uid: SceUid) -> i32; sceKernelStopVTimer(uid: SceUid) -> i323157