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