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