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 7pub type c_schar = i8; 8pub type c_uchar = u8; 9pub type c_short = i16; 10pub type c_ushort = u16; 11pub type c_int = i32; 12pub type c_uint = u32; 13pub type c_float = f32; 14pub type c_double = f64; 15pub type c_longlong = i64; 16pub type c_ulonglong = u64; 17pub type intmax_t = i64; 18pub type uintmax_t = u64; 19 20pub type size_t = usize; 21pub type ptrdiff_t = isize; 22pub type intptr_t = isize; 23pub type uintptr_t = usize; 24pub type ssize_t = isize; 25 26pub type c_char = u8; 27pub type c_long = i64; 28pub type c_ulong = u64; 29 30cfg_if! { 31 if #[cfg(libc_core_cvoid)] { 32 pub use ::ffi::c_void; 33 } else { 34 // Use repr(u8) as LLVM expects `void*` to be the same as `i8*` to help 35 // enable more optimization opportunities around it recognizing things 36 // like malloc/free. 37 #[repr(u8)] 38 #[allow(missing_copy_implementations)] 39 #[allow(missing_debug_implementations)] 40 pub enum c_void { 41 // Two dummy variants so the #[repr] attribute can be used. 42 #[doc(hidden)] 43 __variant1, 44 #[doc(hidden)] 45 __variant2, 46 } 47 } 48} 49 50pub type SceKernelVTimerHandler = unsafe extern "C" fn( 51 uid: SceUid, 52 arg1: *mut SceKernelSysClock, 53 arg2: *mut SceKernelSysClock, 54 arg3: *mut c_void, 55) -> u32; 56 57pub type SceKernelVTimerHandlerWide = 58 unsafe extern "C" fn(uid: SceUid, arg1: i64, arg2: i64, arg3: *mut c_void) -> u32; 59 60pub type SceKernelThreadEventHandler = 61 unsafe extern "C" fn(mask: i32, thid: SceUid, common: *mut c_void) -> i32; 62 63pub type SceKernelAlarmHandler = unsafe extern "C" fn(common: *mut c_void) -> u32; 64 65pub type SceKernelCallbackFunction = 66 unsafe extern "C" fn(arg1: i32, arg2: i32, arg: *mut c_void) -> i32; 67 68pub type SceKernelThreadEntry = unsafe extern "C" fn(args: usize, argp: *mut c_void) -> i32; 69 70pub type PowerCallback = extern "C" fn(unknown: i32, power_info: i32); 71 72pub type IoPermissions = i32; 73 74pub type UmdCallback = fn(unknown: i32, event: i32) -> i32; 75 76pub type SceMpegRingbufferCb = 77 ::Option<unsafe extern "C" fn(data: *mut c_void, num_packets: i32, param: *mut c_void) -> i32>; 78 79pub type GuCallback = ::Option<extern "C" fn(id: i32, arg: *mut c_void)>; 80pub type GuSwapBuffersCallback = 81 ::Option<extern "C" fn(display: *mut *mut c_void, render: *mut *mut c_void)>; 82 83pub type SceNetAdhocctlHandler = 84 ::Option<unsafe extern "C" fn(flag: i32, error: i32, unknown: *mut c_void)>; 85 86pub type AdhocMatchingCallback = ::Option< 87 unsafe extern "C" fn( 88 matching_id: i32, 89 event: i32, 90 mac: *mut u8, 91 opt_len: i32, 92 opt_data: *mut c_void, 93 ), 94>; 95 96pub type SceNetApctlHandler = ::Option< 97 unsafe extern "C" fn(oldState: i32, newState: i32, event: i32, error: i32, pArg: *mut c_void), 98>; 99 100pub type HttpMallocFunction = ::Option<unsafe extern "C" fn(size: usize) -> *mut c_void>; 101pub type HttpReallocFunction = 102 ::Option<unsafe extern "C" fn(p: *mut c_void, size: usize) -> *mut c_void>; 103pub type HttpFreeFunction = ::Option<unsafe extern "C" fn(p: *mut c_void)>; 104pub type HttpPasswordCB = ::Option< 105 unsafe extern "C" fn( 106 request: i32, 107 auth_type: HttpAuthType, 108 realm: *const u8, 109 username: *mut u8, 110 password: *mut u8, 111 need_entity: i32, 112 entity_body: *mut *mut u8, 113 entity_size: *mut usize, 114 save: *mut i32, 115 ) -> i32, 116>; 117 118pub type socklen_t = u32; 119 120e! { 121 #[repr(u32)] 122 pub enum AudioFormat { 123 Stereo = 0, 124 Mono = 0x10, 125 } 126 127 #[repr(u32)] 128 pub enum DisplayMode { 129 Lcd = 0, 130 } 131 132 #[repr(u32)] 133 pub enum DisplayPixelFormat { 134 Psm5650 = 0, 135 Psm5551 = 1, 136 Psm4444 = 2, 137 Psm8888 = 3, 138 } 139 140 #[repr(u32)] 141 pub enum DisplaySetBufSync { 142 Immediate = 0, 143 NextFrame = 1, 144 } 145 146 #[repr(i32)] 147 pub enum AudioOutputFrequency { 148 Khz48 = 48000, 149 Khz44_1 = 44100, 150 Khz32 = 32000, 151 Khz24 = 24000, 152 Khz22_05 = 22050, 153 Khz16 = 16000, 154 Khz12 = 12000, 155 Khz11_025 = 11025, 156 Khz8 = 8000, 157 } 158 159 #[repr(i32)] 160 pub enum AudioInputFrequency { 161 Khz44_1 = 44100, 162 Khz22_05 = 22050, 163 Khz11_025 = 11025, 164 } 165 166 #[repr(u32)] 167 pub enum CtrlMode { 168 Digital = 0, 169 Analog, 170 } 171 172 #[repr(i32)] 173 pub enum GeMatrixType { 174 Bone0 = 0, 175 Bone1, 176 Bone2, 177 Bone3, 178 Bone4, 179 Bone5, 180 Bone6, 181 Bone7, 182 World, 183 View, 184 Projection, 185 TexGen, 186 } 187 188 #[repr(i32)] 189 pub enum GeListState { 190 Done = 0, 191 Queued, 192 DrawingDone, 193 StallReached, 194 CancelDone, 195 } 196 197 #[repr(u8)] 198 pub enum GeCommand { 199 Nop = 0, 200 Vaddr = 0x1, 201 Iaddr = 0x2, 202 Prim = 0x4, 203 Bezier = 0x5, 204 Spline = 0x6, 205 BoundingBox = 0x7, 206 Jump = 0x8, 207 BJump = 0x9, 208 Call = 0xa, 209 Ret = 0xb, 210 End = 0xc, 211 Signal = 0xe, 212 Finish = 0xf, 213 Base = 0x10, 214 VertexType = 0x12, 215 OffsetAddr = 0x13, 216 Origin = 0x14, 217 Region1 = 0x15, 218 Region2 = 0x16, 219 LightingEnable = 0x17, 220 LightEnable0 = 0x18, 221 LightEnable1 = 0x19, 222 LightEnable2 = 0x1a, 223 LightEnable3 = 0x1b, 224 DepthClampEnable = 0x1c, 225 CullFaceEnable = 0x1d, 226 TextureMapEnable = 0x1e, 227 FogEnable = 0x1f, 228 DitherEnable = 0x20, 229 AlphaBlendEnable = 0x21, 230 AlphaTestEnable = 0x22, 231 ZTestEnable = 0x23, 232 StencilTestEnable = 0x24, 233 AntiAliasEnable = 0x25, 234 PatchCullEnable = 0x26, 235 ColorTestEnable = 0x27, 236 LogicOpEnable = 0x28, 237 BoneMatrixNumber = 0x2a, 238 BoneMatrixData = 0x2b, 239 MorphWeight0 = 0x2c, 240 MorphWeight1 = 0x2d, 241 MorphWeight2 = 0x2e, 242 MorphWeight3 = 0x2f, 243 MorphWeight4 = 0x30, 244 MorphWeight5 = 0x31, 245 MorphWeight6 = 0x32, 246 MorphWeight7 = 0x33, 247 PatchDivision = 0x36, 248 PatchPrimitive = 0x37, 249 PatchFacing = 0x38, 250 WorldMatrixNumber = 0x3a, 251 WorldMatrixData = 0x3b, 252 ViewMatrixNumber = 0x3c, 253 ViewMatrixData = 0x3d, 254 ProjMatrixNumber = 0x3e, 255 ProjMatrixData = 0x3f, 256 TGenMatrixNumber = 0x40, 257 TGenMatrixData = 0x41, 258 ViewportXScale = 0x42, 259 ViewportYScale = 0x43, 260 ViewportZScale = 0x44, 261 ViewportXCenter = 0x45, 262 ViewportYCenter = 0x46, 263 ViewportZCenter = 0x47, 264 TexScaleU = 0x48, 265 TexScaleV = 0x49, 266 TexOffsetU = 0x4a, 267 TexOffsetV = 0x4b, 268 OffsetX = 0x4c, 269 OffsetY = 0x4d, 270 ShadeMode = 0x50, 271 ReverseNormal = 0x51, 272 MaterialUpdate = 0x53, 273 MaterialEmissive = 0x54, 274 MaterialAmbient = 0x55, 275 MaterialDiffuse = 0x56, 276 MaterialSpecular = 0x57, 277 MaterialAlpha = 0x58, 278 MaterialSpecularCoef = 0x5b, 279 AmbientColor = 0x5c, 280 AmbientAlpha = 0x5d, 281 LightMode = 0x5e, 282 LightType0 = 0x5f, 283 LightType1 = 0x60, 284 LightType2 = 0x61, 285 LightType3 = 0x62, 286 Light0X = 0x63, 287 Light0Y, 288 Light0Z, 289 Light1X, 290 Light1Y, 291 Light1Z, 292 Light2X, 293 Light2Y, 294 Light2Z, 295 Light3X, 296 Light3Y, 297 Light3Z, 298 Light0DirectionX = 0x6f, 299 Light0DirectionY, 300 Light0DirectionZ, 301 Light1DirectionX, 302 Light1DirectionY, 303 Light1DirectionZ, 304 Light2DirectionX, 305 Light2DirectionY, 306 Light2DirectionZ, 307 Light3DirectionX, 308 Light3DirectionY, 309 Light3DirectionZ, 310 Light0ConstantAtten = 0x7b, 311 Light0LinearAtten, 312 Light0QuadtraticAtten, 313 Light1ConstantAtten, 314 Light1LinearAtten, 315 Light1QuadtraticAtten, 316 Light2ConstantAtten, 317 Light2LinearAtten, 318 Light2QuadtraticAtten, 319 Light3ConstantAtten, 320 Light3LinearAtten, 321 Light3QuadtraticAtten, 322 Light0ExponentAtten = 0x87, 323 Light1ExponentAtten, 324 Light2ExponentAtten, 325 Light3ExponentAtten, 326 Light0CutoffAtten = 0x8b, 327 Light1CutoffAtten, 328 Light2CutoffAtten, 329 Light3CutoffAtten, 330 Light0Ambient = 0x8f, 331 Light0Diffuse, 332 Light0Specular, 333 Light1Ambient, 334 Light1Diffuse, 335 Light1Specular, 336 Light2Ambient, 337 Light2Diffuse, 338 Light2Specular, 339 Light3Ambient, 340 Light3Diffuse, 341 Light3Specular, 342 Cull = 0x9b, 343 FrameBufPtr = 0x9c, 344 FrameBufWidth = 0x9d, 345 ZBufPtr = 0x9e, 346 ZBufWidth = 0x9f, 347 TexAddr0 = 0xa0, 348 TexAddr1, 349 TexAddr2, 350 TexAddr3, 351 TexAddr4, 352 TexAddr5, 353 TexAddr6, 354 TexAddr7, 355 TexBufWidth0 = 0xa8, 356 TexBufWidth1, 357 TexBufWidth2, 358 TexBufWidth3, 359 TexBufWidth4, 360 TexBufWidth5, 361 TexBufWidth6, 362 TexBufWidth7, 363 ClutAddr = 0xb0, 364 ClutAddrUpper = 0xb1, 365 TransferSrc, 366 TransferSrcW, 367 TransferDst, 368 TransferDstW, 369 TexSize0 = 0xb8, 370 TexSize1, 371 TexSize2, 372 TexSize3, 373 TexSize4, 374 TexSize5, 375 TexSize6, 376 TexSize7, 377 TexMapMode = 0xc0, 378 TexShadeLs = 0xc1, 379 TexMode = 0xc2, 380 TexFormat = 0xc3, 381 LoadClut = 0xc4, 382 ClutFormat = 0xc5, 383 TexFilter = 0xc6, 384 TexWrap = 0xc7, 385 TexLevel = 0xc8, 386 TexFunc = 0xc9, 387 TexEnvColor = 0xca, 388 TexFlush = 0xcb, 389 TexSync = 0xcc, 390 Fog1 = 0xcd, 391 Fog2 = 0xce, 392 FogColor = 0xcf, 393 TexLodSlope = 0xd0, 394 FramebufPixFormat = 0xd2, 395 ClearMode = 0xd3, 396 Scissor1 = 0xd4, 397 Scissor2 = 0xd5, 398 MinZ = 0xd6, 399 MaxZ = 0xd7, 400 ColorTest = 0xd8, 401 ColorRef = 0xd9, 402 ColorTestmask = 0xda, 403 AlphaTest = 0xdb, 404 StencilTest = 0xdc, 405 StencilOp = 0xdd, 406 ZTest = 0xde, 407 BlendMode = 0xdf, 408 BlendFixedA = 0xe0, 409 BlendFixedB = 0xe1, 410 Dith0 = 0xe2, 411 Dith1, 412 Dith2, 413 Dith3, 414 LogicOp = 0xe6, 415 ZWriteDisable = 0xe7, 416 MaskRgb = 0xe8, 417 MaskAlpha = 0xe9, 418 TransferStart = 0xea, 419 TransferSrcPos = 0xeb, 420 TransferDstPos = 0xec, 421 TransferSize = 0xee, 422 Vscx = 0xf0, 423 Vscy = 0xf1, 424 Vscz = 0xf2, 425 Vtcs = 0xf3, 426 Vtct = 0xf4, 427 Vtcq = 0xf5, 428 Vcv = 0xf6, 429 Vap = 0xf7, 430 Vfc = 0xf8, 431 Vscv = 0xf9, 432 433 Unknown03 = 0x03, 434 Unknown0D = 0x0d, 435 Unknown11 = 0x11, 436 Unknown29 = 0x29, 437 Unknown34 = 0x34, 438 Unknown35 = 0x35, 439 Unknown39 = 0x39, 440 Unknown4E = 0x4e, 441 Unknown4F = 0x4f, 442 Unknown52 = 0x52, 443 Unknown59 = 0x59, 444 Unknown5A = 0x5a, 445 UnknownB6 = 0xb6, 446 UnknownB7 = 0xb7, 447 UnknownD1 = 0xd1, 448 UnknownED = 0xed, 449 UnknownEF = 0xef, 450 UnknownFA = 0xfa, 451 UnknownFB = 0xfb, 452 UnknownFC = 0xfc, 453 UnknownFD = 0xfd, 454 UnknownFE = 0xfe, 455 NopFF = 0xff, 456 } 457 458 #[repr(i32)] 459 pub enum SceSysMemPartitionId { 460 SceKernelUnknownPartition = 0, 461 SceKernelPrimaryKernelPartition = 1, 462 SceKernelPrimaryUserPartition = 2, 463 SceKernelOtherKernelPartition1 = 3, 464 SceKernelOtherKernelPartition2 = 4, 465 SceKernelVshellPARTITION = 5, 466 SceKernelScUserPartition = 6, 467 SceKernelMeUserPartition = 7, 468 SceKernelExtendedScKernelPartition = 8, 469 SceKernelExtendedSc2KernelPartition = 9, 470 SceKernelExtendedMeKernelPartition = 10, 471 SceKernelVshellKernelPartition = 11, 472 SceKernelExtendedKernelPartition = 12, 473 } 474 475 #[repr(i32)] 476 pub enum SceSysMemBlockTypes { 477 Low = 0, 478 High, 479 Addr, 480 } 481 482 #[repr(u32)] 483 pub enum Interrupt { 484 Gpio = 4, 485 Ata = 5, 486 Umd = 6, 487 Mscm0 = 7, 488 Wlan = 8, 489 Audio = 10, 490 I2c = 12, 491 Sircs = 14, 492 Systimer0 = 15, 493 Systimer1 = 16, 494 Systimer2 = 17, 495 Systimer3 = 18, 496 Thread0 = 19, 497 Nand = 20, 498 Dmacplus = 21, 499 Dma0 = 22, 500 Dma1 = 23, 501 Memlmd = 24, 502 Ge = 25, 503 Vblank = 30, 504 Mecodec = 31, 505 Hpremote = 36, 506 Mscm1 = 60, 507 Mscm2 = 61, 508 Thread1 = 65, 509 Interrupt = 66, 510 } 511 512 #[repr(u32)] 513 pub enum SubInterrupt { 514 Gpio = Interrupt::Gpio as u32, 515 Ata = Interrupt::Ata as u32, 516 Umd = Interrupt::Umd as u32, 517 Dmacplus = Interrupt::Dmacplus as u32, 518 Ge = Interrupt::Ge as u32, 519 Display = Interrupt::Vblank as u32, 520 } 521 522 #[repr(u32)] 523 pub enum SceKernelIdListType { 524 Thread = 1, 525 Semaphore = 2, 526 EventFlag = 3, 527 Mbox = 4, 528 Vpl = 5, 529 Fpl = 6, 530 Mpipe = 7, 531 Callback = 8, 532 ThreadEventHandler = 9, 533 Alarm = 10, 534 VTimer = 11, 535 SleepThread = 64, 536 DelayThread = 65, 537 SuspendThread = 66, 538 DormantThread = 67, 539 } 540 541 #[repr(i32)] 542 pub enum UsbCamResolution { 543 Px160_120 = 0, 544 Px176_144 = 1, 545 Px320_240 = 2, 546 Px352_288 = 3, 547 Px640_480 = 4, 548 Px1024_768 = 5, 549 Px1280_960 = 6, 550 Px480_272 = 7, 551 Px360_272 = 8, 552 } 553 554 #[repr(i32)] 555 pub enum UsbCamResolutionEx { 556 Px160_120 = 0, 557 Px176_144 = 1, 558 Px320_240 = 2, 559 Px352_288 = 3, 560 Px360_272 = 4, 561 Px480_272 = 5, 562 Px640_480 = 6, 563 Px1024_768 = 7, 564 Px1280_960 = 8, 565 } 566 567 #[repr(i32)] 568 pub enum UsbCamDelay { 569 NoDelay = 0, 570 Delay10Sec = 1, 571 Delay20Sec = 2, 572 Delay30Sec = 3, 573 } 574 575 #[repr(i32)] 576 pub enum UsbCamFrameRate { 577 Fps3_75 = 0, 578 Fps5 = 1, 579 Fps7_5 = 2, 580 Fps10 = 3, 581 Fps15 = 4, 582 Fps20 = 5, 583 Fps30 = 6, 584 Fps60 = 7, 585 } 586 587 #[repr(i32)] 588 pub enum UsbCamWb { 589 Auto = 0, 590 Daylight = 1, 591 Fluorescent = 2, 592 Incadescent = 3, 593 } 594 595 #[repr(i32)] 596 pub enum UsbCamEffectMode { 597 Normal = 0, 598 Negative = 1, 599 Blackwhite = 2, 600 Sepia = 3, 601 Blue = 4, 602 Red = 5, 603 Green = 6, 604 } 605 606 #[repr(i32)] 607 pub enum UsbCamEvLevel { 608 Pos2_0 = 0, 609 Pos1_7 = 1, 610 Pos1_5 = 2, 611 Pos1_3 = 3, 612 Pos1_0 = 4, 613 Pos0_7 = 5, 614 Pos0_5 = 6, 615 Pos0_3 = 7, 616 Zero = 8, 617 Neg0_3, 618 Neg0_5, 619 Neg0_7, 620 Neg1_0, 621 Neg1_3, 622 Neg1_5, 623 Neg1_7, 624 Neg2_0, 625 } 626 627 #[repr(i32)] 628 pub enum RtcCheckValidError { 629 InvalidYear = -1, 630 InvalidMonth = -2, 631 InvalidDay = -3, 632 InvalidHour = -4, 633 InvalidMinutes = -5, 634 InvalidSeconds = -6, 635 InvalidMicroseconds = -7, 636 } 637 638 #[repr(u32)] 639 pub enum PowerTick { 640 All = 0, 641 Suspend = 1, 642 Display = 6, 643 } 644 645 #[repr(u32)] 646 pub enum IoAssignPerms { 647 RdWr = 0, 648 RdOnly = 1, 649 } 650 651 #[repr(u32)] 652 pub enum IoWhence { 653 Set = 0, 654 Cur = 1, 655 End = 2, 656 } 657 658 #[repr(u32)] 659 pub enum UmdType { 660 Game = 0x10, 661 Video = 0x20, 662 Audio = 0x40, 663 } 664 665 #[repr(u32)] 666 pub enum GuPrimitive { 667 Points = 0, 668 Lines = 1, 669 LineStrip = 2, 670 Triangles = 3, 671 TriangleStrip = 4, 672 TriangleFan = 5, 673 Sprites = 6, 674 } 675 676 #[repr(u32)] 677 pub enum PatchPrimitive { 678 Points = 0, 679 LineStrip = 2, 680 TriangleStrip = 4, 681 } 682 683 #[repr(u32)] 684 pub enum GuState { 685 AlphaTest = 0, 686 DepthTest = 1, 687 ScissorTest = 2, 688 StencilTest = 3, 689 Blend = 4, 690 CullFace = 5, 691 Dither = 6, 692 Fog = 7, 693 ClipPlanes = 8, 694 Texture2D = 9, 695 Lighting = 10, 696 Light0 = 11, 697 Light1 = 12, 698 Light2 = 13, 699 Light3 = 14, 700 LineSmooth = 15, 701 PatchCullFace = 16, 702 ColorTest = 17, 703 ColorLogicOp = 18, 704 FaceNormalReverse = 19, 705 PatchFace = 20, 706 Fragment2X = 21, 707 } 708 709 #[repr(u32)] 710 pub enum MatrixMode { 711 Projection = 0, 712 View = 1, 713 Model = 2, 714 Texture = 3, 715 } 716 717 #[repr(u32)] 718 pub enum TexturePixelFormat { 719 Psm5650 = 0, 720 Psm5551 = 1, 721 Psm4444 = 2, 722 Psm8888 = 3, 723 PsmT4 = 4, 724 PsmT8 = 5, 725 PsmT16 = 6, 726 PsmT32 = 7, 727 PsmDxt1 = 8, 728 PsmDxt3 = 9, 729 PsmDxt5 = 10, 730 } 731 732 #[repr(u32)] 733 pub enum SplineMode { 734 FillFill = 0, 735 OpenFill = 1, 736 FillOpen = 2, 737 OpenOpen = 3, 738 } 739 740 #[repr(u32)] 741 pub enum ShadingModel { 742 Flat = 0, 743 Smooth = 1, 744 } 745 746 #[repr(u32)] 747 pub enum LogicalOperation { 748 Clear = 0, 749 And = 1, 750 AndReverse = 2, 751 Copy = 3, 752 AndInverted = 4, 753 Noop = 5, 754 Xor = 6, 755 Or = 7, 756 Nor = 8, 757 Equiv = 9, 758 Inverted = 10, 759 OrReverse = 11, 760 CopyInverted = 12, 761 OrInverted = 13, 762 Nand = 14, 763 Set = 15, 764 } 765 766 #[repr(u32)] 767 pub enum TextureFilter { 768 Nearest = 0, 769 Linear = 1, 770 NearestMipmapNearest = 4, 771 LinearMipmapNearest = 5, 772 NearestMipmapLinear = 6, 773 LinearMipmapLinear = 7, 774 } 775 776 #[repr(u32)] 777 pub enum TextureMapMode { 778 TextureCoords = 0, 779 TextureMatrix = 1, 780 EnvironmentMap = 2, 781 } 782 783 #[repr(u32)] 784 pub enum TextureLevelMode { 785 Auto = 0, 786 Const = 1, 787 Slope = 2, 788 } 789 790 #[repr(u32)] 791 pub enum TextureProjectionMapMode { 792 Position = 0, 793 Uv = 1, 794 NormalizedNormal = 2, 795 Normal = 3, 796 } 797 798 #[repr(u32)] 799 pub enum GuTexWrapMode { 800 Repeat = 0, 801 Clamp = 1, 802 } 803 804 #[repr(u32)] 805 pub enum FrontFaceDirection { 806 Clockwise = 0, 807 CounterClockwise = 1, 808 } 809 810 #[repr(u32)] 811 pub enum AlphaFunc { 812 Never = 0, 813 Always, 814 Equal, 815 NotEqual, 816 Less, 817 LessOrEqual, 818 Greater, 819 GreaterOrEqual, 820 } 821 822 #[repr(u32)] 823 pub enum StencilFunc { 824 Never = 0, 825 Always, 826 Equal, 827 NotEqual, 828 Less, 829 LessOrEqual, 830 Greater, 831 GreaterOrEqual, 832 } 833 834 #[repr(u32)] 835 pub enum ColorFunc { 836 Never = 0, 837 Always, 838 Equal, 839 NotEqual, 840 } 841 842 #[repr(u32)] 843 pub enum DepthFunc { 844 Never = 0, 845 Always, 846 Equal, 847 NotEqual, 848 Less, 849 LessOrEqual, 850 Greater, 851 GreaterOrEqual, 852 } 853 854 #[repr(u32)] 855 pub enum TextureEffect { 856 Modulate = 0, 857 Decal = 1, 858 Blend = 2, 859 Replace = 3, 860 Add = 4, 861 } 862 863 #[repr(u32)] 864 pub enum TextureColorComponent { 865 Rgb = 0, 866 Rgba = 1, 867 } 868 869 #[repr(u32)] 870 pub enum MipmapLevel { 871 None = 0, 872 Level1, 873 Level2, 874 Level3, 875 Level4, 876 Level5, 877 Level6, 878 Level7, 879 } 880 881 #[repr(u32)] 882 pub enum BlendOp { 883 Add = 0, 884 Subtract = 1, 885 ReverseSubtract = 2, 886 Min = 3, 887 Max = 4, 888 Abs = 5, 889 } 890 891 #[repr(u32)] 892 pub enum BlendSrc { 893 SrcColor = 0, 894 OneMinusSrcColor = 1, 895 SrcAlpha = 2, 896 OneMinusSrcAlpha = 3, 897 Fix = 10, 898 } 899 900 #[repr(u32)] 901 pub enum BlendDst { 902 DstColor = 0, 903 OneMinusDstColor = 1, 904 DstAlpha = 4, 905 OneMinusDstAlpha = 5, 906 Fix = 10, 907 } 908 909 #[repr(u32)] 910 pub enum StencilOperation { 911 Keep = 0, 912 Zero = 1, 913 Replace = 2, 914 Invert = 3, 915 Incr = 4, 916 Decr = 5, 917 } 918 919 #[repr(u32)] 920 pub enum LightMode { 921 SingleColor = 0, 922 SeparateSpecularColor = 1, 923 } 924 925 #[repr(u32)] 926 pub enum LightType { 927 Directional = 0, 928 Pointlight = 1, 929 Spotlight = 2, 930 } 931 932 #[repr(u32)] 933 pub enum GuContextType { 934 Direct = 0, 935 Call = 1, 936 Send = 2, 937 } 938 939 #[repr(u32)] 940 pub enum GuQueueMode { 941 Tail = 0, 942 Head = 1, 943 } 944 945 #[repr(u32)] 946 pub enum GuSyncMode { 947 Finish = 0, 948 Signal = 1, 949 Done = 2, 950 List = 3, 951 Send = 4, 952 } 953 954 #[repr(u32)] 955 pub enum GuSyncBehavior { 956 Wait = 0, 957 NoWait = 1, 958 } 959 960 #[repr(u32)] 961 pub enum GuCallbackId { 962 Signal = 1, 963 Finish = 4, 964 } 965 966 #[repr(u32)] 967 pub enum SignalBehavior { 968 Suspend = 1, 969 Continue = 2, 970 } 971 972 #[repr(u32)] 973 pub enum ClutPixelFormat { 974 Psm5650 = 0, 975 Psm5551 = 1, 976 Psm4444 = 2, 977 Psm8888 = 3, 978 } 979 980 #[repr(C)] 981 pub enum KeyType { 982 Directory = 1, 983 Integer = 2, 984 String = 3, 985 Bytes = 4, 986 } 987 988 #[repr(u32)] 989 pub enum UtilityMsgDialogMode { 990 Error, 991 Text, 992 } 993 994 #[repr(u32)] 995 pub enum UtilityMsgDialogPressed { 996 Unknown1, 997 Yes, 998 No, 999 Back, 1000 } 1001 1002 #[repr(u32)] 1003 pub enum UtilityDialogButtonAccept { 1004 Circle, 1005 Cross, 1006 } 1007 1008 #[repr(u32)] 1009 pub enum SceUtilityOskInputLanguage { 1010 Default, 1011 Japanese, 1012 English, 1013 French, 1014 Spanish, 1015 German, 1016 Italian, 1017 Dutch, 1018 Portugese, 1019 Russian, 1020 Korean, 1021 } 1022 1023 #[repr(u32)] 1024 pub enum SceUtilityOskInputType { 1025 All, 1026 LatinDigit, 1027 LatinSymbol, 1028 LatinLowercase = 4, 1029 LatinUppercase = 8, 1030 JapaneseDigit = 0x100, 1031 JapaneseSymbol = 0x200, 1032 JapaneseLowercase = 0x400, 1033 JapaneseUppercase = 0x800, 1034 JapaneseHiragana = 0x1000, 1035 JapaneseHalfWidthKatakana = 0x2000, 1036 JapaneseKatakana = 0x4000, 1037 JapaneseKanji = 0x8000, 1038 RussianLowercase = 0x10000, 1039 RussianUppercase = 0x20000, 1040 Korean = 0x40000, 1041 Url = 0x80000, 1042 } 1043 1044 #[repr(u32)] 1045 pub enum SceUtilityOskState { 1046 None, 1047 Initializing, 1048 Initialized, 1049 Visible, 1050 Quit, 1051 Finished, 1052 } 1053 1054 #[repr(u32)] 1055 pub enum SceUtilityOskResult { 1056 Unchanged, 1057 Cancelled, 1058 Changed, 1059 } 1060 1061 #[repr(u32)] 1062 pub enum SystemParamLanguage { 1063 Japanese, 1064 English, 1065 French, 1066 Spanish, 1067 German, 1068 Italian, 1069 Dutch, 1070 Portugese, 1071 Russian, 1072 Korean, 1073 ChineseTraditional, 1074 ChineseSimplified, 1075 } 1076 1077 #[repr(u32)] 1078 pub enum SystemParamId { 1079 StringNickname = 1, 1080 AdhocChannel, 1081 WlanPowerSave, 1082 DateFormat, 1083 TimeFormat, 1084 Timezone, 1085 DaylightSavings, 1086 Language, 1087 Unknown, 1088 } 1089 1090 #[repr(u32)] 1091 pub enum SystemParamAdhocChannel { 1092 ChannelAutomatic = 0, 1093 Channel1 = 1, 1094 Channel6 = 6, 1095 Channel11 = 11, 1096 } 1097 1098 #[repr(u32)] 1099 pub enum SystemParamWlanPowerSaveState { 1100 Off, 1101 On, 1102 } 1103 1104 #[repr(u32)] 1105 pub enum SystemParamDateFormat { 1106 YYYYMMDD, 1107 MMDDYYYY, 1108 DDMMYYYY, 1109 } 1110 1111 #[repr(u32)] 1112 pub enum SystemParamTimeFormat { 1113 Hour24, 1114 Hour12, 1115 } 1116 1117 #[repr(u32)] 1118 pub enum SystemParamDaylightSavings { 1119 Std, 1120 Dst, 1121 } 1122 1123 #[repr(u32)] 1124 pub enum AvModule { 1125 AvCodec, 1126 SasCore, 1127 Atrac3Plus, 1128 MpegBase, 1129 Mp3, 1130 Vaudio, 1131 Aac, 1132 G729, 1133 } 1134 1135 #[repr(u32)] 1136 pub enum Module { 1137 NetCommon = 0x100, 1138 NetAdhoc, 1139 NetInet, 1140 NetParseUri, 1141 NetHttp, 1142 NetSsl, 1143 1144 UsbPspCm = 0x200, 1145 UsbMic, 1146 UsbCam, 1147 UsbGps, 1148 1149 AvCodec = 0x300, 1150 AvSascore, 1151 AvAtrac3Plus, 1152 AvMpegBase, 1153 AvMp3, 1154 AvVaudio, 1155 AvAac, 1156 AvG729, 1157 1158 NpCommon = 0x400, 1159 NpService, 1160 NpMatching2, 1161 NpDrm = 0x500, 1162 1163 Irda = 0x600, 1164 } 1165 1166 #[repr(u32)] 1167 pub enum NetModule { 1168 NetCommon = 1, 1169 NetAdhoc, 1170 NetInet, 1171 NetParseUri, 1172 NetHttp, 1173 NetSsl, 1174 } 1175 1176 #[repr(u32)] 1177 pub enum UsbModule { 1178 UsbPspCm = 1, 1179 UsbAcc, 1180 UsbMic, 1181 UsbCam, 1182 UsbGps, 1183 } 1184 1185 #[repr(u32)] 1186 pub enum NetParam { 1187 Name, 1188 Ssid, 1189 Secure, 1190 WepKey, 1191 IsStaticIp, 1192 Ip, 1193 NetMask, 1194 Route, 1195 ManualDns, 1196 PrimaryDns, 1197 SecondaryDns, 1198 ProxyUser, 1199 ProxyPass, 1200 UseProxy, 1201 ProxyServer, 1202 ProxyPort, 1203 Unknown1, 1204 Unknown2, 1205 } 1206 1207 #[repr(u32)] 1208 pub enum UtilityNetconfAction { 1209 ConnectAP, 1210 DisplayStatus, 1211 ConnectAdhoc, 1212 } 1213 1214 #[repr(u32)] 1215 pub enum UtilitySavedataMode { 1216 AutoLoad, 1217 AutoSave, 1218 Load, 1219 Save, 1220 ListLoad, 1221 ListSave, 1222 ListDelete, 1223 Delete, 1224 } 1225 1226 #[repr(u32)] 1227 pub enum UtilitySavedataFocus { 1228 Unknown1, 1229 FirstList, 1230 LastList, 1231 Latest, 1232 Oldest, 1233 Unknown2, 1234 Unknown3, 1235 FirstEmpty, 1236 LastEmpty, 1237 } 1238 1239 #[repr(u32)] 1240 pub enum UtilityGameSharingMode { 1241 Single = 1, 1242 Multiple, 1243 } 1244 1245 #[repr(u32)] 1246 pub enum UtilityGameSharingDataType { 1247 File = 1, 1248 Memory, 1249 } 1250 1251 #[repr(u32)] 1252 pub enum UtilityHtmlViewerInterfaceMode { 1253 Full, 1254 Limited, 1255 None, 1256 } 1257 1258 #[repr(u32)] 1259 pub enum UtilityHtmlViewerCookieMode { 1260 Disabled = 0, 1261 Enabled, 1262 Confirm, 1263 Default, 1264 } 1265 1266 #[repr(u32)] 1267 pub enum UtilityHtmlViewerTextSize { 1268 Large, 1269 Normal, 1270 Small, 1271 } 1272 1273 #[repr(u32)] 1274 pub enum UtilityHtmlViewerDisplayMode { 1275 Normal, 1276 Fit, 1277 SmartFit, 1278 } 1279 1280 #[repr(u32)] 1281 pub enum UtilityHtmlViewerConnectMode { 1282 Last, 1283 ManualOnce, 1284 ManualAll, 1285 } 1286 1287 #[repr(u32)] 1288 pub enum UtilityHtmlViewerDisconnectMode { 1289 Enable, 1290 Disable, 1291 Confirm, 1292 } 1293 1294 #[repr(u32)] 1295 pub enum ScePspnetAdhocPtpState { 1296 Closed, 1297 Listen, 1298 SynSent, 1299 SynReceived, 1300 Established, 1301 } 1302 1303 #[repr(u32)] 1304 pub enum AdhocMatchingMode { 1305 Host = 1, 1306 Client, 1307 Ptp, 1308 } 1309 1310 #[repr(u32)] 1311 pub enum ApctlState { 1312 Disconnected, 1313 Scanning, 1314 Joining, 1315 GettingIp, 1316 GotIp, 1317 EapAuth, 1318 KeyExchange, 1319 } 1320 1321 #[repr(u32)] 1322 pub enum ApctlEvent { 1323 ConnectRequest, 1324 ScanRequest, 1325 ScanComplete, 1326 Established, 1327 GetIp, 1328 DisconnectRequest, 1329 Error, 1330 Info, 1331 EapAuth, 1332 KeyExchange, 1333 Reconnect, 1334 } 1335 1336 #[repr(u32)] 1337 pub enum ApctlInfo { 1338 ProfileName, 1339 Bssid, 1340 Ssid, 1341 SsidLength, 1342 SecurityType, 1343 Strength, 1344 Channel, 1345 PowerSave, 1346 Ip, 1347 SubnetMask, 1348 Gateway, 1349 PrimaryDns, 1350 SecondaryDns, 1351 UseProxy, 1352 ProxyUrl, 1353 ProxyPort, 1354 EapType, 1355 StartBrowser, 1356 Wifisp, 1357 } 1358 1359 #[repr(u32)] 1360 pub enum ApctlInfoSecurityType { 1361 None, 1362 Wep, 1363 Wpa, 1364 } 1365 1366 #[repr(u32)] 1367 pub enum HttpMethod { 1368 Get, 1369 Post, 1370 Head, 1371 } 1372 1373 #[repr(u32)] 1374 pub enum HttpAuthType { 1375 Basic, 1376 Digest, 1377 } 1378} 1379 1380s_paren! { 1381 #[repr(transparent)] 1382 pub struct SceUid(pub i32); 1383 1384 #[repr(transparent)] 1385 pub struct SceMpeg(*mut *mut c_void); 1386 1387 #[repr(transparent)] 1388 pub struct SceMpegStream(*mut c_void); 1389 1390 #[repr(transparent)] 1391 pub struct Mp3Handle(pub i32); 1392 1393 #[repr(transparent)] 1394 pub struct RegHandle(u32); 1395} 1396 1397s! { 1398 pub struct sockaddr { 1399 pub sa_len: u8, 1400 pub sa_family: u8, 1401 pub sa_data: [u8;14], 1402 } 1403 1404 pub struct in_addr { 1405 pub s_addr: u32, 1406 } 1407 1408 pub struct AudioInputParams { 1409 pub unknown1: i32, 1410 pub gain: i32, 1411 pub unknown2: i32, 1412 pub unknown3: i32, 1413 pub unknown4: i32, 1414 pub unknown5: i32, 1415 } 1416 1417 pub struct Atrac3BufferInfo { 1418 pub puc_write_position_first_buf: *mut u8, 1419 pub ui_writable_byte_first_buf: u32, 1420 pub ui_min_write_byte_first_buf: u32, 1421 pub ui_read_position_first_buf: u32, 1422 pub puc_write_position_second_buf: *mut u8, 1423 pub ui_writable_byte_second_buf: u32, 1424 pub ui_min_write_byte_second_buf: u32, 1425 pub ui_read_position_second_buf: u32, 1426 } 1427 1428 pub struct SceCtrlData { 1429 pub timestamp: u32, 1430 pub buttons: i32, 1431 pub lx: u8, 1432 pub ly: u8, 1433 pub rsrv: [u8; 6], 1434 } 1435 1436 pub struct SceCtrlLatch { 1437 pub ui_make: u32, 1438 pub ui_break: u32, 1439 pub ui_press: u32, 1440 pub ui_release: u32, 1441 } 1442 1443 pub struct GeStack { 1444 pub stack: [u32; 8], 1445 } 1446 1447 pub struct GeCallbackData { 1448 pub signal_func: ::Option<extern "C" fn(id: i32, arg: *mut c_void)>, 1449 pub signal_arg: *mut c_void, 1450 pub finish_func: ::Option<extern "C" fn(id: i32, arg: *mut c_void)>, 1451 pub finish_arg: *mut c_void, 1452 } 1453 1454 pub struct GeListArgs { 1455 pub size: u32, 1456 pub context: *mut GeContext, 1457 pub num_stacks: u32, 1458 pub stacks: *mut GeStack, 1459 } 1460 1461 pub struct GeBreakParam { 1462 pub buf: [u32; 4], 1463 } 1464 1465 pub struct SceKernelLoadExecParam { 1466 pub size: usize, 1467 pub args: usize, 1468 pub argp: *mut c_void, 1469 pub key: *const u8, 1470 } 1471 1472 pub struct timeval { 1473 pub tv_sec: i32, 1474 pub tv_usec: i32, 1475 } 1476 1477 pub struct timezone { 1478 pub tz_minutes_west: i32, 1479 pub tz_dst_time: i32, 1480 } 1481 1482 pub struct IntrHandlerOptionParam { 1483 size: i32, 1484 entry: u32, 1485 common: u32, 1486 gp: u32, 1487 intr_code: u16, 1488 sub_count: u16, 1489 intr_level: u16, 1490 enabled: u16, 1491 calls: u32, 1492 field_1c: u32, 1493 total_clock_lo: u32, 1494 total_clock_hi: u32, 1495 min_clock_lo: u32, 1496 min_clock_hi: u32, 1497 max_clock_lo: u32, 1498 max_clock_hi: u32, 1499 } 1500 1501 pub struct SceKernelLMOption { 1502 pub size: usize, 1503 pub m_pid_text: SceUid, 1504 pub m_pid_data: SceUid, 1505 pub flags: u32, 1506 pub position: u8, 1507 pub access: u8, 1508 pub c_reserved: [u8; 2usize], 1509 } 1510 1511 pub struct SceKernelSMOption { 1512 pub size: usize, 1513 pub m_pid_stack: SceUid, 1514 pub stack_size: usize, 1515 pub priority: i32, 1516 pub attribute: u32, 1517 } 1518 1519 pub struct SceKernelModuleInfo { 1520 pub size: usize, 1521 pub n_segment: u8, 1522 pub reserved: [u8; 3usize], 1523 pub segment_addr: [i32; 4usize], 1524 pub segment_size: [i32; 4usize], 1525 pub entry_addr: u32, 1526 pub gp_value: u32, 1527 pub text_addr: u32, 1528 pub text_size: u32, 1529 pub data_size: u32, 1530 pub bss_size: u32, 1531 pub attribute: u16, 1532 pub version: [u8; 2usize], 1533 pub name: [u8; 28usize], 1534 } 1535 1536 pub struct DebugProfilerRegs { 1537 pub enable: u32, 1538 pub systemck: u32, 1539 pub cpuck: u32, 1540 pub internal: u32, 1541 pub memory: u32, 1542 pub copz: u32, 1543 pub vfpu: u32, 1544 pub sleep: u32, 1545 pub bus_access: u32, 1546 pub uncached_load: u32, 1547 pub uncached_store: u32, 1548 pub cached_load: u32, 1549 pub cached_store: u32, 1550 pub i_miss: u32, 1551 pub d_miss: u32, 1552 pub d_writeback: u32, 1553 pub cop0_inst: u32, 1554 pub fpu_inst: u32, 1555 pub vfpu_inst: u32, 1556 pub local_bus: u32, 1557 } 1558 1559 pub struct SceKernelSysClock { 1560 pub low: u32, 1561 pub hi: u32, 1562 } 1563 1564 pub struct SceKernelThreadOptParam { 1565 pub size: usize, 1566 pub stack_mpid: SceUid, 1567 } 1568 1569 pub struct SceKernelThreadInfo { 1570 pub size: usize, 1571 pub name: [u8; 32], 1572 pub attr: u32, 1573 pub status: i32, 1574 pub entry: SceKernelThreadEntry, 1575 pub stack: *mut c_void, 1576 pub stack_size: i32, 1577 pub gp_reg: *mut c_void, 1578 pub init_priority: i32, 1579 pub current_priority: i32, 1580 pub wait_type: i32, 1581 pub wait_id: SceUid, 1582 pub wakeup_count: i32, 1583 pub exit_status: i32, 1584 pub run_clocks: SceKernelSysClock, 1585 pub intr_preempt_count: u32, 1586 pub thread_preempt_count: u32, 1587 pub release_count: u32, 1588 } 1589 1590 pub struct SceKernelThreadRunStatus { 1591 pub size: usize, 1592 pub status: i32, 1593 pub current_priority: i32, 1594 pub wait_type: i32, 1595 pub wait_id: i32, 1596 pub wakeup_count: i32, 1597 pub run_clocks: SceKernelSysClock, 1598 pub intr_preempt_count: u32, 1599 pub thread_preempt_count: u32, 1600 pub release_count: u32, 1601 } 1602 1603 pub struct SceKernelSemaOptParam { 1604 pub size: usize, 1605 } 1606 1607 pub struct SceKernelSemaInfo { 1608 pub size: usize, 1609 pub name: [u8; 32], 1610 pub attr: u32, 1611 pub init_count: i32, 1612 pub current_count: i32, 1613 pub max_count: i32, 1614 pub num_wait_threads: i32, 1615 } 1616 1617 pub struct SceKernelEventFlagInfo { 1618 pub size: usize, 1619 pub name: [u8; 32], 1620 pub attr: u32, 1621 pub init_pattern: u32, 1622 pub current_pattern: u32, 1623 pub num_wait_threads: i32, 1624 } 1625 1626 pub struct SceKernelEventFlagOptParam { 1627 pub size: usize, 1628 } 1629 1630 pub struct SceKernelMbxOptParam { 1631 pub size: usize, 1632 } 1633 1634 pub struct SceKernelMbxInfo { 1635 pub size: usize, 1636 pub name: [u8; 32usize], 1637 pub attr: u32, 1638 pub num_wait_threads: i32, 1639 pub num_messages: i32, 1640 pub first_message: *mut c_void, 1641 } 1642 1643 pub struct SceKernelVTimerInfo { 1644 pub size: usize, 1645 pub name: [u8; 32], 1646 pub active: i32, 1647 pub base: SceKernelSysClock, 1648 pub current: SceKernelSysClock, 1649 pub schedule: SceKernelSysClock, 1650 pub handler: SceKernelVTimerHandler, 1651 pub common: *mut c_void, 1652 } 1653 1654 pub struct SceKernelThreadEventHandlerInfo { 1655 pub size: usize, 1656 pub name: [u8; 32], 1657 pub thread_id: SceUid, 1658 pub mask: i32, 1659 pub handler: SceKernelThreadEventHandler, 1660 pub common: *mut c_void, 1661 } 1662 1663 pub struct SceKernelAlarmInfo { 1664 pub size: usize, 1665 pub schedule: SceKernelSysClock, 1666 pub handler: SceKernelAlarmHandler, 1667 pub common: *mut c_void, 1668 } 1669 1670 pub struct SceKernelSystemStatus { 1671 pub size: usize, 1672 pub status: u32, 1673 pub idle_clocks: SceKernelSysClock, 1674 pub comes_out_of_idle_count: u32, 1675 pub thread_switch_count: u32, 1676 pub vfpu_switch_count: u32, 1677 } 1678 1679 pub struct SceKernelMppInfo { 1680 pub size: usize, 1681 pub name: [u8; 32], 1682 pub attr: u32, 1683 pub buf_size: i32, 1684 pub free_size: i32, 1685 pub num_send_wait_threads: i32, 1686 pub num_receive_wait_threads: i32, 1687 } 1688 1689 pub struct SceKernelVplOptParam { 1690 pub size: usize, 1691 } 1692 1693 pub struct SceKernelVplInfo { 1694 pub size: usize, 1695 pub name: [u8; 32], 1696 pub attr: u32, 1697 pub pool_size: i32, 1698 pub free_size: i32, 1699 pub num_wait_threads: i32, 1700 } 1701 1702 pub struct SceKernelFplOptParam { 1703 pub size: usize, 1704 } 1705 1706 pub struct SceKernelFplInfo { 1707 pub size: usize, 1708 pub name: [u8; 32usize], 1709 pub attr: u32, 1710 pub block_size: i32, 1711 pub num_blocks: i32, 1712 pub free_blocks: i32, 1713 pub num_wait_threads: i32, 1714 } 1715 1716 pub struct SceKernelVTimerOptParam { 1717 pub size: usize, 1718 } 1719 1720 pub struct SceKernelCallbackInfo { 1721 pub size: usize, 1722 pub name: [u8; 32usize], 1723 pub thread_id: SceUid, 1724 pub callback: SceKernelCallbackFunction, 1725 pub common: *mut c_void, 1726 pub notify_count: i32, 1727 pub notify_arg: i32, 1728 } 1729 1730 pub struct UsbCamSetupStillParam { 1731 pub size: i32, 1732 pub resolution: UsbCamResolution, 1733 pub jpeg_size: i32, 1734 pub reverse_flags: i32, 1735 pub delay: UsbCamDelay, 1736 pub comp_level: i32, 1737 } 1738 1739 pub struct UsbCamSetupStillExParam { 1740 pub size: i32, 1741 pub unk: u32, 1742 pub resolution: UsbCamResolutionEx, 1743 pub jpeg_size: i32, 1744 pub comp_level: i32, 1745 pub unk2: u32, 1746 pub unk3: u32, 1747 pub flip: i32, 1748 pub mirror: i32, 1749 pub delay: UsbCamDelay, 1750 pub unk4: [u32; 5usize], 1751 } 1752 1753 pub struct UsbCamSetupVideoParam { 1754 pub size: i32, 1755 pub resolution: UsbCamResolution, 1756 pub framerate: UsbCamFrameRate, 1757 pub white_balance: UsbCamWb, 1758 pub saturation: i32, 1759 pub brightness: i32, 1760 pub contrast: i32, 1761 pub sharpness: i32, 1762 pub effect_mode: UsbCamEffectMode, 1763 pub frame_size: i32, 1764 pub unk: u32, 1765 pub evl_evel: UsbCamEvLevel, 1766 } 1767 1768 pub struct UsbCamSetupVideoExParam { 1769 pub size: i32, 1770 pub unk: u32, 1771 pub resolution: UsbCamResolutionEx, 1772 pub framerate: UsbCamFrameRate, 1773 pub unk2: u32, 1774 pub unk3: u32, 1775 pub white_balance: UsbCamWb, 1776 pub saturation: i32, 1777 pub brightness: i32, 1778 pub contrast: i32, 1779 pub sharpness: i32, 1780 pub unk4: u32, 1781 pub unk5: u32, 1782 pub unk6: [u32; 3usize], 1783 pub effect_mode: UsbCamEffectMode, 1784 pub unk7: u32, 1785 pub unk8: u32, 1786 pub unk9: u32, 1787 pub unk10: u32, 1788 pub unk11: u32, 1789 pub frame_size: i32, 1790 pub unk12: u32, 1791 pub ev_level: UsbCamEvLevel, 1792 } 1793 1794 pub struct ScePspDateTime { 1795 pub year: u16, 1796 pub month: u16, 1797 pub day: u16, 1798 pub hour: u16, 1799 pub minutes: u16, 1800 pub seconds: u16, 1801 pub microseconds: u32, 1802 } 1803 1804 pub struct SceIoStat { 1805 pub st_mode: i32, 1806 pub st_attr: i32, 1807 pub st_size: i64, 1808 pub st_ctime: ScePspDateTime, 1809 pub st_atime: ScePspDateTime, 1810 pub st_mtime: ScePspDateTime, 1811 pub st_private: [u32; 6usize], 1812 } 1813 1814 pub struct UmdInfo { 1815 pub size: u32, 1816 pub type_: UmdType, 1817 } 1818 1819 pub struct SceMpegRingbuffer { 1820 pub packets: i32, 1821 pub unk0: u32, 1822 pub unk1: u32, 1823 pub unk2: u32, 1824 pub unk3: u32, 1825 pub data: *mut c_void, 1826 pub callback: SceMpegRingbufferCb, 1827 pub cb_param: *mut c_void, 1828 pub unk4: u32, 1829 pub unk5: u32, 1830 pub sce_mpeg: *mut c_void, 1831 } 1832 1833 pub struct SceMpegAu { 1834 pub pts_msb: u32, 1835 pub pts: u32, 1836 pub dts_msb: u32, 1837 pub dts: u32, 1838 pub es_buffer: u32, 1839 pub au_size: u32, 1840 } 1841 1842 pub struct SceMpegAvcMode { 1843 pub unk0: i32, 1844 pub pixel_format: super::DisplayPixelFormat, 1845 } 1846 1847 #[repr(align(64))] 1848 pub struct SceMpegLLI { 1849 pub src: *mut c_void, 1850 pub dst: *mut c_void, 1851 pub next: *mut c_void, 1852 pub size: i32, 1853 } 1854 1855 #[repr(align(64))] 1856 pub struct SceMpegYCrCbBuffer { 1857 pub frame_buffer_height16: i32, 1858 pub frame_buffer_width16: i32, 1859 pub unknown: i32, 1860 pub unknown2: i32, 1861 pub y_buffer: *mut c_void, 1862 pub y_buffer2: *mut c_void, 1863 pub cr_buffer: *mut c_void, 1864 pub cb_buffer: *mut c_void, 1865 pub cr_buffer2: *mut c_void, 1866 pub cb_buffer2: *mut c_void, 1867 1868 pub frame_height: i32, 1869 pub frame_width: i32, 1870 pub frame_buffer_width: i32, 1871 pub unknown3: [i32; 11usize], 1872 } 1873 1874 pub struct ScePspSRect { 1875 pub x: i16, 1876 pub y: i16, 1877 pub w: i16, 1878 pub h: i16, 1879 } 1880 1881 pub struct ScePspIRect { 1882 pub x: i32, 1883 pub y: i32, 1884 pub w: i32, 1885 pub h: i32, 1886 } 1887 1888 pub struct ScePspL64Rect { 1889 pub x: u64, 1890 pub y: u64, 1891 pub w: u64, 1892 pub h: u64, 1893 } 1894 1895 pub struct ScePspSVector2 { 1896 pub x: i16, 1897 pub y: i16, 1898 } 1899 1900 pub struct ScePspIVector2 { 1901 pub x: i32, 1902 pub y: i32, 1903 } 1904 1905 pub struct ScePspL64Vector2 { 1906 pub x: u64, 1907 pub y: u64, 1908 } 1909 1910 pub struct ScePspSVector3 { 1911 pub x: i16, 1912 pub y: i16, 1913 pub z: i16, 1914 } 1915 1916 pub struct ScePspIVector3 { 1917 pub x: i32, 1918 pub y: i32, 1919 pub z: i32, 1920 } 1921 1922 pub struct ScePspL64Vector3 { 1923 pub x: u64, 1924 pub y: u64, 1925 pub z: u64, 1926 } 1927 1928 pub struct ScePspSVector4 { 1929 pub x: i16, 1930 pub y: i16, 1931 pub z: i16, 1932 pub w: i16, 1933 } 1934 1935 pub struct ScePspIVector4 { 1936 pub x: i32, 1937 pub y: i32, 1938 pub z: i32, 1939 pub w: i32, 1940 } 1941 1942 pub struct ScePspL64Vector4 { 1943 pub x: u64, 1944 pub y: u64, 1945 pub z: u64, 1946 pub w: u64, 1947 } 1948 1949 pub struct ScePspIMatrix2 { 1950 pub x: ScePspIVector2, 1951 pub y: ScePspIVector2, 1952 } 1953 1954 pub struct ScePspIMatrix3 { 1955 pub x: ScePspIVector3, 1956 pub y: ScePspIVector3, 1957 pub z: ScePspIVector3, 1958 } 1959 1960 #[repr(align(16))] 1961 pub struct ScePspIMatrix4 { 1962 pub x: ScePspIVector4, 1963 pub y: ScePspIVector4, 1964 pub z: ScePspIVector4, 1965 pub w: ScePspIVector4, 1966 } 1967 1968 pub struct ScePspIMatrix4Unaligned { 1969 pub x: ScePspIVector4, 1970 pub y: ScePspIVector4, 1971 pub z: ScePspIVector4, 1972 pub w: ScePspIVector4, 1973 } 1974 1975 pub struct SceMp3InitArg { 1976 pub mp3_stream_start: u32, 1977 pub unk1: u32, 1978 pub mp3_stream_end: u32, 1979 pub unk2: u32, 1980 pub mp3_buf: *mut c_void, 1981 pub mp3_buf_size: i32, 1982 pub pcm_buf: *mut c_void, 1983 pub pcm_buf_size: i32, 1984 } 1985 1986 pub struct OpenPSID { 1987 pub data: [u8; 16usize], 1988 } 1989 1990 pub struct UtilityDialogCommon { 1991 pub size: u32, 1992 pub language: SystemParamLanguage, 1993 pub button_accept: UtilityDialogButtonAccept, 1994 pub graphics_thread: i32, 1995 pub access_thread: i32, 1996 pub font_thread: i32, 1997 pub sound_thread: i32, 1998 pub result: i32, 1999 pub reserved: [i32; 4usize], 2000 } 2001 2002 pub struct UtilityNetconfAdhoc { 2003 pub name: [u8; 8usize], 2004 pub timeout: u32, 2005 } 2006 2007 pub struct UtilityNetconfData { 2008 pub base: UtilityDialogCommon, 2009 pub action: UtilityNetconfAction, 2010 pub adhocparam: *mut UtilityNetconfAdhoc, 2011 pub hotspot: i32, 2012 pub hotspot_connected: i32, 2013 pub wifisp: i32, 2014 } 2015 2016 pub struct UtilitySavedataFileData { 2017 pub buf: *mut c_void, 2018 pub buf_size: usize, 2019 pub size: usize, 2020 pub unknown: i32, 2021 } 2022 2023 pub struct UtilitySavedataListSaveNewData { 2024 pub icon0: UtilitySavedataFileData, 2025 pub title: *mut u8, 2026 } 2027 2028 pub struct UtilityGameSharingParams { 2029 pub base: UtilityDialogCommon, 2030 pub unknown1: i32, 2031 pub unknown2: i32, 2032 pub name: [u8; 8usize], 2033 pub unknown3: i32, 2034 pub unknown4: i32, 2035 pub unknown5: i32, 2036 pub result: i32, 2037 pub filepath: *mut u8, 2038 pub mode: UtilityGameSharingMode, 2039 pub datatype: UtilityGameSharingDataType, 2040 pub data: *mut c_void, 2041 pub datasize: u32, 2042 } 2043 2044 pub struct UtilityHtmlViewerParam { 2045 pub base: UtilityDialogCommon, 2046 pub memaddr: *mut c_void, 2047 pub memsize: u32, 2048 pub unknown1: i32, 2049 pub unknown2: i32, 2050 pub initialurl: *mut u8, 2051 pub numtabs: u32, 2052 pub interfacemode: UtilityHtmlViewerInterfaceMode, 2053 pub options: i32, 2054 pub dldirname: *mut u8, 2055 pub dlfilename: *mut u8, 2056 pub uldirname: *mut u8, 2057 pub ulfilename: *mut u8, 2058 pub cookiemode: UtilityHtmlViewerCookieMode, 2059 pub unknown3: u32, 2060 pub homeurl: *mut u8, 2061 pub textsize: UtilityHtmlViewerTextSize, 2062 pub displaymode: UtilityHtmlViewerDisplayMode, 2063 pub connectmode: UtilityHtmlViewerConnectMode, 2064 pub disconnectmode: UtilityHtmlViewerDisconnectMode, 2065 pub memused: u32, 2066 pub unknown4: [i32; 10usize], 2067 } 2068 2069 pub struct SceUtilityOskData { 2070 pub unk_00: i32, 2071 pub unk_04: i32, 2072 pub language: SceUtilityOskInputLanguage, 2073 pub unk_12: i32, 2074 pub inputtype: SceUtilityOskInputType, 2075 pub lines: i32, 2076 pub unk_24: i32, 2077 pub desc: *mut u16, 2078 pub intext: *mut u16, 2079 pub outtextlength: i32, 2080 pub outtext: *mut u16, 2081 pub result: SceUtilityOskResult, 2082 pub outtextlimit: i32, 2083 } 2084 2085 pub struct SceUtilityOskParams { 2086 pub base: UtilityDialogCommon, 2087 pub datacount: i32, 2088 pub data: *mut SceUtilityOskData, 2089 pub state: SceUtilityOskState, 2090 pub unk_60: i32, 2091 } 2092 2093 pub struct SceNetMallocStat { 2094 pub pool: i32, 2095 pub maximum: i32, 2096 pub free: i32, 2097 } 2098 2099 pub struct SceNetAdhocctlAdhocId { 2100 pub unknown: i32, 2101 pub adhoc_id: [u8; 9usize], 2102 pub unk: [u8; 3usize], 2103 } 2104 2105 pub struct SceNetAdhocctlScanInfo { 2106 pub next: *mut SceNetAdhocctlScanInfo, 2107 pub channel: i32, 2108 pub name: [u8; 8usize], 2109 pub bssid: [u8; 6usize], 2110 pub unknown: [u8; 2usize], 2111 pub unknown2: i32, 2112 } 2113 2114 pub struct SceNetAdhocctlGameModeInfo { 2115 pub count: i32, 2116 pub macs: [[u8; 6usize]; 16usize], 2117 } 2118 2119 pub struct SceNetAdhocPtpStat { 2120 pub next: *mut SceNetAdhocPtpStat, 2121 pub ptp_id: i32, 2122 pub mac: [u8; 6usize], 2123 pub peermac: [u8; 6usize], 2124 pub port: u16, 2125 pub peerport: u16, 2126 pub sent_data: u32, 2127 pub rcvd_data: u32, 2128 pub state: ScePspnetAdhocPtpState, 2129 } 2130 2131 pub struct SceNetAdhocPdpStat { 2132 pub next: *mut SceNetAdhocPdpStat, 2133 pub pdp_id: i32, 2134 pub mac: [u8; 6usize], 2135 pub port: u16, 2136 pub rcvd_data: u32, 2137 } 2138 2139 pub struct AdhocPoolStat { 2140 pub size: i32, 2141 pub maxsize: i32, 2142 pub freesize: i32, 2143 } 2144} 2145 2146s_no_extra_traits! { 2147 #[allow(missing_debug_implementations)] 2148 pub struct GeContext { 2149 pub context: [u32; 512], 2150 } 2151 2152 #[allow(missing_debug_implementations)] 2153 pub struct SceKernelUtilsSha1Context { 2154 pub h: [u32; 5usize], 2155 pub us_remains: u16, 2156 pub us_computed: u16, 2157 pub ull_total_len: u64, 2158 pub buf: [u8; 64usize], 2159 } 2160 2161 #[allow(missing_debug_implementations)] 2162 pub struct SceKernelUtilsMt19937Context { 2163 pub count: u32, 2164 pub state: [u32; 624usize], 2165 } 2166 2167 #[allow(missing_debug_implementations)] 2168 pub struct SceKernelUtilsMd5Context { 2169 pub h: [u32; 4usize], 2170 pub pad: u32, 2171 pub us_remains: u16, 2172 pub us_computed: u16, 2173 pub ull_total_len: u64, 2174 pub buf: [u8; 64usize], 2175 } 2176 2177 #[allow(missing_debug_implementations)] 2178 pub struct SceIoDirent { 2179 pub d_stat: SceIoStat, 2180 pub d_name: [u8; 256usize], 2181 pub d_private: *mut c_void, 2182 pub dummy: i32, 2183 } 2184 2185 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2186 pub struct ScePspFRect { 2187 pub x: f32, 2188 pub y: f32, 2189 pub w: f32, 2190 pub h: f32, 2191 } 2192 2193 #[repr(align(16))] 2194 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2195 pub struct ScePspFVector3 { 2196 pub x: f32, 2197 pub y: f32, 2198 pub z: f32, 2199 } 2200 2201 #[repr(align(16))] 2202 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2203 pub struct ScePspFVector4 { 2204 pub x: f32, 2205 pub y: f32, 2206 pub z: f32, 2207 pub w: f32, 2208 } 2209 2210 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2211 pub struct ScePspFVector4Unaligned { 2212 pub x: f32, 2213 pub y: f32, 2214 pub z: f32, 2215 pub w: f32, 2216 } 2217 2218 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2219 pub struct ScePspFVector2 { 2220 pub x: f32, 2221 pub y: f32, 2222 } 2223 2224 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2225 pub struct ScePspFMatrix2 { 2226 pub x: ScePspFVector2, 2227 pub y: ScePspFVector2, 2228 } 2229 2230 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2231 pub struct ScePspFMatrix3 { 2232 pub x: ScePspFVector3, 2233 pub y: ScePspFVector3, 2234 pub z: ScePspFVector3, 2235 } 2236 2237 #[cfg_attr(feature = "extra_traits", derive(Debug))] 2238 #[repr(align(16))] 2239 pub struct ScePspFMatrix4 { 2240 pub x: ScePspFVector4, 2241 pub y: ScePspFVector4, 2242 pub z: ScePspFVector4, 2243 pub w: ScePspFVector4, 2244 } 2245 2246 #[allow(missing_debug_implementations)] 2247 pub struct ScePspFMatrix4Unaligned { 2248 pub x: ScePspFVector4, 2249 pub y: ScePspFVector4, 2250 pub z: ScePspFVector4, 2251 pub w: ScePspFVector4, 2252 } 2253 2254 #[allow(missing_debug_implementations)] 2255 pub union ScePspVector3 { 2256 pub fv: ScePspFVector3, 2257 pub iv: ScePspIVector3, 2258 pub f: [f32; 3usize], 2259 pub i: [i32; 3usize], 2260 } 2261 2262 #[allow(missing_debug_implementations)] 2263 pub union ScePspVector4 { 2264 pub fv: ScePspFVector4, 2265 pub iv: ScePspIVector4, 2266 pub qw: u128, 2267 pub f: [f32; 4usize], 2268 pub i: [i32; 4usize], 2269 } 2270 2271 #[allow(missing_debug_implementations)] 2272 pub union ScePspMatrix2 { 2273 pub fm: ScePspFMatrix2, 2274 pub im: ScePspIMatrix2, 2275 pub fv: [ScePspFVector2; 2usize], 2276 pub iv: [ScePspIVector2; 2usize], 2277 pub v: [ScePspVector2; 2usize], 2278 pub f: [[f32; 2usize]; 2usize], 2279 pub i: [[i32; 2usize]; 2usize], 2280 } 2281 2282 #[allow(missing_debug_implementations)] 2283 pub union ScePspMatrix3 { 2284 pub fm: ScePspFMatrix3, 2285 pub im: ScePspIMatrix3, 2286 pub fv: [ScePspFVector3; 3usize], 2287 pub iv: [ScePspIVector3; 3usize], 2288 pub v: [ScePspVector3; 3usize], 2289 pub f: [[f32; 3usize]; 3usize], 2290 pub i: [[i32; 3usize]; 3usize], 2291 } 2292 2293 #[allow(missing_debug_implementations)] 2294 pub union ScePspVector2 { 2295 pub fv: ScePspFVector2, 2296 pub iv: ScePspIVector2, 2297 pub f: [f32; 2usize], 2298 pub i: [i32; 2usize], 2299 } 2300 2301 #[allow(missing_debug_implementations)] 2302 pub union ScePspMatrix4 { 2303 pub fm: ScePspFMatrix4, 2304 pub im: ScePspIMatrix4, 2305 pub fv: [ScePspFVector4; 4usize], 2306 pub iv: [ScePspIVector4; 4usize], 2307 pub v: [ScePspVector4; 4usize], 2308 pub f: [[f32; 4usize]; 4usize], 2309 pub i: [[i32; 4usize]; 4usize], 2310 } 2311 2312 #[allow(missing_debug_implementations)] 2313 pub struct Key { 2314 pub key_type: KeyType, 2315 pub name: [u8; 256usize], 2316 pub name_len: u32, 2317 pub unk2: u32, 2318 pub unk3: u32, 2319 } 2320 2321 #[allow(missing_debug_implementations)] 2322 pub struct UtilityMsgDialogParams { 2323 pub base: UtilityDialogCommon, 2324 pub unknown: i32, 2325 pub mode: UtilityMsgDialogMode, 2326 pub error_value: u32, 2327 pub message: [u8; 512usize], 2328 pub options: i32, 2329 pub button_pressed: UtilityMsgDialogPressed, 2330 } 2331 2332 #[allow(missing_debug_implementations)] 2333 pub union UtilityNetData { 2334 pub as_uint: u32, 2335 pub as_string: [u8; 128usize], 2336 } 2337 2338 #[allow(missing_debug_implementations)] 2339 pub struct UtilitySavedataSFOParam { 2340 pub title: [u8; 128usize], 2341 pub savedata_title: [u8; 128usize], 2342 pub detail: [u8; 1024usize], 2343 pub parental_level: u8, 2344 pub unknown: [u8; 3usize], 2345 } 2346 2347 #[allow(missing_debug_implementations)] 2348 pub struct SceUtilitySavedataParam { 2349 pub base: UtilityDialogCommon, 2350 pub mode: UtilitySavedataMode, 2351 pub unknown1: i32, 2352 pub overwrite: i32, 2353 pub game_name: [u8; 13usize], 2354 pub reserved: [u8; 3usize], 2355 pub save_name: [u8; 20usize], 2356 pub save_name_list: *mut [u8; 20usize], 2357 pub file_name: [u8; 13usize], 2358 pub reserved1: [u8; 3usize], 2359 pub data_buf: *mut c_void, 2360 pub data_buf_size: usize, 2361 pub data_size: usize, 2362 pub sfo_param: UtilitySavedataSFOParam, 2363 pub icon0_file_data: UtilitySavedataFileData, 2364 pub icon1_file_data: UtilitySavedataFileData, 2365 pub pic1_file_data: UtilitySavedataFileData, 2366 pub snd0_file_data: UtilitySavedataFileData, 2367 pub new_data: *mut UtilitySavedataListSaveNewData, 2368 pub focus: UtilitySavedataFocus, 2369 pub unknown2: [i32; 4usize], 2370 pub key: [u8; 16], 2371 pub unknown3: [u8; 20], 2372 } 2373 2374 #[allow(missing_debug_implementations)] 2375 pub struct SceNetAdhocctlPeerInfo { 2376 pub next: *mut SceNetAdhocctlPeerInfo, 2377 pub nickname: [u8; 128usize], 2378 pub mac: [u8; 6usize], 2379 pub unknown: [u8; 6usize], 2380 pub timestamp: u32, 2381 } 2382 2383 #[allow(missing_debug_implementations)] 2384 pub struct SceNetAdhocctlParams { 2385 pub channel: i32, 2386 pub name: [u8; 8usize], 2387 pub bssid: [u8; 6usize], 2388 pub nickname: [u8; 128usize], 2389 } 2390 2391 #[cfg_attr(feature = "extra_traits", allow(missing_debug_implementations))] 2392 pub union SceNetApctlInfo { 2393 pub name: [u8; 64usize], 2394 pub bssid: [u8; 6usize], 2395 pub ssid: [u8; 32usize], 2396 pub ssid_length: u32, 2397 pub security_type: u32, 2398 pub strength: u8, 2399 pub channel: u8, 2400 pub power_save: u8, 2401 pub ip: [u8; 16usize], 2402 pub sub_net_mask: [u8; 16usize], 2403 pub gateway: [u8; 16usize], 2404 pub primary_dns: [u8; 16usize], 2405 pub secondary_dns: [u8; 16usize], 2406 pub use_proxy: u32, 2407 pub proxy_url: [u8; 128usize], 2408 pub proxy_port: u16, 2409 pub eap_type: u32, 2410 pub start_browser: u32, 2411 pub wifisp: u32, 2412 } 2413} 2414 2415pub const INT_MIN: c_int = -2147483648; 2416pub const INT_MAX: c_int = 2147483647; 2417 2418pub const AUDIO_VOLUME_MAX: u32 = 0x8000; 2419pub const AUDIO_CHANNEL_MAX: u32 = 8; 2420pub const AUDIO_NEXT_CHANNEL: i32 = -1; 2421pub const AUDIO_SAMPLE_MIN: u32 = 64; 2422pub const AUDIO_SAMPLE_MAX: u32 = 65472; 2423 2424pub const PSP_CTRL_SELECT: i32 = 0x000001; 2425pub const PSP_CTRL_START: i32 = 0x000008; 2426pub const PSP_CTRL_UP: i32 = 0x000010; 2427pub const PSP_CTRL_RIGHT: i32 = 0x000020; 2428pub const PSP_CTRL_DOWN: i32 = 0x000040; 2429pub const PSP_CTRL_LEFT: i32 = 0x000080; 2430pub const PSP_CTRL_LTRIGGER: i32 = 0x000100; 2431pub const PSP_CTRL_RTRIGGER: i32 = 0x000200; 2432pub const PSP_CTRL_TRIANGLE: i32 = 0x001000; 2433pub const PSP_CTRL_CIRCLE: i32 = 0x002000; 2434pub const PSP_CTRL_CROSS: i32 = 0x004000; 2435pub const PSP_CTRL_SQUARE: i32 = 0x008000; 2436pub const PSP_CTRL_HOME: i32 = 0x010000; 2437pub const PSP_CTRL_HOLD: i32 = 0x020000; 2438pub const PSP_CTRL_NOTE: i32 = 0x800000; 2439pub const PSP_CTRL_SCREEN: i32 = 0x400000; 2440pub const PSP_CTRL_VOLUP: i32 = 0x100000; 2441pub const PSP_CTRL_VOLDOWN: i32 = 0x200000; 2442pub const PSP_CTRL_WLAN_UP: i32 = 0x040000; 2443pub const PSP_CTRL_REMOTE: i32 = 0x080000; 2444pub const PSP_CTRL_DISC: i32 = 0x1000000; 2445pub const PSP_CTRL_MS: i32 = 0x2000000; 2446 2447pub const USB_CAM_PID: i32 = 0x282; 2448pub const USB_BUS_DRIVER_NAME: &str = "USBBusDriver"; 2449pub const USB_CAM_DRIVER_NAME: &str = "USBCamDriver"; 2450pub const USB_CAM_MIC_DRIVER_NAME: &str = "USBCamMicDriver"; 2451pub const USB_STOR_DRIVER_NAME: &str = "USBStor_Driver"; 2452 2453pub const ACTIVATED: i32 = 0x200; 2454pub const CONNECTED: i32 = 0x020; 2455pub const ESTABLISHED: i32 = 0x002; 2456 2457pub const USB_CAM_FLIP: i32 = 1; 2458pub const USB_CAM_MIRROR: i32 = 0x100; 2459 2460pub const THREAD_ATTR_VFPU: i32 = 0x00004000; 2461pub const THREAD_ATTR_USER: i32 = 0x80000000; 2462pub const THREAD_ATTR_USBWLAN: i32 = 0xa0000000; 2463pub const THREAD_ATTR_VSH: i32 = 0xc0000000; 2464pub const THREAD_ATTR_SCRATCH_SRAM: i32 = 0x00008000; 2465pub const THREAD_ATTR_NO_FILLSTACK: i32 = 0x00100000; 2466pub const THREAD_ATTR_CLEAR_STACK: i32 = 0x00200000; 2467 2468pub const EVENT_WAIT_MULTIPLE: i32 = 0x200; 2469 2470pub const EVENT_WAIT_AND: i32 = 0; 2471pub const EVENT_WAIT_OR: i32 = 1; 2472pub const EVENT_WAIT_CLEAR: i32 = 0x20; 2473 2474pub const POWER_INFO_POWER_SWITCH: i32 = 0x80000000; 2475pub const POWER_INFO_HOLD_SWITCH: i32 = 0x40000000; 2476pub const POWER_INFO_STANDBY: i32 = 0x00080000; 2477pub const POWER_INFO_RESUME_COMPLETE: i32 = 0x00040000; 2478pub const POWER_INFO_RESUMING: i32 = 0x00020000; 2479pub const POWER_INFO_SUSPENDING: i32 = 0x00010000; 2480pub const POWER_INFO_AC_POWER: i32 = 0x00001000; 2481pub const POWER_INFO_BATTERY_LOW: i32 = 0x00000100; 2482pub const POWER_INFO_BATTERY_EXIST: i32 = 0x00000080; 2483pub const POWER_INFO_BATTERY_POWER: i32 = 0x0000007; 2484 2485pub const FIO_S_IFLNK: i32 = 0x4000; 2486pub const FIO_S_IFDIR: i32 = 0x1000; 2487pub const FIO_S_IFREG: i32 = 0x2000; 2488pub const FIO_S_ISUID: i32 = 0x0800; 2489pub const FIO_S_ISGID: i32 = 0x0400; 2490pub const FIO_S_ISVTX: i32 = 0x0200; 2491pub const FIO_S_IRUSR: i32 = 0x0100; 2492pub const FIO_S_IWUSR: i32 = 0x0080; 2493pub const FIO_S_IXUSR: i32 = 0x0040; 2494pub const FIO_S_IRGRP: i32 = 0x0020; 2495pub const FIO_S_IWGRP: i32 = 0x0010; 2496pub const FIO_S_IXGRP: i32 = 0x0008; 2497pub const FIO_S_IROTH: i32 = 0x0004; 2498pub const FIO_S_IWOTH: i32 = 0x0002; 2499pub const FIO_S_IXOTH: i32 = 0x0001; 2500 2501pub const FIO_SO_IFLNK: i32 = 0x0008; 2502pub const FIO_SO_IFDIR: i32 = 0x0010; 2503pub const FIO_SO_IFREG: i32 = 0x0020; 2504pub const FIO_SO_IROTH: i32 = 0x0004; 2505pub const FIO_SO_IWOTH: i32 = 0x0002; 2506pub const FIO_SO_IXOTH: i32 = 0x0001; 2507 2508pub const PSP_O_RD_ONLY: i32 = 0x0001; 2509pub const PSP_O_WR_ONLY: i32 = 0x0002; 2510pub const PSP_O_RD_WR: i32 = 0x0003; 2511pub const PSP_O_NBLOCK: i32 = 0x0004; 2512pub const PSP_O_DIR: i32 = 0x0008; 2513pub const PSP_O_APPEND: i32 = 0x0100; 2514pub const PSP_O_CREAT: i32 = 0x0200; 2515pub const PSP_O_TRUNC: i32 = 0x0400; 2516pub const PSP_O_EXCL: i32 = 0x0800; 2517pub const PSP_O_NO_WAIT: i32 = 0x8000; 2518 2519pub const UMD_NOT_PRESENT: i32 = 0x01; 2520pub const UMD_PRESENT: i32 = 0x02; 2521pub const UMD_CHANGED: i32 = 0x04; 2522pub const UMD_INITING: i32 = 0x08; 2523pub const UMD_INITED: i32 = 0x10; 2524pub const UMD_READY: i32 = 0x20; 2525 2526pub const PLAY_PAUSE: i32 = 0x1; 2527pub const FORWARD: i32 = 0x4; 2528pub const BACK: i32 = 0x8; 2529pub const VOL_UP: i32 = 0x10; 2530pub const VOL_DOWN: i32 = 0x20; 2531pub const HOLD: i32 = 0x80; 2532 2533pub const GU_PI: f32 = 3.141593; 2534 2535pub const GU_TEXTURE_8BIT: i32 = 1; 2536pub const GU_TEXTURE_16BIT: i32 = 2; 2537pub const GU_TEXTURE_32BITF: i32 = 3; 2538pub const GU_COLOR_5650: i32 = 4 << 2; 2539pub const GU_COLOR_5551: i32 = 5 << 2; 2540pub const GU_COLOR_4444: i32 = 6 << 2; 2541pub const GU_COLOR_8888: i32 = 7 << 2; 2542pub const GU_NORMAL_8BIT: i32 = 1 << 5; 2543pub const GU_NORMAL_16BIT: i32 = 2 << 5; 2544pub const GU_NORMAL_32BITF: i32 = 3 << 5; 2545pub const GU_VERTEX_8BIT: i32 = 1 << 7; 2546pub const GU_VERTEX_16BIT: i32 = 2 << 7; 2547pub const GU_VERTEX_32BITF: i32 = 3 << 7; 2548pub const GU_WEIGHT_8BIT: i32 = 1 << 9; 2549pub const GU_WEIGHT_16BIT: i32 = 2 << 9; 2550pub const GU_WEIGHT_32BITF: i32 = 3 << 9; 2551pub const GU_INDEX_8BIT: i32 = 1 << 11; 2552pub const GU_INDEX_16BIT: i32 = 2 << 11; 2553pub const GU_WEIGHTS1: i32 = (((1 - 1) & 7) << 14) as i32; 2554pub const GU_WEIGHTS2: i32 = (((2 - 1) & 7) << 14) as i32; 2555pub const GU_WEIGHTS3: i32 = (((3 - 1) & 7) << 14) as i32; 2556pub const GU_WEIGHTS4: i32 = (((4 - 1) & 7) << 14) as i32; 2557pub const GU_WEIGHTS5: i32 = (((5 - 1) & 7) << 14) as i32; 2558pub const GU_WEIGHTS6: i32 = (((6 - 1) & 7) << 14) as i32; 2559pub const GU_WEIGHTS7: i32 = (((7 - 1) & 7) << 14) as i32; 2560pub const GU_WEIGHTS8: i32 = (((8 - 1) & 7) << 14) as i32; 2561pub const GU_VERTICES1: i32 = (((1 - 1) & 7) << 18) as i32; 2562pub const GU_VERTICES2: i32 = (((2 - 1) & 7) << 18) as i32; 2563pub const GU_VERTICES3: i32 = (((3 - 1) & 7) << 18) as i32; 2564pub const GU_VERTICES4: i32 = (((4 - 1) & 7) << 18) as i32; 2565pub const GU_VERTICES5: i32 = (((5 - 1) & 7) << 18) as i32; 2566pub const GU_VERTICES6: i32 = (((6 - 1) & 7) << 18) as i32; 2567pub const GU_VERTICES7: i32 = (((7 - 1) & 7) << 18) as i32; 2568pub const GU_VERTICES8: i32 = (((8 - 1) & 7) << 18) as i32; 2569pub const GU_TRANSFORM_2D: i32 = 1 << 23; 2570pub const GU_TRANSFORM_3D: i32 = 0; 2571 2572pub const GU_COLOR_BUFFER_BIT: i32 = 1; 2573pub const GU_STENCIL_BUFFER_BIT: i32 = 2; 2574pub const GU_DEPTH_BUFFER_BIT: i32 = 4; 2575pub const GU_FAST_CLEAR_BIT: i32 = 16; 2576 2577pub const GU_AMBIENT: i32 = 1; 2578pub const GU_DIFFUSE: i32 = 2; 2579pub const GU_SPECULAR: i32 = 4; 2580pub const GU_UNKNOWN_LIGHT_COMPONENT: i32 = 8; 2581 2582pub const SYSTEM_REGISTRY: [u8; 7] = *b"/system"; 2583pub const REG_KEYNAME_SIZE: u32 = 27; 2584 2585pub const UTILITY_MSGDIALOG_ERROR: i32 = 0; 2586pub const UTILITY_MSGDIALOG_TEXT: i32 = 1; 2587pub const UTILITY_MSGDIALOG_YES_NO_BUTTONS: i32 = 0x10; 2588pub const UTILITY_MSGDIALOG_DEFAULT_NO: i32 = 0x100; 2589 2590pub const UTILITY_HTMLVIEWER_OPEN_SCE_START_PAGE: i32 = 0x000001; 2591pub const UTILITY_HTMLVIEWER_DISABLE_STARTUP_LIMITS: i32 = 0x000002; 2592pub const UTILITY_HTMLVIEWER_DISABLE_EXIT_DIALOG: i32 = 0x000004; 2593pub const UTILITY_HTMLVIEWER_DISABLE_CURSOR: i32 = 0x000008; 2594pub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_COMPLETE_DIALOG: i32 = 0x000010; 2595pub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_START_DIALOG: i32 = 0x000020; 2596pub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_DESTINATION_DIALOG: i32 = 0x000040; 2597pub const UTILITY_HTMLVIEWER_LOCK_DOWNLOAD_DESTINATION_DIALOG: i32 = 0x000080; 2598pub const UTILITY_HTMLVIEWER_DISABLE_TAB_DISPLAY: i32 = 0x000100; 2599pub const UTILITY_HTMLVIEWER_ENABLE_ANALOG_HOLD: i32 = 0x000200; 2600pub const UTILITY_HTMLVIEWER_ENABLE_FLASH: i32 = 0x000400; 2601pub const UTILITY_HTMLVIEWER_DISABLE_LRTRIGGER: i32 = 0x000800; 2602 2603extern "C" { 2604 pub fn sceAudioChReserve(channel: i32, sample_count: i32, format: AudioFormat) -> i32; 2605 pub fn sceAudioChRelease(channel: i32) -> i32; 2606 pub fn sceAudioOutput(channel: i32, vol: i32, buf: *mut c_void) -> i32; 2607 pub fn sceAudioOutputBlocking(channel: i32, vol: i32, buf: *mut c_void) -> i32; 2608 pub fn sceAudioOutputPanned( 2609 channel: i32, 2610 left_vol: i32, 2611 right_vol: i32, 2612 buf: *mut c_void, 2613 ) -> i32; 2614 pub fn sceAudioOutputPannedBlocking( 2615 channel: i32, 2616 left_vol: i32, 2617 right_vol: i32, 2618 buf: *mut c_void, 2619 ) -> i32; 2620 pub fn sceAudioGetChannelRestLen(channel: i32) -> i32; 2621 pub fn sceAudioGetChannelRestLength(channel: i32) -> i32; 2622 pub fn sceAudioSetChannelDataLen(channel: i32, sample_count: i32) -> i32; 2623 pub fn sceAudioChangeChannelConfig(channel: i32, format: AudioFormat) -> i32; 2624 pub fn sceAudioChangeChannelVolume(channel: i32, left_vol: i32, right_vol: i32) -> i32; 2625 pub fn sceAudioOutput2Reserve(sample_count: i32) -> i32; 2626 pub fn sceAudioOutput2Release() -> i32; 2627 pub fn sceAudioOutput2ChangeLength(sample_count: i32) -> i32; 2628 pub fn sceAudioOutput2OutputBlocking(vol: i32, buf: *mut c_void) -> i32; 2629 pub fn sceAudioOutput2GetRestSample() -> i32; 2630 pub fn sceAudioSRCChReserve( 2631 sample_count: i32, 2632 freq: AudioOutputFrequency, 2633 channels: i32, 2634 ) -> i32; 2635 pub fn sceAudioSRCChRelease() -> i32; 2636 pub fn sceAudioSRCOutputBlocking(vol: i32, buf: *mut c_void) -> i32; 2637 pub fn sceAudioInputInit(unknown1: i32, gain: i32, unknown2: i32) -> i32; 2638 pub fn sceAudioInputInitEx(params: *mut AudioInputParams) -> i32; 2639 pub fn sceAudioInputBlocking(sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void); 2640 pub fn sceAudioInput(sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void); 2641 pub fn sceAudioGetInputLength() -> i32; 2642 pub fn sceAudioWaitInputEnd() -> i32; 2643 pub fn sceAudioPollInputEnd() -> i32; 2644 2645 pub fn sceAtracGetAtracID(ui_codec_type: u32) -> i32; 2646 pub fn sceAtracSetDataAndGetID(buf: *mut c_void, bufsize: usize) -> i32; 2647 pub fn sceAtracDecodeData( 2648 atrac_id: i32, 2649 out_samples: *mut u16, 2650 out_n: *mut i32, 2651 out_end: *mut i32, 2652 out_remain_frame: *mut i32, 2653 ) -> i32; 2654 pub fn sceAtracGetRemainFrame(atrac_id: i32, out_remain_frame: *mut i32) -> i32; 2655 pub fn sceAtracGetStreamDataInfo( 2656 atrac_id: i32, 2657 write_pointer: *mut *mut u8, 2658 available_bytes: *mut u32, 2659 read_offset: *mut u32, 2660 ) -> i32; 2661 pub fn sceAtracAddStreamData(atrac_id: i32, bytes_to_add: u32) -> i32; 2662 pub fn sceAtracGetBitrate(atrac_id: i32, out_bitrate: *mut i32) -> i32; 2663 pub fn sceAtracSetLoopNum(atrac_id: i32, nloops: i32) -> i32; 2664 pub fn sceAtracReleaseAtracID(atrac_id: i32) -> i32; 2665 pub fn sceAtracGetNextSample(atrac_id: i32, out_n: *mut i32) -> i32; 2666 pub fn sceAtracGetMaxSample(atrac_id: i32, out_max: *mut i32) -> i32; 2667 pub fn sceAtracGetBufferInfoForReseting( 2668 atrac_id: i32, 2669 ui_sample: u32, 2670 pbuffer_info: *mut Atrac3BufferInfo, 2671 ) -> i32; 2672 pub fn sceAtracGetChannel(atrac_id: i32, pui_channel: *mut u32) -> i32; 2673 pub fn sceAtracGetInternalErrorInfo(atrac_id: i32, pi_result: *mut i32) -> i32; 2674 pub fn sceAtracGetLoopStatus( 2675 atrac_id: i32, 2676 pi_loop_num: *mut i32, 2677 pui_loop_status: *mut u32, 2678 ) -> i32; 2679 pub fn sceAtracGetNextDecodePosition(atrac_id: i32, pui_sample_position: *mut u32) -> i32; 2680 pub fn sceAtracGetSecondBufferInfo( 2681 atrac_id: i32, 2682 pui_position: *mut u32, 2683 pui_data_byte: *mut u32, 2684 ) -> i32; 2685 pub fn sceAtracGetSoundSample( 2686 atrac_id: i32, 2687 pi_end_sample: *mut i32, 2688 pi_loop_start_sample: *mut i32, 2689 pi_loop_end_sample: *mut i32, 2690 ) -> i32; 2691 pub fn sceAtracResetPlayPosition( 2692 atrac_id: i32, 2693 ui_sample: u32, 2694 ui_write_byte_first_buf: u32, 2695 ui_write_byte_second_buf: u32, 2696 ) -> i32; 2697 pub fn sceAtracSetData(atrac_id: i32, puc_buffer_addr: *mut u8, ui_buffer_byte: u32) -> i32; 2698 pub fn sceAtracSetHalfwayBuffer( 2699 atrac_id: i32, 2700 puc_buffer_addr: *mut u8, 2701 ui_read_byte: u32, 2702 ui_buffer_byte: u32, 2703 ) -> i32; 2704 pub fn sceAtracSetHalfwayBufferAndGetID( 2705 puc_buffer_addr: *mut u8, 2706 ui_read_byte: u32, 2707 ui_buffer_byte: u32, 2708 ) -> i32; 2709 pub fn sceAtracSetSecondBuffer( 2710 atrac_id: i32, 2711 puc_second_buffer_addr: *mut u8, 2712 ui_second_buffer_byte: u32, 2713 ) -> i32; 2714 2715 pub fn sceCtrlSetSamplingCycle(cycle: i32) -> i32; 2716 pub fn sceCtrlGetSamplingCycle(pcycle: *mut i32) -> i32; 2717 pub fn sceCtrlSetSamplingMode(mode: CtrlMode) -> i32; 2718 pub fn sceCtrlGetSamplingMode(pmode: *mut i32) -> i32; 2719 pub fn sceCtrlPeekBufferPositive(pad_data: *mut SceCtrlData, count: i32) -> i32; 2720 pub fn sceCtrlPeekBufferNegative(pad_data: *mut SceCtrlData, count: i32) -> i32; 2721 pub fn sceCtrlReadBufferPositive(pad_data: *mut SceCtrlData, count: i32) -> i32; 2722 pub fn sceCtrlReadBufferNegative(pad_data: *mut SceCtrlData, count: i32) -> i32; 2723 pub fn sceCtrlPeekLatch(latch_data: *mut SceCtrlLatch) -> i32; 2724 pub fn sceCtrlReadLatch(latch_data: *mut SceCtrlLatch) -> i32; 2725 pub fn sceCtrlSetIdleCancelThreshold(idlereset: i32, idleback: i32) -> i32; 2726 pub fn sceCtrlGetIdleCancelThreshold(idlereset: *mut i32, idleback: *mut i32) -> i32; 2727 2728 pub fn sceDisplaySetMode(mode: DisplayMode, width: usize, height: usize) -> u32; 2729 pub fn sceDisplayGetMode(pmode: *mut i32, pwidth: *mut i32, pheight: *mut i32) -> i32; 2730 pub fn sceDisplaySetFrameBuf( 2731 top_addr: *const u8, 2732 buffer_width: usize, 2733 pixel_format: DisplayPixelFormat, 2734 sync: DisplaySetBufSync, 2735 ) -> u32; 2736 pub fn sceDisplayGetFrameBuf( 2737 top_addr: *mut *mut c_void, 2738 buffer_width: *mut usize, 2739 pixel_format: *mut DisplayPixelFormat, 2740 sync: DisplaySetBufSync, 2741 ) -> i32; 2742 pub fn sceDisplayGetVcount() -> u32; 2743 pub fn sceDisplayWaitVblank() -> i32; 2744 pub fn sceDisplayWaitVblankCB() -> i32; 2745 pub fn sceDisplayWaitVblankStart() -> i32; 2746 pub fn sceDisplayWaitVblankStartCB() -> i32; 2747 pub fn sceDisplayGetAccumulatedHcount() -> i32; 2748 pub fn sceDisplayGetCurrentHcount() -> i32; 2749 pub fn sceDisplayGetFramePerSec() -> f32; 2750 pub fn sceDisplayIsForeground() -> i32; 2751 pub fn sceDisplayIsVblank() -> i32; 2752 2753 pub fn sceGeEdramGetSize() -> u32; 2754 pub fn sceGeEdramGetAddr() -> *mut u8; 2755 pub fn sceGeEdramSetAddrTranslation(width: i32) -> i32; 2756 pub fn sceGeGetCmd(cmd: i32) -> u32; 2757 pub fn sceGeGetMtx(type_: GeMatrixType, matrix: *mut c_void) -> i32; 2758 pub fn sceGeGetStack(stack_id: i32, stack: *mut GeStack) -> i32; 2759 pub fn sceGeSaveContext(context: *mut GeContext) -> i32; 2760 pub fn sceGeRestoreContext(context: *const GeContext) -> i32; 2761 pub fn sceGeListEnQueue( 2762 list: *const c_void, 2763 stall: *mut c_void, 2764 cbid: i32, 2765 arg: *mut GeListArgs, 2766 ) -> i32; 2767 pub fn sceGeListEnQueueHead( 2768 list: *const c_void, 2769 stall: *mut c_void, 2770 cbid: i32, 2771 arg: *mut GeListArgs, 2772 ) -> i32; 2773 pub fn sceGeListDeQueue(qid: i32) -> i32; 2774 pub fn sceGeListUpdateStallAddr(qid: i32, stall: *mut c_void) -> i32; 2775 pub fn sceGeListSync(qid: i32, sync_type: i32) -> GeListState; 2776 pub fn sceGeDrawSync(sync_type: i32) -> GeListState; 2777 pub fn sceGeBreak(mode: i32, p_param: *mut GeBreakParam) -> i32; 2778 pub fn sceGeContinue() -> i32; 2779 pub fn sceGeSetCallback(cb: *mut GeCallbackData) -> i32; 2780 pub fn sceGeUnsetCallback(cbid: i32) -> i32; 2781 2782 pub fn sceKernelExitGame(); 2783 pub fn sceKernelRegisterExitCallback(id: SceUid) -> i32; 2784 pub fn sceKernelLoadExec(file: *const u8, param: *mut SceKernelLoadExecParam) -> i32; 2785 2786 pub fn sceKernelAllocPartitionMemory( 2787 partition: SceSysMemPartitionId, 2788 name: *const u8, 2789 type_: SceSysMemBlockTypes, 2790 size: u32, 2791 addr: *mut c_void, 2792 ) -> SceUid; 2793 pub fn sceKernelGetBlockHeadAddr(blockid: SceUid) -> *mut c_void; 2794 pub fn sceKernelFreePartitionMemory(blockid: SceUid) -> i32; 2795 pub fn sceKernelTotalFreeMemSize() -> usize; 2796 pub fn sceKernelMaxFreeMemSize() -> usize; 2797 pub fn sceKernelDevkitVersion() -> u32; 2798 pub fn sceKernelSetCompiledSdkVersion(version: u32) -> i32; 2799 pub fn sceKernelGetCompiledSdkVersion() -> u32; 2800 2801 pub fn sceKernelLibcTime(t: *mut i32) -> i32; 2802 pub fn sceKernelLibcClock() -> u32; 2803 pub fn sceKernelLibcGettimeofday(tp: *mut timeval, tzp: *mut timezone) -> i32; 2804 pub fn sceKernelDcacheWritebackAll(); 2805 pub fn sceKernelDcacheWritebackInvalidateAll(); 2806 pub fn sceKernelDcacheWritebackRange(p: *const c_void, size: u32); 2807 pub fn sceKernelDcacheWritebackInvalidateRange(p: *const c_void, size: u32); 2808 pub fn sceKernelDcacheInvalidateRange(p: *const c_void, size: u32); 2809 pub fn sceKernelIcacheInvalidateAll(); 2810 pub fn sceKernelIcacheInvalidateRange(p: *const c_void, size: u32); 2811 pub fn sceKernelUtilsMt19937Init(ctx: *mut SceKernelUtilsMt19937Context, seed: u32) -> i32; 2812 pub fn sceKernelUtilsMt19937UInt(ctx: *mut SceKernelUtilsMt19937Context) -> u32; 2813 pub fn sceKernelUtilsMd5Digest(data: *mut u8, size: u32, digest: *mut u8) -> i32; 2814 pub fn sceKernelUtilsMd5BlockInit(ctx: *mut SceKernelUtilsMd5Context) -> i32; 2815 pub fn sceKernelUtilsMd5BlockUpdate( 2816 ctx: *mut SceKernelUtilsMd5Context, 2817 data: *mut u8, 2818 size: u32, 2819 ) -> i32; 2820 pub fn sceKernelUtilsMd5BlockResult(ctx: *mut SceKernelUtilsMd5Context, digest: *mut u8) 2821 -> i32; 2822 pub fn sceKernelUtilsSha1Digest(data: *mut u8, size: u32, digest: *mut u8) -> i32; 2823 pub fn sceKernelUtilsSha1BlockInit(ctx: *mut SceKernelUtilsSha1Context) -> i32; 2824 pub fn sceKernelUtilsSha1BlockUpdate( 2825 ctx: *mut SceKernelUtilsSha1Context, 2826 data: *mut u8, 2827 size: u32, 2828 ) -> i32; 2829 pub fn sceKernelUtilsSha1BlockResult( 2830 ctx: *mut SceKernelUtilsSha1Context, 2831 digest: *mut u8, 2832 ) -> i32; 2833 2834 pub fn sceKernelRegisterSubIntrHandler( 2835 int_no: i32, 2836 no: i32, 2837 handler: *mut c_void, 2838 arg: *mut c_void, 2839 ) -> i32; 2840 pub fn sceKernelReleaseSubIntrHandler(int_no: i32, no: i32) -> i32; 2841 pub fn sceKernelEnableSubIntr(int_no: i32, no: i32) -> i32; 2842 pub fn sceKernelDisableSubIntr(int_no: i32, no: i32) -> i32; 2843 pub fn QueryIntrHandlerInfo( 2844 intr_code: SceUid, 2845 sub_intr_code: SceUid, 2846 data: *mut IntrHandlerOptionParam, 2847 ) -> i32; 2848 2849 pub fn sceKernelCpuSuspendIntr() -> u32; 2850 pub fn sceKernelCpuResumeIntr(flags: u32); 2851 pub fn sceKernelCpuResumeIntrWithSync(flags: u32); 2852 pub fn sceKernelIsCpuIntrSuspended(flags: u32) -> i32; 2853 pub fn sceKernelIsCpuIntrEnable() -> i32; 2854 2855 pub fn sceKernelLoadModule( 2856 path: *const u8, 2857 flags: i32, 2858 option: *mut SceKernelLMOption, 2859 ) -> SceUid; 2860 pub fn sceKernelLoadModuleMs( 2861 path: *const u8, 2862 flags: i32, 2863 option: *mut SceKernelLMOption, 2864 ) -> SceUid; 2865 pub fn sceKernelLoadModuleByID( 2866 fid: SceUid, 2867 flags: i32, 2868 option: *mut SceKernelLMOption, 2869 ) -> SceUid; 2870 pub fn sceKernelLoadModuleBufferUsbWlan( 2871 buf_size: usize, 2872 buf: *mut c_void, 2873 flags: i32, 2874 option: *mut SceKernelLMOption, 2875 ) -> SceUid; 2876 pub fn sceKernelStartModule( 2877 mod_id: SceUid, 2878 arg_size: usize, 2879 argp: *mut c_void, 2880 status: *mut i32, 2881 option: *mut SceKernelSMOption, 2882 ) -> i32; 2883 pub fn sceKernelStopModule( 2884 mod_id: SceUid, 2885 arg_size: usize, 2886 argp: *mut c_void, 2887 status: *mut i32, 2888 option: *mut SceKernelSMOption, 2889 ) -> i32; 2890 pub fn sceKernelUnloadModule(mod_id: SceUid) -> i32; 2891 pub fn sceKernelSelfStopUnloadModule(unknown: i32, arg_size: usize, argp: *mut c_void) -> i32; 2892 pub fn sceKernelStopUnloadSelfModule( 2893 arg_size: usize, 2894 argp: *mut c_void, 2895 status: *mut i32, 2896 option: *mut SceKernelSMOption, 2897 ) -> i32; 2898 pub fn sceKernelQueryModuleInfo(mod_id: SceUid, info: *mut SceKernelModuleInfo) -> i32; 2899 pub fn sceKernelGetModuleIdList( 2900 read_buf: *mut SceUid, 2901 read_buf_size: i32, 2902 id_count: *mut i32, 2903 ) -> i32; 2904 2905 pub fn sceKernelVolatileMemLock(unk: i32, ptr: *mut *mut c_void, size: *mut i32) -> i32; 2906 pub fn sceKernelVolatileMemTryLock(unk: i32, ptr: *mut *mut c_void, size: *mut i32) -> i32; 2907 pub fn sceKernelVolatileMemUnlock(unk: i32) -> i32; 2908 2909 pub fn sceKernelStdin() -> SceUid; 2910 pub fn sceKernelStdout() -> SceUid; 2911 pub fn sceKernelStderr() -> SceUid; 2912 2913 pub fn sceKernelGetThreadmanIdType(uid: SceUid) -> SceKernelIdListType; 2914 pub fn sceKernelCreateThread( 2915 name: *const u8, 2916 entry: SceKernelThreadEntry, 2917 init_priority: i32, 2918 stack_size: i32, 2919 attr: i32, 2920 option: *mut SceKernelThreadOptParam, 2921 ) -> SceUid; 2922 pub fn sceKernelDeleteThread(thid: SceUid) -> i32; 2923 pub fn sceKernelStartThread(id: SceUid, arg_len: usize, arg_p: *mut c_void) -> i32; 2924 pub fn sceKernelExitThread(status: i32) -> i32; 2925 pub fn sceKernelExitDeleteThread(status: i32) -> i32; 2926 pub fn sceKernelTerminateThread(thid: SceUid) -> i32; 2927 pub fn sceKernelTerminateDeleteThread(thid: SceUid) -> i32; 2928 pub fn sceKernelSuspendDispatchThread() -> i32; 2929 pub fn sceKernelResumeDispatchThread(state: i32) -> i32; 2930 pub fn sceKernelSleepThread() -> i32; 2931 pub fn sceKernelSleepThreadCB() -> i32; 2932 pub fn sceKernelWakeupThread(thid: SceUid) -> i32; 2933 pub fn sceKernelCancelWakeupThread(thid: SceUid) -> i32; 2934 pub fn sceKernelSuspendThread(thid: SceUid) -> i32; 2935 pub fn sceKernelResumeThread(thid: SceUid) -> i32; 2936 pub fn sceKernelWaitThreadEnd(thid: SceUid, timeout: *mut u32) -> i32; 2937 pub fn sceKernelWaitThreadEndCB(thid: SceUid, timeout: *mut u32) -> i32; 2938 pub fn sceKernelDelayThread(delay: u32) -> i32; 2939 pub fn sceKernelDelayThreadCB(delay: u32) -> i32; 2940 pub fn sceKernelDelaySysClockThread(delay: *mut SceKernelSysClock) -> i32; 2941 pub fn sceKernelDelaySysClockThreadCB(delay: *mut SceKernelSysClock) -> i32; 2942 pub fn sceKernelChangeCurrentThreadAttr(unknown: i32, attr: i32) -> i32; 2943 pub fn sceKernelChangeThreadPriority(thid: SceUid, priority: i32) -> i32; 2944 pub fn sceKernelRotateThreadReadyQueue(priority: i32) -> i32; 2945 pub fn sceKernelReleaseWaitThread(thid: SceUid) -> i32; 2946 pub fn sceKernelGetThreadId() -> i32; 2947 pub fn sceKernelGetThreadCurrentPriority() -> i32; 2948 pub fn sceKernelGetThreadExitStatus(thid: SceUid) -> i32; 2949 pub fn sceKernelCheckThreadStack() -> i32; 2950 pub fn sceKernelGetThreadStackFreeSize(thid: SceUid) -> i32; 2951 pub fn sceKernelReferThreadStatus(thid: SceUid, info: *mut SceKernelThreadInfo) -> i32; 2952 pub fn sceKernelReferThreadRunStatus( 2953 thid: SceUid, 2954 status: *mut SceKernelThreadRunStatus, 2955 ) -> i32; 2956 pub fn sceKernelCreateSema( 2957 name: *const u8, 2958 attr: u32, 2959 init_val: i32, 2960 max_val: i32, 2961 option: *mut SceKernelSemaOptParam, 2962 ) -> SceUid; 2963 pub fn sceKernelDeleteSema(sema_id: SceUid) -> i32; 2964 pub fn sceKernelSignalSema(sema_id: SceUid, signal: i32) -> i32; 2965 pub fn sceKernelWaitSema(sema_id: SceUid, signal: i32, timeout: *mut u32) -> i32; 2966 pub fn sceKernelWaitSemaCB(sema_id: SceUid, signal: i32, timeout: *mut u32) -> i32; 2967 pub fn sceKernelPollSema(sema_id: SceUid, signal: i32) -> i32; 2968 pub fn sceKernelReferSemaStatus(sema_id: SceUid, info: *mut SceKernelSemaInfo) -> i32; 2969 pub fn sceKernelCreateEventFlag( 2970 name: *const u8, 2971 attr: i32, 2972 bits: i32, 2973 opt: *mut SceKernelEventFlagOptParam, 2974 ) -> SceUid; 2975 pub fn sceKernelSetEventFlag(ev_id: SceUid, bits: u32) -> i32; 2976 pub fn sceKernelClearEventFlag(ev_id: SceUid, bits: u32) -> i32; 2977 pub fn sceKernelPollEventFlag(ev_id: SceUid, bits: u32, wait: i32, out_bits: *mut u32) -> i32; 2978 pub fn sceKernelWaitEventFlag( 2979 ev_id: SceUid, 2980 bits: u32, 2981 wait: i32, 2982 out_bits: *mut u32, 2983 timeout: *mut u32, 2984 ) -> i32; 2985 pub fn sceKernelWaitEventFlagCB( 2986 ev_id: SceUid, 2987 bits: u32, 2988 wait: i32, 2989 out_bits: *mut u32, 2990 timeout: *mut u32, 2991 ) -> i32; 2992 pub fn sceKernelDeleteEventFlag(ev_id: SceUid) -> i32; 2993 pub fn sceKernelReferEventFlagStatus(event: SceUid, status: *mut SceKernelEventFlagInfo) 2994 -> i32; 2995 pub fn sceKernelCreateMbx( 2996 name: *const u8, 2997 attr: u32, 2998 option: *mut SceKernelMbxOptParam, 2999 ) -> SceUid; 3000 pub fn sceKernelDeleteMbx(mbx_id: SceUid) -> i32; 3001 pub fn sceKernelSendMbx(mbx_id: SceUid, message: *mut c_void) -> i32; 3002 pub fn sceKernelReceiveMbx(mbx_id: SceUid, message: *mut *mut c_void, timeout: *mut u32) 3003 -> i32; 3004 pub fn sceKernelReceiveMbxCB( 3005 mbx_id: SceUid, 3006 message: *mut *mut c_void, 3007 timeout: *mut u32, 3008 ) -> i32; 3009 pub fn sceKernelPollMbx(mbx_id: SceUid, pmessage: *mut *mut c_void) -> i32; 3010 pub fn sceKernelCancelReceiveMbx(mbx_id: SceUid, num: *mut i32) -> i32; 3011 pub fn sceKernelReferMbxStatus(mbx_id: SceUid, info: *mut SceKernelMbxInfo) -> i32; 3012 pub fn sceKernelSetAlarm( 3013 clock: u32, 3014 handler: SceKernelAlarmHandler, 3015 common: *mut c_void, 3016 ) -> SceUid; 3017 pub fn sceKernelSetSysClockAlarm( 3018 clock: *mut SceKernelSysClock, 3019 handler: *mut SceKernelAlarmHandler, 3020 common: *mut c_void, 3021 ) -> SceUid; 3022 pub fn sceKernelCancelAlarm(alarm_id: SceUid) -> i32; 3023 pub fn sceKernelReferAlarmStatus(alarm_id: SceUid, info: *mut SceKernelAlarmInfo) -> i32; 3024 pub fn sceKernelCreateCallback( 3025 name: *const u8, 3026 func: SceKernelCallbackFunction, 3027 arg: *mut c_void, 3028 ) -> SceUid; 3029 pub fn sceKernelReferCallbackStatus(cb: SceUid, status: *mut SceKernelCallbackInfo) -> i32; 3030 pub fn sceKernelDeleteCallback(cb: SceUid) -> i32; 3031 pub fn sceKernelNotifyCallback(cb: SceUid, arg2: i32) -> i32; 3032 pub fn sceKernelCancelCallback(cb: SceUid) -> i32; 3033 pub fn sceKernelGetCallbackCount(cb: SceUid) -> i32; 3034 pub fn sceKernelCheckCallback() -> i32; 3035 pub fn sceKernelGetThreadmanIdList( 3036 type_: SceKernelIdListType, 3037 read_buf: *mut SceUid, 3038 read_buf_size: i32, 3039 id_count: *mut i32, 3040 ) -> i32; 3041 pub fn sceKernelReferSystemStatus(status: *mut SceKernelSystemStatus) -> i32; 3042 pub fn sceKernelCreateMsgPipe( 3043 name: *const u8, 3044 part: i32, 3045 attr: i32, 3046 unk1: *mut c_void, 3047 opt: *mut c_void, 3048 ) -> SceUid; 3049 pub fn sceKernelDeleteMsgPipe(uid: SceUid) -> i32; 3050 pub fn sceKernelSendMsgPipe( 3051 uid: SceUid, 3052 message: *mut c_void, 3053 size: u32, 3054 unk1: i32, 3055 unk2: *mut c_void, 3056 timeout: *mut u32, 3057 ) -> i32; 3058 pub fn sceKernelSendMsgPipeCB( 3059 uid: SceUid, 3060 message: *mut c_void, 3061 size: u32, 3062 unk1: i32, 3063 unk2: *mut c_void, 3064 timeout: *mut u32, 3065 ) -> i32; 3066 pub fn sceKernelTrySendMsgPipe( 3067 uid: SceUid, 3068 message: *mut c_void, 3069 size: u32, 3070 unk1: i32, 3071 unk2: *mut c_void, 3072 ) -> i32; 3073 pub fn sceKernelReceiveMsgPipe( 3074 uid: SceUid, 3075 message: *mut c_void, 3076 size: u32, 3077 unk1: i32, 3078 unk2: *mut c_void, 3079 timeout: *mut u32, 3080 ) -> i32; 3081 pub fn sceKernelReceiveMsgPipeCB( 3082 uid: SceUid, 3083 message: *mut c_void, 3084 size: u32, 3085 unk1: i32, 3086 unk2: *mut c_void, 3087 timeout: *mut u32, 3088 ) -> i32; 3089 pub fn sceKernelTryReceiveMsgPipe( 3090 uid: SceUid, 3091 message: *mut c_void, 3092 size: u32, 3093 unk1: i32, 3094 unk2: *mut c_void, 3095 ) -> i32; 3096 pub fn sceKernelCancelMsgPipe(uid: SceUid, send: *mut i32, recv: *mut i32) -> i32; 3097 pub fn sceKernelReferMsgPipeStatus(uid: SceUid, info: *mut SceKernelMppInfo) -> i32; 3098 pub fn sceKernelCreateVpl( 3099 name: *const u8, 3100 part: i32, 3101 attr: i32, 3102 size: u32, 3103 opt: *mut SceKernelVplOptParam, 3104 ) -> SceUid; 3105 pub fn sceKernelDeleteVpl(uid: SceUid) -> i32; 3106 pub fn sceKernelAllocateVpl( 3107 uid: SceUid, 3108 size: u32, 3109 data: *mut *mut c_void, 3110 timeout: *mut u32, 3111 ) -> i32; 3112 pub fn sceKernelAllocateVplCB( 3113 uid: SceUid, 3114 size: u32, 3115 data: *mut *mut c_void, 3116 timeout: *mut u32, 3117 ) -> i32; 3118 pub fn sceKernelTryAllocateVpl(uid: SceUid, size: u32, data: *mut *mut c_void) -> i32; 3119 pub fn sceKernelFreeVpl(uid: SceUid, data: *mut c_void) -> i32; 3120 pub fn sceKernelCancelVpl(uid: SceUid, num: *mut i32) -> i32; 3121 pub fn sceKernelReferVplStatus(uid: SceUid, info: *mut SceKernelVplInfo) -> i32; 3122 pub fn sceKernelCreateFpl( 3123 name: *const u8, 3124 part: i32, 3125 attr: i32, 3126 size: u32, 3127 blocks: u32, 3128 opt: *mut SceKernelFplOptParam, 3129 ) -> i32; 3130 pub fn sceKernelDeleteFpl(uid: SceUid) -> i32; 3131 pub fn sceKernelAllocateFpl(uid: SceUid, data: *mut *mut c_void, timeout: *mut u32) -> i32; 3132 pub fn sceKernelAllocateFplCB(uid: SceUid, data: *mut *mut c_void, timeout: *mut u32) -> i32; 3133 pub fn sceKernelTryAllocateFpl(uid: SceUid, data: *mut *mut c_void) -> i32; 3134 pub fn sceKernelFreeFpl(uid: SceUid, data: *mut c_void) -> i32; 3135 pub fn sceKernelCancelFpl(uid: SceUid, pnum: *mut i32) -> i32; 3136 pub fn sceKernelReferFplStatus(uid: SceUid, info: *mut SceKernelFplInfo) -> i32; 3137 pub fn sceKernelUSec2SysClock(usec: u32, clock: *mut SceKernelSysClock) -> i32; 3138 pub fn sceKernelUSec2SysClockWide(usec: u32) -> i64; 3139 pub fn sceKernelSysClock2USec( 3140 clock: *mut SceKernelSysClock, 3141 low: *mut u32, 3142 high: *mut u32, 3143 ) -> i32; 3144 pub fn sceKernelSysClock2USecWide(clock: i64, low: *mut u32, high: *mut u32) -> i32; 3145 pub fn sceKernelGetSystemTime(time: *mut SceKernelSysClock) -> i32; 3146 pub fn sceKernelGetSystemTimeWide() -> i64; 3147 pub fn sceKernelGetSystemTimeLow() -> u32; 3148 pub fn sceKernelCreateVTimer(name: *const u8, opt: *mut SceKernelVTimerOptParam) -> SceUid; 3149 pub fn sceKernelDeleteVTimer(uid: SceUid) -> i32; 3150 pub fn sceKernelGetVTimerBase(uid: SceUid, base: *mut SceKernelSysClock) -> i32; 3151 pub fn sceKernelGetVTimerBaseWide(uid: SceUid) -> i64; 3152 pub fn sceKernelGetVTimerTime(uid: SceUid, time: *mut SceKernelSysClock) -> i32; 3153 pub fn sceKernelGetVTimerTimeWide(uid: SceUid) -> i64; 3154 pub fn sceKernelSetVTimerTime(uid: SceUid, time: *mut SceKernelSysClock) -> i32; 3155 pub fn sceKernelSetVTimerTimeWide(uid: SceUid, time: i64) -> i64; 3156 pub fn sceKernelStartVTimer(uid: SceUid) -> i32; 3157 pub fn sceKernelStopVTimer(uid: SceUid) -> i32; 3158 pub fn sceKernelSetVTimerHandler( 3159 uid: SceUid, 3160 time: *mut SceKernelSysClock, 3161 handler: SceKernelVTimerHandler, 3162 common: *mut c_void, 3163 ) -> i32; 3164 pub fn sceKernelSetVTimerHandlerWide( 3165 uid: SceUid, 3166 time: i64, 3167 handler: SceKernelVTimerHandlerWide, 3168 common: *mut c_void, 3169 ) -> i32; 3170 pub fn sceKernelCancelVTimerHandler(uid: SceUid) -> i32; 3171 pub fn sceKernelReferVTimerStatus(uid: SceUid, info: *mut SceKernelVTimerInfo) -> i32; 3172 pub fn sceKernelRegisterThreadEventHandler( 3173 name: *const u8, 3174 thread_id: SceUid, 3175 mask: i32, 3176 handler: SceKernelThreadEventHandler, 3177 common: *mut c_void, 3178 ) -> SceUid; 3179 pub fn sceKernelReleaseThreadEventHandler(uid: SceUid) -> i32; 3180 pub fn sceKernelReferThreadEventHandlerStatus( 3181 uid: SceUid, 3182 info: *mut SceKernelThreadEventHandlerInfo, 3183 ) -> i32; 3184 pub fn sceKernelReferThreadProfiler() -> *mut DebugProfilerRegs; 3185 pub fn sceKernelReferGlobalProfiler() -> *mut DebugProfilerRegs; 3186 3187 pub fn sceUsbStart(driver_name: *const u8, size: i32, args: *mut c_void) -> i32; 3188 pub fn sceUsbStop(driver_name: *const u8, size: i32, args: *mut c_void) -> i32; 3189 pub fn sceUsbActivate(pid: u32) -> i32; 3190 pub fn sceUsbDeactivate(pid: u32) -> i32; 3191 pub fn sceUsbGetState() -> i32; 3192 pub fn sceUsbGetDrvState(driver_name: *const u8) -> i32; 3193} 3194 3195extern "C" { 3196 pub fn sceUsbCamSetupStill(param: *mut UsbCamSetupStillParam) -> i32; 3197 pub fn sceUsbCamSetupStillEx(param: *mut UsbCamSetupStillExParam) -> i32; 3198 pub fn sceUsbCamStillInputBlocking(buf: *mut u8, size: usize) -> i32; 3199 pub fn sceUsbCamStillInput(buf: *mut u8, size: usize) -> i32; 3200 pub fn sceUsbCamStillWaitInputEnd() -> i32; 3201 pub fn sceUsbCamStillPollInputEnd() -> i32; 3202 pub fn sceUsbCamStillCancelInput() -> i32; 3203 pub fn sceUsbCamStillGetInputLength() -> i32; 3204 pub fn sceUsbCamSetupVideo( 3205 param: *mut UsbCamSetupVideoParam, 3206 work_area: *mut c_void, 3207 work_area_size: i32, 3208 ) -> i32; 3209 pub fn sceUsbCamSetupVideoEx( 3210 param: *mut UsbCamSetupVideoExParam, 3211 work_area: *mut c_void, 3212 work_area_size: i32, 3213 ) -> i32; 3214 pub fn sceUsbCamStartVideo() -> i32; 3215 pub fn sceUsbCamStopVideo() -> i32; 3216 pub fn sceUsbCamReadVideoFrameBlocking(buf: *mut u8, size: usize) -> i32; 3217 pub fn sceUsbCamReadVideoFrame(buf: *mut u8, size: usize) -> i32; 3218 pub fn sceUsbCamWaitReadVideoFrameEnd() -> i32; 3219 pub fn sceUsbCamPollReadVideoFrameEnd() -> i32; 3220 pub fn sceUsbCamGetReadVideoFrameSize() -> i32; 3221 pub fn sceUsbCamSetSaturation(saturation: i32) -> i32; 3222 pub fn sceUsbCamSetBrightness(brightness: i32) -> i32; 3223 pub fn sceUsbCamSetContrast(contrast: i32) -> i32; 3224 pub fn sceUsbCamSetSharpness(sharpness: i32) -> i32; 3225 pub fn sceUsbCamSetImageEffectMode(effect_mode: UsbCamEffectMode) -> i32; 3226 pub fn sceUsbCamSetEvLevel(exposure_level: UsbCamEvLevel) -> i32; 3227 pub fn sceUsbCamSetReverseMode(reverse_flags: i32) -> i32; 3228 pub fn sceUsbCamSetZoom(zoom: i32) -> i32; 3229 pub fn sceUsbCamGetSaturation(saturation: *mut i32) -> i32; 3230 pub fn sceUsbCamGetBrightness(brightness: *mut i32) -> i32; 3231 pub fn sceUsbCamGetContrast(contrast: *mut i32) -> i32; 3232 pub fn sceUsbCamGetSharpness(sharpness: *mut i32) -> i32; 3233 pub fn sceUsbCamGetImageEffectMode(effect_mode: *mut UsbCamEffectMode) -> i32; 3234 pub fn sceUsbCamGetEvLevel(exposure_level: *mut UsbCamEvLevel) -> i32; 3235 pub fn sceUsbCamGetReverseMode(reverse_flags: *mut i32) -> i32; 3236 pub fn sceUsbCamGetZoom(zoom: *mut i32) -> i32; 3237 pub fn sceUsbCamAutoImageReverseSW(on: i32) -> i32; 3238 pub fn sceUsbCamGetAutoImageReverseState() -> i32; 3239 pub fn sceUsbCamGetLensDirection() -> i32; 3240 3241 pub fn sceUsbstorBootRegisterNotify(event_flag: SceUid) -> i32; 3242 pub fn sceUsbstorBootUnregisterNotify(event_flag: u32) -> i32; 3243 pub fn sceUsbstorBootSetCapacity(size: u32) -> i32; 3244 3245 pub fn scePowerRegisterCallback(slot: i32, cbid: SceUid) -> i32; 3246 pub fn scePowerUnregisterCallback(slot: i32) -> i32; 3247 pub fn scePowerIsPowerOnline() -> i32; 3248 pub fn scePowerIsBatteryExist() -> i32; 3249 pub fn scePowerIsBatteryCharging() -> i32; 3250 pub fn scePowerGetBatteryChargingStatus() -> i32; 3251 pub fn scePowerIsLowBattery() -> i32; 3252 pub fn scePowerGetBatteryLifePercent() -> i32; 3253 pub fn scePowerGetBatteryLifeTime() -> i32; 3254 pub fn scePowerGetBatteryTemp() -> i32; 3255 pub fn scePowerGetBatteryElec() -> i32; 3256 pub fn scePowerGetBatteryVolt() -> i32; 3257 pub fn scePowerSetCpuClockFrequency(cpufreq: i32) -> i32; 3258 pub fn scePowerSetBusClockFrequency(busfreq: i32) -> i32; 3259 pub fn scePowerGetCpuClockFrequency() -> i32; 3260 pub fn scePowerGetCpuClockFrequencyInt() -> i32; 3261 pub fn scePowerGetCpuClockFrequencyFloat() -> f32; 3262 pub fn scePowerGetBusClockFrequency() -> i32; 3263 pub fn scePowerGetBusClockFrequencyInt() -> i32; 3264 pub fn scePowerGetBusClockFrequencyFloat() -> f32; 3265 pub fn scePowerSetClockFrequency(pllfreq: i32, cpufreq: i32, busfreq: i32) -> i32; 3266 pub fn scePowerLock(unknown: i32) -> i32; 3267 pub fn scePowerUnlock(unknown: i32) -> i32; 3268 pub fn scePowerTick(t: PowerTick) -> i32; 3269 pub fn scePowerGetIdleTimer() -> i32; 3270 pub fn scePowerIdleTimerEnable(unknown: i32) -> i32; 3271 pub fn scePowerIdleTimerDisable(unknown: i32) -> i32; 3272 pub fn scePowerRequestStandby() -> i32; 3273 pub fn scePowerRequestSuspend() -> i32; 3274 3275 pub fn sceWlanDevIsPowerOn() -> i32; 3276 pub fn sceWlanGetSwitchState() -> i32; 3277 pub fn sceWlanGetEtherAddr(ether_addr: *mut u8) -> i32; 3278 3279 pub fn sceWlanDevAttach() -> i32; 3280 pub fn sceWlanDevDetach() -> i32; 3281 3282 pub fn sceRtcGetTickResolution() -> u32; 3283 pub fn sceRtcGetCurrentTick(tick: *mut u64) -> i32; 3284 pub fn sceRtcGetCurrentClock(tm: *mut ScePspDateTime, tz: i32) -> i32; 3285 pub fn sceRtcGetCurrentClockLocalTime(tm: *mut ScePspDateTime) -> i32; 3286 pub fn sceRtcConvertUtcToLocalTime(tick_utc: *const u64, tick_local: *mut u64) -> i32; 3287 pub fn sceRtcConvertLocalTimeToUTC(tick_local: *const u64, tick_utc: *mut u64) -> i32; 3288 pub fn sceRtcIsLeapYear(year: i32) -> i32; 3289 pub fn sceRtcGetDaysInMonth(year: i32, month: i32) -> i32; 3290 pub fn sceRtcGetDayOfWeek(year: i32, month: i32, day: i32) -> i32; 3291 pub fn sceRtcCheckValid(date: *const ScePspDateTime) -> i32; 3292 pub fn sceRtcSetTick(date: *mut ScePspDateTime, tick: *const u64) -> i32; 3293 pub fn sceRtcGetTick(date: *const ScePspDateTime, tick: *mut u64) -> i32; 3294 pub fn sceRtcCompareTick(tick1: *const u64, tick2: *const u64) -> i32; 3295 pub fn sceRtcTickAddTicks(dest_tick: *mut u64, src_tick: *const u64, num_ticks: u64) -> i32; 3296 pub fn sceRtcTickAddMicroseconds(dest_tick: *mut u64, src_tick: *const u64, num_ms: u64) 3297 -> i32; 3298 pub fn sceRtcTickAddSeconds(dest_tick: *mut u64, src_tick: *const u64, num_seconds: u64) 3299 -> i32; 3300 pub fn sceRtcTickAddMinutes(dest_tick: *mut u64, src_tick: *const u64, num_minutes: u64) 3301 -> i32; 3302 pub fn sceRtcTickAddHours(dest_tick: *mut u64, src_tick: *const u64, num_hours: u64) -> i32; 3303 pub fn sceRtcTickAddDays(dest_tick: *mut u64, src_tick: *const u64, num_days: u64) -> i32; 3304 pub fn sceRtcTickAddWeeks(dest_tick: *mut u64, src_tick: *const u64, num_weeks: u64) -> i32; 3305 pub fn sceRtcTickAddMonths(dest_tick: *mut u64, src_tick: *const u64, num_months: u64) -> i32; 3306 pub fn sceRtcTickAddYears(dest_tick: *mut u64, src_tick: *const u64, num_years: u64) -> i32; 3307 pub fn sceRtcSetTime_t(date: *mut ScePspDateTime, time: u32) -> i32; 3308 pub fn sceRtcGetTime_t(date: *const ScePspDateTime, time: *mut u32) -> i32; 3309 pub fn sceRtcSetTime64_t(date: *mut ScePspDateTime, time: u64) -> i32; 3310 pub fn sceRtcGetTime64_t(date: *const ScePspDateTime, time: *mut u64) -> i32; 3311 pub fn sceRtcSetDosTime(date: *mut ScePspDateTime, dos_time: u32) -> i32; 3312 pub fn sceRtcGetDosTime(date: *mut ScePspDateTime, dos_time: u32) -> i32; 3313 pub fn sceRtcSetWin32FileTime(date: *mut ScePspDateTime, time: *mut u64) -> i32; 3314 pub fn sceRtcGetWin32FileTime(date: *mut ScePspDateTime, time: *mut u64) -> i32; 3315 pub fn sceRtcParseDateTime(dest_tick: *mut u64, date_string: *const u8) -> i32; 3316 pub fn sceRtcFormatRFC3339( 3317 psz_date_time: *mut char, 3318 p_utc: *const u64, 3319 time_zone_minutes: i32, 3320 ) -> i32; 3321 pub fn sceRtcFormatRFC3339LocalTime(psz_date_time: *mut char, p_utc: *const u64) -> i32; 3322 pub fn sceRtcParseRFC3339(p_utc: *mut u64, psz_date_time: *const u8) -> i32; 3323 pub fn sceRtcFormatRFC2822( 3324 psz_date_time: *mut char, 3325 p_utc: *const u64, 3326 time_zone_minutes: i32, 3327 ) -> i32; 3328 pub fn sceRtcFormatRFC2822LocalTime(psz_date_time: *mut char, p_utc: *const u64) -> i32; 3329 3330 pub fn sceIoOpen(file: *const u8, flags: i32, permissions: IoPermissions) -> SceUid; 3331 pub fn sceIoOpenAsync(file: *const u8, flags: i32, permissions: IoPermissions) -> SceUid; 3332 pub fn sceIoClose(fd: SceUid) -> i32; 3333 pub fn sceIoCloseAsync(fd: SceUid) -> i32; 3334 pub fn sceIoRead(fd: SceUid, data: *mut c_void, size: u32) -> i32; 3335 pub fn sceIoReadAsync(fd: SceUid, data: *mut c_void, size: u32) -> i32; 3336 pub fn sceIoWrite(fd: SceUid, data: *const c_void, size: usize) -> i32; 3337 pub fn sceIoWriteAsync(fd: SceUid, data: *const c_void, size: u32) -> i32; 3338 pub fn sceIoLseek(fd: SceUid, offset: i64, whence: IoWhence) -> i64; 3339 pub fn sceIoLseekAsync(fd: SceUid, offset: i64, whence: IoWhence) -> i32; 3340 pub fn sceIoLseek32(fd: SceUid, offset: i32, whence: IoWhence) -> i32; 3341 pub fn sceIoLseek32Async(fd: SceUid, offset: i32, whence: IoWhence) -> i32; 3342 pub fn sceIoRemove(file: *const u8) -> i32; 3343 pub fn sceIoMkdir(dir: *const u8, mode: IoPermissions) -> i32; 3344 pub fn sceIoRmdir(path: *const u8) -> i32; 3345 pub fn sceIoChdir(path: *const u8) -> i32; 3346 pub fn sceIoRename(oldname: *const u8, newname: *const u8) -> i32; 3347 pub fn sceIoDopen(dirname: *const u8) -> SceUid; 3348 pub fn sceIoDread(fd: SceUid, dir: *mut SceIoDirent) -> i32; 3349 pub fn sceIoDclose(fd: SceUid) -> i32; 3350 pub fn sceIoDevctl( 3351 dev: *const u8, 3352 cmd: u32, 3353 indata: *mut c_void, 3354 inlen: i32, 3355 outdata: *mut c_void, 3356 outlen: i32, 3357 ) -> i32; 3358 pub fn sceIoAssign( 3359 dev1: *const u8, 3360 dev2: *const u8, 3361 dev3: *const u8, 3362 mode: IoAssignPerms, 3363 unk1: *mut c_void, 3364 unk2: i32, 3365 ) -> i32; 3366 pub fn sceIoUnassign(dev: *const u8) -> i32; 3367 pub fn sceIoGetstat(file: *const u8, stat: *mut SceIoStat) -> i32; 3368 pub fn sceIoChstat(file: *const u8, stat: *mut SceIoStat, bits: i32) -> i32; 3369 pub fn sceIoIoctl( 3370 fd: SceUid, 3371 cmd: u32, 3372 indata: *mut c_void, 3373 inlen: i32, 3374 outdata: *mut c_void, 3375 outlen: i32, 3376 ) -> i32; 3377 pub fn sceIoIoctlAsync( 3378 fd: SceUid, 3379 cmd: u32, 3380 indata: *mut c_void, 3381 inlen: i32, 3382 outdata: *mut c_void, 3383 outlen: i32, 3384 ) -> i32; 3385 pub fn sceIoSync(device: *const u8, unk: u32) -> i32; 3386 pub fn sceIoWaitAsync(fd: SceUid, res: *mut i64) -> i32; 3387 pub fn sceIoWaitAsyncCB(fd: SceUid, res: *mut i64) -> i32; 3388 pub fn sceIoPollAsync(fd: SceUid, res: *mut i64) -> i32; 3389 pub fn sceIoGetAsyncStat(fd: SceUid, poll: i32, res: *mut i64) -> i32; 3390 pub fn sceIoCancel(fd: SceUid) -> i32; 3391 pub fn sceIoGetDevType(fd: SceUid) -> i32; 3392 pub fn sceIoChangeAsyncPriority(fd: SceUid, pri: i32) -> i32; 3393 pub fn sceIoSetAsyncCallback(fd: SceUid, cb: SceUid, argp: *mut c_void) -> i32; 3394 3395 pub fn sceJpegInitMJpeg() -> i32; 3396 pub fn sceJpegFinishMJpeg() -> i32; 3397 pub fn sceJpegCreateMJpeg(width: i32, height: i32) -> i32; 3398 pub fn sceJpegDeleteMJpeg() -> i32; 3399 pub fn sceJpegDecodeMJpeg(jpeg_buf: *mut u8, size: usize, rgba: *mut c_void, unk: u32) -> i32; 3400 3401 pub fn sceUmdCheckMedium() -> i32; 3402 pub fn sceUmdGetDiscInfo(info: *mut UmdInfo) -> i32; 3403 pub fn sceUmdActivate(unit: i32, drive: *const u8) -> i32; 3404 pub fn sceUmdDeactivate(unit: i32, drive: *const u8) -> i32; 3405 pub fn sceUmdWaitDriveStat(state: i32) -> i32; 3406 pub fn sceUmdWaitDriveStatWithTimer(state: i32, timeout: u32) -> i32; 3407 pub fn sceUmdWaitDriveStatCB(state: i32, timeout: u32) -> i32; 3408 pub fn sceUmdCancelWaitDriveStat() -> i32; 3409 pub fn sceUmdGetDriveStat() -> i32; 3410 pub fn sceUmdGetErrorStat() -> i32; 3411 pub fn sceUmdRegisterUMDCallBack(cbid: i32) -> i32; 3412 pub fn sceUmdUnRegisterUMDCallBack(cbid: i32) -> i32; 3413 pub fn sceUmdReplacePermit() -> i32; 3414 pub fn sceUmdReplaceProhibit() -> i32; 3415 3416 pub fn sceMpegInit() -> i32; 3417 pub fn sceMpegFinish(); 3418 pub fn sceMpegRingbufferQueryMemSize(packets: i32) -> i32; 3419 pub fn sceMpegRingbufferConstruct( 3420 ringbuffer: *mut SceMpegRingbuffer, 3421 packets: i32, 3422 data: *mut c_void, 3423 size: i32, 3424 callback: SceMpegRingbufferCb, 3425 cb_param: *mut c_void, 3426 ) -> i32; 3427 pub fn sceMpegRingbufferDestruct(ringbuffer: *mut SceMpegRingbuffer); 3428 pub fn sceMpegRingbufferAvailableSize(ringbuffer: *mut SceMpegRingbuffer) -> i32; 3429 pub fn sceMpegRingbufferPut( 3430 ringbuffer: *mut SceMpegRingbuffer, 3431 num_packets: i32, 3432 available: i32, 3433 ) -> i32; 3434 pub fn sceMpegQueryMemSize(unk: i32) -> i32; 3435 pub fn sceMpegCreate( 3436 handle: SceMpeg, 3437 data: *mut c_void, 3438 size: i32, 3439 ringbuffer: *mut SceMpegRingbuffer, 3440 frame_width: i32, 3441 unk1: i32, 3442 unk2: i32, 3443 ) -> i32; 3444 pub fn sceMpegDelete(handle: SceMpeg); 3445 pub fn sceMpegQueryStreamOffset(handle: SceMpeg, buffer: *mut c_void, offset: *mut i32) -> i32; 3446 pub fn sceMpegQueryStreamSize(buffer: *mut c_void, size: *mut i32) -> i32; 3447 pub fn sceMpegRegistStream(handle: SceMpeg, stream_id: i32, unk: i32) -> SceMpegStream; 3448 pub fn sceMpegUnRegistStream(handle: SceMpeg, stream: SceMpegStream); 3449 pub fn sceMpegFlushAllStream(handle: SceMpeg) -> i32; 3450 pub fn sceMpegMallocAvcEsBuf(handle: SceMpeg) -> *mut c_void; 3451 pub fn sceMpegFreeAvcEsBuf(handle: SceMpeg, buf: *mut c_void); 3452 pub fn sceMpegQueryAtracEsSize(handle: SceMpeg, es_size: *mut i32, out_size: *mut i32) -> i32; 3453 pub fn sceMpegInitAu(handle: SceMpeg, es_buffer: *mut c_void, au: *mut SceMpegAu) -> i32; 3454 pub fn sceMpegGetAvcAu( 3455 handle: SceMpeg, 3456 stream: SceMpegStream, 3457 au: *mut SceMpegAu, 3458 unk: *mut i32, 3459 ) -> i32; 3460 pub fn sceMpegAvcDecodeMode(handle: SceMpeg, mode: *mut SceMpegAvcMode) -> i32; 3461 pub fn sceMpegAvcDecode( 3462 handle: SceMpeg, 3463 au: *mut SceMpegAu, 3464 iframe_width: i32, 3465 buffer: *mut c_void, 3466 init: *mut i32, 3467 ) -> i32; 3468 pub fn sceMpegAvcDecodeStop( 3469 handle: SceMpeg, 3470 frame_width: i32, 3471 buffer: *mut c_void, 3472 status: *mut i32, 3473 ) -> i32; 3474 pub fn sceMpegGetAtracAu( 3475 handle: SceMpeg, 3476 stream: SceMpegStream, 3477 au: *mut SceMpegAu, 3478 unk: *mut c_void, 3479 ) -> i32; 3480 pub fn sceMpegAtracDecode( 3481 handle: SceMpeg, 3482 au: *mut SceMpegAu, 3483 buffer: *mut c_void, 3484 init: i32, 3485 ) -> i32; 3486 3487 pub fn sceMpegBaseYCrCbCopyVme(yuv_buffer: *mut c_void, buffer: *mut i32, type_: i32) -> i32; 3488 pub fn sceMpegBaseCscInit(width: i32) -> i32; 3489 pub fn sceMpegBaseCscVme( 3490 rgb_buffer: *mut c_void, 3491 rgb_buffer2: *mut c_void, 3492 width: i32, 3493 y_cr_cb_buffer: *mut SceMpegYCrCbBuffer, 3494 ) -> i32; 3495 pub fn sceMpegbase_BEA18F91(lli: *mut SceMpegLLI) -> i32; 3496 3497 pub fn sceHprmPeekCurrentKey(key: *mut i32) -> i32; 3498 pub fn sceHprmPeekLatch(latch: *mut [u32; 4]) -> i32; 3499 pub fn sceHprmReadLatch(latch: *mut [u32; 4]) -> i32; 3500 pub fn sceHprmIsHeadphoneExist() -> i32; 3501 pub fn sceHprmIsRemoteExist() -> i32; 3502 pub fn sceHprmIsMicrophoneExist() -> i32; 3503 3504 pub fn sceGuDepthBuffer(zbp: *mut c_void, zbw: i32); 3505 pub fn sceGuDispBuffer(width: i32, height: i32, dispbp: *mut c_void, dispbw: i32); 3506 pub fn sceGuDrawBuffer(psm: DisplayPixelFormat, fbp: *mut c_void, fbw: i32); 3507 pub fn sceGuDrawBufferList(psm: DisplayPixelFormat, fbp: *mut c_void, fbw: i32); 3508 pub fn sceGuDisplay(state: bool) -> bool; 3509 pub fn sceGuDepthFunc(function: DepthFunc); 3510 pub fn sceGuDepthMask(mask: i32); 3511 pub fn sceGuDepthOffset(offset: i32); 3512 pub fn sceGuDepthRange(near: i32, far: i32); 3513 pub fn sceGuFog(near: f32, far: f32, color: u32); 3514 pub fn sceGuInit(); 3515 pub fn sceGuTerm(); 3516 pub fn sceGuBreak(mode: i32); 3517 pub fn sceGuContinue(); 3518 pub fn sceGuSetCallback(signal: GuCallbackId, callback: GuCallback) -> GuCallback; 3519 pub fn sceGuSignal(behavior: SignalBehavior, signal: i32); 3520 pub fn sceGuSendCommandf(cmd: GeCommand, argument: f32); 3521 pub fn sceGuSendCommandi(cmd: GeCommand, argument: i32); 3522 pub fn sceGuGetMemory(size: i32) -> *mut c_void; 3523 pub fn sceGuStart(context_type: GuContextType, list: *mut c_void); 3524 pub fn sceGuFinish() -> i32; 3525 pub fn sceGuFinishId(id: u32) -> i32; 3526 pub fn sceGuCallList(list: *const c_void); 3527 pub fn sceGuCallMode(mode: i32); 3528 pub fn sceGuCheckList() -> i32; 3529 pub fn sceGuSendList(mode: GuQueueMode, list: *const c_void, context: *mut GeContext); 3530 pub fn sceGuSwapBuffers() -> *mut c_void; 3531 pub fn sceGuSync(mode: GuSyncMode, behavior: GuSyncBehavior) -> GeListState; 3532 pub fn sceGuDrawArray( 3533 prim: GuPrimitive, 3534 vtype: i32, 3535 count: i32, 3536 indices: *const c_void, 3537 vertices: *const c_void, 3538 ); 3539 pub fn sceGuBeginObject( 3540 vtype: i32, 3541 count: i32, 3542 indices: *const c_void, 3543 vertices: *const c_void, 3544 ); 3545 pub fn sceGuEndObject(); 3546 pub fn sceGuSetStatus(state: GuState, status: i32); 3547 pub fn sceGuGetStatus(state: GuState) -> bool; 3548 pub fn sceGuSetAllStatus(status: i32); 3549 pub fn sceGuGetAllStatus() -> i32; 3550 pub fn sceGuEnable(state: GuState); 3551 pub fn sceGuDisable(state: GuState); 3552 pub fn sceGuLight(light: i32, type_: LightType, components: i32, position: &ScePspFVector3); 3553 pub fn sceGuLightAtt(light: i32, atten0: f32, atten1: f32, atten2: f32); 3554 pub fn sceGuLightColor(light: i32, component: i32, color: u32); 3555 pub fn sceGuLightMode(mode: LightMode); 3556 pub fn sceGuLightSpot(light: i32, direction: &ScePspFVector3, exponent: f32, cutoff: f32); 3557 pub fn sceGuClear(flags: i32); 3558 pub fn sceGuClearColor(color: u32); 3559 pub fn sceGuClearDepth(depth: u32); 3560 pub fn sceGuClearStencil(stencil: u32); 3561 pub fn sceGuPixelMask(mask: u32); 3562 pub fn sceGuColor(color: u32); 3563 pub fn sceGuColorFunc(func: ColorFunc, color: u32, mask: u32); 3564 pub fn sceGuColorMaterial(components: i32); 3565 pub fn sceGuAlphaFunc(func: AlphaFunc, value: i32, mask: i32); 3566 pub fn sceGuAmbient(color: u32); 3567 pub fn sceGuAmbientColor(color: u32); 3568 pub fn sceGuBlendFunc(op: BlendOp, src: BlendSrc, dest: BlendDst, src_fix: u32, dest_fix: u32); 3569 pub fn sceGuMaterial(components: i32, color: u32); 3570 pub fn sceGuModelColor(emissive: u32, ambient: u32, diffuse: u32, specular: u32); 3571 pub fn sceGuStencilFunc(func: StencilFunc, ref_: i32, mask: i32); 3572 pub fn sceGuStencilOp(fail: StencilOperation, zfail: StencilOperation, zpass: StencilOperation); 3573 pub fn sceGuSpecular(power: f32); 3574 pub fn sceGuFrontFace(order: FrontFaceDirection); 3575 pub fn sceGuLogicalOp(op: LogicalOperation); 3576 pub fn sceGuSetDither(matrix: &ScePspIMatrix4); 3577 pub fn sceGuShadeModel(mode: ShadingModel); 3578 pub fn sceGuCopyImage( 3579 psm: DisplayPixelFormat, 3580 sx: i32, 3581 sy: i32, 3582 width: i32, 3583 height: i32, 3584 srcw: i32, 3585 src: *mut c_void, 3586 dx: i32, 3587 dy: i32, 3588 destw: i32, 3589 dest: *mut c_void, 3590 ); 3591 pub fn sceGuTexEnvColor(color: u32); 3592 pub fn sceGuTexFilter(min: TextureFilter, mag: TextureFilter); 3593 pub fn sceGuTexFlush(); 3594 pub fn sceGuTexFunc(tfx: TextureEffect, tcc: TextureColorComponent); 3595 pub fn sceGuTexImage( 3596 mipmap: MipmapLevel, 3597 width: i32, 3598 height: i32, 3599 tbw: i32, 3600 tbp: *const c_void, 3601 ); 3602 pub fn sceGuTexLevelMode(mode: TextureLevelMode, bias: f32); 3603 pub fn sceGuTexMapMode(mode: TextureMapMode, a1: u32, a2: u32); 3604 pub fn sceGuTexMode(tpsm: TexturePixelFormat, maxmips: i32, a2: i32, swizzle: i32); 3605 pub fn sceGuTexOffset(u: f32, v: f32); 3606 pub fn sceGuTexProjMapMode(mode: TextureProjectionMapMode); 3607 pub fn sceGuTexScale(u: f32, v: f32); 3608 pub fn sceGuTexSlope(slope: f32); 3609 pub fn sceGuTexSync(); 3610 pub fn sceGuTexWrap(u: GuTexWrapMode, v: GuTexWrapMode); 3611 pub fn sceGuClutLoad(num_blocks: i32, cbp: *const c_void); 3612 pub fn sceGuClutMode(cpsm: ClutPixelFormat, shift: u32, mask: u32, a3: u32); 3613 pub fn sceGuOffset(x: u32, y: u32); 3614 pub fn sceGuScissor(x: i32, y: i32, w: i32, h: i32); 3615 pub fn sceGuViewport(cx: i32, cy: i32, width: i32, height: i32); 3616 pub fn sceGuDrawBezier( 3617 v_type: i32, 3618 u_count: i32, 3619 v_count: i32, 3620 indices: *const c_void, 3621 vertices: *const c_void, 3622 ); 3623 pub fn sceGuPatchDivide(ulevel: u32, vlevel: u32); 3624 pub fn sceGuPatchFrontFace(a0: u32); 3625 pub fn sceGuPatchPrim(prim: PatchPrimitive); 3626 pub fn sceGuDrawSpline( 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 sceGuSetMatrix(type_: MatrixMode, matrix: &ScePspFMatrix4); 3636 pub fn sceGuBoneMatrix(index: u32, matrix: &ScePspFMatrix4); 3637 pub fn sceGuMorphWeight(index: i32, weight: f32); 3638 pub fn sceGuDrawArrayN( 3639 primitive_type: GuPrimitive, 3640 v_type: i32, 3641 count: i32, 3642 a3: i32, 3643 indices: *const c_void, 3644 vertices: *const c_void, 3645 ); 3646 3647 pub fn sceGumDrawArray( 3648 prim: GuPrimitive, 3649 v_type: i32, 3650 count: i32, 3651 indices: *const c_void, 3652 vertices: *const c_void, 3653 ); 3654 pub fn sceGumDrawArrayN( 3655 prim: GuPrimitive, 3656 v_type: i32, 3657 count: i32, 3658 a3: i32, 3659 indices: *const c_void, 3660 vertices: *const c_void, 3661 ); 3662 pub fn sceGumDrawBezier( 3663 v_type: i32, 3664 u_count: i32, 3665 v_count: i32, 3666 indices: *const c_void, 3667 vertices: *const c_void, 3668 ); 3669 pub fn sceGumDrawSpline( 3670 v_type: i32, 3671 u_count: i32, 3672 v_count: i32, 3673 u_edge: i32, 3674 v_edge: i32, 3675 indices: *const c_void, 3676 vertices: *const c_void, 3677 ); 3678 pub fn sceGumFastInverse(); 3679 pub fn sceGumFullInverse(); 3680 pub fn sceGumLoadIdentity(); 3681 pub fn sceGumLoadMatrix(m: &ScePspFMatrix4); 3682 pub fn sceGumLookAt(eye: &ScePspFVector3, center: &ScePspFVector3, up: &ScePspFVector3); 3683 pub fn sceGumMatrixMode(mode: MatrixMode); 3684 pub fn sceGumMultMatrix(m: &ScePspFMatrix4); 3685 pub fn sceGumOrtho(left: f32, right: f32, bottom: f32, top: f32, near: f32, far: f32); 3686 pub fn sceGumPerspective(fovy: f32, aspect: f32, near: f32, far: f32); 3687 pub fn sceGumPopMatrix(); 3688 pub fn sceGumPushMatrix(); 3689 pub fn sceGumRotateX(angle: f32); 3690 pub fn sceGumRotateY(angle: f32); 3691 pub fn sceGumRotateZ(angle: f32); 3692 pub fn sceGumRotateXYZ(v: &ScePspFVector3); 3693 pub fn sceGumRotateZYX(v: &ScePspFVector3); 3694 pub fn sceGumScale(v: &ScePspFVector3); 3695 pub fn sceGumStoreMatrix(m: &mut ScePspFMatrix4); 3696 pub fn sceGumTranslate(v: &ScePspFVector3); 3697 pub fn sceGumUpdateMatrix(); 3698 3699 pub fn sceMp3ReserveMp3Handle(args: *mut SceMp3InitArg) -> i32; 3700 pub fn sceMp3ReleaseMp3Handle(handle: Mp3Handle) -> i32; 3701 pub fn sceMp3InitResource() -> i32; 3702 pub fn sceMp3TermResource() -> i32; 3703 pub fn sceMp3Init(handle: Mp3Handle) -> i32; 3704 pub fn sceMp3Decode(handle: Mp3Handle, dst: *mut *mut i16) -> i32; 3705 pub fn sceMp3GetInfoToAddStreamData( 3706 handle: Mp3Handle, 3707 dst: *mut *mut u8, 3708 to_write: *mut i32, 3709 src_pos: *mut i32, 3710 ) -> i32; 3711 pub fn sceMp3NotifyAddStreamData(handle: Mp3Handle, size: i32) -> i32; 3712 pub fn sceMp3CheckStreamDataNeeded(handle: Mp3Handle) -> i32; 3713 pub fn sceMp3SetLoopNum(handle: Mp3Handle, loop_: i32) -> i32; 3714 pub fn sceMp3GetLoopNum(handle: Mp3Handle) -> i32; 3715 pub fn sceMp3GetSumDecodedSample(handle: Mp3Handle) -> i32; 3716 pub fn sceMp3GetMaxOutputSample(handle: Mp3Handle) -> i32; 3717 pub fn sceMp3GetSamplingRate(handle: Mp3Handle) -> i32; 3718 pub fn sceMp3GetBitRate(handle: Mp3Handle) -> i32; 3719 pub fn sceMp3GetMp3ChannelNum(handle: Mp3Handle) -> i32; 3720 pub fn sceMp3ResetPlayPosition(handle: Mp3Handle) -> i32; 3721 3722 pub fn sceRegOpenRegistry(reg: *mut Key, mode: i32, handle: *mut RegHandle) -> i32; 3723 pub fn sceRegFlushRegistry(handle: RegHandle) -> i32; 3724 pub fn sceRegCloseRegistry(handle: RegHandle) -> i32; 3725 pub fn sceRegOpenCategory( 3726 handle: RegHandle, 3727 name: *const u8, 3728 mode: i32, 3729 dir_handle: *mut RegHandle, 3730 ) -> i32; 3731 pub fn sceRegRemoveCategory(handle: RegHandle, name: *const u8) -> i32; 3732 pub fn sceRegCloseCategory(dir_handle: RegHandle) -> i32; 3733 pub fn sceRegFlushCategory(dir_handle: RegHandle) -> i32; 3734 pub fn sceRegGetKeyInfo( 3735 dir_handle: RegHandle, 3736 name: *const u8, 3737 key_handle: *mut RegHandle, 3738 type_: *mut KeyType, 3739 size: *mut usize, 3740 ) -> i32; 3741 pub fn sceRegGetKeyInfoByName( 3742 dir_handle: RegHandle, 3743 name: *const u8, 3744 type_: *mut KeyType, 3745 size: *mut usize, 3746 ) -> i32; 3747 pub fn sceRegGetKeyValue( 3748 dir_handle: RegHandle, 3749 key_handle: RegHandle, 3750 buf: *mut c_void, 3751 size: usize, 3752 ) -> i32; 3753 pub fn sceRegGetKeyValueByName( 3754 dir_handle: RegHandle, 3755 name: *const u8, 3756 buf: *mut c_void, 3757 size: usize, 3758 ) -> i32; 3759 pub fn sceRegSetKeyValue( 3760 dir_handle: RegHandle, 3761 name: *const u8, 3762 buf: *const c_void, 3763 size: usize, 3764 ) -> i32; 3765 pub fn sceRegGetKeysNum(dir_handle: RegHandle, num: *mut i32) -> i32; 3766 pub fn sceRegGetKeys(dir_handle: RegHandle, buf: *mut u8, num: i32) -> i32; 3767 pub fn sceRegCreateKey(dir_handle: RegHandle, name: *const u8, type_: i32, size: usize) -> i32; 3768 pub fn sceRegRemoveRegistry(key: *mut Key) -> i32; 3769 3770 pub fn sceOpenPSIDGetOpenPSID(openpsid: *mut OpenPSID) -> i32; 3771 3772 pub fn sceUtilityMsgDialogInitStart(params: *mut UtilityMsgDialogParams) -> i32; 3773 pub fn sceUtilityMsgDialogShutdownStart(); 3774 pub fn sceUtilityMsgDialogGetStatus() -> i32; 3775 pub fn sceUtilityMsgDialogUpdate(n: i32); 3776 pub fn sceUtilityMsgDialogAbort() -> i32; 3777 pub fn sceUtilityNetconfInitStart(data: *mut UtilityNetconfData) -> i32; 3778 pub fn sceUtilityNetconfShutdownStart() -> i32; 3779 pub fn sceUtilityNetconfUpdate(unknown: i32) -> i32; 3780 pub fn sceUtilityNetconfGetStatus() -> i32; 3781 pub fn sceUtilityCheckNetParam(id: i32) -> i32; 3782 pub fn sceUtilityGetNetParam(conf: i32, param: NetParam, data: *mut UtilityNetData) -> i32; 3783 pub fn sceUtilitySavedataInitStart(params: *mut SceUtilitySavedataParam) -> i32; 3784 pub fn sceUtilitySavedataGetStatus() -> i32; 3785 pub fn sceUtilitySavedataShutdownStart() -> i32; 3786 pub fn sceUtilitySavedataUpdate(unknown: i32); 3787 pub fn sceUtilityGameSharingInitStart(params: *mut UtilityGameSharingParams) -> i32; 3788 pub fn sceUtilityGameSharingShutdownStart(); 3789 pub fn sceUtilityGameSharingGetStatus() -> i32; 3790 pub fn sceUtilityGameSharingUpdate(n: i32); 3791 pub fn sceUtilityHtmlViewerInitStart(params: *mut UtilityHtmlViewerParam) -> i32; 3792 pub fn sceUtilityHtmlViewerShutdownStart() -> i32; 3793 pub fn sceUtilityHtmlViewerUpdate(n: i32) -> i32; 3794 pub fn sceUtilityHtmlViewerGetStatus() -> i32; 3795 pub fn sceUtilitySetSystemParamInt(id: SystemParamId, value: i32) -> i32; 3796 pub fn sceUtilitySetSystemParamString(id: SystemParamId, str: *const u8) -> i32; 3797 pub fn sceUtilityGetSystemParamInt(id: SystemParamId, value: *mut i32) -> i32; 3798 pub fn sceUtilityGetSystemParamString(id: SystemParamId, str: *mut u8, len: i32) -> i32; 3799 pub fn sceUtilityOskInitStart(params: *mut SceUtilityOskParams) -> i32; 3800 pub fn sceUtilityOskShutdownStart() -> i32; 3801 pub fn sceUtilityOskUpdate(n: i32) -> i32; 3802 pub fn sceUtilityOskGetStatus() -> i32; 3803 pub fn sceUtilityLoadNetModule(module: NetModule) -> i32; 3804 pub fn sceUtilityUnloadNetModule(module: NetModule) -> i32; 3805 pub fn sceUtilityLoadAvModule(module: AvModule) -> i32; 3806 pub fn sceUtilityUnloadAvModule(module: AvModule) -> i32; 3807 pub fn sceUtilityLoadUsbModule(module: UsbModule) -> i32; 3808 pub fn sceUtilityUnloadUsbModule(module: UsbModule) -> i32; 3809 pub fn sceUtilityLoadModule(module: Module) -> i32; 3810 pub fn sceUtilityUnloadModule(module: Module) -> i32; 3811 pub fn sceUtilityCreateNetParam(conf: i32) -> i32; 3812 pub fn sceUtilitySetNetParam(param: NetParam, val: *const c_void) -> i32; 3813 pub fn sceUtilityCopyNetParam(src: i32, dest: i32) -> i32; 3814 pub fn sceUtilityDeleteNetParam(conf: i32) -> i32; 3815 3816 pub fn sceNetInit( 3817 poolsize: i32, 3818 calloutprio: i32, 3819 calloutstack: i32, 3820 netintrprio: i32, 3821 netintrstack: i32, 3822 ) -> i32; 3823 pub fn sceNetTerm() -> i32; 3824 pub fn sceNetFreeThreadinfo(thid: i32) -> i32; 3825 pub fn sceNetThreadAbort(thid: i32) -> i32; 3826 pub fn sceNetEtherStrton(name: *mut u8, mac: *mut u8); 3827 pub fn sceNetEtherNtostr(mac: *mut u8, name: *mut u8); 3828 pub fn sceNetGetLocalEtherAddr(mac: *mut u8) -> i32; 3829 pub fn sceNetGetMallocStat(stat: *mut SceNetMallocStat) -> i32; 3830 3831 pub fn sceNetAdhocctlInit( 3832 stacksize: i32, 3833 priority: i32, 3834 adhoc_id: *mut SceNetAdhocctlAdhocId, 3835 ) -> i32; 3836 pub fn sceNetAdhocctlTerm() -> i32; 3837 pub fn sceNetAdhocctlConnect(name: *const u8) -> i32; 3838 pub fn sceNetAdhocctlDisconnect() -> i32; 3839 pub fn sceNetAdhocctlGetState(event: *mut i32) -> i32; 3840 pub fn sceNetAdhocctlCreate(name: *const u8) -> i32; 3841 pub fn sceNetAdhocctlJoin(scaninfo: *mut SceNetAdhocctlScanInfo) -> i32; 3842 pub fn sceNetAdhocctlGetAdhocId(id: *mut SceNetAdhocctlAdhocId) -> i32; 3843 pub fn sceNetAdhocctlCreateEnterGameMode( 3844 name: *const u8, 3845 unknown: i32, 3846 num: i32, 3847 macs: *mut u8, 3848 timeout: u32, 3849 unknown2: i32, 3850 ) -> i32; 3851 pub fn sceNetAdhocctlJoinEnterGameMode( 3852 name: *const u8, 3853 hostmac: *mut u8, 3854 timeout: u32, 3855 unknown: i32, 3856 ) -> i32; 3857 pub fn sceNetAdhocctlGetGameModeInfo(gamemodeinfo: *mut SceNetAdhocctlGameModeInfo) -> i32; 3858 pub fn sceNetAdhocctlExitGameMode() -> i32; 3859 pub fn sceNetAdhocctlGetPeerList(length: *mut i32, buf: *mut c_void) -> i32; 3860 pub fn sceNetAdhocctlGetPeerInfo( 3861 mac: *mut u8, 3862 size: i32, 3863 peerinfo: *mut SceNetAdhocctlPeerInfo, 3864 ) -> i32; 3865 pub fn sceNetAdhocctlScan() -> i32; 3866 pub fn sceNetAdhocctlGetScanInfo(length: *mut i32, buf: *mut c_void) -> i32; 3867 pub fn sceNetAdhocctlAddHandler(handler: SceNetAdhocctlHandler, unknown: *mut c_void) -> i32; 3868 pub fn sceNetAdhocctlDelHandler(id: i32) -> i32; 3869 pub fn sceNetAdhocctlGetNameByAddr(mac: *mut u8, nickname: *mut u8) -> i32; 3870 pub fn sceNetAdhocctlGetAddrByName( 3871 nickname: *mut u8, 3872 length: *mut i32, 3873 buf: *mut c_void, 3874 ) -> i32; 3875 pub fn sceNetAdhocctlGetParameter(params: *mut SceNetAdhocctlParams) -> i32; 3876 3877 pub fn sceNetAdhocInit() -> i32; 3878 pub fn sceNetAdhocTerm() -> i32; 3879 pub fn sceNetAdhocPdpCreate(mac: *mut u8, port: u16, buf_size: u32, unk1: i32) -> i32; 3880 pub fn sceNetAdhocPdpDelete(id: i32, unk1: i32) -> i32; 3881 pub fn sceNetAdhocPdpSend( 3882 id: i32, 3883 dest_mac_addr: *mut u8, 3884 port: u16, 3885 data: *mut c_void, 3886 len: u32, 3887 timeout: u32, 3888 nonblock: i32, 3889 ) -> i32; 3890 pub fn sceNetAdhocPdpRecv( 3891 id: i32, 3892 src_mac_addr: *mut u8, 3893 port: *mut u16, 3894 data: *mut c_void, 3895 data_length: *mut c_void, 3896 timeout: u32, 3897 nonblock: i32, 3898 ) -> i32; 3899 pub fn sceNetAdhocGetPdpStat(size: *mut i32, stat: *mut SceNetAdhocPdpStat) -> i32; 3900 pub fn sceNetAdhocGameModeCreateMaster(data: *mut c_void, size: i32) -> i32; 3901 pub fn sceNetAdhocGameModeCreateReplica(mac: *mut u8, data: *mut c_void, size: i32) -> i32; 3902 pub fn sceNetAdhocGameModeUpdateMaster() -> i32; 3903 pub fn sceNetAdhocGameModeUpdateReplica(id: i32, unk1: i32) -> i32; 3904 pub fn sceNetAdhocGameModeDeleteMaster() -> i32; 3905 pub fn sceNetAdhocGameModeDeleteReplica(id: i32) -> i32; 3906 pub fn sceNetAdhocPtpOpen( 3907 srcmac: *mut u8, 3908 srcport: u16, 3909 destmac: *mut u8, 3910 destport: u16, 3911 buf_size: u32, 3912 delay: u32, 3913 count: i32, 3914 unk1: i32, 3915 ) -> i32; 3916 pub fn sceNetAdhocPtpConnect(id: i32, timeout: u32, nonblock: i32) -> i32; 3917 pub fn sceNetAdhocPtpListen( 3918 srcmac: *mut u8, 3919 srcport: u16, 3920 buf_size: u32, 3921 delay: u32, 3922 count: i32, 3923 queue: i32, 3924 unk1: i32, 3925 ) -> i32; 3926 pub fn sceNetAdhocPtpAccept( 3927 id: i32, 3928 mac: *mut u8, 3929 port: *mut u16, 3930 timeout: u32, 3931 nonblock: i32, 3932 ) -> i32; 3933 pub fn sceNetAdhocPtpSend( 3934 id: i32, 3935 data: *mut c_void, 3936 data_size: *mut i32, 3937 timeout: u32, 3938 nonblock: i32, 3939 ) -> i32; 3940 pub fn sceNetAdhocPtpRecv( 3941 id: i32, 3942 data: *mut c_void, 3943 data_size: *mut i32, 3944 timeout: u32, 3945 nonblock: i32, 3946 ) -> i32; 3947 pub fn sceNetAdhocPtpFlush(id: i32, timeout: u32, nonblock: i32) -> i32; 3948 pub fn sceNetAdhocPtpClose(id: i32, unk1: i32) -> i32; 3949 pub fn sceNetAdhocGetPtpStat(size: *mut i32, stat: *mut SceNetAdhocPtpStat) -> i32; 3950} 3951 3952extern "C" { 3953 pub fn sceNetAdhocMatchingInit(memsize: i32) -> i32; 3954 pub fn sceNetAdhocMatchingTerm() -> i32; 3955 pub fn sceNetAdhocMatchingCreate( 3956 mode: AdhocMatchingMode, 3957 max_peers: i32, 3958 port: u16, 3959 buf_size: i32, 3960 hello_delay: u32, 3961 ping_delay: u32, 3962 init_count: i32, 3963 msg_delay: u32, 3964 callback: AdhocMatchingCallback, 3965 ) -> i32; 3966 pub fn sceNetAdhocMatchingDelete(matching_id: i32) -> i32; 3967 pub fn sceNetAdhocMatchingStart( 3968 matching_id: i32, 3969 evth_pri: i32, 3970 evth_stack: i32, 3971 inth_pri: i32, 3972 inth_stack: i32, 3973 opt_len: i32, 3974 opt_data: *mut c_void, 3975 ) -> i32; 3976 pub fn sceNetAdhocMatchingStop(matching_id: i32) -> i32; 3977 pub fn sceNetAdhocMatchingSelectTarget( 3978 matching_id: i32, 3979 mac: *mut u8, 3980 opt_len: i32, 3981 opt_data: *mut c_void, 3982 ) -> i32; 3983 pub fn sceNetAdhocMatchingCancelTarget(matching_id: i32, mac: *mut u8) -> i32; 3984 pub fn sceNetAdhocMatchingCancelTargetWithOpt( 3985 matching_id: i32, 3986 mac: *mut u8, 3987 opt_len: i32, 3988 opt_data: *mut c_void, 3989 ) -> i32; 3990 pub fn sceNetAdhocMatchingSendData( 3991 matching_id: i32, 3992 mac: *mut u8, 3993 data_len: i32, 3994 data: *mut c_void, 3995 ) -> i32; 3996 pub fn sceNetAdhocMatchingAbortSendData(matching_id: i32, mac: *mut u8) -> i32; 3997 pub fn sceNetAdhocMatchingSetHelloOpt( 3998 matching_id: i32, 3999 opt_len: i32, 4000 opt_data: *mut c_void, 4001 ) -> i32; 4002 pub fn sceNetAdhocMatchingGetHelloOpt( 4003 matching_id: i32, 4004 opt_len: *mut i32, 4005 opt_data: *mut c_void, 4006 ) -> i32; 4007 pub fn sceNetAdhocMatchingGetMembers( 4008 matching_id: i32, 4009 length: *mut i32, 4010 buf: *mut c_void, 4011 ) -> i32; 4012 pub fn sceNetAdhocMatchingGetPoolMaxAlloc() -> i32; 4013 pub fn sceNetAdhocMatchingGetPoolStat(poolstat: *mut AdhocPoolStat) -> i32; 4014} 4015 4016extern "C" { 4017 pub fn sceNetApctlInit(stack_size: i32, init_priority: i32) -> i32; 4018 pub fn sceNetApctlTerm() -> i32; 4019 pub fn sceNetApctlGetInfo(code: ApctlInfo, pinfo: *mut SceNetApctlInfo) -> i32; 4020 pub fn sceNetApctlAddHandler(handler: SceNetApctlHandler, parg: *mut c_void) -> i32; 4021 pub fn sceNetApctlDelHandler(handler_id: i32) -> i32; 4022 pub fn sceNetApctlConnect(conn_index: i32) -> i32; 4023 pub fn sceNetApctlDisconnect() -> i32; 4024 pub fn sceNetApctlGetState(pstate: *mut ApctlState) -> i32; 4025 4026 pub fn sceNetInetInit() -> i32; 4027 pub fn sceNetInetTerm() -> i32; 4028 pub fn sceNetInetAccept(s: i32, addr: *mut sockaddr, addr_len: *mut socklen_t) -> i32; 4029 pub fn sceNetInetBind(s: i32, my_addr: *const sockaddr, addr_len: socklen_t) -> i32; 4030 pub fn sceNetInetConnect(s: i32, serv_addr: *const sockaddr, addr_len: socklen_t) -> i32; 4031 pub fn sceNetInetGetsockopt( 4032 s: i32, 4033 level: i32, 4034 opt_name: i32, 4035 opt_val: *mut c_void, 4036 optl_en: *mut socklen_t, 4037 ) -> i32; 4038 pub fn sceNetInetListen(s: i32, backlog: i32) -> i32; 4039 pub fn sceNetInetRecv(s: i32, buf: *mut c_void, len: usize, flags: i32) -> usize; 4040 pub fn sceNetInetRecvfrom( 4041 s: i32, 4042 buf: *mut c_void, 4043 flags: usize, 4044 arg1: i32, 4045 from: *mut sockaddr, 4046 from_len: *mut socklen_t, 4047 ) -> usize; 4048 pub fn sceNetInetSend(s: i32, buf: *const c_void, len: usize, flags: i32) -> usize; 4049 pub fn sceNetInetSendto( 4050 s: i32, 4051 buf: *const c_void, 4052 len: usize, 4053 flags: i32, 4054 to: *const sockaddr, 4055 to_len: socklen_t, 4056 ) -> usize; 4057 pub fn sceNetInetSetsockopt( 4058 s: i32, 4059 level: i32, 4060 opt_name: i32, 4061 opt_val: *const c_void, 4062 opt_len: socklen_t, 4063 ) -> i32; 4064 pub fn sceNetInetShutdown(s: i32, how: i32) -> i32; 4065 pub fn sceNetInetSocket(domain: i32, type_: i32, protocol: i32) -> i32; 4066 pub fn sceNetInetClose(s: i32) -> i32; 4067 pub fn sceNetInetGetErrno() -> i32; 4068 4069 pub fn sceSslInit(unknown1: i32) -> i32; 4070 pub fn sceSslEnd() -> i32; 4071 pub fn sceSslGetUsedMemoryMax(memory: *mut u32) -> i32; 4072 pub fn sceSslGetUsedMemoryCurrent(memory: *mut u32) -> i32; 4073 4074 pub fn sceHttpInit(unknown1: u32) -> i32; 4075 pub fn sceHttpEnd() -> i32; 4076 pub fn sceHttpCreateTemplate(agent: *mut u8, unknown1: i32, unknown2: i32) -> i32; 4077 pub fn sceHttpDeleteTemplate(templateid: i32) -> i32; 4078 pub fn sceHttpCreateConnection( 4079 templateid: i32, 4080 host: *mut u8, 4081 unknown1: *mut u8, 4082 port: u16, 4083 unknown2: i32, 4084 ) -> i32; 4085 pub fn sceHttpCreateConnectionWithURL(templateid: i32, url: *const u8, unknown1: i32) -> i32; 4086 pub fn sceHttpDeleteConnection(connection_id: i32) -> i32; 4087 pub fn sceHttpCreateRequest( 4088 connection_id: i32, 4089 method: HttpMethod, 4090 path: *mut u8, 4091 content_length: u64, 4092 ) -> i32; 4093 pub fn sceHttpCreateRequestWithURL( 4094 connection_id: i32, 4095 method: HttpMethod, 4096 url: *mut u8, 4097 content_length: u64, 4098 ) -> i32; 4099 pub fn sceHttpDeleteRequest(request_id: i32) -> i32; 4100 pub fn sceHttpSendRequest(request_id: i32, data: *mut c_void, data_size: u32) -> i32; 4101 pub fn sceHttpAbortRequest(request_id: i32) -> i32; 4102 pub fn sceHttpReadData(request_id: i32, data: *mut c_void, data_size: u32) -> i32; 4103 pub fn sceHttpGetContentLength(request_id: i32, content_length: *mut u64) -> i32; 4104 pub fn sceHttpGetStatusCode(request_id: i32, status_code: *mut i32) -> i32; 4105 pub fn sceHttpSetResolveTimeOut(id: i32, timeout: u32) -> i32; 4106 pub fn sceHttpSetResolveRetry(id: i32, count: i32) -> i32; 4107 pub fn sceHttpSetConnectTimeOut(id: i32, timeout: u32) -> i32; 4108 pub fn sceHttpSetSendTimeOut(id: i32, timeout: u32) -> i32; 4109 pub fn sceHttpSetRecvTimeOut(id: i32, timeout: u32) -> i32; 4110 pub fn sceHttpEnableKeepAlive(id: i32) -> i32; 4111 pub fn sceHttpDisableKeepAlive(id: i32) -> i32; 4112 pub fn sceHttpEnableRedirect(id: i32) -> i32; 4113 pub fn sceHttpDisableRedirect(id: i32) -> i32; 4114 pub fn sceHttpEnableCookie(id: i32) -> i32; 4115 pub fn sceHttpDisableCookie(id: i32) -> i32; 4116 pub fn sceHttpSaveSystemCookie() -> i32; 4117 pub fn sceHttpLoadSystemCookie() -> i32; 4118 pub fn sceHttpAddExtraHeader(id: i32, name: *mut u8, value: *mut u8, unknown1: i32) -> i32; 4119 pub fn sceHttpDeleteHeader(id: i32, name: *const u8) -> i32; 4120 pub fn sceHttpsInit(unknown1: i32, unknown2: i32, unknown3: i32, unknown4: i32) -> i32; 4121 pub fn sceHttpsEnd() -> i32; 4122 pub fn sceHttpsLoadDefaultCert(unknown1: i32, unknown2: i32) -> i32; 4123 pub fn sceHttpDisableAuth(id: i32) -> i32; 4124 pub fn sceHttpDisableCache(id: i32) -> i32; 4125 pub fn sceHttpEnableAuth(id: i32) -> i32; 4126 pub fn sceHttpEnableCache(id: i32) -> i32; 4127 pub fn sceHttpEndCache() -> i32; 4128 pub fn sceHttpGetAllHeader(request: i32, header: *mut *mut u8, header_size: *mut u32) -> i32; 4129 pub fn sceHttpGetNetworkErrno(request: i32, err_num: *mut i32) -> i32; 4130 pub fn sceHttpGetProxy( 4131 id: i32, 4132 activate_flag: *mut i32, 4133 mode: *mut i32, 4134 proxy_host: *mut u8, 4135 len: usize, 4136 proxy_port: *mut u16, 4137 ) -> i32; 4138 pub fn sceHttpInitCache(max_size: usize) -> i32; 4139 pub fn sceHttpSetAuthInfoCB(id: i32, cbfunc: HttpPasswordCB) -> i32; 4140 pub fn sceHttpSetProxy( 4141 id: i32, 4142 activate_flag: i32, 4143 mode: i32, 4144 new_proxy_host: *const u8, 4145 new_proxy_port: u16, 4146 ) -> i32; 4147 pub fn sceHttpSetResHeaderMaxSize(id: i32, header_size: u32) -> i32; 4148 pub fn sceHttpSetMallocFunction( 4149 malloc_func: HttpMallocFunction, 4150 free_func: HttpFreeFunction, 4151 realloc_func: HttpReallocFunction, 4152 ) -> i32; 4153 4154 pub fn sceNetResolverInit() -> i32; 4155 pub fn sceNetResolverCreate(rid: *mut i32, buf: *mut c_void, buf_length: u32) -> i32; 4156 pub fn sceNetResolverDelete(rid: i32) -> i32; 4157 pub fn sceNetResolverStartNtoA( 4158 rid: i32, 4159 hostname: *const u8, 4160 addr: *mut in_addr, 4161 timeout: u32, 4162 retry: i32, 4163 ) -> i32; 4164 pub fn sceNetResolverStartAtoN( 4165 rid: i32, 4166 addr: *const in_addr, 4167 hostname: *mut u8, 4168 hostname_len: u32, 4169 timeout: u32, 4170 retry: i32, 4171 ) -> i32; 4172 pub fn sceNetResolverStop(rid: i32) -> i32; 4173 pub fn sceNetResolverTerm() -> i32; 4174} 4175