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     pub struct SceMpeg(*mut *mut c_void);
1386 
1387     #[repr(transparent)]
1388     pub struct SceMpegStream(*mut c_void);
1389 
1390     #[repr(transparent)]
1391     pub struct Mp3Handle(pub i32);
1392 
1393     #[repr(transparent)]
1394     pub struct RegHandle(u32);
1395 }
1396 
1397 s! {
1398     pub struct sockaddr {
1399         pub sa_len: u8,
1400         pub sa_family: u8,
1401         pub sa_data: [u8;14],
1402     }
1403 
1404     pub struct in_addr {
1405         pub s_addr: u32,
1406     }
1407 
1408     pub struct AudioInputParams {
1409         pub unknown1: i32,
1410         pub gain: i32,
1411         pub unknown2: i32,
1412         pub unknown3: i32,
1413         pub unknown4: i32,
1414         pub unknown5: i32,
1415     }
1416 
1417     pub struct Atrac3BufferInfo {
1418         pub puc_write_position_first_buf: *mut u8,
1419         pub ui_writable_byte_first_buf: u32,
1420         pub ui_min_write_byte_first_buf: u32,
1421         pub ui_read_position_first_buf: u32,
1422         pub puc_write_position_second_buf: *mut u8,
1423         pub ui_writable_byte_second_buf: u32,
1424         pub ui_min_write_byte_second_buf: u32,
1425         pub ui_read_position_second_buf: u32,
1426     }
1427 
1428     pub struct SceCtrlData {
1429         pub timestamp: u32,
1430         pub buttons: i32,
1431         pub lx: u8,
1432         pub ly: u8,
1433         pub rsrv: [u8; 6],
1434     }
1435 
1436     pub struct SceCtrlLatch {
1437         pub ui_make: u32,
1438         pub ui_break: u32,
1439         pub ui_press: u32,
1440         pub ui_release: u32,
1441     }
1442 
1443     pub struct GeStack {
1444         pub stack: [u32; 8],
1445     }
1446 
1447     pub struct GeCallbackData {
1448         pub signal_func: ::Option<extern "C" fn(id: i32, arg: *mut c_void)>,
1449         pub signal_arg: *mut c_void,
1450         pub finish_func: ::Option<extern "C" fn(id: i32, arg: *mut c_void)>,
1451         pub finish_arg: *mut c_void,
1452     }
1453 
1454     pub struct GeListArgs {
1455         pub size: u32,
1456         pub context: *mut GeContext,
1457         pub num_stacks: u32,
1458         pub stacks: *mut GeStack,
1459     }
1460 
1461     pub struct GeBreakParam {
1462         pub buf: [u32; 4],
1463     }
1464 
1465     pub struct SceKernelLoadExecParam {
1466         pub size: usize,
1467         pub args: usize,
1468         pub argp: *mut c_void,
1469         pub key: *const u8,
1470     }
1471 
1472     pub struct timeval {
1473         pub tv_sec: i32,
1474         pub tv_usec: i32,
1475     }
1476 
1477     pub struct timezone {
1478         pub tz_minutes_west: i32,
1479         pub tz_dst_time: i32,
1480     }
1481 
1482     pub struct IntrHandlerOptionParam {
1483         size: i32,
1484         entry: u32,
1485         common: u32,
1486         gp: u32,
1487         intr_code: u16,
1488         sub_count: u16,
1489         intr_level: u16,
1490         enabled: u16,
1491         calls: u32,
1492         field_1c: u32,
1493         total_clock_lo: u32,
1494         total_clock_hi: u32,
1495         min_clock_lo: u32,
1496         min_clock_hi: u32,
1497         max_clock_lo: u32,
1498         max_clock_hi: u32,
1499     }
1500 
1501     pub struct SceKernelLMOption {
1502         pub size: usize,
1503         pub m_pid_text: SceUid,
1504         pub m_pid_data: SceUid,
1505         pub flags: u32,
1506         pub position: u8,
1507         pub access: u8,
1508         pub c_reserved: [u8; 2usize],
1509     }
1510 
1511     pub struct SceKernelSMOption {
1512         pub size: usize,
1513         pub m_pid_stack: SceUid,
1514         pub stack_size: usize,
1515         pub priority: i32,
1516         pub attribute: u32,
1517     }
1518 
1519     pub struct SceKernelModuleInfo {
1520         pub size: usize,
1521         pub n_segment: u8,
1522         pub reserved: [u8; 3usize],
1523         pub segment_addr: [i32; 4usize],
1524         pub segment_size: [i32; 4usize],
1525         pub entry_addr: u32,
1526         pub gp_value: u32,
1527         pub text_addr: u32,
1528         pub text_size: u32,
1529         pub data_size: u32,
1530         pub bss_size: u32,
1531         pub attribute: u16,
1532         pub version: [u8; 2usize],
1533         pub name: [u8; 28usize],
1534     }
1535 
1536     pub struct DebugProfilerRegs {
1537         pub enable: u32,
1538         pub systemck: u32,
1539         pub cpuck: u32,
1540         pub internal: u32,
1541         pub memory: u32,
1542         pub copz: u32,
1543         pub vfpu: u32,
1544         pub sleep: u32,
1545         pub bus_access: u32,
1546         pub uncached_load: u32,
1547         pub uncached_store: u32,
1548         pub cached_load: u32,
1549         pub cached_store: u32,
1550         pub i_miss: u32,
1551         pub d_miss: u32,
1552         pub d_writeback: u32,
1553         pub cop0_inst: u32,
1554         pub fpu_inst: u32,
1555         pub vfpu_inst: u32,
1556         pub local_bus: u32,
1557     }
1558 
1559     pub struct SceKernelSysClock {
1560         pub low: u32,
1561         pub hi: u32,
1562     }
1563 
1564     pub struct SceKernelThreadOptParam {
1565         pub size: usize,
1566         pub stack_mpid: SceUid,
1567     }
1568 
1569     pub struct SceKernelThreadInfo {
1570         pub size: usize,
1571         pub name: [u8; 32],
1572         pub attr: u32,
1573         pub status: i32,
1574         pub entry: SceKernelThreadEntry,
1575         pub stack: *mut c_void,
1576         pub stack_size: i32,
1577         pub gp_reg: *mut c_void,
1578         pub init_priority: i32,
1579         pub current_priority: i32,
1580         pub wait_type: i32,
1581         pub wait_id: SceUid,
1582         pub wakeup_count: i32,
1583         pub exit_status: i32,
1584         pub run_clocks: SceKernelSysClock,
1585         pub intr_preempt_count: u32,
1586         pub thread_preempt_count: u32,
1587         pub release_count: u32,
1588     }
1589 
1590     pub struct SceKernelThreadRunStatus {
1591         pub size: usize,
1592         pub status: i32,
1593         pub current_priority: i32,
1594         pub wait_type: i32,
1595         pub wait_id: i32,
1596         pub wakeup_count: i32,
1597         pub run_clocks: SceKernelSysClock,
1598         pub intr_preempt_count: u32,
1599         pub thread_preempt_count: u32,
1600         pub release_count: u32,
1601     }
1602 
1603     pub struct SceKernelSemaOptParam {
1604         pub size: usize,
1605     }
1606 
1607     pub struct SceKernelSemaInfo {
1608         pub size: usize,
1609         pub name: [u8; 32],
1610         pub attr: u32,
1611         pub init_count: i32,
1612         pub current_count: i32,
1613         pub max_count: i32,
1614         pub num_wait_threads: i32,
1615     }
1616 
1617     pub struct SceKernelEventFlagInfo {
1618         pub size: usize,
1619         pub name: [u8; 32],
1620         pub attr: u32,
1621         pub init_pattern: u32,
1622         pub current_pattern: u32,
1623         pub num_wait_threads: i32,
1624     }
1625 
1626     pub struct SceKernelEventFlagOptParam {
1627         pub size: usize,
1628     }
1629 
1630     pub struct SceKernelMbxOptParam {
1631         pub size: usize,
1632     }
1633 
1634     pub struct SceKernelMbxInfo {
1635         pub size: usize,
1636         pub name: [u8; 32usize],
1637         pub attr: u32,
1638         pub num_wait_threads: i32,
1639         pub num_messages: i32,
1640         pub first_message: *mut c_void,
1641     }
1642 
1643     pub struct SceKernelVTimerInfo {
1644         pub size: usize,
1645         pub name: [u8; 32],
1646         pub active: i32,
1647         pub base: SceKernelSysClock,
1648         pub current: SceKernelSysClock,
1649         pub schedule: SceKernelSysClock,
1650         pub handler: SceKernelVTimerHandler,
1651         pub common: *mut c_void,
1652     }
1653 
1654     pub struct SceKernelThreadEventHandlerInfo {
1655         pub size: usize,
1656         pub name: [u8; 32],
1657         pub thread_id: SceUid,
1658         pub mask: i32,
1659         pub handler: SceKernelThreadEventHandler,
1660         pub common: *mut c_void,
1661     }
1662 
1663     pub struct SceKernelAlarmInfo {
1664         pub size: usize,
1665         pub schedule: SceKernelSysClock,
1666         pub handler: SceKernelAlarmHandler,
1667         pub common: *mut c_void,
1668     }
1669 
1670     pub struct SceKernelSystemStatus {
1671         pub size: usize,
1672         pub status: u32,
1673         pub idle_clocks: SceKernelSysClock,
1674         pub comes_out_of_idle_count: u32,
1675         pub thread_switch_count: u32,
1676         pub vfpu_switch_count: u32,
1677     }
1678 
1679     pub struct SceKernelMppInfo {
1680         pub size: usize,
1681         pub name: [u8; 32],
1682         pub attr: u32,
1683         pub buf_size: i32,
1684         pub free_size: i32,
1685         pub num_send_wait_threads: i32,
1686         pub num_receive_wait_threads: i32,
1687     }
1688 
1689     pub struct SceKernelVplOptParam {
1690         pub size: usize,
1691     }
1692 
1693     pub struct SceKernelVplInfo {
1694         pub size: usize,
1695         pub name: [u8; 32],
1696         pub attr: u32,
1697         pub pool_size: i32,
1698         pub free_size: i32,
1699         pub num_wait_threads: i32,
1700     }
1701 
1702     pub struct SceKernelFplOptParam {
1703         pub size: usize,
1704     }
1705 
1706     pub struct SceKernelFplInfo {
1707         pub size: usize,
1708         pub name: [u8; 32usize],
1709         pub attr: u32,
1710         pub block_size: i32,
1711         pub num_blocks: i32,
1712         pub free_blocks: i32,
1713         pub num_wait_threads: i32,
1714     }
1715 
1716     pub struct SceKernelVTimerOptParam {
1717         pub size: usize,
1718     }
1719 
1720     pub struct SceKernelCallbackInfo {
1721         pub size: usize,
1722         pub name: [u8; 32usize],
1723         pub thread_id: SceUid,
1724         pub callback: SceKernelCallbackFunction,
1725         pub common: *mut c_void,
1726         pub notify_count: i32,
1727         pub notify_arg: i32,
1728     }
1729 
1730     pub struct UsbCamSetupStillParam {
1731         pub size: i32,
1732         pub resolution: UsbCamResolution,
1733         pub jpeg_size: i32,
1734         pub reverse_flags: i32,
1735         pub delay: UsbCamDelay,
1736         pub comp_level: i32,
1737     }
1738 
1739     pub struct UsbCamSetupStillExParam {
1740         pub size: i32,
1741         pub unk: u32,
1742         pub resolution: UsbCamResolutionEx,
1743         pub jpeg_size: i32,
1744         pub comp_level: i32,
1745         pub unk2: u32,
1746         pub unk3: u32,
1747         pub flip: i32,
1748         pub mirror: i32,
1749         pub delay: UsbCamDelay,
1750         pub unk4: [u32; 5usize],
1751     }
1752 
1753     pub struct UsbCamSetupVideoParam {
1754         pub size: i32,
1755         pub resolution: UsbCamResolution,
1756         pub framerate: UsbCamFrameRate,
1757         pub white_balance: UsbCamWb,
1758         pub saturation: i32,
1759         pub brightness: i32,
1760         pub contrast: i32,
1761         pub sharpness: i32,
1762         pub effect_mode: UsbCamEffectMode,
1763         pub frame_size: i32,
1764         pub unk: u32,
1765         pub evl_evel: UsbCamEvLevel,
1766     }
1767 
1768     pub struct UsbCamSetupVideoExParam {
1769         pub size: i32,
1770         pub unk: u32,
1771         pub resolution: UsbCamResolutionEx,
1772         pub framerate: UsbCamFrameRate,
1773         pub unk2: u32,
1774         pub unk3: u32,
1775         pub white_balance: UsbCamWb,
1776         pub saturation: i32,
1777         pub brightness: i32,
1778         pub contrast: i32,
1779         pub sharpness: i32,
1780         pub unk4: u32,
1781         pub unk5: u32,
1782         pub unk6: [u32; 3usize],
1783         pub effect_mode: UsbCamEffectMode,
1784         pub unk7: u32,
1785         pub unk8: u32,
1786         pub unk9: u32,
1787         pub unk10: u32,
1788         pub unk11: u32,
1789         pub frame_size: i32,
1790         pub unk12: u32,
1791         pub ev_level: UsbCamEvLevel,
1792     }
1793 
1794     pub struct ScePspDateTime {
1795         pub year: u16,
1796         pub month: u16,
1797         pub day: u16,
1798         pub hour: u16,
1799         pub minutes: u16,
1800         pub seconds: u16,
1801         pub microseconds: u32,
1802     }
1803 
1804     pub struct SceIoStat {
1805         pub st_mode: i32,
1806         pub st_attr: i32,
1807         pub st_size: i64,
1808         pub st_ctime: ScePspDateTime,
1809         pub st_atime: ScePspDateTime,
1810         pub st_mtime: ScePspDateTime,
1811         pub st_private: [u32; 6usize],
1812     }
1813 
1814     pub struct UmdInfo {
1815         pub size: u32,
1816         pub type_: UmdType,
1817     }
1818 
1819     pub struct SceMpegRingbuffer {
1820         pub packets: i32,
1821         pub unk0: u32,
1822         pub unk1: u32,
1823         pub unk2: u32,
1824         pub unk3: u32,
1825         pub data: *mut c_void,
1826         pub callback: SceMpegRingbufferCb,
1827         pub cb_param: *mut c_void,
1828         pub unk4: u32,
1829         pub unk5: u32,
1830         pub sce_mpeg: *mut c_void,
1831     }
1832 
1833     pub struct SceMpegAu {
1834         pub pts_msb: u32,
1835         pub pts: u32,
1836         pub dts_msb: u32,
1837         pub dts: u32,
1838         pub es_buffer: u32,
1839         pub au_size: u32,
1840     }
1841 
1842     pub struct SceMpegAvcMode {
1843         pub unk0: i32,
1844         pub pixel_format: super::DisplayPixelFormat,
1845     }
1846 
1847     #[repr(align(64))]
1848     pub struct SceMpegLLI {
1849         pub src: *mut c_void,
1850         pub dst: *mut c_void,
1851         pub next: *mut c_void,
1852         pub size: i32,
1853     }
1854 
1855     #[repr(align(64))]
1856     pub struct SceMpegYCrCbBuffer {
1857         pub frame_buffer_height16: i32,
1858         pub frame_buffer_width16: i32,
1859         pub unknown: i32,
1860         pub unknown2: i32,
1861         pub y_buffer: *mut c_void,
1862         pub y_buffer2: *mut c_void,
1863         pub cr_buffer: *mut c_void,
1864         pub cb_buffer: *mut c_void,
1865         pub cr_buffer2: *mut c_void,
1866         pub cb_buffer2: *mut c_void,
1867 
1868         pub frame_height: i32,
1869         pub frame_width: i32,
1870         pub frame_buffer_width: i32,
1871         pub unknown3: [i32; 11usize],
1872     }
1873 
1874     pub struct ScePspSRect {
1875         pub x: i16,
1876         pub y: i16,
1877         pub w: i16,
1878         pub h: i16,
1879     }
1880 
1881     pub struct ScePspIRect {
1882         pub x: i32,
1883         pub y: i32,
1884         pub w: i32,
1885         pub h: i32,
1886     }
1887 
1888     pub struct ScePspL64Rect {
1889         pub x: u64,
1890         pub y: u64,
1891         pub w: u64,
1892         pub h: u64,
1893     }
1894 
1895     pub struct ScePspSVector2 {
1896         pub x: i16,
1897         pub y: i16,
1898     }
1899 
1900     pub struct ScePspIVector2 {
1901         pub x: i32,
1902         pub y: i32,
1903     }
1904 
1905     pub struct ScePspL64Vector2 {
1906         pub x: u64,
1907         pub y: u64,
1908     }
1909 
1910     pub struct ScePspSVector3 {
1911         pub x: i16,
1912         pub y: i16,
1913         pub z: i16,
1914     }
1915 
1916     pub struct ScePspIVector3 {
1917         pub x: i32,
1918         pub y: i32,
1919         pub z: i32,
1920     }
1921 
1922     pub struct ScePspL64Vector3 {
1923         pub x: u64,
1924         pub y: u64,
1925         pub z: u64,
1926     }
1927 
1928     pub struct ScePspSVector4 {
1929         pub x: i16,
1930         pub y: i16,
1931         pub z: i16,
1932         pub w: i16,
1933     }
1934 
1935     pub struct ScePspIVector4 {
1936         pub x: i32,
1937         pub y: i32,
1938         pub z: i32,
1939         pub w: i32,
1940     }
1941 
1942     pub struct ScePspL64Vector4 {
1943         pub x: u64,
1944         pub y: u64,
1945         pub z: u64,
1946         pub w: u64,
1947     }
1948 
1949     pub struct ScePspIMatrix2 {
1950         pub x: ScePspIVector2,
1951         pub y: ScePspIVector2,
1952     }
1953 
1954     pub struct ScePspIMatrix3 {
1955         pub x: ScePspIVector3,
1956         pub y: ScePspIVector3,
1957         pub z: ScePspIVector3,
1958     }
1959 
1960     #[repr(align(16))]
1961     pub struct ScePspIMatrix4 {
1962         pub x: ScePspIVector4,
1963         pub y: ScePspIVector4,
1964         pub z: ScePspIVector4,
1965         pub w: ScePspIVector4,
1966     }
1967 
1968     pub struct ScePspIMatrix4Unaligned {
1969         pub x: ScePspIVector4,
1970         pub y: ScePspIVector4,
1971         pub z: ScePspIVector4,
1972         pub w: ScePspIVector4,
1973     }
1974 
1975     pub struct SceMp3InitArg {
1976         pub mp3_stream_start: u32,
1977         pub unk1: u32,
1978         pub mp3_stream_end: u32,
1979         pub unk2: u32,
1980         pub mp3_buf: *mut c_void,
1981         pub mp3_buf_size: i32,
1982         pub pcm_buf: *mut c_void,
1983         pub pcm_buf_size: i32,
1984     }
1985 
1986     pub struct OpenPSID {
1987         pub data: [u8; 16usize],
1988     }
1989 
1990     pub struct UtilityDialogCommon {
1991         pub size: u32,
1992         pub language: SystemParamLanguage,
1993         pub button_accept: UtilityDialogButtonAccept,
1994         pub graphics_thread: i32,
1995         pub access_thread: i32,
1996         pub font_thread: i32,
1997         pub sound_thread: i32,
1998         pub result: i32,
1999         pub reserved: [i32; 4usize],
2000     }
2001 
2002     pub struct UtilityNetconfAdhoc {
2003         pub name: [u8; 8usize],
2004         pub timeout: u32,
2005     }
2006 
2007     pub struct UtilityNetconfData {
2008         pub base: UtilityDialogCommon,
2009         pub action: UtilityNetconfAction,
2010         pub adhocparam: *mut UtilityNetconfAdhoc,
2011         pub hotspot: i32,
2012         pub hotspot_connected: i32,
2013         pub wifisp: i32,
2014     }
2015 
2016     pub struct UtilitySavedataFileData {
2017         pub buf: *mut c_void,
2018         pub buf_size: usize,
2019         pub size: usize,
2020         pub unknown: i32,
2021     }
2022 
2023     pub struct UtilitySavedataListSaveNewData {
2024         pub icon0: UtilitySavedataFileData,
2025         pub title: *mut u8,
2026     }
2027 
2028     pub struct UtilityGameSharingParams {
2029         pub base: UtilityDialogCommon,
2030         pub unknown1: i32,
2031         pub unknown2: i32,
2032         pub name: [u8; 8usize],
2033         pub unknown3: i32,
2034         pub unknown4: i32,
2035         pub unknown5: i32,
2036         pub result: i32,
2037         pub filepath: *mut u8,
2038         pub mode: UtilityGameSharingMode,
2039         pub datatype: UtilityGameSharingDataType,
2040         pub data: *mut c_void,
2041         pub datasize: u32,
2042     }
2043 
2044     pub struct UtilityHtmlViewerParam {
2045         pub base: UtilityDialogCommon,
2046         pub memaddr: *mut c_void,
2047         pub memsize: u32,
2048         pub unknown1: i32,
2049         pub unknown2: i32,
2050         pub initialurl: *mut u8,
2051         pub numtabs: u32,
2052         pub interfacemode: UtilityHtmlViewerInterfaceMode,
2053         pub options: i32,
2054         pub dldirname: *mut u8,
2055         pub dlfilename: *mut u8,
2056         pub uldirname: *mut u8,
2057         pub ulfilename: *mut u8,
2058         pub cookiemode: UtilityHtmlViewerCookieMode,
2059         pub unknown3: u32,
2060         pub homeurl: *mut u8,
2061         pub textsize: UtilityHtmlViewerTextSize,
2062         pub displaymode: UtilityHtmlViewerDisplayMode,
2063         pub connectmode: UtilityHtmlViewerConnectMode,
2064         pub disconnectmode: UtilityHtmlViewerDisconnectMode,
2065         pub memused: u32,
2066         pub unknown4: [i32; 10usize],
2067     }
2068 
2069     pub struct SceUtilityOskData {
2070         pub unk_00: i32,
2071         pub unk_04: i32,
2072         pub language: SceUtilityOskInputLanguage,
2073         pub unk_12: i32,
2074         pub inputtype: SceUtilityOskInputType,
2075         pub lines: i32,
2076         pub unk_24: i32,
2077         pub desc: *mut u16,
2078         pub intext: *mut u16,
2079         pub outtextlength: i32,
2080         pub outtext: *mut u16,
2081         pub result: SceUtilityOskResult,
2082         pub outtextlimit: i32,
2083     }
2084 
2085     pub struct SceUtilityOskParams {
2086         pub base: UtilityDialogCommon,
2087         pub datacount: i32,
2088         pub data: *mut SceUtilityOskData,
2089         pub state: SceUtilityOskState,
2090         pub unk_60: i32,
2091     }
2092 
2093     pub struct SceNetMallocStat {
2094         pub pool: i32,
2095         pub maximum: i32,
2096         pub free: i32,
2097     }
2098 
2099     pub struct SceNetAdhocctlAdhocId {
2100         pub unknown: i32,
2101         pub adhoc_id: [u8; 9usize],
2102         pub unk: [u8; 3usize],
2103     }
2104 
2105     pub struct SceNetAdhocctlScanInfo {
2106         pub next: *mut SceNetAdhocctlScanInfo,
2107         pub channel: i32,
2108         pub name: [u8; 8usize],
2109         pub bssid: [u8; 6usize],
2110         pub unknown: [u8; 2usize],
2111         pub unknown2: i32,
2112     }
2113 
2114     pub struct SceNetAdhocctlGameModeInfo {
2115         pub count: i32,
2116         pub macs: [[u8; 6usize]; 16usize],
2117     }
2118 
2119     pub struct SceNetAdhocPtpStat {
2120         pub next: *mut SceNetAdhocPtpStat,
2121         pub ptp_id: i32,
2122         pub mac: [u8; 6usize],
2123         pub peermac: [u8; 6usize],
2124         pub port: u16,
2125         pub peerport: u16,
2126         pub sent_data: u32,
2127         pub rcvd_data: u32,
2128         pub state: ScePspnetAdhocPtpState,
2129     }
2130 
2131     pub struct SceNetAdhocPdpStat {
2132         pub next: *mut SceNetAdhocPdpStat,
2133         pub pdp_id: i32,
2134         pub mac: [u8; 6usize],
2135         pub port: u16,
2136         pub rcvd_data: u32,
2137     }
2138 
2139     pub struct AdhocPoolStat {
2140         pub size: i32,
2141         pub maxsize: i32,
2142         pub freesize: i32,
2143     }
2144 }
2145 
2146 s_no_extra_traits! {
2147     #[allow(missing_debug_implementations)]
2148     pub struct GeContext {
2149         pub context: [u32; 512],
2150     }
2151 
2152     #[allow(missing_debug_implementations)]
2153     pub struct SceKernelUtilsSha1Context {
2154         pub h: [u32; 5usize],
2155         pub us_remains: u16,
2156         pub us_computed: u16,
2157         pub ull_total_len: u64,
2158         pub buf: [u8; 64usize],
2159     }
2160 
2161     #[allow(missing_debug_implementations)]
2162     pub struct SceKernelUtilsMt19937Context {
2163         pub count: u32,
2164         pub state: [u32; 624usize],
2165     }
2166 
2167     #[allow(missing_debug_implementations)]
2168     pub struct SceKernelUtilsMd5Context {
2169         pub h: [u32; 4usize],
2170         pub pad: u32,
2171         pub us_remains: u16,
2172         pub us_computed: u16,
2173         pub ull_total_len: u64,
2174         pub buf: [u8; 64usize],
2175     }
2176 
2177     #[allow(missing_debug_implementations)]
2178     pub struct SceIoDirent {
2179         pub d_stat: SceIoStat,
2180         pub d_name: [u8; 256usize],
2181         pub d_private: *mut c_void,
2182         pub dummy: i32,
2183     }
2184 
2185     #[cfg_attr(feature = "extra_traits", derive(Debug))]
2186     pub struct ScePspFRect {
2187         pub x: f32,
2188         pub y: f32,
2189         pub w: f32,
2190         pub h: f32,
2191     }
2192 
2193     #[repr(align(16))]
2194     #[cfg_attr(feature = "extra_traits", derive(Debug))]
2195     pub struct ScePspFVector3 {
2196         pub x: f32,
2197         pub y: f32,
2198         pub z: f32,
2199     }
2200 
2201     #[repr(align(16))]
2202     #[cfg_attr(feature = "extra_traits", derive(Debug))]
2203     pub struct ScePspFVector4 {
2204         pub x: f32,
2205         pub y: f32,
2206         pub z: f32,
2207         pub w: f32,
2208     }
2209 
2210     #[cfg_attr(feature = "extra_traits", derive(Debug))]
2211     pub struct ScePspFVector4Unaligned {
2212         pub x: f32,
2213         pub y: f32,
2214         pub z: f32,
2215         pub w: f32,
2216     }
2217 
2218     #[cfg_attr(feature = "extra_traits", derive(Debug))]
2219     pub struct ScePspFVector2 {
2220         pub x: f32,
2221         pub y: f32,
2222     }
2223 
2224     #[cfg_attr(feature = "extra_traits", derive(Debug))]
2225     pub struct ScePspFMatrix2 {
2226         pub x: ScePspFVector2,
2227         pub y: ScePspFVector2,
2228     }
2229 
2230     #[cfg_attr(feature = "extra_traits", derive(Debug))]
2231     pub struct ScePspFMatrix3 {
2232         pub x: ScePspFVector3,
2233         pub y: ScePspFVector3,
2234         pub z: ScePspFVector3,
2235     }
2236 
2237     #[cfg_attr(feature = "extra_traits", derive(Debug))]
2238     #[repr(align(16))]
2239     pub struct ScePspFMatrix4 {
2240         pub x: ScePspFVector4,
2241         pub y: ScePspFVector4,
2242         pub z: ScePspFVector4,
2243         pub w: ScePspFVector4,
2244     }
2245 
2246     #[allow(missing_debug_implementations)]
2247     pub struct ScePspFMatrix4Unaligned {
2248         pub x: ScePspFVector4,
2249         pub y: ScePspFVector4,
2250         pub z: ScePspFVector4,
2251         pub w: ScePspFVector4,
2252     }
2253 
2254     #[allow(missing_debug_implementations)]
2255     pub union ScePspVector3 {
2256         pub fv: ScePspFVector3,
2257         pub iv: ScePspIVector3,
2258         pub f: [f32; 3usize],
2259         pub i: [i32; 3usize],
2260     }
2261 
2262     #[allow(missing_debug_implementations)]
2263     pub union ScePspVector4 {
2264         pub fv: ScePspFVector4,
2265         pub iv: ScePspIVector4,
2266         pub qw: u128,
2267         pub f: [f32; 4usize],
2268         pub i: [i32; 4usize],
2269     }
2270 
2271     #[allow(missing_debug_implementations)]
2272     pub union ScePspMatrix2 {
2273         pub fm: ScePspFMatrix2,
2274         pub im: ScePspIMatrix2,
2275         pub fv: [ScePspFVector2; 2usize],
2276         pub iv: [ScePspIVector2; 2usize],
2277         pub v: [ScePspVector2; 2usize],
2278         pub f: [[f32; 2usize]; 2usize],
2279         pub i: [[i32; 2usize]; 2usize],
2280     }
2281 
2282     #[allow(missing_debug_implementations)]
2283     pub union ScePspMatrix3 {
2284         pub fm: ScePspFMatrix3,
2285         pub im: ScePspIMatrix3,
2286         pub fv: [ScePspFVector3; 3usize],
2287         pub iv: [ScePspIVector3; 3usize],
2288         pub v: [ScePspVector3; 3usize],
2289         pub f: [[f32; 3usize]; 3usize],
2290         pub i: [[i32; 3usize]; 3usize],
2291     }
2292 
2293     #[allow(missing_debug_implementations)]
2294     pub union ScePspVector2 {
2295         pub fv: ScePspFVector2,
2296         pub iv: ScePspIVector2,
2297         pub f: [f32; 2usize],
2298         pub i: [i32; 2usize],
2299     }
2300 
2301     #[allow(missing_debug_implementations)]
2302     pub union ScePspMatrix4 {
2303         pub fm: ScePspFMatrix4,
2304         pub im: ScePspIMatrix4,
2305         pub fv: [ScePspFVector4; 4usize],
2306         pub iv: [ScePspIVector4; 4usize],
2307         pub v: [ScePspVector4; 4usize],
2308         pub f: [[f32; 4usize]; 4usize],
2309         pub i: [[i32; 4usize]; 4usize],
2310     }
2311 
2312     #[allow(missing_debug_implementations)]
2313     pub struct Key {
2314         pub key_type: KeyType,
2315         pub name: [u8; 256usize],
2316         pub name_len: u32,
2317         pub unk2: u32,
2318         pub unk3: u32,
2319     }
2320 
2321     #[allow(missing_debug_implementations)]
2322     pub struct UtilityMsgDialogParams {
2323         pub base: UtilityDialogCommon,
2324         pub unknown: i32,
2325         pub mode: UtilityMsgDialogMode,
2326         pub error_value: u32,
2327         pub message: [u8; 512usize],
2328         pub options: i32,
2329         pub button_pressed: UtilityMsgDialogPressed,
2330     }
2331 
2332     #[allow(missing_debug_implementations)]
2333     pub union UtilityNetData {
2334         pub as_uint: u32,
2335         pub as_string: [u8; 128usize],
2336     }
2337 
2338     #[allow(missing_debug_implementations)]
2339     pub struct UtilitySavedataSFOParam {
2340         pub title: [u8; 128usize],
2341         pub savedata_title: [u8; 128usize],
2342         pub detail: [u8; 1024usize],
2343         pub parental_level: u8,
2344         pub unknown: [u8; 3usize],
2345     }
2346 
2347     #[allow(missing_debug_implementations)]
2348     pub struct SceUtilitySavedataParam {
2349         pub base: UtilityDialogCommon,
2350         pub mode: UtilitySavedataMode,
2351         pub unknown1: i32,
2352         pub overwrite: i32,
2353         pub game_name: [u8; 13usize],
2354         pub reserved: [u8; 3usize],
2355         pub save_name: [u8; 20usize],
2356         pub save_name_list: *mut [u8; 20usize],
2357         pub file_name: [u8; 13usize],
2358         pub reserved1: [u8; 3usize],
2359         pub data_buf: *mut c_void,
2360         pub data_buf_size: usize,
2361         pub data_size: usize,
2362         pub sfo_param: UtilitySavedataSFOParam,
2363         pub icon0_file_data: UtilitySavedataFileData,
2364         pub icon1_file_data: UtilitySavedataFileData,
2365         pub pic1_file_data: UtilitySavedataFileData,
2366         pub snd0_file_data: UtilitySavedataFileData,
2367         pub new_data: *mut UtilitySavedataListSaveNewData,
2368         pub focus: UtilitySavedataFocus,
2369         pub unknown2: [i32; 4usize],
2370         pub key: [u8; 16],
2371         pub unknown3: [u8; 20],
2372     }
2373 
2374     #[allow(missing_debug_implementations)]
2375     pub struct SceNetAdhocctlPeerInfo {
2376         pub next: *mut SceNetAdhocctlPeerInfo,
2377         pub nickname: [u8; 128usize],
2378         pub mac: [u8; 6usize],
2379         pub unknown: [u8; 6usize],
2380         pub timestamp: u32,
2381     }
2382 
2383     #[allow(missing_debug_implementations)]
2384     pub struct SceNetAdhocctlParams {
2385         pub channel: i32,
2386         pub name: [u8; 8usize],
2387         pub bssid: [u8; 6usize],
2388         pub nickname: [u8; 128usize],
2389     }
2390 
2391     #[cfg_attr(feature = "extra_traits", allow(missing_debug_implementations))]
2392     pub union SceNetApctlInfo {
2393         pub name: [u8; 64usize],
2394         pub bssid: [u8; 6usize],
2395         pub ssid: [u8; 32usize],
2396         pub ssid_length: u32,
2397         pub security_type: u32,
2398         pub strength: u8,
2399         pub channel: u8,
2400         pub power_save: u8,
2401         pub ip: [u8; 16usize],
2402         pub sub_net_mask: [u8; 16usize],
2403         pub gateway: [u8; 16usize],
2404         pub primary_dns: [u8; 16usize],
2405         pub secondary_dns: [u8; 16usize],
2406         pub use_proxy: u32,
2407         pub proxy_url: [u8; 128usize],
2408         pub proxy_port: u16,
2409         pub eap_type: u32,
2410         pub start_browser: u32,
2411         pub wifisp: u32,
2412     }
2413 }
2414 
2415 pub const INT_MIN: c_int = -2147483648;
2416 pub const INT_MAX: c_int = 2147483647;
2417 
2418 pub const AUDIO_VOLUME_MAX: u32 = 0x8000;
2419 pub const AUDIO_CHANNEL_MAX: u32 = 8;
2420 pub const AUDIO_NEXT_CHANNEL: i32 = -1;
2421 pub const AUDIO_SAMPLE_MIN: u32 = 64;
2422 pub const AUDIO_SAMPLE_MAX: u32 = 65472;
2423 
2424 pub const PSP_CTRL_SELECT: i32 = 0x000001;
2425 pub const PSP_CTRL_START: i32 = 0x000008;
2426 pub const PSP_CTRL_UP: i32 = 0x000010;
2427 pub const PSP_CTRL_RIGHT: i32 = 0x000020;
2428 pub const PSP_CTRL_DOWN: i32 = 0x000040;
2429 pub const PSP_CTRL_LEFT: i32 = 0x000080;
2430 pub const PSP_CTRL_LTRIGGER: i32 = 0x000100;
2431 pub const PSP_CTRL_RTRIGGER: i32 = 0x000200;
2432 pub const PSP_CTRL_TRIANGLE: i32 = 0x001000;
2433 pub const PSP_CTRL_CIRCLE: i32 = 0x002000;
2434 pub const PSP_CTRL_CROSS: i32 = 0x004000;
2435 pub const PSP_CTRL_SQUARE: i32 = 0x008000;
2436 pub const PSP_CTRL_HOME: i32 = 0x010000;
2437 pub const PSP_CTRL_HOLD: i32 = 0x020000;
2438 pub const PSP_CTRL_NOTE: i32 = 0x800000;
2439 pub const PSP_CTRL_SCREEN: i32 = 0x400000;
2440 pub const PSP_CTRL_VOLUP: i32 = 0x100000;
2441 pub const PSP_CTRL_VOLDOWN: i32 = 0x200000;
2442 pub const PSP_CTRL_WLAN_UP: i32 = 0x040000;
2443 pub const PSP_CTRL_REMOTE: i32 = 0x080000;
2444 pub const PSP_CTRL_DISC: i32 = 0x1000000;
2445 pub const PSP_CTRL_MS: i32 = 0x2000000;
2446 
2447 pub const USB_CAM_PID: i32 = 0x282;
2448 pub const USB_BUS_DRIVER_NAME: &str = "USBBusDriver";
2449 pub const USB_CAM_DRIVER_NAME: &str = "USBCamDriver";
2450 pub const USB_CAM_MIC_DRIVER_NAME: &str = "USBCamMicDriver";
2451 pub const USB_STOR_DRIVER_NAME: &str = "USBStor_Driver";
2452 
2453 pub const ACTIVATED: i32 = 0x200;
2454 pub const CONNECTED: i32 = 0x020;
2455 pub const ESTABLISHED: i32 = 0x002;
2456 
2457 pub const USB_CAM_FLIP: i32 = 1;
2458 pub const USB_CAM_MIRROR: i32 = 0x100;
2459 
2460 pub const THREAD_ATTR_VFPU: i32 = 0x00004000;
2461 pub const THREAD_ATTR_USER: i32 = 0x80000000;
2462 pub const THREAD_ATTR_USBWLAN: i32 = 0xa0000000;
2463 pub const THREAD_ATTR_VSH: i32 = 0xc0000000;
2464 pub const THREAD_ATTR_SCRATCH_SRAM: i32 = 0x00008000;
2465 pub const THREAD_ATTR_NO_FILLSTACK: i32 = 0x00100000;
2466 pub const THREAD_ATTR_CLEAR_STACK: i32 = 0x00200000;
2467 
2468 pub const EVENT_WAIT_MULTIPLE: i32 = 0x200;
2469 
2470 pub const EVENT_WAIT_AND: i32 = 0;
2471 pub const EVENT_WAIT_OR: i32 = 1;
2472 pub const EVENT_WAIT_CLEAR: i32 = 0x20;
2473 
2474 pub const POWER_INFO_POWER_SWITCH: i32 = 0x80000000;
2475 pub const POWER_INFO_HOLD_SWITCH: i32 = 0x40000000;
2476 pub const POWER_INFO_STANDBY: i32 = 0x00080000;
2477 pub const POWER_INFO_RESUME_COMPLETE: i32 = 0x00040000;
2478 pub const POWER_INFO_RESUMING: i32 = 0x00020000;
2479 pub const POWER_INFO_SUSPENDING: i32 = 0x00010000;
2480 pub const POWER_INFO_AC_POWER: i32 = 0x00001000;
2481 pub const POWER_INFO_BATTERY_LOW: i32 = 0x00000100;
2482 pub const POWER_INFO_BATTERY_EXIST: i32 = 0x00000080;
2483 pub const POWER_INFO_BATTERY_POWER: i32 = 0x0000007;
2484 
2485 pub const FIO_S_IFLNK: i32 = 0x4000;
2486 pub const FIO_S_IFDIR: i32 = 0x1000;
2487 pub const FIO_S_IFREG: i32 = 0x2000;
2488 pub const FIO_S_ISUID: i32 = 0x0800;
2489 pub const FIO_S_ISGID: i32 = 0x0400;
2490 pub const FIO_S_ISVTX: i32 = 0x0200;
2491 pub const FIO_S_IRUSR: i32 = 0x0100;
2492 pub const FIO_S_IWUSR: i32 = 0x0080;
2493 pub const FIO_S_IXUSR: i32 = 0x0040;
2494 pub const FIO_S_IRGRP: i32 = 0x0020;
2495 pub const FIO_S_IWGRP: i32 = 0x0010;
2496 pub const FIO_S_IXGRP: i32 = 0x0008;
2497 pub const FIO_S_IROTH: i32 = 0x0004;
2498 pub const FIO_S_IWOTH: i32 = 0x0002;
2499 pub const FIO_S_IXOTH: i32 = 0x0001;
2500 
2501 pub const FIO_SO_IFLNK: i32 = 0x0008;
2502 pub const FIO_SO_IFDIR: i32 = 0x0010;
2503 pub const FIO_SO_IFREG: i32 = 0x0020;
2504 pub const FIO_SO_IROTH: i32 = 0x0004;
2505 pub const FIO_SO_IWOTH: i32 = 0x0002;
2506 pub const FIO_SO_IXOTH: i32 = 0x0001;
2507 
2508 pub const PSP_O_RD_ONLY: i32 = 0x0001;
2509 pub const PSP_O_WR_ONLY: i32 = 0x0002;
2510 pub const PSP_O_RD_WR: i32 = 0x0003;
2511 pub const PSP_O_NBLOCK: i32 = 0x0004;
2512 pub const PSP_O_DIR: i32 = 0x0008;
2513 pub const PSP_O_APPEND: i32 = 0x0100;
2514 pub const PSP_O_CREAT: i32 = 0x0200;
2515 pub const PSP_O_TRUNC: i32 = 0x0400;
2516 pub const PSP_O_EXCL: i32 = 0x0800;
2517 pub const PSP_O_NO_WAIT: i32 = 0x8000;
2518 
2519 pub const UMD_NOT_PRESENT: i32 = 0x01;
2520 pub const UMD_PRESENT: i32 = 0x02;
2521 pub const UMD_CHANGED: i32 = 0x04;
2522 pub const UMD_INITING: i32 = 0x08;
2523 pub const UMD_INITED: i32 = 0x10;
2524 pub const UMD_READY: i32 = 0x20;
2525 
2526 pub const PLAY_PAUSE: i32 = 0x1;
2527 pub const FORWARD: i32 = 0x4;
2528 pub const BACK: i32 = 0x8;
2529 pub const VOL_UP: i32 = 0x10;
2530 pub const VOL_DOWN: i32 = 0x20;
2531 pub const HOLD: i32 = 0x80;
2532 
2533 pub const GU_PI: f32 = 3.141593;
2534 
2535 pub const GU_TEXTURE_8BIT: i32 = 1;
2536 pub const GU_TEXTURE_16BIT: i32 = 2;
2537 pub const GU_TEXTURE_32BITF: i32 = 3;
2538 pub const GU_COLOR_5650: i32 = 4 << 2;
2539 pub const GU_COLOR_5551: i32 = 5 << 2;
2540 pub const GU_COLOR_4444: i32 = 6 << 2;
2541 pub const GU_COLOR_8888: i32 = 7 << 2;
2542 pub const GU_NORMAL_8BIT: i32 = 1 << 5;
2543 pub const GU_NORMAL_16BIT: i32 = 2 << 5;
2544 pub const GU_NORMAL_32BITF: i32 = 3 << 5;
2545 pub const GU_VERTEX_8BIT: i32 = 1 << 7;
2546 pub const GU_VERTEX_16BIT: i32 = 2 << 7;
2547 pub const GU_VERTEX_32BITF: i32 = 3 << 7;
2548 pub const GU_WEIGHT_8BIT: i32 = 1 << 9;
2549 pub const GU_WEIGHT_16BIT: i32 = 2 << 9;
2550 pub const GU_WEIGHT_32BITF: i32 = 3 << 9;
2551 pub const GU_INDEX_8BIT: i32 = 1 << 11;
2552 pub const GU_INDEX_16BIT: i32 = 2 << 11;
2553 pub const GU_WEIGHTS1: i32 = (((1 - 1) & 7) << 14) as i32;
2554 pub const GU_WEIGHTS2: i32 = (((2 - 1) & 7) << 14) as i32;
2555 pub const GU_WEIGHTS3: i32 = (((3 - 1) & 7) << 14) as i32;
2556 pub const GU_WEIGHTS4: i32 = (((4 - 1) & 7) << 14) as i32;
2557 pub const GU_WEIGHTS5: i32 = (((5 - 1) & 7) << 14) as i32;
2558 pub const GU_WEIGHTS6: i32 = (((6 - 1) & 7) << 14) as i32;
2559 pub const GU_WEIGHTS7: i32 = (((7 - 1) & 7) << 14) as i32;
2560 pub const GU_WEIGHTS8: i32 = (((8 - 1) & 7) << 14) as i32;
2561 pub const GU_VERTICES1: i32 = (((1 - 1) & 7) << 18) as i32;
2562 pub const GU_VERTICES2: i32 = (((2 - 1) & 7) << 18) as i32;
2563 pub const GU_VERTICES3: i32 = (((3 - 1) & 7) << 18) as i32;
2564 pub const GU_VERTICES4: i32 = (((4 - 1) & 7) << 18) as i32;
2565 pub const GU_VERTICES5: i32 = (((5 - 1) & 7) << 18) as i32;
2566 pub const GU_VERTICES6: i32 = (((6 - 1) & 7) << 18) as i32;
2567 pub const GU_VERTICES7: i32 = (((7 - 1) & 7) << 18) as i32;
2568 pub const GU_VERTICES8: i32 = (((8 - 1) & 7) << 18) as i32;
2569 pub const GU_TRANSFORM_2D: i32 = 1 << 23;
2570 pub const GU_TRANSFORM_3D: i32 = 0;
2571 
2572 pub const GU_COLOR_BUFFER_BIT: i32 = 1;
2573 pub const GU_STENCIL_BUFFER_BIT: i32 = 2;
2574 pub const GU_DEPTH_BUFFER_BIT: i32 = 4;
2575 pub const GU_FAST_CLEAR_BIT: i32 = 16;
2576 
2577 pub const GU_AMBIENT: i32 = 1;
2578 pub const GU_DIFFUSE: i32 = 2;
2579 pub const GU_SPECULAR: i32 = 4;
2580 pub const GU_UNKNOWN_LIGHT_COMPONENT: i32 = 8;
2581 
2582 pub const SYSTEM_REGISTRY: [u8; 7] = *b"/system";
2583 pub const REG_KEYNAME_SIZE: u32 = 27;
2584 
2585 pub const UTILITY_MSGDIALOG_ERROR: i32 = 0;
2586 pub const UTILITY_MSGDIALOG_TEXT: i32 = 1;
2587 pub const UTILITY_MSGDIALOG_YES_NO_BUTTONS: i32 = 0x10;
2588 pub const UTILITY_MSGDIALOG_DEFAULT_NO: i32 = 0x100;
2589 
2590 pub const UTILITY_HTMLVIEWER_OPEN_SCE_START_PAGE: i32 = 0x000001;
2591 pub const UTILITY_HTMLVIEWER_DISABLE_STARTUP_LIMITS: i32 = 0x000002;
2592 pub const UTILITY_HTMLVIEWER_DISABLE_EXIT_DIALOG: i32 = 0x000004;
2593 pub const UTILITY_HTMLVIEWER_DISABLE_CURSOR: i32 = 0x000008;
2594 pub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_COMPLETE_DIALOG: i32 = 0x000010;
2595 pub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_START_DIALOG: i32 = 0x000020;
2596 pub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_DESTINATION_DIALOG: i32 = 0x000040;
2597 pub const UTILITY_HTMLVIEWER_LOCK_DOWNLOAD_DESTINATION_DIALOG: i32 = 0x000080;
2598 pub const UTILITY_HTMLVIEWER_DISABLE_TAB_DISPLAY: i32 = 0x000100;
2599 pub const UTILITY_HTMLVIEWER_ENABLE_ANALOG_HOLD: i32 = 0x000200;
2600 pub const UTILITY_HTMLVIEWER_ENABLE_FLASH: i32 = 0x000400;
2601 pub const UTILITY_HTMLVIEWER_DISABLE_LRTRIGGER: i32 = 0x000800;
2602 
2603 extern "C" {
sceAudioChReserve(channel: i32, sample_count: i32, format: AudioFormat) -> i322604     pub fn sceAudioChReserve(channel: i32, sample_count: i32, format: AudioFormat) -> i32;
sceAudioChRelease(channel: i32) -> i322605     pub fn sceAudioChRelease(channel: i32) -> i32;
sceAudioOutput(channel: i32, vol: i32, buf: *mut c_void) -> i322606     pub fn sceAudioOutput(channel: i32, vol: i32, buf: *mut c_void) -> i32;
sceAudioOutputBlocking(channel: i32, vol: i32, buf: *mut c_void) -> i322607     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, ) -> i322608     pub fn sceAudioOutputPanned(
2609         channel: i32,
2610         left_vol: i32,
2611         right_vol: i32,
2612         buf: *mut c_void,
2613     ) -> i32;
sceAudioOutputPannedBlocking( channel: i32, left_vol: i32, right_vol: i32, buf: *mut c_void, ) -> i322614     pub fn sceAudioOutputPannedBlocking(
2615         channel: i32,
2616         left_vol: i32,
2617         right_vol: i32,
2618         buf: *mut c_void,
2619     ) -> i32;
sceAudioGetChannelRestLen(channel: i32) -> i322620     pub fn sceAudioGetChannelRestLen(channel: i32) -> i32;
sceAudioGetChannelRestLength(channel: i32) -> i322621     pub fn sceAudioGetChannelRestLength(channel: i32) -> i32;
sceAudioSetChannelDataLen(channel: i32, sample_count: i32) -> i322622     pub fn sceAudioSetChannelDataLen(channel: i32, sample_count: i32) -> i32;
sceAudioChangeChannelConfig(channel: i32, format: AudioFormat) -> i322623     pub fn sceAudioChangeChannelConfig(channel: i32, format: AudioFormat) -> i32;
sceAudioChangeChannelVolume(channel: i32, left_vol: i32, right_vol: i32) -> i322624     pub fn sceAudioChangeChannelVolume(channel: i32, left_vol: i32, right_vol: i32) -> i32;
sceAudioOutput2Reserve(sample_count: i32) -> i322625     pub fn sceAudioOutput2Reserve(sample_count: i32) -> i32;
sceAudioOutput2Release() -> i322626     pub fn sceAudioOutput2Release() -> i32;
sceAudioOutput2ChangeLength(sample_count: i32) -> i322627     pub fn sceAudioOutput2ChangeLength(sample_count: i32) -> i32;
sceAudioOutput2OutputBlocking(vol: i32, buf: *mut c_void) -> i322628     pub fn sceAudioOutput2OutputBlocking(vol: i32, buf: *mut c_void) -> i32;
sceAudioOutput2GetRestSample() -> i322629     pub fn sceAudioOutput2GetRestSample() -> i32;
sceAudioSRCChReserve( sample_count: i32, freq: AudioOutputFrequency, channels: i32, ) -> i322630     pub fn sceAudioSRCChReserve(
2631         sample_count: i32,
2632         freq: AudioOutputFrequency,
2633         channels: i32,
2634     ) -> i32;
sceAudioSRCChRelease() -> i322635     pub fn sceAudioSRCChRelease() -> i32;
sceAudioSRCOutputBlocking(vol: i32, buf: *mut c_void) -> i322636     pub fn sceAudioSRCOutputBlocking(vol: i32, buf: *mut c_void) -> i32;
sceAudioInputInit(unknown1: i32, gain: i32, unknown2: i32) -> i322637     pub fn sceAudioInputInit(unknown1: i32, gain: i32, unknown2: i32) -> i32;
sceAudioInputInitEx(params: *mut AudioInputParams) -> i322638     pub fn sceAudioInputInitEx(params: *mut AudioInputParams) -> i32;
sceAudioInputBlocking(sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void)2639     pub fn sceAudioInputBlocking(sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void);
sceAudioInput(sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void)2640     pub fn sceAudioInput(sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void);
sceAudioGetInputLength() -> i322641     pub fn sceAudioGetInputLength() -> i32;
sceAudioWaitInputEnd() -> i322642     pub fn sceAudioWaitInputEnd() -> i32;
sceAudioPollInputEnd() -> i322643     pub fn sceAudioPollInputEnd() -> i32;
2644 
sceAtracGetAtracID(ui_codec_type: u32) -> i322645     pub fn sceAtracGetAtracID(ui_codec_type: u32) -> i32;
sceAtracSetDataAndGetID(buf: *mut c_void, bufsize: usize) -> i322646     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, ) -> i322647     pub fn sceAtracDecodeData(
2648         atrac_id: i32,
2649         out_samples: *mut u16,
2650         out_n: *mut i32,
2651         out_end: *mut i32,
2652         out_remain_frame: *mut i32,
2653     ) -> i32;
sceAtracGetRemainFrame(atrac_id: i32, out_remain_frame: *mut i32) -> i322654     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, ) -> i322655     pub fn sceAtracGetStreamDataInfo(
2656         atrac_id: i32,
2657         write_pointer: *mut *mut u8,
2658         available_bytes: *mut u32,
2659         read_offset: *mut u32,
2660     ) -> i32;
sceAtracAddStreamData(atrac_id: i32, bytes_to_add: u32) -> i322661     pub fn sceAtracAddStreamData(atrac_id: i32, bytes_to_add: u32) -> i32;
sceAtracGetBitrate(atrac_id: i32, out_bitrate: *mut i32) -> i322662     pub fn sceAtracGetBitrate(atrac_id: i32, out_bitrate: *mut i32) -> i32;
sceAtracSetLoopNum(atrac_id: i32, nloops: i32) -> i322663     pub fn sceAtracSetLoopNum(atrac_id: i32, nloops: i32) -> i32;
sceAtracReleaseAtracID(atrac_id: i32) -> i322664     pub fn sceAtracReleaseAtracID(atrac_id: i32) -> i32;
sceAtracGetNextSample(atrac_id: i32, out_n: *mut i32) -> i322665     pub fn sceAtracGetNextSample(atrac_id: i32, out_n: *mut i32) -> i32;
sceAtracGetMaxSample(atrac_id: i32, out_max: *mut i32) -> i322666     pub fn sceAtracGetMaxSample(atrac_id: i32, out_max: *mut i32) -> i32;
sceAtracGetBufferInfoForReseting( atrac_id: i32, ui_sample: u32, pbuffer_info: *mut Atrac3BufferInfo, ) -> i322667     pub fn sceAtracGetBufferInfoForReseting(
2668         atrac_id: i32,
2669         ui_sample: u32,
2670         pbuffer_info: *mut Atrac3BufferInfo,
2671     ) -> i32;
sceAtracGetChannel(atrac_id: i32, pui_channel: *mut u32) -> i322672     pub fn sceAtracGetChannel(atrac_id: i32, pui_channel: *mut u32) -> i32;
sceAtracGetInternalErrorInfo(atrac_id: i32, pi_result: *mut i32) -> i322673     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, ) -> i322674     pub fn sceAtracGetLoopStatus(
2675         atrac_id: i32,
2676         pi_loop_num: *mut i32,
2677         pui_loop_status: *mut u32,
2678     ) -> i32;
sceAtracGetNextDecodePosition(atrac_id: i32, pui_sample_position: *mut u32) -> i322679     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, ) -> i322680     pub fn sceAtracGetSecondBufferInfo(
2681         atrac_id: i32,
2682         pui_position: *mut u32,
2683         pui_data_byte: *mut u32,
2684     ) -> i32;
sceAtracGetSoundSample( atrac_id: i32, pi_end_sample: *mut i32, pi_loop_start_sample: *mut i32, pi_loop_end_sample: *mut i32, ) -> i322685     pub fn sceAtracGetSoundSample(
2686         atrac_id: i32,
2687         pi_end_sample: *mut i32,
2688         pi_loop_start_sample: *mut i32,
2689         pi_loop_end_sample: *mut i32,
2690     ) -> i32;
sceAtracResetPlayPosition( atrac_id: i32, ui_sample: u32, ui_write_byte_first_buf: u32, ui_write_byte_second_buf: u32, ) -> i322691     pub fn sceAtracResetPlayPosition(
2692         atrac_id: i32,
2693         ui_sample: u32,
2694         ui_write_byte_first_buf: u32,
2695         ui_write_byte_second_buf: u32,
2696     ) -> i32;
sceAtracSetData(atrac_id: i32, puc_buffer_addr: *mut u8, ui_buffer_byte: u32) -> i322697     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, ) -> i322698     pub fn sceAtracSetHalfwayBuffer(
2699         atrac_id: i32,
2700         puc_buffer_addr: *mut u8,
2701         ui_read_byte: u32,
2702         ui_buffer_byte: u32,
2703     ) -> i32;
sceAtracSetHalfwayBufferAndGetID( puc_buffer_addr: *mut u8, ui_read_byte: u32, ui_buffer_byte: u32, ) -> i322704     pub fn sceAtracSetHalfwayBufferAndGetID(
2705         puc_buffer_addr: *mut u8,
2706         ui_read_byte: u32,
2707         ui_buffer_byte: u32,
2708     ) -> i32;
sceAtracSetSecondBuffer( atrac_id: i32, puc_second_buffer_addr: *mut u8, ui_second_buffer_byte: u32, ) -> i322709     pub fn sceAtracSetSecondBuffer(
2710         atrac_id: i32,
2711         puc_second_buffer_addr: *mut u8,
2712         ui_second_buffer_byte: u32,
2713     ) -> i32;
2714 
sceCtrlSetSamplingCycle(cycle: i32) -> i322715     pub fn sceCtrlSetSamplingCycle(cycle: i32) -> i32;
sceCtrlGetSamplingCycle(pcycle: *mut i32) -> i322716     pub fn sceCtrlGetSamplingCycle(pcycle: *mut i32) -> i32;
sceCtrlSetSamplingMode(mode: CtrlMode) -> i322717     pub fn sceCtrlSetSamplingMode(mode: CtrlMode) -> i32;
sceCtrlGetSamplingMode(pmode: *mut i32) -> i322718     pub fn sceCtrlGetSamplingMode(pmode: *mut i32) -> i32;
sceCtrlPeekBufferPositive(pad_data: *mut SceCtrlData, count: i32) -> i322719     pub fn sceCtrlPeekBufferPositive(pad_data: *mut SceCtrlData, count: i32) -> i32;
sceCtrlPeekBufferNegative(pad_data: *mut SceCtrlData, count: i32) -> i322720     pub fn sceCtrlPeekBufferNegative(pad_data: *mut SceCtrlData, count: i32) -> i32;
sceCtrlReadBufferPositive(pad_data: *mut SceCtrlData, count: i32) -> i322721     pub fn sceCtrlReadBufferPositive(pad_data: *mut SceCtrlData, count: i32) -> i32;
sceCtrlReadBufferNegative(pad_data: *mut SceCtrlData, count: i32) -> i322722     pub fn sceCtrlReadBufferNegative(pad_data: *mut SceCtrlData, count: i32) -> i32;
sceCtrlPeekLatch(latch_data: *mut SceCtrlLatch) -> i322723     pub fn sceCtrlPeekLatch(latch_data: *mut SceCtrlLatch) -> i32;
sceCtrlReadLatch(latch_data: *mut SceCtrlLatch) -> i322724     pub fn sceCtrlReadLatch(latch_data: *mut SceCtrlLatch) -> i32;
sceCtrlSetIdleCancelThreshold(idlereset: i32, idleback: i32) -> i322725     pub fn sceCtrlSetIdleCancelThreshold(idlereset: i32, idleback: i32) -> i32;
sceCtrlGetIdleCancelThreshold(idlereset: *mut i32, idleback: *mut i32) -> i322726     pub fn sceCtrlGetIdleCancelThreshold(idlereset: *mut i32, idleback: *mut i32) -> i32;
2727 
sceDisplaySetMode(mode: DisplayMode, width: usize, height: usize) -> u322728     pub fn sceDisplaySetMode(mode: DisplayMode, width: usize, height: usize) -> u32;
sceDisplayGetMode(pmode: *mut i32, pwidth: *mut i32, pheight: *mut i32) -> i322729     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, ) -> u322730     pub fn sceDisplaySetFrameBuf(
2731         top_addr: *const u8,
2732         buffer_width: usize,
2733         pixel_format: DisplayPixelFormat,
2734         sync: DisplaySetBufSync,
2735     ) -> u32;
sceDisplayGetFrameBuf( top_addr: *mut *mut c_void, buffer_width: *mut usize, pixel_format: *mut DisplayPixelFormat, sync: DisplaySetBufSync, ) -> i322736     pub fn sceDisplayGetFrameBuf(
2737         top_addr: *mut *mut c_void,
2738         buffer_width: *mut usize,
2739         pixel_format: *mut DisplayPixelFormat,
2740         sync: DisplaySetBufSync,
2741     ) -> i32;
sceDisplayGetVcount() -> u322742     pub fn sceDisplayGetVcount() -> u32;
sceDisplayWaitVblank() -> i322743     pub fn sceDisplayWaitVblank() -> i32;
sceDisplayWaitVblankCB() -> i322744     pub fn sceDisplayWaitVblankCB() -> i32;
sceDisplayWaitVblankStart() -> i322745     pub fn sceDisplayWaitVblankStart() -> i32;
sceDisplayWaitVblankStartCB() -> i322746     pub fn sceDisplayWaitVblankStartCB() -> i32;
sceDisplayGetAccumulatedHcount() -> i322747     pub fn sceDisplayGetAccumulatedHcount() -> i32;
sceDisplayGetCurrentHcount() -> i322748     pub fn sceDisplayGetCurrentHcount() -> i32;
sceDisplayGetFramePerSec() -> f322749     pub fn sceDisplayGetFramePerSec() -> f32;
sceDisplayIsForeground() -> i322750     pub fn sceDisplayIsForeground() -> i32;
sceDisplayIsVblank() -> i322751     pub fn sceDisplayIsVblank() -> i32;
2752 
sceGeEdramGetSize() -> u322753     pub fn sceGeEdramGetSize() -> u32;
sceGeEdramGetAddr() -> *mut u82754     pub fn sceGeEdramGetAddr() -> *mut u8;
sceGeEdramSetAddrTranslation(width: i32) -> i322755     pub fn sceGeEdramSetAddrTranslation(width: i32) -> i32;
sceGeGetCmd(cmd: i32) -> u322756     pub fn sceGeGetCmd(cmd: i32) -> u32;
sceGeGetMtx(type_: GeMatrixType, matrix: *mut c_void) -> i322757     pub fn sceGeGetMtx(type_: GeMatrixType, matrix: *mut c_void) -> i32;
sceGeGetStack(stack_id: i32, stack: *mut GeStack) -> i322758     pub fn sceGeGetStack(stack_id: i32, stack: *mut GeStack) -> i32;
sceGeSaveContext(context: *mut GeContext) -> i322759     pub fn sceGeSaveContext(context: *mut GeContext) -> i32;
sceGeRestoreContext(context: *const GeContext) -> i322760     pub fn sceGeRestoreContext(context: *const GeContext) -> i32;
sceGeListEnQueue( list: *const c_void, stall: *mut c_void, cbid: i32, arg: *mut GeListArgs, ) -> i322761     pub fn sceGeListEnQueue(
2762         list: *const c_void,
2763         stall: *mut c_void,
2764         cbid: i32,
2765         arg: *mut GeListArgs,
2766     ) -> i32;
sceGeListEnQueueHead( list: *const c_void, stall: *mut c_void, cbid: i32, arg: *mut GeListArgs, ) -> i322767     pub fn sceGeListEnQueueHead(
2768         list: *const c_void,
2769         stall: *mut c_void,
2770         cbid: i32,
2771         arg: *mut GeListArgs,
2772     ) -> i32;
sceGeListDeQueue(qid: i32) -> i322773     pub fn sceGeListDeQueue(qid: i32) -> i32;
sceGeListUpdateStallAddr(qid: i32, stall: *mut c_void) -> i322774     pub fn sceGeListUpdateStallAddr(qid: i32, stall: *mut c_void) -> i32;
sceGeListSync(qid: i32, sync_type: i32) -> GeListState2775     pub fn sceGeListSync(qid: i32, sync_type: i32) -> GeListState;
sceGeDrawSync(sync_type: i32) -> GeListState2776     pub fn sceGeDrawSync(sync_type: i32) -> GeListState;
sceGeBreak(mode: i32, p_param: *mut GeBreakParam) -> i322777     pub fn sceGeBreak(mode: i32, p_param: *mut GeBreakParam) -> i32;
sceGeContinue() -> i322778     pub fn sceGeContinue() -> i32;
sceGeSetCallback(cb: *mut GeCallbackData) -> i322779     pub fn sceGeSetCallback(cb: *mut GeCallbackData) -> i32;
sceGeUnsetCallback(cbid: i32) -> i322780     pub fn sceGeUnsetCallback(cbid: i32) -> i32;
2781 
sceKernelExitGame()2782     pub fn sceKernelExitGame();
sceKernelRegisterExitCallback(id: SceUid) -> i322783     pub fn sceKernelRegisterExitCallback(id: SceUid) -> i32;
sceKernelLoadExec(file: *const u8, param: *mut SceKernelLoadExecParam) -> i322784     pub fn sceKernelLoadExec(file: *const u8, param: *mut SceKernelLoadExecParam) -> i32;
2785 
sceKernelAllocPartitionMemory( partition: SceSysMemPartitionId, name: *const u8, type_: SceSysMemBlockTypes, size: u32, addr: *mut c_void, ) -> SceUid2786     pub fn sceKernelAllocPartitionMemory(
2787         partition: SceSysMemPartitionId,
2788         name: *const u8,
2789         type_: SceSysMemBlockTypes,
2790         size: u32,
2791         addr: *mut c_void,
2792     ) -> SceUid;
sceKernelGetBlockHeadAddr(blockid: SceUid) -> *mut c_void2793     pub fn sceKernelGetBlockHeadAddr(blockid: SceUid) -> *mut c_void;
sceKernelFreePartitionMemory(blockid: SceUid) -> i322794     pub fn sceKernelFreePartitionMemory(blockid: SceUid) -> i32;
sceKernelTotalFreeMemSize() -> usize2795     pub fn sceKernelTotalFreeMemSize() -> usize;
sceKernelMaxFreeMemSize() -> usize2796     pub fn sceKernelMaxFreeMemSize() -> usize;
sceKernelDevkitVersion() -> u322797     pub fn sceKernelDevkitVersion() -> u32;
sceKernelSetCompiledSdkVersion(version: u32) -> i322798     pub fn sceKernelSetCompiledSdkVersion(version: u32) -> i32;
sceKernelGetCompiledSdkVersion() -> u322799     pub fn sceKernelGetCompiledSdkVersion() -> u32;
2800 
sceKernelLibcTime(t: *mut i32) -> i322801     pub fn sceKernelLibcTime(t: *mut i32) -> i32;
sceKernelLibcClock() -> u322802     pub fn sceKernelLibcClock() -> u32;
sceKernelLibcGettimeofday(tp: *mut timeval, tzp: *mut timezone) -> i322803     pub fn sceKernelLibcGettimeofday(tp: *mut timeval, tzp: *mut timezone) -> i32;
sceKernelDcacheWritebackAll()2804     pub fn sceKernelDcacheWritebackAll();
sceKernelDcacheWritebackInvalidateAll()2805     pub fn sceKernelDcacheWritebackInvalidateAll();
sceKernelDcacheWritebackRange(p: *const c_void, size: u32)2806     pub fn sceKernelDcacheWritebackRange(p: *const c_void, size: u32);
sceKernelDcacheWritebackInvalidateRange(p: *const c_void, size: u32)2807     pub fn sceKernelDcacheWritebackInvalidateRange(p: *const c_void, size: u32);
sceKernelDcacheInvalidateRange(p: *const c_void, size: u32)2808     pub fn sceKernelDcacheInvalidateRange(p: *const c_void, size: u32);
sceKernelIcacheInvalidateAll()2809     pub fn sceKernelIcacheInvalidateAll();
sceKernelIcacheInvalidateRange(p: *const c_void, size: u32)2810     pub fn sceKernelIcacheInvalidateRange(p: *const c_void, size: u32);
sceKernelUtilsMt19937Init(ctx: *mut SceKernelUtilsMt19937Context, seed: u32) -> i322811     pub fn sceKernelUtilsMt19937Init(ctx: *mut SceKernelUtilsMt19937Context, seed: u32) -> i32;
sceKernelUtilsMt19937UInt(ctx: *mut SceKernelUtilsMt19937Context) -> u322812     pub fn sceKernelUtilsMt19937UInt(ctx: *mut SceKernelUtilsMt19937Context) -> u32;
sceKernelUtilsMd5Digest(data: *mut u8, size: u32, digest: *mut u8) -> i322813     pub fn sceKernelUtilsMd5Digest(data: *mut u8, size: u32, digest: *mut u8) -> i32;
sceKernelUtilsMd5BlockInit(ctx: *mut SceKernelUtilsMd5Context) -> i322814     pub fn sceKernelUtilsMd5BlockInit(ctx: *mut SceKernelUtilsMd5Context) -> i32;
sceKernelUtilsMd5BlockUpdate( ctx: *mut SceKernelUtilsMd5Context, data: *mut u8, size: u32, ) -> i322815     pub fn sceKernelUtilsMd5BlockUpdate(
2816         ctx: *mut SceKernelUtilsMd5Context,
2817         data: *mut u8,
2818         size: u32,
2819     ) -> i32;
sceKernelUtilsMd5BlockResult(ctx: *mut SceKernelUtilsMd5Context, digest: *mut u8) -> i322820     pub fn sceKernelUtilsMd5BlockResult(ctx: *mut SceKernelUtilsMd5Context, digest: *mut u8)
2821         -> i32;
sceKernelUtilsSha1Digest(data: *mut u8, size: u32, digest: *mut u8) -> i322822     pub fn sceKernelUtilsSha1Digest(data: *mut u8, size: u32, digest: *mut u8) -> i32;
sceKernelUtilsSha1BlockInit(ctx: *mut SceKernelUtilsSha1Context) -> i322823     pub fn sceKernelUtilsSha1BlockInit(ctx: *mut SceKernelUtilsSha1Context) -> i32;
sceKernelUtilsSha1BlockUpdate( ctx: *mut SceKernelUtilsSha1Context, data: *mut u8, size: u32, ) -> i322824     pub fn sceKernelUtilsSha1BlockUpdate(
2825         ctx: *mut SceKernelUtilsSha1Context,
2826         data: *mut u8,
2827         size: u32,
2828     ) -> i32;
sceKernelUtilsSha1BlockResult( ctx: *mut SceKernelUtilsSha1Context, digest: *mut u8, ) -> i322829     pub fn sceKernelUtilsSha1BlockResult(
2830         ctx: *mut SceKernelUtilsSha1Context,
2831         digest: *mut u8,
2832     ) -> i32;
2833 
sceKernelRegisterSubIntrHandler( int_no: i32, no: i32, handler: *mut c_void, arg: *mut c_void, ) -> i322834     pub fn sceKernelRegisterSubIntrHandler(
2835         int_no: i32,
2836         no: i32,
2837         handler: *mut c_void,
2838         arg: *mut c_void,
2839     ) -> i32;
sceKernelReleaseSubIntrHandler(int_no: i32, no: i32) -> i322840     pub fn sceKernelReleaseSubIntrHandler(int_no: i32, no: i32) -> i32;
sceKernelEnableSubIntr(int_no: i32, no: i32) -> i322841     pub fn sceKernelEnableSubIntr(int_no: i32, no: i32) -> i32;
sceKernelDisableSubIntr(int_no: i32, no: i32) -> i322842     pub fn sceKernelDisableSubIntr(int_no: i32, no: i32) -> i32;
QueryIntrHandlerInfo( intr_code: SceUid, sub_intr_code: SceUid, data: *mut IntrHandlerOptionParam, ) -> i322843     pub fn QueryIntrHandlerInfo(
2844         intr_code: SceUid,
2845         sub_intr_code: SceUid,
2846         data: *mut IntrHandlerOptionParam,
2847     ) -> i32;
2848 
sceKernelCpuSuspendIntr() -> u322849     pub fn sceKernelCpuSuspendIntr() -> u32;
sceKernelCpuResumeIntr(flags: u32)2850     pub fn sceKernelCpuResumeIntr(flags: u32);
sceKernelCpuResumeIntrWithSync(flags: u32)2851     pub fn sceKernelCpuResumeIntrWithSync(flags: u32);
sceKernelIsCpuIntrSuspended(flags: u32) -> i322852     pub fn sceKernelIsCpuIntrSuspended(flags: u32) -> i32;
sceKernelIsCpuIntrEnable() -> i322853     pub fn sceKernelIsCpuIntrEnable() -> i32;
2854 
sceKernelLoadModule( path: *const u8, flags: i32, option: *mut SceKernelLMOption, ) -> SceUid2855     pub fn sceKernelLoadModule(
2856         path: *const u8,
2857         flags: i32,
2858         option: *mut SceKernelLMOption,
2859     ) -> SceUid;
sceKernelLoadModuleMs( path: *const u8, flags: i32, option: *mut SceKernelLMOption, ) -> SceUid2860     pub fn sceKernelLoadModuleMs(
2861         path: *const u8,
2862         flags: i32,
2863         option: *mut SceKernelLMOption,
2864     ) -> SceUid;
sceKernelLoadModuleByID( fid: SceUid, flags: i32, option: *mut SceKernelLMOption, ) -> SceUid2865     pub fn sceKernelLoadModuleByID(
2866         fid: SceUid,
2867         flags: i32,
2868         option: *mut SceKernelLMOption,
2869     ) -> SceUid;
sceKernelLoadModuleBufferUsbWlan( buf_size: usize, buf: *mut c_void, flags: i32, option: *mut SceKernelLMOption, ) -> SceUid2870     pub fn sceKernelLoadModuleBufferUsbWlan(
2871         buf_size: usize,
2872         buf: *mut c_void,
2873         flags: i32,
2874         option: *mut SceKernelLMOption,
2875     ) -> SceUid;
sceKernelStartModule( mod_id: SceUid, arg_size: usize, argp: *mut c_void, status: *mut i32, option: *mut SceKernelSMOption, ) -> i322876     pub fn sceKernelStartModule(
2877         mod_id: SceUid,
2878         arg_size: usize,
2879         argp: *mut c_void,
2880         status: *mut i32,
2881         option: *mut SceKernelSMOption,
2882     ) -> i32;
sceKernelStopModule( mod_id: SceUid, arg_size: usize, argp: *mut c_void, status: *mut i32, option: *mut SceKernelSMOption, ) -> i322883     pub fn sceKernelStopModule(
2884         mod_id: SceUid,
2885         arg_size: usize,
2886         argp: *mut c_void,
2887         status: *mut i32,
2888         option: *mut SceKernelSMOption,
2889     ) -> i32;
sceKernelUnloadModule(mod_id: SceUid) -> i322890     pub fn sceKernelUnloadModule(mod_id: SceUid) -> i32;
sceKernelSelfStopUnloadModule(unknown: i32, arg_size: usize, argp: *mut c_void) -> i322891     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, ) -> i322892     pub fn sceKernelStopUnloadSelfModule(
2893         arg_size: usize,
2894         argp: *mut c_void,
2895         status: *mut i32,
2896         option: *mut SceKernelSMOption,
2897     ) -> i32;
sceKernelQueryModuleInfo(mod_id: SceUid, info: *mut SceKernelModuleInfo) -> i322898     pub fn sceKernelQueryModuleInfo(mod_id: SceUid, info: *mut SceKernelModuleInfo) -> i32;
sceKernelGetModuleIdList( read_buf: *mut SceUid, read_buf_size: i32, id_count: *mut i32, ) -> i322899     pub fn sceKernelGetModuleIdList(
2900         read_buf: *mut SceUid,
2901         read_buf_size: i32,
2902         id_count: *mut i32,
2903     ) -> i32;
2904 
sceKernelVolatileMemLock(unk: i32, ptr: *mut *mut c_void, size: *mut i32) -> i322905     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) -> i322906     pub fn sceKernelVolatileMemTryLock(unk: i32, ptr: *mut *mut c_void, size: *mut i32) -> i32;
sceKernelVolatileMemUnlock(unk: i32) -> i322907     pub fn sceKernelVolatileMemUnlock(unk: i32) -> i32;
2908 
sceKernelStdin() -> SceUid2909     pub fn sceKernelStdin() -> SceUid;
sceKernelStdout() -> SceUid2910     pub fn sceKernelStdout() -> SceUid;
sceKernelStderr() -> SceUid2911     pub fn sceKernelStderr() -> SceUid;
2912 
sceKernelGetThreadmanIdType(uid: SceUid) -> SceKernelIdListType2913     pub fn sceKernelGetThreadmanIdType(uid: SceUid) -> SceKernelIdListType;
sceKernelCreateThread( name: *const u8, entry: SceKernelThreadEntry, init_priority: i32, stack_size: i32, attr: i32, option: *mut SceKernelThreadOptParam, ) -> SceUid2914     pub fn sceKernelCreateThread(
2915         name: *const u8,
2916         entry: SceKernelThreadEntry,
2917         init_priority: i32,
2918         stack_size: i32,
2919         attr: i32,
2920         option: *mut SceKernelThreadOptParam,
2921     ) -> SceUid;
sceKernelDeleteThread(thid: SceUid) -> i322922     pub fn sceKernelDeleteThread(thid: SceUid) -> i32;
sceKernelStartThread(id: SceUid, arg_len: usize, arg_p: *mut c_void) -> i322923     pub fn sceKernelStartThread(id: SceUid, arg_len: usize, arg_p: *mut c_void) -> i32;
sceKernelExitThread(status: i32) -> i322924     pub fn sceKernelExitThread(status: i32) -> i32;
sceKernelExitDeleteThread(status: i32) -> i322925     pub fn sceKernelExitDeleteThread(status: i32) -> i32;
sceKernelTerminateThread(thid: SceUid) -> i322926     pub fn sceKernelTerminateThread(thid: SceUid) -> i32;
sceKernelTerminateDeleteThread(thid: SceUid) -> i322927     pub fn sceKernelTerminateDeleteThread(thid: SceUid) -> i32;
sceKernelSuspendDispatchThread() -> i322928     pub fn sceKernelSuspendDispatchThread() -> i32;
sceKernelResumeDispatchThread(state: i32) -> i322929     pub fn sceKernelResumeDispatchThread(state: i32) -> i32;
sceKernelSleepThread() -> i322930     pub fn sceKernelSleepThread() -> i32;
sceKernelSleepThreadCB() -> i322931     pub fn sceKernelSleepThreadCB() -> i32;
sceKernelWakeupThread(thid: SceUid) -> i322932     pub fn sceKernelWakeupThread(thid: SceUid) -> i32;
sceKernelCancelWakeupThread(thid: SceUid) -> i322933     pub fn sceKernelCancelWakeupThread(thid: SceUid) -> i32;
sceKernelSuspendThread(thid: SceUid) -> i322934     pub fn sceKernelSuspendThread(thid: SceUid) -> i32;
sceKernelResumeThread(thid: SceUid) -> i322935     pub fn sceKernelResumeThread(thid: SceUid) -> i32;
sceKernelWaitThreadEnd(thid: SceUid, timeout: *mut u32) -> i322936     pub fn sceKernelWaitThreadEnd(thid: SceUid, timeout: *mut u32) -> i32;
sceKernelWaitThreadEndCB(thid: SceUid, timeout: *mut u32) -> i322937     pub fn sceKernelWaitThreadEndCB(thid: SceUid, timeout: *mut u32) -> i32;
sceKernelDelayThread(delay: u32) -> i322938     pub fn sceKernelDelayThread(delay: u32) -> i32;
sceKernelDelayThreadCB(delay: u32) -> i322939     pub fn sceKernelDelayThreadCB(delay: u32) -> i32;
sceKernelDelaySysClockThread(delay: *mut SceKernelSysClock) -> i322940     pub fn sceKernelDelaySysClockThread(delay: *mut SceKernelSysClock) -> i32;
sceKernelDelaySysClockThreadCB(delay: *mut SceKernelSysClock) -> i322941     pub fn sceKernelDelaySysClockThreadCB(delay: *mut SceKernelSysClock) -> i32;
sceKernelChangeCurrentThreadAttr(unknown: i32, attr: i32) -> i322942     pub fn sceKernelChangeCurrentThreadAttr(unknown: i32, attr: i32) -> i32;
sceKernelChangeThreadPriority(thid: SceUid, priority: i32) -> i322943     pub fn sceKernelChangeThreadPriority(thid: SceUid, priority: i32) -> i32;
sceKernelRotateThreadReadyQueue(priority: i32) -> i322944     pub fn sceKernelRotateThreadReadyQueue(priority: i32) -> i32;
sceKernelReleaseWaitThread(thid: SceUid) -> i322945     pub fn sceKernelReleaseWaitThread(thid: SceUid) -> i32;
sceKernelGetThreadId() -> i322946     pub fn sceKernelGetThreadId() -> i32;
sceKernelGetThreadCurrentPriority() -> i322947     pub fn sceKernelGetThreadCurrentPriority() -> i32;
sceKernelGetThreadExitStatus(thid: SceUid) -> i322948     pub fn sceKernelGetThreadExitStatus(thid: SceUid) -> i32;
sceKernelCheckThreadStack() -> i322949     pub fn sceKernelCheckThreadStack() -> i32;
sceKernelGetThreadStackFreeSize(thid: SceUid) -> i322950     pub fn sceKernelGetThreadStackFreeSize(thid: SceUid) -> i32;
sceKernelReferThreadStatus(thid: SceUid, info: *mut SceKernelThreadInfo) -> i322951     pub fn sceKernelReferThreadStatus(thid: SceUid, info: *mut SceKernelThreadInfo) -> i32;
sceKernelReferThreadRunStatus( thid: SceUid, status: *mut SceKernelThreadRunStatus, ) -> i322952     pub fn sceKernelReferThreadRunStatus(
2953         thid: SceUid,
2954         status: *mut SceKernelThreadRunStatus,
2955     ) -> i32;
sceKernelCreateSema( name: *const u8, attr: u32, init_val: i32, max_val: i32, option: *mut SceKernelSemaOptParam, ) -> SceUid2956     pub fn sceKernelCreateSema(
2957         name: *const u8,
2958         attr: u32,
2959         init_val: i32,
2960         max_val: i32,
2961         option: *mut SceKernelSemaOptParam,
2962     ) -> SceUid;
sceKernelDeleteSema(sema_id: SceUid) -> i322963     pub fn sceKernelDeleteSema(sema_id: SceUid) -> i32;
sceKernelSignalSema(sema_id: SceUid, signal: i32) -> i322964     pub fn sceKernelSignalSema(sema_id: SceUid, signal: i32) -> i32;
sceKernelWaitSema(sema_id: SceUid, signal: i32, timeout: *mut u32) -> i322965     pub fn sceKernelWaitSema(sema_id: SceUid, signal: i32, timeout: *mut u32) -> i32;
sceKernelWaitSemaCB(sema_id: SceUid, signal: i32, timeout: *mut u32) -> i322966     pub fn sceKernelWaitSemaCB(sema_id: SceUid, signal: i32, timeout: *mut u32) -> i32;
sceKernelPollSema(sema_id: SceUid, signal: i32) -> i322967     pub fn sceKernelPollSema(sema_id: SceUid, signal: i32) -> i32;
sceKernelReferSemaStatus(sema_id: SceUid, info: *mut SceKernelSemaInfo) -> i322968     pub fn sceKernelReferSemaStatus(sema_id: SceUid, info: *mut SceKernelSemaInfo) -> i32;
sceKernelCreateEventFlag( name: *const u8, attr: i32, bits: i32, opt: *mut SceKernelEventFlagOptParam, ) -> SceUid2969     pub fn sceKernelCreateEventFlag(
2970         name: *const u8,
2971         attr: i32,
2972         bits: i32,
2973         opt: *mut SceKernelEventFlagOptParam,
2974     ) -> SceUid;
sceKernelSetEventFlag(ev_id: SceUid, bits: u32) -> i322975     pub fn sceKernelSetEventFlag(ev_id: SceUid, bits: u32) -> i32;
sceKernelClearEventFlag(ev_id: SceUid, bits: u32) -> i322976     pub fn sceKernelClearEventFlag(ev_id: SceUid, bits: u32) -> i32;
sceKernelPollEventFlag(ev_id: SceUid, bits: u32, wait: i32, out_bits: *mut u32) -> i322977     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, ) -> i322978     pub fn sceKernelWaitEventFlag(
2979         ev_id: SceUid,
2980         bits: u32,
2981         wait: i32,
2982         out_bits: *mut u32,
2983         timeout: *mut u32,
2984     ) -> i32;
sceKernelWaitEventFlagCB( ev_id: SceUid, bits: u32, wait: i32, out_bits: *mut u32, timeout: *mut u32, ) -> i322985     pub fn sceKernelWaitEventFlagCB(
2986         ev_id: SceUid,
2987         bits: u32,
2988         wait: i32,
2989         out_bits: *mut u32,
2990         timeout: *mut u32,
2991     ) -> i32;
sceKernelDeleteEventFlag(ev_id: SceUid) -> i322992     pub fn sceKernelDeleteEventFlag(ev_id: SceUid) -> i32;
sceKernelReferEventFlagStatus(event: SceUid, status: *mut SceKernelEventFlagInfo) -> i322993     pub fn sceKernelReferEventFlagStatus(event: SceUid, status: *mut SceKernelEventFlagInfo)
2994         -> i32;
sceKernelCreateMbx( name: *const u8, attr: u32, option: *mut SceKernelMbxOptParam, ) -> SceUid2995     pub fn sceKernelCreateMbx(
2996         name: *const u8,
2997         attr: u32,
2998         option: *mut SceKernelMbxOptParam,
2999     ) -> SceUid;
sceKernelDeleteMbx(mbx_id: SceUid) -> i323000     pub fn sceKernelDeleteMbx(mbx_id: SceUid) -> i32;
sceKernelSendMbx(mbx_id: SceUid, message: *mut c_void) -> i323001     pub fn sceKernelSendMbx(mbx_id: SceUid, message: *mut c_void) -> i32;
sceKernelReceiveMbx(mbx_id: SceUid, message: *mut *mut c_void, timeout: *mut u32) -> i323002     pub fn sceKernelReceiveMbx(mbx_id: SceUid, message: *mut *mut c_void, timeout: *mut u32)
3003         -> i32;
sceKernelReceiveMbxCB( mbx_id: SceUid, message: *mut *mut c_void, timeout: *mut u32, ) -> i323004     pub fn sceKernelReceiveMbxCB(
3005         mbx_id: SceUid,
3006         message: *mut *mut c_void,
3007         timeout: *mut u32,
3008     ) -> i32;
sceKernelPollMbx(mbx_id: SceUid, pmessage: *mut *mut c_void) -> i323009     pub fn sceKernelPollMbx(mbx_id: SceUid, pmessage: *mut *mut c_void) -> i32;
sceKernelCancelReceiveMbx(mbx_id: SceUid, num: *mut i32) -> i323010     pub fn sceKernelCancelReceiveMbx(mbx_id: SceUid, num: *mut i32) -> i32;
sceKernelReferMbxStatus(mbx_id: SceUid, info: *mut SceKernelMbxInfo) -> i323011     pub fn sceKernelReferMbxStatus(mbx_id: SceUid, info: *mut SceKernelMbxInfo) -> i32;
sceKernelSetAlarm( clock: u32, handler: SceKernelAlarmHandler, common: *mut c_void, ) -> SceUid3012     pub fn sceKernelSetAlarm(
3013         clock: u32,
3014         handler: SceKernelAlarmHandler,
3015         common: *mut c_void,
3016     ) -> SceUid;
sceKernelSetSysClockAlarm( clock: *mut SceKernelSysClock, handler: *mut SceKernelAlarmHandler, common: *mut c_void, ) -> SceUid3017     pub fn sceKernelSetSysClockAlarm(
3018         clock: *mut SceKernelSysClock,
3019         handler: *mut SceKernelAlarmHandler,
3020         common: *mut c_void,
3021     ) -> SceUid;
sceKernelCancelAlarm(alarm_id: SceUid) -> i323022     pub fn sceKernelCancelAlarm(alarm_id: SceUid) -> i32;
sceKernelReferAlarmStatus(alarm_id: SceUid, info: *mut SceKernelAlarmInfo) -> i323023     pub fn sceKernelReferAlarmStatus(alarm_id: SceUid, info: *mut SceKernelAlarmInfo) -> i32;
sceKernelCreateCallback( name: *const u8, func: SceKernelCallbackFunction, arg: *mut c_void, ) -> SceUid3024     pub fn sceKernelCreateCallback(
3025         name: *const u8,
3026         func: SceKernelCallbackFunction,
3027         arg: *mut c_void,
3028     ) -> SceUid;
sceKernelReferCallbackStatus(cb: SceUid, status: *mut SceKernelCallbackInfo) -> i323029     pub fn sceKernelReferCallbackStatus(cb: SceUid, status: *mut SceKernelCallbackInfo) -> i32;
sceKernelDeleteCallback(cb: SceUid) -> i323030     pub fn sceKernelDeleteCallback(cb: SceUid) -> i32;
sceKernelNotifyCallback(cb: SceUid, arg2: i32) -> i323031     pub fn sceKernelNotifyCallback(cb: SceUid, arg2: i32) -> i32;
sceKernelCancelCallback(cb: SceUid) -> i323032     pub fn sceKernelCancelCallback(cb: SceUid) -> i32;
sceKernelGetCallbackCount(cb: SceUid) -> i323033     pub fn sceKernelGetCallbackCount(cb: SceUid) -> i32;
sceKernelCheckCallback() -> i323034     pub fn sceKernelCheckCallback() -> i32;
sceKernelGetThreadmanIdList( type_: SceKernelIdListType, read_buf: *mut SceUid, read_buf_size: i32, id_count: *mut i32, ) -> i323035     pub fn sceKernelGetThreadmanIdList(
3036         type_: SceKernelIdListType,
3037         read_buf: *mut SceUid,
3038         read_buf_size: i32,
3039         id_count: *mut i32,
3040     ) -> i32;
sceKernelReferSystemStatus(status: *mut SceKernelSystemStatus) -> i323041     pub fn sceKernelReferSystemStatus(status: *mut SceKernelSystemStatus) -> i32;
sceKernelCreateMsgPipe( name: *const u8, part: i32, attr: i32, unk1: *mut c_void, opt: *mut c_void, ) -> SceUid3042     pub fn sceKernelCreateMsgPipe(
3043         name: *const u8,
3044         part: i32,
3045         attr: i32,
3046         unk1: *mut c_void,
3047         opt: *mut c_void,
3048     ) -> SceUid;
sceKernelDeleteMsgPipe(uid: SceUid) -> i323049     pub fn sceKernelDeleteMsgPipe(uid: SceUid) -> i32;
sceKernelSendMsgPipe( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, timeout: *mut u32, ) -> i323050     pub fn sceKernelSendMsgPipe(
3051         uid: SceUid,
3052         message: *mut c_void,
3053         size: u32,
3054         unk1: i32,
3055         unk2: *mut c_void,
3056         timeout: *mut u32,
3057     ) -> i32;
sceKernelSendMsgPipeCB( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, timeout: *mut u32, ) -> i323058     pub fn sceKernelSendMsgPipeCB(
3059         uid: SceUid,
3060         message: *mut c_void,
3061         size: u32,
3062         unk1: i32,
3063         unk2: *mut c_void,
3064         timeout: *mut u32,
3065     ) -> i32;
sceKernelTrySendMsgPipe( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, ) -> i323066     pub fn sceKernelTrySendMsgPipe(
3067         uid: SceUid,
3068         message: *mut c_void,
3069         size: u32,
3070         unk1: i32,
3071         unk2: *mut c_void,
3072     ) -> i32;
sceKernelReceiveMsgPipe( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, timeout: *mut u32, ) -> i323073     pub fn sceKernelReceiveMsgPipe(
3074         uid: SceUid,
3075         message: *mut c_void,
3076         size: u32,
3077         unk1: i32,
3078         unk2: *mut c_void,
3079         timeout: *mut u32,
3080     ) -> i32;
sceKernelReceiveMsgPipeCB( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, timeout: *mut u32, ) -> i323081     pub fn sceKernelReceiveMsgPipeCB(
3082         uid: SceUid,
3083         message: *mut c_void,
3084         size: u32,
3085         unk1: i32,
3086         unk2: *mut c_void,
3087         timeout: *mut u32,
3088     ) -> i32;
sceKernelTryReceiveMsgPipe( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, ) -> i323089     pub fn sceKernelTryReceiveMsgPipe(
3090         uid: SceUid,
3091         message: *mut c_void,
3092         size: u32,
3093         unk1: i32,
3094         unk2: *mut c_void,
3095     ) -> i32;
sceKernelCancelMsgPipe(uid: SceUid, send: *mut i32, recv: *mut i32) -> i323096     pub fn sceKernelCancelMsgPipe(uid: SceUid, send: *mut i32, recv: *mut i32) -> i32;
sceKernelReferMsgPipeStatus(uid: SceUid, info: *mut SceKernelMppInfo) -> i323097     pub fn sceKernelReferMsgPipeStatus(uid: SceUid, info: *mut SceKernelMppInfo) -> i32;
sceKernelCreateVpl( name: *const u8, part: i32, attr: i32, size: u32, opt: *mut SceKernelVplOptParam, ) -> SceUid3098     pub fn sceKernelCreateVpl(
3099         name: *const u8,
3100         part: i32,
3101         attr: i32,
3102         size: u32,
3103         opt: *mut SceKernelVplOptParam,
3104     ) -> SceUid;
sceKernelDeleteVpl(uid: SceUid) -> i323105     pub fn sceKernelDeleteVpl(uid: SceUid) -> i32;
sceKernelAllocateVpl( uid: SceUid, size: u32, data: *mut *mut c_void, timeout: *mut u32, ) -> i323106     pub fn sceKernelAllocateVpl(
3107         uid: SceUid,
3108         size: u32,
3109         data: *mut *mut c_void,
3110         timeout: *mut u32,
3111     ) -> i32;
sceKernelAllocateVplCB( uid: SceUid, size: u32, data: *mut *mut c_void, timeout: *mut u32, ) -> i323112     pub fn sceKernelAllocateVplCB(
3113         uid: SceUid,
3114         size: u32,
3115         data: *mut *mut c_void,
3116         timeout: *mut u32,
3117     ) -> i32;
sceKernelTryAllocateVpl(uid: SceUid, size: u32, data: *mut *mut c_void) -> i323118     pub fn sceKernelTryAllocateVpl(uid: SceUid, size: u32, data: *mut *mut c_void) -> i32;
sceKernelFreeVpl(uid: SceUid, data: *mut c_void) -> i323119     pub fn sceKernelFreeVpl(uid: SceUid, data: *mut c_void) -> i32;
sceKernelCancelVpl(uid: SceUid, num: *mut i32) -> i323120     pub fn sceKernelCancelVpl(uid: SceUid, num: *mut i32) -> i32;
sceKernelReferVplStatus(uid: SceUid, info: *mut SceKernelVplInfo) -> i323121     pub fn sceKernelReferVplStatus(uid: SceUid, info: *mut SceKernelVplInfo) -> i32;
sceKernelCreateFpl( name: *const u8, part: i32, attr: i32, size: u32, blocks: u32, opt: *mut SceKernelFplOptParam, ) -> i323122     pub fn sceKernelCreateFpl(
3123         name: *const u8,
3124         part: i32,
3125         attr: i32,
3126         size: u32,
3127         blocks: u32,
3128         opt: *mut SceKernelFplOptParam,
3129     ) -> i32;
sceKernelDeleteFpl(uid: SceUid) -> i323130     pub fn sceKernelDeleteFpl(uid: SceUid) -> i32;
sceKernelAllocateFpl(uid: SceUid, data: *mut *mut c_void, timeout: *mut u32) -> i323131     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) -> i323132     pub fn sceKernelAllocateFplCB(uid: SceUid, data: *mut *mut c_void, timeout: *mut u32) -> i32;
sceKernelTryAllocateFpl(uid: SceUid, data: *mut *mut c_void) -> i323133     pub fn sceKernelTryAllocateFpl(uid: SceUid, data: *mut *mut c_void) -> i32;
sceKernelFreeFpl(uid: SceUid, data: *mut c_void) -> i323134     pub fn sceKernelFreeFpl(uid: SceUid, data: *mut c_void) -> i32;
sceKernelCancelFpl(uid: SceUid, pnum: *mut i32) -> i323135     pub fn sceKernelCancelFpl(uid: SceUid, pnum: *mut i32) -> i32;
sceKernelReferFplStatus(uid: SceUid, info: *mut SceKernelFplInfo) -> i323136     pub fn sceKernelReferFplStatus(uid: SceUid, info: *mut SceKernelFplInfo) -> i32;
sceKernelUSec2SysClock(usec: u32, clock: *mut SceKernelSysClock) -> i323137     pub fn sceKernelUSec2SysClock(usec: u32, clock: *mut SceKernelSysClock) -> i32;
sceKernelUSec2SysClockWide(usec: u32) -> i643138     pub fn sceKernelUSec2SysClockWide(usec: u32) -> i64;
sceKernelSysClock2USec( clock: *mut SceKernelSysClock, low: *mut u32, high: *mut u32, ) -> i323139     pub fn sceKernelSysClock2USec(
3140         clock: *mut SceKernelSysClock,
3141         low: *mut u32,
3142         high: *mut u32,
3143     ) -> i32;
sceKernelSysClock2USecWide(clock: i64, low: *mut u32, high: *mut u32) -> i323144     pub fn sceKernelSysClock2USecWide(clock: i64, low: *mut u32, high: *mut u32) -> i32;
sceKernelGetSystemTime(time: *mut SceKernelSysClock) -> i323145     pub fn sceKernelGetSystemTime(time: *mut SceKernelSysClock) -> i32;
sceKernelGetSystemTimeWide() -> i643146     pub fn sceKernelGetSystemTimeWide() -> i64;
sceKernelGetSystemTimeLow() -> u323147     pub fn sceKernelGetSystemTimeLow() -> u32;
sceKernelCreateVTimer(name: *const u8, opt: *mut SceKernelVTimerOptParam) -> SceUid3148     pub fn sceKernelCreateVTimer(name: *const u8, opt: *mut SceKernelVTimerOptParam) -> SceUid;
sceKernelDeleteVTimer(uid: SceUid) -> i323149     pub fn sceKernelDeleteVTimer(uid: SceUid) -> i32;
sceKernelGetVTimerBase(uid: SceUid, base: *mut SceKernelSysClock) -> i323150     pub fn sceKernelGetVTimerBase(uid: SceUid, base: *mut SceKernelSysClock) -> i32;
sceKernelGetVTimerBaseWide(uid: SceUid) -> i643151     pub fn sceKernelGetVTimerBaseWide(uid: SceUid) -> i64;
sceKernelGetVTimerTime(uid: SceUid, time: *mut SceKernelSysClock) -> i323152     pub fn sceKernelGetVTimerTime(uid: SceUid, time: *mut SceKernelSysClock) -> i32;
sceKernelGetVTimerTimeWide(uid: SceUid) -> i643153     pub fn sceKernelGetVTimerTimeWide(uid: SceUid) -> i64;
sceKernelSetVTimerTime(uid: SceUid, time: *mut SceKernelSysClock) -> i323154     pub fn sceKernelSetVTimerTime(uid: SceUid, time: *mut SceKernelSysClock) -> i32;
sceKernelSetVTimerTimeWide(uid: SceUid, time: i64) -> i643155     pub fn sceKernelSetVTimerTimeWide(uid: SceUid, time: i64) -> i64;
sceKernelStartVTimer(uid: SceUid) -> i323156     pub fn sceKernelStartVTimer(uid: SceUid) -> i32;
sceKernelStopVTimer(uid: SceUid) -> i323157     pub fn sceKernelStopVTimer(uid: SceUid) -> i32;
sceKernelSetVTimerHandler( uid: SceUid, time: *mut SceKernelSysClock, handler: SceKernelVTimerHandler, common: *mut c_void, ) -> i323158     pub fn sceKernelSetVTimerHandler(
3159         uid: SceUid,
3160         time: *mut SceKernelSysClock,
3161         handler: SceKernelVTimerHandler,
3162         common: *mut c_void,
3163     ) -> i32;
sceKernelSetVTimerHandlerWide( uid: SceUid, time: i64, handler: SceKernelVTimerHandlerWide, common: *mut c_void, ) -> i323164     pub fn sceKernelSetVTimerHandlerWide(
3165         uid: SceUid,
3166         time: i64,
3167         handler: SceKernelVTimerHandlerWide,
3168         common: *mut c_void,
3169     ) -> i32;
sceKernelCancelVTimerHandler(uid: SceUid) -> i323170     pub fn sceKernelCancelVTimerHandler(uid: SceUid) -> i32;
sceKernelReferVTimerStatus(uid: SceUid, info: *mut SceKernelVTimerInfo) -> i323171     pub fn sceKernelReferVTimerStatus(uid: SceUid, info: *mut SceKernelVTimerInfo) -> i32;
sceKernelRegisterThreadEventHandler( name: *const u8, thread_id: SceUid, mask: i32, handler: SceKernelThreadEventHandler, common: *mut c_void, ) -> SceUid3172     pub fn sceKernelRegisterThreadEventHandler(
3173         name: *const u8,
3174         thread_id: SceUid,
3175         mask: i32,
3176         handler: SceKernelThreadEventHandler,
3177         common: *mut c_void,
3178     ) -> SceUid;
sceKernelReleaseThreadEventHandler(uid: SceUid) -> i323179     pub fn sceKernelReleaseThreadEventHandler(uid: SceUid) -> i32;
sceKernelReferThreadEventHandlerStatus( uid: SceUid, info: *mut SceKernelThreadEventHandlerInfo, ) -> i323180     pub fn sceKernelReferThreadEventHandlerStatus(
3181         uid: SceUid,
3182         info: *mut SceKernelThreadEventHandlerInfo,
3183     ) -> i32;
sceKernelReferThreadProfiler() -> *mut DebugProfilerRegs3184     pub fn sceKernelReferThreadProfiler() -> *mut DebugProfilerRegs;
sceKernelReferGlobalProfiler() -> *mut DebugProfilerRegs3185     pub fn sceKernelReferGlobalProfiler() -> *mut DebugProfilerRegs;
3186 
sceUsbStart(driver_name: *const u8, size: i32, args: *mut c_void) -> i323187     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) -> i323188     pub fn sceUsbStop(driver_name: *const u8, size: i32, args: *mut c_void) -> i32;
sceUsbActivate(pid: u32) -> i323189     pub fn sceUsbActivate(pid: u32) -> i32;
sceUsbDeactivate(pid: u32) -> i323190     pub fn sceUsbDeactivate(pid: u32) -> i32;
sceUsbGetState() -> i323191     pub fn sceUsbGetState() -> i32;
sceUsbGetDrvState(driver_name: *const u8) -> i323192     pub fn sceUsbGetDrvState(driver_name: *const u8) -> i32;
3193 }
3194 
3195 extern "C" {
sceUsbCamSetupStill(param: *mut UsbCamSetupStillParam) -> i323196     pub fn sceUsbCamSetupStill(param: *mut UsbCamSetupStillParam) -> i32;
sceUsbCamSetupStillEx(param: *mut UsbCamSetupStillExParam) -> i323197     pub fn sceUsbCamSetupStillEx(param: *mut UsbCamSetupStillExParam) -> i32;
sceUsbCamStillInputBlocking(buf: *mut u8, size: usize) -> i323198     pub fn sceUsbCamStillInputBlocking(buf: *mut u8, size: usize) -> i32;
sceUsbCamStillInput(buf: *mut u8, size: usize) -> i323199     pub fn sceUsbCamStillInput(buf: *mut u8, size: usize) -> i32;
sceUsbCamStillWaitInputEnd() -> i323200     pub fn sceUsbCamStillWaitInputEnd() -> i32;
sceUsbCamStillPollInputEnd() -> i323201     pub fn sceUsbCamStillPollInputEnd() -> i32;
sceUsbCamStillCancelInput() -> i323202     pub fn sceUsbCamStillCancelInput() -> i32;
sceUsbCamStillGetInputLength() -> i323203     pub fn sceUsbCamStillGetInputLength() -> i32;
sceUsbCamSetupVideo( param: *mut UsbCamSetupVideoParam, work_area: *mut c_void, work_area_size: i32, ) -> i323204     pub fn sceUsbCamSetupVideo(
3205         param: *mut UsbCamSetupVideoParam,
3206         work_area: *mut c_void,
3207         work_area_size: i32,
3208     ) -> i32;
sceUsbCamSetupVideoEx( param: *mut UsbCamSetupVideoExParam, work_area: *mut c_void, work_area_size: i32, ) -> i323209     pub fn sceUsbCamSetupVideoEx(
3210         param: *mut UsbCamSetupVideoExParam,
3211         work_area: *mut c_void,
3212         work_area_size: i32,
3213     ) -> i32;
sceUsbCamStartVideo() -> i323214     pub fn sceUsbCamStartVideo() -> i32;
sceUsbCamStopVideo() -> i323215     pub fn sceUsbCamStopVideo() -> i32;
sceUsbCamReadVideoFrameBlocking(buf: *mut u8, size: usize) -> i323216     pub fn sceUsbCamReadVideoFrameBlocking(buf: *mut u8, size: usize) -> i32;
sceUsbCamReadVideoFrame(buf: *mut u8, size: usize) -> i323217     pub fn sceUsbCamReadVideoFrame(buf: *mut u8, size: usize) -> i32;
sceUsbCamWaitReadVideoFrameEnd() -> i323218     pub fn sceUsbCamWaitReadVideoFrameEnd() -> i32;
sceUsbCamPollReadVideoFrameEnd() -> i323219     pub fn sceUsbCamPollReadVideoFrameEnd() -> i32;
sceUsbCamGetReadVideoFrameSize() -> i323220     pub fn sceUsbCamGetReadVideoFrameSize() -> i32;
sceUsbCamSetSaturation(saturation: i32) -> i323221     pub fn sceUsbCamSetSaturation(saturation: i32) -> i32;
sceUsbCamSetBrightness(brightness: i32) -> i323222     pub fn sceUsbCamSetBrightness(brightness: i32) -> i32;
sceUsbCamSetContrast(contrast: i32) -> i323223     pub fn sceUsbCamSetContrast(contrast: i32) -> i32;
sceUsbCamSetSharpness(sharpness: i32) -> i323224     pub fn sceUsbCamSetSharpness(sharpness: i32) -> i32;
sceUsbCamSetImageEffectMode(effect_mode: UsbCamEffectMode) -> i323225     pub fn sceUsbCamSetImageEffectMode(effect_mode: UsbCamEffectMode) -> i32;
sceUsbCamSetEvLevel(exposure_level: UsbCamEvLevel) -> i323226     pub fn sceUsbCamSetEvLevel(exposure_level: UsbCamEvLevel) -> i32;
sceUsbCamSetReverseMode(reverse_flags: i32) -> i323227     pub fn sceUsbCamSetReverseMode(reverse_flags: i32) -> i32;
sceUsbCamSetZoom(zoom: i32) -> i323228     pub fn sceUsbCamSetZoom(zoom: i32) -> i32;
sceUsbCamGetSaturation(saturation: *mut i32) -> i323229     pub fn sceUsbCamGetSaturation(saturation: *mut i32) -> i32;
sceUsbCamGetBrightness(brightness: *mut i32) -> i323230     pub fn sceUsbCamGetBrightness(brightness: *mut i32) -> i32;
sceUsbCamGetContrast(contrast: *mut i32) -> i323231     pub fn sceUsbCamGetContrast(contrast: *mut i32) -> i32;
sceUsbCamGetSharpness(sharpness: *mut i32) -> i323232     pub fn sceUsbCamGetSharpness(sharpness: *mut i32) -> i32;
sceUsbCamGetImageEffectMode(effect_mode: *mut UsbCamEffectMode) -> i323233     pub fn sceUsbCamGetImageEffectMode(effect_mode: *mut UsbCamEffectMode) -> i32;
sceUsbCamGetEvLevel(exposure_level: *mut UsbCamEvLevel) -> i323234     pub fn sceUsbCamGetEvLevel(exposure_level: *mut UsbCamEvLevel) -> i32;
sceUsbCamGetReverseMode(reverse_flags: *mut i32) -> i323235     pub fn sceUsbCamGetReverseMode(reverse_flags: *mut i32) -> i32;
sceUsbCamGetZoom(zoom: *mut i32) -> i323236     pub fn sceUsbCamGetZoom(zoom: *mut i32) -> i32;
sceUsbCamAutoImageReverseSW(on: i32) -> i323237     pub fn sceUsbCamAutoImageReverseSW(on: i32) -> i32;
sceUsbCamGetAutoImageReverseState() -> i323238     pub fn sceUsbCamGetAutoImageReverseState() -> i32;
sceUsbCamGetLensDirection() -> i323239     pub fn sceUsbCamGetLensDirection() -> i32;
3240 
sceUsbstorBootRegisterNotify(event_flag: SceUid) -> i323241     pub fn sceUsbstorBootRegisterNotify(event_flag: SceUid) -> i32;
sceUsbstorBootUnregisterNotify(event_flag: u32) -> i323242     pub fn sceUsbstorBootUnregisterNotify(event_flag: u32) -> i32;
sceUsbstorBootSetCapacity(size: u32) -> i323243     pub fn sceUsbstorBootSetCapacity(size: u32) -> i32;
3244 
scePowerRegisterCallback(slot: i32, cbid: SceUid) -> i323245     pub fn scePowerRegisterCallback(slot: i32, cbid: SceUid) -> i32;
scePowerUnregisterCallback(slot: i32) -> i323246     pub fn scePowerUnregisterCallback(slot: i32) -> i32;
scePowerIsPowerOnline() -> i323247     pub fn scePowerIsPowerOnline() -> i32;
scePowerIsBatteryExist() -> i323248     pub fn scePowerIsBatteryExist() -> i32;
scePowerIsBatteryCharging() -> i323249     pub fn scePowerIsBatteryCharging() -> i32;
scePowerGetBatteryChargingStatus() -> i323250     pub fn scePowerGetBatteryChargingStatus() -> i32;
scePowerIsLowBattery() -> i323251     pub fn scePowerIsLowBattery() -> i32;
scePowerGetBatteryLifePercent() -> i323252     pub fn scePowerGetBatteryLifePercent() -> i32;
scePowerGetBatteryLifeTime() -> i323253     pub fn scePowerGetBatteryLifeTime() -> i32;
scePowerGetBatteryTemp() -> i323254     pub fn scePowerGetBatteryTemp() -> i32;
scePowerGetBatteryElec() -> i323255     pub fn scePowerGetBatteryElec() -> i32;
scePowerGetBatteryVolt() -> i323256     pub fn scePowerGetBatteryVolt() -> i32;
scePowerSetCpuClockFrequency(cpufreq: i32) -> i323257     pub fn scePowerSetCpuClockFrequency(cpufreq: i32) -> i32;
scePowerSetBusClockFrequency(busfreq: i32) -> i323258     pub fn scePowerSetBusClockFrequency(busfreq: i32) -> i32;
scePowerGetCpuClockFrequency() -> i323259     pub fn scePowerGetCpuClockFrequency() -> i32;
scePowerGetCpuClockFrequencyInt() -> i323260     pub fn scePowerGetCpuClockFrequencyInt() -> i32;
scePowerGetCpuClockFrequencyFloat() -> f323261     pub fn scePowerGetCpuClockFrequencyFloat() -> f32;
scePowerGetBusClockFrequency() -> i323262     pub fn scePowerGetBusClockFrequency() -> i32;
scePowerGetBusClockFrequencyInt() -> i323263     pub fn scePowerGetBusClockFrequencyInt() -> i32;
scePowerGetBusClockFrequencyFloat() -> f323264     pub fn scePowerGetBusClockFrequencyFloat() -> f32;
scePowerSetClockFrequency(pllfreq: i32, cpufreq: i32, busfreq: i32) -> i323265     pub fn scePowerSetClockFrequency(pllfreq: i32, cpufreq: i32, busfreq: i32) -> i32;
scePowerLock(unknown: i32) -> i323266     pub fn scePowerLock(unknown: i32) -> i32;
scePowerUnlock(unknown: i32) -> i323267     pub fn scePowerUnlock(unknown: i32) -> i32;
scePowerTick(t: PowerTick) -> i323268     pub fn scePowerTick(t: PowerTick) -> i32;
scePowerGetIdleTimer() -> i323269     pub fn scePowerGetIdleTimer() -> i32;
scePowerIdleTimerEnable(unknown: i32) -> i323270     pub fn scePowerIdleTimerEnable(unknown: i32) -> i32;
scePowerIdleTimerDisable(unknown: i32) -> i323271     pub fn scePowerIdleTimerDisable(unknown: i32) -> i32;
scePowerRequestStandby() -> i323272     pub fn scePowerRequestStandby() -> i32;
scePowerRequestSuspend() -> i323273     pub fn scePowerRequestSuspend() -> i32;
3274 
sceWlanDevIsPowerOn() -> i323275     pub fn sceWlanDevIsPowerOn() -> i32;
sceWlanGetSwitchState() -> i323276     pub fn sceWlanGetSwitchState() -> i32;
sceWlanGetEtherAddr(ether_addr: *mut u8) -> i323277     pub fn sceWlanGetEtherAddr(ether_addr: *mut u8) -> i32;
3278 
sceWlanDevAttach() -> i323279     pub fn sceWlanDevAttach() -> i32;
sceWlanDevDetach() -> i323280     pub fn sceWlanDevDetach() -> i32;
3281 
sceRtcGetTickResolution() -> u323282     pub fn sceRtcGetTickResolution() -> u32;
sceRtcGetCurrentTick(tick: *mut u64) -> i323283     pub fn sceRtcGetCurrentTick(tick: *mut u64) -> i32;
sceRtcGetCurrentClock(tm: *mut ScePspDateTime, tz: i32) -> i323284     pub fn sceRtcGetCurrentClock(tm: *mut ScePspDateTime, tz: i32) -> i32;
sceRtcGetCurrentClockLocalTime(tm: *mut ScePspDateTime) -> i323285     pub fn sceRtcGetCurrentClockLocalTime(tm: *mut ScePspDateTime) -> i32;
sceRtcConvertUtcToLocalTime(tick_utc: *const u64, tick_local: *mut u64) -> i323286     pub fn sceRtcConvertUtcToLocalTime(tick_utc: *const u64, tick_local: *mut u64) -> i32;
sceRtcConvertLocalTimeToUTC(tick_local: *const u64, tick_utc: *mut u64) -> i323287     pub fn sceRtcConvertLocalTimeToUTC(tick_local: *const u64, tick_utc: *mut u64) -> i32;
sceRtcIsLeapYear(year: i32) -> i323288     pub fn sceRtcIsLeapYear(year: i32) -> i32;
sceRtcGetDaysInMonth(year: i32, month: i32) -> i323289     pub fn sceRtcGetDaysInMonth(year: i32, month: i32) -> i32;
sceRtcGetDayOfWeek(year: i32, month: i32, day: i32) -> i323290     pub fn sceRtcGetDayOfWeek(year: i32, month: i32, day: i32) -> i32;
sceRtcCheckValid(date: *const ScePspDateTime) -> i323291     pub fn sceRtcCheckValid(date: *const ScePspDateTime) -> i32;
sceRtcSetTick(date: *mut ScePspDateTime, tick: *const u64) -> i323292     pub fn sceRtcSetTick(date: *mut ScePspDateTime, tick: *const u64) -> i32;
sceRtcGetTick(date: *const ScePspDateTime, tick: *mut u64) -> i323293     pub fn sceRtcGetTick(date: *const ScePspDateTime, tick: *mut u64) -> i32;
sceRtcCompareTick(tick1: *const u64, tick2: *const u64) -> i323294     pub fn sceRtcCompareTick(tick1: *const u64, tick2: *const u64) -> i32;
sceRtcTickAddTicks(dest_tick: *mut u64, src_tick: *const u64, num_ticks: u64) -> i323295     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) -> i323296     pub fn sceRtcTickAddMicroseconds(dest_tick: *mut u64, src_tick: *const u64, num_ms: u64)
3297         -> i32;
sceRtcTickAddSeconds(dest_tick: *mut u64, src_tick: *const u64, num_seconds: u64) -> i323298     pub fn sceRtcTickAddSeconds(dest_tick: *mut u64, src_tick: *const u64, num_seconds: u64)
3299         -> i32;
sceRtcTickAddMinutes(dest_tick: *mut u64, src_tick: *const u64, num_minutes: u64) -> i323300     pub fn sceRtcTickAddMinutes(dest_tick: *mut u64, src_tick: *const u64, num_minutes: u64)
3301         -> i32;
sceRtcTickAddHours(dest_tick: *mut u64, src_tick: *const u64, num_hours: u64) -> i323302     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) -> i323303     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) -> i323304     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) -> i323305     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) -> i323306     pub fn sceRtcTickAddYears(dest_tick: *mut u64, src_tick: *const u64, num_years: u64) -> i32;
sceRtcSetTime_t(date: *mut ScePspDateTime, time: u32) -> i323307     pub fn sceRtcSetTime_t(date: *mut ScePspDateTime, time: u32) -> i32;
sceRtcGetTime_t(date: *const ScePspDateTime, time: *mut u32) -> i323308     pub fn sceRtcGetTime_t(date: *const ScePspDateTime, time: *mut u32) -> i32;
sceRtcSetTime64_t(date: *mut ScePspDateTime, time: u64) -> i323309     pub fn sceRtcSetTime64_t(date: *mut ScePspDateTime, time: u64) -> i32;
sceRtcGetTime64_t(date: *const ScePspDateTime, time: *mut u64) -> i323310     pub fn sceRtcGetTime64_t(date: *const ScePspDateTime, time: *mut u64) -> i32;
sceRtcSetDosTime(date: *mut ScePspDateTime, dos_time: u32) -> i323311     pub fn sceRtcSetDosTime(date: *mut ScePspDateTime, dos_time: u32) -> i32;
sceRtcGetDosTime(date: *mut ScePspDateTime, dos_time: u32) -> i323312     pub fn sceRtcGetDosTime(date: *mut ScePspDateTime, dos_time: u32) -> i32;
sceRtcSetWin32FileTime(date: *mut ScePspDateTime, time: *mut u64) -> i323313     pub fn sceRtcSetWin32FileTime(date: *mut ScePspDateTime, time: *mut u64) -> i32;
sceRtcGetWin32FileTime(date: *mut ScePspDateTime, time: *mut u64) -> i323314     pub fn sceRtcGetWin32FileTime(date: *mut ScePspDateTime, time: *mut u64) -> i32;
sceRtcParseDateTime(dest_tick: *mut u64, date_string: *const u8) -> i323315     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, ) -> i323316     pub fn sceRtcFormatRFC3339(
3317         psz_date_time: *mut char,
3318         p_utc: *const u64,
3319         time_zone_minutes: i32,
3320     ) -> i32;
sceRtcFormatRFC3339LocalTime(psz_date_time: *mut char, p_utc: *const u64) -> i323321     pub fn sceRtcFormatRFC3339LocalTime(psz_date_time: *mut char, p_utc: *const u64) -> i32;
sceRtcParseRFC3339(p_utc: *mut u64, psz_date_time: *const u8) -> i323322     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, ) -> i323323     pub fn sceRtcFormatRFC2822(
3324         psz_date_time: *mut char,
3325         p_utc: *const u64,
3326         time_zone_minutes: i32,
3327     ) -> i32;
sceRtcFormatRFC2822LocalTime(psz_date_time: *mut char, p_utc: *const u64) -> i323328     pub fn sceRtcFormatRFC2822LocalTime(psz_date_time: *mut char, p_utc: *const u64) -> i32;
3329 
sceIoOpen(file: *const u8, flags: i32, permissions: IoPermissions) -> SceUid3330     pub fn sceIoOpen(file: *const u8, flags: i32, permissions: IoPermissions) -> SceUid;
sceIoOpenAsync(file: *const u8, flags: i32, permissions: IoPermissions) -> SceUid3331     pub fn sceIoOpenAsync(file: *const u8, flags: i32, permissions: IoPermissions) -> SceUid;
sceIoClose(fd: SceUid) -> i323332     pub fn sceIoClose(fd: SceUid) -> i32;
sceIoCloseAsync(fd: SceUid) -> i323333     pub fn sceIoCloseAsync(fd: SceUid) -> i32;
sceIoRead(fd: SceUid, data: *mut c_void, size: u32) -> i323334     pub fn sceIoRead(fd: SceUid, data: *mut c_void, size: u32) -> i32;
sceIoReadAsync(fd: SceUid, data: *mut c_void, size: u32) -> i323335     pub fn sceIoReadAsync(fd: SceUid, data: *mut c_void, size: u32) -> i32;
sceIoWrite(fd: SceUid, data: *const c_void, size: usize) -> i323336     pub fn sceIoWrite(fd: SceUid, data: *const c_void, size: usize) -> i32;
sceIoWriteAsync(fd: SceUid, data: *const c_void, size: u32) -> i323337     pub fn sceIoWriteAsync(fd: SceUid, data: *const c_void, size: u32) -> i32;
sceIoLseek(fd: SceUid, offset: i64, whence: IoWhence) -> i643338     pub fn sceIoLseek(fd: SceUid, offset: i64, whence: IoWhence) -> i64;
sceIoLseekAsync(fd: SceUid, offset: i64, whence: IoWhence) -> i323339     pub fn sceIoLseekAsync(fd: SceUid, offset: i64, whence: IoWhence) -> i32;
sceIoLseek32(fd: SceUid, offset: i32, whence: IoWhence) -> i323340     pub fn sceIoLseek32(fd: SceUid, offset: i32, whence: IoWhence) -> i32;
sceIoLseek32Async(fd: SceUid, offset: i32, whence: IoWhence) -> i323341     pub fn sceIoLseek32Async(fd: SceUid, offset: i32, whence: IoWhence) -> i32;
sceIoRemove(file: *const u8) -> i323342     pub fn sceIoRemove(file: *const u8) -> i32;
sceIoMkdir(dir: *const u8, mode: IoPermissions) -> i323343     pub fn sceIoMkdir(dir: *const u8, mode: IoPermissions) -> i32;
sceIoRmdir(path: *const u8) -> i323344     pub fn sceIoRmdir(path: *const u8) -> i32;
sceIoChdir(path: *const u8) -> i323345     pub fn sceIoChdir(path: *const u8) -> i32;
sceIoRename(oldname: *const u8, newname: *const u8) -> i323346     pub fn sceIoRename(oldname: *const u8, newname: *const u8) -> i32;
sceIoDopen(dirname: *const u8) -> SceUid3347     pub fn sceIoDopen(dirname: *const u8) -> SceUid;
sceIoDread(fd: SceUid, dir: *mut SceIoDirent) -> i323348     pub fn sceIoDread(fd: SceUid, dir: *mut SceIoDirent) -> i32;
sceIoDclose(fd: SceUid) -> i323349     pub fn sceIoDclose(fd: SceUid) -> i32;
sceIoDevctl( dev: *const u8, cmd: u32, indata: *mut c_void, inlen: i32, outdata: *mut c_void, outlen: i32, ) -> i323350     pub fn sceIoDevctl(
3351         dev: *const u8,
3352         cmd: u32,
3353         indata: *mut c_void,
3354         inlen: i32,
3355         outdata: *mut c_void,
3356         outlen: i32,
3357     ) -> i32;
sceIoAssign( dev1: *const u8, dev2: *const u8, dev3: *const u8, mode: IoAssignPerms, unk1: *mut c_void, unk2: i32, ) -> i323358     pub fn sceIoAssign(
3359         dev1: *const u8,
3360         dev2: *const u8,
3361         dev3: *const u8,
3362         mode: IoAssignPerms,
3363         unk1: *mut c_void,
3364         unk2: i32,
3365     ) -> i32;
sceIoUnassign(dev: *const u8) -> i323366     pub fn sceIoUnassign(dev: *const u8) -> i32;
sceIoGetstat(file: *const u8, stat: *mut SceIoStat) -> i323367     pub fn sceIoGetstat(file: *const u8, stat: *mut SceIoStat) -> i32;
sceIoChstat(file: *const u8, stat: *mut SceIoStat, bits: i32) -> i323368     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, ) -> i323369     pub fn sceIoIoctl(
3370         fd: SceUid,
3371         cmd: u32,
3372         indata: *mut c_void,
3373         inlen: i32,
3374         outdata: *mut c_void,
3375         outlen: i32,
3376     ) -> i32;
sceIoIoctlAsync( fd: SceUid, cmd: u32, indata: *mut c_void, inlen: i32, outdata: *mut c_void, outlen: i32, ) -> i323377     pub fn sceIoIoctlAsync(
3378         fd: SceUid,
3379         cmd: u32,
3380         indata: *mut c_void,
3381         inlen: i32,
3382         outdata: *mut c_void,
3383         outlen: i32,
3384     ) -> i32;
sceIoSync(device: *const u8, unk: u32) -> i323385     pub fn sceIoSync(device: *const u8, unk: u32) -> i32;
sceIoWaitAsync(fd: SceUid, res: *mut i64) -> i323386     pub fn sceIoWaitAsync(fd: SceUid, res: *mut i64) -> i32;
sceIoWaitAsyncCB(fd: SceUid, res: *mut i64) -> i323387     pub fn sceIoWaitAsyncCB(fd: SceUid, res: *mut i64) -> i32;
sceIoPollAsync(fd: SceUid, res: *mut i64) -> i323388     pub fn sceIoPollAsync(fd: SceUid, res: *mut i64) -> i32;
sceIoGetAsyncStat(fd: SceUid, poll: i32, res: *mut i64) -> i323389     pub fn sceIoGetAsyncStat(fd: SceUid, poll: i32, res: *mut i64) -> i32;
sceIoCancel(fd: SceUid) -> i323390     pub fn sceIoCancel(fd: SceUid) -> i32;
sceIoGetDevType(fd: SceUid) -> i323391     pub fn sceIoGetDevType(fd: SceUid) -> i32;
sceIoChangeAsyncPriority(fd: SceUid, pri: i32) -> i323392     pub fn sceIoChangeAsyncPriority(fd: SceUid, pri: i32) -> i32;
sceIoSetAsyncCallback(fd: SceUid, cb: SceUid, argp: *mut c_void) -> i323393     pub fn sceIoSetAsyncCallback(fd: SceUid, cb: SceUid, argp: *mut c_void) -> i32;
3394 
sceJpegInitMJpeg() -> i323395     pub fn sceJpegInitMJpeg() -> i32;
sceJpegFinishMJpeg() -> i323396     pub fn sceJpegFinishMJpeg() -> i32;
sceJpegCreateMJpeg(width: i32, height: i32) -> i323397     pub fn sceJpegCreateMJpeg(width: i32, height: i32) -> i32;
sceJpegDeleteMJpeg() -> i323398     pub fn sceJpegDeleteMJpeg() -> i32;
sceJpegDecodeMJpeg(jpeg_buf: *mut u8, size: usize, rgba: *mut c_void, unk: u32) -> i323399     pub fn sceJpegDecodeMJpeg(jpeg_buf: *mut u8, size: usize, rgba: *mut c_void, unk: u32) -> i32;
3400 
sceUmdCheckMedium() -> i323401     pub fn sceUmdCheckMedium() -> i32;
sceUmdGetDiscInfo(info: *mut UmdInfo) -> i323402     pub fn sceUmdGetDiscInfo(info: *mut UmdInfo) -> i32;
sceUmdActivate(unit: i32, drive: *const u8) -> i323403     pub fn sceUmdActivate(unit: i32, drive: *const u8) -> i32;
sceUmdDeactivate(unit: i32, drive: *const u8) -> i323404     pub fn sceUmdDeactivate(unit: i32, drive: *const u8) -> i32;
sceUmdWaitDriveStat(state: i32) -> i323405     pub fn sceUmdWaitDriveStat(state: i32) -> i32;
sceUmdWaitDriveStatWithTimer(state: i32, timeout: u32) -> i323406     pub fn sceUmdWaitDriveStatWithTimer(state: i32, timeout: u32) -> i32;
sceUmdWaitDriveStatCB(state: i32, timeout: u32) -> i323407     pub fn sceUmdWaitDriveStatCB(state: i32, timeout: u32) -> i32;
sceUmdCancelWaitDriveStat() -> i323408     pub fn sceUmdCancelWaitDriveStat() -> i32;
sceUmdGetDriveStat() -> i323409     pub fn sceUmdGetDriveStat() -> i32;
sceUmdGetErrorStat() -> i323410     pub fn sceUmdGetErrorStat() -> i32;
sceUmdRegisterUMDCallBack(cbid: i32) -> i323411     pub fn sceUmdRegisterUMDCallBack(cbid: i32) -> i32;
sceUmdUnRegisterUMDCallBack(cbid: i32) -> i323412     pub fn sceUmdUnRegisterUMDCallBack(cbid: i32) -> i32;
sceUmdReplacePermit() -> i323413     pub fn sceUmdReplacePermit() -> i32;
sceUmdReplaceProhibit() -> i323414     pub fn sceUmdReplaceProhibit() -> i32;
3415 
sceMpegInit() -> i323416     pub fn sceMpegInit() -> i32;
sceMpegFinish()3417     pub fn sceMpegFinish();
sceMpegRingbufferQueryMemSize(packets: i32) -> i323418     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, ) -> i323419     pub fn sceMpegRingbufferConstruct(
3420         ringbuffer: *mut SceMpegRingbuffer,
3421         packets: i32,
3422         data: *mut c_void,
3423         size: i32,
3424         callback: SceMpegRingbufferCb,
3425         cb_param: *mut c_void,
3426     ) -> i32;
sceMpegRingbufferDestruct(ringbuffer: *mut SceMpegRingbuffer)3427     pub fn sceMpegRingbufferDestruct(ringbuffer: *mut SceMpegRingbuffer);
sceMpegRingbufferAvailableSize(ringbuffer: *mut SceMpegRingbuffer) -> i323428     pub fn sceMpegRingbufferAvailableSize(ringbuffer: *mut SceMpegRingbuffer) -> i32;
sceMpegRingbufferPut( ringbuffer: *mut SceMpegRingbuffer, num_packets: i32, available: i32, ) -> i323429     pub fn sceMpegRingbufferPut(
3430         ringbuffer: *mut SceMpegRingbuffer,
3431         num_packets: i32,
3432         available: i32,
3433     ) -> i32;
sceMpegQueryMemSize(unk: i32) -> i323434     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, ) -> i323435     pub fn sceMpegCreate(
3436         handle: SceMpeg,
3437         data: *mut c_void,
3438         size: i32,
3439         ringbuffer: *mut SceMpegRingbuffer,
3440         frame_width: i32,
3441         unk1: i32,
3442         unk2: i32,
3443     ) -> i32;
sceMpegDelete(handle: SceMpeg)3444     pub fn sceMpegDelete(handle: SceMpeg);
sceMpegQueryStreamOffset(handle: SceMpeg, buffer: *mut c_void, offset: *mut i32) -> i323445     pub fn sceMpegQueryStreamOffset(handle: SceMpeg, buffer: *mut c_void, offset: *mut i32) -> i32;
sceMpegQueryStreamSize(buffer: *mut c_void, size: *mut i32) -> i323446     pub fn sceMpegQueryStreamSize(buffer: *mut c_void, size: *mut i32) -> i32;
sceMpegRegistStream(handle: SceMpeg, stream_id: i32, unk: i32) -> SceMpegStream3447     pub fn sceMpegRegistStream(handle: SceMpeg, stream_id: i32, unk: i32) -> SceMpegStream;
sceMpegUnRegistStream(handle: SceMpeg, stream: SceMpegStream)3448     pub fn sceMpegUnRegistStream(handle: SceMpeg, stream: SceMpegStream);
sceMpegFlushAllStream(handle: SceMpeg) -> i323449     pub fn sceMpegFlushAllStream(handle: SceMpeg) -> i32;
sceMpegMallocAvcEsBuf(handle: SceMpeg) -> *mut c_void3450     pub fn sceMpegMallocAvcEsBuf(handle: SceMpeg) -> *mut c_void;
sceMpegFreeAvcEsBuf(handle: SceMpeg, buf: *mut c_void)3451     pub fn sceMpegFreeAvcEsBuf(handle: SceMpeg, buf: *mut c_void);
sceMpegQueryAtracEsSize(handle: SceMpeg, es_size: *mut i32, out_size: *mut i32) -> i323452     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) -> i323453     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, ) -> i323454     pub fn sceMpegGetAvcAu(
3455         handle: SceMpeg,
3456         stream: SceMpegStream,
3457         au: *mut SceMpegAu,
3458         unk: *mut i32,
3459     ) -> i32;
sceMpegAvcDecodeMode(handle: SceMpeg, mode: *mut SceMpegAvcMode) -> i323460     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, ) -> i323461     pub fn sceMpegAvcDecode(
3462         handle: SceMpeg,
3463         au: *mut SceMpegAu,
3464         iframe_width: i32,
3465         buffer: *mut c_void,
3466         init: *mut i32,
3467     ) -> i32;
sceMpegAvcDecodeStop( handle: SceMpeg, frame_width: i32, buffer: *mut c_void, status: *mut i32, ) -> i323468     pub fn sceMpegAvcDecodeStop(
3469         handle: SceMpeg,
3470         frame_width: i32,
3471         buffer: *mut c_void,
3472         status: *mut i32,
3473     ) -> i32;
sceMpegGetAtracAu( handle: SceMpeg, stream: SceMpegStream, au: *mut SceMpegAu, unk: *mut c_void, ) -> i323474     pub fn sceMpegGetAtracAu(
3475         handle: SceMpeg,
3476         stream: SceMpegStream,
3477         au: *mut SceMpegAu,
3478         unk: *mut c_void,
3479     ) -> i32;
sceMpegAtracDecode( handle: SceMpeg, au: *mut SceMpegAu, buffer: *mut c_void, init: i32, ) -> i323480     pub fn sceMpegAtracDecode(
3481         handle: SceMpeg,
3482         au: *mut SceMpegAu,
3483         buffer: *mut c_void,
3484         init: i32,
3485     ) -> i32;
3486 
sceMpegBaseYCrCbCopyVme(yuv_buffer: *mut c_void, buffer: *mut i32, type_: i32) -> i323487     pub fn sceMpegBaseYCrCbCopyVme(yuv_buffer: *mut c_void, buffer: *mut i32, type_: i32) -> i32;
sceMpegBaseCscInit(width: i32) -> i323488     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, ) -> i323489     pub fn sceMpegBaseCscVme(
3490         rgb_buffer: *mut c_void,
3491         rgb_buffer2: *mut c_void,
3492         width: i32,
3493         y_cr_cb_buffer: *mut SceMpegYCrCbBuffer,
3494     ) -> i32;
sceMpegbase_BEA18F91(lli: *mut SceMpegLLI) -> i323495     pub fn sceMpegbase_BEA18F91(lli: *mut SceMpegLLI) -> i32;
3496 
sceHprmPeekCurrentKey(key: *mut i32) -> i323497     pub fn sceHprmPeekCurrentKey(key: *mut i32) -> i32;
sceHprmPeekLatch(latch: *mut [u32; 4]) -> i323498     pub fn sceHprmPeekLatch(latch: *mut [u32; 4]) -> i32;
sceHprmReadLatch(latch: *mut [u32; 4]) -> i323499     pub fn sceHprmReadLatch(latch: *mut [u32; 4]) -> i32;
sceHprmIsHeadphoneExist() -> i323500     pub fn sceHprmIsHeadphoneExist() -> i32;
sceHprmIsRemoteExist() -> i323501     pub fn sceHprmIsRemoteExist() -> i32;
sceHprmIsMicrophoneExist() -> i323502     pub fn sceHprmIsMicrophoneExist() -> i32;
3503 
sceGuDepthBuffer(zbp: *mut c_void, zbw: i32)3504     pub fn sceGuDepthBuffer(zbp: *mut c_void, zbw: i32);
sceGuDispBuffer(width: i32, height: i32, dispbp: *mut c_void, dispbw: i32)3505     pub fn sceGuDispBuffer(width: i32, height: i32, dispbp: *mut c_void, dispbw: i32);
sceGuDrawBuffer(psm: DisplayPixelFormat, fbp: *mut c_void, fbw: i32)3506     pub fn sceGuDrawBuffer(psm: DisplayPixelFormat, fbp: *mut c_void, fbw: i32);
sceGuDrawBufferList(psm: DisplayPixelFormat, fbp: *mut c_void, fbw: i32)3507     pub fn sceGuDrawBufferList(psm: DisplayPixelFormat, fbp: *mut c_void, fbw: i32);
sceGuDisplay(state: bool) -> bool3508     pub fn sceGuDisplay(state: bool) -> bool;
sceGuDepthFunc(function: DepthFunc)3509     pub fn sceGuDepthFunc(function: DepthFunc);
sceGuDepthMask(mask: i32)3510     pub fn sceGuDepthMask(mask: i32);
sceGuDepthOffset(offset: i32)3511     pub fn sceGuDepthOffset(offset: i32);
sceGuDepthRange(near: i32, far: i32)3512     pub fn sceGuDepthRange(near: i32, far: i32);
sceGuFog(near: f32, far: f32, color: u32)3513     pub fn sceGuFog(near: f32, far: f32, color: u32);
sceGuInit()3514     pub fn sceGuInit();
sceGuTerm()3515     pub fn sceGuTerm();
sceGuBreak(mode: i32)3516     pub fn sceGuBreak(mode: i32);
sceGuContinue()3517     pub fn sceGuContinue();
sceGuSetCallback(signal: GuCallbackId, callback: GuCallback) -> GuCallback3518     pub fn sceGuSetCallback(signal: GuCallbackId, callback: GuCallback) -> GuCallback;
sceGuSignal(behavior: SignalBehavior, signal: i32)3519     pub fn sceGuSignal(behavior: SignalBehavior, signal: i32);
sceGuSendCommandf(cmd: GeCommand, argument: f32)3520     pub fn sceGuSendCommandf(cmd: GeCommand, argument: f32);
sceGuSendCommandi(cmd: GeCommand, argument: i32)3521     pub fn sceGuSendCommandi(cmd: GeCommand, argument: i32);
sceGuGetMemory(size: i32) -> *mut c_void3522     pub fn sceGuGetMemory(size: i32) -> *mut c_void;
sceGuStart(context_type: GuContextType, list: *mut c_void)3523     pub fn sceGuStart(context_type: GuContextType, list: *mut c_void);
sceGuFinish() -> i323524     pub fn sceGuFinish() -> i32;
sceGuFinishId(id: u32) -> i323525     pub fn sceGuFinishId(id: u32) -> i32;
sceGuCallList(list: *const c_void)3526     pub fn sceGuCallList(list: *const c_void);
sceGuCallMode(mode: i32)3527     pub fn sceGuCallMode(mode: i32);
sceGuCheckList() -> i323528     pub fn sceGuCheckList() -> i32;
sceGuSendList(mode: GuQueueMode, list: *const c_void, context: *mut GeContext)3529     pub fn sceGuSendList(mode: GuQueueMode, list: *const c_void, context: *mut GeContext);
sceGuSwapBuffers() -> *mut c_void3530     pub fn sceGuSwapBuffers() -> *mut c_void;
sceGuSync(mode: GuSyncMode, behavior: GuSyncBehavior) -> GeListState3531     pub fn sceGuSync(mode: GuSyncMode, behavior: GuSyncBehavior) -> GeListState;
sceGuDrawArray( prim: GuPrimitive, vtype: i32, count: i32, indices: *const c_void, vertices: *const c_void, )3532     pub fn sceGuDrawArray(
3533         prim: GuPrimitive,
3534         vtype: i32,
3535         count: i32,
3536         indices: *const c_void,
3537         vertices: *const c_void,
3538     );
sceGuBeginObject( vtype: i32, count: i32, indices: *const c_void, vertices: *const c_void, )3539     pub fn sceGuBeginObject(
3540         vtype: i32,
3541         count: i32,
3542         indices: *const c_void,
3543         vertices: *const c_void,
3544     );
sceGuEndObject()3545     pub fn sceGuEndObject();
sceGuSetStatus(state: GuState, status: i32)3546     pub fn sceGuSetStatus(state: GuState, status: i32);
sceGuGetStatus(state: GuState) -> bool3547     pub fn sceGuGetStatus(state: GuState) -> bool;
sceGuSetAllStatus(status: i32)3548     pub fn sceGuSetAllStatus(status: i32);
sceGuGetAllStatus() -> i323549     pub fn sceGuGetAllStatus() -> i32;
sceGuEnable(state: GuState)3550     pub fn sceGuEnable(state: GuState);
sceGuDisable(state: GuState)3551     pub fn sceGuDisable(state: GuState);
sceGuLight(light: i32, type_: LightType, components: i32, position: &ScePspFVector3)3552     pub fn sceGuLight(light: i32, type_: LightType, components: i32, position: &ScePspFVector3);
sceGuLightAtt(light: i32, atten0: f32, atten1: f32, atten2: f32)3553     pub fn sceGuLightAtt(light: i32, atten0: f32, atten1: f32, atten2: f32);
sceGuLightColor(light: i32, component: i32, color: u32)3554     pub fn sceGuLightColor(light: i32, component: i32, color: u32);
sceGuLightMode(mode: LightMode)3555     pub fn sceGuLightMode(mode: LightMode);
sceGuLightSpot(light: i32, direction: &ScePspFVector3, exponent: f32, cutoff: f32)3556     pub fn sceGuLightSpot(light: i32, direction: &ScePspFVector3, exponent: f32, cutoff: f32);
sceGuClear(flags: i32)3557     pub fn sceGuClear(flags: i32);
sceGuClearColor(color: u32)3558     pub fn sceGuClearColor(color: u32);
sceGuClearDepth(depth: u32)3559     pub fn sceGuClearDepth(depth: u32);
sceGuClearStencil(stencil: u32)3560     pub fn sceGuClearStencil(stencil: u32);
sceGuPixelMask(mask: u32)3561     pub fn sceGuPixelMask(mask: u32);
sceGuColor(color: u32)3562     pub fn sceGuColor(color: u32);
sceGuColorFunc(func: ColorFunc, color: u32, mask: u32)3563     pub fn sceGuColorFunc(func: ColorFunc, color: u32, mask: u32);
sceGuColorMaterial(components: i32)3564     pub fn sceGuColorMaterial(components: i32);
sceGuAlphaFunc(func: AlphaFunc, value: i32, mask: i32)3565     pub fn sceGuAlphaFunc(func: AlphaFunc, value: i32, mask: i32);
sceGuAmbient(color: u32)3566     pub fn sceGuAmbient(color: u32);
sceGuAmbientColor(color: u32)3567     pub fn sceGuAmbientColor(color: u32);
sceGuBlendFunc(op: BlendOp, src: BlendSrc, dest: BlendDst, src_fix: u32, dest_fix: u32)3568     pub fn sceGuBlendFunc(op: BlendOp, src: BlendSrc, dest: BlendDst, src_fix: u32, dest_fix: u32);
sceGuMaterial(components: i32, color: u32)3569     pub fn sceGuMaterial(components: i32, color: u32);
sceGuModelColor(emissive: u32, ambient: u32, diffuse: u32, specular: u32)3570     pub fn sceGuModelColor(emissive: u32, ambient: u32, diffuse: u32, specular: u32);
sceGuStencilFunc(func: StencilFunc, ref_: i32, mask: i32)3571     pub fn sceGuStencilFunc(func: StencilFunc, ref_: i32, mask: i32);
sceGuStencilOp(fail: StencilOperation, zfail: StencilOperation, zpass: StencilOperation)3572     pub fn sceGuStencilOp(fail: StencilOperation, zfail: StencilOperation, zpass: StencilOperation);
sceGuSpecular(power: f32)3573     pub fn sceGuSpecular(power: f32);
sceGuFrontFace(order: FrontFaceDirection)3574     pub fn sceGuFrontFace(order: FrontFaceDirection);
sceGuLogicalOp(op: LogicalOperation)3575     pub fn sceGuLogicalOp(op: LogicalOperation);
sceGuSetDither(matrix: &ScePspIMatrix4)3576     pub fn sceGuSetDither(matrix: &ScePspIMatrix4);
sceGuShadeModel(mode: ShadingModel)3577     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, )3578     pub fn sceGuCopyImage(
3579         psm: DisplayPixelFormat,
3580         sx: i32,
3581         sy: i32,
3582         width: i32,
3583         height: i32,
3584         srcw: i32,
3585         src: *mut c_void,
3586         dx: i32,
3587         dy: i32,
3588         destw: i32,
3589         dest: *mut c_void,
3590     );
sceGuTexEnvColor(color: u32)3591     pub fn sceGuTexEnvColor(color: u32);
sceGuTexFilter(min: TextureFilter, mag: TextureFilter)3592     pub fn sceGuTexFilter(min: TextureFilter, mag: TextureFilter);
sceGuTexFlush()3593     pub fn sceGuTexFlush();
sceGuTexFunc(tfx: TextureEffect, tcc: TextureColorComponent)3594     pub fn sceGuTexFunc(tfx: TextureEffect, tcc: TextureColorComponent);
sceGuTexImage( mipmap: MipmapLevel, width: i32, height: i32, tbw: i32, tbp: *const c_void, )3595     pub fn sceGuTexImage(
3596         mipmap: MipmapLevel,
3597         width: i32,
3598         height: i32,
3599         tbw: i32,
3600         tbp: *const c_void,
3601     );
sceGuTexLevelMode(mode: TextureLevelMode, bias: f32)3602     pub fn sceGuTexLevelMode(mode: TextureLevelMode, bias: f32);
sceGuTexMapMode(mode: TextureMapMode, a1: u32, a2: u32)3603     pub fn sceGuTexMapMode(mode: TextureMapMode, a1: u32, a2: u32);
sceGuTexMode(tpsm: TexturePixelFormat, maxmips: i32, a2: i32, swizzle: i32)3604     pub fn sceGuTexMode(tpsm: TexturePixelFormat, maxmips: i32, a2: i32, swizzle: i32);
sceGuTexOffset(u: f32, v: f32)3605     pub fn sceGuTexOffset(u: f32, v: f32);
sceGuTexProjMapMode(mode: TextureProjectionMapMode)3606     pub fn sceGuTexProjMapMode(mode: TextureProjectionMapMode);
sceGuTexScale(u: f32, v: f32)3607     pub fn sceGuTexScale(u: f32, v: f32);
sceGuTexSlope(slope: f32)3608     pub fn sceGuTexSlope(slope: f32);
sceGuTexSync()3609     pub fn sceGuTexSync();
sceGuTexWrap(u: GuTexWrapMode, v: GuTexWrapMode)3610     pub fn sceGuTexWrap(u: GuTexWrapMode, v: GuTexWrapMode);
sceGuClutLoad(num_blocks: i32, cbp: *const c_void)3611     pub fn sceGuClutLoad(num_blocks: i32, cbp: *const c_void);
sceGuClutMode(cpsm: ClutPixelFormat, shift: u32, mask: u32, a3: u32)3612     pub fn sceGuClutMode(cpsm: ClutPixelFormat, shift: u32, mask: u32, a3: u32);
sceGuOffset(x: u32, y: u32)3613     pub fn sceGuOffset(x: u32, y: u32);
sceGuScissor(x: i32, y: i32, w: i32, h: i32)3614     pub fn sceGuScissor(x: i32, y: i32, w: i32, h: i32);
sceGuViewport(cx: i32, cy: i32, width: i32, height: i32)3615     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, )3616     pub fn sceGuDrawBezier(
3617         v_type: i32,
3618         u_count: i32,
3619         v_count: i32,
3620         indices: *const c_void,
3621         vertices: *const c_void,
3622     );
sceGuPatchDivide(ulevel: u32, vlevel: u32)3623     pub fn sceGuPatchDivide(ulevel: u32, vlevel: u32);
sceGuPatchFrontFace(a0: u32)3624     pub fn sceGuPatchFrontFace(a0: u32);
sceGuPatchPrim(prim: PatchPrimitive)3625     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, )3626     pub fn sceGuDrawSpline(
3627         v_type: i32,
3628         u_count: i32,
3629         v_count: i32,
3630         u_edge: i32,
3631         v_edge: i32,
3632         indices: *const c_void,
3633         vertices: *const c_void,
3634     );
sceGuSetMatrix(type_: MatrixMode, matrix: &ScePspFMatrix4)3635     pub fn sceGuSetMatrix(type_: MatrixMode, matrix: &ScePspFMatrix4);
sceGuBoneMatrix(index: u32, matrix: &ScePspFMatrix4)3636     pub fn sceGuBoneMatrix(index: u32, matrix: &ScePspFMatrix4);
sceGuMorphWeight(index: i32, weight: f32)3637     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, )3638     pub fn sceGuDrawArrayN(
3639         primitive_type: GuPrimitive,
3640         v_type: i32,
3641         count: i32,
3642         a3: i32,
3643         indices: *const c_void,
3644         vertices: *const c_void,
3645     );
3646 
sceGumDrawArray( prim: GuPrimitive, v_type: i32, count: i32, indices: *const c_void, vertices: *const c_void, )3647     pub fn sceGumDrawArray(
3648         prim: GuPrimitive,
3649         v_type: i32,
3650         count: i32,
3651         indices: *const c_void,
3652         vertices: *const c_void,
3653     );
sceGumDrawArrayN( prim: GuPrimitive, v_type: i32, count: i32, a3: i32, indices: *const c_void, vertices: *const c_void, )3654     pub fn sceGumDrawArrayN(
3655         prim: GuPrimitive,
3656         v_type: i32,
3657         count: i32,
3658         a3: i32,
3659         indices: *const c_void,
3660         vertices: *const c_void,
3661     );
sceGumDrawBezier( v_type: i32, u_count: i32, v_count: i32, indices: *const c_void, vertices: *const c_void, )3662     pub fn sceGumDrawBezier(
3663         v_type: i32,
3664         u_count: i32,
3665         v_count: i32,
3666         indices: *const c_void,
3667         vertices: *const c_void,
3668     );
sceGumDrawSpline( v_type: i32, u_count: i32, v_count: i32, u_edge: i32, v_edge: i32, indices: *const c_void, vertices: *const c_void, )3669     pub fn sceGumDrawSpline(
3670         v_type: i32,
3671         u_count: i32,
3672         v_count: i32,
3673         u_edge: i32,
3674         v_edge: i32,
3675         indices: *const c_void,
3676         vertices: *const c_void,
3677     );
sceGumFastInverse()3678     pub fn sceGumFastInverse();
sceGumFullInverse()3679     pub fn sceGumFullInverse();
sceGumLoadIdentity()3680     pub fn sceGumLoadIdentity();
sceGumLoadMatrix(m: &ScePspFMatrix4)3681     pub fn sceGumLoadMatrix(m: &ScePspFMatrix4);
sceGumLookAt(eye: &ScePspFVector3, center: &ScePspFVector3, up: &ScePspFVector3)3682     pub fn sceGumLookAt(eye: &ScePspFVector3, center: &ScePspFVector3, up: &ScePspFVector3);
sceGumMatrixMode(mode: MatrixMode)3683     pub fn sceGumMatrixMode(mode: MatrixMode);
sceGumMultMatrix(m: &ScePspFMatrix4)3684     pub fn sceGumMultMatrix(m: &ScePspFMatrix4);
sceGumOrtho(left: f32, right: f32, bottom: f32, top: f32, near: f32, far: f32)3685     pub fn sceGumOrtho(left: f32, right: f32, bottom: f32, top: f32, near: f32, far: f32);
sceGumPerspective(fovy: f32, aspect: f32, near: f32, far: f32)3686     pub fn sceGumPerspective(fovy: f32, aspect: f32, near: f32, far: f32);
sceGumPopMatrix()3687     pub fn sceGumPopMatrix();
sceGumPushMatrix()3688     pub fn sceGumPushMatrix();
sceGumRotateX(angle: f32)3689     pub fn sceGumRotateX(angle: f32);
sceGumRotateY(angle: f32)3690     pub fn sceGumRotateY(angle: f32);
sceGumRotateZ(angle: f32)3691     pub fn sceGumRotateZ(angle: f32);
sceGumRotateXYZ(v: &ScePspFVector3)3692     pub fn sceGumRotateXYZ(v: &ScePspFVector3);
sceGumRotateZYX(v: &ScePspFVector3)3693     pub fn sceGumRotateZYX(v: &ScePspFVector3);
sceGumScale(v: &ScePspFVector3)3694     pub fn sceGumScale(v: &ScePspFVector3);
sceGumStoreMatrix(m: &mut ScePspFMatrix4)3695     pub fn sceGumStoreMatrix(m: &mut ScePspFMatrix4);
sceGumTranslate(v: &ScePspFVector3)3696     pub fn sceGumTranslate(v: &ScePspFVector3);
sceGumUpdateMatrix()3697     pub fn sceGumUpdateMatrix();
3698 
sceMp3ReserveMp3Handle(args: *mut SceMp3InitArg) -> i323699     pub fn sceMp3ReserveMp3Handle(args: *mut SceMp3InitArg) -> i32;
sceMp3ReleaseMp3Handle(handle: Mp3Handle) -> i323700     pub fn sceMp3ReleaseMp3Handle(handle: Mp3Handle) -> i32;
sceMp3InitResource() -> i323701     pub fn sceMp3InitResource() -> i32;
sceMp3TermResource() -> i323702     pub fn sceMp3TermResource() -> i32;
sceMp3Init(handle: Mp3Handle) -> i323703     pub fn sceMp3Init(handle: Mp3Handle) -> i32;
sceMp3Decode(handle: Mp3Handle, dst: *mut *mut i16) -> i323704     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, ) -> i323705     pub fn sceMp3GetInfoToAddStreamData(
3706         handle: Mp3Handle,
3707         dst: *mut *mut u8,
3708         to_write: *mut i32,
3709         src_pos: *mut i32,
3710     ) -> i32;
sceMp3NotifyAddStreamData(handle: Mp3Handle, size: i32) -> i323711     pub fn sceMp3NotifyAddStreamData(handle: Mp3Handle, size: i32) -> i32;
sceMp3CheckStreamDataNeeded(handle: Mp3Handle) -> i323712     pub fn sceMp3CheckStreamDataNeeded(handle: Mp3Handle) -> i32;
sceMp3SetLoopNum(handle: Mp3Handle, loop_: i32) -> i323713     pub fn sceMp3SetLoopNum(handle: Mp3Handle, loop_: i32) -> i32;
sceMp3GetLoopNum(handle: Mp3Handle) -> i323714     pub fn sceMp3GetLoopNum(handle: Mp3Handle) -> i32;
sceMp3GetSumDecodedSample(handle: Mp3Handle) -> i323715     pub fn sceMp3GetSumDecodedSample(handle: Mp3Handle) -> i32;
sceMp3GetMaxOutputSample(handle: Mp3Handle) -> i323716     pub fn sceMp3GetMaxOutputSample(handle: Mp3Handle) -> i32;
sceMp3GetSamplingRate(handle: Mp3Handle) -> i323717     pub fn sceMp3GetSamplingRate(handle: Mp3Handle) -> i32;
sceMp3GetBitRate(handle: Mp3Handle) -> i323718     pub fn sceMp3GetBitRate(handle: Mp3Handle) -> i32;
sceMp3GetMp3ChannelNum(handle: Mp3Handle) -> i323719     pub fn sceMp3GetMp3ChannelNum(handle: Mp3Handle) -> i32;
sceMp3ResetPlayPosition(handle: Mp3Handle) -> i323720     pub fn sceMp3ResetPlayPosition(handle: Mp3Handle) -> i32;
3721 
sceRegOpenRegistry(reg: *mut Key, mode: i32, handle: *mut RegHandle) -> i323722     pub fn sceRegOpenRegistry(reg: *mut Key, mode: i32, handle: *mut RegHandle) -> i32;
sceRegFlushRegistry(handle: RegHandle) -> i323723     pub fn sceRegFlushRegistry(handle: RegHandle) -> i32;
sceRegCloseRegistry(handle: RegHandle) -> i323724     pub fn sceRegCloseRegistry(handle: RegHandle) -> i32;
sceRegOpenCategory( handle: RegHandle, name: *const u8, mode: i32, dir_handle: *mut RegHandle, ) -> i323725     pub fn sceRegOpenCategory(
3726         handle: RegHandle,
3727         name: *const u8,
3728         mode: i32,
3729         dir_handle: *mut RegHandle,
3730     ) -> i32;
sceRegRemoveCategory(handle: RegHandle, name: *const u8) -> i323731     pub fn sceRegRemoveCategory(handle: RegHandle, name: *const u8) -> i32;
sceRegCloseCategory(dir_handle: RegHandle) -> i323732     pub fn sceRegCloseCategory(dir_handle: RegHandle) -> i32;
sceRegFlushCategory(dir_handle: RegHandle) -> i323733     pub fn sceRegFlushCategory(dir_handle: RegHandle) -> i32;
sceRegGetKeyInfo( dir_handle: RegHandle, name: *const u8, key_handle: *mut RegHandle, type_: *mut KeyType, size: *mut usize, ) -> i323734     pub fn sceRegGetKeyInfo(
3735         dir_handle: RegHandle,
3736         name: *const u8,
3737         key_handle: *mut RegHandle,
3738         type_: *mut KeyType,
3739         size: *mut usize,
3740     ) -> i32;
sceRegGetKeyInfoByName( dir_handle: RegHandle, name: *const u8, type_: *mut KeyType, size: *mut usize, ) -> i323741     pub fn sceRegGetKeyInfoByName(
3742         dir_handle: RegHandle,
3743         name: *const u8,
3744         type_: *mut KeyType,
3745         size: *mut usize,
3746     ) -> i32;
sceRegGetKeyValue( dir_handle: RegHandle, key_handle: RegHandle, buf: *mut c_void, size: usize, ) -> i323747     pub fn sceRegGetKeyValue(
3748         dir_handle: RegHandle,
3749         key_handle: RegHandle,
3750         buf: *mut c_void,
3751         size: usize,
3752     ) -> i32;
sceRegGetKeyValueByName( dir_handle: RegHandle, name: *const u8, buf: *mut c_void, size: usize, ) -> i323753     pub fn sceRegGetKeyValueByName(
3754         dir_handle: RegHandle,
3755         name: *const u8,
3756         buf: *mut c_void,
3757         size: usize,
3758     ) -> i32;
sceRegSetKeyValue( dir_handle: RegHandle, name: *const u8, buf: *const c_void, size: usize, ) -> i323759     pub fn sceRegSetKeyValue(
3760         dir_handle: RegHandle,
3761         name: *const u8,
3762         buf: *const c_void,
3763         size: usize,
3764     ) -> i32;
sceRegGetKeysNum(dir_handle: RegHandle, num: *mut i32) -> i323765     pub fn sceRegGetKeysNum(dir_handle: RegHandle, num: *mut i32) -> i32;
sceRegGetKeys(dir_handle: RegHandle, buf: *mut u8, num: i32) -> i323766     pub fn sceRegGetKeys(dir_handle: RegHandle, buf: *mut u8, num: i32) -> i32;
sceRegCreateKey(dir_handle: RegHandle, name: *const u8, type_: i32, size: usize) -> i323767     pub fn sceRegCreateKey(dir_handle: RegHandle, name: *const u8, type_: i32, size: usize) -> i32;
sceRegRemoveRegistry(key: *mut Key) -> i323768     pub fn sceRegRemoveRegistry(key: *mut Key) -> i32;
3769 
sceOpenPSIDGetOpenPSID(openpsid: *mut OpenPSID) -> i323770     pub fn sceOpenPSIDGetOpenPSID(openpsid: *mut OpenPSID) -> i32;
3771 
sceUtilityMsgDialogInitStart(params: *mut UtilityMsgDialogParams) -> i323772     pub fn sceUtilityMsgDialogInitStart(params: *mut UtilityMsgDialogParams) -> i32;
sceUtilityMsgDialogShutdownStart()3773     pub fn sceUtilityMsgDialogShutdownStart();
sceUtilityMsgDialogGetStatus() -> i323774     pub fn sceUtilityMsgDialogGetStatus() -> i32;
sceUtilityMsgDialogUpdate(n: i32)3775     pub fn sceUtilityMsgDialogUpdate(n: i32);
sceUtilityMsgDialogAbort() -> i323776     pub fn sceUtilityMsgDialogAbort() -> i32;
sceUtilityNetconfInitStart(data: *mut UtilityNetconfData) -> i323777     pub fn sceUtilityNetconfInitStart(data: *mut UtilityNetconfData) -> i32;
sceUtilityNetconfShutdownStart() -> i323778     pub fn sceUtilityNetconfShutdownStart() -> i32;
sceUtilityNetconfUpdate(unknown: i32) -> i323779     pub fn sceUtilityNetconfUpdate(unknown: i32) -> i32;
sceUtilityNetconfGetStatus() -> i323780     pub fn sceUtilityNetconfGetStatus() -> i32;
sceUtilityCheckNetParam(id: i32) -> i323781     pub fn sceUtilityCheckNetParam(id: i32) -> i32;
sceUtilityGetNetParam(conf: i32, param: NetParam, data: *mut UtilityNetData) -> i323782     pub fn sceUtilityGetNetParam(conf: i32, param: NetParam, data: *mut UtilityNetData) -> i32;
sceUtilitySavedataInitStart(params: *mut SceUtilitySavedataParam) -> i323783     pub fn sceUtilitySavedataInitStart(params: *mut SceUtilitySavedataParam) -> i32;
sceUtilitySavedataGetStatus() -> i323784     pub fn sceUtilitySavedataGetStatus() -> i32;
sceUtilitySavedataShutdownStart() -> i323785     pub fn sceUtilitySavedataShutdownStart() -> i32;
sceUtilitySavedataUpdate(unknown: i32)3786     pub fn sceUtilitySavedataUpdate(unknown: i32);
sceUtilityGameSharingInitStart(params: *mut UtilityGameSharingParams) -> i323787     pub fn sceUtilityGameSharingInitStart(params: *mut UtilityGameSharingParams) -> i32;
sceUtilityGameSharingShutdownStart()3788     pub fn sceUtilityGameSharingShutdownStart();
sceUtilityGameSharingGetStatus() -> i323789     pub fn sceUtilityGameSharingGetStatus() -> i32;
sceUtilityGameSharingUpdate(n: i32)3790     pub fn sceUtilityGameSharingUpdate(n: i32);
sceUtilityHtmlViewerInitStart(params: *mut UtilityHtmlViewerParam) -> i323791     pub fn sceUtilityHtmlViewerInitStart(params: *mut UtilityHtmlViewerParam) -> i32;
sceUtilityHtmlViewerShutdownStart() -> i323792     pub fn sceUtilityHtmlViewerShutdownStart() -> i32;
sceUtilityHtmlViewerUpdate(n: i32) -> i323793     pub fn sceUtilityHtmlViewerUpdate(n: i32) -> i32;
sceUtilityHtmlViewerGetStatus() -> i323794     pub fn sceUtilityHtmlViewerGetStatus() -> i32;
sceUtilitySetSystemParamInt(id: SystemParamId, value: i32) -> i323795     pub fn sceUtilitySetSystemParamInt(id: SystemParamId, value: i32) -> i32;
sceUtilitySetSystemParamString(id: SystemParamId, str: *const u8) -> i323796     pub fn sceUtilitySetSystemParamString(id: SystemParamId, str: *const u8) -> i32;
sceUtilityGetSystemParamInt(id: SystemParamId, value: *mut i32) -> i323797     pub fn sceUtilityGetSystemParamInt(id: SystemParamId, value: *mut i32) -> i32;
sceUtilityGetSystemParamString(id: SystemParamId, str: *mut u8, len: i32) -> i323798     pub fn sceUtilityGetSystemParamString(id: SystemParamId, str: *mut u8, len: i32) -> i32;
sceUtilityOskInitStart(params: *mut SceUtilityOskParams) -> i323799     pub fn sceUtilityOskInitStart(params: *mut SceUtilityOskParams) -> i32;
sceUtilityOskShutdownStart() -> i323800     pub fn sceUtilityOskShutdownStart() -> i32;
sceUtilityOskUpdate(n: i32) -> i323801     pub fn sceUtilityOskUpdate(n: i32) -> i32;
sceUtilityOskGetStatus() -> i323802     pub fn sceUtilityOskGetStatus() -> i32;
sceUtilityLoadNetModule(module: NetModule) -> i323803     pub fn sceUtilityLoadNetModule(module: NetModule) -> i32;
sceUtilityUnloadNetModule(module: NetModule) -> i323804     pub fn sceUtilityUnloadNetModule(module: NetModule) -> i32;
sceUtilityLoadAvModule(module: AvModule) -> i323805     pub fn sceUtilityLoadAvModule(module: AvModule) -> i32;
sceUtilityUnloadAvModule(module: AvModule) -> i323806     pub fn sceUtilityUnloadAvModule(module: AvModule) -> i32;
sceUtilityLoadUsbModule(module: UsbModule) -> i323807     pub fn sceUtilityLoadUsbModule(module: UsbModule) -> i32;
sceUtilityUnloadUsbModule(module: UsbModule) -> i323808     pub fn sceUtilityUnloadUsbModule(module: UsbModule) -> i32;
sceUtilityLoadModule(module: Module) -> i323809     pub fn sceUtilityLoadModule(module: Module) -> i32;
sceUtilityUnloadModule(module: Module) -> i323810     pub fn sceUtilityUnloadModule(module: Module) -> i32;
sceUtilityCreateNetParam(conf: i32) -> i323811     pub fn sceUtilityCreateNetParam(conf: i32) -> i32;
sceUtilitySetNetParam(param: NetParam, val: *const c_void) -> i323812     pub fn sceUtilitySetNetParam(param: NetParam, val: *const c_void) -> i32;
sceUtilityCopyNetParam(src: i32, dest: i32) -> i323813     pub fn sceUtilityCopyNetParam(src: i32, dest: i32) -> i32;
sceUtilityDeleteNetParam(conf: i32) -> i323814     pub fn sceUtilityDeleteNetParam(conf: i32) -> i32;
3815 
sceNetInit( poolsize: i32, calloutprio: i32, calloutstack: i32, netintrprio: i32, netintrstack: i32, ) -> i323816     pub fn sceNetInit(
3817         poolsize: i32,
3818         calloutprio: i32,
3819         calloutstack: i32,
3820         netintrprio: i32,
3821         netintrstack: i32,
3822     ) -> i32;
sceNetTerm() -> i323823     pub fn sceNetTerm() -> i32;
sceNetFreeThreadinfo(thid: i32) -> i323824     pub fn sceNetFreeThreadinfo(thid: i32) -> i32;
sceNetThreadAbort(thid: i32) -> i323825     pub fn sceNetThreadAbort(thid: i32) -> i32;
sceNetEtherStrton(name: *mut u8, mac: *mut u8)3826     pub fn sceNetEtherStrton(name: *mut u8, mac: *mut u8);
sceNetEtherNtostr(mac: *mut u8, name: *mut u8)3827     pub fn sceNetEtherNtostr(mac: *mut u8, name: *mut u8);
sceNetGetLocalEtherAddr(mac: *mut u8) -> i323828     pub fn sceNetGetLocalEtherAddr(mac: *mut u8) -> i32;
sceNetGetMallocStat(stat: *mut SceNetMallocStat) -> i323829     pub fn sceNetGetMallocStat(stat: *mut SceNetMallocStat) -> i32;
3830 
sceNetAdhocctlInit( stacksize: i32, priority: i32, adhoc_id: *mut SceNetAdhocctlAdhocId, ) -> i323831     pub fn sceNetAdhocctlInit(
3832         stacksize: i32,
3833         priority: i32,
3834         adhoc_id: *mut SceNetAdhocctlAdhocId,
3835     ) -> i32;
sceNetAdhocctlTerm() -> i323836     pub fn sceNetAdhocctlTerm() -> i32;
sceNetAdhocctlConnect(name: *const u8) -> i323837     pub fn sceNetAdhocctlConnect(name: *const u8) -> i32;
sceNetAdhocctlDisconnect() -> i323838     pub fn sceNetAdhocctlDisconnect() -> i32;
sceNetAdhocctlGetState(event: *mut i32) -> i323839     pub fn sceNetAdhocctlGetState(event: *mut i32) -> i32;
sceNetAdhocctlCreate(name: *const u8) -> i323840     pub fn sceNetAdhocctlCreate(name: *const u8) -> i32;
sceNetAdhocctlJoin(scaninfo: *mut SceNetAdhocctlScanInfo) -> i323841     pub fn sceNetAdhocctlJoin(scaninfo: *mut SceNetAdhocctlScanInfo) -> i32;
sceNetAdhocctlGetAdhocId(id: *mut SceNetAdhocctlAdhocId) -> i323842     pub fn sceNetAdhocctlGetAdhocId(id: *mut SceNetAdhocctlAdhocId) -> i32;
sceNetAdhocctlCreateEnterGameMode( name: *const u8, unknown: i32, num: i32, macs: *mut u8, timeout: u32, unknown2: i32, ) -> i323843     pub fn sceNetAdhocctlCreateEnterGameMode(
3844         name: *const u8,
3845         unknown: i32,
3846         num: i32,
3847         macs: *mut u8,
3848         timeout: u32,
3849         unknown2: i32,
3850     ) -> i32;
sceNetAdhocctlJoinEnterGameMode( name: *const u8, hostmac: *mut u8, timeout: u32, unknown: i32, ) -> i323851     pub fn sceNetAdhocctlJoinEnterGameMode(
3852         name: *const u8,
3853         hostmac: *mut u8,
3854         timeout: u32,
3855         unknown: i32,
3856     ) -> i32;
sceNetAdhocctlGetGameModeInfo(gamemodeinfo: *mut SceNetAdhocctlGameModeInfo) -> i323857     pub fn sceNetAdhocctlGetGameModeInfo(gamemodeinfo: *mut SceNetAdhocctlGameModeInfo) -> i32;
sceNetAdhocctlExitGameMode() -> i323858     pub fn sceNetAdhocctlExitGameMode() -> i32;
sceNetAdhocctlGetPeerList(length: *mut i32, buf: *mut c_void) -> i323859     pub fn sceNetAdhocctlGetPeerList(length: *mut i32, buf: *mut c_void) -> i32;
sceNetAdhocctlGetPeerInfo( mac: *mut u8, size: i32, peerinfo: *mut SceNetAdhocctlPeerInfo, ) -> i323860     pub fn sceNetAdhocctlGetPeerInfo(
3861         mac: *mut u8,
3862         size: i32,
3863         peerinfo: *mut SceNetAdhocctlPeerInfo,
3864     ) -> i32;
sceNetAdhocctlScan() -> i323865     pub fn sceNetAdhocctlScan() -> i32;
sceNetAdhocctlGetScanInfo(length: *mut i32, buf: *mut c_void) -> i323866     pub fn sceNetAdhocctlGetScanInfo(length: *mut i32, buf: *mut c_void) -> i32;
sceNetAdhocctlAddHandler(handler: SceNetAdhocctlHandler, unknown: *mut c_void) -> i323867     pub fn sceNetAdhocctlAddHandler(handler: SceNetAdhocctlHandler, unknown: *mut c_void) -> i32;
sceNetAdhocctlDelHandler(id: i32) -> i323868     pub fn sceNetAdhocctlDelHandler(id: i32) -> i32;
sceNetAdhocctlGetNameByAddr(mac: *mut u8, nickname: *mut u8) -> i323869     pub fn sceNetAdhocctlGetNameByAddr(mac: *mut u8, nickname: *mut u8) -> i32;
sceNetAdhocctlGetAddrByName( nickname: *mut u8, length: *mut i32, buf: *mut c_void, ) -> i323870     pub fn sceNetAdhocctlGetAddrByName(
3871         nickname: *mut u8,
3872         length: *mut i32,
3873         buf: *mut c_void,
3874     ) -> i32;
sceNetAdhocctlGetParameter(params: *mut SceNetAdhocctlParams) -> i323875     pub fn sceNetAdhocctlGetParameter(params: *mut SceNetAdhocctlParams) -> i32;
3876 
sceNetAdhocInit() -> i323877     pub fn sceNetAdhocInit() -> i32;
sceNetAdhocTerm() -> i323878     pub fn sceNetAdhocTerm() -> i32;
sceNetAdhocPdpCreate(mac: *mut u8, port: u16, buf_size: u32, unk1: i32) -> i323879     pub fn sceNetAdhocPdpCreate(mac: *mut u8, port: u16, buf_size: u32, unk1: i32) -> i32;
sceNetAdhocPdpDelete(id: i32, unk1: i32) -> i323880     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, ) -> i323881     pub fn sceNetAdhocPdpSend(
3882         id: i32,
3883         dest_mac_addr: *mut u8,
3884         port: u16,
3885         data: *mut c_void,
3886         len: u32,
3887         timeout: u32,
3888         nonblock: i32,
3889     ) -> i32;
sceNetAdhocPdpRecv( id: i32, src_mac_addr: *mut u8, port: *mut u16, data: *mut c_void, data_length: *mut c_void, timeout: u32, nonblock: i32, ) -> i323890     pub fn sceNetAdhocPdpRecv(
3891         id: i32,
3892         src_mac_addr: *mut u8,
3893         port: *mut u16,
3894         data: *mut c_void,
3895         data_length: *mut c_void,
3896         timeout: u32,
3897         nonblock: i32,
3898     ) -> i32;
sceNetAdhocGetPdpStat(size: *mut i32, stat: *mut SceNetAdhocPdpStat) -> i323899     pub fn sceNetAdhocGetPdpStat(size: *mut i32, stat: *mut SceNetAdhocPdpStat) -> i32;
sceNetAdhocGameModeCreateMaster(data: *mut c_void, size: i32) -> i323900     pub fn sceNetAdhocGameModeCreateMaster(data: *mut c_void, size: i32) -> i32;
sceNetAdhocGameModeCreateReplica(mac: *mut u8, data: *mut c_void, size: i32) -> i323901     pub fn sceNetAdhocGameModeCreateReplica(mac: *mut u8, data: *mut c_void, size: i32) -> i32;
sceNetAdhocGameModeUpdateMaster() -> i323902     pub fn sceNetAdhocGameModeUpdateMaster() -> i32;
sceNetAdhocGameModeUpdateReplica(id: i32, unk1: i32) -> i323903     pub fn sceNetAdhocGameModeUpdateReplica(id: i32, unk1: i32) -> i32;
sceNetAdhocGameModeDeleteMaster() -> i323904     pub fn sceNetAdhocGameModeDeleteMaster() -> i32;
sceNetAdhocGameModeDeleteReplica(id: i32) -> i323905     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, ) -> i323906     pub fn sceNetAdhocPtpOpen(
3907         srcmac: *mut u8,
3908         srcport: u16,
3909         destmac: *mut u8,
3910         destport: u16,
3911         buf_size: u32,
3912         delay: u32,
3913         count: i32,
3914         unk1: i32,
3915     ) -> i32;
sceNetAdhocPtpConnect(id: i32, timeout: u32, nonblock: i32) -> i323916     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, ) -> i323917     pub fn sceNetAdhocPtpListen(
3918         srcmac: *mut u8,
3919         srcport: u16,
3920         buf_size: u32,
3921         delay: u32,
3922         count: i32,
3923         queue: i32,
3924         unk1: i32,
3925     ) -> i32;
sceNetAdhocPtpAccept( id: i32, mac: *mut u8, port: *mut u16, timeout: u32, nonblock: i32, ) -> i323926     pub fn sceNetAdhocPtpAccept(
3927         id: i32,
3928         mac: *mut u8,
3929         port: *mut u16,
3930         timeout: u32,
3931         nonblock: i32,
3932     ) -> i32;
sceNetAdhocPtpSend( id: i32, data: *mut c_void, data_size: *mut i32, timeout: u32, nonblock: i32, ) -> i323933     pub fn sceNetAdhocPtpSend(
3934         id: i32,
3935         data: *mut c_void,
3936         data_size: *mut i32,
3937         timeout: u32,
3938         nonblock: i32,
3939     ) -> i32;
sceNetAdhocPtpRecv( id: i32, data: *mut c_void, data_size: *mut i32, timeout: u32, nonblock: i32, ) -> i323940     pub fn sceNetAdhocPtpRecv(
3941         id: i32,
3942         data: *mut c_void,
3943         data_size: *mut i32,
3944         timeout: u32,
3945         nonblock: i32,
3946     ) -> i32;
sceNetAdhocPtpFlush(id: i32, timeout: u32, nonblock: i32) -> i323947     pub fn sceNetAdhocPtpFlush(id: i32, timeout: u32, nonblock: i32) -> i32;
sceNetAdhocPtpClose(id: i32, unk1: i32) -> i323948     pub fn sceNetAdhocPtpClose(id: i32, unk1: i32) -> i32;
sceNetAdhocGetPtpStat(size: *mut i32, stat: *mut SceNetAdhocPtpStat) -> i323949     pub fn sceNetAdhocGetPtpStat(size: *mut i32, stat: *mut SceNetAdhocPtpStat) -> i32;
3950 }
3951 
3952 extern "C" {
sceNetAdhocMatchingInit(memsize: i32) -> i323953     pub fn sceNetAdhocMatchingInit(memsize: i32) -> i32;
sceNetAdhocMatchingTerm() -> i323954     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, ) -> i323955     pub fn sceNetAdhocMatchingCreate(
3956         mode: AdhocMatchingMode,
3957         max_peers: i32,
3958         port: u16,
3959         buf_size: i32,
3960         hello_delay: u32,
3961         ping_delay: u32,
3962         init_count: i32,
3963         msg_delay: u32,
3964         callback: AdhocMatchingCallback,
3965     ) -> i32;
sceNetAdhocMatchingDelete(matching_id: i32) -> i323966     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, ) -> i323967     pub fn sceNetAdhocMatchingStart(
3968         matching_id: i32,
3969         evth_pri: i32,
3970         evth_stack: i32,
3971         inth_pri: i32,
3972         inth_stack: i32,
3973         opt_len: i32,
3974         opt_data: *mut c_void,
3975     ) -> i32;
sceNetAdhocMatchingStop(matching_id: i32) -> i323976     pub fn sceNetAdhocMatchingStop(matching_id: i32) -> i32;
sceNetAdhocMatchingSelectTarget( matching_id: i32, mac: *mut u8, opt_len: i32, opt_data: *mut c_void, ) -> i323977     pub fn sceNetAdhocMatchingSelectTarget(
3978         matching_id: i32,
3979         mac: *mut u8,
3980         opt_len: i32,
3981         opt_data: *mut c_void,
3982     ) -> i32;
sceNetAdhocMatchingCancelTarget(matching_id: i32, mac: *mut u8) -> i323983     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, ) -> i323984     pub fn sceNetAdhocMatchingCancelTargetWithOpt(
3985         matching_id: i32,
3986         mac: *mut u8,
3987         opt_len: i32,
3988         opt_data: *mut c_void,
3989     ) -> i32;
sceNetAdhocMatchingSendData( matching_id: i32, mac: *mut u8, data_len: i32, data: *mut c_void, ) -> i323990     pub fn sceNetAdhocMatchingSendData(
3991         matching_id: i32,
3992         mac: *mut u8,
3993         data_len: i32,
3994         data: *mut c_void,
3995     ) -> i32;
sceNetAdhocMatchingAbortSendData(matching_id: i32, mac: *mut u8) -> i323996     pub fn sceNetAdhocMatchingAbortSendData(matching_id: i32, mac: *mut u8) -> i32;
sceNetAdhocMatchingSetHelloOpt( matching_id: i32, opt_len: i32, opt_data: *mut c_void, ) -> i323997     pub fn sceNetAdhocMatchingSetHelloOpt(
3998         matching_id: i32,
3999         opt_len: i32,
4000         opt_data: *mut c_void,
4001     ) -> i32;
sceNetAdhocMatchingGetHelloOpt( matching_id: i32, opt_len: *mut i32, opt_data: *mut c_void, ) -> i324002     pub fn sceNetAdhocMatchingGetHelloOpt(
4003         matching_id: i32,
4004         opt_len: *mut i32,
4005         opt_data: *mut c_void,
4006     ) -> i32;
sceNetAdhocMatchingGetMembers( matching_id: i32, length: *mut i32, buf: *mut c_void, ) -> i324007     pub fn sceNetAdhocMatchingGetMembers(
4008         matching_id: i32,
4009         length: *mut i32,
4010         buf: *mut c_void,
4011     ) -> i32;
sceNetAdhocMatchingGetPoolMaxAlloc() -> i324012     pub fn sceNetAdhocMatchingGetPoolMaxAlloc() -> i32;
sceNetAdhocMatchingGetPoolStat(poolstat: *mut AdhocPoolStat) -> i324013     pub fn sceNetAdhocMatchingGetPoolStat(poolstat: *mut AdhocPoolStat) -> i32;
4014 }
4015 
4016 extern "C" {
sceNetApctlInit(stack_size: i32, init_priority: i32) -> i324017     pub fn sceNetApctlInit(stack_size: i32, init_priority: i32) -> i32;
sceNetApctlTerm() -> i324018     pub fn sceNetApctlTerm() -> i32;
sceNetApctlGetInfo(code: ApctlInfo, pinfo: *mut SceNetApctlInfo) -> i324019     pub fn sceNetApctlGetInfo(code: ApctlInfo, pinfo: *mut SceNetApctlInfo) -> i32;
sceNetApctlAddHandler(handler: SceNetApctlHandler, parg: *mut c_void) -> i324020     pub fn sceNetApctlAddHandler(handler: SceNetApctlHandler, parg: *mut c_void) -> i32;
sceNetApctlDelHandler(handler_id: i32) -> i324021     pub fn sceNetApctlDelHandler(handler_id: i32) -> i32;
sceNetApctlConnect(conn_index: i32) -> i324022     pub fn sceNetApctlConnect(conn_index: i32) -> i32;
sceNetApctlDisconnect() -> i324023     pub fn sceNetApctlDisconnect() -> i32;
sceNetApctlGetState(pstate: *mut ApctlState) -> i324024     pub fn sceNetApctlGetState(pstate: *mut ApctlState) -> i32;
4025 
sceNetInetInit() -> i324026     pub fn sceNetInetInit() -> i32;
sceNetInetTerm() -> i324027     pub fn sceNetInetTerm() -> i32;
sceNetInetAccept(s: i32, addr: *mut sockaddr, addr_len: *mut socklen_t) -> i324028     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) -> i324029     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) -> i324030     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, ) -> i324031     pub fn sceNetInetGetsockopt(
4032         s: i32,
4033         level: i32,
4034         opt_name: i32,
4035         opt_val: *mut c_void,
4036         optl_en: *mut socklen_t,
4037     ) -> i32;
sceNetInetListen(s: i32, backlog: i32) -> i324038     pub fn sceNetInetListen(s: i32, backlog: i32) -> i32;
sceNetInetRecv(s: i32, buf: *mut c_void, len: usize, flags: i32) -> usize4039     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, ) -> usize4040     pub fn sceNetInetRecvfrom(
4041         s: i32,
4042         buf: *mut c_void,
4043         flags: usize,
4044         arg1: i32,
4045         from: *mut sockaddr,
4046         from_len: *mut socklen_t,
4047     ) -> usize;
sceNetInetSend(s: i32, buf: *const c_void, len: usize, flags: i32) -> usize4048     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, ) -> usize4049     pub fn sceNetInetSendto(
4050         s: i32,
4051         buf: *const c_void,
4052         len: usize,
4053         flags: i32,
4054         to: *const sockaddr,
4055         to_len: socklen_t,
4056     ) -> usize;
sceNetInetSetsockopt( s: i32, level: i32, opt_name: i32, opt_val: *const c_void, opt_len: socklen_t, ) -> i324057     pub fn sceNetInetSetsockopt(
4058         s: i32,
4059         level: i32,
4060         opt_name: i32,
4061         opt_val: *const c_void,
4062         opt_len: socklen_t,
4063     ) -> i32;
sceNetInetShutdown(s: i32, how: i32) -> i324064     pub fn sceNetInetShutdown(s: i32, how: i32) -> i32;
sceNetInetSocket(domain: i32, type_: i32, protocol: i32) -> i324065     pub fn sceNetInetSocket(domain: i32, type_: i32, protocol: i32) -> i32;
sceNetInetClose(s: i32) -> i324066     pub fn sceNetInetClose(s: i32) -> i32;
sceNetInetGetErrno() -> i324067     pub fn sceNetInetGetErrno() -> i32;
4068 
sceSslInit(unknown1: i32) -> i324069     pub fn sceSslInit(unknown1: i32) -> i32;
sceSslEnd() -> i324070     pub fn sceSslEnd() -> i32;
sceSslGetUsedMemoryMax(memory: *mut u32) -> i324071     pub fn sceSslGetUsedMemoryMax(memory: *mut u32) -> i32;
sceSslGetUsedMemoryCurrent(memory: *mut u32) -> i324072     pub fn sceSslGetUsedMemoryCurrent(memory: *mut u32) -> i32;
4073 
sceHttpInit(unknown1: u32) -> i324074     pub fn sceHttpInit(unknown1: u32) -> i32;
sceHttpEnd() -> i324075     pub fn sceHttpEnd() -> i32;
sceHttpCreateTemplate(agent: *mut u8, unknown1: i32, unknown2: i32) -> i324076     pub fn sceHttpCreateTemplate(agent: *mut u8, unknown1: i32, unknown2: i32) -> i32;
sceHttpDeleteTemplate(templateid: i32) -> i324077     pub fn sceHttpDeleteTemplate(templateid: i32) -> i32;
sceHttpCreateConnection( templateid: i32, host: *mut u8, unknown1: *mut u8, port: u16, unknown2: i32, ) -> i324078     pub fn sceHttpCreateConnection(
4079         templateid: i32,
4080         host: *mut u8,
4081         unknown1: *mut u8,
4082         port: u16,
4083         unknown2: i32,
4084     ) -> i32;
sceHttpCreateConnectionWithURL(templateid: i32, url: *const u8, unknown1: i32) -> i324085     pub fn sceHttpCreateConnectionWithURL(templateid: i32, url: *const u8, unknown1: i32) -> i32;
sceHttpDeleteConnection(connection_id: i32) -> i324086     pub fn sceHttpDeleteConnection(connection_id: i32) -> i32;
sceHttpCreateRequest( connection_id: i32, method: HttpMethod, path: *mut u8, content_length: u64, ) -> i324087     pub fn sceHttpCreateRequest(
4088         connection_id: i32,
4089         method: HttpMethod,
4090         path: *mut u8,
4091         content_length: u64,
4092     ) -> i32;
sceHttpCreateRequestWithURL( connection_id: i32, method: HttpMethod, url: *mut u8, content_length: u64, ) -> i324093     pub fn sceHttpCreateRequestWithURL(
4094         connection_id: i32,
4095         method: HttpMethod,
4096         url: *mut u8,
4097         content_length: u64,
4098     ) -> i32;
sceHttpDeleteRequest(request_id: i32) -> i324099     pub fn sceHttpDeleteRequest(request_id: i32) -> i32;
sceHttpSendRequest(request_id: i32, data: *mut c_void, data_size: u32) -> i324100     pub fn sceHttpSendRequest(request_id: i32, data: *mut c_void, data_size: u32) -> i32;
sceHttpAbortRequest(request_id: i32) -> i324101     pub fn sceHttpAbortRequest(request_id: i32) -> i32;
sceHttpReadData(request_id: i32, data: *mut c_void, data_size: u32) -> i324102     pub fn sceHttpReadData(request_id: i32, data: *mut c_void, data_size: u32) -> i32;
sceHttpGetContentLength(request_id: i32, content_length: *mut u64) -> i324103     pub fn sceHttpGetContentLength(request_id: i32, content_length: *mut u64) -> i32;
sceHttpGetStatusCode(request_id: i32, status_code: *mut i32) -> i324104     pub fn sceHttpGetStatusCode(request_id: i32, status_code: *mut i32) -> i32;
sceHttpSetResolveTimeOut(id: i32, timeout: u32) -> i324105     pub fn sceHttpSetResolveTimeOut(id: i32, timeout: u32) -> i32;
sceHttpSetResolveRetry(id: i32, count: i32) -> i324106     pub fn sceHttpSetResolveRetry(id: i32, count: i32) -> i32;
sceHttpSetConnectTimeOut(id: i32, timeout: u32) -> i324107     pub fn sceHttpSetConnectTimeOut(id: i32, timeout: u32) -> i32;
sceHttpSetSendTimeOut(id: i32, timeout: u32) -> i324108     pub fn sceHttpSetSendTimeOut(id: i32, timeout: u32) -> i32;
sceHttpSetRecvTimeOut(id: i32, timeout: u32) -> i324109     pub fn sceHttpSetRecvTimeOut(id: i32, timeout: u32) -> i32;
sceHttpEnableKeepAlive(id: i32) -> i324110     pub fn sceHttpEnableKeepAlive(id: i32) -> i32;
sceHttpDisableKeepAlive(id: i32) -> i324111     pub fn sceHttpDisableKeepAlive(id: i32) -> i32;
sceHttpEnableRedirect(id: i32) -> i324112     pub fn sceHttpEnableRedirect(id: i32) -> i32;
sceHttpDisableRedirect(id: i32) -> i324113     pub fn sceHttpDisableRedirect(id: i32) -> i32;
sceHttpEnableCookie(id: i32) -> i324114     pub fn sceHttpEnableCookie(id: i32) -> i32;
sceHttpDisableCookie(id: i32) -> i324115     pub fn sceHttpDisableCookie(id: i32) -> i32;
sceHttpSaveSystemCookie() -> i324116     pub fn sceHttpSaveSystemCookie() -> i32;
sceHttpLoadSystemCookie() -> i324117     pub fn sceHttpLoadSystemCookie() -> i32;
sceHttpAddExtraHeader(id: i32, name: *mut u8, value: *mut u8, unknown1: i32) -> i324118     pub fn sceHttpAddExtraHeader(id: i32, name: *mut u8, value: *mut u8, unknown1: i32) -> i32;
sceHttpDeleteHeader(id: i32, name: *const u8) -> i324119     pub fn sceHttpDeleteHeader(id: i32, name: *const u8) -> i32;
sceHttpsInit(unknown1: i32, unknown2: i32, unknown3: i32, unknown4: i32) -> i324120     pub fn sceHttpsInit(unknown1: i32, unknown2: i32, unknown3: i32, unknown4: i32) -> i32;
sceHttpsEnd() -> i324121     pub fn sceHttpsEnd() -> i32;
sceHttpsLoadDefaultCert(unknown1: i32, unknown2: i32) -> i324122     pub fn sceHttpsLoadDefaultCert(unknown1: i32, unknown2: i32) -> i32;
sceHttpDisableAuth(id: i32) -> i324123     pub fn sceHttpDisableAuth(id: i32) -> i32;
sceHttpDisableCache(id: i32) -> i324124     pub fn sceHttpDisableCache(id: i32) -> i32;
sceHttpEnableAuth(id: i32) -> i324125     pub fn sceHttpEnableAuth(id: i32) -> i32;
sceHttpEnableCache(id: i32) -> i324126     pub fn sceHttpEnableCache(id: i32) -> i32;
sceHttpEndCache() -> i324127     pub fn sceHttpEndCache() -> i32;
sceHttpGetAllHeader(request: i32, header: *mut *mut u8, header_size: *mut u32) -> i324128     pub fn sceHttpGetAllHeader(request: i32, header: *mut *mut u8, header_size: *mut u32) -> i32;
sceHttpGetNetworkErrno(request: i32, err_num: *mut i32) -> i324129     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, ) -> i324130     pub fn sceHttpGetProxy(
4131         id: i32,
4132         activate_flag: *mut i32,
4133         mode: *mut i32,
4134         proxy_host: *mut u8,
4135         len: usize,
4136         proxy_port: *mut u16,
4137     ) -> i32;
sceHttpInitCache(max_size: usize) -> i324138     pub fn sceHttpInitCache(max_size: usize) -> i32;
sceHttpSetAuthInfoCB(id: i32, cbfunc: HttpPasswordCB) -> i324139     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, ) -> i324140     pub fn sceHttpSetProxy(
4141         id: i32,
4142         activate_flag: i32,
4143         mode: i32,
4144         new_proxy_host: *const u8,
4145         new_proxy_port: u16,
4146     ) -> i32;
sceHttpSetResHeaderMaxSize(id: i32, header_size: u32) -> i324147     pub fn sceHttpSetResHeaderMaxSize(id: i32, header_size: u32) -> i32;
sceHttpSetMallocFunction( malloc_func: HttpMallocFunction, free_func: HttpFreeFunction, realloc_func: HttpReallocFunction, ) -> i324148     pub fn sceHttpSetMallocFunction(
4149         malloc_func: HttpMallocFunction,
4150         free_func: HttpFreeFunction,
4151         realloc_func: HttpReallocFunction,
4152     ) -> i32;
4153 
sceNetResolverInit() -> i324154     pub fn sceNetResolverInit() -> i32;
sceNetResolverCreate(rid: *mut i32, buf: *mut c_void, buf_length: u32) -> i324155     pub fn sceNetResolverCreate(rid: *mut i32, buf: *mut c_void, buf_length: u32) -> i32;
sceNetResolverDelete(rid: i32) -> i324156     pub fn sceNetResolverDelete(rid: i32) -> i32;
sceNetResolverStartNtoA( rid: i32, hostname: *const u8, addr: *mut in_addr, timeout: u32, retry: i32, ) -> i324157     pub fn sceNetResolverStartNtoA(
4158         rid: i32,
4159         hostname: *const u8,
4160         addr: *mut in_addr,
4161         timeout: u32,
4162         retry: i32,
4163     ) -> i32;
sceNetResolverStartAtoN( rid: i32, addr: *const in_addr, hostname: *mut u8, hostname_len: u32, timeout: u32, retry: i32, ) -> i324164     pub fn sceNetResolverStartAtoN(
4165         rid: i32,
4166         addr: *const in_addr,
4167         hostname: *mut u8,
4168         hostname_len: u32,
4169         timeout: u32,
4170         retry: i32,
4171     ) -> i32;
sceNetResolverStop(rid: i32) -> i324172     pub fn sceNetResolverStop(rid: i32) -> i32;
sceNetResolverTerm() -> i324173     pub fn sceNetResolverTerm() -> i32;
4174 }
4175