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" { 2561 pub fn sceAudioChReserve(channel: i32, sample_count: i32, format: AudioFormat) -> i32; 2562 pub fn sceAudioChRelease(channel: i32) -> i32; 2563 pub fn sceAudioOutput(channel: i32, vol: i32, buf: *mut c_void) -> i32; 2564 pub fn sceAudioOutputBlocking(channel: i32, vol: i32, buf: *mut c_void) -> i32; 2565 pub fn sceAudioOutputPanned( 2566 channel: i32, 2567 left_vol: i32, 2568 right_vol: i32, 2569 buf: *mut c_void, 2570 ) -> i32; 2571 pub fn sceAudioOutputPannedBlocking( 2572 channel: i32, 2573 left_vol: i32, 2574 right_vol: i32, 2575 buf: *mut c_void, 2576 ) -> i32; 2577 pub fn sceAudioGetChannelRestLen(channel: i32) -> i32; 2578 pub fn sceAudioGetChannelRestLength(channel: i32) -> i32; 2579 pub fn sceAudioSetChannelDataLen(channel: i32, sample_count: i32) -> i32; 2580 pub fn sceAudioChangeChannelConfig(channel: i32, format: AudioFormat) -> i32; 2581 pub fn sceAudioChangeChannelVolume(channel: i32, left_vol: i32, right_vol: i32) -> i32; 2582 pub fn sceAudioOutput2Reserve(sample_count: i32) -> i32; 2583 pub fn sceAudioOutput2Release() -> i32; 2584 pub fn sceAudioOutput2ChangeLength(sample_count: i32) -> i32; 2585 pub fn sceAudioOutput2OutputBlocking(vol: i32, buf: *mut c_void) -> i32; 2586 pub fn sceAudioOutput2GetRestSample() -> i32; 2587 pub fn sceAudioSRCChReserve( 2588 sample_count: i32, 2589 freq: AudioOutputFrequency, 2590 channels: i32, 2591 ) -> i32; 2592 pub fn sceAudioSRCChRelease() -> i32; 2593 pub fn sceAudioSRCOutputBlocking(vol: i32, buf: *mut c_void) -> i32; 2594 pub fn sceAudioInputInit(unknown1: i32, gain: i32, unknown2: i32) -> i32; 2595 pub fn sceAudioInputInitEx(params: *mut AudioInputParams) -> i32; 2596 pub fn sceAudioInputBlocking(sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void); 2597 pub fn sceAudioInput(sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void); 2598 pub fn sceAudioGetInputLength() -> i32; 2599 pub fn sceAudioWaitInputEnd() -> i32; 2600 pub fn sceAudioPollInputEnd() -> i32; 2601 2602 pub fn sceAtracGetAtracID(ui_codec_type: u32) -> i32; 2603 pub fn sceAtracSetDataAndGetID(buf: *mut c_void, bufsize: usize) -> i32; 2604 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; 2611 pub fn sceAtracGetRemainFrame(atrac_id: i32, out_remain_frame: *mut i32) -> i32; 2612 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; 2618 pub fn sceAtracAddStreamData(atrac_id: i32, bytes_to_add: u32) -> i32; 2619 pub fn sceAtracGetBitrate(atrac_id: i32, out_bitrate: *mut i32) -> i32; 2620 pub fn sceAtracSetLoopNum(atrac_id: i32, nloops: i32) -> i32; 2621 pub fn sceAtracReleaseAtracID(atrac_id: i32) -> i32; 2622 pub fn sceAtracGetNextSample(atrac_id: i32, out_n: *mut i32) -> i32; 2623 pub fn sceAtracGetMaxSample(atrac_id: i32, out_max: *mut i32) -> i32; 2624 pub fn sceAtracGetBufferInfoForReseting( 2625 atrac_id: i32, 2626 ui_sample: u32, 2627 pbuffer_info: *mut Atrac3BufferInfo, 2628 ) -> i32; 2629 pub fn sceAtracGetChannel(atrac_id: i32, pui_channel: *mut u32) -> i32; 2630 pub fn sceAtracGetInternalErrorInfo(atrac_id: i32, pi_result: *mut i32) -> i32; 2631 pub fn sceAtracGetLoopStatus( 2632 atrac_id: i32, 2633 pi_loop_num: *mut i32, 2634 pui_loop_status: *mut u32, 2635 ) -> i32; 2636 pub fn sceAtracGetNextDecodePosition(atrac_id: i32, pui_sample_position: *mut u32) -> i32; 2637 pub fn sceAtracGetSecondBufferInfo( 2638 atrac_id: i32, 2639 pui_position: *mut u32, 2640 pui_data_byte: *mut u32, 2641 ) -> i32; 2642 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; 2648 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; 2654 pub fn sceAtracSetData(atrac_id: i32, puc_buffer_addr: *mut u8, ui_buffer_byte: u32) -> i32; 2655 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; 2661 pub fn sceAtracSetHalfwayBufferAndGetID( 2662 puc_buffer_addr: *mut u8, 2663 ui_read_byte: u32, 2664 ui_buffer_byte: u32, 2665 ) -> i32; 2666 pub fn sceAtracSetSecondBuffer( 2667 atrac_id: i32, 2668 puc_second_buffer_addr: *mut u8, 2669 ui_second_buffer_byte: u32, 2670 ) -> i32; 2671 2672 pub fn sceCtrlSetSamplingCycle(cycle: i32) -> i32; 2673 pub fn sceCtrlGetSamplingCycle(pcycle: *mut i32) -> i32; 2674 pub fn sceCtrlSetSamplingMode(mode: CtrlMode) -> i32; 2675 pub fn sceCtrlGetSamplingMode(pmode: *mut i32) -> i32; 2676 pub fn sceCtrlPeekBufferPositive(pad_data: *mut SceCtrlData, count: i32) -> i32; 2677 pub fn sceCtrlPeekBufferNegative(pad_data: *mut SceCtrlData, count: i32) -> i32; 2678 pub fn sceCtrlReadBufferPositive(pad_data: *mut SceCtrlData, count: i32) -> i32; 2679 pub fn sceCtrlReadBufferNegative(pad_data: *mut SceCtrlData, count: i32) -> i32; 2680 pub fn sceCtrlPeekLatch(latch_data: *mut SceCtrlLatch) -> i32; 2681 pub fn sceCtrlReadLatch(latch_data: *mut SceCtrlLatch) -> i32; 2682 pub fn sceCtrlSetIdleCancelThreshold(idlereset: i32, idleback: i32) -> i32; 2683 pub fn sceCtrlGetIdleCancelThreshold(idlereset: *mut i32, idleback: *mut i32) -> i32; 2684 2685 pub fn sceDisplaySetMode(mode: DisplayMode, width: usize, height: usize) -> u32; 2686 pub fn sceDisplayGetMode(pmode: *mut i32, pwidth: *mut i32, pheight: *mut i32) -> i32; 2687 pub fn sceDisplaySetFrameBuf( 2688 top_addr: *const u8, 2689 buffer_width: usize, 2690 pixel_format: DisplayPixelFormat, 2691 sync: DisplaySetBufSync, 2692 ) -> u32; 2693 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; 2699 pub fn sceDisplayGetVcount() -> u32; 2700 pub fn sceDisplayWaitVblank() -> i32; 2701 pub fn sceDisplayWaitVblankCB() -> i32; 2702 pub fn sceDisplayWaitVblankStart() -> i32; 2703 pub fn sceDisplayWaitVblankStartCB() -> i32; 2704 pub fn sceDisplayGetAccumulatedHcount() -> i32; 2705 pub fn sceDisplayGetCurrentHcount() -> i32; 2706 pub fn sceDisplayGetFramePerSec() -> f32; 2707 pub fn sceDisplayIsForeground() -> i32; 2708 pub fn sceDisplayIsVblank() -> i32; 2709 2710 pub fn sceGeEdramGetSize() -> u32; 2711 pub fn sceGeEdramGetAddr() -> *mut u8; 2712 pub fn sceGeEdramSetAddrTranslation(width: i32) -> i32; 2713 pub fn sceGeGetCmd(cmd: i32) -> u32; 2714 pub fn sceGeGetMtx(type_: GeMatrixType, matrix: *mut c_void) -> i32; 2715 pub fn sceGeGetStack(stack_id: i32, stack: *mut GeStack) -> i32; 2716 pub fn sceGeSaveContext(context: *mut GeContext) -> i32; 2717 pub fn sceGeRestoreContext(context: *const GeContext) -> i32; 2718 pub fn sceGeListEnQueue( 2719 list: *const c_void, 2720 stall: *mut c_void, 2721 cbid: i32, 2722 arg: *mut GeListArgs, 2723 ) -> i32; 2724 pub fn sceGeListEnQueueHead( 2725 list: *const c_void, 2726 stall: *mut c_void, 2727 cbid: i32, 2728 arg: *mut GeListArgs, 2729 ) -> i32; 2730 pub fn sceGeListDeQueue(qid: i32) -> i32; 2731 pub fn sceGeListUpdateStallAddr(qid: i32, stall: *mut c_void) -> i32; 2732 pub fn sceGeListSync(qid: i32, sync_type: i32) -> GeListState; 2733 pub fn sceGeDrawSync(sync_type: i32) -> GeListState; 2734 pub fn sceGeBreak(mode: i32, p_param: *mut GeBreakParam) -> i32; 2735 pub fn sceGeContinue() -> i32; 2736 pub fn sceGeSetCallback(cb: *mut GeCallbackData) -> i32; 2737 pub fn sceGeUnsetCallback(cbid: i32) -> i32; 2738 2739 pub fn sceKernelExitGame(); 2740 pub fn sceKernelRegisterExitCallback(id: SceUid) -> i32; 2741 pub fn sceKernelLoadExec(file: *const u8, param: *mut SceKernelLoadExecParam) -> i32; 2742 2743 pub fn sceKernelAllocPartitionMemory( 2744 partition: SceSysMemPartitionId, 2745 name: *const u8, 2746 type_: SceSysMemBlockTypes, 2747 size: u32, 2748 addr: *mut c_void, 2749 ) -> SceUid; 2750 pub fn sceKernelGetBlockHeadAddr(blockid: SceUid) -> *mut c_void; 2751 pub fn sceKernelFreePartitionMemory(blockid: SceUid) -> i32; 2752 pub fn sceKernelTotalFreeMemSize() -> usize; 2753 pub fn sceKernelMaxFreeMemSize() -> usize; 2754 pub fn sceKernelDevkitVersion() -> u32; 2755 pub fn sceKernelSetCompiledSdkVersion(version: u32) -> i32; 2756 pub fn sceKernelGetCompiledSdkVersion() -> u32; 2757 2758 pub fn sceKernelLibcTime(t: *mut i32) -> i32; 2759 pub fn sceKernelLibcClock() -> u32; 2760 pub fn sceKernelLibcGettimeofday(tp: *mut timeval, tzp: *mut timezone) -> i32; 2761 pub fn sceKernelDcacheWritebackAll(); 2762 pub fn sceKernelDcacheWritebackInvalidateAll(); 2763 pub fn sceKernelDcacheWritebackRange(p: *const c_void, size: u32); 2764 pub fn sceKernelDcacheWritebackInvalidateRange(p: *const c_void, size: u32); 2765 pub fn sceKernelDcacheInvalidateRange(p: *const c_void, size: u32); 2766 pub fn sceKernelIcacheInvalidateAll(); 2767 pub fn sceKernelIcacheInvalidateRange(p: *const c_void, size: u32); 2768 pub fn sceKernelUtilsMt19937Init(ctx: *mut SceKernelUtilsMt19937Context, seed: u32) -> i32; 2769 pub fn sceKernelUtilsMt19937UInt(ctx: *mut SceKernelUtilsMt19937Context) -> u32; 2770 pub fn sceKernelUtilsMd5Digest(data: *mut u8, size: u32, digest: *mut u8) -> i32; 2771 pub fn sceKernelUtilsMd5BlockInit(ctx: *mut SceKernelUtilsMd5Context) -> i32; 2772 pub fn sceKernelUtilsMd5BlockUpdate( 2773 ctx: *mut SceKernelUtilsMd5Context, 2774 data: *mut u8, 2775 size: u32, 2776 ) -> i32; 2777 pub fn sceKernelUtilsMd5BlockResult(ctx: *mut SceKernelUtilsMd5Context, digest: *mut u8) 2778 -> i32; 2779 pub fn sceKernelUtilsSha1Digest(data: *mut u8, size: u32, digest: *mut u8) -> i32; 2780 pub fn sceKernelUtilsSha1BlockInit(ctx: *mut SceKernelUtilsSha1Context) -> i32; 2781 pub fn sceKernelUtilsSha1BlockUpdate( 2782 ctx: *mut SceKernelUtilsSha1Context, 2783 data: *mut u8, 2784 size: u32, 2785 ) -> i32; 2786 pub fn sceKernelUtilsSha1BlockResult( 2787 ctx: *mut SceKernelUtilsSha1Context, 2788 digest: *mut u8, 2789 ) -> i32; 2790 2791 pub fn sceKernelRegisterSubIntrHandler( 2792 int_no: i32, 2793 no: i32, 2794 handler: *mut c_void, 2795 arg: *mut c_void, 2796 ) -> i32; 2797 pub fn sceKernelReleaseSubIntrHandler(int_no: i32, no: i32) -> i32; 2798 pub fn sceKernelEnableSubIntr(int_no: i32, no: i32) -> i32; 2799 pub fn sceKernelDisableSubIntr(int_no: i32, no: i32) -> i32; 2800 pub fn QueryIntrHandlerInfo( 2801 intr_code: SceUid, 2802 sub_intr_code: SceUid, 2803 data: *mut IntrHandlerOptionParam, 2804 ) -> i32; 2805 2806 pub fn sceKernelCpuSuspendIntr() -> u32; 2807 pub fn sceKernelCpuResumeIntr(flags: u32); 2808 pub fn sceKernelCpuResumeIntrWithSync(flags: u32); 2809 pub fn sceKernelIsCpuIntrSuspended(flags: u32) -> i32; 2810 pub fn sceKernelIsCpuIntrEnable() -> i32; 2811 2812 pub fn sceKernelLoadModule( 2813 path: *const u8, 2814 flags: i32, 2815 option: *mut SceKernelLMOption, 2816 ) -> SceUid; 2817 pub fn sceKernelLoadModuleMs( 2818 path: *const u8, 2819 flags: i32, 2820 option: *mut SceKernelLMOption, 2821 ) -> SceUid; 2822 pub fn sceKernelLoadModuleByID( 2823 fid: SceUid, 2824 flags: i32, 2825 option: *mut SceKernelLMOption, 2826 ) -> SceUid; 2827 pub fn sceKernelLoadModuleBufferUsbWlan( 2828 buf_size: usize, 2829 buf: *mut c_void, 2830 flags: i32, 2831 option: *mut SceKernelLMOption, 2832 ) -> SceUid; 2833 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; 2840 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; 2847 pub fn sceKernelUnloadModule(mod_id: SceUid) -> i32; 2848 pub fn sceKernelSelfStopUnloadModule(unknown: i32, arg_size: usize, argp: *mut c_void) -> i32; 2849 pub fn sceKernelStopUnloadSelfModule( 2850 arg_size: usize, 2851 argp: *mut c_void, 2852 status: *mut i32, 2853 option: *mut SceKernelSMOption, 2854 ) -> i32; 2855 pub fn sceKernelQueryModuleInfo(mod_id: SceUid, info: *mut SceKernelModuleInfo) -> i32; 2856 pub fn sceKernelGetModuleIdList( 2857 read_buf: *mut SceUid, 2858 read_buf_size: i32, 2859 id_count: *mut i32, 2860 ) -> i32; 2861 2862 pub fn sceKernelVolatileMemLock(unk: i32, ptr: *mut *mut c_void, size: *mut i32) -> i32; 2863 pub fn sceKernelVolatileMemTryLock(unk: i32, ptr: *mut *mut c_void, size: *mut i32) -> i32; 2864 pub fn sceKernelVolatileMemUnlock(unk: i32) -> i32; 2865 2866 pub fn sceKernelStdin() -> SceUid; 2867 pub fn sceKernelStdout() -> SceUid; 2868 pub fn sceKernelStderr() -> SceUid; 2869 2870 pub fn sceKernelGetThreadmanIdType(uid: SceUid) -> SceKernelIdListType; 2871 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; 2879 pub fn sceKernelDeleteThread(thid: SceUid) -> i32; 2880 pub fn sceKernelStartThread(id: SceUid, arg_len: usize, arg_p: *mut c_void) -> i32; 2881 pub fn sceKernelExitThread(status: i32) -> i32; 2882 pub fn sceKernelExitDeleteThread(status: i32) -> i32; 2883 pub fn sceKernelTerminateThread(thid: SceUid) -> i32; 2884 pub fn sceKernelTerminateDeleteThread(thid: SceUid) -> i32; 2885 pub fn sceKernelSuspendDispatchThread() -> i32; 2886 pub fn sceKernelResumeDispatchThread(state: i32) -> i32; 2887 pub fn sceKernelSleepThread() -> i32; 2888 pub fn sceKernelSleepThreadCB() -> i32; 2889 pub fn sceKernelWakeupThread(thid: SceUid) -> i32; 2890 pub fn sceKernelCancelWakeupThread(thid: SceUid) -> i32; 2891 pub fn sceKernelSuspendThread(thid: SceUid) -> i32; 2892 pub fn sceKernelResumeThread(thid: SceUid) -> i32; 2893 pub fn sceKernelWaitThreadEnd(thid: SceUid, timeout: *mut u32) -> i32; 2894 pub fn sceKernelWaitThreadEndCB(thid: SceUid, timeout: *mut u32) -> i32; 2895 pub fn sceKernelDelayThread(delay: u32) -> i32; 2896 pub fn sceKernelDelayThreadCB(delay: u32) -> i32; 2897 pub fn sceKernelDelaySysClockThread(delay: *mut SceKernelSysClock) -> i32; 2898 pub fn sceKernelDelaySysClockThreadCB(delay: *mut SceKernelSysClock) -> i32; 2899 pub fn sceKernelChangeCurrentThreadAttr(unknown: i32, attr: i32) -> i32; 2900 pub fn sceKernelChangeThreadPriority(thid: SceUid, priority: i32) -> i32; 2901 pub fn sceKernelRotateThreadReadyQueue(priority: i32) -> i32; 2902 pub fn sceKernelReleaseWaitThread(thid: SceUid) -> i32; 2903 pub fn sceKernelGetThreadId() -> i32; 2904 pub fn sceKernelGetThreadCurrentPriority() -> i32; 2905 pub fn sceKernelGetThreadExitStatus(thid: SceUid) -> i32; 2906 pub fn sceKernelCheckThreadStack() -> i32; 2907 pub fn sceKernelGetThreadStackFreeSize(thid: SceUid) -> i32; 2908 pub fn sceKernelReferThreadStatus(thid: SceUid, info: *mut SceKernelThreadInfo) -> i32; 2909 pub fn sceKernelReferThreadRunStatus( 2910 thid: SceUid, 2911 status: *mut SceKernelThreadRunStatus, 2912 ) -> i32; 2913 pub fn sceKernelCreateSema( 2914 name: *const u8, 2915 attr: u32, 2916 init_val: i32, 2917 max_val: i32, 2918 option: *mut SceKernelSemaOptParam, 2919 ) -> SceUid; 2920 pub fn sceKernelDeleteSema(sema_id: SceUid) -> i32; 2921 pub fn sceKernelSignalSema(sema_id: SceUid, signal: i32) -> i32; 2922 pub fn sceKernelWaitSema(sema_id: SceUid, signal: i32, timeout: *mut u32) -> i32; 2923 pub fn sceKernelWaitSemaCB(sema_id: SceUid, signal: i32, timeout: *mut u32) -> i32; 2924 pub fn sceKernelPollSema(sema_id: SceUid, signal: i32) -> i32; 2925 pub fn sceKernelReferSemaStatus(sema_id: SceUid, info: *mut SceKernelSemaInfo) -> i32; 2926 pub fn sceKernelCreateEventFlag( 2927 name: *const u8, 2928 attr: i32, 2929 bits: i32, 2930 opt: *mut SceKernelEventFlagOptParam, 2931 ) -> SceUid; 2932 pub fn sceKernelSetEventFlag(ev_id: SceUid, bits: u32) -> i32; 2933 pub fn sceKernelClearEventFlag(ev_id: SceUid, bits: u32) -> i32; 2934 pub fn sceKernelPollEventFlag(ev_id: SceUid, bits: u32, wait: i32, out_bits: *mut u32) -> i32; 2935 pub fn sceKernelWaitEventFlag( 2936 ev_id: SceUid, 2937 bits: u32, 2938 wait: i32, 2939 out_bits: *mut u32, 2940 timeout: *mut u32, 2941 ) -> i32; 2942 pub fn sceKernelWaitEventFlagCB( 2943 ev_id: SceUid, 2944 bits: u32, 2945 wait: i32, 2946 out_bits: *mut u32, 2947 timeout: *mut u32, 2948 ) -> i32; 2949 pub fn sceKernelDeleteEventFlag(ev_id: SceUid) -> i32; 2950 pub fn sceKernelReferEventFlagStatus(event: SceUid, status: *mut SceKernelEventFlagInfo) 2951 -> i32; 2952 pub fn sceKernelCreateMbx( 2953 name: *const u8, 2954 attr: u32, 2955 option: *mut SceKernelMbxOptParam, 2956 ) -> SceUid; 2957 pub fn sceKernelDeleteMbx(mbx_id: SceUid) -> i32; 2958 pub fn sceKernelSendMbx(mbx_id: SceUid, message: *mut c_void) -> i32; 2959 pub fn sceKernelReceiveMbx(mbx_id: SceUid, message: *mut *mut c_void, timeout: *mut u32) 2960 -> i32; 2961 pub fn sceKernelReceiveMbxCB( 2962 mbx_id: SceUid, 2963 message: *mut *mut c_void, 2964 timeout: *mut u32, 2965 ) -> i32; 2966 pub fn sceKernelPollMbx(mbx_id: SceUid, pmessage: *mut *mut c_void) -> i32; 2967 pub fn sceKernelCancelReceiveMbx(mbx_id: SceUid, num: *mut i32) -> i32; 2968 pub fn sceKernelReferMbxStatus(mbx_id: SceUid, info: *mut SceKernelMbxInfo) -> i32; 2969 pub fn sceKernelSetAlarm( 2970 clock: u32, 2971 handler: SceKernelAlarmHandler, 2972 common: *mut c_void, 2973 ) -> SceUid; 2974 pub fn sceKernelSetSysClockAlarm( 2975 clock: *mut SceKernelSysClock, 2976 handler: *mut SceKernelAlarmHandler, 2977 common: *mut c_void, 2978 ) -> SceUid; 2979 pub fn sceKernelCancelAlarm(alarm_id: SceUid) -> i32; 2980 pub fn sceKernelReferAlarmStatus(alarm_id: SceUid, info: *mut SceKernelAlarmInfo) -> i32; 2981 pub fn sceKernelCreateCallback( 2982 name: *const u8, 2983 func: SceKernelCallbackFunction, 2984 arg: *mut c_void, 2985 ) -> SceUid; 2986 pub fn sceKernelReferCallbackStatus(cb: SceUid, status: *mut SceKernelCallbackInfo) -> i32; 2987 pub fn sceKernelDeleteCallback(cb: SceUid) -> i32; 2988 pub fn sceKernelNotifyCallback(cb: SceUid, arg2: i32) -> i32; 2989 pub fn sceKernelCancelCallback(cb: SceUid) -> i32; 2990 pub fn sceKernelGetCallbackCount(cb: SceUid) -> i32; 2991 pub fn sceKernelCheckCallback() -> i32; 2992 pub fn sceKernelGetThreadmanIdList( 2993 type_: SceKernelIdListType, 2994 read_buf: *mut SceUid, 2995 read_buf_size: i32, 2996 id_count: *mut i32, 2997 ) -> i32; 2998 pub fn sceKernelReferSystemStatus(status: *mut SceKernelSystemStatus) -> i32; 2999 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; 3006 pub fn sceKernelDeleteMsgPipe(uid: SceUid) -> i32; 3007 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; 3015 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; 3023 pub fn sceKernelTrySendMsgPipe( 3024 uid: SceUid, 3025 message: *mut c_void, 3026 size: u32, 3027 unk1: i32, 3028 unk2: *mut c_void, 3029 ) -> i32; 3030 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; 3038 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; 3046 pub fn sceKernelTryReceiveMsgPipe( 3047 uid: SceUid, 3048 message: *mut c_void, 3049 size: u32, 3050 unk1: i32, 3051 unk2: *mut c_void, 3052 ) -> i32; 3053 pub fn sceKernelCancelMsgPipe(uid: SceUid, send: *mut i32, recv: *mut i32) -> i32; 3054 pub fn sceKernelReferMsgPipeStatus(uid: SceUid, info: *mut SceKernelMppInfo) -> i32; 3055 pub fn sceKernelCreateVpl( 3056 name: *const u8, 3057 part: i32, 3058 attr: i32, 3059 size: u32, 3060 opt: *mut SceKernelVplOptParam, 3061 ) -> SceUid; 3062 pub fn sceKernelDeleteVpl(uid: SceUid) -> i32; 3063 pub fn sceKernelAllocateVpl( 3064 uid: SceUid, 3065 size: u32, 3066 data: *mut *mut c_void, 3067 timeout: *mut u32, 3068 ) -> i32; 3069 pub fn sceKernelAllocateVplCB( 3070 uid: SceUid, 3071 size: u32, 3072 data: *mut *mut c_void, 3073 timeout: *mut u32, 3074 ) -> i32; 3075 pub fn sceKernelTryAllocateVpl(uid: SceUid, size: u32, data: *mut *mut c_void) -> i32; 3076 pub fn sceKernelFreeVpl(uid: SceUid, data: *mut c_void) -> i32; 3077 pub fn sceKernelCancelVpl(uid: SceUid, num: *mut i32) -> i32; 3078 pub fn sceKernelReferVplStatus(uid: SceUid, info: *mut SceKernelVplInfo) -> i32; 3079 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; 3087 pub fn sceKernelDeleteFpl(uid: SceUid) -> i32; 3088 pub fn sceKernelAllocateFpl(uid: SceUid, data: *mut *mut c_void, timeout: *mut u32) -> i32; 3089 pub fn sceKernelAllocateFplCB(uid: SceUid, data: *mut *mut c_void, timeout: *mut u32) -> i32; 3090 pub fn sceKernelTryAllocateFpl(uid: SceUid, data: *mut *mut c_void) -> i32; 3091 pub fn sceKernelFreeFpl(uid: SceUid, data: *mut c_void) -> i32; 3092 pub fn sceKernelCancelFpl(uid: SceUid, pnum: *mut i32) -> i32; 3093 pub fn sceKernelReferFplStatus(uid: SceUid, info: *mut SceKernelFplInfo) -> i32; 3094 pub fn sceKernelUSec2SysClock(usec: u32, clock: *mut SceKernelSysClock) -> i32; 3095 pub fn sceKernelUSec2SysClockWide(usec: u32) -> i64; 3096 pub fn sceKernelSysClock2USec( 3097 clock: *mut SceKernelSysClock, 3098 low: *mut u32, 3099 high: *mut u32, 3100 ) -> i32; 3101 pub fn sceKernelSysClock2USecWide(clock: i64, low: *mut u32, high: *mut u32) -> i32; 3102 pub fn sceKernelGetSystemTime(time: *mut SceKernelSysClock) -> i32; 3103 pub fn sceKernelGetSystemTimeWide() -> i64; 3104 pub fn sceKernelGetSystemTimeLow() -> u32; 3105 pub fn sceKernelCreateVTimer(name: *const u8, opt: *mut SceKernelVTimerOptParam) -> SceUid; 3106 pub fn sceKernelDeleteVTimer(uid: SceUid) -> i32; 3107 pub fn sceKernelGetVTimerBase(uid: SceUid, base: *mut SceKernelSysClock) -> i32; 3108 pub fn sceKernelGetVTimerBaseWide(uid: SceUid) -> i64; 3109 pub fn sceKernelGetVTimerTime(uid: SceUid, time: *mut SceKernelSysClock) -> i32; 3110 pub fn sceKernelGetVTimerTimeWide(uid: SceUid) -> i64; 3111 pub fn sceKernelSetVTimerTime(uid: SceUid, time: *mut SceKernelSysClock) -> i32; 3112 pub fn sceKernelSetVTimerTimeWide(uid: SceUid, time: i64) -> i64; 3113 pub fn sceKernelStartVTimer(uid: SceUid) -> i32; 3114 pub fn sceKernelStopVTimer(uid: SceUid) -> i32; 3115 pub fn sceKernelSetVTimerHandler( 3116 uid: SceUid, 3117 time: *mut SceKernelSysClock, 3118 handler: SceKernelVTimerHandler, 3119 common: *mut c_void, 3120 ) -> i32; 3121 pub fn sceKernelSetVTimerHandlerWide( 3122 uid: SceUid, 3123 time: i64, 3124 handler: SceKernelVTimerHandlerWide, 3125 common: *mut c_void, 3126 ) -> i32; 3127 pub fn sceKernelCancelVTimerHandler(uid: SceUid) -> i32; 3128 pub fn sceKernelReferVTimerStatus(uid: SceUid, info: *mut SceKernelVTimerInfo) -> i32; 3129 pub fn sceKernelRegisterThreadEventHandler( 3130 name: *const u8, 3131 thread_id: SceUid, 3132 mask: i32, 3133 handler: SceKernelThreadEventHandler, 3134 common: *mut c_void, 3135 ) -> SceUid; 3136 pub fn sceKernelReleaseThreadEventHandler(uid: SceUid) -> i32; 3137 pub fn sceKernelReferThreadEventHandlerStatus( 3138 uid: SceUid, 3139 info: *mut SceKernelThreadEventHandlerInfo, 3140 ) -> i32; 3141 pub fn sceKernelReferThreadProfiler() -> *mut DebugProfilerRegs; 3142 pub fn sceKernelReferGlobalProfiler() -> *mut DebugProfilerRegs; 3143 3144 pub fn sceUsbStart(driver_name: *const u8, size: i32, args: *mut c_void) -> i32; 3145 pub fn sceUsbStop(driver_name: *const u8, size: i32, args: *mut c_void) -> i32; 3146 pub fn sceUsbActivate(pid: u32) -> i32; 3147 pub fn sceUsbDeactivate(pid: u32) -> i32; 3148 pub fn sceUsbGetState() -> i32; 3149 pub fn sceUsbGetDrvState(driver_name: *const u8) -> i32; 3150 } 3151 3152 extern "C" { 3153 pub fn sceUsbCamSetupStill(param: *mut UsbCamSetupStillParam) -> i32; 3154 pub fn sceUsbCamSetupStillEx(param: *mut UsbCamSetupStillExParam) -> i32; 3155 pub fn sceUsbCamStillInputBlocking(buf: *mut u8, size: usize) -> i32; 3156 pub fn sceUsbCamStillInput(buf: *mut u8, size: usize) -> i32; 3157 pub fn sceUsbCamStillWaitInputEnd() -> i32; 3158 pub fn sceUsbCamStillPollInputEnd() -> i32; 3159 pub fn sceUsbCamStillCancelInput() -> i32; 3160 pub fn sceUsbCamStillGetInputLength() -> i32; 3161 pub fn sceUsbCamSetupVideo( 3162 param: *mut UsbCamSetupVideoParam, 3163 work_area: *mut c_void, 3164 work_area_size: i32, 3165 ) -> i32; 3166 pub fn sceUsbCamSetupVideoEx( 3167 param: *mut UsbCamSetupVideoExParam, 3168 work_area: *mut c_void, 3169 work_area_size: i32, 3170 ) -> i32; 3171 pub fn sceUsbCamStartVideo() -> i32; 3172 pub fn sceUsbCamStopVideo() -> i32; 3173 pub fn sceUsbCamReadVideoFrameBlocking(buf: *mut u8, size: usize) -> i32; 3174 pub fn sceUsbCamReadVideoFrame(buf: *mut u8, size: usize) -> i32; 3175 pub fn sceUsbCamWaitReadVideoFrameEnd() -> i32; 3176 pub fn sceUsbCamPollReadVideoFrameEnd() -> i32; 3177 pub fn sceUsbCamGetReadVideoFrameSize() -> i32; 3178 pub fn sceUsbCamSetSaturation(saturation: i32) -> i32; 3179 pub fn sceUsbCamSetBrightness(brightness: i32) -> i32; 3180 pub fn sceUsbCamSetContrast(contrast: i32) -> i32; 3181 pub fn sceUsbCamSetSharpness(sharpness: i32) -> i32; 3182 pub fn sceUsbCamSetImageEffectMode(effect_mode: UsbCamEffectMode) -> i32; 3183 pub fn sceUsbCamSetEvLevel(exposure_level: UsbCamEvLevel) -> i32; 3184 pub fn sceUsbCamSetReverseMode(reverse_flags: i32) -> i32; 3185 pub fn sceUsbCamSetZoom(zoom: i32) -> i32; 3186 pub fn sceUsbCamGetSaturation(saturation: *mut i32) -> i32; 3187 pub fn sceUsbCamGetBrightness(brightness: *mut i32) -> i32; 3188 pub fn sceUsbCamGetContrast(contrast: *mut i32) -> i32; 3189 pub fn sceUsbCamGetSharpness(sharpness: *mut i32) -> i32; 3190 pub fn sceUsbCamGetImageEffectMode(effect_mode: *mut UsbCamEffectMode) -> i32; 3191 pub fn sceUsbCamGetEvLevel(exposure_level: *mut UsbCamEvLevel) -> i32; 3192 pub fn sceUsbCamGetReverseMode(reverse_flags: *mut i32) -> i32; 3193 pub fn sceUsbCamGetZoom(zoom: *mut i32) -> i32; 3194 pub fn sceUsbCamAutoImageReverseSW(on: i32) -> i32; 3195 pub fn sceUsbCamGetAutoImageReverseState() -> i32; 3196 pub fn sceUsbCamGetLensDirection() -> i32; 3197 3198 pub fn sceUsbstorBootRegisterNotify(event_flag: SceUid) -> i32; 3199 pub fn sceUsbstorBootUnregisterNotify(event_flag: u32) -> i32; 3200 pub fn sceUsbstorBootSetCapacity(size: u32) -> i32; 3201 3202 pub fn scePowerRegisterCallback(slot: i32, cbid: SceUid) -> i32; 3203 pub fn scePowerUnregisterCallback(slot: i32) -> i32; 3204 pub fn scePowerIsPowerOnline() -> i32; 3205 pub fn scePowerIsBatteryExist() -> i32; 3206 pub fn scePowerIsBatteryCharging() -> i32; 3207 pub fn scePowerGetBatteryChargingStatus() -> i32; 3208 pub fn scePowerIsLowBattery() -> i32; 3209 pub fn scePowerGetBatteryLifePercent() -> i32; 3210 pub fn scePowerGetBatteryLifeTime() -> i32; 3211 pub fn scePowerGetBatteryTemp() -> i32; 3212 pub fn scePowerGetBatteryElec() -> i32; 3213 pub fn scePowerGetBatteryVolt() -> i32; 3214 pub fn scePowerSetCpuClockFrequency(cpufreq: i32) -> i32; 3215 pub fn scePowerSetBusClockFrequency(busfreq: i32) -> i32; 3216 pub fn scePowerGetCpuClockFrequency() -> i32; 3217 pub fn scePowerGetCpuClockFrequencyInt() -> i32; 3218 pub fn scePowerGetCpuClockFrequencyFloat() -> f32; 3219 pub fn scePowerGetBusClockFrequency() -> i32; 3220 pub fn scePowerGetBusClockFrequencyInt() -> i32; 3221 pub fn scePowerGetBusClockFrequencyFloat() -> f32; 3222 pub fn scePowerSetClockFrequency(pllfreq: i32, cpufreq: i32, busfreq: i32) -> i32; 3223 pub fn scePowerLock(unknown: i32) -> i32; 3224 pub fn scePowerUnlock(unknown: i32) -> i32; 3225 pub fn scePowerTick(t: PowerTick) -> i32; 3226 pub fn scePowerGetIdleTimer() -> i32; 3227 pub fn scePowerIdleTimerEnable(unknown: i32) -> i32; 3228 pub fn scePowerIdleTimerDisable(unknown: i32) -> i32; 3229 pub fn scePowerRequestStandby() -> i32; 3230 pub fn scePowerRequestSuspend() -> i32; 3231 3232 pub fn sceWlanDevIsPowerOn() -> i32; 3233 pub fn sceWlanGetSwitchState() -> i32; 3234 pub fn sceWlanGetEtherAddr(ether_addr: *mut u8) -> i32; 3235 3236 pub fn sceWlanDevAttach() -> i32; 3237 pub fn sceWlanDevDetach() -> i32; 3238 3239 pub fn sceRtcGetTickResolution() -> u32; 3240 pub fn sceRtcGetCurrentTick(tick: *mut u64) -> i32; 3241 pub fn sceRtcGetCurrentClock(tm: *mut ScePspDateTime, tz: i32) -> i32; 3242 pub fn sceRtcGetCurrentClockLocalTime(tm: *mut ScePspDateTime) -> i32; 3243 pub fn sceRtcConvertUtcToLocalTime(tick_utc: *const u64, tick_local: *mut u64) -> i32; 3244 pub fn sceRtcConvertLocalTimeToUTC(tick_local: *const u64, tick_utc: *mut u64) -> i32; 3245 pub fn sceRtcIsLeapYear(year: i32) -> i32; 3246 pub fn sceRtcGetDaysInMonth(year: i32, month: i32) -> i32; 3247 pub fn sceRtcGetDayOfWeek(year: i32, month: i32, day: i32) -> i32; 3248 pub fn sceRtcCheckValid(date: *const ScePspDateTime) -> i32; 3249 pub fn sceRtcSetTick(date: *mut ScePspDateTime, tick: *const u64) -> i32; 3250 pub fn sceRtcGetTick(date: *const ScePspDateTime, tick: *mut u64) -> i32; 3251 pub fn sceRtcCompareTick(tick1: *const u64, tick2: *const u64) -> i32; 3252 pub fn sceRtcTickAddTicks(dest_tick: *mut u64, src_tick: *const u64, num_ticks: u64) -> i32; 3253 pub fn sceRtcTickAddMicroseconds(dest_tick: *mut u64, src_tick: *const u64, num_ms: u64) 3254 -> i32; 3255 pub fn sceRtcTickAddSeconds(dest_tick: *mut u64, src_tick: *const u64, num_seconds: u64) 3256 -> i32; 3257 pub fn sceRtcTickAddMinutes(dest_tick: *mut u64, src_tick: *const u64, num_minutes: u64) 3258 -> i32; 3259 pub fn sceRtcTickAddHours(dest_tick: *mut u64, src_tick: *const u64, num_hours: u64) -> i32; 3260 pub fn sceRtcTickAddDays(dest_tick: *mut u64, src_tick: *const u64, num_days: u64) -> i32; 3261 pub fn sceRtcTickAddWeeks(dest_tick: *mut u64, src_tick: *const u64, num_weeks: u64) -> i32; 3262 pub fn sceRtcTickAddMonths(dest_tick: *mut u64, src_tick: *const u64, num_months: u64) -> i32; 3263 pub fn sceRtcTickAddYears(dest_tick: *mut u64, src_tick: *const u64, num_years: u64) -> i32; 3264 pub fn sceRtcSetTime_t(date: *mut ScePspDateTime, time: u32) -> i32; 3265 pub fn sceRtcGetTime_t(date: *const ScePspDateTime, time: *mut u32) -> i32; 3266 pub fn sceRtcSetTime64_t(date: *mut ScePspDateTime, time: u64) -> i32; 3267 pub fn sceRtcGetTime64_t(date: *const ScePspDateTime, time: *mut u64) -> i32; 3268 pub fn sceRtcSetDosTime(date: *mut ScePspDateTime, dos_time: u32) -> i32; 3269 pub fn sceRtcGetDosTime(date: *mut ScePspDateTime, dos_time: u32) -> i32; 3270 pub fn sceRtcSetWin32FileTime(date: *mut ScePspDateTime, time: *mut u64) -> i32; 3271 pub fn sceRtcGetWin32FileTime(date: *mut ScePspDateTime, time: *mut u64) -> i32; 3272 pub fn sceRtcParseDateTime(dest_tick: *mut u64, date_string: *const u8) -> i32; 3273 pub fn sceRtcFormatRFC3339( 3274 psz_date_time: *mut char, 3275 p_utc: *const u64, 3276 time_zone_minutes: i32, 3277 ) -> i32; 3278 pub fn sceRtcFormatRFC3339LocalTime(psz_date_time: *mut char, p_utc: *const u64) -> i32; 3279 pub fn sceRtcParseRFC3339(p_utc: *mut u64, psz_date_time: *const u8) -> i32; 3280 pub fn sceRtcFormatRFC2822( 3281 psz_date_time: *mut char, 3282 p_utc: *const u64, 3283 time_zone_minutes: i32, 3284 ) -> i32; 3285 pub fn sceRtcFormatRFC2822LocalTime(psz_date_time: *mut char, p_utc: *const u64) -> i32; 3286 3287 pub fn sceIoOpen(file: *const u8, flags: i32, permissions: IoPermissions) -> SceUid; 3288 pub fn sceIoOpenAsync(file: *const u8, flags: i32, permissions: IoPermissions) -> SceUid; 3289 pub fn sceIoClose(fd: SceUid) -> i32; 3290 pub fn sceIoCloseAsync(fd: SceUid) -> i32; 3291 pub fn sceIoRead(fd: SceUid, data: *mut c_void, size: u32) -> i32; 3292 pub fn sceIoReadAsync(fd: SceUid, data: *mut c_void, size: u32) -> i32; 3293 pub fn sceIoWrite(fd: SceUid, data: *const c_void, size: usize) -> i32; 3294 pub fn sceIoWriteAsync(fd: SceUid, data: *const c_void, size: u32) -> i32; 3295 pub fn sceIoLseek(fd: SceUid, offset: i64, whence: IoWhence) -> i64; 3296 pub fn sceIoLseekAsync(fd: SceUid, offset: i64, whence: IoWhence) -> i32; 3297 pub fn sceIoLseek32(fd: SceUid, offset: i32, whence: IoWhence) -> i32; 3298 pub fn sceIoLseek32Async(fd: SceUid, offset: i32, whence: IoWhence) -> i32; 3299 pub fn sceIoRemove(file: *const u8) -> i32; 3300 pub fn sceIoMkdir(dir: *const u8, mode: IoPermissions) -> i32; 3301 pub fn sceIoRmdir(path: *const u8) -> i32; 3302 pub fn sceIoChdir(path: *const u8) -> i32; 3303 pub fn sceIoRename(oldname: *const u8, newname: *const u8) -> i32; 3304 pub fn sceIoDopen(dirname: *const u8) -> SceUid; 3305 pub fn sceIoDread(fd: SceUid, dir: *mut SceIoDirent) -> i32; 3306 pub fn sceIoDclose(fd: SceUid) -> i32; 3307 pub fn sceIoDevctl( 3308 dev: *const u8, 3309 cmd: u32, 3310 indata: *mut c_void, 3311 inlen: i32, 3312 outdata: *mut c_void, 3313 outlen: i32, 3314 ) -> i32; 3315 pub fn sceIoAssign( 3316 dev1: *const u8, 3317 dev2: *const u8, 3318 dev3: *const u8, 3319 mode: IoAssignPerms, 3320 unk1: *mut c_void, 3321 unk2: i32, 3322 ) -> i32; 3323 pub fn sceIoUnassign(dev: *const u8) -> i32; 3324 pub fn sceIoGetstat(file: *const u8, stat: *mut SceIoStat) -> i32; 3325 pub fn sceIoChstat(file: *const u8, stat: *mut SceIoStat, bits: i32) -> i32; 3326 pub fn sceIoIoctl( 3327 fd: SceUid, 3328 cmd: u32, 3329 indata: *mut c_void, 3330 inlen: i32, 3331 outdata: *mut c_void, 3332 outlen: i32, 3333 ) -> i32; 3334 pub fn sceIoIoctlAsync( 3335 fd: SceUid, 3336 cmd: u32, 3337 indata: *mut c_void, 3338 inlen: i32, 3339 outdata: *mut c_void, 3340 outlen: i32, 3341 ) -> i32; 3342 pub fn sceIoSync(device: *const u8, unk: u32) -> i32; 3343 pub fn sceIoWaitAsync(fd: SceUid, res: *mut i64) -> i32; 3344 pub fn sceIoWaitAsyncCB(fd: SceUid, res: *mut i64) -> i32; 3345 pub fn sceIoPollAsync(fd: SceUid, res: *mut i64) -> i32; 3346 pub fn sceIoGetAsyncStat(fd: SceUid, poll: i32, res: *mut i64) -> i32; 3347 pub fn sceIoCancel(fd: SceUid) -> i32; 3348 pub fn sceIoGetDevType(fd: SceUid) -> i32; 3349 pub fn sceIoChangeAsyncPriority(fd: SceUid, pri: i32) -> i32; 3350 pub fn sceIoSetAsyncCallback(fd: SceUid, cb: SceUid, argp: *mut c_void) -> i32; 3351 3352 pub fn sceJpegInitMJpeg() -> i32; 3353 pub fn sceJpegFinishMJpeg() -> i32; 3354 pub fn sceJpegCreateMJpeg(width: i32, height: i32) -> i32; 3355 pub fn sceJpegDeleteMJpeg() -> i32; 3356 pub fn sceJpegDecodeMJpeg(jpeg_buf: *mut u8, size: usize, rgba: *mut c_void, unk: u32) -> i32; 3357 3358 pub fn sceUmdCheckMedium() -> i32; 3359 pub fn sceUmdGetDiscInfo(info: *mut UmdInfo) -> i32; 3360 pub fn sceUmdActivate(unit: i32, drive: *const u8) -> i32; 3361 pub fn sceUmdDeactivate(unit: i32, drive: *const u8) -> i32; 3362 pub fn sceUmdWaitDriveStat(state: i32) -> i32; 3363 pub fn sceUmdWaitDriveStatWithTimer(state: i32, timeout: u32) -> i32; 3364 pub fn sceUmdWaitDriveStatCB(state: i32, timeout: u32) -> i32; 3365 pub fn sceUmdCancelWaitDriveStat() -> i32; 3366 pub fn sceUmdGetDriveStat() -> i32; 3367 pub fn sceUmdGetErrorStat() -> i32; 3368 pub fn sceUmdRegisterUMDCallBack(cbid: i32) -> i32; 3369 pub fn sceUmdUnRegisterUMDCallBack(cbid: i32) -> i32; 3370 pub fn sceUmdReplacePermit() -> i32; 3371 pub fn sceUmdReplaceProhibit() -> i32; 3372 3373 pub fn sceMpegInit() -> i32; 3374 pub fn sceMpegFinish(); 3375 pub fn sceMpegRingbufferQueryMemSize(packets: i32) -> i32; 3376 pub fn sceMpegRingbufferConstruct( 3377 ringbuffer: *mut SceMpegRingbuffer, 3378 packets: i32, 3379 data: *mut c_void, 3380 size: i32, 3381 callback: SceMpegRingbufferCb, 3382 cb_param: *mut c_void, 3383 ) -> i32; 3384 pub fn sceMpegRingbufferDestruct(ringbuffer: *mut SceMpegRingbuffer); 3385 pub fn sceMpegRingbufferAvailableSize(ringbuffer: *mut SceMpegRingbuffer) -> i32; 3386 pub fn sceMpegRingbufferPut( 3387 ringbuffer: *mut SceMpegRingbuffer, 3388 num_packets: i32, 3389 available: i32, 3390 ) -> i32; 3391 pub fn sceMpegQueryMemSize(unk: i32) -> i32; 3392 pub fn sceMpegCreate( 3393 handle: SceMpeg, 3394 data: *mut c_void, 3395 size: i32, 3396 ringbuffer: *mut SceMpegRingbuffer, 3397 frame_width: i32, 3398 unk1: i32, 3399 unk2: i32, 3400 ) -> i32; 3401 pub fn sceMpegDelete(handle: SceMpeg); 3402 pub fn sceMpegQueryStreamOffset(handle: SceMpeg, buffer: *mut c_void, offset: *mut i32) -> i32; 3403 pub fn sceMpegQueryStreamSize(buffer: *mut c_void, size: *mut i32) -> i32; 3404 pub fn sceMpegRegistStream(handle: SceMpeg, stream_id: i32, unk: i32) -> SceMpegStream; 3405 pub fn sceMpegUnRegistStream(handle: SceMpeg, stream: SceMpegStream); 3406 pub fn sceMpegFlushAllStream(handle: SceMpeg) -> i32; 3407 pub fn sceMpegMallocAvcEsBuf(handle: SceMpeg) -> *mut c_void; 3408 pub fn sceMpegFreeAvcEsBuf(handle: SceMpeg, buf: *mut c_void); 3409 pub fn sceMpegQueryAtracEsSize(handle: SceMpeg, es_size: *mut i32, out_size: *mut i32) -> i32; 3410 pub fn sceMpegInitAu(handle: SceMpeg, es_buffer: *mut c_void, au: *mut SceMpegAu) -> i32; 3411 pub fn sceMpegGetAvcAu( 3412 handle: SceMpeg, 3413 stream: SceMpegStream, 3414 au: *mut SceMpegAu, 3415 unk: *mut i32, 3416 ) -> i32; 3417 pub fn sceMpegAvcDecodeMode(handle: SceMpeg, mode: *mut SceMpegAvcMode) -> i32; 3418 pub fn sceMpegAvcDecode( 3419 handle: SceMpeg, 3420 au: *mut SceMpegAu, 3421 iframe_width: i32, 3422 buffer: *mut c_void, 3423 init: *mut i32, 3424 ) -> i32; 3425 pub fn sceMpegAvcDecodeStop( 3426 handle: SceMpeg, 3427 frame_width: i32, 3428 buffer: *mut c_void, 3429 status: *mut i32, 3430 ) -> i32; 3431 pub fn sceMpegGetAtracAu( 3432 handle: SceMpeg, 3433 stream: SceMpegStream, 3434 au: *mut SceMpegAu, 3435 unk: *mut c_void, 3436 ) -> i32; 3437 pub fn sceMpegAtracDecode( 3438 handle: SceMpeg, 3439 au: *mut SceMpegAu, 3440 buffer: *mut c_void, 3441 init: i32, 3442 ) -> i32; 3443 3444 pub fn sceMpegBaseYCrCbCopyVme(yuv_buffer: *mut c_void, buffer: *mut i32, type_: i32) -> i32; 3445 pub fn sceMpegBaseCscInit(width: i32) -> i32; 3446 pub fn sceMpegBaseCscVme( 3447 rgb_buffer: *mut c_void, 3448 rgb_buffer2: *mut c_void, 3449 width: i32, 3450 y_cr_cb_buffer: *mut SceMpegYCrCbBuffer, 3451 ) -> i32; 3452 pub fn sceMpegbase_BEA18F91(lli: *mut SceMpegLLI) -> i32; 3453 3454 pub fn sceHprmPeekCurrentKey(key: *mut i32) -> i32; 3455 pub fn sceHprmPeekLatch(latch: *mut [u32; 4]) -> i32; 3456 pub fn sceHprmReadLatch(latch: *mut [u32; 4]) -> i32; 3457 pub fn sceHprmIsHeadphoneExist() -> i32; 3458 pub fn sceHprmIsRemoteExist() -> i32; 3459 pub fn sceHprmIsMicrophoneExist() -> i32; 3460 3461 pub fn sceGuDepthBuffer(zbp: *mut c_void, zbw: i32); 3462 pub fn sceGuDispBuffer(width: i32, height: i32, dispbp: *mut c_void, dispbw: i32); 3463 pub fn sceGuDrawBuffer(psm: DisplayPixelFormat, fbp: *mut c_void, fbw: i32); 3464 pub fn sceGuDrawBufferList(psm: DisplayPixelFormat, fbp: *mut c_void, fbw: i32); 3465 pub fn sceGuDisplay(state: bool) -> bool; 3466 pub fn sceGuDepthFunc(function: DepthFunc); 3467 pub fn sceGuDepthMask(mask: i32); 3468 pub fn sceGuDepthOffset(offset: i32); 3469 pub fn sceGuDepthRange(near: i32, far: i32); 3470 pub fn sceGuFog(near: f32, far: f32, color: u32); 3471 pub fn sceGuInit(); 3472 pub fn sceGuTerm(); 3473 pub fn sceGuBreak(mode: i32); 3474 pub fn sceGuContinue(); 3475 pub fn sceGuSetCallback(signal: GuCallbackId, callback: GuCallback) -> GuCallback; 3476 pub fn sceGuSignal(behavior: SignalBehavior, signal: i32); 3477 pub fn sceGuSendCommandf(cmd: GeCommand, argument: f32); 3478 pub fn sceGuSendCommandi(cmd: GeCommand, argument: i32); 3479 pub fn sceGuGetMemory(size: i32) -> *mut c_void; 3480 pub fn sceGuStart(context_type: GuContextType, list: *mut c_void); 3481 pub fn sceGuFinish() -> i32; 3482 pub fn sceGuFinishId(id: u32) -> i32; 3483 pub fn sceGuCallList(list: *const c_void); 3484 pub fn sceGuCallMode(mode: i32); 3485 pub fn sceGuCheckList() -> i32; 3486 pub fn sceGuSendList(mode: GuQueueMode, list: *const c_void, context: *mut GeContext); 3487 pub fn sceGuSwapBuffers() -> *mut c_void; 3488 pub fn sceGuSync(mode: GuSyncMode, behavior: GuSyncBehavior) -> GeListState; 3489 pub fn sceGuDrawArray( 3490 prim: GuPrimitive, 3491 vtype: i32, 3492 count: i32, 3493 indices: *const c_void, 3494 vertices: *const c_void, 3495 ); 3496 pub fn sceGuBeginObject( 3497 vtype: i32, 3498 count: i32, 3499 indices: *const c_void, 3500 vertices: *const c_void, 3501 ); 3502 pub fn sceGuEndObject(); 3503 pub fn sceGuSetStatus(state: GuState, status: i32); 3504 pub fn sceGuGetStatus(state: GuState) -> bool; 3505 pub fn sceGuSetAllStatus(status: i32); 3506 pub fn sceGuGetAllStatus() -> i32; 3507 pub fn sceGuEnable(state: GuState); 3508 pub fn sceGuDisable(state: GuState); 3509 pub fn sceGuLight(light: i32, type_: LightType, components: i32, position: &ScePspFVector3); 3510 pub fn sceGuLightAtt(light: i32, atten0: f32, atten1: f32, atten2: f32); 3511 pub fn sceGuLightColor(light: i32, component: i32, color: u32); 3512 pub fn sceGuLightMode(mode: LightMode); 3513 pub fn sceGuLightSpot(light: i32, direction: &ScePspFVector3, exponent: f32, cutoff: f32); 3514 pub fn sceGuClear(flags: i32); 3515 pub fn sceGuClearColor(color: u32); 3516 pub fn sceGuClearDepth(depth: u32); 3517 pub fn sceGuClearStencil(stencil: u32); 3518 pub fn sceGuPixelMask(mask: u32); 3519 pub fn sceGuColor(color: u32); 3520 pub fn sceGuColorFunc(func: ColorFunc, color: u32, mask: u32); 3521 pub fn sceGuColorMaterial(components: i32); 3522 pub fn sceGuAlphaFunc(func: AlphaFunc, value: i32, mask: i32); 3523 pub fn sceGuAmbient(color: u32); 3524 pub fn sceGuAmbientColor(color: u32); 3525 pub fn sceGuBlendFunc(op: BlendOp, src: BlendSrc, dest: BlendDst, src_fix: u32, dest_fix: u32); 3526 pub fn sceGuMaterial(components: i32, color: u32); 3527 pub fn sceGuModelColor(emissive: u32, ambient: u32, diffuse: u32, specular: u32); 3528 pub fn sceGuStencilFunc(func: StencilFunc, ref_: i32, mask: i32); 3529 pub fn sceGuStencilOp(fail: StencilOperation, zfail: StencilOperation, zpass: StencilOperation); 3530 pub fn sceGuSpecular(power: f32); 3531 pub fn sceGuFrontFace(order: FrontFaceDirection); 3532 pub fn sceGuLogicalOp(op: LogicalOperation); 3533 pub fn sceGuSetDither(matrix: &ScePspIMatrix4); 3534 pub fn sceGuShadeModel(mode: ShadingModel); 3535 pub fn sceGuCopyImage( 3536 psm: DisplayPixelFormat, 3537 sx: i32, 3538 sy: i32, 3539 width: i32, 3540 height: i32, 3541 srcw: i32, 3542 src: *mut c_void, 3543 dx: i32, 3544 dy: i32, 3545 destw: i32, 3546 dest: *mut c_void, 3547 ); 3548 pub fn sceGuTexEnvColor(color: u32); 3549 pub fn sceGuTexFilter(min: TextureFilter, mag: TextureFilter); 3550 pub fn sceGuTexFlush(); 3551 pub fn sceGuTexFunc(tfx: TextureEffect, tcc: TextureColorComponent); 3552 pub fn sceGuTexImage( 3553 mipmap: MipmapLevel, 3554 width: i32, 3555 height: i32, 3556 tbw: i32, 3557 tbp: *const c_void, 3558 ); 3559 pub fn sceGuTexLevelMode(mode: TextureLevelMode, bias: f32); 3560 pub fn sceGuTexMapMode(mode: TextureMapMode, a1: u32, a2: u32); 3561 pub fn sceGuTexMode(tpsm: TexturePixelFormat, maxmips: i32, a2: i32, swizzle: i32); 3562 pub fn sceGuTexOffset(u: f32, v: f32); 3563 pub fn sceGuTexProjMapMode(mode: TextureProjectionMapMode); 3564 pub fn sceGuTexScale(u: f32, v: f32); 3565 pub fn sceGuTexSlope(slope: f32); 3566 pub fn sceGuTexSync(); 3567 pub fn sceGuTexWrap(u: GuTexWrapMode, v: GuTexWrapMode); 3568 pub fn sceGuClutLoad(num_blocks: i32, cbp: *const c_void); 3569 pub fn sceGuClutMode(cpsm: ClutPixelFormat, shift: u32, mask: u32, a3: u32); 3570 pub fn sceGuOffset(x: u32, y: u32); 3571 pub fn sceGuScissor(x: i32, y: i32, w: i32, h: i32); 3572 pub fn sceGuViewport(cx: i32, cy: i32, width: i32, height: i32); 3573 pub fn sceGuDrawBezier( 3574 v_type: i32, 3575 u_count: i32, 3576 v_count: i32, 3577 indices: *const c_void, 3578 vertices: *const c_void, 3579 ); 3580 pub fn sceGuPatchDivide(ulevel: u32, vlevel: u32); 3581 pub fn sceGuPatchFrontFace(a0: u32); 3582 pub fn sceGuPatchPrim(prim: PatchPrimitive); 3583 pub fn sceGuDrawSpline( 3584 v_type: i32, 3585 u_count: i32, 3586 v_count: i32, 3587 u_edge: i32, 3588 v_edge: i32, 3589 indices: *const c_void, 3590 vertices: *const c_void, 3591 ); 3592 pub fn sceGuSetMatrix(type_: MatrixMode, matrix: &ScePspFMatrix4); 3593 pub fn sceGuBoneMatrix(index: u32, matrix: &ScePspFMatrix4); 3594 pub fn sceGuMorphWeight(index: i32, weight: f32); 3595 pub fn sceGuDrawArrayN( 3596 primitive_type: GuPrimitive, 3597 v_type: i32, 3598 count: i32, 3599 a3: i32, 3600 indices: *const c_void, 3601 vertices: *const c_void, 3602 ); 3603 3604 pub fn sceGumDrawArray( 3605 prim: GuPrimitive, 3606 v_type: i32, 3607 count: i32, 3608 indices: *const c_void, 3609 vertices: *const c_void, 3610 ); 3611 pub fn sceGumDrawArrayN( 3612 prim: GuPrimitive, 3613 v_type: i32, 3614 count: i32, 3615 a3: i32, 3616 indices: *const c_void, 3617 vertices: *const c_void, 3618 ); 3619 pub fn sceGumDrawBezier( 3620 v_type: i32, 3621 u_count: i32, 3622 v_count: i32, 3623 indices: *const c_void, 3624 vertices: *const c_void, 3625 ); 3626 pub fn sceGumDrawSpline( 3627 v_type: i32, 3628 u_count: i32, 3629 v_count: i32, 3630 u_edge: i32, 3631 v_edge: i32, 3632 indices: *const c_void, 3633 vertices: *const c_void, 3634 ); 3635 pub fn sceGumFastInverse(); 3636 pub fn sceGumFullInverse(); 3637 pub fn sceGumLoadIdentity(); 3638 pub fn sceGumLoadMatrix(m: &ScePspFMatrix4); 3639 pub fn sceGumLookAt(eye: &ScePspFVector3, center: &ScePspFVector3, up: &ScePspFVector3); 3640 pub fn sceGumMatrixMode(mode: MatrixMode); 3641 pub fn sceGumMultMatrix(m: &ScePspFMatrix4); 3642 pub fn sceGumOrtho(left: f32, right: f32, bottom: f32, top: f32, near: f32, far: f32); 3643 pub fn sceGumPerspective(fovy: f32, aspect: f32, near: f32, far: f32); 3644 pub fn sceGumPopMatrix(); 3645 pub fn sceGumPushMatrix(); 3646 pub fn sceGumRotateX(angle: f32); 3647 pub fn sceGumRotateY(angle: f32); 3648 pub fn sceGumRotateZ(angle: f32); 3649 pub fn sceGumRotateXYZ(v: &ScePspFVector3); 3650 pub fn sceGumRotateZYX(v: &ScePspFVector3); 3651 pub fn sceGumScale(v: &ScePspFVector3); 3652 pub fn sceGumStoreMatrix(m: &mut ScePspFMatrix4); 3653 pub fn sceGumTranslate(v: &ScePspFVector3); 3654 pub fn sceGumUpdateMatrix(); 3655 3656 pub fn sceMp3ReserveMp3Handle(args: *mut SceMp3InitArg) -> i32; 3657 pub fn sceMp3ReleaseMp3Handle(handle: Mp3Handle) -> i32; 3658 pub fn sceMp3InitResource() -> i32; 3659 pub fn sceMp3TermResource() -> i32; 3660 pub fn sceMp3Init(handle: Mp3Handle) -> i32; 3661 pub fn sceMp3Decode(handle: Mp3Handle, dst: *mut *mut i16) -> i32; 3662 pub fn sceMp3GetInfoToAddStreamData( 3663 handle: Mp3Handle, 3664 dst: *mut *mut u8, 3665 to_write: *mut i32, 3666 src_pos: *mut i32, 3667 ) -> i32; 3668 pub fn sceMp3NotifyAddStreamData(handle: Mp3Handle, size: i32) -> i32; 3669 pub fn sceMp3CheckStreamDataNeeded(handle: Mp3Handle) -> i32; 3670 pub fn sceMp3SetLoopNum(handle: Mp3Handle, loop_: i32) -> i32; 3671 pub fn sceMp3GetLoopNum(handle: Mp3Handle) -> i32; 3672 pub fn sceMp3GetSumDecodedSample(handle: Mp3Handle) -> i32; 3673 pub fn sceMp3GetMaxOutputSample(handle: Mp3Handle) -> i32; 3674 pub fn sceMp3GetSamplingRate(handle: Mp3Handle) -> i32; 3675 pub fn sceMp3GetBitRate(handle: Mp3Handle) -> i32; 3676 pub fn sceMp3GetMp3ChannelNum(handle: Mp3Handle) -> i32; 3677 pub fn sceMp3ResetPlayPosition(handle: Mp3Handle) -> i32; 3678 3679 pub fn sceRegOpenRegistry(reg: *mut Key, mode: i32, handle: *mut RegHandle) -> i32; 3680 pub fn sceRegFlushRegistry(handle: RegHandle) -> i32; 3681 pub fn sceRegCloseRegistry(handle: RegHandle) -> i32; 3682 pub fn sceRegOpenCategory( 3683 handle: RegHandle, 3684 name: *const u8, 3685 mode: i32, 3686 dir_handle: *mut RegHandle, 3687 ) -> i32; 3688 pub fn sceRegRemoveCategory(handle: RegHandle, name: *const u8) -> i32; 3689 pub fn sceRegCloseCategory(dir_handle: RegHandle) -> i32; 3690 pub fn sceRegFlushCategory(dir_handle: RegHandle) -> i32; 3691 pub fn sceRegGetKeyInfo( 3692 dir_handle: RegHandle, 3693 name: *const u8, 3694 key_handle: *mut RegHandle, 3695 type_: *mut KeyType, 3696 size: *mut usize, 3697 ) -> i32; 3698 pub fn sceRegGetKeyInfoByName( 3699 dir_handle: RegHandle, 3700 name: *const u8, 3701 type_: *mut KeyType, 3702 size: *mut usize, 3703 ) -> i32; 3704 pub fn sceRegGetKeyValue( 3705 dir_handle: RegHandle, 3706 key_handle: RegHandle, 3707 buf: *mut c_void, 3708 size: usize, 3709 ) -> i32; 3710 pub fn sceRegGetKeyValueByName( 3711 dir_handle: RegHandle, 3712 name: *const u8, 3713 buf: *mut c_void, 3714 size: usize, 3715 ) -> i32; 3716 pub fn sceRegSetKeyValue( 3717 dir_handle: RegHandle, 3718 name: *const u8, 3719 buf: *const c_void, 3720 size: usize, 3721 ) -> i32; 3722 pub fn sceRegGetKeysNum(dir_handle: RegHandle, num: *mut i32) -> i32; 3723 pub fn sceRegGetKeys(dir_handle: RegHandle, buf: *mut u8, num: i32) -> i32; 3724 pub fn sceRegCreateKey(dir_handle: RegHandle, name: *const u8, type_: i32, size: usize) -> i32; 3725 pub fn sceRegRemoveRegistry(key: *mut Key) -> i32; 3726 3727 pub fn sceOpenPSIDGetOpenPSID(openpsid: *mut OpenPSID) -> i32; 3728 3729 pub fn sceUtilityMsgDialogInitStart(params: *mut UtilityMsgDialogParams) -> i32; 3730 pub fn sceUtilityMsgDialogShutdownStart(); 3731 pub fn sceUtilityMsgDialogGetStatus() -> i32; 3732 pub fn sceUtilityMsgDialogUpdate(n: i32); 3733 pub fn sceUtilityMsgDialogAbort() -> i32; 3734 pub fn sceUtilityNetconfInitStart(data: *mut UtilityNetconfData) -> i32; 3735 pub fn sceUtilityNetconfShutdownStart() -> i32; 3736 pub fn sceUtilityNetconfUpdate(unknown: i32) -> i32; 3737 pub fn sceUtilityNetconfGetStatus() -> i32; 3738 pub fn sceUtilityCheckNetParam(id: i32) -> i32; 3739 pub fn sceUtilityGetNetParam(conf: i32, param: NetParam, data: *mut UtilityNetData) -> i32; 3740 pub fn sceUtilitySavedataInitStart(params: *mut SceUtilitySavedataParam) -> i32; 3741 pub fn sceUtilitySavedataGetStatus() -> i32; 3742 pub fn sceUtilitySavedataShutdownStart() -> i32; 3743 pub fn sceUtilitySavedataUpdate(unknown: i32); 3744 pub fn sceUtilityGameSharingInitStart(params: *mut UtilityGameSharingParams) -> i32; 3745 pub fn sceUtilityGameSharingShutdownStart(); 3746 pub fn sceUtilityGameSharingGetStatus() -> i32; 3747 pub fn sceUtilityGameSharingUpdate(n: i32); 3748 pub fn sceUtilityHtmlViewerInitStart(params: *mut UtilityHtmlViewerParam) -> i32; 3749 pub fn sceUtilityHtmlViewerShutdownStart() -> i32; 3750 pub fn sceUtilityHtmlViewerUpdate(n: i32) -> i32; 3751 pub fn sceUtilityHtmlViewerGetStatus() -> i32; 3752 pub fn sceUtilitySetSystemParamInt(id: SystemParamId, value: i32) -> i32; 3753 pub fn sceUtilitySetSystemParamString(id: SystemParamId, str: *const u8) -> i32; 3754 pub fn sceUtilityGetSystemParamInt(id: SystemParamId, value: *mut i32) -> i32; 3755 pub fn sceUtilityGetSystemParamString(id: SystemParamId, str: *mut u8, len: i32) -> i32; 3756 pub fn sceUtilityOskInitStart(params: *mut SceUtilityOskParams) -> i32; 3757 pub fn sceUtilityOskShutdownStart() -> i32; 3758 pub fn sceUtilityOskUpdate(n: i32) -> i32; 3759 pub fn sceUtilityOskGetStatus() -> i32; 3760 pub fn sceUtilityLoadNetModule(module: NetModule) -> i32; 3761 pub fn sceUtilityUnloadNetModule(module: NetModule) -> i32; 3762 pub fn sceUtilityLoadAvModule(module: AvModule) -> i32; 3763 pub fn sceUtilityUnloadAvModule(module: AvModule) -> i32; 3764 pub fn sceUtilityLoadUsbModule(module: UsbModule) -> i32; 3765 pub fn sceUtilityUnloadUsbModule(module: UsbModule) -> i32; 3766 pub fn sceUtilityLoadModule(module: Module) -> i32; 3767 pub fn sceUtilityUnloadModule(module: Module) -> i32; 3768 pub fn sceUtilityCreateNetParam(conf: i32) -> i32; 3769 pub fn sceUtilitySetNetParam(param: NetParam, val: *const c_void) -> i32; 3770 pub fn sceUtilityCopyNetParam(src: i32, dest: i32) -> i32; 3771 pub fn sceUtilityDeleteNetParam(conf: i32) -> i32; 3772 3773 pub fn sceNetInit( 3774 poolsize: i32, 3775 calloutprio: i32, 3776 calloutstack: i32, 3777 netintrprio: i32, 3778 netintrstack: i32, 3779 ) -> i32; 3780 pub fn sceNetTerm() -> i32; 3781 pub fn sceNetFreeThreadinfo(thid: i32) -> i32; 3782 pub fn sceNetThreadAbort(thid: i32) -> i32; 3783 pub fn sceNetEtherStrton(name: *mut u8, mac: *mut u8); 3784 pub fn sceNetEtherNtostr(mac: *mut u8, name: *mut u8); 3785 pub fn sceNetGetLocalEtherAddr(mac: *mut u8) -> i32; 3786 pub fn sceNetGetMallocStat(stat: *mut SceNetMallocStat) -> i32; 3787 3788 pub fn sceNetAdhocctlInit( 3789 stacksize: i32, 3790 priority: i32, 3791 adhoc_id: *mut SceNetAdhocctlAdhocId, 3792 ) -> i32; 3793 pub fn sceNetAdhocctlTerm() -> i32; 3794 pub fn sceNetAdhocctlConnect(name: *const u8) -> i32; 3795 pub fn sceNetAdhocctlDisconnect() -> i32; 3796 pub fn sceNetAdhocctlGetState(event: *mut i32) -> i32; 3797 pub fn sceNetAdhocctlCreate(name: *const u8) -> i32; 3798 pub fn sceNetAdhocctlJoin(scaninfo: *mut SceNetAdhocctlScanInfo) -> i32; 3799 pub fn sceNetAdhocctlGetAdhocId(id: *mut SceNetAdhocctlAdhocId) -> i32; 3800 pub fn sceNetAdhocctlCreateEnterGameMode( 3801 name: *const u8, 3802 unknown: i32, 3803 num: i32, 3804 macs: *mut u8, 3805 timeout: u32, 3806 unknown2: i32, 3807 ) -> i32; 3808 pub fn sceNetAdhocctlJoinEnterGameMode( 3809 name: *const u8, 3810 hostmac: *mut u8, 3811 timeout: u32, 3812 unknown: i32, 3813 ) -> i32; 3814 pub fn sceNetAdhocctlGetGameModeInfo(gamemodeinfo: *mut SceNetAdhocctlGameModeInfo) -> i32; 3815 pub fn sceNetAdhocctlExitGameMode() -> i32; 3816 pub fn sceNetAdhocctlGetPeerList(length: *mut i32, buf: *mut c_void) -> i32; 3817 pub fn sceNetAdhocctlGetPeerInfo( 3818 mac: *mut u8, 3819 size: i32, 3820 peerinfo: *mut SceNetAdhocctlPeerInfo, 3821 ) -> i32; 3822 pub fn sceNetAdhocctlScan() -> i32; 3823 pub fn sceNetAdhocctlGetScanInfo(length: *mut i32, buf: *mut c_void) -> i32; 3824 pub fn sceNetAdhocctlAddHandler(handler: SceNetAdhocctlHandler, unknown: *mut c_void) -> i32; 3825 pub fn sceNetAdhocctlDelHandler(id: i32) -> i32; 3826 pub fn sceNetAdhocctlGetNameByAddr(mac: *mut u8, nickname: *mut u8) -> i32; 3827 pub fn sceNetAdhocctlGetAddrByName( 3828 nickname: *mut u8, 3829 length: *mut i32, 3830 buf: *mut c_void, 3831 ) -> i32; 3832 pub fn sceNetAdhocctlGetParameter(params: *mut SceNetAdhocctlParams) -> i32; 3833 3834 pub fn sceNetAdhocInit() -> i32; 3835 pub fn sceNetAdhocTerm() -> i32; 3836 pub fn sceNetAdhocPdpCreate(mac: *mut u8, port: u16, buf_size: u32, unk1: i32) -> i32; 3837 pub fn sceNetAdhocPdpDelete(id: i32, unk1: i32) -> i32; 3838 pub fn sceNetAdhocPdpSend( 3839 id: i32, 3840 dest_mac_addr: *mut u8, 3841 port: u16, 3842 data: *mut c_void, 3843 len: u32, 3844 timeout: u32, 3845 nonblock: i32, 3846 ) -> i32; 3847 pub fn sceNetAdhocPdpRecv( 3848 id: i32, 3849 src_mac_addr: *mut u8, 3850 port: *mut u16, 3851 data: *mut c_void, 3852 data_length: *mut c_void, 3853 timeout: u32, 3854 nonblock: i32, 3855 ) -> i32; 3856 pub fn sceNetAdhocGetPdpStat(size: *mut i32, stat: *mut SceNetAdhocPdpStat) -> i32; 3857 pub fn sceNetAdhocGameModeCreateMaster(data: *mut c_void, size: i32) -> i32; 3858 pub fn sceNetAdhocGameModeCreateReplica(mac: *mut u8, data: *mut c_void, size: i32) -> i32; 3859 pub fn sceNetAdhocGameModeUpdateMaster() -> i32; 3860 pub fn sceNetAdhocGameModeUpdateReplica(id: i32, unk1: i32) -> i32; 3861 pub fn sceNetAdhocGameModeDeleteMaster() -> i32; 3862 pub fn sceNetAdhocGameModeDeleteReplica(id: i32) -> i32; 3863 pub fn sceNetAdhocPtpOpen( 3864 srcmac: *mut u8, 3865 srcport: u16, 3866 destmac: *mut u8, 3867 destport: u16, 3868 buf_size: u32, 3869 delay: u32, 3870 count: i32, 3871 unk1: i32, 3872 ) -> i32; 3873 pub fn sceNetAdhocPtpConnect(id: i32, timeout: u32, nonblock: i32) -> i32; 3874 pub fn sceNetAdhocPtpListen( 3875 srcmac: *mut u8, 3876 srcport: u16, 3877 buf_size: u32, 3878 delay: u32, 3879 count: i32, 3880 queue: i32, 3881 unk1: i32, 3882 ) -> i32; 3883 pub fn sceNetAdhocPtpAccept( 3884 id: i32, 3885 mac: *mut u8, 3886 port: *mut u16, 3887 timeout: u32, 3888 nonblock: i32, 3889 ) -> i32; 3890 pub fn sceNetAdhocPtpSend( 3891 id: i32, 3892 data: *mut c_void, 3893 data_size: *mut i32, 3894 timeout: u32, 3895 nonblock: i32, 3896 ) -> i32; 3897 pub fn sceNetAdhocPtpRecv( 3898 id: i32, 3899 data: *mut c_void, 3900 data_size: *mut i32, 3901 timeout: u32, 3902 nonblock: i32, 3903 ) -> i32; 3904 pub fn sceNetAdhocPtpFlush(id: i32, timeout: u32, nonblock: i32) -> i32; 3905 pub fn sceNetAdhocPtpClose(id: i32, unk1: i32) -> i32; 3906 pub fn sceNetAdhocGetPtpStat(size: *mut i32, stat: *mut SceNetAdhocPtpStat) -> i32; 3907 } 3908 3909 extern "C" { 3910 pub fn sceNetAdhocMatchingInit(memsize: i32) -> i32; 3911 pub fn sceNetAdhocMatchingTerm() -> i32; 3912 pub fn sceNetAdhocMatchingCreate( 3913 mode: AdhocMatchingMode, 3914 max_peers: i32, 3915 port: u16, 3916 buf_size: i32, 3917 hello_delay: u32, 3918 ping_delay: u32, 3919 init_count: i32, 3920 msg_delay: u32, 3921 callback: AdhocMatchingCallback, 3922 ) -> i32; 3923 pub fn sceNetAdhocMatchingDelete(matching_id: i32) -> i32; 3924 pub fn sceNetAdhocMatchingStart( 3925 matching_id: i32, 3926 evth_pri: i32, 3927 evth_stack: i32, 3928 inth_pri: i32, 3929 inth_stack: i32, 3930 opt_len: i32, 3931 opt_data: *mut c_void, 3932 ) -> i32; 3933 pub fn sceNetAdhocMatchingStop(matching_id: i32) -> i32; 3934 pub fn sceNetAdhocMatchingSelectTarget( 3935 matching_id: i32, 3936 mac: *mut u8, 3937 opt_len: i32, 3938 opt_data: *mut c_void, 3939 ) -> i32; 3940 pub fn sceNetAdhocMatchingCancelTarget(matching_id: i32, mac: *mut u8) -> i32; 3941 pub fn sceNetAdhocMatchingCancelTargetWithOpt( 3942 matching_id: i32, 3943 mac: *mut u8, 3944 opt_len: i32, 3945 opt_data: *mut c_void, 3946 ) -> i32; 3947 pub fn sceNetAdhocMatchingSendData( 3948 matching_id: i32, 3949 mac: *mut u8, 3950 data_len: i32, 3951 data: *mut c_void, 3952 ) -> i32; 3953 pub fn sceNetAdhocMatchingAbortSendData(matching_id: i32, mac: *mut u8) -> i32; 3954 pub fn sceNetAdhocMatchingSetHelloOpt( 3955 matching_id: i32, 3956 opt_len: i32, 3957 opt_data: *mut c_void, 3958 ) -> i32; 3959 pub fn sceNetAdhocMatchingGetHelloOpt( 3960 matching_id: i32, 3961 opt_len: *mut i32, 3962 opt_data: *mut c_void, 3963 ) -> i32; 3964 pub fn sceNetAdhocMatchingGetMembers( 3965 matching_id: i32, 3966 length: *mut i32, 3967 buf: *mut c_void, 3968 ) -> i32; 3969 pub fn sceNetAdhocMatchingGetPoolMaxAlloc() -> i32; 3970 pub fn sceNetAdhocMatchingGetPoolStat(poolstat: *mut AdhocPoolStat) -> i32; 3971 } 3972 3973 extern "C" { 3974 pub fn sceNetApctlInit(stack_size: i32, init_priority: i32) -> i32; 3975 pub fn sceNetApctlTerm() -> i32; 3976 pub fn sceNetApctlGetInfo(code: ApctlInfo, pinfo: *mut SceNetApctlInfo) -> i32; 3977 pub fn sceNetApctlAddHandler(handler: SceNetApctlHandler, parg: *mut c_void) -> i32; 3978 pub fn sceNetApctlDelHandler(handler_id: i32) -> i32; 3979 pub fn sceNetApctlConnect(conn_index: i32) -> i32; 3980 pub fn sceNetApctlDisconnect() -> i32; 3981 pub fn sceNetApctlGetState(pstate: *mut ApctlState) -> i32; 3982 3983 pub fn sceNetInetInit() -> i32; 3984 pub fn sceNetInetTerm() -> i32; 3985 pub fn sceNetInetAccept(s: i32, addr: *mut sockaddr, addr_len: *mut socklen_t) -> i32; 3986 pub fn sceNetInetBind(s: i32, my_addr: *const sockaddr, addr_len: socklen_t) -> i32; 3987 pub fn sceNetInetConnect(s: i32, serv_addr: *const sockaddr, addr_len: socklen_t) -> i32; 3988 pub fn sceNetInetGetsockopt( 3989 s: i32, 3990 level: i32, 3991 opt_name: i32, 3992 opt_val: *mut c_void, 3993 optl_en: *mut socklen_t, 3994 ) -> i32; 3995 pub fn sceNetInetListen(s: i32, backlog: i32) -> i32; 3996 pub fn sceNetInetRecv(s: i32, buf: *mut c_void, len: usize, flags: i32) -> usize; 3997 pub fn sceNetInetRecvfrom( 3998 s: i32, 3999 buf: *mut c_void, 4000 flags: usize, 4001 arg1: i32, 4002 from: *mut sockaddr, 4003 from_len: *mut socklen_t, 4004 ) -> usize; 4005 pub fn sceNetInetSend(s: i32, buf: *const c_void, len: usize, flags: i32) -> usize; 4006 pub fn sceNetInetSendto( 4007 s: i32, 4008 buf: *const c_void, 4009 len: usize, 4010 flags: i32, 4011 to: *const sockaddr, 4012 to_len: socklen_t, 4013 ) -> usize; 4014 pub fn sceNetInetSetsockopt( 4015 s: i32, 4016 level: i32, 4017 opt_name: i32, 4018 opt_val: *const c_void, 4019 opt_len: socklen_t, 4020 ) -> i32; 4021 pub fn sceNetInetShutdown(s: i32, how: i32) -> i32; 4022 pub fn sceNetInetSocket(domain: i32, type_: i32, protocol: i32) -> i32; 4023 pub fn sceNetInetClose(s: i32) -> i32; 4024 pub fn sceNetInetGetErrno() -> i32; 4025 4026 pub fn sceSslInit(unknown1: i32) -> i32; 4027 pub fn sceSslEnd() -> i32; 4028 pub fn sceSslGetUsedMemoryMax(memory: *mut u32) -> i32; 4029 pub fn sceSslGetUsedMemoryCurrent(memory: *mut u32) -> i32; 4030 4031 pub fn sceHttpInit(unknown1: u32) -> i32; 4032 pub fn sceHttpEnd() -> i32; 4033 pub fn sceHttpCreateTemplate(agent: *mut u8, unknown1: i32, unknown2: i32) -> i32; 4034 pub fn sceHttpDeleteTemplate(templateid: i32) -> i32; 4035 pub fn sceHttpCreateConnection( 4036 templateid: i32, 4037 host: *mut u8, 4038 unknown1: *mut u8, 4039 port: u16, 4040 unknown2: i32, 4041 ) -> i32; 4042 pub fn sceHttpCreateConnectionWithURL(templateid: i32, url: *const u8, unknown1: i32) -> i32; 4043 pub fn sceHttpDeleteConnection(connection_id: i32) -> i32; 4044 pub fn sceHttpCreateRequest( 4045 connection_id: i32, 4046 method: HttpMethod, 4047 path: *mut u8, 4048 content_length: u64, 4049 ) -> i32; 4050 pub fn sceHttpCreateRequestWithURL( 4051 connection_id: i32, 4052 method: HttpMethod, 4053 url: *mut u8, 4054 content_length: u64, 4055 ) -> i32; 4056 pub fn sceHttpDeleteRequest(request_id: i32) -> i32; 4057 pub fn sceHttpSendRequest(request_id: i32, data: *mut c_void, data_size: u32) -> i32; 4058 pub fn sceHttpAbortRequest(request_id: i32) -> i32; 4059 pub fn sceHttpReadData(request_id: i32, data: *mut c_void, data_size: u32) -> i32; 4060 pub fn sceHttpGetContentLength(request_id: i32, content_length: *mut u64) -> i32; 4061 pub fn sceHttpGetStatusCode(request_id: i32, status_code: *mut i32) -> i32; 4062 pub fn sceHttpSetResolveTimeOut(id: i32, timeout: u32) -> i32; 4063 pub fn sceHttpSetResolveRetry(id: i32, count: i32) -> i32; 4064 pub fn sceHttpSetConnectTimeOut(id: i32, timeout: u32) -> i32; 4065 pub fn sceHttpSetSendTimeOut(id: i32, timeout: u32) -> i32; 4066 pub fn sceHttpSetRecvTimeOut(id: i32, timeout: u32) -> i32; 4067 pub fn sceHttpEnableKeepAlive(id: i32) -> i32; 4068 pub fn sceHttpDisableKeepAlive(id: i32) -> i32; 4069 pub fn sceHttpEnableRedirect(id: i32) -> i32; 4070 pub fn sceHttpDisableRedirect(id: i32) -> i32; 4071 pub fn sceHttpEnableCookie(id: i32) -> i32; 4072 pub fn sceHttpDisableCookie(id: i32) -> i32; 4073 pub fn sceHttpSaveSystemCookie() -> i32; 4074 pub fn sceHttpLoadSystemCookie() -> i32; 4075 pub fn sceHttpAddExtraHeader(id: i32, name: *mut u8, value: *mut u8, unknown1: i32) -> i32; 4076 pub fn sceHttpDeleteHeader(id: i32, name: *const u8) -> i32; 4077 pub fn sceHttpsInit(unknown1: i32, unknown2: i32, unknown3: i32, unknown4: i32) -> i32; 4078 pub fn sceHttpsEnd() -> i32; 4079 pub fn sceHttpsLoadDefaultCert(unknown1: i32, unknown2: i32) -> i32; 4080 pub fn sceHttpDisableAuth(id: i32) -> i32; 4081 pub fn sceHttpDisableCache(id: i32) -> i32; 4082 pub fn sceHttpEnableAuth(id: i32) -> i32; 4083 pub fn sceHttpEnableCache(id: i32) -> i32; 4084 pub fn sceHttpEndCache() -> i32; 4085 pub fn sceHttpGetAllHeader(request: i32, header: *mut *mut u8, header_size: *mut u32) -> i32; 4086 pub fn sceHttpGetNetworkErrno(request: i32, err_num: *mut i32) -> i32; 4087 pub fn sceHttpGetProxy( 4088 id: i32, 4089 activate_flag: *mut i32, 4090 mode: *mut i32, 4091 proxy_host: *mut u8, 4092 len: usize, 4093 proxy_port: *mut u16, 4094 ) -> i32; 4095 pub fn sceHttpInitCache(max_size: usize) -> i32; 4096 pub fn sceHttpSetAuthInfoCB(id: i32, cbfunc: HttpPasswordCB) -> i32; 4097 pub fn sceHttpSetProxy( 4098 id: i32, 4099 activate_flag: i32, 4100 mode: i32, 4101 new_proxy_host: *const u8, 4102 new_proxy_port: u16, 4103 ) -> i32; 4104 pub fn sceHttpSetResHeaderMaxSize(id: i32, header_size: u32) -> i32; 4105 pub fn sceHttpSetMallocFunction( 4106 malloc_func: HttpMallocFunction, 4107 free_func: HttpFreeFunction, 4108 realloc_func: HttpReallocFunction, 4109 ) -> i32; 4110 4111 pub fn sceNetResolverInit() -> i32; 4112 pub fn sceNetResolverCreate(rid: *mut i32, buf: *mut c_void, buf_length: u32) -> i32; 4113 pub fn sceNetResolverDelete(rid: i32) -> i32; 4114 pub fn sceNetResolverStartNtoA( 4115 rid: i32, 4116 hostname: *const u8, 4117 addr: *mut in_addr, 4118 timeout: u32, 4119 retry: i32, 4120 ) -> i32; 4121 pub fn sceNetResolverStartAtoN( 4122 rid: i32, 4123 addr: *const in_addr, 4124 hostname: *mut u8, 4125 hostname_len: u32, 4126 timeout: u32, 4127 retry: i32, 4128 ) -> i32; 4129 pub fn sceNetResolverStop(rid: i32) -> i32; 4130 pub fn sceNetResolverTerm() -> i32; 4131 } 4132