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