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