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