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