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 1419 s! { 1420 pub struct sockaddr { 1421 pub sa_len: u8, 1422 pub sa_family: u8, 1423 pub sa_data: [u8;14], 1424 } 1425 1426 pub struct in_addr { 1427 pub s_addr: u32, 1428 } 1429 1430 pub struct AudioInputParams { 1431 pub unknown1: i32, 1432 pub gain: i32, 1433 pub unknown2: i32, 1434 pub unknown3: i32, 1435 pub unknown4: i32, 1436 pub unknown5: i32, 1437 } 1438 1439 pub struct Atrac3BufferInfo { 1440 pub puc_write_position_first_buf: *mut u8, 1441 pub ui_writable_byte_first_buf: u32, 1442 pub ui_min_write_byte_first_buf: u32, 1443 pub ui_read_position_first_buf: u32, 1444 pub puc_write_position_second_buf: *mut u8, 1445 pub ui_writable_byte_second_buf: u32, 1446 pub ui_min_write_byte_second_buf: u32, 1447 pub ui_read_position_second_buf: u32, 1448 } 1449 1450 pub struct SceCtrlData { 1451 pub timestamp: u32, 1452 pub buttons: i32, 1453 pub lx: u8, 1454 pub ly: u8, 1455 pub rsrv: [u8; 6], 1456 } 1457 1458 pub struct SceCtrlLatch { 1459 pub ui_make: u32, 1460 pub ui_break: u32, 1461 pub ui_press: u32, 1462 pub ui_release: u32, 1463 } 1464 1465 pub struct GeStack { 1466 pub stack: [u32; 8], 1467 } 1468 1469 pub struct GeCallbackData { 1470 pub signal_func: ::Option<extern "C" fn(id: i32, arg: *mut c_void)>, 1471 pub signal_arg: *mut c_void, 1472 pub finish_func: ::Option<extern "C" fn(id: i32, arg: *mut c_void)>, 1473 pub finish_arg: *mut c_void, 1474 } 1475 1476 pub struct GeListArgs { 1477 pub size: u32, 1478 pub context: *mut GeContext, 1479 pub num_stacks: u32, 1480 pub stacks: *mut GeStack, 1481 } 1482 1483 pub struct GeBreakParam { 1484 pub buf: [u32; 4], 1485 } 1486 1487 pub struct SceKernelLoadExecParam { 1488 pub size: usize, 1489 pub args: usize, 1490 pub argp: *mut c_void, 1491 pub key: *const u8, 1492 } 1493 1494 pub struct timeval { 1495 pub tv_sec: i32, 1496 pub tv_usec: i32, 1497 } 1498 1499 pub struct timezone { 1500 pub tz_minutes_west: i32, 1501 pub tz_dst_time: i32, 1502 } 1503 1504 pub struct IntrHandlerOptionParam { 1505 size: i32, 1506 entry: u32, 1507 common: u32, 1508 gp: u32, 1509 intr_code: u16, 1510 sub_count: u16, 1511 intr_level: u16, 1512 enabled: u16, 1513 calls: u32, 1514 field_1c: u32, 1515 total_clock_lo: u32, 1516 total_clock_hi: u32, 1517 min_clock_lo: u32, 1518 min_clock_hi: u32, 1519 max_clock_lo: u32, 1520 max_clock_hi: u32, 1521 } 1522 1523 pub struct SceKernelLMOption { 1524 pub size: usize, 1525 pub m_pid_text: SceUid, 1526 pub m_pid_data: SceUid, 1527 pub flags: u32, 1528 pub position: u8, 1529 pub access: u8, 1530 pub c_reserved: [u8; 2usize], 1531 } 1532 1533 pub struct SceKernelSMOption { 1534 pub size: usize, 1535 pub m_pid_stack: SceUid, 1536 pub stack_size: usize, 1537 pub priority: i32, 1538 pub attribute: u32, 1539 } 1540 1541 pub struct SceKernelModuleInfo { 1542 pub size: usize, 1543 pub n_segment: u8, 1544 pub reserved: [u8; 3usize], 1545 pub segment_addr: [i32; 4usize], 1546 pub segment_size: [i32; 4usize], 1547 pub entry_addr: u32, 1548 pub gp_value: u32, 1549 pub text_addr: u32, 1550 pub text_size: u32, 1551 pub data_size: u32, 1552 pub bss_size: u32, 1553 pub attribute: u16, 1554 pub version: [u8; 2usize], 1555 pub name: [u8; 28usize], 1556 } 1557 1558 pub struct DebugProfilerRegs { 1559 pub enable: u32, 1560 pub systemck: u32, 1561 pub cpuck: u32, 1562 pub internal: u32, 1563 pub memory: u32, 1564 pub copz: u32, 1565 pub vfpu: u32, 1566 pub sleep: u32, 1567 pub bus_access: u32, 1568 pub uncached_load: u32, 1569 pub uncached_store: u32, 1570 pub cached_load: u32, 1571 pub cached_store: u32, 1572 pub i_miss: u32, 1573 pub d_miss: u32, 1574 pub d_writeback: u32, 1575 pub cop0_inst: u32, 1576 pub fpu_inst: u32, 1577 pub vfpu_inst: u32, 1578 pub local_bus: u32, 1579 } 1580 1581 pub struct SceKernelSysClock { 1582 pub low: u32, 1583 pub hi: u32, 1584 } 1585 1586 pub struct SceKernelThreadOptParam { 1587 pub size: usize, 1588 pub stack_mpid: SceUid, 1589 } 1590 1591 pub struct SceKernelThreadInfo { 1592 pub size: usize, 1593 pub name: [u8; 32], 1594 pub attr: u32, 1595 pub status: i32, 1596 pub entry: SceKernelThreadEntry, 1597 pub stack: *mut c_void, 1598 pub stack_size: i32, 1599 pub gp_reg: *mut c_void, 1600 pub init_priority: i32, 1601 pub current_priority: i32, 1602 pub wait_type: i32, 1603 pub wait_id: SceUid, 1604 pub wakeup_count: i32, 1605 pub exit_status: i32, 1606 pub run_clocks: SceKernelSysClock, 1607 pub intr_preempt_count: u32, 1608 pub thread_preempt_count: u32, 1609 pub release_count: u32, 1610 } 1611 1612 pub struct SceKernelThreadRunStatus { 1613 pub size: usize, 1614 pub status: i32, 1615 pub current_priority: i32, 1616 pub wait_type: i32, 1617 pub wait_id: i32, 1618 pub wakeup_count: i32, 1619 pub run_clocks: SceKernelSysClock, 1620 pub intr_preempt_count: u32, 1621 pub thread_preempt_count: u32, 1622 pub release_count: u32, 1623 } 1624 1625 pub struct SceKernelSemaOptParam { 1626 pub size: usize, 1627 } 1628 1629 pub struct SceKernelSemaInfo { 1630 pub size: usize, 1631 pub name: [u8; 32], 1632 pub attr: u32, 1633 pub init_count: i32, 1634 pub current_count: i32, 1635 pub max_count: i32, 1636 pub num_wait_threads: i32, 1637 } 1638 1639 pub struct SceKernelEventFlagInfo { 1640 pub size: usize, 1641 pub name: [u8; 32], 1642 pub attr: u32, 1643 pub init_pattern: u32, 1644 pub current_pattern: u32, 1645 pub num_wait_threads: i32, 1646 } 1647 1648 pub struct SceKernelEventFlagOptParam { 1649 pub size: usize, 1650 } 1651 1652 pub struct SceKernelMbxOptParam { 1653 pub size: usize, 1654 } 1655 1656 pub struct SceKernelMbxInfo { 1657 pub size: usize, 1658 pub name: [u8; 32usize], 1659 pub attr: u32, 1660 pub num_wait_threads: i32, 1661 pub num_messages: i32, 1662 pub first_message: *mut c_void, 1663 } 1664 1665 pub struct SceKernelVTimerInfo { 1666 pub size: usize, 1667 pub name: [u8; 32], 1668 pub active: i32, 1669 pub base: SceKernelSysClock, 1670 pub current: SceKernelSysClock, 1671 pub schedule: SceKernelSysClock, 1672 pub handler: SceKernelVTimerHandler, 1673 pub common: *mut c_void, 1674 } 1675 1676 pub struct SceKernelThreadEventHandlerInfo { 1677 pub size: usize, 1678 pub name: [u8; 32], 1679 pub thread_id: SceUid, 1680 pub mask: i32, 1681 pub handler: SceKernelThreadEventHandler, 1682 pub common: *mut c_void, 1683 } 1684 1685 pub struct SceKernelAlarmInfo { 1686 pub size: usize, 1687 pub schedule: SceKernelSysClock, 1688 pub handler: SceKernelAlarmHandler, 1689 pub common: *mut c_void, 1690 } 1691 1692 pub struct SceKernelSystemStatus { 1693 pub size: usize, 1694 pub status: u32, 1695 pub idle_clocks: SceKernelSysClock, 1696 pub comes_out_of_idle_count: u32, 1697 pub thread_switch_count: u32, 1698 pub vfpu_switch_count: u32, 1699 } 1700 1701 pub struct SceKernelMppInfo { 1702 pub size: usize, 1703 pub name: [u8; 32], 1704 pub attr: u32, 1705 pub buf_size: i32, 1706 pub free_size: i32, 1707 pub num_send_wait_threads: i32, 1708 pub num_receive_wait_threads: i32, 1709 } 1710 1711 pub struct SceKernelVplOptParam { 1712 pub size: usize, 1713 } 1714 1715 pub struct SceKernelVplInfo { 1716 pub size: usize, 1717 pub name: [u8; 32], 1718 pub attr: u32, 1719 pub pool_size: i32, 1720 pub free_size: i32, 1721 pub num_wait_threads: i32, 1722 } 1723 1724 pub struct SceKernelFplOptParam { 1725 pub size: usize, 1726 } 1727 1728 pub struct SceKernelFplInfo { 1729 pub size: usize, 1730 pub name: [u8; 32usize], 1731 pub attr: u32, 1732 pub block_size: i32, 1733 pub num_blocks: i32, 1734 pub free_blocks: i32, 1735 pub num_wait_threads: i32, 1736 } 1737 1738 pub struct SceKernelVTimerOptParam { 1739 pub size: usize, 1740 } 1741 1742 pub struct SceKernelCallbackInfo { 1743 pub size: usize, 1744 pub name: [u8; 32usize], 1745 pub thread_id: SceUid, 1746 pub callback: SceKernelCallbackFunction, 1747 pub common: *mut c_void, 1748 pub notify_count: i32, 1749 pub notify_arg: i32, 1750 } 1751 1752 pub struct UsbCamSetupStillParam { 1753 pub size: i32, 1754 pub resolution: UsbCamResolution, 1755 pub jpeg_size: i32, 1756 pub reverse_flags: i32, 1757 pub delay: UsbCamDelay, 1758 pub comp_level: i32, 1759 } 1760 1761 pub struct UsbCamSetupStillExParam { 1762 pub size: i32, 1763 pub unk: u32, 1764 pub resolution: UsbCamResolutionEx, 1765 pub jpeg_size: i32, 1766 pub comp_level: i32, 1767 pub unk2: u32, 1768 pub unk3: u32, 1769 pub flip: i32, 1770 pub mirror: i32, 1771 pub delay: UsbCamDelay, 1772 pub unk4: [u32; 5usize], 1773 } 1774 1775 pub struct UsbCamSetupVideoParam { 1776 pub size: i32, 1777 pub resolution: UsbCamResolution, 1778 pub framerate: UsbCamFrameRate, 1779 pub white_balance: UsbCamWb, 1780 pub saturation: i32, 1781 pub brightness: i32, 1782 pub contrast: i32, 1783 pub sharpness: i32, 1784 pub effect_mode: UsbCamEffectMode, 1785 pub frame_size: i32, 1786 pub unk: u32, 1787 pub evl_evel: UsbCamEvLevel, 1788 } 1789 1790 pub struct UsbCamSetupVideoExParam { 1791 pub size: i32, 1792 pub unk: u32, 1793 pub resolution: UsbCamResolutionEx, 1794 pub framerate: UsbCamFrameRate, 1795 pub unk2: u32, 1796 pub unk3: u32, 1797 pub white_balance: UsbCamWb, 1798 pub saturation: i32, 1799 pub brightness: i32, 1800 pub contrast: i32, 1801 pub sharpness: i32, 1802 pub unk4: u32, 1803 pub unk5: u32, 1804 pub unk6: [u32; 3usize], 1805 pub effect_mode: UsbCamEffectMode, 1806 pub unk7: u32, 1807 pub unk8: u32, 1808 pub unk9: u32, 1809 pub unk10: u32, 1810 pub unk11: u32, 1811 pub frame_size: i32, 1812 pub unk12: u32, 1813 pub ev_level: UsbCamEvLevel, 1814 } 1815 1816 pub struct ScePspDateTime { 1817 pub year: u16, 1818 pub month: u16, 1819 pub day: u16, 1820 pub hour: u16, 1821 pub minutes: u16, 1822 pub seconds: u16, 1823 pub microseconds: u32, 1824 } 1825 1826 pub struct SceIoStat { 1827 pub st_mode: i32, 1828 pub st_attr: i32, 1829 pub st_size: i64, 1830 pub st_ctime: ScePspDateTime, 1831 pub st_atime: ScePspDateTime, 1832 pub st_mtime: ScePspDateTime, 1833 pub st_private: [u32; 6usize], 1834 } 1835 1836 pub struct UmdInfo { 1837 pub size: u32, 1838 pub type_: UmdType, 1839 } 1840 1841 pub struct SceMpegRingbuffer { 1842 pub packets: i32, 1843 pub unk0: u32, 1844 pub unk1: u32, 1845 pub unk2: u32, 1846 pub unk3: u32, 1847 pub data: *mut c_void, 1848 pub callback: SceMpegRingbufferCb, 1849 pub cb_param: *mut c_void, 1850 pub unk4: u32, 1851 pub unk5: u32, 1852 pub sce_mpeg: *mut c_void, 1853 } 1854 1855 pub struct SceMpegAu { 1856 pub pts_msb: u32, 1857 pub pts: u32, 1858 pub dts_msb: u32, 1859 pub dts: u32, 1860 pub es_buffer: u32, 1861 pub au_size: u32, 1862 } 1863 1864 pub struct SceMpegAvcMode { 1865 pub unk0: i32, 1866 pub pixel_format: super::DisplayPixelFormat, 1867 } 1868 1869 #[repr(align(64))] 1870 pub struct SceMpegLLI { 1871 pub src: *mut c_void, 1872 pub dst: *mut c_void, 1873 pub next: *mut c_void, 1874 pub size: i32, 1875 } 1876 1877 #[repr(align(64))] 1878 pub struct SceMpegYCrCbBuffer { 1879 pub frame_buffer_height16: i32, 1880 pub frame_buffer_width16: i32, 1881 pub unknown: i32, 1882 pub unknown2: i32, 1883 pub y_buffer: *mut c_void, 1884 pub y_buffer2: *mut c_void, 1885 pub cr_buffer: *mut c_void, 1886 pub cb_buffer: *mut c_void, 1887 pub cr_buffer2: *mut c_void, 1888 pub cb_buffer2: *mut c_void, 1889 1890 pub frame_height: i32, 1891 pub frame_width: i32, 1892 pub frame_buffer_width: i32, 1893 pub unknown3: [i32; 11usize], 1894 } 1895 1896 pub struct ScePspSRect { 1897 pub x: i16, 1898 pub y: i16, 1899 pub w: i16, 1900 pub h: i16, 1901 } 1902 1903 pub struct ScePspIRect { 1904 pub x: i32, 1905 pub y: i32, 1906 pub w: i32, 1907 pub h: i32, 1908 } 1909 1910 pub struct ScePspL64Rect { 1911 pub x: u64, 1912 pub y: u64, 1913 pub w: u64, 1914 pub h: u64, 1915 } 1916 1917 pub struct ScePspSVector2 { 1918 pub x: i16, 1919 pub y: i16, 1920 } 1921 1922 pub struct ScePspIVector2 { 1923 pub x: i32, 1924 pub y: i32, 1925 } 1926 1927 pub struct ScePspL64Vector2 { 1928 pub x: u64, 1929 pub y: u64, 1930 } 1931 1932 pub struct ScePspSVector3 { 1933 pub x: i16, 1934 pub y: i16, 1935 pub z: i16, 1936 } 1937 1938 pub struct ScePspIVector3 { 1939 pub x: i32, 1940 pub y: i32, 1941 pub z: i32, 1942 } 1943 1944 pub struct ScePspL64Vector3 { 1945 pub x: u64, 1946 pub y: u64, 1947 pub z: u64, 1948 } 1949 1950 pub struct ScePspSVector4 { 1951 pub x: i16, 1952 pub y: i16, 1953 pub z: i16, 1954 pub w: i16, 1955 } 1956 1957 pub struct ScePspIVector4 { 1958 pub x: i32, 1959 pub y: i32, 1960 pub z: i32, 1961 pub w: i32, 1962 } 1963 1964 pub struct ScePspL64Vector4 { 1965 pub x: u64, 1966 pub y: u64, 1967 pub z: u64, 1968 pub w: u64, 1969 } 1970 1971 pub struct ScePspIMatrix2 { 1972 pub x: ScePspIVector2, 1973 pub y: ScePspIVector2, 1974 } 1975 1976 pub struct ScePspIMatrix3 { 1977 pub x: ScePspIVector3, 1978 pub y: ScePspIVector3, 1979 pub z: ScePspIVector3, 1980 } 1981 1982 #[repr(align(16))] 1983 pub struct ScePspIMatrix4 { 1984 pub x: ScePspIVector4, 1985 pub y: ScePspIVector4, 1986 pub z: ScePspIVector4, 1987 pub w: ScePspIVector4, 1988 } 1989 1990 pub struct ScePspIMatrix4Unaligned { 1991 pub x: ScePspIVector4, 1992 pub y: ScePspIVector4, 1993 pub z: ScePspIVector4, 1994 pub w: ScePspIVector4, 1995 } 1996 1997 pub struct SceMp3InitArg { 1998 pub mp3_stream_start: u32, 1999 pub unk1: u32, 2000 pub mp3_stream_end: u32, 2001 pub unk2: u32, 2002 pub mp3_buf: *mut c_void, 2003 pub mp3_buf_size: i32, 2004 pub pcm_buf: *mut c_void, 2005 pub pcm_buf_size: i32, 2006 } 2007 2008 pub struct OpenPSID { 2009 pub data: [u8; 16usize], 2010 } 2011 2012 pub struct UtilityDialogCommon { 2013 pub size: u32, 2014 pub language: SystemParamLanguage, 2015 pub button_accept: UtilityDialogButtonAccept, 2016 pub graphics_thread: i32, 2017 pub access_thread: i32, 2018 pub font_thread: i32, 2019 pub sound_thread: i32, 2020 pub result: i32, 2021 pub reserved: [i32; 4usize], 2022 } 2023 2024 pub struct UtilityNetconfAdhoc { 2025 pub name: [u8; 8usize], 2026 pub timeout: u32, 2027 } 2028 2029 pub struct UtilityNetconfData { 2030 pub base: UtilityDialogCommon, 2031 pub action: UtilityNetconfAction, 2032 pub adhocparam: *mut UtilityNetconfAdhoc, 2033 pub hotspot: i32, 2034 pub hotspot_connected: i32, 2035 pub wifisp: i32, 2036 } 2037 2038 pub struct UtilitySavedataFileData { 2039 pub buf: *mut c_void, 2040 pub buf_size: usize, 2041 pub size: usize, 2042 pub unknown: i32, 2043 } 2044 2045 pub struct UtilitySavedataListSaveNewData { 2046 pub icon0: UtilitySavedataFileData, 2047 pub title: *mut u8, 2048 } 2049 2050 pub struct UtilityGameSharingParams { 2051 pub base: UtilityDialogCommon, 2052 pub unknown1: i32, 2053 pub unknown2: i32, 2054 pub name: [u8; 8usize], 2055 pub unknown3: i32, 2056 pub unknown4: i32, 2057 pub unknown5: i32, 2058 pub result: i32, 2059 pub filepath: *mut u8, 2060 pub mode: UtilityGameSharingMode, 2061 pub datatype: UtilityGameSharingDataType, 2062 pub data: *mut c_void, 2063 pub datasize: u32, 2064 } 2065 2066 pub struct UtilityHtmlViewerParam { 2067 pub base: UtilityDialogCommon, 2068 pub memaddr: *mut c_void, 2069 pub memsize: u32, 2070 pub unknown1: i32, 2071 pub unknown2: i32, 2072 pub initialurl: *mut u8, 2073 pub numtabs: u32, 2074 pub interfacemode: UtilityHtmlViewerInterfaceMode, 2075 pub options: i32, 2076 pub dldirname: *mut u8, 2077 pub dlfilename: *mut u8, 2078 pub uldirname: *mut u8, 2079 pub ulfilename: *mut u8, 2080 pub cookiemode: UtilityHtmlViewerCookieMode, 2081 pub unknown3: u32, 2082 pub homeurl: *mut u8, 2083 pub textsize: UtilityHtmlViewerTextSize, 2084 pub displaymode: UtilityHtmlViewerDisplayMode, 2085 pub connectmode: UtilityHtmlViewerConnectMode, 2086 pub disconnectmode: UtilityHtmlViewerDisconnectMode, 2087 pub memused: u32, 2088 pub unknown4: [i32; 10usize], 2089 } 2090 2091 pub struct SceUtilityOskData { 2092 pub unk_00: i32, 2093 pub unk_04: i32, 2094 pub language: SceUtilityOskInputLanguage, 2095 pub unk_12: i32, 2096 pub inputtype: SceUtilityOskInputType, 2097 pub lines: i32, 2098 pub unk_24: i32, 2099 pub desc: *mut u16, 2100 pub intext: *mut u16, 2101 pub outtextlength: i32, 2102 pub outtext: *mut u16, 2103 pub result: SceUtilityOskResult, 2104 pub outtextlimit: i32, 2105 } 2106 2107 pub struct SceUtilityOskParams { 2108 pub base: UtilityDialogCommon, 2109 pub datacount: i32, 2110 pub data: *mut SceUtilityOskData, 2111 pub state: SceUtilityOskState, 2112 pub unk_60: i32, 2113 } 2114 2115 pub struct SceNetMallocStat { 2116 pub pool: i32, 2117 pub maximum: i32, 2118 pub free: i32, 2119 } 2120 2121 pub struct SceNetAdhocctlAdhocId { 2122 pub unknown: i32, 2123 pub adhoc_id: [u8; 9usize], 2124 pub unk: [u8; 3usize], 2125 } 2126 2127 pub struct SceNetAdhocctlScanInfo { 2128 pub next: *mut SceNetAdhocctlScanInfo, 2129 pub channel: i32, 2130 pub name: [u8; 8usize], 2131 pub bssid: [u8; 6usize], 2132 pub unknown: [u8; 2usize], 2133 pub unknown2: i32, 2134 } 2135 2136 pub struct SceNetAdhocctlGameModeInfo { 2137 pub count: i32, 2138 pub macs: [[u8; 6usize]; 16usize], 2139 } 2140 2141 pub struct SceNetAdhocPtpStat { 2142 pub next: *mut SceNetAdhocPtpStat, 2143 pub ptp_id: i32, 2144 pub mac: [u8; 6usize], 2145 pub peermac: [u8; 6usize], 2146 pub port: u16, 2147 pub peerport: u16, 2148 pub sent_data: u32, 2149 pub rcvd_data: u32, 2150 pub state: ScePspnetAdhocPtpState, 2151 } 2152 2153 pub struct SceNetAdhocPdpStat { 2154 pub next: *mut SceNetAdhocPdpStat, 2155 pub pdp_id: i32, 2156 pub mac: [u8; 6usize], 2157 pub port: u16, 2158 pub rcvd_data: u32, 2159 } 2160 2161 pub struct AdhocPoolStat { 2162 pub size: i32, 2163 pub maxsize: i32, 2164 pub freesize: i32, 2165 } 2166 } 2167 2168 s_no_extra_traits! { 2169 #[allow(missing_debug_implementations)] 2170 pub struct GeContext { 2171 pub context: [u32; 512], 2172 } 2173 2174 #[allow(missing_debug_implementations)] 2175 pub struct SceKernelUtilsSha1Context { 2176 pub h: [u32; 5usize], 2177 pub us_remains: u16, 2178 pub us_computed: u16, 2179 pub ull_total_len: u64, 2180 pub buf: [u8; 64usize], 2181 } 2182 2183 #[allow(missing_debug_implementations)] 2184 pub struct SceKernelUtilsMt19937Context { 2185 pub count: u32, 2186 pub state: [u32; 624usize], 2187 } 2188 2189 #[allow(missing_debug_implementations)] 2190 pub struct SceKernelUtilsMd5Context { 2191 pub h: [u32; 4usize], 2192 pub pad: u32, 2193 pub us_remains: u16, 2194 pub us_computed: u16, 2195 pub ull_total_len: u64, 2196 pub buf: [u8; 64usize], 2197 } 2198 2199 #[allow(missing_debug_implementations)] 2200 pub struct SceIoDirent { 2201 pub d_stat: SceIoStat, 2202 pub d_name: [u8; 256usize], 2203 pub d_private: *mut c_void, 2204 pub dummy: i32, 2205 } 2206 2207 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2208 pub struct ScePspFRect { 2209 pub x: f32, 2210 pub y: f32, 2211 pub w: f32, 2212 pub h: f32, 2213 } 2214 2215 #[repr(align(16))] 2216 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2217 pub struct ScePspFVector3 { 2218 pub x: f32, 2219 pub y: f32, 2220 pub z: f32, 2221 } 2222 2223 #[repr(align(16))] 2224 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2225 pub struct ScePspFVector4 { 2226 pub x: f32, 2227 pub y: f32, 2228 pub z: f32, 2229 pub w: f32, 2230 } 2231 2232 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2233 pub struct ScePspFVector4Unaligned { 2234 pub x: f32, 2235 pub y: f32, 2236 pub z: f32, 2237 pub w: f32, 2238 } 2239 2240 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2241 pub struct ScePspFVector2 { 2242 pub x: f32, 2243 pub y: f32, 2244 } 2245 2246 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2247 pub struct ScePspFMatrix2 { 2248 pub x: ScePspFVector2, 2249 pub y: ScePspFVector2, 2250 } 2251 2252 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2253 pub struct ScePspFMatrix3 { 2254 pub x: ScePspFVector3, 2255 pub y: ScePspFVector3, 2256 pub z: ScePspFVector3, 2257 } 2258 2259 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2260 #[repr(align(16))] 2261 pub struct ScePspFMatrix4 { 2262 pub x: ScePspFVector4, 2263 pub y: ScePspFVector4, 2264 pub z: ScePspFVector4, 2265 pub w: ScePspFVector4, 2266 } 2267 2268 #[allow(missing_debug_implementations)] 2269 pub struct ScePspFMatrix4Unaligned { 2270 pub x: ScePspFVector4, 2271 pub y: ScePspFVector4, 2272 pub z: ScePspFVector4, 2273 pub w: ScePspFVector4, 2274 } 2275 2276 #[allow(missing_debug_implementations)] 2277 pub union ScePspVector3 { 2278 pub fv: ScePspFVector3, 2279 pub iv: ScePspIVector3, 2280 pub f: [f32; 3usize], 2281 pub i: [i32; 3usize], 2282 } 2283 2284 #[allow(missing_debug_implementations)] 2285 pub union ScePspVector4 { 2286 pub fv: ScePspFVector4, 2287 pub iv: ScePspIVector4, 2288 pub qw: u128, 2289 pub f: [f32; 4usize], 2290 pub i: [i32; 4usize], 2291 } 2292 2293 #[allow(missing_debug_implementations)] 2294 pub union ScePspMatrix2 { 2295 pub fm: ScePspFMatrix2, 2296 pub im: ScePspIMatrix2, 2297 pub fv: [ScePspFVector2; 2usize], 2298 pub iv: [ScePspIVector2; 2usize], 2299 pub v: [ScePspVector2; 2usize], 2300 pub f: [[f32; 2usize]; 2usize], 2301 pub i: [[i32; 2usize]; 2usize], 2302 } 2303 2304 #[allow(missing_debug_implementations)] 2305 pub union ScePspMatrix3 { 2306 pub fm: ScePspFMatrix3, 2307 pub im: ScePspIMatrix3, 2308 pub fv: [ScePspFVector3; 3usize], 2309 pub iv: [ScePspIVector3; 3usize], 2310 pub v: [ScePspVector3; 3usize], 2311 pub f: [[f32; 3usize]; 3usize], 2312 pub i: [[i32; 3usize]; 3usize], 2313 } 2314 2315 #[allow(missing_debug_implementations)] 2316 pub union ScePspVector2 { 2317 pub fv: ScePspFVector2, 2318 pub iv: ScePspIVector2, 2319 pub f: [f32; 2usize], 2320 pub i: [i32; 2usize], 2321 } 2322 2323 #[allow(missing_debug_implementations)] 2324 pub union ScePspMatrix4 { 2325 pub fm: ScePspFMatrix4, 2326 pub im: ScePspIMatrix4, 2327 pub fv: [ScePspFVector4; 4usize], 2328 pub iv: [ScePspIVector4; 4usize], 2329 pub v: [ScePspVector4; 4usize], 2330 pub f: [[f32; 4usize]; 4usize], 2331 pub i: [[i32; 4usize]; 4usize], 2332 } 2333 2334 #[allow(missing_debug_implementations)] 2335 pub struct Key { 2336 pub key_type: KeyType, 2337 pub name: [u8; 256usize], 2338 pub name_len: u32, 2339 pub unk2: u32, 2340 pub unk3: u32, 2341 } 2342 2343 #[allow(missing_debug_implementations)] 2344 pub struct UtilityMsgDialogParams { 2345 pub base: UtilityDialogCommon, 2346 pub unknown: i32, 2347 pub mode: UtilityMsgDialogMode, 2348 pub error_value: u32, 2349 pub message: [u8; 512usize], 2350 pub options: i32, 2351 pub button_pressed: UtilityMsgDialogPressed, 2352 } 2353 2354 #[allow(missing_debug_implementations)] 2355 pub union UtilityNetData { 2356 pub as_uint: u32, 2357 pub as_string: [u8; 128usize], 2358 } 2359 2360 #[allow(missing_debug_implementations)] 2361 pub struct UtilitySavedataSFOParam { 2362 pub title: [u8; 128usize], 2363 pub savedata_title: [u8; 128usize], 2364 pub detail: [u8; 1024usize], 2365 pub parental_level: u8, 2366 pub unknown: [u8; 3usize], 2367 } 2368 2369 #[allow(missing_debug_implementations)] 2370 pub struct SceUtilitySavedataParam { 2371 pub base: UtilityDialogCommon, 2372 pub mode: UtilitySavedataMode, 2373 pub unknown1: i32, 2374 pub overwrite: i32, 2375 pub game_name: [u8; 13usize], 2376 pub reserved: [u8; 3usize], 2377 pub save_name: [u8; 20usize], 2378 pub save_name_list: *mut [u8; 20usize], 2379 pub file_name: [u8; 13usize], 2380 pub reserved1: [u8; 3usize], 2381 pub data_buf: *mut c_void, 2382 pub data_buf_size: usize, 2383 pub data_size: usize, 2384 pub sfo_param: UtilitySavedataSFOParam, 2385 pub icon0_file_data: UtilitySavedataFileData, 2386 pub icon1_file_data: UtilitySavedataFileData, 2387 pub pic1_file_data: UtilitySavedataFileData, 2388 pub snd0_file_data: UtilitySavedataFileData, 2389 pub new_data: *mut UtilitySavedataListSaveNewData, 2390 pub focus: UtilitySavedataFocus, 2391 pub unknown2: [i32; 4usize], 2392 pub key: [u8; 16], 2393 pub unknown3: [u8; 20], 2394 } 2395 2396 #[allow(missing_debug_implementations)] 2397 pub struct SceNetAdhocctlPeerInfo { 2398 pub next: *mut SceNetAdhocctlPeerInfo, 2399 pub nickname: [u8; 128usize], 2400 pub mac: [u8; 6usize], 2401 pub unknown: [u8; 6usize], 2402 pub timestamp: u32, 2403 } 2404 2405 #[allow(missing_debug_implementations)] 2406 pub struct SceNetAdhocctlParams { 2407 pub channel: i32, 2408 pub name: [u8; 8usize], 2409 pub bssid: [u8; 6usize], 2410 pub nickname: [u8; 128usize], 2411 } 2412 2413 #[cfg_attr(feature = "extra_traits", allow(missing_debug_implementations))] 2414 pub union SceNetApctlInfo { 2415 pub name: [u8; 64usize], 2416 pub bssid: [u8; 6usize], 2417 pub ssid: [u8; 32usize], 2418 pub ssid_length: u32, 2419 pub security_type: u32, 2420 pub strength: u8, 2421 pub channel: u8, 2422 pub power_save: u8, 2423 pub ip: [u8; 16usize], 2424 pub sub_net_mask: [u8; 16usize], 2425 pub gateway: [u8; 16usize], 2426 pub primary_dns: [u8; 16usize], 2427 pub secondary_dns: [u8; 16usize], 2428 pub use_proxy: u32, 2429 pub proxy_url: [u8; 128usize], 2430 pub proxy_port: u16, 2431 pub eap_type: u32, 2432 pub start_browser: u32, 2433 pub wifisp: u32, 2434 } 2435 } 2436 2437 pub const INT_MIN: c_int = -2147483648; 2438 pub const INT_MAX: c_int = 2147483647; 2439 2440 pub const AUDIO_VOLUME_MAX: u32 = 0x8000; 2441 pub const AUDIO_CHANNEL_MAX: u32 = 8; 2442 pub const AUDIO_NEXT_CHANNEL: i32 = -1; 2443 pub const AUDIO_SAMPLE_MIN: u32 = 64; 2444 pub const AUDIO_SAMPLE_MAX: u32 = 65472; 2445 2446 pub const PSP_CTRL_SELECT: i32 = 0x000001; 2447 pub const PSP_CTRL_START: i32 = 0x000008; 2448 pub const PSP_CTRL_UP: i32 = 0x000010; 2449 pub const PSP_CTRL_RIGHT: i32 = 0x000020; 2450 pub const PSP_CTRL_DOWN: i32 = 0x000040; 2451 pub const PSP_CTRL_LEFT: i32 = 0x000080; 2452 pub const PSP_CTRL_LTRIGGER: i32 = 0x000100; 2453 pub const PSP_CTRL_RTRIGGER: i32 = 0x000200; 2454 pub const PSP_CTRL_TRIANGLE: i32 = 0x001000; 2455 pub const PSP_CTRL_CIRCLE: i32 = 0x002000; 2456 pub const PSP_CTRL_CROSS: i32 = 0x004000; 2457 pub const PSP_CTRL_SQUARE: i32 = 0x008000; 2458 pub const PSP_CTRL_HOME: i32 = 0x010000; 2459 pub const PSP_CTRL_HOLD: i32 = 0x020000; 2460 pub const PSP_CTRL_NOTE: i32 = 0x800000; 2461 pub const PSP_CTRL_SCREEN: i32 = 0x400000; 2462 pub const PSP_CTRL_VOLUP: i32 = 0x100000; 2463 pub const PSP_CTRL_VOLDOWN: i32 = 0x200000; 2464 pub const PSP_CTRL_WLAN_UP: i32 = 0x040000; 2465 pub const PSP_CTRL_REMOTE: i32 = 0x080000; 2466 pub const PSP_CTRL_DISC: i32 = 0x1000000; 2467 pub const PSP_CTRL_MS: i32 = 0x2000000; 2468 2469 pub const USB_CAM_PID: i32 = 0x282; 2470 pub const USB_BUS_DRIVER_NAME: &str = "USBBusDriver"; 2471 pub const USB_CAM_DRIVER_NAME: &str = "USBCamDriver"; 2472 pub const USB_CAM_MIC_DRIVER_NAME: &str = "USBCamMicDriver"; 2473 pub const USB_STOR_DRIVER_NAME: &str = "USBStor_Driver"; 2474 2475 pub const ACTIVATED: i32 = 0x200; 2476 pub const CONNECTED: i32 = 0x020; 2477 pub const ESTABLISHED: i32 = 0x002; 2478 2479 pub const USB_CAM_FLIP: i32 = 1; 2480 pub const USB_CAM_MIRROR: i32 = 0x100; 2481 2482 pub const THREAD_ATTR_VFPU: i32 = 0x00004000; 2483 pub const THREAD_ATTR_USER: i32 = 0x80000000; 2484 pub const THREAD_ATTR_USBWLAN: i32 = 0xa0000000; 2485 pub const THREAD_ATTR_VSH: i32 = 0xc0000000; 2486 pub const THREAD_ATTR_SCRATCH_SRAM: i32 = 0x00008000; 2487 pub const THREAD_ATTR_NO_FILLSTACK: i32 = 0x00100000; 2488 pub const THREAD_ATTR_CLEAR_STACK: i32 = 0x00200000; 2489 2490 pub const EVENT_WAIT_MULTIPLE: i32 = 0x200; 2491 2492 pub const EVENT_WAIT_AND: i32 = 0; 2493 pub const EVENT_WAIT_OR: i32 = 1; 2494 pub const EVENT_WAIT_CLEAR: i32 = 0x20; 2495 2496 pub const POWER_INFO_POWER_SWITCH: i32 = 0x80000000; 2497 pub const POWER_INFO_HOLD_SWITCH: i32 = 0x40000000; 2498 pub const POWER_INFO_STANDBY: i32 = 0x00080000; 2499 pub const POWER_INFO_RESUME_COMPLETE: i32 = 0x00040000; 2500 pub const POWER_INFO_RESUMING: i32 = 0x00020000; 2501 pub const POWER_INFO_SUSPENDING: i32 = 0x00010000; 2502 pub const POWER_INFO_AC_POWER: i32 = 0x00001000; 2503 pub const POWER_INFO_BATTERY_LOW: i32 = 0x00000100; 2504 pub const POWER_INFO_BATTERY_EXIST: i32 = 0x00000080; 2505 pub const POWER_INFO_BATTERY_POWER: i32 = 0x0000007; 2506 2507 pub const FIO_S_IFLNK: i32 = 0x4000; 2508 pub const FIO_S_IFDIR: i32 = 0x1000; 2509 pub const FIO_S_IFREG: i32 = 0x2000; 2510 pub const FIO_S_ISUID: i32 = 0x0800; 2511 pub const FIO_S_ISGID: i32 = 0x0400; 2512 pub const FIO_S_ISVTX: i32 = 0x0200; 2513 pub const FIO_S_IRUSR: i32 = 0x0100; 2514 pub const FIO_S_IWUSR: i32 = 0x0080; 2515 pub const FIO_S_IXUSR: i32 = 0x0040; 2516 pub const FIO_S_IRGRP: i32 = 0x0020; 2517 pub const FIO_S_IWGRP: i32 = 0x0010; 2518 pub const FIO_S_IXGRP: i32 = 0x0008; 2519 pub const FIO_S_IROTH: i32 = 0x0004; 2520 pub const FIO_S_IWOTH: i32 = 0x0002; 2521 pub const FIO_S_IXOTH: i32 = 0x0001; 2522 2523 pub const FIO_SO_IFLNK: i32 = 0x0008; 2524 pub const FIO_SO_IFDIR: i32 = 0x0010; 2525 pub const FIO_SO_IFREG: i32 = 0x0020; 2526 pub const FIO_SO_IROTH: i32 = 0x0004; 2527 pub const FIO_SO_IWOTH: i32 = 0x0002; 2528 pub const FIO_SO_IXOTH: i32 = 0x0001; 2529 2530 pub const PSP_O_RD_ONLY: i32 = 0x0001; 2531 pub const PSP_O_WR_ONLY: i32 = 0x0002; 2532 pub const PSP_O_RD_WR: i32 = 0x0003; 2533 pub const PSP_O_NBLOCK: i32 = 0x0004; 2534 pub const PSP_O_DIR: i32 = 0x0008; 2535 pub const PSP_O_APPEND: i32 = 0x0100; 2536 pub const PSP_O_CREAT: i32 = 0x0200; 2537 pub const PSP_O_TRUNC: i32 = 0x0400; 2538 pub const PSP_O_EXCL: i32 = 0x0800; 2539 pub const PSP_O_NO_WAIT: i32 = 0x8000; 2540 2541 pub const UMD_NOT_PRESENT: i32 = 0x01; 2542 pub const UMD_PRESENT: i32 = 0x02; 2543 pub const UMD_CHANGED: i32 = 0x04; 2544 pub const UMD_INITING: i32 = 0x08; 2545 pub const UMD_INITED: i32 = 0x10; 2546 pub const UMD_READY: i32 = 0x20; 2547 2548 pub const PLAY_PAUSE: i32 = 0x1; 2549 pub const FORWARD: i32 = 0x4; 2550 pub const BACK: i32 = 0x8; 2551 pub const VOL_UP: i32 = 0x10; 2552 pub const VOL_DOWN: i32 = 0x20; 2553 pub const HOLD: i32 = 0x80; 2554 2555 pub const GU_PI: f32 = 3.141593; 2556 2557 pub const GU_TEXTURE_8BIT: i32 = 1; 2558 pub const GU_TEXTURE_16BIT: i32 = 2; 2559 pub const GU_TEXTURE_32BITF: i32 = 3; 2560 pub const GU_COLOR_5650: i32 = 4 << 2; 2561 pub const GU_COLOR_5551: i32 = 5 << 2; 2562 pub const GU_COLOR_4444: i32 = 6 << 2; 2563 pub const GU_COLOR_8888: i32 = 7 << 2; 2564 pub const GU_NORMAL_8BIT: i32 = 1 << 5; 2565 pub const GU_NORMAL_16BIT: i32 = 2 << 5; 2566 pub const GU_NORMAL_32BITF: i32 = 3 << 5; 2567 pub const GU_VERTEX_8BIT: i32 = 1 << 7; 2568 pub const GU_VERTEX_16BIT: i32 = 2 << 7; 2569 pub const GU_VERTEX_32BITF: i32 = 3 << 7; 2570 pub const GU_WEIGHT_8BIT: i32 = 1 << 9; 2571 pub const GU_WEIGHT_16BIT: i32 = 2 << 9; 2572 pub const GU_WEIGHT_32BITF: i32 = 3 << 9; 2573 pub const GU_INDEX_8BIT: i32 = 1 << 11; 2574 pub const GU_INDEX_16BIT: i32 = 2 << 11; 2575 pub const GU_WEIGHTS1: i32 = (((1 - 1) & 7) << 14) as i32; 2576 pub const GU_WEIGHTS2: i32 = (((2 - 1) & 7) << 14) as i32; 2577 pub const GU_WEIGHTS3: i32 = (((3 - 1) & 7) << 14) as i32; 2578 pub const GU_WEIGHTS4: i32 = (((4 - 1) & 7) << 14) as i32; 2579 pub const GU_WEIGHTS5: i32 = (((5 - 1) & 7) << 14) as i32; 2580 pub const GU_WEIGHTS6: i32 = (((6 - 1) & 7) << 14) as i32; 2581 pub const GU_WEIGHTS7: i32 = (((7 - 1) & 7) << 14) as i32; 2582 pub const GU_WEIGHTS8: i32 = (((8 - 1) & 7) << 14) as i32; 2583 pub const GU_VERTICES1: i32 = (((1 - 1) & 7) << 18) as i32; 2584 pub const GU_VERTICES2: i32 = (((2 - 1) & 7) << 18) as i32; 2585 pub const GU_VERTICES3: i32 = (((3 - 1) & 7) << 18) as i32; 2586 pub const GU_VERTICES4: i32 = (((4 - 1) & 7) << 18) as i32; 2587 pub const GU_VERTICES5: i32 = (((5 - 1) & 7) << 18) as i32; 2588 pub const GU_VERTICES6: i32 = (((6 - 1) & 7) << 18) as i32; 2589 pub const GU_VERTICES7: i32 = (((7 - 1) & 7) << 18) as i32; 2590 pub const GU_VERTICES8: i32 = (((8 - 1) & 7) << 18) as i32; 2591 pub const GU_TRANSFORM_2D: i32 = 1 << 23; 2592 pub const GU_TRANSFORM_3D: i32 = 0; 2593 2594 pub const GU_COLOR_BUFFER_BIT: i32 = 1; 2595 pub const GU_STENCIL_BUFFER_BIT: i32 = 2; 2596 pub const GU_DEPTH_BUFFER_BIT: i32 = 4; 2597 pub const GU_FAST_CLEAR_BIT: i32 = 16; 2598 2599 pub const GU_AMBIENT: i32 = 1; 2600 pub const GU_DIFFUSE: i32 = 2; 2601 pub const GU_SPECULAR: i32 = 4; 2602 pub const GU_UNKNOWN_LIGHT_COMPONENT: i32 = 8; 2603 2604 pub const SYSTEM_REGISTRY: [u8; 7] = *b"/system"; 2605 pub const REG_KEYNAME_SIZE: u32 = 27; 2606 2607 pub const UTILITY_MSGDIALOG_ERROR: i32 = 0; 2608 pub const UTILITY_MSGDIALOG_TEXT: i32 = 1; 2609 pub const UTILITY_MSGDIALOG_YES_NO_BUTTONS: i32 = 0x10; 2610 pub const UTILITY_MSGDIALOG_DEFAULT_NO: i32 = 0x100; 2611 2612 pub const UTILITY_HTMLVIEWER_OPEN_SCE_START_PAGE: i32 = 0x000001; 2613 pub const UTILITY_HTMLVIEWER_DISABLE_STARTUP_LIMITS: i32 = 0x000002; 2614 pub const UTILITY_HTMLVIEWER_DISABLE_EXIT_DIALOG: i32 = 0x000004; 2615 pub const UTILITY_HTMLVIEWER_DISABLE_CURSOR: i32 = 0x000008; 2616 pub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_COMPLETE_DIALOG: i32 = 0x000010; 2617 pub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_START_DIALOG: i32 = 0x000020; 2618 pub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_DESTINATION_DIALOG: i32 = 2619 0x000040; 2620 pub const UTILITY_HTMLVIEWER_LOCK_DOWNLOAD_DESTINATION_DIALOG: i32 = 0x000080; 2621 pub const UTILITY_HTMLVIEWER_DISABLE_TAB_DISPLAY: i32 = 0x000100; 2622 pub const UTILITY_HTMLVIEWER_ENABLE_ANALOG_HOLD: i32 = 0x000200; 2623 pub const UTILITY_HTMLVIEWER_ENABLE_FLASH: i32 = 0x000400; 2624 pub const UTILITY_HTMLVIEWER_DISABLE_LRTRIGGER: i32 = 0x000800; 2625 2626 extern "C" { sceAudioChReserve( channel: i32, sample_count: i32, format: AudioFormat, ) -> i322627 pub fn sceAudioChReserve( 2628 channel: i32, 2629 sample_count: i32, 2630 format: AudioFormat, 2631 ) -> i32; sceAudioChRelease(channel: i32) -> i322632 pub fn sceAudioChRelease(channel: i32) -> i32; sceAudioOutput(channel: i32, vol: i32, buf: *mut c_void) -> i322633 pub fn sceAudioOutput(channel: i32, vol: i32, buf: *mut c_void) -> i32; sceAudioOutputBlocking( channel: i32, vol: i32, buf: *mut c_void, ) -> i322634 pub fn sceAudioOutputBlocking( 2635 channel: i32, 2636 vol: i32, 2637 buf: *mut c_void, 2638 ) -> i32; sceAudioOutputPanned( channel: i32, left_vol: i32, right_vol: i32, buf: *mut c_void, ) -> i322639 pub fn sceAudioOutputPanned( 2640 channel: i32, 2641 left_vol: i32, 2642 right_vol: i32, 2643 buf: *mut c_void, 2644 ) -> i32; sceAudioOutputPannedBlocking( channel: i32, left_vol: i32, right_vol: i32, buf: *mut c_void, ) -> i322645 pub fn sceAudioOutputPannedBlocking( 2646 channel: i32, 2647 left_vol: i32, 2648 right_vol: i32, 2649 buf: *mut c_void, 2650 ) -> i32; sceAudioGetChannelRestLen(channel: i32) -> i322651 pub fn sceAudioGetChannelRestLen(channel: i32) -> i32; sceAudioGetChannelRestLength(channel: i32) -> i322652 pub fn sceAudioGetChannelRestLength(channel: i32) -> i32; sceAudioSetChannelDataLen(channel: i32, sample_count: i32) -> i322653 pub fn sceAudioSetChannelDataLen(channel: i32, sample_count: i32) -> i32; sceAudioChangeChannelConfig( channel: i32, format: AudioFormat, ) -> i322654 pub fn sceAudioChangeChannelConfig( 2655 channel: i32, 2656 format: AudioFormat, 2657 ) -> i32; sceAudioChangeChannelVolume( channel: i32, left_vol: i32, right_vol: i32, ) -> i322658 pub fn sceAudioChangeChannelVolume( 2659 channel: i32, 2660 left_vol: i32, 2661 right_vol: i32, 2662 ) -> i32; sceAudioOutput2Reserve(sample_count: i32) -> i322663 pub fn sceAudioOutput2Reserve(sample_count: i32) -> i32; sceAudioOutput2Release() -> i322664 pub fn sceAudioOutput2Release() -> i32; sceAudioOutput2ChangeLength(sample_count: i32) -> i322665 pub fn sceAudioOutput2ChangeLength(sample_count: i32) -> i32; sceAudioOutput2OutputBlocking(vol: i32, buf: *mut c_void) -> i322666 pub fn sceAudioOutput2OutputBlocking(vol: i32, buf: *mut c_void) -> i32; sceAudioOutput2GetRestSample() -> i322667 pub fn sceAudioOutput2GetRestSample() -> i32; sceAudioSRCChReserve( sample_count: i32, freq: AudioOutputFrequency, channels: i32, ) -> i322668 pub fn sceAudioSRCChReserve( 2669 sample_count: i32, 2670 freq: AudioOutputFrequency, 2671 channels: i32, 2672 ) -> i32; sceAudioSRCChRelease() -> i322673 pub fn sceAudioSRCChRelease() -> i32; sceAudioSRCOutputBlocking(vol: i32, buf: *mut c_void) -> i322674 pub fn sceAudioSRCOutputBlocking(vol: i32, buf: *mut c_void) -> i32; sceAudioInputInit(unknown1: i32, gain: i32, unknown2: i32) -> i322675 pub fn sceAudioInputInit(unknown1: i32, gain: i32, unknown2: i32) -> i32; sceAudioInputInitEx(params: *mut AudioInputParams) -> i322676 pub fn sceAudioInputInitEx(params: *mut AudioInputParams) -> i32; sceAudioInputBlocking( sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void, )2677 pub fn sceAudioInputBlocking( 2678 sample_count: i32, 2679 freq: AudioInputFrequency, 2680 buf: *mut c_void, 2681 ); sceAudioInput( sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void, )2682 pub fn sceAudioInput( 2683 sample_count: i32, 2684 freq: AudioInputFrequency, 2685 buf: *mut c_void, 2686 ); sceAudioGetInputLength() -> i322687 pub fn sceAudioGetInputLength() -> i32; sceAudioWaitInputEnd() -> i322688 pub fn sceAudioWaitInputEnd() -> i32; sceAudioPollInputEnd() -> i322689 pub fn sceAudioPollInputEnd() -> i32; 2690 sceAtracGetAtracID(ui_codec_type: u32) -> i322691 pub fn sceAtracGetAtracID(ui_codec_type: u32) -> i32; sceAtracSetDataAndGetID(buf: *mut c_void, bufsize: usize) -> i322692 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, ) -> i322693 pub fn sceAtracDecodeData( 2694 atrac_id: i32, 2695 out_samples: *mut u16, 2696 out_n: *mut i32, 2697 out_end: *mut i32, 2698 out_remain_frame: *mut i32, 2699 ) -> i32; sceAtracGetRemainFrame( atrac_id: i32, out_remain_frame: *mut i32, ) -> i322700 pub fn sceAtracGetRemainFrame( 2701 atrac_id: i32, 2702 out_remain_frame: *mut i32, 2703 ) -> i32; sceAtracGetStreamDataInfo( atrac_id: i32, write_pointer: *mut *mut u8, available_bytes: *mut u32, read_offset: *mut u32, ) -> i322704 pub fn sceAtracGetStreamDataInfo( 2705 atrac_id: i32, 2706 write_pointer: *mut *mut u8, 2707 available_bytes: *mut u32, 2708 read_offset: *mut u32, 2709 ) -> i32; sceAtracAddStreamData(atrac_id: i32, bytes_to_add: u32) -> i322710 pub fn sceAtracAddStreamData(atrac_id: i32, bytes_to_add: u32) -> i32; sceAtracGetBitrate(atrac_id: i32, out_bitrate: *mut i32) -> i322711 pub fn sceAtracGetBitrate(atrac_id: i32, out_bitrate: *mut i32) -> i32; sceAtracSetLoopNum(atrac_id: i32, nloops: i32) -> i322712 pub fn sceAtracSetLoopNum(atrac_id: i32, nloops: i32) -> i32; sceAtracReleaseAtracID(atrac_id: i32) -> i322713 pub fn sceAtracReleaseAtracID(atrac_id: i32) -> i32; sceAtracGetNextSample(atrac_id: i32, out_n: *mut i32) -> i322714 pub fn sceAtracGetNextSample(atrac_id: i32, out_n: *mut i32) -> i32; sceAtracGetMaxSample(atrac_id: i32, out_max: *mut i32) -> i322715 pub fn sceAtracGetMaxSample(atrac_id: i32, out_max: *mut i32) -> i32; sceAtracGetBufferInfoForReseting( atrac_id: i32, ui_sample: u32, pbuffer_info: *mut Atrac3BufferInfo, ) -> i322716 pub fn sceAtracGetBufferInfoForReseting( 2717 atrac_id: i32, 2718 ui_sample: u32, 2719 pbuffer_info: *mut Atrac3BufferInfo, 2720 ) -> i32; sceAtracGetChannel(atrac_id: i32, pui_channel: *mut u32) -> i322721 pub fn sceAtracGetChannel(atrac_id: i32, pui_channel: *mut u32) -> i32; sceAtracGetInternalErrorInfo( atrac_id: i32, pi_result: *mut i32, ) -> i322722 pub fn sceAtracGetInternalErrorInfo( 2723 atrac_id: i32, 2724 pi_result: *mut i32, 2725 ) -> i32; sceAtracGetLoopStatus( atrac_id: i32, pi_loop_num: *mut i32, pui_loop_status: *mut u32, ) -> i322726 pub fn sceAtracGetLoopStatus( 2727 atrac_id: i32, 2728 pi_loop_num: *mut i32, 2729 pui_loop_status: *mut u32, 2730 ) -> i32; sceAtracGetNextDecodePosition( atrac_id: i32, pui_sample_position: *mut u32, ) -> i322731 pub fn sceAtracGetNextDecodePosition( 2732 atrac_id: i32, 2733 pui_sample_position: *mut u32, 2734 ) -> i32; sceAtracGetSecondBufferInfo( atrac_id: i32, pui_position: *mut u32, pui_data_byte: *mut u32, ) -> i322735 pub fn sceAtracGetSecondBufferInfo( 2736 atrac_id: i32, 2737 pui_position: *mut u32, 2738 pui_data_byte: *mut u32, 2739 ) -> i32; sceAtracGetSoundSample( atrac_id: i32, pi_end_sample: *mut i32, pi_loop_start_sample: *mut i32, pi_loop_end_sample: *mut i32, ) -> i322740 pub fn sceAtracGetSoundSample( 2741 atrac_id: i32, 2742 pi_end_sample: *mut i32, 2743 pi_loop_start_sample: *mut i32, 2744 pi_loop_end_sample: *mut i32, 2745 ) -> i32; sceAtracResetPlayPosition( atrac_id: i32, ui_sample: u32, ui_write_byte_first_buf: u32, ui_write_byte_second_buf: u32, ) -> i322746 pub fn sceAtracResetPlayPosition( 2747 atrac_id: i32, 2748 ui_sample: u32, 2749 ui_write_byte_first_buf: u32, 2750 ui_write_byte_second_buf: u32, 2751 ) -> i32; sceAtracSetData( atrac_id: i32, puc_buffer_addr: *mut u8, ui_buffer_byte: u32, ) -> i322752 pub fn sceAtracSetData( 2753 atrac_id: i32, 2754 puc_buffer_addr: *mut u8, 2755 ui_buffer_byte: u32, 2756 ) -> i32; sceAtracSetHalfwayBuffer( atrac_id: i32, puc_buffer_addr: *mut u8, ui_read_byte: u32, ui_buffer_byte: u32, ) -> i322757 pub fn sceAtracSetHalfwayBuffer( 2758 atrac_id: i32, 2759 puc_buffer_addr: *mut u8, 2760 ui_read_byte: u32, 2761 ui_buffer_byte: u32, 2762 ) -> i32; sceAtracSetHalfwayBufferAndGetID( puc_buffer_addr: *mut u8, ui_read_byte: u32, ui_buffer_byte: u32, ) -> i322763 pub fn sceAtracSetHalfwayBufferAndGetID( 2764 puc_buffer_addr: *mut u8, 2765 ui_read_byte: u32, 2766 ui_buffer_byte: u32, 2767 ) -> i32; sceAtracSetSecondBuffer( atrac_id: i32, puc_second_buffer_addr: *mut u8, ui_second_buffer_byte: u32, ) -> i322768 pub fn sceAtracSetSecondBuffer( 2769 atrac_id: i32, 2770 puc_second_buffer_addr: *mut u8, 2771 ui_second_buffer_byte: u32, 2772 ) -> i32; 2773 sceCtrlSetSamplingCycle(cycle: i32) -> i322774 pub fn sceCtrlSetSamplingCycle(cycle: i32) -> i32; sceCtrlGetSamplingCycle(pcycle: *mut i32) -> i322775 pub fn sceCtrlGetSamplingCycle(pcycle: *mut i32) -> i32; sceCtrlSetSamplingMode(mode: CtrlMode) -> i322776 pub fn sceCtrlSetSamplingMode(mode: CtrlMode) -> i32; sceCtrlGetSamplingMode(pmode: *mut i32) -> i322777 pub fn sceCtrlGetSamplingMode(pmode: *mut i32) -> i32; sceCtrlPeekBufferPositive( pad_data: *mut SceCtrlData, count: i32, ) -> i322778 pub fn sceCtrlPeekBufferPositive( 2779 pad_data: *mut SceCtrlData, 2780 count: i32, 2781 ) -> i32; sceCtrlPeekBufferNegative( pad_data: *mut SceCtrlData, count: i32, ) -> i322782 pub fn sceCtrlPeekBufferNegative( 2783 pad_data: *mut SceCtrlData, 2784 count: i32, 2785 ) -> i32; sceCtrlReadBufferPositive( pad_data: *mut SceCtrlData, count: i32, ) -> i322786 pub fn sceCtrlReadBufferPositive( 2787 pad_data: *mut SceCtrlData, 2788 count: i32, 2789 ) -> i32; sceCtrlReadBufferNegative( pad_data: *mut SceCtrlData, count: i32, ) -> i322790 pub fn sceCtrlReadBufferNegative( 2791 pad_data: *mut SceCtrlData, 2792 count: i32, 2793 ) -> i32; sceCtrlPeekLatch(latch_data: *mut SceCtrlLatch) -> i322794 pub fn sceCtrlPeekLatch(latch_data: *mut SceCtrlLatch) -> i32; sceCtrlReadLatch(latch_data: *mut SceCtrlLatch) -> i322795 pub fn sceCtrlReadLatch(latch_data: *mut SceCtrlLatch) -> i32; sceCtrlSetIdleCancelThreshold(idlereset: i32, idleback: i32) -> i322796 pub fn sceCtrlSetIdleCancelThreshold(idlereset: i32, idleback: i32) 2797 -> i32; sceCtrlGetIdleCancelThreshold( idlereset: *mut i32, idleback: *mut i32, ) -> i322798 pub fn sceCtrlGetIdleCancelThreshold( 2799 idlereset: *mut i32, 2800 idleback: *mut i32, 2801 ) -> i32; 2802 sceDisplaySetMode( mode: DisplayMode, width: usize, height: usize, ) -> u322803 pub fn sceDisplaySetMode( 2804 mode: DisplayMode, 2805 width: usize, 2806 height: usize, 2807 ) -> u32; sceDisplayGetMode( pmode: *mut i32, pwidth: *mut i32, pheight: *mut i32, ) -> i322808 pub fn sceDisplayGetMode( 2809 pmode: *mut i32, 2810 pwidth: *mut i32, 2811 pheight: *mut i32, 2812 ) -> i32; sceDisplaySetFrameBuf( top_addr: *const u8, buffer_width: usize, pixel_format: DisplayPixelFormat, sync: DisplaySetBufSync, ) -> u322813 pub fn sceDisplaySetFrameBuf( 2814 top_addr: *const u8, 2815 buffer_width: usize, 2816 pixel_format: DisplayPixelFormat, 2817 sync: DisplaySetBufSync, 2818 ) -> u32; sceDisplayGetFrameBuf( top_addr: *mut *mut c_void, buffer_width: *mut usize, pixel_format: *mut DisplayPixelFormat, sync: DisplaySetBufSync, ) -> i322819 pub fn sceDisplayGetFrameBuf( 2820 top_addr: *mut *mut c_void, 2821 buffer_width: *mut usize, 2822 pixel_format: *mut DisplayPixelFormat, 2823 sync: DisplaySetBufSync, 2824 ) -> i32; sceDisplayGetVcount() -> u322825 pub fn sceDisplayGetVcount() -> u32; sceDisplayWaitVblank() -> i322826 pub fn sceDisplayWaitVblank() -> i32; sceDisplayWaitVblankCB() -> i322827 pub fn sceDisplayWaitVblankCB() -> i32; sceDisplayWaitVblankStart() -> i322828 pub fn sceDisplayWaitVblankStart() -> i32; sceDisplayWaitVblankStartCB() -> i322829 pub fn sceDisplayWaitVblankStartCB() -> i32; sceDisplayGetAccumulatedHcount() -> i322830 pub fn sceDisplayGetAccumulatedHcount() -> i32; sceDisplayGetCurrentHcount() -> i322831 pub fn sceDisplayGetCurrentHcount() -> i32; sceDisplayGetFramePerSec() -> f322832 pub fn sceDisplayGetFramePerSec() -> f32; sceDisplayIsForeground() -> i322833 pub fn sceDisplayIsForeground() -> i32; sceDisplayIsVblank() -> i322834 pub fn sceDisplayIsVblank() -> i32; 2835 sceGeEdramGetSize() -> u322836 pub fn sceGeEdramGetSize() -> u32; sceGeEdramGetAddr() -> *mut u82837 pub fn sceGeEdramGetAddr() -> *mut u8; sceGeEdramSetAddrTranslation(width: i32) -> i322838 pub fn sceGeEdramSetAddrTranslation(width: i32) -> i32; sceGeGetCmd(cmd: i32) -> u322839 pub fn sceGeGetCmd(cmd: i32) -> u32; sceGeGetMtx(type_: GeMatrixType, matrix: *mut c_void) -> i322840 pub fn sceGeGetMtx(type_: GeMatrixType, matrix: *mut c_void) -> i32; sceGeGetStack(stack_id: i32, stack: *mut GeStack) -> i322841 pub fn sceGeGetStack(stack_id: i32, stack: *mut GeStack) -> i32; sceGeSaveContext(context: *mut GeContext) -> i322842 pub fn sceGeSaveContext(context: *mut GeContext) -> i32; sceGeRestoreContext(context: *const GeContext) -> i322843 pub fn sceGeRestoreContext(context: *const GeContext) -> i32; sceGeListEnQueue( list: *const c_void, stall: *mut c_void, cbid: i32, arg: *mut GeListArgs, ) -> i322844 pub fn sceGeListEnQueue( 2845 list: *const c_void, 2846 stall: *mut c_void, 2847 cbid: i32, 2848 arg: *mut GeListArgs, 2849 ) -> i32; sceGeListEnQueueHead( list: *const c_void, stall: *mut c_void, cbid: i32, arg: *mut GeListArgs, ) -> i322850 pub fn sceGeListEnQueueHead( 2851 list: *const c_void, 2852 stall: *mut c_void, 2853 cbid: i32, 2854 arg: *mut GeListArgs, 2855 ) -> i32; sceGeListDeQueue(qid: i32) -> i322856 pub fn sceGeListDeQueue(qid: i32) -> i32; sceGeListUpdateStallAddr(qid: i32, stall: *mut c_void) -> i322857 pub fn sceGeListUpdateStallAddr(qid: i32, stall: *mut c_void) -> i32; sceGeListSync(qid: i32, sync_type: i32) -> GeListState2858 pub fn sceGeListSync(qid: i32, sync_type: i32) -> GeListState; sceGeDrawSync(sync_type: i32) -> GeListState2859 pub fn sceGeDrawSync(sync_type: i32) -> GeListState; sceGeBreak(mode: i32, p_param: *mut GeBreakParam) -> i322860 pub fn sceGeBreak(mode: i32, p_param: *mut GeBreakParam) -> i32; sceGeContinue() -> i322861 pub fn sceGeContinue() -> i32; sceGeSetCallback(cb: *mut GeCallbackData) -> i322862 pub fn sceGeSetCallback(cb: *mut GeCallbackData) -> i32; sceGeUnsetCallback(cbid: i32) -> i322863 pub fn sceGeUnsetCallback(cbid: i32) -> i32; 2864 sceKernelExitGame()2865 pub fn sceKernelExitGame(); sceKernelRegisterExitCallback(id: SceUid) -> i322866 pub fn sceKernelRegisterExitCallback(id: SceUid) -> i32; sceKernelLoadExec( file: *const u8, param: *mut SceKernelLoadExecParam, ) -> i322867 pub fn sceKernelLoadExec( 2868 file: *const u8, 2869 param: *mut SceKernelLoadExecParam, 2870 ) -> i32; 2871 sceKernelAllocPartitionMemory( partition: SceSysMemPartitionId, name: *const u8, type_: SceSysMemBlockTypes, size: u32, addr: *mut c_void, ) -> SceUid2872 pub fn sceKernelAllocPartitionMemory( 2873 partition: SceSysMemPartitionId, 2874 name: *const u8, 2875 type_: SceSysMemBlockTypes, 2876 size: u32, 2877 addr: *mut c_void, 2878 ) -> SceUid; sceKernelGetBlockHeadAddr(blockid: SceUid) -> *mut c_void2879 pub fn sceKernelGetBlockHeadAddr(blockid: SceUid) -> *mut c_void; sceKernelFreePartitionMemory(blockid: SceUid) -> i322880 pub fn sceKernelFreePartitionMemory(blockid: SceUid) -> i32; sceKernelTotalFreeMemSize() -> usize2881 pub fn sceKernelTotalFreeMemSize() -> usize; sceKernelMaxFreeMemSize() -> usize2882 pub fn sceKernelMaxFreeMemSize() -> usize; sceKernelDevkitVersion() -> u322883 pub fn sceKernelDevkitVersion() -> u32; sceKernelSetCompiledSdkVersion(version: u32) -> i322884 pub fn sceKernelSetCompiledSdkVersion(version: u32) -> i32; sceKernelGetCompiledSdkVersion() -> u322885 pub fn sceKernelGetCompiledSdkVersion() -> u32; 2886 sceKernelLibcTime(t: *mut i32) -> i322887 pub fn sceKernelLibcTime(t: *mut i32) -> i32; sceKernelLibcClock() -> u322888 pub fn sceKernelLibcClock() -> u32; sceKernelLibcGettimeofday( tp: *mut timeval, tzp: *mut timezone, ) -> i322889 pub fn sceKernelLibcGettimeofday( 2890 tp: *mut timeval, 2891 tzp: *mut timezone, 2892 ) -> i32; sceKernelDcacheWritebackAll()2893 pub fn sceKernelDcacheWritebackAll(); sceKernelDcacheWritebackInvalidateAll()2894 pub fn sceKernelDcacheWritebackInvalidateAll(); sceKernelDcacheWritebackRange(p: *const c_void, size: u32)2895 pub fn sceKernelDcacheWritebackRange(p: *const c_void, size: u32); sceKernelDcacheWritebackInvalidateRange( p: *const c_void, size: u32, )2896 pub fn sceKernelDcacheWritebackInvalidateRange( 2897 p: *const c_void, 2898 size: u32, 2899 ); sceKernelDcacheInvalidateRange(p: *const c_void, size: u32)2900 pub fn sceKernelDcacheInvalidateRange(p: *const c_void, size: u32); sceKernelIcacheInvalidateAll()2901 pub fn sceKernelIcacheInvalidateAll(); sceKernelIcacheInvalidateRange(p: *const c_void, size: u32)2902 pub fn sceKernelIcacheInvalidateRange(p: *const c_void, size: u32); sceKernelUtilsMt19937Init( ctx: *mut SceKernelUtilsMt19937Context, seed: u32, ) -> i322903 pub fn sceKernelUtilsMt19937Init( 2904 ctx: *mut SceKernelUtilsMt19937Context, 2905 seed: u32, 2906 ) -> i32; sceKernelUtilsMt19937UInt( ctx: *mut SceKernelUtilsMt19937Context, ) -> u322907 pub fn sceKernelUtilsMt19937UInt( 2908 ctx: *mut SceKernelUtilsMt19937Context, 2909 ) -> u32; sceKernelUtilsMd5Digest( data: *mut u8, size: u32, digest: *mut u8, ) -> i322910 pub fn sceKernelUtilsMd5Digest( 2911 data: *mut u8, 2912 size: u32, 2913 digest: *mut u8, 2914 ) -> i32; sceKernelUtilsMd5BlockInit( ctx: *mut SceKernelUtilsMd5Context, ) -> i322915 pub fn sceKernelUtilsMd5BlockInit( 2916 ctx: *mut SceKernelUtilsMd5Context, 2917 ) -> i32; sceKernelUtilsMd5BlockUpdate( ctx: *mut SceKernelUtilsMd5Context, data: *mut u8, size: u32, ) -> i322918 pub fn sceKernelUtilsMd5BlockUpdate( 2919 ctx: *mut SceKernelUtilsMd5Context, 2920 data: *mut u8, 2921 size: u32, 2922 ) -> i32; sceKernelUtilsMd5BlockResult( ctx: *mut SceKernelUtilsMd5Context, digest: *mut u8, ) -> i322923 pub fn sceKernelUtilsMd5BlockResult( 2924 ctx: *mut SceKernelUtilsMd5Context, 2925 digest: *mut u8, 2926 ) -> i32; sceKernelUtilsSha1Digest( data: *mut u8, size: u32, digest: *mut u8, ) -> i322927 pub fn sceKernelUtilsSha1Digest( 2928 data: *mut u8, 2929 size: u32, 2930 digest: *mut u8, 2931 ) -> i32; sceKernelUtilsSha1BlockInit( ctx: *mut SceKernelUtilsSha1Context, ) -> i322932 pub fn sceKernelUtilsSha1BlockInit( 2933 ctx: *mut SceKernelUtilsSha1Context, 2934 ) -> i32; sceKernelUtilsSha1BlockUpdate( ctx: *mut SceKernelUtilsSha1Context, data: *mut u8, size: u32, ) -> i322935 pub fn sceKernelUtilsSha1BlockUpdate( 2936 ctx: *mut SceKernelUtilsSha1Context, 2937 data: *mut u8, 2938 size: u32, 2939 ) -> i32; sceKernelUtilsSha1BlockResult( ctx: *mut SceKernelUtilsSha1Context, digest: *mut u8, ) -> i322940 pub fn sceKernelUtilsSha1BlockResult( 2941 ctx: *mut SceKernelUtilsSha1Context, 2942 digest: *mut u8, 2943 ) -> i32; 2944 sceKernelRegisterSubIntrHandler( int_no: i32, no: i32, handler: *mut c_void, arg: *mut c_void, ) -> i322945 pub fn sceKernelRegisterSubIntrHandler( 2946 int_no: i32, 2947 no: i32, 2948 handler: *mut c_void, 2949 arg: *mut c_void, 2950 ) -> i32; sceKernelReleaseSubIntrHandler(int_no: i32, no: i32) -> i322951 pub fn sceKernelReleaseSubIntrHandler(int_no: i32, no: i32) -> i32; sceKernelEnableSubIntr(int_no: i32, no: i32) -> i322952 pub fn sceKernelEnableSubIntr(int_no: i32, no: i32) -> i32; sceKernelDisableSubIntr(int_no: i32, no: i32) -> i322953 pub fn sceKernelDisableSubIntr(int_no: i32, no: i32) -> i32; QueryIntrHandlerInfo( intr_code: SceUid, sub_intr_code: SceUid, data: *mut IntrHandlerOptionParam, ) -> i322954 pub fn QueryIntrHandlerInfo( 2955 intr_code: SceUid, 2956 sub_intr_code: SceUid, 2957 data: *mut IntrHandlerOptionParam, 2958 ) -> i32; 2959 sceKernelCpuSuspendIntr() -> u322960 pub fn sceKernelCpuSuspendIntr() -> u32; sceKernelCpuResumeIntr(flags: u32)2961 pub fn sceKernelCpuResumeIntr(flags: u32); sceKernelCpuResumeIntrWithSync(flags: u32)2962 pub fn sceKernelCpuResumeIntrWithSync(flags: u32); sceKernelIsCpuIntrSuspended(flags: u32) -> i322963 pub fn sceKernelIsCpuIntrSuspended(flags: u32) -> i32; sceKernelIsCpuIntrEnable() -> i322964 pub fn sceKernelIsCpuIntrEnable() -> i32; 2965 sceKernelLoadModule( path: *const u8, flags: i32, option: *mut SceKernelLMOption, ) -> SceUid2966 pub fn sceKernelLoadModule( 2967 path: *const u8, 2968 flags: i32, 2969 option: *mut SceKernelLMOption, 2970 ) -> SceUid; sceKernelLoadModuleMs( path: *const u8, flags: i32, option: *mut SceKernelLMOption, ) -> SceUid2971 pub fn sceKernelLoadModuleMs( 2972 path: *const u8, 2973 flags: i32, 2974 option: *mut SceKernelLMOption, 2975 ) -> SceUid; sceKernelLoadModuleByID( fid: SceUid, flags: i32, option: *mut SceKernelLMOption, ) -> SceUid2976 pub fn sceKernelLoadModuleByID( 2977 fid: SceUid, 2978 flags: i32, 2979 option: *mut SceKernelLMOption, 2980 ) -> SceUid; sceKernelLoadModuleBufferUsbWlan( buf_size: usize, buf: *mut c_void, flags: i32, option: *mut SceKernelLMOption, ) -> SceUid2981 pub fn sceKernelLoadModuleBufferUsbWlan( 2982 buf_size: usize, 2983 buf: *mut c_void, 2984 flags: i32, 2985 option: *mut SceKernelLMOption, 2986 ) -> SceUid; sceKernelStartModule( mod_id: SceUid, arg_size: usize, argp: *mut c_void, status: *mut i32, option: *mut SceKernelSMOption, ) -> i322987 pub fn sceKernelStartModule( 2988 mod_id: SceUid, 2989 arg_size: usize, 2990 argp: *mut c_void, 2991 status: *mut i32, 2992 option: *mut SceKernelSMOption, 2993 ) -> i32; sceKernelStopModule( mod_id: SceUid, arg_size: usize, argp: *mut c_void, status: *mut i32, option: *mut SceKernelSMOption, ) -> i322994 pub fn sceKernelStopModule( 2995 mod_id: SceUid, 2996 arg_size: usize, 2997 argp: *mut c_void, 2998 status: *mut i32, 2999 option: *mut SceKernelSMOption, 3000 ) -> i32; sceKernelUnloadModule(mod_id: SceUid) -> i323001 pub fn sceKernelUnloadModule(mod_id: SceUid) -> i32; sceKernelSelfStopUnloadModule( unknown: i32, arg_size: usize, argp: *mut c_void, ) -> i323002 pub fn sceKernelSelfStopUnloadModule( 3003 unknown: i32, 3004 arg_size: usize, 3005 argp: *mut c_void, 3006 ) -> i32; sceKernelStopUnloadSelfModule( arg_size: usize, argp: *mut c_void, status: *mut i32, option: *mut SceKernelSMOption, ) -> i323007 pub fn sceKernelStopUnloadSelfModule( 3008 arg_size: usize, 3009 argp: *mut c_void, 3010 status: *mut i32, 3011 option: *mut SceKernelSMOption, 3012 ) -> i32; sceKernelQueryModuleInfo( mod_id: SceUid, info: *mut SceKernelModuleInfo, ) -> i323013 pub fn sceKernelQueryModuleInfo( 3014 mod_id: SceUid, 3015 info: *mut SceKernelModuleInfo, 3016 ) -> i32; sceKernelGetModuleIdList( read_buf: *mut SceUid, read_buf_size: i32, id_count: *mut i32, ) -> i323017 pub fn sceKernelGetModuleIdList( 3018 read_buf: *mut SceUid, 3019 read_buf_size: i32, 3020 id_count: *mut i32, 3021 ) -> i32; 3022 sceKernelVolatileMemLock( unk: i32, ptr: *mut *mut c_void, size: *mut i32, ) -> i323023 pub fn sceKernelVolatileMemLock( 3024 unk: i32, 3025 ptr: *mut *mut c_void, 3026 size: *mut i32, 3027 ) -> i32; sceKernelVolatileMemTryLock( unk: i32, ptr: *mut *mut c_void, size: *mut i32, ) -> i323028 pub fn sceKernelVolatileMemTryLock( 3029 unk: i32, 3030 ptr: *mut *mut c_void, 3031 size: *mut i32, 3032 ) -> i32; sceKernelVolatileMemUnlock(unk: i32) -> i323033 pub fn sceKernelVolatileMemUnlock(unk: i32) -> i32; 3034 sceKernelStdin() -> SceUid3035 pub fn sceKernelStdin() -> SceUid; sceKernelStdout() -> SceUid3036 pub fn sceKernelStdout() -> SceUid; sceKernelStderr() -> SceUid3037 pub fn sceKernelStderr() -> SceUid; 3038 sceKernelGetThreadmanIdType(uid: SceUid) -> SceKernelIdListType3039 pub fn sceKernelGetThreadmanIdType(uid: SceUid) -> SceKernelIdListType; sceKernelCreateThread( name: *const u8, entry: SceKernelThreadEntry, init_priority: i32, stack_size: i32, attr: i32, option: *mut SceKernelThreadOptParam, ) -> SceUid3040 pub fn sceKernelCreateThread( 3041 name: *const u8, 3042 entry: SceKernelThreadEntry, 3043 init_priority: i32, 3044 stack_size: i32, 3045 attr: i32, 3046 option: *mut SceKernelThreadOptParam, 3047 ) -> SceUid; sceKernelDeleteThread(thid: SceUid) -> i323048 pub fn sceKernelDeleteThread(thid: SceUid) -> i32; sceKernelStartThread( id: SceUid, arg_len: usize, arg_p: *mut c_void, ) -> i323049 pub fn sceKernelStartThread( 3050 id: SceUid, 3051 arg_len: usize, 3052 arg_p: *mut c_void, 3053 ) -> i32; sceKernelExitThread(status: i32) -> i323054 pub fn sceKernelExitThread(status: i32) -> i32; sceKernelExitDeleteThread(status: i32) -> i323055 pub fn sceKernelExitDeleteThread(status: i32) -> i32; sceKernelTerminateThread(thid: SceUid) -> i323056 pub fn sceKernelTerminateThread(thid: SceUid) -> i32; sceKernelTerminateDeleteThread(thid: SceUid) -> i323057 pub fn sceKernelTerminateDeleteThread(thid: SceUid) -> i32; sceKernelSuspendDispatchThread() -> i323058 pub fn sceKernelSuspendDispatchThread() -> i32; sceKernelResumeDispatchThread(state: i32) -> i323059 pub fn sceKernelResumeDispatchThread(state: i32) -> i32; sceKernelSleepThread() -> i323060 pub fn sceKernelSleepThread() -> i32; sceKernelSleepThreadCB() -> i323061 pub fn sceKernelSleepThreadCB() -> i32; sceKernelWakeupThread(thid: SceUid) -> i323062 pub fn sceKernelWakeupThread(thid: SceUid) -> i32; sceKernelCancelWakeupThread(thid: SceUid) -> i323063 pub fn sceKernelCancelWakeupThread(thid: SceUid) -> i32; sceKernelSuspendThread(thid: SceUid) -> i323064 pub fn sceKernelSuspendThread(thid: SceUid) -> i32; sceKernelResumeThread(thid: SceUid) -> i323065 pub fn sceKernelResumeThread(thid: SceUid) -> i32; sceKernelWaitThreadEnd(thid: SceUid, timeout: *mut u32) -> i323066 pub fn sceKernelWaitThreadEnd(thid: SceUid, timeout: *mut u32) -> i32; sceKernelWaitThreadEndCB(thid: SceUid, timeout: *mut u32) -> i323067 pub fn sceKernelWaitThreadEndCB(thid: SceUid, timeout: *mut u32) -> i32; sceKernelDelayThread(delay: u32) -> i323068 pub fn sceKernelDelayThread(delay: u32) -> i32; sceKernelDelayThreadCB(delay: u32) -> i323069 pub fn sceKernelDelayThreadCB(delay: u32) -> i32; sceKernelDelaySysClockThread(delay: *mut SceKernelSysClock) -> i323070 pub fn sceKernelDelaySysClockThread(delay: *mut SceKernelSysClock) -> i32; sceKernelDelaySysClockThreadCB( delay: *mut SceKernelSysClock, ) -> i323071 pub fn sceKernelDelaySysClockThreadCB( 3072 delay: *mut SceKernelSysClock, 3073 ) -> i32; sceKernelChangeCurrentThreadAttr(unknown: i32, attr: i32) -> i323074 pub fn sceKernelChangeCurrentThreadAttr(unknown: i32, attr: i32) -> i32; sceKernelChangeThreadPriority(thid: SceUid, priority: i32) -> i323075 pub fn sceKernelChangeThreadPriority(thid: SceUid, priority: i32) -> i32; sceKernelRotateThreadReadyQueue(priority: i32) -> i323076 pub fn sceKernelRotateThreadReadyQueue(priority: i32) -> i32; sceKernelReleaseWaitThread(thid: SceUid) -> i323077 pub fn sceKernelReleaseWaitThread(thid: SceUid) -> i32; sceKernelGetThreadId() -> i323078 pub fn sceKernelGetThreadId() -> i32; sceKernelGetThreadCurrentPriority() -> i323079 pub fn sceKernelGetThreadCurrentPriority() -> i32; sceKernelGetThreadExitStatus(thid: SceUid) -> i323080 pub fn sceKernelGetThreadExitStatus(thid: SceUid) -> i32; sceKernelCheckThreadStack() -> i323081 pub fn sceKernelCheckThreadStack() -> i32; sceKernelGetThreadStackFreeSize(thid: SceUid) -> i323082 pub fn sceKernelGetThreadStackFreeSize(thid: SceUid) -> i32; sceKernelReferThreadStatus( thid: SceUid, info: *mut SceKernelThreadInfo, ) -> i323083 pub fn sceKernelReferThreadStatus( 3084 thid: SceUid, 3085 info: *mut SceKernelThreadInfo, 3086 ) -> i32; sceKernelReferThreadRunStatus( thid: SceUid, status: *mut SceKernelThreadRunStatus, ) -> i323087 pub fn sceKernelReferThreadRunStatus( 3088 thid: SceUid, 3089 status: *mut SceKernelThreadRunStatus, 3090 ) -> i32; sceKernelCreateSema( name: *const u8, attr: u32, init_val: i32, max_val: i32, option: *mut SceKernelSemaOptParam, ) -> SceUid3091 pub fn sceKernelCreateSema( 3092 name: *const u8, 3093 attr: u32, 3094 init_val: i32, 3095 max_val: i32, 3096 option: *mut SceKernelSemaOptParam, 3097 ) -> SceUid; sceKernelDeleteSema(sema_id: SceUid) -> i323098 pub fn sceKernelDeleteSema(sema_id: SceUid) -> i32; sceKernelSignalSema(sema_id: SceUid, signal: i32) -> i323099 pub fn sceKernelSignalSema(sema_id: SceUid, signal: i32) -> i32; sceKernelWaitSema( sema_id: SceUid, signal: i32, timeout: *mut u32, ) -> i323100 pub fn sceKernelWaitSema( 3101 sema_id: SceUid, 3102 signal: i32, 3103 timeout: *mut u32, 3104 ) -> i32; sceKernelWaitSemaCB( sema_id: SceUid, signal: i32, timeout: *mut u32, ) -> i323105 pub fn sceKernelWaitSemaCB( 3106 sema_id: SceUid, 3107 signal: i32, 3108 timeout: *mut u32, 3109 ) -> i32; sceKernelPollSema(sema_id: SceUid, signal: i32) -> i323110 pub fn sceKernelPollSema(sema_id: SceUid, signal: i32) -> i32; sceKernelReferSemaStatus( sema_id: SceUid, info: *mut SceKernelSemaInfo, ) -> i323111 pub fn sceKernelReferSemaStatus( 3112 sema_id: SceUid, 3113 info: *mut SceKernelSemaInfo, 3114 ) -> i32; sceKernelCreateEventFlag( name: *const u8, attr: i32, bits: i32, opt: *mut SceKernelEventFlagOptParam, ) -> SceUid3115 pub fn sceKernelCreateEventFlag( 3116 name: *const u8, 3117 attr: i32, 3118 bits: i32, 3119 opt: *mut SceKernelEventFlagOptParam, 3120 ) -> SceUid; sceKernelSetEventFlag(ev_id: SceUid, bits: u32) -> i323121 pub fn sceKernelSetEventFlag(ev_id: SceUid, bits: u32) -> i32; sceKernelClearEventFlag(ev_id: SceUid, bits: u32) -> i323122 pub fn sceKernelClearEventFlag(ev_id: SceUid, bits: u32) -> i32; sceKernelPollEventFlag( ev_id: SceUid, bits: u32, wait: i32, out_bits: *mut u32, ) -> i323123 pub fn sceKernelPollEventFlag( 3124 ev_id: SceUid, 3125 bits: u32, 3126 wait: i32, 3127 out_bits: *mut u32, 3128 ) -> i32; sceKernelWaitEventFlag( ev_id: SceUid, bits: u32, wait: i32, out_bits: *mut u32, timeout: *mut u32, ) -> i323129 pub fn sceKernelWaitEventFlag( 3130 ev_id: SceUid, 3131 bits: u32, 3132 wait: i32, 3133 out_bits: *mut u32, 3134 timeout: *mut u32, 3135 ) -> i32; sceKernelWaitEventFlagCB( ev_id: SceUid, bits: u32, wait: i32, out_bits: *mut u32, timeout: *mut u32, ) -> i323136 pub fn sceKernelWaitEventFlagCB( 3137 ev_id: SceUid, 3138 bits: u32, 3139 wait: i32, 3140 out_bits: *mut u32, 3141 timeout: *mut u32, 3142 ) -> i32; sceKernelDeleteEventFlag(ev_id: SceUid) -> i323143 pub fn sceKernelDeleteEventFlag(ev_id: SceUid) -> i32; sceKernelReferEventFlagStatus( event: SceUid, status: *mut SceKernelEventFlagInfo, ) -> i323144 pub fn sceKernelReferEventFlagStatus( 3145 event: SceUid, 3146 status: *mut SceKernelEventFlagInfo, 3147 ) -> i32; sceKernelCreateMbx( name: *const u8, attr: u32, option: *mut SceKernelMbxOptParam, ) -> SceUid3148 pub fn sceKernelCreateMbx( 3149 name: *const u8, 3150 attr: u32, 3151 option: *mut SceKernelMbxOptParam, 3152 ) -> SceUid; sceKernelDeleteMbx(mbx_id: SceUid) -> i323153 pub fn sceKernelDeleteMbx(mbx_id: SceUid) -> i32; sceKernelSendMbx(mbx_id: SceUid, message: *mut c_void) -> i323154 pub fn sceKernelSendMbx(mbx_id: SceUid, message: *mut c_void) -> i32; sceKernelReceiveMbx( mbx_id: SceUid, message: *mut *mut c_void, timeout: *mut u32, ) -> i323155 pub fn sceKernelReceiveMbx( 3156 mbx_id: SceUid, 3157 message: *mut *mut c_void, 3158 timeout: *mut u32, 3159 ) -> i32; sceKernelReceiveMbxCB( mbx_id: SceUid, message: *mut *mut c_void, timeout: *mut u32, ) -> i323160 pub fn sceKernelReceiveMbxCB( 3161 mbx_id: SceUid, 3162 message: *mut *mut c_void, 3163 timeout: *mut u32, 3164 ) -> i32; sceKernelPollMbx(mbx_id: SceUid, pmessage: *mut *mut c_void) -> i323165 pub fn sceKernelPollMbx(mbx_id: SceUid, pmessage: *mut *mut c_void) 3166 -> i32; sceKernelCancelReceiveMbx(mbx_id: SceUid, num: *mut i32) -> i323167 pub fn sceKernelCancelReceiveMbx(mbx_id: SceUid, num: *mut i32) -> i32; sceKernelReferMbxStatus( mbx_id: SceUid, info: *mut SceKernelMbxInfo, ) -> i323168 pub fn sceKernelReferMbxStatus( 3169 mbx_id: SceUid, 3170 info: *mut SceKernelMbxInfo, 3171 ) -> i32; sceKernelSetAlarm( clock: u32, handler: SceKernelAlarmHandler, common: *mut c_void, ) -> SceUid3172 pub fn sceKernelSetAlarm( 3173 clock: u32, 3174 handler: SceKernelAlarmHandler, 3175 common: *mut c_void, 3176 ) -> SceUid; sceKernelSetSysClockAlarm( clock: *mut SceKernelSysClock, handler: *mut SceKernelAlarmHandler, common: *mut c_void, ) -> SceUid3177 pub fn sceKernelSetSysClockAlarm( 3178 clock: *mut SceKernelSysClock, 3179 handler: *mut SceKernelAlarmHandler, 3180 common: *mut c_void, 3181 ) -> SceUid; sceKernelCancelAlarm(alarm_id: SceUid) -> i323182 pub fn sceKernelCancelAlarm(alarm_id: SceUid) -> i32; sceKernelReferAlarmStatus( alarm_id: SceUid, info: *mut SceKernelAlarmInfo, ) -> i323183 pub fn sceKernelReferAlarmStatus( 3184 alarm_id: SceUid, 3185 info: *mut SceKernelAlarmInfo, 3186 ) -> i32; sceKernelCreateCallback( name: *const u8, func: SceKernelCallbackFunction, arg: *mut c_void, ) -> SceUid3187 pub fn sceKernelCreateCallback( 3188 name: *const u8, 3189 func: SceKernelCallbackFunction, 3190 arg: *mut c_void, 3191 ) -> SceUid; sceKernelReferCallbackStatus( cb: SceUid, status: *mut SceKernelCallbackInfo, ) -> i323192 pub fn sceKernelReferCallbackStatus( 3193 cb: SceUid, 3194 status: *mut SceKernelCallbackInfo, 3195 ) -> i32; sceKernelDeleteCallback(cb: SceUid) -> i323196 pub fn sceKernelDeleteCallback(cb: SceUid) -> i32; sceKernelNotifyCallback(cb: SceUid, arg2: i32) -> i323197 pub fn sceKernelNotifyCallback(cb: SceUid, arg2: i32) -> i32; sceKernelCancelCallback(cb: SceUid) -> i323198 pub fn sceKernelCancelCallback(cb: SceUid) -> i32; sceKernelGetCallbackCount(cb: SceUid) -> i323199 pub fn sceKernelGetCallbackCount(cb: SceUid) -> i32; sceKernelCheckCallback() -> i323200 pub fn sceKernelCheckCallback() -> i32; sceKernelGetThreadmanIdList( type_: SceKernelIdListType, read_buf: *mut SceUid, read_buf_size: i32, id_count: *mut i32, ) -> i323201 pub fn sceKernelGetThreadmanIdList( 3202 type_: SceKernelIdListType, 3203 read_buf: *mut SceUid, 3204 read_buf_size: i32, 3205 id_count: *mut i32, 3206 ) -> i32; sceKernelReferSystemStatus( status: *mut SceKernelSystemStatus, ) -> i323207 pub fn sceKernelReferSystemStatus( 3208 status: *mut SceKernelSystemStatus, 3209 ) -> i32; sceKernelCreateMsgPipe( name: *const u8, part: i32, attr: i32, unk1: *mut c_void, opt: *mut c_void, ) -> SceUid3210 pub fn sceKernelCreateMsgPipe( 3211 name: *const u8, 3212 part: i32, 3213 attr: i32, 3214 unk1: *mut c_void, 3215 opt: *mut c_void, 3216 ) -> SceUid; sceKernelDeleteMsgPipe(uid: SceUid) -> i323217 pub fn sceKernelDeleteMsgPipe(uid: SceUid) -> i32; sceKernelSendMsgPipe( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, timeout: *mut u32, ) -> i323218 pub fn sceKernelSendMsgPipe( 3219 uid: SceUid, 3220 message: *mut c_void, 3221 size: u32, 3222 unk1: i32, 3223 unk2: *mut c_void, 3224 timeout: *mut u32, 3225 ) -> i32; sceKernelSendMsgPipeCB( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, timeout: *mut u32, ) -> i323226 pub fn sceKernelSendMsgPipeCB( 3227 uid: SceUid, 3228 message: *mut c_void, 3229 size: u32, 3230 unk1: i32, 3231 unk2: *mut c_void, 3232 timeout: *mut u32, 3233 ) -> i32; sceKernelTrySendMsgPipe( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, ) -> i323234 pub fn sceKernelTrySendMsgPipe( 3235 uid: SceUid, 3236 message: *mut c_void, 3237 size: u32, 3238 unk1: i32, 3239 unk2: *mut c_void, 3240 ) -> i32; sceKernelReceiveMsgPipe( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, timeout: *mut u32, ) -> i323241 pub fn sceKernelReceiveMsgPipe( 3242 uid: SceUid, 3243 message: *mut c_void, 3244 size: u32, 3245 unk1: i32, 3246 unk2: *mut c_void, 3247 timeout: *mut u32, 3248 ) -> i32; sceKernelReceiveMsgPipeCB( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, timeout: *mut u32, ) -> i323249 pub fn sceKernelReceiveMsgPipeCB( 3250 uid: SceUid, 3251 message: *mut c_void, 3252 size: u32, 3253 unk1: i32, 3254 unk2: *mut c_void, 3255 timeout: *mut u32, 3256 ) -> i32; sceKernelTryReceiveMsgPipe( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, ) -> i323257 pub fn sceKernelTryReceiveMsgPipe( 3258 uid: SceUid, 3259 message: *mut c_void, 3260 size: u32, 3261 unk1: i32, 3262 unk2: *mut c_void, 3263 ) -> i32; sceKernelCancelMsgPipe( uid: SceUid, send: *mut i32, recv: *mut i32, ) -> i323264 pub fn sceKernelCancelMsgPipe( 3265 uid: SceUid, 3266 send: *mut i32, 3267 recv: *mut i32, 3268 ) -> i32; sceKernelReferMsgPipeStatus( uid: SceUid, info: *mut SceKernelMppInfo, ) -> i323269 pub fn sceKernelReferMsgPipeStatus( 3270 uid: SceUid, 3271 info: *mut SceKernelMppInfo, 3272 ) -> i32; sceKernelCreateVpl( name: *const u8, part: i32, attr: i32, size: u32, opt: *mut SceKernelVplOptParam, ) -> SceUid3273 pub fn sceKernelCreateVpl( 3274 name: *const u8, 3275 part: i32, 3276 attr: i32, 3277 size: u32, 3278 opt: *mut SceKernelVplOptParam, 3279 ) -> SceUid; sceKernelDeleteVpl(uid: SceUid) -> i323280 pub fn sceKernelDeleteVpl(uid: SceUid) -> i32; sceKernelAllocateVpl( uid: SceUid, size: u32, data: *mut *mut c_void, timeout: *mut u32, ) -> i323281 pub fn sceKernelAllocateVpl( 3282 uid: SceUid, 3283 size: u32, 3284 data: *mut *mut c_void, 3285 timeout: *mut u32, 3286 ) -> i32; sceKernelAllocateVplCB( uid: SceUid, size: u32, data: *mut *mut c_void, timeout: *mut u32, ) -> i323287 pub fn sceKernelAllocateVplCB( 3288 uid: SceUid, 3289 size: u32, 3290 data: *mut *mut c_void, 3291 timeout: *mut u32, 3292 ) -> i32; sceKernelTryAllocateVpl( uid: SceUid, size: u32, data: *mut *mut c_void, ) -> i323293 pub fn sceKernelTryAllocateVpl( 3294 uid: SceUid, 3295 size: u32, 3296 data: *mut *mut c_void, 3297 ) -> i32; sceKernelFreeVpl(uid: SceUid, data: *mut c_void) -> i323298 pub fn sceKernelFreeVpl(uid: SceUid, data: *mut c_void) -> i32; sceKernelCancelVpl(uid: SceUid, num: *mut i32) -> i323299 pub fn sceKernelCancelVpl(uid: SceUid, num: *mut i32) -> i32; sceKernelReferVplStatus( uid: SceUid, info: *mut SceKernelVplInfo, ) -> i323300 pub fn sceKernelReferVplStatus( 3301 uid: SceUid, 3302 info: *mut SceKernelVplInfo, 3303 ) -> i32; sceKernelCreateFpl( name: *const u8, part: i32, attr: i32, size: u32, blocks: u32, opt: *mut SceKernelFplOptParam, ) -> i323304 pub fn sceKernelCreateFpl( 3305 name: *const u8, 3306 part: i32, 3307 attr: i32, 3308 size: u32, 3309 blocks: u32, 3310 opt: *mut SceKernelFplOptParam, 3311 ) -> i32; sceKernelDeleteFpl(uid: SceUid) -> i323312 pub fn sceKernelDeleteFpl(uid: SceUid) -> i32; sceKernelAllocateFpl( uid: SceUid, data: *mut *mut c_void, timeout: *mut u32, ) -> i323313 pub fn sceKernelAllocateFpl( 3314 uid: SceUid, 3315 data: *mut *mut c_void, 3316 timeout: *mut u32, 3317 ) -> i32; sceKernelAllocateFplCB( uid: SceUid, data: *mut *mut c_void, timeout: *mut u32, ) -> i323318 pub fn sceKernelAllocateFplCB( 3319 uid: SceUid, 3320 data: *mut *mut c_void, 3321 timeout: *mut u32, 3322 ) -> i32; sceKernelTryAllocateFpl(uid: SceUid, data: *mut *mut c_void) -> i323323 pub fn sceKernelTryAllocateFpl(uid: SceUid, data: *mut *mut c_void) 3324 -> i32; sceKernelFreeFpl(uid: SceUid, data: *mut c_void) -> i323325 pub fn sceKernelFreeFpl(uid: SceUid, data: *mut c_void) -> i32; sceKernelCancelFpl(uid: SceUid, pnum: *mut i32) -> i323326 pub fn sceKernelCancelFpl(uid: SceUid, pnum: *mut i32) -> i32; sceKernelReferFplStatus( uid: SceUid, info: *mut SceKernelFplInfo, ) -> i323327 pub fn sceKernelReferFplStatus( 3328 uid: SceUid, 3329 info: *mut SceKernelFplInfo, 3330 ) -> i32; sceKernelUSec2SysClock( usec: u32, clock: *mut SceKernelSysClock, ) -> i323331 pub fn sceKernelUSec2SysClock( 3332 usec: u32, 3333 clock: *mut SceKernelSysClock, 3334 ) -> i32; sceKernelUSec2SysClockWide(usec: u32) -> i643335 pub fn sceKernelUSec2SysClockWide(usec: u32) -> i64; sceKernelSysClock2USec( clock: *mut SceKernelSysClock, low: *mut u32, high: *mut u32, ) -> i323336 pub fn sceKernelSysClock2USec( 3337 clock: *mut SceKernelSysClock, 3338 low: *mut u32, 3339 high: *mut u32, 3340 ) -> i32; sceKernelSysClock2USecWide( clock: i64, low: *mut u32, high: *mut u32, ) -> i323341 pub fn sceKernelSysClock2USecWide( 3342 clock: i64, 3343 low: *mut u32, 3344 high: *mut u32, 3345 ) -> i32; sceKernelGetSystemTime(time: *mut SceKernelSysClock) -> i323346 pub fn sceKernelGetSystemTime(time: *mut SceKernelSysClock) -> i32; sceKernelGetSystemTimeWide() -> i643347 pub fn sceKernelGetSystemTimeWide() -> i64; sceKernelGetSystemTimeLow() -> u323348 pub fn sceKernelGetSystemTimeLow() -> u32; sceKernelCreateVTimer( name: *const u8, opt: *mut SceKernelVTimerOptParam, ) -> SceUid3349 pub fn sceKernelCreateVTimer( 3350 name: *const u8, 3351 opt: *mut SceKernelVTimerOptParam, 3352 ) -> SceUid; sceKernelDeleteVTimer(uid: SceUid) -> i323353 pub fn sceKernelDeleteVTimer(uid: SceUid) -> i32; sceKernelGetVTimerBase( uid: SceUid, base: *mut SceKernelSysClock, ) -> i323354 pub fn sceKernelGetVTimerBase( 3355 uid: SceUid, 3356 base: *mut SceKernelSysClock, 3357 ) -> i32; sceKernelGetVTimerBaseWide(uid: SceUid) -> i643358 pub fn sceKernelGetVTimerBaseWide(uid: SceUid) -> i64; sceKernelGetVTimerTime( uid: SceUid, time: *mut SceKernelSysClock, ) -> i323359 pub fn sceKernelGetVTimerTime( 3360 uid: SceUid, 3361 time: *mut SceKernelSysClock, 3362 ) -> i32; sceKernelGetVTimerTimeWide(uid: SceUid) -> i643363 pub fn sceKernelGetVTimerTimeWide(uid: SceUid) -> i64; sceKernelSetVTimerTime( uid: SceUid, time: *mut SceKernelSysClock, ) -> i323364 pub fn sceKernelSetVTimerTime( 3365 uid: SceUid, 3366 time: *mut SceKernelSysClock, 3367 ) -> i32; sceKernelSetVTimerTimeWide(uid: SceUid, time: i64) -> i643368 pub fn sceKernelSetVTimerTimeWide(uid: SceUid, time: i64) -> i64; sceKernelStartVTimer(uid: SceUid) -> i323369 pub fn sceKernelStartVTimer(uid: SceUid) -> i32; sceKernelStopVTimer(uid: SceUid) -> i323370