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