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