12add0d91Sopenharmony_ci//! PSP C type definitions
22add0d91Sopenharmony_ci//!
32add0d91Sopenharmony_ci//! These type declarations are not enough, as they must be ultimately resolved
42add0d91Sopenharmony_ci//! by the linker. Crates that use these definitions must, somewhere in the
52add0d91Sopenharmony_ci//! crate graph, include a stub provider crate such as the `psp` crate.
62add0d91Sopenharmony_ci
72add0d91Sopenharmony_cipub type c_schar = i8;
82add0d91Sopenharmony_cipub type c_uchar = u8;
92add0d91Sopenharmony_cipub type c_short = i16;
102add0d91Sopenharmony_cipub type c_ushort = u16;
112add0d91Sopenharmony_cipub type c_int = i32;
122add0d91Sopenharmony_cipub type c_uint = u32;
132add0d91Sopenharmony_cipub type c_float = f32;
142add0d91Sopenharmony_cipub type c_double = f64;
152add0d91Sopenharmony_cipub type c_longlong = i64;
162add0d91Sopenharmony_cipub type c_ulonglong = u64;
172add0d91Sopenharmony_cipub type intmax_t = i64;
182add0d91Sopenharmony_cipub type uintmax_t = u64;
192add0d91Sopenharmony_ci
202add0d91Sopenharmony_cipub type size_t = usize;
212add0d91Sopenharmony_cipub type ptrdiff_t = isize;
222add0d91Sopenharmony_cipub type intptr_t = isize;
232add0d91Sopenharmony_cipub type uintptr_t = usize;
242add0d91Sopenharmony_cipub type ssize_t = isize;
252add0d91Sopenharmony_ci
262add0d91Sopenharmony_cipub type c_char = u8;
272add0d91Sopenharmony_cipub type c_long = i64;
282add0d91Sopenharmony_cipub type c_ulong = u64;
292add0d91Sopenharmony_ci
302add0d91Sopenharmony_cicfg_if! {
312add0d91Sopenharmony_ci    if #[cfg(libc_core_cvoid)] {
322add0d91Sopenharmony_ci        pub use ::ffi::c_void;
332add0d91Sopenharmony_ci    } else {
342add0d91Sopenharmony_ci        // Use repr(u8) as LLVM expects `void*` to be the same as `i8*` to help
352add0d91Sopenharmony_ci        // enable more optimization opportunities around it recognizing things
362add0d91Sopenharmony_ci        // like malloc/free.
372add0d91Sopenharmony_ci        #[repr(u8)]
382add0d91Sopenharmony_ci        #[allow(missing_copy_implementations)]
392add0d91Sopenharmony_ci        #[allow(missing_debug_implementations)]
402add0d91Sopenharmony_ci        pub enum c_void {
412add0d91Sopenharmony_ci            // Two dummy variants so the #[repr] attribute can be used.
422add0d91Sopenharmony_ci            #[doc(hidden)]
432add0d91Sopenharmony_ci            __variant1,
442add0d91Sopenharmony_ci            #[doc(hidden)]
452add0d91Sopenharmony_ci            __variant2,
462add0d91Sopenharmony_ci        }
472add0d91Sopenharmony_ci    }
482add0d91Sopenharmony_ci}
492add0d91Sopenharmony_ci
502add0d91Sopenharmony_cipub type SceKernelVTimerHandler = unsafe extern "C" fn(
512add0d91Sopenharmony_ci    uid: SceUid,
522add0d91Sopenharmony_ci    arg1: *mut SceKernelSysClock,
532add0d91Sopenharmony_ci    arg2: *mut SceKernelSysClock,
542add0d91Sopenharmony_ci    arg3: *mut c_void,
552add0d91Sopenharmony_ci) -> u32;
562add0d91Sopenharmony_ci
572add0d91Sopenharmony_cipub type SceKernelVTimerHandlerWide =
582add0d91Sopenharmony_ci    unsafe extern "C" fn(uid: SceUid, arg1: i64, arg2: i64, arg3: *mut c_void) -> u32;
592add0d91Sopenharmony_ci
602add0d91Sopenharmony_cipub type SceKernelThreadEventHandler =
612add0d91Sopenharmony_ci    unsafe extern "C" fn(mask: i32, thid: SceUid, common: *mut c_void) -> i32;
622add0d91Sopenharmony_ci
632add0d91Sopenharmony_cipub type SceKernelAlarmHandler = unsafe extern "C" fn(common: *mut c_void) -> u32;
642add0d91Sopenharmony_ci
652add0d91Sopenharmony_cipub type SceKernelCallbackFunction =
662add0d91Sopenharmony_ci    unsafe extern "C" fn(arg1: i32, arg2: i32, arg: *mut c_void) -> i32;
672add0d91Sopenharmony_ci
682add0d91Sopenharmony_cipub type SceKernelThreadEntry = unsafe extern "C" fn(args: usize, argp: *mut c_void) -> i32;
692add0d91Sopenharmony_ci
702add0d91Sopenharmony_cipub type PowerCallback = extern "C" fn(unknown: i32, power_info: i32);
712add0d91Sopenharmony_ci
722add0d91Sopenharmony_cipub type IoPermissions = i32;
732add0d91Sopenharmony_ci
742add0d91Sopenharmony_cipub type UmdCallback = fn(unknown: i32, event: i32) -> i32;
752add0d91Sopenharmony_ci
762add0d91Sopenharmony_cipub type SceMpegRingbufferCb =
772add0d91Sopenharmony_ci    ::Option<unsafe extern "C" fn(data: *mut c_void, num_packets: i32, param: *mut c_void) -> i32>;
782add0d91Sopenharmony_ci
792add0d91Sopenharmony_cipub type GuCallback = ::Option<extern "C" fn(id: i32, arg: *mut c_void)>;
802add0d91Sopenharmony_cipub type GuSwapBuffersCallback =
812add0d91Sopenharmony_ci    ::Option<extern "C" fn(display: *mut *mut c_void, render: *mut *mut c_void)>;
822add0d91Sopenharmony_ci
832add0d91Sopenharmony_cipub type SceNetAdhocctlHandler =
842add0d91Sopenharmony_ci    ::Option<unsafe extern "C" fn(flag: i32, error: i32, unknown: *mut c_void)>;
852add0d91Sopenharmony_ci
862add0d91Sopenharmony_cipub type AdhocMatchingCallback = ::Option<
872add0d91Sopenharmony_ci    unsafe extern "C" fn(
882add0d91Sopenharmony_ci        matching_id: i32,
892add0d91Sopenharmony_ci        event: i32,
902add0d91Sopenharmony_ci        mac: *mut u8,
912add0d91Sopenharmony_ci        opt_len: i32,
922add0d91Sopenharmony_ci        opt_data: *mut c_void,
932add0d91Sopenharmony_ci    ),
942add0d91Sopenharmony_ci>;
952add0d91Sopenharmony_ci
962add0d91Sopenharmony_cipub type SceNetApctlHandler = ::Option<
972add0d91Sopenharmony_ci    unsafe extern "C" fn(oldState: i32, newState: i32, event: i32, error: i32, pArg: *mut c_void),
982add0d91Sopenharmony_ci>;
992add0d91Sopenharmony_ci
1002add0d91Sopenharmony_cipub type HttpMallocFunction = ::Option<unsafe extern "C" fn(size: usize) -> *mut c_void>;
1012add0d91Sopenharmony_cipub type HttpReallocFunction =
1022add0d91Sopenharmony_ci    ::Option<unsafe extern "C" fn(p: *mut c_void, size: usize) -> *mut c_void>;
1032add0d91Sopenharmony_cipub type HttpFreeFunction = ::Option<unsafe extern "C" fn(p: *mut c_void)>;
1042add0d91Sopenharmony_cipub type HttpPasswordCB = ::Option<
1052add0d91Sopenharmony_ci    unsafe extern "C" fn(
1062add0d91Sopenharmony_ci        request: i32,
1072add0d91Sopenharmony_ci        auth_type: HttpAuthType,
1082add0d91Sopenharmony_ci        realm: *const u8,
1092add0d91Sopenharmony_ci        username: *mut u8,
1102add0d91Sopenharmony_ci        password: *mut u8,
1112add0d91Sopenharmony_ci        need_entity: i32,
1122add0d91Sopenharmony_ci        entity_body: *mut *mut u8,
1132add0d91Sopenharmony_ci        entity_size: *mut usize,
1142add0d91Sopenharmony_ci        save: *mut i32,
1152add0d91Sopenharmony_ci    ) -> i32,
1162add0d91Sopenharmony_ci>;
1172add0d91Sopenharmony_ci
1182add0d91Sopenharmony_cipub type socklen_t = u32;
1192add0d91Sopenharmony_ci
1202add0d91Sopenharmony_cie! {
1212add0d91Sopenharmony_ci    #[repr(u32)]
1222add0d91Sopenharmony_ci    pub enum AudioFormat {
1232add0d91Sopenharmony_ci        Stereo = 0,
1242add0d91Sopenharmony_ci        Mono = 0x10,
1252add0d91Sopenharmony_ci    }
1262add0d91Sopenharmony_ci
1272add0d91Sopenharmony_ci    #[repr(u32)]
1282add0d91Sopenharmony_ci    pub enum DisplayMode {
1292add0d91Sopenharmony_ci        Lcd = 0,
1302add0d91Sopenharmony_ci    }
1312add0d91Sopenharmony_ci
1322add0d91Sopenharmony_ci    #[repr(u32)]
1332add0d91Sopenharmony_ci    pub enum DisplayPixelFormat {
1342add0d91Sopenharmony_ci        Psm5650 = 0,
1352add0d91Sopenharmony_ci        Psm5551 = 1,
1362add0d91Sopenharmony_ci        Psm4444 = 2,
1372add0d91Sopenharmony_ci        Psm8888 = 3,
1382add0d91Sopenharmony_ci    }
1392add0d91Sopenharmony_ci
1402add0d91Sopenharmony_ci    #[repr(u32)]
1412add0d91Sopenharmony_ci    pub enum DisplaySetBufSync {
1422add0d91Sopenharmony_ci        Immediate = 0,
1432add0d91Sopenharmony_ci        NextFrame = 1,
1442add0d91Sopenharmony_ci    }
1452add0d91Sopenharmony_ci
1462add0d91Sopenharmony_ci    #[repr(i32)]
1472add0d91Sopenharmony_ci    pub enum AudioOutputFrequency {
1482add0d91Sopenharmony_ci        Khz48 = 48000,
1492add0d91Sopenharmony_ci        Khz44_1 = 44100,
1502add0d91Sopenharmony_ci        Khz32 = 32000,
1512add0d91Sopenharmony_ci        Khz24 = 24000,
1522add0d91Sopenharmony_ci        Khz22_05 = 22050,
1532add0d91Sopenharmony_ci        Khz16 = 16000,
1542add0d91Sopenharmony_ci        Khz12 = 12000,
1552add0d91Sopenharmony_ci        Khz11_025 = 11025,
1562add0d91Sopenharmony_ci        Khz8 = 8000,
1572add0d91Sopenharmony_ci    }
1582add0d91Sopenharmony_ci
1592add0d91Sopenharmony_ci    #[repr(i32)]
1602add0d91Sopenharmony_ci    pub enum AudioInputFrequency {
1612add0d91Sopenharmony_ci        Khz44_1 = 44100,
1622add0d91Sopenharmony_ci        Khz22_05 = 22050,
1632add0d91Sopenharmony_ci        Khz11_025 = 11025,
1642add0d91Sopenharmony_ci    }
1652add0d91Sopenharmony_ci
1662add0d91Sopenharmony_ci    #[repr(u32)]
1672add0d91Sopenharmony_ci    pub enum CtrlMode {
1682add0d91Sopenharmony_ci        Digital = 0,
1692add0d91Sopenharmony_ci        Analog,
1702add0d91Sopenharmony_ci    }
1712add0d91Sopenharmony_ci
1722add0d91Sopenharmony_ci    #[repr(i32)]
1732add0d91Sopenharmony_ci    pub enum GeMatrixType {
1742add0d91Sopenharmony_ci        Bone0 = 0,
1752add0d91Sopenharmony_ci        Bone1,
1762add0d91Sopenharmony_ci        Bone2,
1772add0d91Sopenharmony_ci        Bone3,
1782add0d91Sopenharmony_ci        Bone4,
1792add0d91Sopenharmony_ci        Bone5,
1802add0d91Sopenharmony_ci        Bone6,
1812add0d91Sopenharmony_ci        Bone7,
1822add0d91Sopenharmony_ci        World,
1832add0d91Sopenharmony_ci        View,
1842add0d91Sopenharmony_ci        Projection,
1852add0d91Sopenharmony_ci        TexGen,
1862add0d91Sopenharmony_ci    }
1872add0d91Sopenharmony_ci
1882add0d91Sopenharmony_ci    #[repr(i32)]
1892add0d91Sopenharmony_ci    pub enum GeListState {
1902add0d91Sopenharmony_ci        Done = 0,
1912add0d91Sopenharmony_ci        Queued,
1922add0d91Sopenharmony_ci        DrawingDone,
1932add0d91Sopenharmony_ci        StallReached,
1942add0d91Sopenharmony_ci        CancelDone,
1952add0d91Sopenharmony_ci    }
1962add0d91Sopenharmony_ci
1972add0d91Sopenharmony_ci    #[repr(u8)]
1982add0d91Sopenharmony_ci    pub enum GeCommand {
1992add0d91Sopenharmony_ci        Nop = 0,
2002add0d91Sopenharmony_ci        Vaddr = 0x1,
2012add0d91Sopenharmony_ci        Iaddr = 0x2,
2022add0d91Sopenharmony_ci        Prim = 0x4,
2032add0d91Sopenharmony_ci        Bezier = 0x5,
2042add0d91Sopenharmony_ci        Spline = 0x6,
2052add0d91Sopenharmony_ci        BoundingBox = 0x7,
2062add0d91Sopenharmony_ci        Jump = 0x8,
2072add0d91Sopenharmony_ci        BJump = 0x9,
2082add0d91Sopenharmony_ci        Call = 0xa,
2092add0d91Sopenharmony_ci        Ret = 0xb,
2102add0d91Sopenharmony_ci        End = 0xc,
2112add0d91Sopenharmony_ci        Signal = 0xe,
2122add0d91Sopenharmony_ci        Finish = 0xf,
2132add0d91Sopenharmony_ci        Base = 0x10,
2142add0d91Sopenharmony_ci        VertexType = 0x12,
2152add0d91Sopenharmony_ci        OffsetAddr = 0x13,
2162add0d91Sopenharmony_ci        Origin = 0x14,
2172add0d91Sopenharmony_ci        Region1 = 0x15,
2182add0d91Sopenharmony_ci        Region2 = 0x16,
2192add0d91Sopenharmony_ci        LightingEnable = 0x17,
2202add0d91Sopenharmony_ci        LightEnable0 = 0x18,
2212add0d91Sopenharmony_ci        LightEnable1 = 0x19,
2222add0d91Sopenharmony_ci        LightEnable2 = 0x1a,
2232add0d91Sopenharmony_ci        LightEnable3 = 0x1b,
2242add0d91Sopenharmony_ci        DepthClampEnable = 0x1c,
2252add0d91Sopenharmony_ci        CullFaceEnable = 0x1d,
2262add0d91Sopenharmony_ci        TextureMapEnable = 0x1e,
2272add0d91Sopenharmony_ci        FogEnable = 0x1f,
2282add0d91Sopenharmony_ci        DitherEnable = 0x20,
2292add0d91Sopenharmony_ci        AlphaBlendEnable = 0x21,
2302add0d91Sopenharmony_ci        AlphaTestEnable = 0x22,
2312add0d91Sopenharmony_ci        ZTestEnable = 0x23,
2322add0d91Sopenharmony_ci        StencilTestEnable = 0x24,
2332add0d91Sopenharmony_ci        AntiAliasEnable = 0x25,
2342add0d91Sopenharmony_ci        PatchCullEnable = 0x26,
2352add0d91Sopenharmony_ci        ColorTestEnable = 0x27,
2362add0d91Sopenharmony_ci        LogicOpEnable = 0x28,
2372add0d91Sopenharmony_ci        BoneMatrixNumber = 0x2a,
2382add0d91Sopenharmony_ci        BoneMatrixData = 0x2b,
2392add0d91Sopenharmony_ci        MorphWeight0 = 0x2c,
2402add0d91Sopenharmony_ci        MorphWeight1 = 0x2d,
2412add0d91Sopenharmony_ci        MorphWeight2 = 0x2e,
2422add0d91Sopenharmony_ci        MorphWeight3 = 0x2f,
2432add0d91Sopenharmony_ci        MorphWeight4 = 0x30,
2442add0d91Sopenharmony_ci        MorphWeight5 = 0x31,
2452add0d91Sopenharmony_ci        MorphWeight6 = 0x32,
2462add0d91Sopenharmony_ci        MorphWeight7 = 0x33,
2472add0d91Sopenharmony_ci        PatchDivision = 0x36,
2482add0d91Sopenharmony_ci        PatchPrimitive = 0x37,
2492add0d91Sopenharmony_ci        PatchFacing = 0x38,
2502add0d91Sopenharmony_ci        WorldMatrixNumber = 0x3a,
2512add0d91Sopenharmony_ci        WorldMatrixData = 0x3b,
2522add0d91Sopenharmony_ci        ViewMatrixNumber = 0x3c,
2532add0d91Sopenharmony_ci        ViewMatrixData = 0x3d,
2542add0d91Sopenharmony_ci        ProjMatrixNumber = 0x3e,
2552add0d91Sopenharmony_ci        ProjMatrixData = 0x3f,
2562add0d91Sopenharmony_ci        TGenMatrixNumber = 0x40,
2572add0d91Sopenharmony_ci        TGenMatrixData = 0x41,
2582add0d91Sopenharmony_ci        ViewportXScale = 0x42,
2592add0d91Sopenharmony_ci        ViewportYScale = 0x43,
2602add0d91Sopenharmony_ci        ViewportZScale = 0x44,
2612add0d91Sopenharmony_ci        ViewportXCenter = 0x45,
2622add0d91Sopenharmony_ci        ViewportYCenter = 0x46,
2632add0d91Sopenharmony_ci        ViewportZCenter = 0x47,
2642add0d91Sopenharmony_ci        TexScaleU = 0x48,
2652add0d91Sopenharmony_ci        TexScaleV = 0x49,
2662add0d91Sopenharmony_ci        TexOffsetU = 0x4a,
2672add0d91Sopenharmony_ci        TexOffsetV = 0x4b,
2682add0d91Sopenharmony_ci        OffsetX = 0x4c,
2692add0d91Sopenharmony_ci        OffsetY = 0x4d,
2702add0d91Sopenharmony_ci        ShadeMode = 0x50,
2712add0d91Sopenharmony_ci        ReverseNormal = 0x51,
2722add0d91Sopenharmony_ci        MaterialUpdate = 0x53,
2732add0d91Sopenharmony_ci        MaterialEmissive = 0x54,
2742add0d91Sopenharmony_ci        MaterialAmbient = 0x55,
2752add0d91Sopenharmony_ci        MaterialDiffuse = 0x56,
2762add0d91Sopenharmony_ci        MaterialSpecular = 0x57,
2772add0d91Sopenharmony_ci        MaterialAlpha = 0x58,
2782add0d91Sopenharmony_ci        MaterialSpecularCoef = 0x5b,
2792add0d91Sopenharmony_ci        AmbientColor = 0x5c,
2802add0d91Sopenharmony_ci        AmbientAlpha = 0x5d,
2812add0d91Sopenharmony_ci        LightMode = 0x5e,
2822add0d91Sopenharmony_ci        LightType0 = 0x5f,
2832add0d91Sopenharmony_ci        LightType1 = 0x60,
2842add0d91Sopenharmony_ci        LightType2 = 0x61,
2852add0d91Sopenharmony_ci        LightType3 = 0x62,
2862add0d91Sopenharmony_ci        Light0X = 0x63,
2872add0d91Sopenharmony_ci        Light0Y,
2882add0d91Sopenharmony_ci        Light0Z,
2892add0d91Sopenharmony_ci        Light1X,
2902add0d91Sopenharmony_ci        Light1Y,
2912add0d91Sopenharmony_ci        Light1Z,
2922add0d91Sopenharmony_ci        Light2X,
2932add0d91Sopenharmony_ci        Light2Y,
2942add0d91Sopenharmony_ci        Light2Z,
2952add0d91Sopenharmony_ci        Light3X,
2962add0d91Sopenharmony_ci        Light3Y,
2972add0d91Sopenharmony_ci        Light3Z,
2982add0d91Sopenharmony_ci        Light0DirectionX = 0x6f,
2992add0d91Sopenharmony_ci        Light0DirectionY,
3002add0d91Sopenharmony_ci        Light0DirectionZ,
3012add0d91Sopenharmony_ci        Light1DirectionX,
3022add0d91Sopenharmony_ci        Light1DirectionY,
3032add0d91Sopenharmony_ci        Light1DirectionZ,
3042add0d91Sopenharmony_ci        Light2DirectionX,
3052add0d91Sopenharmony_ci        Light2DirectionY,
3062add0d91Sopenharmony_ci        Light2DirectionZ,
3072add0d91Sopenharmony_ci        Light3DirectionX,
3082add0d91Sopenharmony_ci        Light3DirectionY,
3092add0d91Sopenharmony_ci        Light3DirectionZ,
3102add0d91Sopenharmony_ci        Light0ConstantAtten = 0x7b,
3112add0d91Sopenharmony_ci        Light0LinearAtten,
3122add0d91Sopenharmony_ci        Light0QuadtraticAtten,
3132add0d91Sopenharmony_ci        Light1ConstantAtten,
3142add0d91Sopenharmony_ci        Light1LinearAtten,
3152add0d91Sopenharmony_ci        Light1QuadtraticAtten,
3162add0d91Sopenharmony_ci        Light2ConstantAtten,
3172add0d91Sopenharmony_ci        Light2LinearAtten,
3182add0d91Sopenharmony_ci        Light2QuadtraticAtten,
3192add0d91Sopenharmony_ci        Light3ConstantAtten,
3202add0d91Sopenharmony_ci        Light3LinearAtten,
3212add0d91Sopenharmony_ci        Light3QuadtraticAtten,
3222add0d91Sopenharmony_ci        Light0ExponentAtten = 0x87,
3232add0d91Sopenharmony_ci        Light1ExponentAtten,
3242add0d91Sopenharmony_ci        Light2ExponentAtten,
3252add0d91Sopenharmony_ci        Light3ExponentAtten,
3262add0d91Sopenharmony_ci        Light0CutoffAtten = 0x8b,
3272add0d91Sopenharmony_ci        Light1CutoffAtten,
3282add0d91Sopenharmony_ci        Light2CutoffAtten,
3292add0d91Sopenharmony_ci        Light3CutoffAtten,
3302add0d91Sopenharmony_ci        Light0Ambient = 0x8f,
3312add0d91Sopenharmony_ci        Light0Diffuse,
3322add0d91Sopenharmony_ci        Light0Specular,
3332add0d91Sopenharmony_ci        Light1Ambient,
3342add0d91Sopenharmony_ci        Light1Diffuse,
3352add0d91Sopenharmony_ci        Light1Specular,
3362add0d91Sopenharmony_ci        Light2Ambient,
3372add0d91Sopenharmony_ci        Light2Diffuse,
3382add0d91Sopenharmony_ci        Light2Specular,
3392add0d91Sopenharmony_ci        Light3Ambient,
3402add0d91Sopenharmony_ci        Light3Diffuse,
3412add0d91Sopenharmony_ci        Light3Specular,
3422add0d91Sopenharmony_ci        Cull = 0x9b,
3432add0d91Sopenharmony_ci        FrameBufPtr = 0x9c,
3442add0d91Sopenharmony_ci        FrameBufWidth = 0x9d,
3452add0d91Sopenharmony_ci        ZBufPtr = 0x9e,
3462add0d91Sopenharmony_ci        ZBufWidth = 0x9f,
3472add0d91Sopenharmony_ci        TexAddr0 = 0xa0,
3482add0d91Sopenharmony_ci        TexAddr1,
3492add0d91Sopenharmony_ci        TexAddr2,
3502add0d91Sopenharmony_ci        TexAddr3,
3512add0d91Sopenharmony_ci        TexAddr4,
3522add0d91Sopenharmony_ci        TexAddr5,
3532add0d91Sopenharmony_ci        TexAddr6,
3542add0d91Sopenharmony_ci        TexAddr7,
3552add0d91Sopenharmony_ci        TexBufWidth0 = 0xa8,
3562add0d91Sopenharmony_ci        TexBufWidth1,
3572add0d91Sopenharmony_ci        TexBufWidth2,
3582add0d91Sopenharmony_ci        TexBufWidth3,
3592add0d91Sopenharmony_ci        TexBufWidth4,
3602add0d91Sopenharmony_ci        TexBufWidth5,
3612add0d91Sopenharmony_ci        TexBufWidth6,
3622add0d91Sopenharmony_ci        TexBufWidth7,
3632add0d91Sopenharmony_ci        ClutAddr = 0xb0,
3642add0d91Sopenharmony_ci        ClutAddrUpper = 0xb1,
3652add0d91Sopenharmony_ci        TransferSrc,
3662add0d91Sopenharmony_ci        TransferSrcW,
3672add0d91Sopenharmony_ci        TransferDst,
3682add0d91Sopenharmony_ci        TransferDstW,
3692add0d91Sopenharmony_ci        TexSize0 = 0xb8,
3702add0d91Sopenharmony_ci        TexSize1,
3712add0d91Sopenharmony_ci        TexSize2,
3722add0d91Sopenharmony_ci        TexSize3,
3732add0d91Sopenharmony_ci        TexSize4,
3742add0d91Sopenharmony_ci        TexSize5,
3752add0d91Sopenharmony_ci        TexSize6,
3762add0d91Sopenharmony_ci        TexSize7,
3772add0d91Sopenharmony_ci        TexMapMode = 0xc0,
3782add0d91Sopenharmony_ci        TexShadeLs = 0xc1,
3792add0d91Sopenharmony_ci        TexMode = 0xc2,
3802add0d91Sopenharmony_ci        TexFormat = 0xc3,
3812add0d91Sopenharmony_ci        LoadClut = 0xc4,
3822add0d91Sopenharmony_ci        ClutFormat = 0xc5,
3832add0d91Sopenharmony_ci        TexFilter = 0xc6,
3842add0d91Sopenharmony_ci        TexWrap = 0xc7,
3852add0d91Sopenharmony_ci        TexLevel = 0xc8,
3862add0d91Sopenharmony_ci        TexFunc = 0xc9,
3872add0d91Sopenharmony_ci        TexEnvColor = 0xca,
3882add0d91Sopenharmony_ci        TexFlush = 0xcb,
3892add0d91Sopenharmony_ci        TexSync = 0xcc,
3902add0d91Sopenharmony_ci        Fog1 = 0xcd,
3912add0d91Sopenharmony_ci        Fog2 = 0xce,
3922add0d91Sopenharmony_ci        FogColor = 0xcf,
3932add0d91Sopenharmony_ci        TexLodSlope = 0xd0,
3942add0d91Sopenharmony_ci        FramebufPixFormat = 0xd2,
3952add0d91Sopenharmony_ci        ClearMode = 0xd3,
3962add0d91Sopenharmony_ci        Scissor1 = 0xd4,
3972add0d91Sopenharmony_ci        Scissor2 = 0xd5,
3982add0d91Sopenharmony_ci        MinZ = 0xd6,
3992add0d91Sopenharmony_ci        MaxZ = 0xd7,
4002add0d91Sopenharmony_ci        ColorTest = 0xd8,
4012add0d91Sopenharmony_ci        ColorRef = 0xd9,
4022add0d91Sopenharmony_ci        ColorTestmask = 0xda,
4032add0d91Sopenharmony_ci        AlphaTest = 0xdb,
4042add0d91Sopenharmony_ci        StencilTest = 0xdc,
4052add0d91Sopenharmony_ci        StencilOp = 0xdd,
4062add0d91Sopenharmony_ci        ZTest = 0xde,
4072add0d91Sopenharmony_ci        BlendMode = 0xdf,
4082add0d91Sopenharmony_ci        BlendFixedA = 0xe0,
4092add0d91Sopenharmony_ci        BlendFixedB = 0xe1,
4102add0d91Sopenharmony_ci        Dith0 = 0xe2,
4112add0d91Sopenharmony_ci        Dith1,
4122add0d91Sopenharmony_ci        Dith2,
4132add0d91Sopenharmony_ci        Dith3,
4142add0d91Sopenharmony_ci        LogicOp = 0xe6,
4152add0d91Sopenharmony_ci        ZWriteDisable = 0xe7,
4162add0d91Sopenharmony_ci        MaskRgb = 0xe8,
4172add0d91Sopenharmony_ci        MaskAlpha = 0xe9,
4182add0d91Sopenharmony_ci        TransferStart = 0xea,
4192add0d91Sopenharmony_ci        TransferSrcPos = 0xeb,
4202add0d91Sopenharmony_ci        TransferDstPos = 0xec,
4212add0d91Sopenharmony_ci        TransferSize = 0xee,
4222add0d91Sopenharmony_ci        Vscx = 0xf0,
4232add0d91Sopenharmony_ci        Vscy = 0xf1,
4242add0d91Sopenharmony_ci        Vscz = 0xf2,
4252add0d91Sopenharmony_ci        Vtcs = 0xf3,
4262add0d91Sopenharmony_ci        Vtct = 0xf4,
4272add0d91Sopenharmony_ci        Vtcq = 0xf5,
4282add0d91Sopenharmony_ci        Vcv = 0xf6,
4292add0d91Sopenharmony_ci        Vap = 0xf7,
4302add0d91Sopenharmony_ci        Vfc = 0xf8,
4312add0d91Sopenharmony_ci        Vscv = 0xf9,
4322add0d91Sopenharmony_ci
4332add0d91Sopenharmony_ci        Unknown03 = 0x03,
4342add0d91Sopenharmony_ci        Unknown0D = 0x0d,
4352add0d91Sopenharmony_ci        Unknown11 = 0x11,
4362add0d91Sopenharmony_ci        Unknown29 = 0x29,
4372add0d91Sopenharmony_ci        Unknown34 = 0x34,
4382add0d91Sopenharmony_ci        Unknown35 = 0x35,
4392add0d91Sopenharmony_ci        Unknown39 = 0x39,
4402add0d91Sopenharmony_ci        Unknown4E = 0x4e,
4412add0d91Sopenharmony_ci        Unknown4F = 0x4f,
4422add0d91Sopenharmony_ci        Unknown52 = 0x52,
4432add0d91Sopenharmony_ci        Unknown59 = 0x59,
4442add0d91Sopenharmony_ci        Unknown5A = 0x5a,
4452add0d91Sopenharmony_ci        UnknownB6 = 0xb6,
4462add0d91Sopenharmony_ci        UnknownB7 = 0xb7,
4472add0d91Sopenharmony_ci        UnknownD1 = 0xd1,
4482add0d91Sopenharmony_ci        UnknownED = 0xed,
4492add0d91Sopenharmony_ci        UnknownEF = 0xef,
4502add0d91Sopenharmony_ci        UnknownFA = 0xfa,
4512add0d91Sopenharmony_ci        UnknownFB = 0xfb,
4522add0d91Sopenharmony_ci        UnknownFC = 0xfc,
4532add0d91Sopenharmony_ci        UnknownFD = 0xfd,
4542add0d91Sopenharmony_ci        UnknownFE = 0xfe,
4552add0d91Sopenharmony_ci        NopFF = 0xff,
4562add0d91Sopenharmony_ci    }
4572add0d91Sopenharmony_ci
4582add0d91Sopenharmony_ci    #[repr(i32)]
4592add0d91Sopenharmony_ci    pub enum SceSysMemPartitionId {
4602add0d91Sopenharmony_ci        SceKernelUnknownPartition = 0,
4612add0d91Sopenharmony_ci        SceKernelPrimaryKernelPartition = 1,
4622add0d91Sopenharmony_ci        SceKernelPrimaryUserPartition = 2,
4632add0d91Sopenharmony_ci        SceKernelOtherKernelPartition1 = 3,
4642add0d91Sopenharmony_ci        SceKernelOtherKernelPartition2 = 4,
4652add0d91Sopenharmony_ci        SceKernelVshellPARTITION = 5,
4662add0d91Sopenharmony_ci        SceKernelScUserPartition = 6,
4672add0d91Sopenharmony_ci        SceKernelMeUserPartition = 7,
4682add0d91Sopenharmony_ci        SceKernelExtendedScKernelPartition = 8,
4692add0d91Sopenharmony_ci        SceKernelExtendedSc2KernelPartition = 9,
4702add0d91Sopenharmony_ci        SceKernelExtendedMeKernelPartition = 10,
4712add0d91Sopenharmony_ci        SceKernelVshellKernelPartition = 11,
4722add0d91Sopenharmony_ci        SceKernelExtendedKernelPartition = 12,
4732add0d91Sopenharmony_ci    }
4742add0d91Sopenharmony_ci
4752add0d91Sopenharmony_ci    #[repr(i32)]
4762add0d91Sopenharmony_ci    pub enum SceSysMemBlockTypes {
4772add0d91Sopenharmony_ci        Low = 0,
4782add0d91Sopenharmony_ci        High,
4792add0d91Sopenharmony_ci        Addr,
4802add0d91Sopenharmony_ci    }
4812add0d91Sopenharmony_ci
4822add0d91Sopenharmony_ci    #[repr(u32)]
4832add0d91Sopenharmony_ci    pub enum Interrupt {
4842add0d91Sopenharmony_ci        Gpio = 4,
4852add0d91Sopenharmony_ci        Ata = 5,
4862add0d91Sopenharmony_ci        Umd = 6,
4872add0d91Sopenharmony_ci        Mscm0 = 7,
4882add0d91Sopenharmony_ci        Wlan = 8,
4892add0d91Sopenharmony_ci        Audio = 10,
4902add0d91Sopenharmony_ci        I2c = 12,
4912add0d91Sopenharmony_ci        Sircs = 14,
4922add0d91Sopenharmony_ci        Systimer0 = 15,
4932add0d91Sopenharmony_ci        Systimer1 = 16,
4942add0d91Sopenharmony_ci        Systimer2 = 17,
4952add0d91Sopenharmony_ci        Systimer3 = 18,
4962add0d91Sopenharmony_ci        Thread0 = 19,
4972add0d91Sopenharmony_ci        Nand = 20,
4982add0d91Sopenharmony_ci        Dmacplus = 21,
4992add0d91Sopenharmony_ci        Dma0 = 22,
5002add0d91Sopenharmony_ci        Dma1 = 23,
5012add0d91Sopenharmony_ci        Memlmd = 24,
5022add0d91Sopenharmony_ci        Ge = 25,
5032add0d91Sopenharmony_ci        Vblank = 30,
5042add0d91Sopenharmony_ci        Mecodec = 31,
5052add0d91Sopenharmony_ci        Hpremote = 36,
5062add0d91Sopenharmony_ci        Mscm1 = 60,
5072add0d91Sopenharmony_ci        Mscm2 = 61,
5082add0d91Sopenharmony_ci        Thread1 = 65,
5092add0d91Sopenharmony_ci        Interrupt = 66,
5102add0d91Sopenharmony_ci    }
5112add0d91Sopenharmony_ci
5122add0d91Sopenharmony_ci    #[repr(u32)]
5132add0d91Sopenharmony_ci    pub enum SubInterrupt {
5142add0d91Sopenharmony_ci        Gpio = Interrupt::Gpio as u32,
5152add0d91Sopenharmony_ci        Ata = Interrupt::Ata as u32,
5162add0d91Sopenharmony_ci        Umd = Interrupt::Umd as u32,
5172add0d91Sopenharmony_ci        Dmacplus = Interrupt::Dmacplus as u32,
5182add0d91Sopenharmony_ci        Ge = Interrupt::Ge as u32,
5192add0d91Sopenharmony_ci        Display = Interrupt::Vblank as u32,
5202add0d91Sopenharmony_ci    }
5212add0d91Sopenharmony_ci
5222add0d91Sopenharmony_ci    #[repr(u32)]
5232add0d91Sopenharmony_ci    pub enum SceKernelIdListType {
5242add0d91Sopenharmony_ci        Thread = 1,
5252add0d91Sopenharmony_ci        Semaphore = 2,
5262add0d91Sopenharmony_ci        EventFlag = 3,
5272add0d91Sopenharmony_ci        Mbox = 4,
5282add0d91Sopenharmony_ci        Vpl = 5,
5292add0d91Sopenharmony_ci        Fpl = 6,
5302add0d91Sopenharmony_ci        Mpipe = 7,
5312add0d91Sopenharmony_ci        Callback = 8,
5322add0d91Sopenharmony_ci        ThreadEventHandler = 9,
5332add0d91Sopenharmony_ci        Alarm = 10,
5342add0d91Sopenharmony_ci        VTimer = 11,
5352add0d91Sopenharmony_ci        SleepThread = 64,
5362add0d91Sopenharmony_ci        DelayThread = 65,
5372add0d91Sopenharmony_ci        SuspendThread = 66,
5382add0d91Sopenharmony_ci        DormantThread = 67,
5392add0d91Sopenharmony_ci    }
5402add0d91Sopenharmony_ci
5412add0d91Sopenharmony_ci    #[repr(i32)]
5422add0d91Sopenharmony_ci    pub enum UsbCamResolution {
5432add0d91Sopenharmony_ci        Px160_120 = 0,
5442add0d91Sopenharmony_ci        Px176_144 = 1,
5452add0d91Sopenharmony_ci        Px320_240 = 2,
5462add0d91Sopenharmony_ci        Px352_288 = 3,
5472add0d91Sopenharmony_ci        Px640_480 = 4,
5482add0d91Sopenharmony_ci        Px1024_768 = 5,
5492add0d91Sopenharmony_ci        Px1280_960 = 6,
5502add0d91Sopenharmony_ci        Px480_272 = 7,
5512add0d91Sopenharmony_ci        Px360_272 = 8,
5522add0d91Sopenharmony_ci    }
5532add0d91Sopenharmony_ci
5542add0d91Sopenharmony_ci    #[repr(i32)]
5552add0d91Sopenharmony_ci    pub enum UsbCamResolutionEx {
5562add0d91Sopenharmony_ci        Px160_120 = 0,
5572add0d91Sopenharmony_ci        Px176_144 = 1,
5582add0d91Sopenharmony_ci        Px320_240 = 2,
5592add0d91Sopenharmony_ci        Px352_288 = 3,
5602add0d91Sopenharmony_ci        Px360_272 = 4,
5612add0d91Sopenharmony_ci        Px480_272 = 5,
5622add0d91Sopenharmony_ci        Px640_480 = 6,
5632add0d91Sopenharmony_ci        Px1024_768 = 7,
5642add0d91Sopenharmony_ci        Px1280_960 = 8,
5652add0d91Sopenharmony_ci    }
5662add0d91Sopenharmony_ci
5672add0d91Sopenharmony_ci    #[repr(i32)]
5682add0d91Sopenharmony_ci    pub enum UsbCamDelay {
5692add0d91Sopenharmony_ci        NoDelay = 0,
5702add0d91Sopenharmony_ci        Delay10Sec = 1,
5712add0d91Sopenharmony_ci        Delay20Sec = 2,
5722add0d91Sopenharmony_ci        Delay30Sec = 3,
5732add0d91Sopenharmony_ci    }
5742add0d91Sopenharmony_ci
5752add0d91Sopenharmony_ci    #[repr(i32)]
5762add0d91Sopenharmony_ci    pub enum UsbCamFrameRate {
5772add0d91Sopenharmony_ci        Fps3_75 = 0,
5782add0d91Sopenharmony_ci        Fps5 = 1,
5792add0d91Sopenharmony_ci        Fps7_5 = 2,
5802add0d91Sopenharmony_ci        Fps10 = 3,
5812add0d91Sopenharmony_ci        Fps15 = 4,
5822add0d91Sopenharmony_ci        Fps20 = 5,
5832add0d91Sopenharmony_ci        Fps30 = 6,
5842add0d91Sopenharmony_ci        Fps60 = 7,
5852add0d91Sopenharmony_ci    }
5862add0d91Sopenharmony_ci
5872add0d91Sopenharmony_ci    #[repr(i32)]
5882add0d91Sopenharmony_ci    pub enum UsbCamWb {
5892add0d91Sopenharmony_ci        Auto = 0,
5902add0d91Sopenharmony_ci        Daylight = 1,
5912add0d91Sopenharmony_ci        Fluorescent = 2,
5922add0d91Sopenharmony_ci        Incadescent = 3,
5932add0d91Sopenharmony_ci    }
5942add0d91Sopenharmony_ci
5952add0d91Sopenharmony_ci    #[repr(i32)]
5962add0d91Sopenharmony_ci    pub enum UsbCamEffectMode {
5972add0d91Sopenharmony_ci        Normal = 0,
5982add0d91Sopenharmony_ci        Negative = 1,
5992add0d91Sopenharmony_ci        Blackwhite = 2,
6002add0d91Sopenharmony_ci        Sepia = 3,
6012add0d91Sopenharmony_ci        Blue = 4,
6022add0d91Sopenharmony_ci        Red = 5,
6032add0d91Sopenharmony_ci        Green = 6,
6042add0d91Sopenharmony_ci    }
6052add0d91Sopenharmony_ci
6062add0d91Sopenharmony_ci    #[repr(i32)]
6072add0d91Sopenharmony_ci    pub enum UsbCamEvLevel {
6082add0d91Sopenharmony_ci        Pos2_0 = 0,
6092add0d91Sopenharmony_ci        Pos1_7 = 1,
6102add0d91Sopenharmony_ci        Pos1_5 = 2,
6112add0d91Sopenharmony_ci        Pos1_3 = 3,
6122add0d91Sopenharmony_ci        Pos1_0 = 4,
6132add0d91Sopenharmony_ci        Pos0_7 = 5,
6142add0d91Sopenharmony_ci        Pos0_5 = 6,
6152add0d91Sopenharmony_ci        Pos0_3 = 7,
6162add0d91Sopenharmony_ci        Zero = 8,
6172add0d91Sopenharmony_ci        Neg0_3,
6182add0d91Sopenharmony_ci        Neg0_5,
6192add0d91Sopenharmony_ci        Neg0_7,
6202add0d91Sopenharmony_ci        Neg1_0,
6212add0d91Sopenharmony_ci        Neg1_3,
6222add0d91Sopenharmony_ci        Neg1_5,
6232add0d91Sopenharmony_ci        Neg1_7,
6242add0d91Sopenharmony_ci        Neg2_0,
6252add0d91Sopenharmony_ci    }
6262add0d91Sopenharmony_ci
6272add0d91Sopenharmony_ci    #[repr(i32)]
6282add0d91Sopenharmony_ci    pub enum RtcCheckValidError {
6292add0d91Sopenharmony_ci        InvalidYear = -1,
6302add0d91Sopenharmony_ci        InvalidMonth = -2,
6312add0d91Sopenharmony_ci        InvalidDay = -3,
6322add0d91Sopenharmony_ci        InvalidHour = -4,
6332add0d91Sopenharmony_ci        InvalidMinutes = -5,
6342add0d91Sopenharmony_ci        InvalidSeconds = -6,
6352add0d91Sopenharmony_ci        InvalidMicroseconds = -7,
6362add0d91Sopenharmony_ci    }
6372add0d91Sopenharmony_ci
6382add0d91Sopenharmony_ci    #[repr(u32)]
6392add0d91Sopenharmony_ci    pub enum PowerTick {
6402add0d91Sopenharmony_ci        All = 0,
6412add0d91Sopenharmony_ci        Suspend = 1,
6422add0d91Sopenharmony_ci        Display = 6,
6432add0d91Sopenharmony_ci    }
6442add0d91Sopenharmony_ci
6452add0d91Sopenharmony_ci    #[repr(u32)]
6462add0d91Sopenharmony_ci    pub enum IoAssignPerms {
6472add0d91Sopenharmony_ci        RdWr = 0,
6482add0d91Sopenharmony_ci        RdOnly = 1,
6492add0d91Sopenharmony_ci    }
6502add0d91Sopenharmony_ci
6512add0d91Sopenharmony_ci    #[repr(u32)]
6522add0d91Sopenharmony_ci    pub enum IoWhence {
6532add0d91Sopenharmony_ci        Set = 0,
6542add0d91Sopenharmony_ci        Cur = 1,
6552add0d91Sopenharmony_ci        End = 2,
6562add0d91Sopenharmony_ci    }
6572add0d91Sopenharmony_ci
6582add0d91Sopenharmony_ci    #[repr(u32)]
6592add0d91Sopenharmony_ci    pub enum UmdType {
6602add0d91Sopenharmony_ci        Game = 0x10,
6612add0d91Sopenharmony_ci        Video = 0x20,
6622add0d91Sopenharmony_ci        Audio = 0x40,
6632add0d91Sopenharmony_ci    }
6642add0d91Sopenharmony_ci
6652add0d91Sopenharmony_ci    #[repr(u32)]
6662add0d91Sopenharmony_ci    pub enum GuPrimitive {
6672add0d91Sopenharmony_ci        Points = 0,
6682add0d91Sopenharmony_ci        Lines = 1,
6692add0d91Sopenharmony_ci        LineStrip = 2,
6702add0d91Sopenharmony_ci        Triangles = 3,
6712add0d91Sopenharmony_ci        TriangleStrip = 4,
6722add0d91Sopenharmony_ci        TriangleFan = 5,
6732add0d91Sopenharmony_ci        Sprites = 6,
6742add0d91Sopenharmony_ci    }
6752add0d91Sopenharmony_ci
6762add0d91Sopenharmony_ci    #[repr(u32)]
6772add0d91Sopenharmony_ci    pub enum PatchPrimitive {
6782add0d91Sopenharmony_ci        Points = 0,
6792add0d91Sopenharmony_ci        LineStrip = 2,
6802add0d91Sopenharmony_ci        TriangleStrip = 4,
6812add0d91Sopenharmony_ci    }
6822add0d91Sopenharmony_ci
6832add0d91Sopenharmony_ci    #[repr(u32)]
6842add0d91Sopenharmony_ci    pub enum GuState {
6852add0d91Sopenharmony_ci        AlphaTest = 0,
6862add0d91Sopenharmony_ci        DepthTest = 1,
6872add0d91Sopenharmony_ci        ScissorTest = 2,
6882add0d91Sopenharmony_ci        StencilTest = 3,
6892add0d91Sopenharmony_ci        Blend = 4,
6902add0d91Sopenharmony_ci        CullFace = 5,
6912add0d91Sopenharmony_ci        Dither = 6,
6922add0d91Sopenharmony_ci        Fog = 7,
6932add0d91Sopenharmony_ci        ClipPlanes = 8,
6942add0d91Sopenharmony_ci        Texture2D = 9,
6952add0d91Sopenharmony_ci        Lighting = 10,
6962add0d91Sopenharmony_ci        Light0 = 11,
6972add0d91Sopenharmony_ci        Light1 = 12,
6982add0d91Sopenharmony_ci        Light2 = 13,
6992add0d91Sopenharmony_ci        Light3 = 14,
7002add0d91Sopenharmony_ci        LineSmooth = 15,
7012add0d91Sopenharmony_ci        PatchCullFace = 16,
7022add0d91Sopenharmony_ci        ColorTest = 17,
7032add0d91Sopenharmony_ci        ColorLogicOp = 18,
7042add0d91Sopenharmony_ci        FaceNormalReverse = 19,
7052add0d91Sopenharmony_ci        PatchFace = 20,
7062add0d91Sopenharmony_ci        Fragment2X = 21,
7072add0d91Sopenharmony_ci    }
7082add0d91Sopenharmony_ci
7092add0d91Sopenharmony_ci    #[repr(u32)]
7102add0d91Sopenharmony_ci    pub enum MatrixMode {
7112add0d91Sopenharmony_ci        Projection = 0,
7122add0d91Sopenharmony_ci        View = 1,
7132add0d91Sopenharmony_ci        Model = 2,
7142add0d91Sopenharmony_ci        Texture = 3,
7152add0d91Sopenharmony_ci    }
7162add0d91Sopenharmony_ci
7172add0d91Sopenharmony_ci    #[repr(u32)]
7182add0d91Sopenharmony_ci    pub enum TexturePixelFormat {
7192add0d91Sopenharmony_ci        Psm5650 = 0,
7202add0d91Sopenharmony_ci        Psm5551 = 1,
7212add0d91Sopenharmony_ci        Psm4444 = 2,
7222add0d91Sopenharmony_ci        Psm8888 = 3,
7232add0d91Sopenharmony_ci        PsmT4 = 4,
7242add0d91Sopenharmony_ci        PsmT8 = 5,
7252add0d91Sopenharmony_ci        PsmT16 = 6,
7262add0d91Sopenharmony_ci        PsmT32 = 7,
7272add0d91Sopenharmony_ci        PsmDxt1 = 8,
7282add0d91Sopenharmony_ci        PsmDxt3 = 9,
7292add0d91Sopenharmony_ci        PsmDxt5 = 10,
7302add0d91Sopenharmony_ci    }
7312add0d91Sopenharmony_ci
7322add0d91Sopenharmony_ci    #[repr(u32)]
7332add0d91Sopenharmony_ci    pub enum SplineMode {
7342add0d91Sopenharmony_ci        FillFill = 0,
7352add0d91Sopenharmony_ci        OpenFill = 1,
7362add0d91Sopenharmony_ci        FillOpen = 2,
7372add0d91Sopenharmony_ci        OpenOpen = 3,
7382add0d91Sopenharmony_ci    }
7392add0d91Sopenharmony_ci
7402add0d91Sopenharmony_ci    #[repr(u32)]
7412add0d91Sopenharmony_ci    pub enum ShadingModel {
7422add0d91Sopenharmony_ci        Flat = 0,
7432add0d91Sopenharmony_ci        Smooth = 1,
7442add0d91Sopenharmony_ci    }
7452add0d91Sopenharmony_ci
7462add0d91Sopenharmony_ci    #[repr(u32)]
7472add0d91Sopenharmony_ci    pub enum LogicalOperation {
7482add0d91Sopenharmony_ci        Clear = 0,
7492add0d91Sopenharmony_ci        And = 1,
7502add0d91Sopenharmony_ci        AndReverse = 2,
7512add0d91Sopenharmony_ci        Copy = 3,
7522add0d91Sopenharmony_ci        AndInverted = 4,
7532add0d91Sopenharmony_ci        Noop = 5,
7542add0d91Sopenharmony_ci        Xor = 6,
7552add0d91Sopenharmony_ci        Or = 7,
7562add0d91Sopenharmony_ci        Nor = 8,
7572add0d91Sopenharmony_ci        Equiv = 9,
7582add0d91Sopenharmony_ci        Inverted = 10,
7592add0d91Sopenharmony_ci        OrReverse = 11,
7602add0d91Sopenharmony_ci        CopyInverted = 12,
7612add0d91Sopenharmony_ci        OrInverted = 13,
7622add0d91Sopenharmony_ci        Nand = 14,
7632add0d91Sopenharmony_ci        Set = 15,
7642add0d91Sopenharmony_ci    }
7652add0d91Sopenharmony_ci
7662add0d91Sopenharmony_ci    #[repr(u32)]
7672add0d91Sopenharmony_ci    pub enum TextureFilter {
7682add0d91Sopenharmony_ci        Nearest = 0,
7692add0d91Sopenharmony_ci        Linear = 1,
7702add0d91Sopenharmony_ci        NearestMipmapNearest = 4,
7712add0d91Sopenharmony_ci        LinearMipmapNearest = 5,
7722add0d91Sopenharmony_ci        NearestMipmapLinear = 6,
7732add0d91Sopenharmony_ci        LinearMipmapLinear = 7,
7742add0d91Sopenharmony_ci    }
7752add0d91Sopenharmony_ci
7762add0d91Sopenharmony_ci    #[repr(u32)]
7772add0d91Sopenharmony_ci    pub enum TextureMapMode {
7782add0d91Sopenharmony_ci        TextureCoords = 0,
7792add0d91Sopenharmony_ci        TextureMatrix = 1,
7802add0d91Sopenharmony_ci        EnvironmentMap = 2,
7812add0d91Sopenharmony_ci    }
7822add0d91Sopenharmony_ci
7832add0d91Sopenharmony_ci    #[repr(u32)]
7842add0d91Sopenharmony_ci    pub enum TextureLevelMode {
7852add0d91Sopenharmony_ci        Auto = 0,
7862add0d91Sopenharmony_ci        Const = 1,
7872add0d91Sopenharmony_ci        Slope = 2,
7882add0d91Sopenharmony_ci    }
7892add0d91Sopenharmony_ci
7902add0d91Sopenharmony_ci    #[repr(u32)]
7912add0d91Sopenharmony_ci    pub enum TextureProjectionMapMode {
7922add0d91Sopenharmony_ci        Position = 0,
7932add0d91Sopenharmony_ci        Uv = 1,
7942add0d91Sopenharmony_ci        NormalizedNormal = 2,
7952add0d91Sopenharmony_ci        Normal = 3,
7962add0d91Sopenharmony_ci    }
7972add0d91Sopenharmony_ci
7982add0d91Sopenharmony_ci    #[repr(u32)]
7992add0d91Sopenharmony_ci    pub enum GuTexWrapMode {
8002add0d91Sopenharmony_ci        Repeat = 0,
8012add0d91Sopenharmony_ci        Clamp = 1,
8022add0d91Sopenharmony_ci    }
8032add0d91Sopenharmony_ci
8042add0d91Sopenharmony_ci    #[repr(u32)]
8052add0d91Sopenharmony_ci    pub enum FrontFaceDirection {
8062add0d91Sopenharmony_ci        Clockwise = 0,
8072add0d91Sopenharmony_ci        CounterClockwise = 1,
8082add0d91Sopenharmony_ci    }
8092add0d91Sopenharmony_ci
8102add0d91Sopenharmony_ci    #[repr(u32)]
8112add0d91Sopenharmony_ci    pub enum AlphaFunc {
8122add0d91Sopenharmony_ci        Never = 0,
8132add0d91Sopenharmony_ci        Always,
8142add0d91Sopenharmony_ci        Equal,
8152add0d91Sopenharmony_ci        NotEqual,
8162add0d91Sopenharmony_ci        Less,
8172add0d91Sopenharmony_ci        LessOrEqual,
8182add0d91Sopenharmony_ci        Greater,
8192add0d91Sopenharmony_ci        GreaterOrEqual,
8202add0d91Sopenharmony_ci    }
8212add0d91Sopenharmony_ci
8222add0d91Sopenharmony_ci    #[repr(u32)]
8232add0d91Sopenharmony_ci    pub enum StencilFunc {
8242add0d91Sopenharmony_ci        Never = 0,
8252add0d91Sopenharmony_ci        Always,
8262add0d91Sopenharmony_ci        Equal,
8272add0d91Sopenharmony_ci        NotEqual,
8282add0d91Sopenharmony_ci        Less,
8292add0d91Sopenharmony_ci        LessOrEqual,
8302add0d91Sopenharmony_ci        Greater,
8312add0d91Sopenharmony_ci        GreaterOrEqual,
8322add0d91Sopenharmony_ci    }
8332add0d91Sopenharmony_ci
8342add0d91Sopenharmony_ci    #[repr(u32)]
8352add0d91Sopenharmony_ci    pub enum ColorFunc {
8362add0d91Sopenharmony_ci        Never = 0,
8372add0d91Sopenharmony_ci        Always,
8382add0d91Sopenharmony_ci        Equal,
8392add0d91Sopenharmony_ci        NotEqual,
8402add0d91Sopenharmony_ci    }
8412add0d91Sopenharmony_ci
8422add0d91Sopenharmony_ci    #[repr(u32)]
8432add0d91Sopenharmony_ci    pub enum DepthFunc {
8442add0d91Sopenharmony_ci        Never = 0,
8452add0d91Sopenharmony_ci        Always,
8462add0d91Sopenharmony_ci        Equal,
8472add0d91Sopenharmony_ci        NotEqual,
8482add0d91Sopenharmony_ci        Less,
8492add0d91Sopenharmony_ci        LessOrEqual,
8502add0d91Sopenharmony_ci        Greater,
8512add0d91Sopenharmony_ci        GreaterOrEqual,
8522add0d91Sopenharmony_ci    }
8532add0d91Sopenharmony_ci
8542add0d91Sopenharmony_ci    #[repr(u32)]
8552add0d91Sopenharmony_ci    pub enum TextureEffect {
8562add0d91Sopenharmony_ci        Modulate = 0,
8572add0d91Sopenharmony_ci        Decal = 1,
8582add0d91Sopenharmony_ci        Blend = 2,
8592add0d91Sopenharmony_ci        Replace = 3,
8602add0d91Sopenharmony_ci        Add = 4,
8612add0d91Sopenharmony_ci    }
8622add0d91Sopenharmony_ci
8632add0d91Sopenharmony_ci    #[repr(u32)]
8642add0d91Sopenharmony_ci    pub enum TextureColorComponent {
8652add0d91Sopenharmony_ci        Rgb = 0,
8662add0d91Sopenharmony_ci        Rgba = 1,
8672add0d91Sopenharmony_ci    }
8682add0d91Sopenharmony_ci
8692add0d91Sopenharmony_ci    #[repr(u32)]
8702add0d91Sopenharmony_ci    pub enum MipmapLevel {
8712add0d91Sopenharmony_ci        None = 0,
8722add0d91Sopenharmony_ci        Level1,
8732add0d91Sopenharmony_ci        Level2,
8742add0d91Sopenharmony_ci        Level3,
8752add0d91Sopenharmony_ci        Level4,
8762add0d91Sopenharmony_ci        Level5,
8772add0d91Sopenharmony_ci        Level6,
8782add0d91Sopenharmony_ci        Level7,
8792add0d91Sopenharmony_ci    }
8802add0d91Sopenharmony_ci
8812add0d91Sopenharmony_ci    #[repr(u32)]
8822add0d91Sopenharmony_ci    pub enum BlendOp {
8832add0d91Sopenharmony_ci        Add = 0,
8842add0d91Sopenharmony_ci        Subtract = 1,
8852add0d91Sopenharmony_ci        ReverseSubtract = 2,
8862add0d91Sopenharmony_ci        Min = 3,
8872add0d91Sopenharmony_ci        Max = 4,
8882add0d91Sopenharmony_ci        Abs = 5,
8892add0d91Sopenharmony_ci    }
8902add0d91Sopenharmony_ci
8912add0d91Sopenharmony_ci    #[repr(u32)]
8922add0d91Sopenharmony_ci    pub enum BlendSrc {
8932add0d91Sopenharmony_ci        SrcColor = 0,
8942add0d91Sopenharmony_ci        OneMinusSrcColor = 1,
8952add0d91Sopenharmony_ci        SrcAlpha = 2,
8962add0d91Sopenharmony_ci        OneMinusSrcAlpha = 3,
8972add0d91Sopenharmony_ci        Fix = 10,
8982add0d91Sopenharmony_ci    }
8992add0d91Sopenharmony_ci
9002add0d91Sopenharmony_ci    #[repr(u32)]
9012add0d91Sopenharmony_ci    pub enum BlendDst {
9022add0d91Sopenharmony_ci        DstColor = 0,
9032add0d91Sopenharmony_ci        OneMinusDstColor = 1,
9042add0d91Sopenharmony_ci        DstAlpha = 4,
9052add0d91Sopenharmony_ci        OneMinusDstAlpha = 5,
9062add0d91Sopenharmony_ci        Fix = 10,
9072add0d91Sopenharmony_ci    }
9082add0d91Sopenharmony_ci
9092add0d91Sopenharmony_ci    #[repr(u32)]
9102add0d91Sopenharmony_ci    pub enum StencilOperation {
9112add0d91Sopenharmony_ci        Keep = 0,
9122add0d91Sopenharmony_ci        Zero = 1,
9132add0d91Sopenharmony_ci        Replace = 2,
9142add0d91Sopenharmony_ci        Invert = 3,
9152add0d91Sopenharmony_ci        Incr = 4,
9162add0d91Sopenharmony_ci        Decr = 5,
9172add0d91Sopenharmony_ci    }
9182add0d91Sopenharmony_ci
9192add0d91Sopenharmony_ci    #[repr(u32)]
9202add0d91Sopenharmony_ci    pub enum LightMode {
9212add0d91Sopenharmony_ci        SingleColor = 0,
9222add0d91Sopenharmony_ci        SeparateSpecularColor = 1,
9232add0d91Sopenharmony_ci    }
9242add0d91Sopenharmony_ci
9252add0d91Sopenharmony_ci    #[repr(u32)]
9262add0d91Sopenharmony_ci    pub enum LightType {
9272add0d91Sopenharmony_ci        Directional = 0,
9282add0d91Sopenharmony_ci        Pointlight = 1,
9292add0d91Sopenharmony_ci        Spotlight = 2,
9302add0d91Sopenharmony_ci    }
9312add0d91Sopenharmony_ci
9322add0d91Sopenharmony_ci    #[repr(u32)]
9332add0d91Sopenharmony_ci    pub enum GuContextType {
9342add0d91Sopenharmony_ci        Direct = 0,
9352add0d91Sopenharmony_ci        Call = 1,
9362add0d91Sopenharmony_ci        Send = 2,
9372add0d91Sopenharmony_ci    }
9382add0d91Sopenharmony_ci
9392add0d91Sopenharmony_ci    #[repr(u32)]
9402add0d91Sopenharmony_ci    pub enum GuQueueMode {
9412add0d91Sopenharmony_ci        Tail = 0,
9422add0d91Sopenharmony_ci        Head = 1,
9432add0d91Sopenharmony_ci    }
9442add0d91Sopenharmony_ci
9452add0d91Sopenharmony_ci    #[repr(u32)]
9462add0d91Sopenharmony_ci    pub enum GuSyncMode {
9472add0d91Sopenharmony_ci        Finish = 0,
9482add0d91Sopenharmony_ci        Signal = 1,
9492add0d91Sopenharmony_ci        Done = 2,
9502add0d91Sopenharmony_ci        List = 3,
9512add0d91Sopenharmony_ci        Send = 4,
9522add0d91Sopenharmony_ci    }
9532add0d91Sopenharmony_ci
9542add0d91Sopenharmony_ci    #[repr(u32)]
9552add0d91Sopenharmony_ci    pub enum GuSyncBehavior {
9562add0d91Sopenharmony_ci        Wait = 0,
9572add0d91Sopenharmony_ci        NoWait = 1,
9582add0d91Sopenharmony_ci    }
9592add0d91Sopenharmony_ci
9602add0d91Sopenharmony_ci    #[repr(u32)]
9612add0d91Sopenharmony_ci    pub enum GuCallbackId {
9622add0d91Sopenharmony_ci        Signal = 1,
9632add0d91Sopenharmony_ci        Finish = 4,
9642add0d91Sopenharmony_ci    }
9652add0d91Sopenharmony_ci
9662add0d91Sopenharmony_ci    #[repr(u32)]
9672add0d91Sopenharmony_ci    pub enum SignalBehavior {
9682add0d91Sopenharmony_ci        Suspend = 1,
9692add0d91Sopenharmony_ci        Continue = 2,
9702add0d91Sopenharmony_ci    }
9712add0d91Sopenharmony_ci
9722add0d91Sopenharmony_ci    #[repr(u32)]
9732add0d91Sopenharmony_ci    pub enum ClutPixelFormat {
9742add0d91Sopenharmony_ci        Psm5650 = 0,
9752add0d91Sopenharmony_ci        Psm5551 = 1,
9762add0d91Sopenharmony_ci        Psm4444 = 2,
9772add0d91Sopenharmony_ci        Psm8888 = 3,
9782add0d91Sopenharmony_ci    }
9792add0d91Sopenharmony_ci
9802add0d91Sopenharmony_ci    #[repr(C)]
9812add0d91Sopenharmony_ci    pub enum KeyType {
9822add0d91Sopenharmony_ci        Directory = 1,
9832add0d91Sopenharmony_ci        Integer = 2,
9842add0d91Sopenharmony_ci        String = 3,
9852add0d91Sopenharmony_ci        Bytes = 4,
9862add0d91Sopenharmony_ci    }
9872add0d91Sopenharmony_ci
9882add0d91Sopenharmony_ci    #[repr(u32)]
9892add0d91Sopenharmony_ci    pub enum UtilityMsgDialogMode {
9902add0d91Sopenharmony_ci        Error,
9912add0d91Sopenharmony_ci        Text,
9922add0d91Sopenharmony_ci    }
9932add0d91Sopenharmony_ci
9942add0d91Sopenharmony_ci    #[repr(u32)]
9952add0d91Sopenharmony_ci    pub enum UtilityMsgDialogPressed {
9962add0d91Sopenharmony_ci        Unknown1,
9972add0d91Sopenharmony_ci        Yes,
9982add0d91Sopenharmony_ci        No,
9992add0d91Sopenharmony_ci        Back,
10002add0d91Sopenharmony_ci    }
10012add0d91Sopenharmony_ci
10022add0d91Sopenharmony_ci    #[repr(u32)]
10032add0d91Sopenharmony_ci    pub enum UtilityDialogButtonAccept {
10042add0d91Sopenharmony_ci        Circle,
10052add0d91Sopenharmony_ci        Cross,
10062add0d91Sopenharmony_ci    }
10072add0d91Sopenharmony_ci
10082add0d91Sopenharmony_ci    #[repr(u32)]
10092add0d91Sopenharmony_ci    pub enum SceUtilityOskInputLanguage {
10102add0d91Sopenharmony_ci        Default,
10112add0d91Sopenharmony_ci        Japanese,
10122add0d91Sopenharmony_ci        English,
10132add0d91Sopenharmony_ci        French,
10142add0d91Sopenharmony_ci        Spanish,
10152add0d91Sopenharmony_ci        German,
10162add0d91Sopenharmony_ci        Italian,
10172add0d91Sopenharmony_ci        Dutch,
10182add0d91Sopenharmony_ci        Portugese,
10192add0d91Sopenharmony_ci        Russian,
10202add0d91Sopenharmony_ci        Korean,
10212add0d91Sopenharmony_ci    }
10222add0d91Sopenharmony_ci
10232add0d91Sopenharmony_ci    #[repr(u32)]
10242add0d91Sopenharmony_ci    pub enum SceUtilityOskInputType {
10252add0d91Sopenharmony_ci        All,
10262add0d91Sopenharmony_ci        LatinDigit,
10272add0d91Sopenharmony_ci        LatinSymbol,
10282add0d91Sopenharmony_ci        LatinLowercase = 4,
10292add0d91Sopenharmony_ci        LatinUppercase = 8,
10302add0d91Sopenharmony_ci        JapaneseDigit = 0x100,
10312add0d91Sopenharmony_ci        JapaneseSymbol = 0x200,
10322add0d91Sopenharmony_ci        JapaneseLowercase = 0x400,
10332add0d91Sopenharmony_ci        JapaneseUppercase = 0x800,
10342add0d91Sopenharmony_ci        JapaneseHiragana = 0x1000,
10352add0d91Sopenharmony_ci        JapaneseHalfWidthKatakana = 0x2000,
10362add0d91Sopenharmony_ci        JapaneseKatakana = 0x4000,
10372add0d91Sopenharmony_ci        JapaneseKanji = 0x8000,
10382add0d91Sopenharmony_ci        RussianLowercase = 0x10000,
10392add0d91Sopenharmony_ci        RussianUppercase = 0x20000,
10402add0d91Sopenharmony_ci        Korean = 0x40000,
10412add0d91Sopenharmony_ci        Url = 0x80000,
10422add0d91Sopenharmony_ci    }
10432add0d91Sopenharmony_ci
10442add0d91Sopenharmony_ci    #[repr(u32)]
10452add0d91Sopenharmony_ci    pub enum SceUtilityOskState {
10462add0d91Sopenharmony_ci        None,
10472add0d91Sopenharmony_ci        Initializing,
10482add0d91Sopenharmony_ci        Initialized,
10492add0d91Sopenharmony_ci        Visible,
10502add0d91Sopenharmony_ci        Quit,
10512add0d91Sopenharmony_ci        Finished,
10522add0d91Sopenharmony_ci    }
10532add0d91Sopenharmony_ci
10542add0d91Sopenharmony_ci    #[repr(u32)]
10552add0d91Sopenharmony_ci    pub enum SceUtilityOskResult {
10562add0d91Sopenharmony_ci        Unchanged,
10572add0d91Sopenharmony_ci        Cancelled,
10582add0d91Sopenharmony_ci        Changed,
10592add0d91Sopenharmony_ci    }
10602add0d91Sopenharmony_ci
10612add0d91Sopenharmony_ci    #[repr(u32)]
10622add0d91Sopenharmony_ci    pub enum SystemParamLanguage {
10632add0d91Sopenharmony_ci        Japanese,
10642add0d91Sopenharmony_ci        English,
10652add0d91Sopenharmony_ci        French,
10662add0d91Sopenharmony_ci        Spanish,
10672add0d91Sopenharmony_ci        German,
10682add0d91Sopenharmony_ci        Italian,
10692add0d91Sopenharmony_ci        Dutch,
10702add0d91Sopenharmony_ci        Portugese,
10712add0d91Sopenharmony_ci        Russian,
10722add0d91Sopenharmony_ci        Korean,
10732add0d91Sopenharmony_ci        ChineseTraditional,
10742add0d91Sopenharmony_ci        ChineseSimplified,
10752add0d91Sopenharmony_ci    }
10762add0d91Sopenharmony_ci
10772add0d91Sopenharmony_ci    #[repr(u32)]
10782add0d91Sopenharmony_ci    pub enum SystemParamId {
10792add0d91Sopenharmony_ci        StringNickname = 1,
10802add0d91Sopenharmony_ci        AdhocChannel,
10812add0d91Sopenharmony_ci        WlanPowerSave,
10822add0d91Sopenharmony_ci        DateFormat,
10832add0d91Sopenharmony_ci        TimeFormat,
10842add0d91Sopenharmony_ci        Timezone,
10852add0d91Sopenharmony_ci        DaylightSavings,
10862add0d91Sopenharmony_ci        Language,
10872add0d91Sopenharmony_ci        Unknown,
10882add0d91Sopenharmony_ci    }
10892add0d91Sopenharmony_ci
10902add0d91Sopenharmony_ci    #[repr(u32)]
10912add0d91Sopenharmony_ci    pub enum SystemParamAdhocChannel {
10922add0d91Sopenharmony_ci        ChannelAutomatic = 0,
10932add0d91Sopenharmony_ci        Channel1 = 1,
10942add0d91Sopenharmony_ci        Channel6 = 6,
10952add0d91Sopenharmony_ci        Channel11 = 11,
10962add0d91Sopenharmony_ci    }
10972add0d91Sopenharmony_ci
10982add0d91Sopenharmony_ci    #[repr(u32)]
10992add0d91Sopenharmony_ci    pub enum SystemParamWlanPowerSaveState {
11002add0d91Sopenharmony_ci        Off,
11012add0d91Sopenharmony_ci        On,
11022add0d91Sopenharmony_ci    }
11032add0d91Sopenharmony_ci
11042add0d91Sopenharmony_ci    #[repr(u32)]
11052add0d91Sopenharmony_ci    pub enum SystemParamDateFormat {
11062add0d91Sopenharmony_ci        YYYYMMDD,
11072add0d91Sopenharmony_ci        MMDDYYYY,
11082add0d91Sopenharmony_ci        DDMMYYYY,
11092add0d91Sopenharmony_ci    }
11102add0d91Sopenharmony_ci
11112add0d91Sopenharmony_ci    #[repr(u32)]
11122add0d91Sopenharmony_ci    pub enum SystemParamTimeFormat {
11132add0d91Sopenharmony_ci        Hour24,
11142add0d91Sopenharmony_ci        Hour12,
11152add0d91Sopenharmony_ci    }
11162add0d91Sopenharmony_ci
11172add0d91Sopenharmony_ci    #[repr(u32)]
11182add0d91Sopenharmony_ci    pub enum SystemParamDaylightSavings {
11192add0d91Sopenharmony_ci        Std,
11202add0d91Sopenharmony_ci        Dst,
11212add0d91Sopenharmony_ci    }
11222add0d91Sopenharmony_ci
11232add0d91Sopenharmony_ci    #[repr(u32)]
11242add0d91Sopenharmony_ci    pub enum AvModule {
11252add0d91Sopenharmony_ci        AvCodec,
11262add0d91Sopenharmony_ci        SasCore,
11272add0d91Sopenharmony_ci        Atrac3Plus,
11282add0d91Sopenharmony_ci        MpegBase,
11292add0d91Sopenharmony_ci        Mp3,
11302add0d91Sopenharmony_ci        Vaudio,
11312add0d91Sopenharmony_ci        Aac,
11322add0d91Sopenharmony_ci        G729,
11332add0d91Sopenharmony_ci    }
11342add0d91Sopenharmony_ci
11352add0d91Sopenharmony_ci    #[repr(u32)]
11362add0d91Sopenharmony_ci    pub enum Module {
11372add0d91Sopenharmony_ci        NetCommon = 0x100,
11382add0d91Sopenharmony_ci        NetAdhoc,
11392add0d91Sopenharmony_ci        NetInet,
11402add0d91Sopenharmony_ci        NetParseUri,
11412add0d91Sopenharmony_ci        NetHttp,
11422add0d91Sopenharmony_ci        NetSsl,
11432add0d91Sopenharmony_ci
11442add0d91Sopenharmony_ci        UsbPspCm = 0x200,
11452add0d91Sopenharmony_ci        UsbMic,
11462add0d91Sopenharmony_ci        UsbCam,
11472add0d91Sopenharmony_ci        UsbGps,
11482add0d91Sopenharmony_ci
11492add0d91Sopenharmony_ci        AvCodec = 0x300,
11502add0d91Sopenharmony_ci        AvSascore,
11512add0d91Sopenharmony_ci        AvAtrac3Plus,
11522add0d91Sopenharmony_ci        AvMpegBase,
11532add0d91Sopenharmony_ci        AvMp3,
11542add0d91Sopenharmony_ci        AvVaudio,
11552add0d91Sopenharmony_ci        AvAac,
11562add0d91Sopenharmony_ci        AvG729,
11572add0d91Sopenharmony_ci
11582add0d91Sopenharmony_ci        NpCommon = 0x400,
11592add0d91Sopenharmony_ci        NpService,
11602add0d91Sopenharmony_ci        NpMatching2,
11612add0d91Sopenharmony_ci        NpDrm = 0x500,
11622add0d91Sopenharmony_ci
11632add0d91Sopenharmony_ci        Irda = 0x600,
11642add0d91Sopenharmony_ci    }
11652add0d91Sopenharmony_ci
11662add0d91Sopenharmony_ci    #[repr(u32)]
11672add0d91Sopenharmony_ci    pub enum NetModule {
11682add0d91Sopenharmony_ci        NetCommon = 1,
11692add0d91Sopenharmony_ci        NetAdhoc,
11702add0d91Sopenharmony_ci        NetInet,
11712add0d91Sopenharmony_ci        NetParseUri,
11722add0d91Sopenharmony_ci        NetHttp,
11732add0d91Sopenharmony_ci        NetSsl,
11742add0d91Sopenharmony_ci    }
11752add0d91Sopenharmony_ci
11762add0d91Sopenharmony_ci    #[repr(u32)]
11772add0d91Sopenharmony_ci    pub enum UsbModule {
11782add0d91Sopenharmony_ci        UsbPspCm = 1,
11792add0d91Sopenharmony_ci        UsbAcc,
11802add0d91Sopenharmony_ci        UsbMic,
11812add0d91Sopenharmony_ci        UsbCam,
11822add0d91Sopenharmony_ci        UsbGps,
11832add0d91Sopenharmony_ci    }
11842add0d91Sopenharmony_ci
11852add0d91Sopenharmony_ci    #[repr(u32)]
11862add0d91Sopenharmony_ci    pub enum NetParam {
11872add0d91Sopenharmony_ci        Name,
11882add0d91Sopenharmony_ci        Ssid,
11892add0d91Sopenharmony_ci        Secure,
11902add0d91Sopenharmony_ci        WepKey,
11912add0d91Sopenharmony_ci        IsStaticIp,
11922add0d91Sopenharmony_ci        Ip,
11932add0d91Sopenharmony_ci        NetMask,
11942add0d91Sopenharmony_ci        Route,
11952add0d91Sopenharmony_ci        ManualDns,
11962add0d91Sopenharmony_ci        PrimaryDns,
11972add0d91Sopenharmony_ci        SecondaryDns,
11982add0d91Sopenharmony_ci        ProxyUser,
11992add0d91Sopenharmony_ci        ProxyPass,
12002add0d91Sopenharmony_ci        UseProxy,
12012add0d91Sopenharmony_ci        ProxyServer,
12022add0d91Sopenharmony_ci        ProxyPort,
12032add0d91Sopenharmony_ci        Unknown1,
12042add0d91Sopenharmony_ci        Unknown2,
12052add0d91Sopenharmony_ci    }
12062add0d91Sopenharmony_ci
12072add0d91Sopenharmony_ci    #[repr(u32)]
12082add0d91Sopenharmony_ci    pub enum UtilityNetconfAction {
12092add0d91Sopenharmony_ci        ConnectAP,
12102add0d91Sopenharmony_ci        DisplayStatus,
12112add0d91Sopenharmony_ci        ConnectAdhoc,
12122add0d91Sopenharmony_ci    }
12132add0d91Sopenharmony_ci
12142add0d91Sopenharmony_ci    #[repr(u32)]
12152add0d91Sopenharmony_ci    pub enum UtilitySavedataMode {
12162add0d91Sopenharmony_ci        AutoLoad,
12172add0d91Sopenharmony_ci        AutoSave,
12182add0d91Sopenharmony_ci        Load,
12192add0d91Sopenharmony_ci        Save,
12202add0d91Sopenharmony_ci        ListLoad,
12212add0d91Sopenharmony_ci        ListSave,
12222add0d91Sopenharmony_ci        ListDelete,
12232add0d91Sopenharmony_ci        Delete,
12242add0d91Sopenharmony_ci    }
12252add0d91Sopenharmony_ci
12262add0d91Sopenharmony_ci    #[repr(u32)]
12272add0d91Sopenharmony_ci    pub enum UtilitySavedataFocus {
12282add0d91Sopenharmony_ci        Unknown1,
12292add0d91Sopenharmony_ci        FirstList,
12302add0d91Sopenharmony_ci        LastList,
12312add0d91Sopenharmony_ci        Latest,
12322add0d91Sopenharmony_ci        Oldest,
12332add0d91Sopenharmony_ci        Unknown2,
12342add0d91Sopenharmony_ci        Unknown3,
12352add0d91Sopenharmony_ci        FirstEmpty,
12362add0d91Sopenharmony_ci        LastEmpty,
12372add0d91Sopenharmony_ci    }
12382add0d91Sopenharmony_ci
12392add0d91Sopenharmony_ci    #[repr(u32)]
12402add0d91Sopenharmony_ci    pub enum UtilityGameSharingMode {
12412add0d91Sopenharmony_ci        Single = 1,
12422add0d91Sopenharmony_ci        Multiple,
12432add0d91Sopenharmony_ci    }
12442add0d91Sopenharmony_ci
12452add0d91Sopenharmony_ci    #[repr(u32)]
12462add0d91Sopenharmony_ci    pub enum UtilityGameSharingDataType {
12472add0d91Sopenharmony_ci        File = 1,
12482add0d91Sopenharmony_ci        Memory,
12492add0d91Sopenharmony_ci    }
12502add0d91Sopenharmony_ci
12512add0d91Sopenharmony_ci    #[repr(u32)]
12522add0d91Sopenharmony_ci    pub enum UtilityHtmlViewerInterfaceMode {
12532add0d91Sopenharmony_ci        Full,
12542add0d91Sopenharmony_ci        Limited,
12552add0d91Sopenharmony_ci        None,
12562add0d91Sopenharmony_ci    }
12572add0d91Sopenharmony_ci
12582add0d91Sopenharmony_ci    #[repr(u32)]
12592add0d91Sopenharmony_ci    pub enum UtilityHtmlViewerCookieMode {
12602add0d91Sopenharmony_ci        Disabled = 0,
12612add0d91Sopenharmony_ci        Enabled,
12622add0d91Sopenharmony_ci        Confirm,
12632add0d91Sopenharmony_ci        Default,
12642add0d91Sopenharmony_ci    }
12652add0d91Sopenharmony_ci
12662add0d91Sopenharmony_ci    #[repr(u32)]
12672add0d91Sopenharmony_ci    pub enum UtilityHtmlViewerTextSize {
12682add0d91Sopenharmony_ci        Large,
12692add0d91Sopenharmony_ci        Normal,
12702add0d91Sopenharmony_ci        Small,
12712add0d91Sopenharmony_ci    }
12722add0d91Sopenharmony_ci
12732add0d91Sopenharmony_ci    #[repr(u32)]
12742add0d91Sopenharmony_ci    pub enum UtilityHtmlViewerDisplayMode {
12752add0d91Sopenharmony_ci        Normal,
12762add0d91Sopenharmony_ci        Fit,
12772add0d91Sopenharmony_ci        SmartFit,
12782add0d91Sopenharmony_ci    }
12792add0d91Sopenharmony_ci
12802add0d91Sopenharmony_ci    #[repr(u32)]
12812add0d91Sopenharmony_ci    pub enum UtilityHtmlViewerConnectMode {
12822add0d91Sopenharmony_ci        Last,
12832add0d91Sopenharmony_ci        ManualOnce,
12842add0d91Sopenharmony_ci        ManualAll,
12852add0d91Sopenharmony_ci    }
12862add0d91Sopenharmony_ci
12872add0d91Sopenharmony_ci    #[repr(u32)]
12882add0d91Sopenharmony_ci    pub enum UtilityHtmlViewerDisconnectMode {
12892add0d91Sopenharmony_ci        Enable,
12902add0d91Sopenharmony_ci        Disable,
12912add0d91Sopenharmony_ci        Confirm,
12922add0d91Sopenharmony_ci    }
12932add0d91Sopenharmony_ci
12942add0d91Sopenharmony_ci    #[repr(u32)]
12952add0d91Sopenharmony_ci    pub enum ScePspnetAdhocPtpState {
12962add0d91Sopenharmony_ci        Closed,
12972add0d91Sopenharmony_ci        Listen,
12982add0d91Sopenharmony_ci        SynSent,
12992add0d91Sopenharmony_ci        SynReceived,
13002add0d91Sopenharmony_ci        Established,
13012add0d91Sopenharmony_ci    }
13022add0d91Sopenharmony_ci
13032add0d91Sopenharmony_ci    #[repr(u32)]
13042add0d91Sopenharmony_ci    pub enum AdhocMatchingMode {
13052add0d91Sopenharmony_ci        Host = 1,
13062add0d91Sopenharmony_ci        Client,
13072add0d91Sopenharmony_ci        Ptp,
13082add0d91Sopenharmony_ci    }
13092add0d91Sopenharmony_ci
13102add0d91Sopenharmony_ci    #[repr(u32)]
13112add0d91Sopenharmony_ci    pub enum ApctlState {
13122add0d91Sopenharmony_ci        Disconnected,
13132add0d91Sopenharmony_ci        Scanning,
13142add0d91Sopenharmony_ci        Joining,
13152add0d91Sopenharmony_ci        GettingIp,
13162add0d91Sopenharmony_ci        GotIp,
13172add0d91Sopenharmony_ci        EapAuth,
13182add0d91Sopenharmony_ci        KeyExchange,
13192add0d91Sopenharmony_ci    }
13202add0d91Sopenharmony_ci
13212add0d91Sopenharmony_ci    #[repr(u32)]
13222add0d91Sopenharmony_ci    pub enum ApctlEvent {
13232add0d91Sopenharmony_ci        ConnectRequest,
13242add0d91Sopenharmony_ci        ScanRequest,
13252add0d91Sopenharmony_ci        ScanComplete,
13262add0d91Sopenharmony_ci        Established,
13272add0d91Sopenharmony_ci        GetIp,
13282add0d91Sopenharmony_ci        DisconnectRequest,
13292add0d91Sopenharmony_ci        Error,
13302add0d91Sopenharmony_ci        Info,
13312add0d91Sopenharmony_ci        EapAuth,
13322add0d91Sopenharmony_ci        KeyExchange,
13332add0d91Sopenharmony_ci        Reconnect,
13342add0d91Sopenharmony_ci    }
13352add0d91Sopenharmony_ci
13362add0d91Sopenharmony_ci    #[repr(u32)]
13372add0d91Sopenharmony_ci    pub enum ApctlInfo {
13382add0d91Sopenharmony_ci        ProfileName,
13392add0d91Sopenharmony_ci        Bssid,
13402add0d91Sopenharmony_ci        Ssid,
13412add0d91Sopenharmony_ci        SsidLength,
13422add0d91Sopenharmony_ci        SecurityType,
13432add0d91Sopenharmony_ci        Strength,
13442add0d91Sopenharmony_ci        Channel,
13452add0d91Sopenharmony_ci        PowerSave,
13462add0d91Sopenharmony_ci        Ip,
13472add0d91Sopenharmony_ci        SubnetMask,
13482add0d91Sopenharmony_ci        Gateway,
13492add0d91Sopenharmony_ci        PrimaryDns,
13502add0d91Sopenharmony_ci        SecondaryDns,
13512add0d91Sopenharmony_ci        UseProxy,
13522add0d91Sopenharmony_ci        ProxyUrl,
13532add0d91Sopenharmony_ci        ProxyPort,
13542add0d91Sopenharmony_ci        EapType,
13552add0d91Sopenharmony_ci        StartBrowser,
13562add0d91Sopenharmony_ci        Wifisp,
13572add0d91Sopenharmony_ci    }
13582add0d91Sopenharmony_ci
13592add0d91Sopenharmony_ci    #[repr(u32)]
13602add0d91Sopenharmony_ci    pub enum ApctlInfoSecurityType {
13612add0d91Sopenharmony_ci        None,
13622add0d91Sopenharmony_ci        Wep,
13632add0d91Sopenharmony_ci        Wpa,
13642add0d91Sopenharmony_ci    }
13652add0d91Sopenharmony_ci
13662add0d91Sopenharmony_ci    #[repr(u32)]
13672add0d91Sopenharmony_ci    pub enum HttpMethod {
13682add0d91Sopenharmony_ci        Get,
13692add0d91Sopenharmony_ci        Post,
13702add0d91Sopenharmony_ci        Head,
13712add0d91Sopenharmony_ci    }
13722add0d91Sopenharmony_ci
13732add0d91Sopenharmony_ci    #[repr(u32)]
13742add0d91Sopenharmony_ci    pub enum HttpAuthType {
13752add0d91Sopenharmony_ci        Basic,
13762add0d91Sopenharmony_ci        Digest,
13772add0d91Sopenharmony_ci    }
13782add0d91Sopenharmony_ci}
13792add0d91Sopenharmony_ci
13802add0d91Sopenharmony_cis_paren! {
13812add0d91Sopenharmony_ci    #[repr(transparent)]
13822add0d91Sopenharmony_ci    pub struct SceUid(pub i32);
13832add0d91Sopenharmony_ci
13842add0d91Sopenharmony_ci    #[repr(transparent)]
13852add0d91Sopenharmony_ci    pub struct SceMpeg(*mut *mut c_void);
13862add0d91Sopenharmony_ci
13872add0d91Sopenharmony_ci    #[repr(transparent)]
13882add0d91Sopenharmony_ci    pub struct SceMpegStream(*mut c_void);
13892add0d91Sopenharmony_ci
13902add0d91Sopenharmony_ci    #[repr(transparent)]
13912add0d91Sopenharmony_ci    pub struct Mp3Handle(pub i32);
13922add0d91Sopenharmony_ci
13932add0d91Sopenharmony_ci    #[repr(transparent)]
13942add0d91Sopenharmony_ci    pub struct RegHandle(u32);
13952add0d91Sopenharmony_ci}
13962add0d91Sopenharmony_ci
13972add0d91Sopenharmony_cis! {
13982add0d91Sopenharmony_ci    pub struct sockaddr {
13992add0d91Sopenharmony_ci        pub sa_len: u8,
14002add0d91Sopenharmony_ci        pub sa_family: u8,
14012add0d91Sopenharmony_ci        pub sa_data: [u8;14],
14022add0d91Sopenharmony_ci    }
14032add0d91Sopenharmony_ci
14042add0d91Sopenharmony_ci    pub struct in_addr {
14052add0d91Sopenharmony_ci        pub s_addr: u32,
14062add0d91Sopenharmony_ci    }
14072add0d91Sopenharmony_ci
14082add0d91Sopenharmony_ci    pub struct AudioInputParams {
14092add0d91Sopenharmony_ci        pub unknown1: i32,
14102add0d91Sopenharmony_ci        pub gain: i32,
14112add0d91Sopenharmony_ci        pub unknown2: i32,
14122add0d91Sopenharmony_ci        pub unknown3: i32,
14132add0d91Sopenharmony_ci        pub unknown4: i32,
14142add0d91Sopenharmony_ci        pub unknown5: i32,
14152add0d91Sopenharmony_ci    }
14162add0d91Sopenharmony_ci
14172add0d91Sopenharmony_ci    pub struct Atrac3BufferInfo {
14182add0d91Sopenharmony_ci        pub puc_write_position_first_buf: *mut u8,
14192add0d91Sopenharmony_ci        pub ui_writable_byte_first_buf: u32,
14202add0d91Sopenharmony_ci        pub ui_min_write_byte_first_buf: u32,
14212add0d91Sopenharmony_ci        pub ui_read_position_first_buf: u32,
14222add0d91Sopenharmony_ci        pub puc_write_position_second_buf: *mut u8,
14232add0d91Sopenharmony_ci        pub ui_writable_byte_second_buf: u32,
14242add0d91Sopenharmony_ci        pub ui_min_write_byte_second_buf: u32,
14252add0d91Sopenharmony_ci        pub ui_read_position_second_buf: u32,
14262add0d91Sopenharmony_ci    }
14272add0d91Sopenharmony_ci
14282add0d91Sopenharmony_ci    pub struct SceCtrlData {
14292add0d91Sopenharmony_ci        pub timestamp: u32,
14302add0d91Sopenharmony_ci        pub buttons: i32,
14312add0d91Sopenharmony_ci        pub lx: u8,
14322add0d91Sopenharmony_ci        pub ly: u8,
14332add0d91Sopenharmony_ci        pub rsrv: [u8; 6],
14342add0d91Sopenharmony_ci    }
14352add0d91Sopenharmony_ci
14362add0d91Sopenharmony_ci    pub struct SceCtrlLatch {
14372add0d91Sopenharmony_ci        pub ui_make: u32,
14382add0d91Sopenharmony_ci        pub ui_break: u32,
14392add0d91Sopenharmony_ci        pub ui_press: u32,
14402add0d91Sopenharmony_ci        pub ui_release: u32,
14412add0d91Sopenharmony_ci    }
14422add0d91Sopenharmony_ci
14432add0d91Sopenharmony_ci    pub struct GeStack {
14442add0d91Sopenharmony_ci        pub stack: [u32; 8],
14452add0d91Sopenharmony_ci    }
14462add0d91Sopenharmony_ci
14472add0d91Sopenharmony_ci    pub struct GeCallbackData {
14482add0d91Sopenharmony_ci        pub signal_func: ::Option<extern "C" fn(id: i32, arg: *mut c_void)>,
14492add0d91Sopenharmony_ci        pub signal_arg: *mut c_void,
14502add0d91Sopenharmony_ci        pub finish_func: ::Option<extern "C" fn(id: i32, arg: *mut c_void)>,
14512add0d91Sopenharmony_ci        pub finish_arg: *mut c_void,
14522add0d91Sopenharmony_ci    }
14532add0d91Sopenharmony_ci
14542add0d91Sopenharmony_ci    pub struct GeListArgs {
14552add0d91Sopenharmony_ci        pub size: u32,
14562add0d91Sopenharmony_ci        pub context: *mut GeContext,
14572add0d91Sopenharmony_ci        pub num_stacks: u32,
14582add0d91Sopenharmony_ci        pub stacks: *mut GeStack,
14592add0d91Sopenharmony_ci    }
14602add0d91Sopenharmony_ci
14612add0d91Sopenharmony_ci    pub struct GeBreakParam {
14622add0d91Sopenharmony_ci        pub buf: [u32; 4],
14632add0d91Sopenharmony_ci    }
14642add0d91Sopenharmony_ci
14652add0d91Sopenharmony_ci    pub struct SceKernelLoadExecParam {
14662add0d91Sopenharmony_ci        pub size: usize,
14672add0d91Sopenharmony_ci        pub args: usize,
14682add0d91Sopenharmony_ci        pub argp: *mut c_void,
14692add0d91Sopenharmony_ci        pub key: *const u8,
14702add0d91Sopenharmony_ci    }
14712add0d91Sopenharmony_ci
14722add0d91Sopenharmony_ci    pub struct timeval {
14732add0d91Sopenharmony_ci        pub tv_sec: i32,
14742add0d91Sopenharmony_ci        pub tv_usec: i32,
14752add0d91Sopenharmony_ci    }
14762add0d91Sopenharmony_ci
14772add0d91Sopenharmony_ci    pub struct timezone {
14782add0d91Sopenharmony_ci        pub tz_minutes_west: i32,
14792add0d91Sopenharmony_ci        pub tz_dst_time: i32,
14802add0d91Sopenharmony_ci    }
14812add0d91Sopenharmony_ci
14822add0d91Sopenharmony_ci    pub struct IntrHandlerOptionParam {
14832add0d91Sopenharmony_ci        size: i32,
14842add0d91Sopenharmony_ci        entry: u32,
14852add0d91Sopenharmony_ci        common: u32,
14862add0d91Sopenharmony_ci        gp: u32,
14872add0d91Sopenharmony_ci        intr_code: u16,
14882add0d91Sopenharmony_ci        sub_count: u16,
14892add0d91Sopenharmony_ci        intr_level: u16,
14902add0d91Sopenharmony_ci        enabled: u16,
14912add0d91Sopenharmony_ci        calls: u32,
14922add0d91Sopenharmony_ci        field_1c: u32,
14932add0d91Sopenharmony_ci        total_clock_lo: u32,
14942add0d91Sopenharmony_ci        total_clock_hi: u32,
14952add0d91Sopenharmony_ci        min_clock_lo: u32,
14962add0d91Sopenharmony_ci        min_clock_hi: u32,
14972add0d91Sopenharmony_ci        max_clock_lo: u32,
14982add0d91Sopenharmony_ci        max_clock_hi: u32,
14992add0d91Sopenharmony_ci    }
15002add0d91Sopenharmony_ci
15012add0d91Sopenharmony_ci    pub struct SceKernelLMOption {
15022add0d91Sopenharmony_ci        pub size: usize,
15032add0d91Sopenharmony_ci        pub m_pid_text: SceUid,
15042add0d91Sopenharmony_ci        pub m_pid_data: SceUid,
15052add0d91Sopenharmony_ci        pub flags: u32,
15062add0d91Sopenharmony_ci        pub position: u8,
15072add0d91Sopenharmony_ci        pub access: u8,
15082add0d91Sopenharmony_ci        pub c_reserved: [u8; 2usize],
15092add0d91Sopenharmony_ci    }
15102add0d91Sopenharmony_ci
15112add0d91Sopenharmony_ci    pub struct SceKernelSMOption {
15122add0d91Sopenharmony_ci        pub size: usize,
15132add0d91Sopenharmony_ci        pub m_pid_stack: SceUid,
15142add0d91Sopenharmony_ci        pub stack_size: usize,
15152add0d91Sopenharmony_ci        pub priority: i32,
15162add0d91Sopenharmony_ci        pub attribute: u32,
15172add0d91Sopenharmony_ci    }
15182add0d91Sopenharmony_ci
15192add0d91Sopenharmony_ci    pub struct SceKernelModuleInfo {
15202add0d91Sopenharmony_ci        pub size: usize,
15212add0d91Sopenharmony_ci        pub n_segment: u8,
15222add0d91Sopenharmony_ci        pub reserved: [u8; 3usize],
15232add0d91Sopenharmony_ci        pub segment_addr: [i32; 4usize],
15242add0d91Sopenharmony_ci        pub segment_size: [i32; 4usize],
15252add0d91Sopenharmony_ci        pub entry_addr: u32,
15262add0d91Sopenharmony_ci        pub gp_value: u32,
15272add0d91Sopenharmony_ci        pub text_addr: u32,
15282add0d91Sopenharmony_ci        pub text_size: u32,
15292add0d91Sopenharmony_ci        pub data_size: u32,
15302add0d91Sopenharmony_ci        pub bss_size: u32,
15312add0d91Sopenharmony_ci        pub attribute: u16,
15322add0d91Sopenharmony_ci        pub version: [u8; 2usize],
15332add0d91Sopenharmony_ci        pub name: [u8; 28usize],
15342add0d91Sopenharmony_ci    }
15352add0d91Sopenharmony_ci
15362add0d91Sopenharmony_ci    pub struct DebugProfilerRegs {
15372add0d91Sopenharmony_ci        pub enable: u32,
15382add0d91Sopenharmony_ci        pub systemck: u32,
15392add0d91Sopenharmony_ci        pub cpuck: u32,
15402add0d91Sopenharmony_ci        pub internal: u32,
15412add0d91Sopenharmony_ci        pub memory: u32,
15422add0d91Sopenharmony_ci        pub copz: u32,
15432add0d91Sopenharmony_ci        pub vfpu: u32,
15442add0d91Sopenharmony_ci        pub sleep: u32,
15452add0d91Sopenharmony_ci        pub bus_access: u32,
15462add0d91Sopenharmony_ci        pub uncached_load: u32,
15472add0d91Sopenharmony_ci        pub uncached_store: u32,
15482add0d91Sopenharmony_ci        pub cached_load: u32,
15492add0d91Sopenharmony_ci        pub cached_store: u32,
15502add0d91Sopenharmony_ci        pub i_miss: u32,
15512add0d91Sopenharmony_ci        pub d_miss: u32,
15522add0d91Sopenharmony_ci        pub d_writeback: u32,
15532add0d91Sopenharmony_ci        pub cop0_inst: u32,
15542add0d91Sopenharmony_ci        pub fpu_inst: u32,
15552add0d91Sopenharmony_ci        pub vfpu_inst: u32,
15562add0d91Sopenharmony_ci        pub local_bus: u32,
15572add0d91Sopenharmony_ci    }
15582add0d91Sopenharmony_ci
15592add0d91Sopenharmony_ci    pub struct SceKernelSysClock {
15602add0d91Sopenharmony_ci        pub low: u32,
15612add0d91Sopenharmony_ci        pub hi: u32,
15622add0d91Sopenharmony_ci    }
15632add0d91Sopenharmony_ci
15642add0d91Sopenharmony_ci    pub struct SceKernelThreadOptParam {
15652add0d91Sopenharmony_ci        pub size: usize,
15662add0d91Sopenharmony_ci        pub stack_mpid: SceUid,
15672add0d91Sopenharmony_ci    }
15682add0d91Sopenharmony_ci
15692add0d91Sopenharmony_ci    pub struct SceKernelThreadInfo {
15702add0d91Sopenharmony_ci        pub size: usize,
15712add0d91Sopenharmony_ci        pub name: [u8; 32],
15722add0d91Sopenharmony_ci        pub attr: u32,
15732add0d91Sopenharmony_ci        pub status: i32,
15742add0d91Sopenharmony_ci        pub entry: SceKernelThreadEntry,
15752add0d91Sopenharmony_ci        pub stack: *mut c_void,
15762add0d91Sopenharmony_ci        pub stack_size: i32,
15772add0d91Sopenharmony_ci        pub gp_reg: *mut c_void,
15782add0d91Sopenharmony_ci        pub init_priority: i32,
15792add0d91Sopenharmony_ci        pub current_priority: i32,
15802add0d91Sopenharmony_ci        pub wait_type: i32,
15812add0d91Sopenharmony_ci        pub wait_id: SceUid,
15822add0d91Sopenharmony_ci        pub wakeup_count: i32,
15832add0d91Sopenharmony_ci        pub exit_status: i32,
15842add0d91Sopenharmony_ci        pub run_clocks: SceKernelSysClock,
15852add0d91Sopenharmony_ci        pub intr_preempt_count: u32,
15862add0d91Sopenharmony_ci        pub thread_preempt_count: u32,
15872add0d91Sopenharmony_ci        pub release_count: u32,
15882add0d91Sopenharmony_ci    }
15892add0d91Sopenharmony_ci
15902add0d91Sopenharmony_ci    pub struct SceKernelThreadRunStatus {
15912add0d91Sopenharmony_ci        pub size: usize,
15922add0d91Sopenharmony_ci        pub status: i32,
15932add0d91Sopenharmony_ci        pub current_priority: i32,
15942add0d91Sopenharmony_ci        pub wait_type: i32,
15952add0d91Sopenharmony_ci        pub wait_id: i32,
15962add0d91Sopenharmony_ci        pub wakeup_count: i32,
15972add0d91Sopenharmony_ci        pub run_clocks: SceKernelSysClock,
15982add0d91Sopenharmony_ci        pub intr_preempt_count: u32,
15992add0d91Sopenharmony_ci        pub thread_preempt_count: u32,
16002add0d91Sopenharmony_ci        pub release_count: u32,
16012add0d91Sopenharmony_ci    }
16022add0d91Sopenharmony_ci
16032add0d91Sopenharmony_ci    pub struct SceKernelSemaOptParam {
16042add0d91Sopenharmony_ci        pub size: usize,
16052add0d91Sopenharmony_ci    }
16062add0d91Sopenharmony_ci
16072add0d91Sopenharmony_ci    pub struct SceKernelSemaInfo {
16082add0d91Sopenharmony_ci        pub size: usize,
16092add0d91Sopenharmony_ci        pub name: [u8; 32],
16102add0d91Sopenharmony_ci        pub attr: u32,
16112add0d91Sopenharmony_ci        pub init_count: i32,
16122add0d91Sopenharmony_ci        pub current_count: i32,
16132add0d91Sopenharmony_ci        pub max_count: i32,
16142add0d91Sopenharmony_ci        pub num_wait_threads: i32,
16152add0d91Sopenharmony_ci    }
16162add0d91Sopenharmony_ci
16172add0d91Sopenharmony_ci    pub struct SceKernelEventFlagInfo {
16182add0d91Sopenharmony_ci        pub size: usize,
16192add0d91Sopenharmony_ci        pub name: [u8; 32],
16202add0d91Sopenharmony_ci        pub attr: u32,
16212add0d91Sopenharmony_ci        pub init_pattern: u32,
16222add0d91Sopenharmony_ci        pub current_pattern: u32,
16232add0d91Sopenharmony_ci        pub num_wait_threads: i32,
16242add0d91Sopenharmony_ci    }
16252add0d91Sopenharmony_ci
16262add0d91Sopenharmony_ci    pub struct SceKernelEventFlagOptParam {
16272add0d91Sopenharmony_ci        pub size: usize,
16282add0d91Sopenharmony_ci    }
16292add0d91Sopenharmony_ci
16302add0d91Sopenharmony_ci    pub struct SceKernelMbxOptParam {
16312add0d91Sopenharmony_ci        pub size: usize,
16322add0d91Sopenharmony_ci    }
16332add0d91Sopenharmony_ci
16342add0d91Sopenharmony_ci    pub struct SceKernelMbxInfo {
16352add0d91Sopenharmony_ci        pub size: usize,
16362add0d91Sopenharmony_ci        pub name: [u8; 32usize],
16372add0d91Sopenharmony_ci        pub attr: u32,
16382add0d91Sopenharmony_ci        pub num_wait_threads: i32,
16392add0d91Sopenharmony_ci        pub num_messages: i32,
16402add0d91Sopenharmony_ci        pub first_message: *mut c_void,
16412add0d91Sopenharmony_ci    }
16422add0d91Sopenharmony_ci
16432add0d91Sopenharmony_ci    pub struct SceKernelVTimerInfo {
16442add0d91Sopenharmony_ci        pub size: usize,
16452add0d91Sopenharmony_ci        pub name: [u8; 32],
16462add0d91Sopenharmony_ci        pub active: i32,
16472add0d91Sopenharmony_ci        pub base: SceKernelSysClock,
16482add0d91Sopenharmony_ci        pub current: SceKernelSysClock,
16492add0d91Sopenharmony_ci        pub schedule: SceKernelSysClock,
16502add0d91Sopenharmony_ci        pub handler: SceKernelVTimerHandler,
16512add0d91Sopenharmony_ci        pub common: *mut c_void,
16522add0d91Sopenharmony_ci    }
16532add0d91Sopenharmony_ci
16542add0d91Sopenharmony_ci    pub struct SceKernelThreadEventHandlerInfo {
16552add0d91Sopenharmony_ci        pub size: usize,
16562add0d91Sopenharmony_ci        pub name: [u8; 32],
16572add0d91Sopenharmony_ci        pub thread_id: SceUid,
16582add0d91Sopenharmony_ci        pub mask: i32,
16592add0d91Sopenharmony_ci        pub handler: SceKernelThreadEventHandler,
16602add0d91Sopenharmony_ci        pub common: *mut c_void,
16612add0d91Sopenharmony_ci    }
16622add0d91Sopenharmony_ci
16632add0d91Sopenharmony_ci    pub struct SceKernelAlarmInfo {
16642add0d91Sopenharmony_ci        pub size: usize,
16652add0d91Sopenharmony_ci        pub schedule: SceKernelSysClock,
16662add0d91Sopenharmony_ci        pub handler: SceKernelAlarmHandler,
16672add0d91Sopenharmony_ci        pub common: *mut c_void,
16682add0d91Sopenharmony_ci    }
16692add0d91Sopenharmony_ci
16702add0d91Sopenharmony_ci    pub struct SceKernelSystemStatus {
16712add0d91Sopenharmony_ci        pub size: usize,
16722add0d91Sopenharmony_ci        pub status: u32,
16732add0d91Sopenharmony_ci        pub idle_clocks: SceKernelSysClock,
16742add0d91Sopenharmony_ci        pub comes_out_of_idle_count: u32,
16752add0d91Sopenharmony_ci        pub thread_switch_count: u32,
16762add0d91Sopenharmony_ci        pub vfpu_switch_count: u32,
16772add0d91Sopenharmony_ci    }
16782add0d91Sopenharmony_ci
16792add0d91Sopenharmony_ci    pub struct SceKernelMppInfo {
16802add0d91Sopenharmony_ci        pub size: usize,
16812add0d91Sopenharmony_ci        pub name: [u8; 32],
16822add0d91Sopenharmony_ci        pub attr: u32,
16832add0d91Sopenharmony_ci        pub buf_size: i32,
16842add0d91Sopenharmony_ci        pub free_size: i32,
16852add0d91Sopenharmony_ci        pub num_send_wait_threads: i32,
16862add0d91Sopenharmony_ci        pub num_receive_wait_threads: i32,
16872add0d91Sopenharmony_ci    }
16882add0d91Sopenharmony_ci
16892add0d91Sopenharmony_ci    pub struct SceKernelVplOptParam {
16902add0d91Sopenharmony_ci        pub size: usize,
16912add0d91Sopenharmony_ci    }
16922add0d91Sopenharmony_ci
16932add0d91Sopenharmony_ci    pub struct SceKernelVplInfo {
16942add0d91Sopenharmony_ci        pub size: usize,
16952add0d91Sopenharmony_ci        pub name: [u8; 32],
16962add0d91Sopenharmony_ci        pub attr: u32,
16972add0d91Sopenharmony_ci        pub pool_size: i32,
16982add0d91Sopenharmony_ci        pub free_size: i32,
16992add0d91Sopenharmony_ci        pub num_wait_threads: i32,
17002add0d91Sopenharmony_ci    }
17012add0d91Sopenharmony_ci
17022add0d91Sopenharmony_ci    pub struct SceKernelFplOptParam {
17032add0d91Sopenharmony_ci        pub size: usize,
17042add0d91Sopenharmony_ci    }
17052add0d91Sopenharmony_ci
17062add0d91Sopenharmony_ci    pub struct SceKernelFplInfo {
17072add0d91Sopenharmony_ci        pub size: usize,
17082add0d91Sopenharmony_ci        pub name: [u8; 32usize],
17092add0d91Sopenharmony_ci        pub attr: u32,
17102add0d91Sopenharmony_ci        pub block_size: i32,
17112add0d91Sopenharmony_ci        pub num_blocks: i32,
17122add0d91Sopenharmony_ci        pub free_blocks: i32,
17132add0d91Sopenharmony_ci        pub num_wait_threads: i32,
17142add0d91Sopenharmony_ci    }
17152add0d91Sopenharmony_ci
17162add0d91Sopenharmony_ci    pub struct SceKernelVTimerOptParam {
17172add0d91Sopenharmony_ci        pub size: usize,
17182add0d91Sopenharmony_ci    }
17192add0d91Sopenharmony_ci
17202add0d91Sopenharmony_ci    pub struct SceKernelCallbackInfo {
17212add0d91Sopenharmony_ci        pub size: usize,
17222add0d91Sopenharmony_ci        pub name: [u8; 32usize],
17232add0d91Sopenharmony_ci        pub thread_id: SceUid,
17242add0d91Sopenharmony_ci        pub callback: SceKernelCallbackFunction,
17252add0d91Sopenharmony_ci        pub common: *mut c_void,
17262add0d91Sopenharmony_ci        pub notify_count: i32,
17272add0d91Sopenharmony_ci        pub notify_arg: i32,
17282add0d91Sopenharmony_ci    }
17292add0d91Sopenharmony_ci
17302add0d91Sopenharmony_ci    pub struct UsbCamSetupStillParam {
17312add0d91Sopenharmony_ci        pub size: i32,
17322add0d91Sopenharmony_ci        pub resolution: UsbCamResolution,
17332add0d91Sopenharmony_ci        pub jpeg_size: i32,
17342add0d91Sopenharmony_ci        pub reverse_flags: i32,
17352add0d91Sopenharmony_ci        pub delay: UsbCamDelay,
17362add0d91Sopenharmony_ci        pub comp_level: i32,
17372add0d91Sopenharmony_ci    }
17382add0d91Sopenharmony_ci
17392add0d91Sopenharmony_ci    pub struct UsbCamSetupStillExParam {
17402add0d91Sopenharmony_ci        pub size: i32,
17412add0d91Sopenharmony_ci        pub unk: u32,
17422add0d91Sopenharmony_ci        pub resolution: UsbCamResolutionEx,
17432add0d91Sopenharmony_ci        pub jpeg_size: i32,
17442add0d91Sopenharmony_ci        pub comp_level: i32,
17452add0d91Sopenharmony_ci        pub unk2: u32,
17462add0d91Sopenharmony_ci        pub unk3: u32,
17472add0d91Sopenharmony_ci        pub flip: i32,
17482add0d91Sopenharmony_ci        pub mirror: i32,
17492add0d91Sopenharmony_ci        pub delay: UsbCamDelay,
17502add0d91Sopenharmony_ci        pub unk4: [u32; 5usize],
17512add0d91Sopenharmony_ci    }
17522add0d91Sopenharmony_ci
17532add0d91Sopenharmony_ci    pub struct UsbCamSetupVideoParam {
17542add0d91Sopenharmony_ci        pub size: i32,
17552add0d91Sopenharmony_ci        pub resolution: UsbCamResolution,
17562add0d91Sopenharmony_ci        pub framerate: UsbCamFrameRate,
17572add0d91Sopenharmony_ci        pub white_balance: UsbCamWb,
17582add0d91Sopenharmony_ci        pub saturation: i32,
17592add0d91Sopenharmony_ci        pub brightness: i32,
17602add0d91Sopenharmony_ci        pub contrast: i32,
17612add0d91Sopenharmony_ci        pub sharpness: i32,
17622add0d91Sopenharmony_ci        pub effect_mode: UsbCamEffectMode,
17632add0d91Sopenharmony_ci        pub frame_size: i32,
17642add0d91Sopenharmony_ci        pub unk: u32,
17652add0d91Sopenharmony_ci        pub evl_evel: UsbCamEvLevel,
17662add0d91Sopenharmony_ci    }
17672add0d91Sopenharmony_ci
17682add0d91Sopenharmony_ci    pub struct UsbCamSetupVideoExParam {
17692add0d91Sopenharmony_ci        pub size: i32,
17702add0d91Sopenharmony_ci        pub unk: u32,
17712add0d91Sopenharmony_ci        pub resolution: UsbCamResolutionEx,
17722add0d91Sopenharmony_ci        pub framerate: UsbCamFrameRate,
17732add0d91Sopenharmony_ci        pub unk2: u32,
17742add0d91Sopenharmony_ci        pub unk3: u32,
17752add0d91Sopenharmony_ci        pub white_balance: UsbCamWb,
17762add0d91Sopenharmony_ci        pub saturation: i32,
17772add0d91Sopenharmony_ci        pub brightness: i32,
17782add0d91Sopenharmony_ci        pub contrast: i32,
17792add0d91Sopenharmony_ci        pub sharpness: i32,
17802add0d91Sopenharmony_ci        pub unk4: u32,
17812add0d91Sopenharmony_ci        pub unk5: u32,
17822add0d91Sopenharmony_ci        pub unk6: [u32; 3usize],
17832add0d91Sopenharmony_ci        pub effect_mode: UsbCamEffectMode,
17842add0d91Sopenharmony_ci        pub unk7: u32,
17852add0d91Sopenharmony_ci        pub unk8: u32,
17862add0d91Sopenharmony_ci        pub unk9: u32,
17872add0d91Sopenharmony_ci        pub unk10: u32,
17882add0d91Sopenharmony_ci        pub unk11: u32,
17892add0d91Sopenharmony_ci        pub frame_size: i32,
17902add0d91Sopenharmony_ci        pub unk12: u32,
17912add0d91Sopenharmony_ci        pub ev_level: UsbCamEvLevel,
17922add0d91Sopenharmony_ci    }
17932add0d91Sopenharmony_ci
17942add0d91Sopenharmony_ci    pub struct ScePspDateTime {
17952add0d91Sopenharmony_ci        pub year: u16,
17962add0d91Sopenharmony_ci        pub month: u16,
17972add0d91Sopenharmony_ci        pub day: u16,
17982add0d91Sopenharmony_ci        pub hour: u16,
17992add0d91Sopenharmony_ci        pub minutes: u16,
18002add0d91Sopenharmony_ci        pub seconds: u16,
18012add0d91Sopenharmony_ci        pub microseconds: u32,
18022add0d91Sopenharmony_ci    }
18032add0d91Sopenharmony_ci
18042add0d91Sopenharmony_ci    pub struct SceIoStat {
18052add0d91Sopenharmony_ci        pub st_mode: i32,
18062add0d91Sopenharmony_ci        pub st_attr: i32,
18072add0d91Sopenharmony_ci        pub st_size: i64,
18082add0d91Sopenharmony_ci        pub st_ctime: ScePspDateTime,
18092add0d91Sopenharmony_ci        pub st_atime: ScePspDateTime,
18102add0d91Sopenharmony_ci        pub st_mtime: ScePspDateTime,
18112add0d91Sopenharmony_ci        pub st_private: [u32; 6usize],
18122add0d91Sopenharmony_ci    }
18132add0d91Sopenharmony_ci
18142add0d91Sopenharmony_ci    pub struct UmdInfo {
18152add0d91Sopenharmony_ci        pub size: u32,
18162add0d91Sopenharmony_ci        pub type_: UmdType,
18172add0d91Sopenharmony_ci    }
18182add0d91Sopenharmony_ci
18192add0d91Sopenharmony_ci    pub struct SceMpegRingbuffer {
18202add0d91Sopenharmony_ci        pub packets: i32,
18212add0d91Sopenharmony_ci        pub unk0: u32,
18222add0d91Sopenharmony_ci        pub unk1: u32,
18232add0d91Sopenharmony_ci        pub unk2: u32,
18242add0d91Sopenharmony_ci        pub unk3: u32,
18252add0d91Sopenharmony_ci        pub data: *mut c_void,
18262add0d91Sopenharmony_ci        pub callback: SceMpegRingbufferCb,
18272add0d91Sopenharmony_ci        pub cb_param: *mut c_void,
18282add0d91Sopenharmony_ci        pub unk4: u32,
18292add0d91Sopenharmony_ci        pub unk5: u32,
18302add0d91Sopenharmony_ci        pub sce_mpeg: *mut c_void,
18312add0d91Sopenharmony_ci    }
18322add0d91Sopenharmony_ci
18332add0d91Sopenharmony_ci    pub struct SceMpegAu {
18342add0d91Sopenharmony_ci        pub pts_msb: u32,
18352add0d91Sopenharmony_ci        pub pts: u32,
18362add0d91Sopenharmony_ci        pub dts_msb: u32,
18372add0d91Sopenharmony_ci        pub dts: u32,
18382add0d91Sopenharmony_ci        pub es_buffer: u32,
18392add0d91Sopenharmony_ci        pub au_size: u32,
18402add0d91Sopenharmony_ci    }
18412add0d91Sopenharmony_ci
18422add0d91Sopenharmony_ci    pub struct SceMpegAvcMode {
18432add0d91Sopenharmony_ci        pub unk0: i32,
18442add0d91Sopenharmony_ci        pub pixel_format: super::DisplayPixelFormat,
18452add0d91Sopenharmony_ci    }
18462add0d91Sopenharmony_ci
18472add0d91Sopenharmony_ci    #[repr(align(64))]
18482add0d91Sopenharmony_ci    pub struct SceMpegLLI {
18492add0d91Sopenharmony_ci        pub src: *mut c_void,
18502add0d91Sopenharmony_ci        pub dst: *mut c_void,
18512add0d91Sopenharmony_ci        pub next: *mut c_void,
18522add0d91Sopenharmony_ci        pub size: i32,
18532add0d91Sopenharmony_ci    }
18542add0d91Sopenharmony_ci
18552add0d91Sopenharmony_ci    #[repr(align(64))]
18562add0d91Sopenharmony_ci    pub struct SceMpegYCrCbBuffer {
18572add0d91Sopenharmony_ci        pub frame_buffer_height16: i32,
18582add0d91Sopenharmony_ci        pub frame_buffer_width16: i32,
18592add0d91Sopenharmony_ci        pub unknown: i32,
18602add0d91Sopenharmony_ci        pub unknown2: i32,
18612add0d91Sopenharmony_ci        pub y_buffer: *mut c_void,
18622add0d91Sopenharmony_ci        pub y_buffer2: *mut c_void,
18632add0d91Sopenharmony_ci        pub cr_buffer: *mut c_void,
18642add0d91Sopenharmony_ci        pub cb_buffer: *mut c_void,
18652add0d91Sopenharmony_ci        pub cr_buffer2: *mut c_void,
18662add0d91Sopenharmony_ci        pub cb_buffer2: *mut c_void,
18672add0d91Sopenharmony_ci
18682add0d91Sopenharmony_ci        pub frame_height: i32,
18692add0d91Sopenharmony_ci        pub frame_width: i32,
18702add0d91Sopenharmony_ci        pub frame_buffer_width: i32,
18712add0d91Sopenharmony_ci        pub unknown3: [i32; 11usize],
18722add0d91Sopenharmony_ci    }
18732add0d91Sopenharmony_ci
18742add0d91Sopenharmony_ci    pub struct ScePspSRect {
18752add0d91Sopenharmony_ci        pub x: i16,
18762add0d91Sopenharmony_ci        pub y: i16,
18772add0d91Sopenharmony_ci        pub w: i16,
18782add0d91Sopenharmony_ci        pub h: i16,
18792add0d91Sopenharmony_ci    }
18802add0d91Sopenharmony_ci
18812add0d91Sopenharmony_ci    pub struct ScePspIRect {
18822add0d91Sopenharmony_ci        pub x: i32,
18832add0d91Sopenharmony_ci        pub y: i32,
18842add0d91Sopenharmony_ci        pub w: i32,
18852add0d91Sopenharmony_ci        pub h: i32,
18862add0d91Sopenharmony_ci    }
18872add0d91Sopenharmony_ci
18882add0d91Sopenharmony_ci    pub struct ScePspL64Rect {
18892add0d91Sopenharmony_ci        pub x: u64,
18902add0d91Sopenharmony_ci        pub y: u64,
18912add0d91Sopenharmony_ci        pub w: u64,
18922add0d91Sopenharmony_ci        pub h: u64,
18932add0d91Sopenharmony_ci    }
18942add0d91Sopenharmony_ci
18952add0d91Sopenharmony_ci    pub struct ScePspSVector2 {
18962add0d91Sopenharmony_ci        pub x: i16,
18972add0d91Sopenharmony_ci        pub y: i16,
18982add0d91Sopenharmony_ci    }
18992add0d91Sopenharmony_ci
19002add0d91Sopenharmony_ci    pub struct ScePspIVector2 {
19012add0d91Sopenharmony_ci        pub x: i32,
19022add0d91Sopenharmony_ci        pub y: i32,
19032add0d91Sopenharmony_ci    }
19042add0d91Sopenharmony_ci
19052add0d91Sopenharmony_ci    pub struct ScePspL64Vector2 {
19062add0d91Sopenharmony_ci        pub x: u64,
19072add0d91Sopenharmony_ci        pub y: u64,
19082add0d91Sopenharmony_ci    }
19092add0d91Sopenharmony_ci
19102add0d91Sopenharmony_ci    pub struct ScePspSVector3 {
19112add0d91Sopenharmony_ci        pub x: i16,
19122add0d91Sopenharmony_ci        pub y: i16,
19132add0d91Sopenharmony_ci        pub z: i16,
19142add0d91Sopenharmony_ci    }
19152add0d91Sopenharmony_ci
19162add0d91Sopenharmony_ci    pub struct ScePspIVector3 {
19172add0d91Sopenharmony_ci        pub x: i32,
19182add0d91Sopenharmony_ci        pub y: i32,
19192add0d91Sopenharmony_ci        pub z: i32,
19202add0d91Sopenharmony_ci    }
19212add0d91Sopenharmony_ci
19222add0d91Sopenharmony_ci    pub struct ScePspL64Vector3 {
19232add0d91Sopenharmony_ci        pub x: u64,
19242add0d91Sopenharmony_ci        pub y: u64,
19252add0d91Sopenharmony_ci        pub z: u64,
19262add0d91Sopenharmony_ci    }
19272add0d91Sopenharmony_ci
19282add0d91Sopenharmony_ci    pub struct ScePspSVector4 {
19292add0d91Sopenharmony_ci        pub x: i16,
19302add0d91Sopenharmony_ci        pub y: i16,
19312add0d91Sopenharmony_ci        pub z: i16,
19322add0d91Sopenharmony_ci        pub w: i16,
19332add0d91Sopenharmony_ci    }
19342add0d91Sopenharmony_ci
19352add0d91Sopenharmony_ci    pub struct ScePspIVector4 {
19362add0d91Sopenharmony_ci        pub x: i32,
19372add0d91Sopenharmony_ci        pub y: i32,
19382add0d91Sopenharmony_ci        pub z: i32,
19392add0d91Sopenharmony_ci        pub w: i32,
19402add0d91Sopenharmony_ci    }
19412add0d91Sopenharmony_ci
19422add0d91Sopenharmony_ci    pub struct ScePspL64Vector4 {
19432add0d91Sopenharmony_ci        pub x: u64,
19442add0d91Sopenharmony_ci        pub y: u64,
19452add0d91Sopenharmony_ci        pub z: u64,
19462add0d91Sopenharmony_ci        pub w: u64,
19472add0d91Sopenharmony_ci    }
19482add0d91Sopenharmony_ci
19492add0d91Sopenharmony_ci    pub struct ScePspIMatrix2 {
19502add0d91Sopenharmony_ci        pub x: ScePspIVector2,
19512add0d91Sopenharmony_ci        pub y: ScePspIVector2,
19522add0d91Sopenharmony_ci    }
19532add0d91Sopenharmony_ci
19542add0d91Sopenharmony_ci    pub struct ScePspIMatrix3 {
19552add0d91Sopenharmony_ci        pub x: ScePspIVector3,
19562add0d91Sopenharmony_ci        pub y: ScePspIVector3,
19572add0d91Sopenharmony_ci        pub z: ScePspIVector3,
19582add0d91Sopenharmony_ci    }
19592add0d91Sopenharmony_ci
19602add0d91Sopenharmony_ci    #[repr(align(16))]
19612add0d91Sopenharmony_ci    pub struct ScePspIMatrix4 {
19622add0d91Sopenharmony_ci        pub x: ScePspIVector4,
19632add0d91Sopenharmony_ci        pub y: ScePspIVector4,
19642add0d91Sopenharmony_ci        pub z: ScePspIVector4,
19652add0d91Sopenharmony_ci        pub w: ScePspIVector4,
19662add0d91Sopenharmony_ci    }
19672add0d91Sopenharmony_ci
19682add0d91Sopenharmony_ci    pub struct ScePspIMatrix4Unaligned {
19692add0d91Sopenharmony_ci        pub x: ScePspIVector4,
19702add0d91Sopenharmony_ci        pub y: ScePspIVector4,
19712add0d91Sopenharmony_ci        pub z: ScePspIVector4,
19722add0d91Sopenharmony_ci        pub w: ScePspIVector4,
19732add0d91Sopenharmony_ci    }
19742add0d91Sopenharmony_ci
19752add0d91Sopenharmony_ci    pub struct SceMp3InitArg {
19762add0d91Sopenharmony_ci        pub mp3_stream_start: u32,
19772add0d91Sopenharmony_ci        pub unk1: u32,
19782add0d91Sopenharmony_ci        pub mp3_stream_end: u32,
19792add0d91Sopenharmony_ci        pub unk2: u32,
19802add0d91Sopenharmony_ci        pub mp3_buf: *mut c_void,
19812add0d91Sopenharmony_ci        pub mp3_buf_size: i32,
19822add0d91Sopenharmony_ci        pub pcm_buf: *mut c_void,
19832add0d91Sopenharmony_ci        pub pcm_buf_size: i32,
19842add0d91Sopenharmony_ci    }
19852add0d91Sopenharmony_ci
19862add0d91Sopenharmony_ci    pub struct OpenPSID {
19872add0d91Sopenharmony_ci        pub data: [u8; 16usize],
19882add0d91Sopenharmony_ci    }
19892add0d91Sopenharmony_ci
19902add0d91Sopenharmony_ci    pub struct UtilityDialogCommon {
19912add0d91Sopenharmony_ci        pub size: u32,
19922add0d91Sopenharmony_ci        pub language: SystemParamLanguage,
19932add0d91Sopenharmony_ci        pub button_accept: UtilityDialogButtonAccept,
19942add0d91Sopenharmony_ci        pub graphics_thread: i32,
19952add0d91Sopenharmony_ci        pub access_thread: i32,
19962add0d91Sopenharmony_ci        pub font_thread: i32,
19972add0d91Sopenharmony_ci        pub sound_thread: i32,
19982add0d91Sopenharmony_ci        pub result: i32,
19992add0d91Sopenharmony_ci        pub reserved: [i32; 4usize],
20002add0d91Sopenharmony_ci    }
20012add0d91Sopenharmony_ci
20022add0d91Sopenharmony_ci    pub struct UtilityNetconfAdhoc {
20032add0d91Sopenharmony_ci        pub name: [u8; 8usize],
20042add0d91Sopenharmony_ci        pub timeout: u32,
20052add0d91Sopenharmony_ci    }
20062add0d91Sopenharmony_ci
20072add0d91Sopenharmony_ci    pub struct UtilityNetconfData {
20082add0d91Sopenharmony_ci        pub base: UtilityDialogCommon,
20092add0d91Sopenharmony_ci        pub action: UtilityNetconfAction,
20102add0d91Sopenharmony_ci        pub adhocparam: *mut UtilityNetconfAdhoc,
20112add0d91Sopenharmony_ci        pub hotspot: i32,
20122add0d91Sopenharmony_ci        pub hotspot_connected: i32,
20132add0d91Sopenharmony_ci        pub wifisp: i32,
20142add0d91Sopenharmony_ci    }
20152add0d91Sopenharmony_ci
20162add0d91Sopenharmony_ci    pub struct UtilitySavedataFileData {
20172add0d91Sopenharmony_ci        pub buf: *mut c_void,
20182add0d91Sopenharmony_ci        pub buf_size: usize,
20192add0d91Sopenharmony_ci        pub size: usize,
20202add0d91Sopenharmony_ci        pub unknown: i32,
20212add0d91Sopenharmony_ci    }
20222add0d91Sopenharmony_ci
20232add0d91Sopenharmony_ci    pub struct UtilitySavedataListSaveNewData {
20242add0d91Sopenharmony_ci        pub icon0: UtilitySavedataFileData,
20252add0d91Sopenharmony_ci        pub title: *mut u8,
20262add0d91Sopenharmony_ci    }
20272add0d91Sopenharmony_ci
20282add0d91Sopenharmony_ci    pub struct UtilityGameSharingParams {
20292add0d91Sopenharmony_ci        pub base: UtilityDialogCommon,
20302add0d91Sopenharmony_ci        pub unknown1: i32,
20312add0d91Sopenharmony_ci        pub unknown2: i32,
20322add0d91Sopenharmony_ci        pub name: [u8; 8usize],
20332add0d91Sopenharmony_ci        pub unknown3: i32,
20342add0d91Sopenharmony_ci        pub unknown4: i32,
20352add0d91Sopenharmony_ci        pub unknown5: i32,
20362add0d91Sopenharmony_ci        pub result: i32,
20372add0d91Sopenharmony_ci        pub filepath: *mut u8,
20382add0d91Sopenharmony_ci        pub mode: UtilityGameSharingMode,
20392add0d91Sopenharmony_ci        pub datatype: UtilityGameSharingDataType,
20402add0d91Sopenharmony_ci        pub data: *mut c_void,
20412add0d91Sopenharmony_ci        pub datasize: u32,
20422add0d91Sopenharmony_ci    }
20432add0d91Sopenharmony_ci
20442add0d91Sopenharmony_ci    pub struct UtilityHtmlViewerParam {
20452add0d91Sopenharmony_ci        pub base: UtilityDialogCommon,
20462add0d91Sopenharmony_ci        pub memaddr: *mut c_void,
20472add0d91Sopenharmony_ci        pub memsize: u32,
20482add0d91Sopenharmony_ci        pub unknown1: i32,
20492add0d91Sopenharmony_ci        pub unknown2: i32,
20502add0d91Sopenharmony_ci        pub initialurl: *mut u8,
20512add0d91Sopenharmony_ci        pub numtabs: u32,
20522add0d91Sopenharmony_ci        pub interfacemode: UtilityHtmlViewerInterfaceMode,
20532add0d91Sopenharmony_ci        pub options: i32,
20542add0d91Sopenharmony_ci        pub dldirname: *mut u8,
20552add0d91Sopenharmony_ci        pub dlfilename: *mut u8,
20562add0d91Sopenharmony_ci        pub uldirname: *mut u8,
20572add0d91Sopenharmony_ci        pub ulfilename: *mut u8,
20582add0d91Sopenharmony_ci        pub cookiemode: UtilityHtmlViewerCookieMode,
20592add0d91Sopenharmony_ci        pub unknown3: u32,
20602add0d91Sopenharmony_ci        pub homeurl: *mut u8,
20612add0d91Sopenharmony_ci        pub textsize: UtilityHtmlViewerTextSize,
20622add0d91Sopenharmony_ci        pub displaymode: UtilityHtmlViewerDisplayMode,
20632add0d91Sopenharmony_ci        pub connectmode: UtilityHtmlViewerConnectMode,
20642add0d91Sopenharmony_ci        pub disconnectmode: UtilityHtmlViewerDisconnectMode,
20652add0d91Sopenharmony_ci        pub memused: u32,
20662add0d91Sopenharmony_ci        pub unknown4: [i32; 10usize],
20672add0d91Sopenharmony_ci    }
20682add0d91Sopenharmony_ci
20692add0d91Sopenharmony_ci    pub struct SceUtilityOskData {
20702add0d91Sopenharmony_ci        pub unk_00: i32,
20712add0d91Sopenharmony_ci        pub unk_04: i32,
20722add0d91Sopenharmony_ci        pub language: SceUtilityOskInputLanguage,
20732add0d91Sopenharmony_ci        pub unk_12: i32,
20742add0d91Sopenharmony_ci        pub inputtype: SceUtilityOskInputType,
20752add0d91Sopenharmony_ci        pub lines: i32,
20762add0d91Sopenharmony_ci        pub unk_24: i32,
20772add0d91Sopenharmony_ci        pub desc: *mut u16,
20782add0d91Sopenharmony_ci        pub intext: *mut u16,
20792add0d91Sopenharmony_ci        pub outtextlength: i32,
20802add0d91Sopenharmony_ci        pub outtext: *mut u16,
20812add0d91Sopenharmony_ci        pub result: SceUtilityOskResult,
20822add0d91Sopenharmony_ci        pub outtextlimit: i32,
20832add0d91Sopenharmony_ci    }
20842add0d91Sopenharmony_ci
20852add0d91Sopenharmony_ci    pub struct SceUtilityOskParams {
20862add0d91Sopenharmony_ci        pub base: UtilityDialogCommon,
20872add0d91Sopenharmony_ci        pub datacount: i32,
20882add0d91Sopenharmony_ci        pub data: *mut SceUtilityOskData,
20892add0d91Sopenharmony_ci        pub state: SceUtilityOskState,
20902add0d91Sopenharmony_ci        pub unk_60: i32,
20912add0d91Sopenharmony_ci    }
20922add0d91Sopenharmony_ci
20932add0d91Sopenharmony_ci    pub struct SceNetMallocStat {
20942add0d91Sopenharmony_ci        pub pool: i32,
20952add0d91Sopenharmony_ci        pub maximum: i32,
20962add0d91Sopenharmony_ci        pub free: i32,
20972add0d91Sopenharmony_ci    }
20982add0d91Sopenharmony_ci
20992add0d91Sopenharmony_ci    pub struct SceNetAdhocctlAdhocId {
21002add0d91Sopenharmony_ci        pub unknown: i32,
21012add0d91Sopenharmony_ci        pub adhoc_id: [u8; 9usize],
21022add0d91Sopenharmony_ci        pub unk: [u8; 3usize],
21032add0d91Sopenharmony_ci    }
21042add0d91Sopenharmony_ci
21052add0d91Sopenharmony_ci    pub struct SceNetAdhocctlScanInfo {
21062add0d91Sopenharmony_ci        pub next: *mut SceNetAdhocctlScanInfo,
21072add0d91Sopenharmony_ci        pub channel: i32,
21082add0d91Sopenharmony_ci        pub name: [u8; 8usize],
21092add0d91Sopenharmony_ci        pub bssid: [u8; 6usize],
21102add0d91Sopenharmony_ci        pub unknown: [u8; 2usize],
21112add0d91Sopenharmony_ci        pub unknown2: i32,
21122add0d91Sopenharmony_ci    }
21132add0d91Sopenharmony_ci
21142add0d91Sopenharmony_ci    pub struct SceNetAdhocctlGameModeInfo {
21152add0d91Sopenharmony_ci        pub count: i32,
21162add0d91Sopenharmony_ci        pub macs: [[u8; 6usize]; 16usize],
21172add0d91Sopenharmony_ci    }
21182add0d91Sopenharmony_ci
21192add0d91Sopenharmony_ci    pub struct SceNetAdhocPtpStat {
21202add0d91Sopenharmony_ci        pub next: *mut SceNetAdhocPtpStat,
21212add0d91Sopenharmony_ci        pub ptp_id: i32,
21222add0d91Sopenharmony_ci        pub mac: [u8; 6usize],
21232add0d91Sopenharmony_ci        pub peermac: [u8; 6usize],
21242add0d91Sopenharmony_ci        pub port: u16,
21252add0d91Sopenharmony_ci        pub peerport: u16,
21262add0d91Sopenharmony_ci        pub sent_data: u32,
21272add0d91Sopenharmony_ci        pub rcvd_data: u32,
21282add0d91Sopenharmony_ci        pub state: ScePspnetAdhocPtpState,
21292add0d91Sopenharmony_ci    }
21302add0d91Sopenharmony_ci
21312add0d91Sopenharmony_ci    pub struct SceNetAdhocPdpStat {
21322add0d91Sopenharmony_ci        pub next: *mut SceNetAdhocPdpStat,
21332add0d91Sopenharmony_ci        pub pdp_id: i32,
21342add0d91Sopenharmony_ci        pub mac: [u8; 6usize],
21352add0d91Sopenharmony_ci        pub port: u16,
21362add0d91Sopenharmony_ci        pub rcvd_data: u32,
21372add0d91Sopenharmony_ci    }
21382add0d91Sopenharmony_ci
21392add0d91Sopenharmony_ci    pub struct AdhocPoolStat {
21402add0d91Sopenharmony_ci        pub size: i32,
21412add0d91Sopenharmony_ci        pub maxsize: i32,
21422add0d91Sopenharmony_ci        pub freesize: i32,
21432add0d91Sopenharmony_ci    }
21442add0d91Sopenharmony_ci}
21452add0d91Sopenharmony_ci
21462add0d91Sopenharmony_cis_no_extra_traits! {
21472add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
21482add0d91Sopenharmony_ci    pub struct GeContext {
21492add0d91Sopenharmony_ci        pub context: [u32; 512],
21502add0d91Sopenharmony_ci    }
21512add0d91Sopenharmony_ci
21522add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
21532add0d91Sopenharmony_ci    pub struct SceKernelUtilsSha1Context {
21542add0d91Sopenharmony_ci        pub h: [u32; 5usize],
21552add0d91Sopenharmony_ci        pub us_remains: u16,
21562add0d91Sopenharmony_ci        pub us_computed: u16,
21572add0d91Sopenharmony_ci        pub ull_total_len: u64,
21582add0d91Sopenharmony_ci        pub buf: [u8; 64usize],
21592add0d91Sopenharmony_ci    }
21602add0d91Sopenharmony_ci
21612add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
21622add0d91Sopenharmony_ci    pub struct SceKernelUtilsMt19937Context {
21632add0d91Sopenharmony_ci        pub count: u32,
21642add0d91Sopenharmony_ci        pub state: [u32; 624usize],
21652add0d91Sopenharmony_ci    }
21662add0d91Sopenharmony_ci
21672add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
21682add0d91Sopenharmony_ci    pub struct SceKernelUtilsMd5Context {
21692add0d91Sopenharmony_ci        pub h: [u32; 4usize],
21702add0d91Sopenharmony_ci        pub pad: u32,
21712add0d91Sopenharmony_ci        pub us_remains: u16,
21722add0d91Sopenharmony_ci        pub us_computed: u16,
21732add0d91Sopenharmony_ci        pub ull_total_len: u64,
21742add0d91Sopenharmony_ci        pub buf: [u8; 64usize],
21752add0d91Sopenharmony_ci    }
21762add0d91Sopenharmony_ci
21772add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
21782add0d91Sopenharmony_ci    pub struct SceIoDirent {
21792add0d91Sopenharmony_ci        pub d_stat: SceIoStat,
21802add0d91Sopenharmony_ci        pub d_name: [u8; 256usize],
21812add0d91Sopenharmony_ci        pub d_private: *mut c_void,
21822add0d91Sopenharmony_ci        pub dummy: i32,
21832add0d91Sopenharmony_ci    }
21842add0d91Sopenharmony_ci
21852add0d91Sopenharmony_ci    #[cfg_attr(feature = "extra_traits", derive(Debug))]
21862add0d91Sopenharmony_ci    pub struct ScePspFRect {
21872add0d91Sopenharmony_ci        pub x: f32,
21882add0d91Sopenharmony_ci        pub y: f32,
21892add0d91Sopenharmony_ci        pub w: f32,
21902add0d91Sopenharmony_ci        pub h: f32,
21912add0d91Sopenharmony_ci    }
21922add0d91Sopenharmony_ci
21932add0d91Sopenharmony_ci    #[repr(align(16))]
21942add0d91Sopenharmony_ci    #[cfg_attr(feature = "extra_traits", derive(Debug))]
21952add0d91Sopenharmony_ci    pub struct ScePspFVector3 {
21962add0d91Sopenharmony_ci        pub x: f32,
21972add0d91Sopenharmony_ci        pub y: f32,
21982add0d91Sopenharmony_ci        pub z: f32,
21992add0d91Sopenharmony_ci    }
22002add0d91Sopenharmony_ci
22012add0d91Sopenharmony_ci    #[repr(align(16))]
22022add0d91Sopenharmony_ci    #[cfg_attr(feature = "extra_traits", derive(Debug))]
22032add0d91Sopenharmony_ci    pub struct ScePspFVector4 {
22042add0d91Sopenharmony_ci        pub x: f32,
22052add0d91Sopenharmony_ci        pub y: f32,
22062add0d91Sopenharmony_ci        pub z: f32,
22072add0d91Sopenharmony_ci        pub w: f32,
22082add0d91Sopenharmony_ci    }
22092add0d91Sopenharmony_ci
22102add0d91Sopenharmony_ci    #[cfg_attr(feature = "extra_traits", derive(Debug))]
22112add0d91Sopenharmony_ci    pub struct ScePspFVector4Unaligned {
22122add0d91Sopenharmony_ci        pub x: f32,
22132add0d91Sopenharmony_ci        pub y: f32,
22142add0d91Sopenharmony_ci        pub z: f32,
22152add0d91Sopenharmony_ci        pub w: f32,
22162add0d91Sopenharmony_ci    }
22172add0d91Sopenharmony_ci
22182add0d91Sopenharmony_ci    #[cfg_attr(feature = "extra_traits", derive(Debug))]
22192add0d91Sopenharmony_ci    pub struct ScePspFVector2 {
22202add0d91Sopenharmony_ci        pub x: f32,
22212add0d91Sopenharmony_ci        pub y: f32,
22222add0d91Sopenharmony_ci    }
22232add0d91Sopenharmony_ci
22242add0d91Sopenharmony_ci    #[cfg_attr(feature = "extra_traits", derive(Debug))]
22252add0d91Sopenharmony_ci    pub struct ScePspFMatrix2 {
22262add0d91Sopenharmony_ci        pub x: ScePspFVector2,
22272add0d91Sopenharmony_ci        pub y: ScePspFVector2,
22282add0d91Sopenharmony_ci    }
22292add0d91Sopenharmony_ci
22302add0d91Sopenharmony_ci    #[cfg_attr(feature = "extra_traits", derive(Debug))]
22312add0d91Sopenharmony_ci    pub struct ScePspFMatrix3 {
22322add0d91Sopenharmony_ci        pub x: ScePspFVector3,
22332add0d91Sopenharmony_ci        pub y: ScePspFVector3,
22342add0d91Sopenharmony_ci        pub z: ScePspFVector3,
22352add0d91Sopenharmony_ci    }
22362add0d91Sopenharmony_ci
22372add0d91Sopenharmony_ci    #[cfg_attr(feature = "extra_traits", derive(Debug))]
22382add0d91Sopenharmony_ci    #[repr(align(16))]
22392add0d91Sopenharmony_ci    pub struct ScePspFMatrix4 {
22402add0d91Sopenharmony_ci        pub x: ScePspFVector4,
22412add0d91Sopenharmony_ci        pub y: ScePspFVector4,
22422add0d91Sopenharmony_ci        pub z: ScePspFVector4,
22432add0d91Sopenharmony_ci        pub w: ScePspFVector4,
22442add0d91Sopenharmony_ci    }
22452add0d91Sopenharmony_ci
22462add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
22472add0d91Sopenharmony_ci    pub struct ScePspFMatrix4Unaligned {
22482add0d91Sopenharmony_ci        pub x: ScePspFVector4,
22492add0d91Sopenharmony_ci        pub y: ScePspFVector4,
22502add0d91Sopenharmony_ci        pub z: ScePspFVector4,
22512add0d91Sopenharmony_ci        pub w: ScePspFVector4,
22522add0d91Sopenharmony_ci    }
22532add0d91Sopenharmony_ci
22542add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
22552add0d91Sopenharmony_ci    pub union ScePspVector3 {
22562add0d91Sopenharmony_ci        pub fv: ScePspFVector3,
22572add0d91Sopenharmony_ci        pub iv: ScePspIVector3,
22582add0d91Sopenharmony_ci        pub f: [f32; 3usize],
22592add0d91Sopenharmony_ci        pub i: [i32; 3usize],
22602add0d91Sopenharmony_ci    }
22612add0d91Sopenharmony_ci
22622add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
22632add0d91Sopenharmony_ci    pub union ScePspVector4 {
22642add0d91Sopenharmony_ci        pub fv: ScePspFVector4,
22652add0d91Sopenharmony_ci        pub iv: ScePspIVector4,
22662add0d91Sopenharmony_ci        pub qw: u128,
22672add0d91Sopenharmony_ci        pub f: [f32; 4usize],
22682add0d91Sopenharmony_ci        pub i: [i32; 4usize],
22692add0d91Sopenharmony_ci    }
22702add0d91Sopenharmony_ci
22712add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
22722add0d91Sopenharmony_ci    pub union ScePspMatrix2 {
22732add0d91Sopenharmony_ci        pub fm: ScePspFMatrix2,
22742add0d91Sopenharmony_ci        pub im: ScePspIMatrix2,
22752add0d91Sopenharmony_ci        pub fv: [ScePspFVector2; 2usize],
22762add0d91Sopenharmony_ci        pub iv: [ScePspIVector2; 2usize],
22772add0d91Sopenharmony_ci        pub v: [ScePspVector2; 2usize],
22782add0d91Sopenharmony_ci        pub f: [[f32; 2usize]; 2usize],
22792add0d91Sopenharmony_ci        pub i: [[i32; 2usize]; 2usize],
22802add0d91Sopenharmony_ci    }
22812add0d91Sopenharmony_ci
22822add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
22832add0d91Sopenharmony_ci    pub union ScePspMatrix3 {
22842add0d91Sopenharmony_ci        pub fm: ScePspFMatrix3,
22852add0d91Sopenharmony_ci        pub im: ScePspIMatrix3,
22862add0d91Sopenharmony_ci        pub fv: [ScePspFVector3; 3usize],
22872add0d91Sopenharmony_ci        pub iv: [ScePspIVector3; 3usize],
22882add0d91Sopenharmony_ci        pub v: [ScePspVector3; 3usize],
22892add0d91Sopenharmony_ci        pub f: [[f32; 3usize]; 3usize],
22902add0d91Sopenharmony_ci        pub i: [[i32; 3usize]; 3usize],
22912add0d91Sopenharmony_ci    }
22922add0d91Sopenharmony_ci
22932add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
22942add0d91Sopenharmony_ci    pub union ScePspVector2 {
22952add0d91Sopenharmony_ci        pub fv: ScePspFVector2,
22962add0d91Sopenharmony_ci        pub iv: ScePspIVector2,
22972add0d91Sopenharmony_ci        pub f: [f32; 2usize],
22982add0d91Sopenharmony_ci        pub i: [i32; 2usize],
22992add0d91Sopenharmony_ci    }
23002add0d91Sopenharmony_ci
23012add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
23022add0d91Sopenharmony_ci    pub union ScePspMatrix4 {
23032add0d91Sopenharmony_ci        pub fm: ScePspFMatrix4,
23042add0d91Sopenharmony_ci        pub im: ScePspIMatrix4,
23052add0d91Sopenharmony_ci        pub fv: [ScePspFVector4; 4usize],
23062add0d91Sopenharmony_ci        pub iv: [ScePspIVector4; 4usize],
23072add0d91Sopenharmony_ci        pub v: [ScePspVector4; 4usize],
23082add0d91Sopenharmony_ci        pub f: [[f32; 4usize]; 4usize],
23092add0d91Sopenharmony_ci        pub i: [[i32; 4usize]; 4usize],
23102add0d91Sopenharmony_ci    }
23112add0d91Sopenharmony_ci
23122add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
23132add0d91Sopenharmony_ci    pub struct Key {
23142add0d91Sopenharmony_ci        pub key_type: KeyType,
23152add0d91Sopenharmony_ci        pub name: [u8; 256usize],
23162add0d91Sopenharmony_ci        pub name_len: u32,
23172add0d91Sopenharmony_ci        pub unk2: u32,
23182add0d91Sopenharmony_ci        pub unk3: u32,
23192add0d91Sopenharmony_ci    }
23202add0d91Sopenharmony_ci
23212add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
23222add0d91Sopenharmony_ci    pub struct UtilityMsgDialogParams {
23232add0d91Sopenharmony_ci        pub base: UtilityDialogCommon,
23242add0d91Sopenharmony_ci        pub unknown: i32,
23252add0d91Sopenharmony_ci        pub mode: UtilityMsgDialogMode,
23262add0d91Sopenharmony_ci        pub error_value: u32,
23272add0d91Sopenharmony_ci        pub message: [u8; 512usize],
23282add0d91Sopenharmony_ci        pub options: i32,
23292add0d91Sopenharmony_ci        pub button_pressed: UtilityMsgDialogPressed,
23302add0d91Sopenharmony_ci    }
23312add0d91Sopenharmony_ci
23322add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
23332add0d91Sopenharmony_ci    pub union UtilityNetData {
23342add0d91Sopenharmony_ci        pub as_uint: u32,
23352add0d91Sopenharmony_ci        pub as_string: [u8; 128usize],
23362add0d91Sopenharmony_ci    }
23372add0d91Sopenharmony_ci
23382add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
23392add0d91Sopenharmony_ci    pub struct UtilitySavedataSFOParam {
23402add0d91Sopenharmony_ci        pub title: [u8; 128usize],
23412add0d91Sopenharmony_ci        pub savedata_title: [u8; 128usize],
23422add0d91Sopenharmony_ci        pub detail: [u8; 1024usize],
23432add0d91Sopenharmony_ci        pub parental_level: u8,
23442add0d91Sopenharmony_ci        pub unknown: [u8; 3usize],
23452add0d91Sopenharmony_ci    }
23462add0d91Sopenharmony_ci
23472add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
23482add0d91Sopenharmony_ci    pub struct SceUtilitySavedataParam {
23492add0d91Sopenharmony_ci        pub base: UtilityDialogCommon,
23502add0d91Sopenharmony_ci        pub mode: UtilitySavedataMode,
23512add0d91Sopenharmony_ci        pub unknown1: i32,
23522add0d91Sopenharmony_ci        pub overwrite: i32,
23532add0d91Sopenharmony_ci        pub game_name: [u8; 13usize],
23542add0d91Sopenharmony_ci        pub reserved: [u8; 3usize],
23552add0d91Sopenharmony_ci        pub save_name: [u8; 20usize],
23562add0d91Sopenharmony_ci        pub save_name_list: *mut [u8; 20usize],
23572add0d91Sopenharmony_ci        pub file_name: [u8; 13usize],
23582add0d91Sopenharmony_ci        pub reserved1: [u8; 3usize],
23592add0d91Sopenharmony_ci        pub data_buf: *mut c_void,
23602add0d91Sopenharmony_ci        pub data_buf_size: usize,
23612add0d91Sopenharmony_ci        pub data_size: usize,
23622add0d91Sopenharmony_ci        pub sfo_param: UtilitySavedataSFOParam,
23632add0d91Sopenharmony_ci        pub icon0_file_data: UtilitySavedataFileData,
23642add0d91Sopenharmony_ci        pub icon1_file_data: UtilitySavedataFileData,
23652add0d91Sopenharmony_ci        pub pic1_file_data: UtilitySavedataFileData,
23662add0d91Sopenharmony_ci        pub snd0_file_data: UtilitySavedataFileData,
23672add0d91Sopenharmony_ci        pub new_data: *mut UtilitySavedataListSaveNewData,
23682add0d91Sopenharmony_ci        pub focus: UtilitySavedataFocus,
23692add0d91Sopenharmony_ci        pub unknown2: [i32; 4usize],
23702add0d91Sopenharmony_ci        pub key: [u8; 16],
23712add0d91Sopenharmony_ci        pub unknown3: [u8; 20],
23722add0d91Sopenharmony_ci    }
23732add0d91Sopenharmony_ci
23742add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
23752add0d91Sopenharmony_ci    pub struct SceNetAdhocctlPeerInfo {
23762add0d91Sopenharmony_ci        pub next: *mut SceNetAdhocctlPeerInfo,
23772add0d91Sopenharmony_ci        pub nickname: [u8; 128usize],
23782add0d91Sopenharmony_ci        pub mac: [u8; 6usize],
23792add0d91Sopenharmony_ci        pub unknown: [u8; 6usize],
23802add0d91Sopenharmony_ci        pub timestamp: u32,
23812add0d91Sopenharmony_ci    }
23822add0d91Sopenharmony_ci
23832add0d91Sopenharmony_ci    #[allow(missing_debug_implementations)]
23842add0d91Sopenharmony_ci    pub struct SceNetAdhocctlParams {
23852add0d91Sopenharmony_ci        pub channel: i32,
23862add0d91Sopenharmony_ci        pub name: [u8; 8usize],
23872add0d91Sopenharmony_ci        pub bssid: [u8; 6usize],
23882add0d91Sopenharmony_ci        pub nickname: [u8; 128usize],
23892add0d91Sopenharmony_ci    }
23902add0d91Sopenharmony_ci
23912add0d91Sopenharmony_ci    #[cfg_attr(feature = "extra_traits", allow(missing_debug_implementations))]
23922add0d91Sopenharmony_ci    pub union SceNetApctlInfo {
23932add0d91Sopenharmony_ci        pub name: [u8; 64usize],
23942add0d91Sopenharmony_ci        pub bssid: [u8; 6usize],
23952add0d91Sopenharmony_ci        pub ssid: [u8; 32usize],
23962add0d91Sopenharmony_ci        pub ssid_length: u32,
23972add0d91Sopenharmony_ci        pub security_type: u32,
23982add0d91Sopenharmony_ci        pub strength: u8,
23992add0d91Sopenharmony_ci        pub channel: u8,
24002add0d91Sopenharmony_ci        pub power_save: u8,
24012add0d91Sopenharmony_ci        pub ip: [u8; 16usize],
24022add0d91Sopenharmony_ci        pub sub_net_mask: [u8; 16usize],
24032add0d91Sopenharmony_ci        pub gateway: [u8; 16usize],
24042add0d91Sopenharmony_ci        pub primary_dns: [u8; 16usize],
24052add0d91Sopenharmony_ci        pub secondary_dns: [u8; 16usize],
24062add0d91Sopenharmony_ci        pub use_proxy: u32,
24072add0d91Sopenharmony_ci        pub proxy_url: [u8; 128usize],
24082add0d91Sopenharmony_ci        pub proxy_port: u16,
24092add0d91Sopenharmony_ci        pub eap_type: u32,
24102add0d91Sopenharmony_ci        pub start_browser: u32,
24112add0d91Sopenharmony_ci        pub wifisp: u32,
24122add0d91Sopenharmony_ci    }
24132add0d91Sopenharmony_ci}
24142add0d91Sopenharmony_ci
24152add0d91Sopenharmony_cipub const INT_MIN: c_int = -2147483648;
24162add0d91Sopenharmony_cipub const INT_MAX: c_int = 2147483647;
24172add0d91Sopenharmony_ci
24182add0d91Sopenharmony_cipub const AUDIO_VOLUME_MAX: u32 = 0x8000;
24192add0d91Sopenharmony_cipub const AUDIO_CHANNEL_MAX: u32 = 8;
24202add0d91Sopenharmony_cipub const AUDIO_NEXT_CHANNEL: i32 = -1;
24212add0d91Sopenharmony_cipub const AUDIO_SAMPLE_MIN: u32 = 64;
24222add0d91Sopenharmony_cipub const AUDIO_SAMPLE_MAX: u32 = 65472;
24232add0d91Sopenharmony_ci
24242add0d91Sopenharmony_cipub const PSP_CTRL_SELECT: i32 = 0x000001;
24252add0d91Sopenharmony_cipub const PSP_CTRL_START: i32 = 0x000008;
24262add0d91Sopenharmony_cipub const PSP_CTRL_UP: i32 = 0x000010;
24272add0d91Sopenharmony_cipub const PSP_CTRL_RIGHT: i32 = 0x000020;
24282add0d91Sopenharmony_cipub const PSP_CTRL_DOWN: i32 = 0x000040;
24292add0d91Sopenharmony_cipub const PSP_CTRL_LEFT: i32 = 0x000080;
24302add0d91Sopenharmony_cipub const PSP_CTRL_LTRIGGER: i32 = 0x000100;
24312add0d91Sopenharmony_cipub const PSP_CTRL_RTRIGGER: i32 = 0x000200;
24322add0d91Sopenharmony_cipub const PSP_CTRL_TRIANGLE: i32 = 0x001000;
24332add0d91Sopenharmony_cipub const PSP_CTRL_CIRCLE: i32 = 0x002000;
24342add0d91Sopenharmony_cipub const PSP_CTRL_CROSS: i32 = 0x004000;
24352add0d91Sopenharmony_cipub const PSP_CTRL_SQUARE: i32 = 0x008000;
24362add0d91Sopenharmony_cipub const PSP_CTRL_HOME: i32 = 0x010000;
24372add0d91Sopenharmony_cipub const PSP_CTRL_HOLD: i32 = 0x020000;
24382add0d91Sopenharmony_cipub const PSP_CTRL_NOTE: i32 = 0x800000;
24392add0d91Sopenharmony_cipub const PSP_CTRL_SCREEN: i32 = 0x400000;
24402add0d91Sopenharmony_cipub const PSP_CTRL_VOLUP: i32 = 0x100000;
24412add0d91Sopenharmony_cipub const PSP_CTRL_VOLDOWN: i32 = 0x200000;
24422add0d91Sopenharmony_cipub const PSP_CTRL_WLAN_UP: i32 = 0x040000;
24432add0d91Sopenharmony_cipub const PSP_CTRL_REMOTE: i32 = 0x080000;
24442add0d91Sopenharmony_cipub const PSP_CTRL_DISC: i32 = 0x1000000;
24452add0d91Sopenharmony_cipub const PSP_CTRL_MS: i32 = 0x2000000;
24462add0d91Sopenharmony_ci
24472add0d91Sopenharmony_cipub const USB_CAM_PID: i32 = 0x282;
24482add0d91Sopenharmony_cipub const USB_BUS_DRIVER_NAME: &str = "USBBusDriver";
24492add0d91Sopenharmony_cipub const USB_CAM_DRIVER_NAME: &str = "USBCamDriver";
24502add0d91Sopenharmony_cipub const USB_CAM_MIC_DRIVER_NAME: &str = "USBCamMicDriver";
24512add0d91Sopenharmony_cipub const USB_STOR_DRIVER_NAME: &str = "USBStor_Driver";
24522add0d91Sopenharmony_ci
24532add0d91Sopenharmony_cipub const ACTIVATED: i32 = 0x200;
24542add0d91Sopenharmony_cipub const CONNECTED: i32 = 0x020;
24552add0d91Sopenharmony_cipub const ESTABLISHED: i32 = 0x002;
24562add0d91Sopenharmony_ci
24572add0d91Sopenharmony_cipub const USB_CAM_FLIP: i32 = 1;
24582add0d91Sopenharmony_cipub const USB_CAM_MIRROR: i32 = 0x100;
24592add0d91Sopenharmony_ci
24602add0d91Sopenharmony_cipub const THREAD_ATTR_VFPU: i32 = 0x00004000;
24612add0d91Sopenharmony_cipub const THREAD_ATTR_USER: i32 = 0x80000000;
24622add0d91Sopenharmony_cipub const THREAD_ATTR_USBWLAN: i32 = 0xa0000000;
24632add0d91Sopenharmony_cipub const THREAD_ATTR_VSH: i32 = 0xc0000000;
24642add0d91Sopenharmony_cipub const THREAD_ATTR_SCRATCH_SRAM: i32 = 0x00008000;
24652add0d91Sopenharmony_cipub const THREAD_ATTR_NO_FILLSTACK: i32 = 0x00100000;
24662add0d91Sopenharmony_cipub const THREAD_ATTR_CLEAR_STACK: i32 = 0x00200000;
24672add0d91Sopenharmony_ci
24682add0d91Sopenharmony_cipub const EVENT_WAIT_MULTIPLE: i32 = 0x200;
24692add0d91Sopenharmony_ci
24702add0d91Sopenharmony_cipub const EVENT_WAIT_AND: i32 = 0;
24712add0d91Sopenharmony_cipub const EVENT_WAIT_OR: i32 = 1;
24722add0d91Sopenharmony_cipub const EVENT_WAIT_CLEAR: i32 = 0x20;
24732add0d91Sopenharmony_ci
24742add0d91Sopenharmony_cipub const POWER_INFO_POWER_SWITCH: i32 = 0x80000000;
24752add0d91Sopenharmony_cipub const POWER_INFO_HOLD_SWITCH: i32 = 0x40000000;
24762add0d91Sopenharmony_cipub const POWER_INFO_STANDBY: i32 = 0x00080000;
24772add0d91Sopenharmony_cipub const POWER_INFO_RESUME_COMPLETE: i32 = 0x00040000;
24782add0d91Sopenharmony_cipub const POWER_INFO_RESUMING: i32 = 0x00020000;
24792add0d91Sopenharmony_cipub const POWER_INFO_SUSPENDING: i32 = 0x00010000;
24802add0d91Sopenharmony_cipub const POWER_INFO_AC_POWER: i32 = 0x00001000;
24812add0d91Sopenharmony_cipub const POWER_INFO_BATTERY_LOW: i32 = 0x00000100;
24822add0d91Sopenharmony_cipub const POWER_INFO_BATTERY_EXIST: i32 = 0x00000080;
24832add0d91Sopenharmony_cipub const POWER_INFO_BATTERY_POWER: i32 = 0x0000007;
24842add0d91Sopenharmony_ci
24852add0d91Sopenharmony_cipub const FIO_S_IFLNK: i32 = 0x4000;
24862add0d91Sopenharmony_cipub const FIO_S_IFDIR: i32 = 0x1000;
24872add0d91Sopenharmony_cipub const FIO_S_IFREG: i32 = 0x2000;
24882add0d91Sopenharmony_cipub const FIO_S_ISUID: i32 = 0x0800;
24892add0d91Sopenharmony_cipub const FIO_S_ISGID: i32 = 0x0400;
24902add0d91Sopenharmony_cipub const FIO_S_ISVTX: i32 = 0x0200;
24912add0d91Sopenharmony_cipub const FIO_S_IRUSR: i32 = 0x0100;
24922add0d91Sopenharmony_cipub const FIO_S_IWUSR: i32 = 0x0080;
24932add0d91Sopenharmony_cipub const FIO_S_IXUSR: i32 = 0x0040;
24942add0d91Sopenharmony_cipub const FIO_S_IRGRP: i32 = 0x0020;
24952add0d91Sopenharmony_cipub const FIO_S_IWGRP: i32 = 0x0010;
24962add0d91Sopenharmony_cipub const FIO_S_IXGRP: i32 = 0x0008;
24972add0d91Sopenharmony_cipub const FIO_S_IROTH: i32 = 0x0004;
24982add0d91Sopenharmony_cipub const FIO_S_IWOTH: i32 = 0x0002;
24992add0d91Sopenharmony_cipub const FIO_S_IXOTH: i32 = 0x0001;
25002add0d91Sopenharmony_ci
25012add0d91Sopenharmony_cipub const FIO_SO_IFLNK: i32 = 0x0008;
25022add0d91Sopenharmony_cipub const FIO_SO_IFDIR: i32 = 0x0010;
25032add0d91Sopenharmony_cipub const FIO_SO_IFREG: i32 = 0x0020;
25042add0d91Sopenharmony_cipub const FIO_SO_IROTH: i32 = 0x0004;
25052add0d91Sopenharmony_cipub const FIO_SO_IWOTH: i32 = 0x0002;
25062add0d91Sopenharmony_cipub const FIO_SO_IXOTH: i32 = 0x0001;
25072add0d91Sopenharmony_ci
25082add0d91Sopenharmony_cipub const PSP_O_RD_ONLY: i32 = 0x0001;
25092add0d91Sopenharmony_cipub const PSP_O_WR_ONLY: i32 = 0x0002;
25102add0d91Sopenharmony_cipub const PSP_O_RD_WR: i32 = 0x0003;
25112add0d91Sopenharmony_cipub const PSP_O_NBLOCK: i32 = 0x0004;
25122add0d91Sopenharmony_cipub const PSP_O_DIR: i32 = 0x0008;
25132add0d91Sopenharmony_cipub const PSP_O_APPEND: i32 = 0x0100;
25142add0d91Sopenharmony_cipub const PSP_O_CREAT: i32 = 0x0200;
25152add0d91Sopenharmony_cipub const PSP_O_TRUNC: i32 = 0x0400;
25162add0d91Sopenharmony_cipub const PSP_O_EXCL: i32 = 0x0800;
25172add0d91Sopenharmony_cipub const PSP_O_NO_WAIT: i32 = 0x8000;
25182add0d91Sopenharmony_ci
25192add0d91Sopenharmony_cipub const UMD_NOT_PRESENT: i32 = 0x01;
25202add0d91Sopenharmony_cipub const UMD_PRESENT: i32 = 0x02;
25212add0d91Sopenharmony_cipub const UMD_CHANGED: i32 = 0x04;
25222add0d91Sopenharmony_cipub const UMD_INITING: i32 = 0x08;
25232add0d91Sopenharmony_cipub const UMD_INITED: i32 = 0x10;
25242add0d91Sopenharmony_cipub const UMD_READY: i32 = 0x20;
25252add0d91Sopenharmony_ci
25262add0d91Sopenharmony_cipub const PLAY_PAUSE: i32 = 0x1;
25272add0d91Sopenharmony_cipub const FORWARD: i32 = 0x4;
25282add0d91Sopenharmony_cipub const BACK: i32 = 0x8;
25292add0d91Sopenharmony_cipub const VOL_UP: i32 = 0x10;
25302add0d91Sopenharmony_cipub const VOL_DOWN: i32 = 0x20;
25312add0d91Sopenharmony_cipub const HOLD: i32 = 0x80;
25322add0d91Sopenharmony_ci
25332add0d91Sopenharmony_cipub const GU_PI: f32 = 3.141593;
25342add0d91Sopenharmony_ci
25352add0d91Sopenharmony_cipub const GU_TEXTURE_8BIT: i32 = 1;
25362add0d91Sopenharmony_cipub const GU_TEXTURE_16BIT: i32 = 2;
25372add0d91Sopenharmony_cipub const GU_TEXTURE_32BITF: i32 = 3;
25382add0d91Sopenharmony_cipub const GU_COLOR_5650: i32 = 4 << 2;
25392add0d91Sopenharmony_cipub const GU_COLOR_5551: i32 = 5 << 2;
25402add0d91Sopenharmony_cipub const GU_COLOR_4444: i32 = 6 << 2;
25412add0d91Sopenharmony_cipub const GU_COLOR_8888: i32 = 7 << 2;
25422add0d91Sopenharmony_cipub const GU_NORMAL_8BIT: i32 = 1 << 5;
25432add0d91Sopenharmony_cipub const GU_NORMAL_16BIT: i32 = 2 << 5;
25442add0d91Sopenharmony_cipub const GU_NORMAL_32BITF: i32 = 3 << 5;
25452add0d91Sopenharmony_cipub const GU_VERTEX_8BIT: i32 = 1 << 7;
25462add0d91Sopenharmony_cipub const GU_VERTEX_16BIT: i32 = 2 << 7;
25472add0d91Sopenharmony_cipub const GU_VERTEX_32BITF: i32 = 3 << 7;
25482add0d91Sopenharmony_cipub const GU_WEIGHT_8BIT: i32 = 1 << 9;
25492add0d91Sopenharmony_cipub const GU_WEIGHT_16BIT: i32 = 2 << 9;
25502add0d91Sopenharmony_cipub const GU_WEIGHT_32BITF: i32 = 3 << 9;
25512add0d91Sopenharmony_cipub const GU_INDEX_8BIT: i32 = 1 << 11;
25522add0d91Sopenharmony_cipub const GU_INDEX_16BIT: i32 = 2 << 11;
25532add0d91Sopenharmony_cipub const GU_WEIGHTS1: i32 = (((1 - 1) & 7) << 14) as i32;
25542add0d91Sopenharmony_cipub const GU_WEIGHTS2: i32 = (((2 - 1) & 7) << 14) as i32;
25552add0d91Sopenharmony_cipub const GU_WEIGHTS3: i32 = (((3 - 1) & 7) << 14) as i32;
25562add0d91Sopenharmony_cipub const GU_WEIGHTS4: i32 = (((4 - 1) & 7) << 14) as i32;
25572add0d91Sopenharmony_cipub const GU_WEIGHTS5: i32 = (((5 - 1) & 7) << 14) as i32;
25582add0d91Sopenharmony_cipub const GU_WEIGHTS6: i32 = (((6 - 1) & 7) << 14) as i32;
25592add0d91Sopenharmony_cipub const GU_WEIGHTS7: i32 = (((7 - 1) & 7) << 14) as i32;
25602add0d91Sopenharmony_cipub const GU_WEIGHTS8: i32 = (((8 - 1) & 7) << 14) as i32;
25612add0d91Sopenharmony_cipub const GU_VERTICES1: i32 = (((1 - 1) & 7) << 18) as i32;
25622add0d91Sopenharmony_cipub const GU_VERTICES2: i32 = (((2 - 1) & 7) << 18) as i32;
25632add0d91Sopenharmony_cipub const GU_VERTICES3: i32 = (((3 - 1) & 7) << 18) as i32;
25642add0d91Sopenharmony_cipub const GU_VERTICES4: i32 = (((4 - 1) & 7) << 18) as i32;
25652add0d91Sopenharmony_cipub const GU_VERTICES5: i32 = (((5 - 1) & 7) << 18) as i32;
25662add0d91Sopenharmony_cipub const GU_VERTICES6: i32 = (((6 - 1) & 7) << 18) as i32;
25672add0d91Sopenharmony_cipub const GU_VERTICES7: i32 = (((7 - 1) & 7) << 18) as i32;
25682add0d91Sopenharmony_cipub const GU_VERTICES8: i32 = (((8 - 1) & 7) << 18) as i32;
25692add0d91Sopenharmony_cipub const GU_TRANSFORM_2D: i32 = 1 << 23;
25702add0d91Sopenharmony_cipub const GU_TRANSFORM_3D: i32 = 0;
25712add0d91Sopenharmony_ci
25722add0d91Sopenharmony_cipub const GU_COLOR_BUFFER_BIT: i32 = 1;
25732add0d91Sopenharmony_cipub const GU_STENCIL_BUFFER_BIT: i32 = 2;
25742add0d91Sopenharmony_cipub const GU_DEPTH_BUFFER_BIT: i32 = 4;
25752add0d91Sopenharmony_cipub const GU_FAST_CLEAR_BIT: i32 = 16;
25762add0d91Sopenharmony_ci
25772add0d91Sopenharmony_cipub const GU_AMBIENT: i32 = 1;
25782add0d91Sopenharmony_cipub const GU_DIFFUSE: i32 = 2;
25792add0d91Sopenharmony_cipub const GU_SPECULAR: i32 = 4;
25802add0d91Sopenharmony_cipub const GU_UNKNOWN_LIGHT_COMPONENT: i32 = 8;
25812add0d91Sopenharmony_ci
25822add0d91Sopenharmony_cipub const SYSTEM_REGISTRY: [u8; 7] = *b"/system";
25832add0d91Sopenharmony_cipub const REG_KEYNAME_SIZE: u32 = 27;
25842add0d91Sopenharmony_ci
25852add0d91Sopenharmony_cipub const UTILITY_MSGDIALOG_ERROR: i32 = 0;
25862add0d91Sopenharmony_cipub const UTILITY_MSGDIALOG_TEXT: i32 = 1;
25872add0d91Sopenharmony_cipub const UTILITY_MSGDIALOG_YES_NO_BUTTONS: i32 = 0x10;
25882add0d91Sopenharmony_cipub const UTILITY_MSGDIALOG_DEFAULT_NO: i32 = 0x100;
25892add0d91Sopenharmony_ci
25902add0d91Sopenharmony_cipub const UTILITY_HTMLVIEWER_OPEN_SCE_START_PAGE: i32 = 0x000001;
25912add0d91Sopenharmony_cipub const UTILITY_HTMLVIEWER_DISABLE_STARTUP_LIMITS: i32 = 0x000002;
25922add0d91Sopenharmony_cipub const UTILITY_HTMLVIEWER_DISABLE_EXIT_DIALOG: i32 = 0x000004;
25932add0d91Sopenharmony_cipub const UTILITY_HTMLVIEWER_DISABLE_CURSOR: i32 = 0x000008;
25942add0d91Sopenharmony_cipub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_COMPLETE_DIALOG: i32 = 0x000010;
25952add0d91Sopenharmony_cipub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_START_DIALOG: i32 = 0x000020;
25962add0d91Sopenharmony_cipub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_DESTINATION_DIALOG: i32 = 0x000040;
25972add0d91Sopenharmony_cipub const UTILITY_HTMLVIEWER_LOCK_DOWNLOAD_DESTINATION_DIALOG: i32 = 0x000080;
25982add0d91Sopenharmony_cipub const UTILITY_HTMLVIEWER_DISABLE_TAB_DISPLAY: i32 = 0x000100;
25992add0d91Sopenharmony_cipub const UTILITY_HTMLVIEWER_ENABLE_ANALOG_HOLD: i32 = 0x000200;
26002add0d91Sopenharmony_cipub const UTILITY_HTMLVIEWER_ENABLE_FLASH: i32 = 0x000400;
26012add0d91Sopenharmony_cipub const UTILITY_HTMLVIEWER_DISABLE_LRTRIGGER: i32 = 0x000800;
26022add0d91Sopenharmony_ci
26032add0d91Sopenharmony_ciextern "C" {
26042add0d91Sopenharmony_ci    pub fn sceAudioChReserve(channel: i32, sample_count: i32, format: AudioFormat) -> i32;
26052add0d91Sopenharmony_ci    pub fn sceAudioChRelease(channel: i32) -> i32;
26062add0d91Sopenharmony_ci    pub fn sceAudioOutput(channel: i32, vol: i32, buf: *mut c_void) -> i32;
26072add0d91Sopenharmony_ci    pub fn sceAudioOutputBlocking(channel: i32, vol: i32, buf: *mut c_void) -> i32;
26082add0d91Sopenharmony_ci    pub fn sceAudioOutputPanned(
26092add0d91Sopenharmony_ci        channel: i32,
26102add0d91Sopenharmony_ci        left_vol: i32,
26112add0d91Sopenharmony_ci        right_vol: i32,
26122add0d91Sopenharmony_ci        buf: *mut c_void,
26132add0d91Sopenharmony_ci    ) -> i32;
26142add0d91Sopenharmony_ci    pub fn sceAudioOutputPannedBlocking(
26152add0d91Sopenharmony_ci        channel: i32,
26162add0d91Sopenharmony_ci        left_vol: i32,
26172add0d91Sopenharmony_ci        right_vol: i32,
26182add0d91Sopenharmony_ci        buf: *mut c_void,
26192add0d91Sopenharmony_ci    ) -> i32;
26202add0d91Sopenharmony_ci    pub fn sceAudioGetChannelRestLen(channel: i32) -> i32;
26212add0d91Sopenharmony_ci    pub fn sceAudioGetChannelRestLength(channel: i32) -> i32;
26222add0d91Sopenharmony_ci    pub fn sceAudioSetChannelDataLen(channel: i32, sample_count: i32) -> i32;
26232add0d91Sopenharmony_ci    pub fn sceAudioChangeChannelConfig(channel: i32, format: AudioFormat) -> i32;
26242add0d91Sopenharmony_ci    pub fn sceAudioChangeChannelVolume(channel: i32, left_vol: i32, right_vol: i32) -> i32;
26252add0d91Sopenharmony_ci    pub fn sceAudioOutput2Reserve(sample_count: i32) -> i32;
26262add0d91Sopenharmony_ci    pub fn sceAudioOutput2Release() -> i32;
26272add0d91Sopenharmony_ci    pub fn sceAudioOutput2ChangeLength(sample_count: i32) -> i32;
26282add0d91Sopenharmony_ci    pub fn sceAudioOutput2OutputBlocking(vol: i32, buf: *mut c_void) -> i32;
26292add0d91Sopenharmony_ci    pub fn sceAudioOutput2GetRestSample() -> i32;
26302add0d91Sopenharmony_ci    pub fn sceAudioSRCChReserve(
26312add0d91Sopenharmony_ci        sample_count: i32,
26322add0d91Sopenharmony_ci        freq: AudioOutputFrequency,
26332add0d91Sopenharmony_ci        channels: i32,
26342add0d91Sopenharmony_ci    ) -> i32;
26352add0d91Sopenharmony_ci    pub fn sceAudioSRCChRelease() -> i32;
26362add0d91Sopenharmony_ci    pub fn sceAudioSRCOutputBlocking(vol: i32, buf: *mut c_void) -> i32;
26372add0d91Sopenharmony_ci    pub fn sceAudioInputInit(unknown1: i32, gain: i32, unknown2: i32) -> i32;
26382add0d91Sopenharmony_ci    pub fn sceAudioInputInitEx(params: *mut AudioInputParams) -> i32;
26392add0d91Sopenharmony_ci    pub fn sceAudioInputBlocking(sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void);
26402add0d91Sopenharmony_ci    pub fn sceAudioInput(sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void);
26412add0d91Sopenharmony_ci    pub fn sceAudioGetInputLength() -> i32;
26422add0d91Sopenharmony_ci    pub fn sceAudioWaitInputEnd() -> i32;
26432add0d91Sopenharmony_ci    pub fn sceAudioPollInputEnd() -> i32;
26442add0d91Sopenharmony_ci
26452add0d91Sopenharmony_ci    pub fn sceAtracGetAtracID(ui_codec_type: u32) -> i32;
26462add0d91Sopenharmony_ci    pub fn sceAtracSetDataAndGetID(buf: *mut c_void, bufsize: usize) -> i32;
26472add0d91Sopenharmony_ci    pub fn sceAtracDecodeData(
26482add0d91Sopenharmony_ci        atrac_id: i32,
26492add0d91Sopenharmony_ci        out_samples: *mut u16,
26502add0d91Sopenharmony_ci        out_n: *mut i32,
26512add0d91Sopenharmony_ci        out_end: *mut i32,
26522add0d91Sopenharmony_ci        out_remain_frame: *mut i32,
26532add0d91Sopenharmony_ci    ) -> i32;
26542add0d91Sopenharmony_ci    pub fn sceAtracGetRemainFrame(atrac_id: i32, out_remain_frame: *mut i32) -> i32;
26552add0d91Sopenharmony_ci    pub fn sceAtracGetStreamDataInfo(
26562add0d91Sopenharmony_ci        atrac_id: i32,
26572add0d91Sopenharmony_ci        write_pointer: *mut *mut u8,
26582add0d91Sopenharmony_ci        available_bytes: *mut u32,
26592add0d91Sopenharmony_ci        read_offset: *mut u32,
26602add0d91Sopenharmony_ci    ) -> i32;
26612add0d91Sopenharmony_ci    pub fn sceAtracAddStreamData(atrac_id: i32, bytes_to_add: u32) -> i32;
26622add0d91Sopenharmony_ci    pub fn sceAtracGetBitrate(atrac_id: i32, out_bitrate: *mut i32) -> i32;
26632add0d91Sopenharmony_ci    pub fn sceAtracSetLoopNum(atrac_id: i32, nloops: i32) -> i32;
26642add0d91Sopenharmony_ci    pub fn sceAtracReleaseAtracID(atrac_id: i32) -> i32;
26652add0d91Sopenharmony_ci    pub fn sceAtracGetNextSample(atrac_id: i32, out_n: *mut i32) -> i32;
26662add0d91Sopenharmony_ci    pub fn sceAtracGetMaxSample(atrac_id: i32, out_max: *mut i32) -> i32;
26672add0d91Sopenharmony_ci    pub fn sceAtracGetBufferInfoForReseting(
26682add0d91Sopenharmony_ci        atrac_id: i32,
26692add0d91Sopenharmony_ci        ui_sample: u32,
26702add0d91Sopenharmony_ci        pbuffer_info: *mut Atrac3BufferInfo,
26712add0d91Sopenharmony_ci    ) -> i32;
26722add0d91Sopenharmony_ci    pub fn sceAtracGetChannel(atrac_id: i32, pui_channel: *mut u32) -> i32;
26732add0d91Sopenharmony_ci    pub fn sceAtracGetInternalErrorInfo(atrac_id: i32, pi_result: *mut i32) -> i32;
26742add0d91Sopenharmony_ci    pub fn sceAtracGetLoopStatus(
26752add0d91Sopenharmony_ci        atrac_id: i32,
26762add0d91Sopenharmony_ci        pi_loop_num: *mut i32,
26772add0d91Sopenharmony_ci        pui_loop_status: *mut u32,
26782add0d91Sopenharmony_ci    ) -> i32;
26792add0d91Sopenharmony_ci    pub fn sceAtracGetNextDecodePosition(atrac_id: i32, pui_sample_position: *mut u32) -> i32;
26802add0d91Sopenharmony_ci    pub fn sceAtracGetSecondBufferInfo(
26812add0d91Sopenharmony_ci        atrac_id: i32,
26822add0d91Sopenharmony_ci        pui_position: *mut u32,
26832add0d91Sopenharmony_ci        pui_data_byte: *mut u32,
26842add0d91Sopenharmony_ci    ) -> i32;
26852add0d91Sopenharmony_ci    pub fn sceAtracGetSoundSample(
26862add0d91Sopenharmony_ci        atrac_id: i32,
26872add0d91Sopenharmony_ci        pi_end_sample: *mut i32,
26882add0d91Sopenharmony_ci        pi_loop_start_sample: *mut i32,
26892add0d91Sopenharmony_ci        pi_loop_end_sample: *mut i32,
26902add0d91Sopenharmony_ci    ) -> i32;
26912add0d91Sopenharmony_ci    pub fn sceAtracResetPlayPosition(
26922add0d91Sopenharmony_ci        atrac_id: i32,
26932add0d91Sopenharmony_ci        ui_sample: u32,
26942add0d91Sopenharmony_ci        ui_write_byte_first_buf: u32,
26952add0d91Sopenharmony_ci        ui_write_byte_second_buf: u32,
26962add0d91Sopenharmony_ci    ) -> i32;
26972add0d91Sopenharmony_ci    pub fn sceAtracSetData(atrac_id: i32, puc_buffer_addr: *mut u8, ui_buffer_byte: u32) -> i32;
26982add0d91Sopenharmony_ci    pub fn sceAtracSetHalfwayBuffer(
26992add0d91Sopenharmony_ci        atrac_id: i32,
27002add0d91Sopenharmony_ci        puc_buffer_addr: *mut u8,
27012add0d91Sopenharmony_ci        ui_read_byte: u32,
27022add0d91Sopenharmony_ci        ui_buffer_byte: u32,
27032add0d91Sopenharmony_ci    ) -> i32;
27042add0d91Sopenharmony_ci    pub fn sceAtracSetHalfwayBufferAndGetID(
27052add0d91Sopenharmony_ci        puc_buffer_addr: *mut u8,
27062add0d91Sopenharmony_ci        ui_read_byte: u32,
27072add0d91Sopenharmony_ci        ui_buffer_byte: u32,
27082add0d91Sopenharmony_ci    ) -> i32;
27092add0d91Sopenharmony_ci    pub fn sceAtracSetSecondBuffer(
27102add0d91Sopenharmony_ci        atrac_id: i32,
27112add0d91Sopenharmony_ci        puc_second_buffer_addr: *mut u8,
27122add0d91Sopenharmony_ci        ui_second_buffer_byte: u32,
27132add0d91Sopenharmony_ci    ) -> i32;
27142add0d91Sopenharmony_ci
27152add0d91Sopenharmony_ci    pub fn sceCtrlSetSamplingCycle(cycle: i32) -> i32;
27162add0d91Sopenharmony_ci    pub fn sceCtrlGetSamplingCycle(pcycle: *mut i32) -> i32;
27172add0d91Sopenharmony_ci    pub fn sceCtrlSetSamplingMode(mode: CtrlMode) -> i32;
27182add0d91Sopenharmony_ci    pub fn sceCtrlGetSamplingMode(pmode: *mut i32) -> i32;
27192add0d91Sopenharmony_ci    pub fn sceCtrlPeekBufferPositive(pad_data: *mut SceCtrlData, count: i32) -> i32;
27202add0d91Sopenharmony_ci    pub fn sceCtrlPeekBufferNegative(pad_data: *mut SceCtrlData, count: i32) -> i32;
27212add0d91Sopenharmony_ci    pub fn sceCtrlReadBufferPositive(pad_data: *mut SceCtrlData, count: i32) -> i32;
27222add0d91Sopenharmony_ci    pub fn sceCtrlReadBufferNegative(pad_data: *mut SceCtrlData, count: i32) -> i32;
27232add0d91Sopenharmony_ci    pub fn sceCtrlPeekLatch(latch_data: *mut SceCtrlLatch) -> i32;
27242add0d91Sopenharmony_ci    pub fn sceCtrlReadLatch(latch_data: *mut SceCtrlLatch) -> i32;
27252add0d91Sopenharmony_ci    pub fn sceCtrlSetIdleCancelThreshold(idlereset: i32, idleback: i32) -> i32;
27262add0d91Sopenharmony_ci    pub fn sceCtrlGetIdleCancelThreshold(idlereset: *mut i32, idleback: *mut i32) -> i32;
27272add0d91Sopenharmony_ci
27282add0d91Sopenharmony_ci    pub fn sceDisplaySetMode(mode: DisplayMode, width: usize, height: usize) -> u32;
27292add0d91Sopenharmony_ci    pub fn sceDisplayGetMode(pmode: *mut i32, pwidth: *mut i32, pheight: *mut i32) -> i32;
27302add0d91Sopenharmony_ci    pub fn sceDisplaySetFrameBuf(
27312add0d91Sopenharmony_ci        top_addr: *const u8,
27322add0d91Sopenharmony_ci        buffer_width: usize,
27332add0d91Sopenharmony_ci        pixel_format: DisplayPixelFormat,
27342add0d91Sopenharmony_ci        sync: DisplaySetBufSync,
27352add0d91Sopenharmony_ci    ) -> u32;
27362add0d91Sopenharmony_ci    pub fn sceDisplayGetFrameBuf(
27372add0d91Sopenharmony_ci        top_addr: *mut *mut c_void,
27382add0d91Sopenharmony_ci        buffer_width: *mut usize,
27392add0d91Sopenharmony_ci        pixel_format: *mut DisplayPixelFormat,
27402add0d91Sopenharmony_ci        sync: DisplaySetBufSync,
27412add0d91Sopenharmony_ci    ) -> i32;
27422add0d91Sopenharmony_ci    pub fn sceDisplayGetVcount() -> u32;
27432add0d91Sopenharmony_ci    pub fn sceDisplayWaitVblank() -> i32;
27442add0d91Sopenharmony_ci    pub fn sceDisplayWaitVblankCB() -> i32;
27452add0d91Sopenharmony_ci    pub fn sceDisplayWaitVblankStart() -> i32;
27462add0d91Sopenharmony_ci    pub fn sceDisplayWaitVblankStartCB() -> i32;
27472add0d91Sopenharmony_ci    pub fn sceDisplayGetAccumulatedHcount() -> i32;
27482add0d91Sopenharmony_ci    pub fn sceDisplayGetCurrentHcount() -> i32;
27492add0d91Sopenharmony_ci    pub fn sceDisplayGetFramePerSec() -> f32;
27502add0d91Sopenharmony_ci    pub fn sceDisplayIsForeground() -> i32;
27512add0d91Sopenharmony_ci    pub fn sceDisplayIsVblank() -> i32;
27522add0d91Sopenharmony_ci
27532add0d91Sopenharmony_ci    pub fn sceGeEdramGetSize() -> u32;
27542add0d91Sopenharmony_ci    pub fn sceGeEdramGetAddr() -> *mut u8;
27552add0d91Sopenharmony_ci    pub fn sceGeEdramSetAddrTranslation(width: i32) -> i32;
27562add0d91Sopenharmony_ci    pub fn sceGeGetCmd(cmd: i32) -> u32;
27572add0d91Sopenharmony_ci    pub fn sceGeGetMtx(type_: GeMatrixType, matrix: *mut c_void) -> i32;
27582add0d91Sopenharmony_ci    pub fn sceGeGetStack(stack_id: i32, stack: *mut GeStack) -> i32;
27592add0d91Sopenharmony_ci    pub fn sceGeSaveContext(context: *mut GeContext) -> i32;
27602add0d91Sopenharmony_ci    pub fn sceGeRestoreContext(context: *const GeContext) -> i32;
27612add0d91Sopenharmony_ci    pub fn sceGeListEnQueue(
27622add0d91Sopenharmony_ci        list: *const c_void,
27632add0d91Sopenharmony_ci        stall: *mut c_void,
27642add0d91Sopenharmony_ci        cbid: i32,
27652add0d91Sopenharmony_ci        arg: *mut GeListArgs,
27662add0d91Sopenharmony_ci    ) -> i32;
27672add0d91Sopenharmony_ci    pub fn sceGeListEnQueueHead(
27682add0d91Sopenharmony_ci        list: *const c_void,
27692add0d91Sopenharmony_ci        stall: *mut c_void,
27702add0d91Sopenharmony_ci        cbid: i32,
27712add0d91Sopenharmony_ci        arg: *mut GeListArgs,
27722add0d91Sopenharmony_ci    ) -> i32;
27732add0d91Sopenharmony_ci    pub fn sceGeListDeQueue(qid: i32) -> i32;
27742add0d91Sopenharmony_ci    pub fn sceGeListUpdateStallAddr(qid: i32, stall: *mut c_void) -> i32;
27752add0d91Sopenharmony_ci    pub fn sceGeListSync(qid: i32, sync_type: i32) -> GeListState;
27762add0d91Sopenharmony_ci    pub fn sceGeDrawSync(sync_type: i32) -> GeListState;
27772add0d91Sopenharmony_ci    pub fn sceGeBreak(mode: i32, p_param: *mut GeBreakParam) -> i32;
27782add0d91Sopenharmony_ci    pub fn sceGeContinue() -> i32;
27792add0d91Sopenharmony_ci    pub fn sceGeSetCallback(cb: *mut GeCallbackData) -> i32;
27802add0d91Sopenharmony_ci    pub fn sceGeUnsetCallback(cbid: i32) -> i32;
27812add0d91Sopenharmony_ci
27822add0d91Sopenharmony_ci    pub fn sceKernelExitGame();
27832add0d91Sopenharmony_ci    pub fn sceKernelRegisterExitCallback(id: SceUid) -> i32;
27842add0d91Sopenharmony_ci    pub fn sceKernelLoadExec(file: *const u8, param: *mut SceKernelLoadExecParam) -> i32;
27852add0d91Sopenharmony_ci
27862add0d91Sopenharmony_ci    pub fn sceKernelAllocPartitionMemory(
27872add0d91Sopenharmony_ci        partition: SceSysMemPartitionId,
27882add0d91Sopenharmony_ci        name: *const u8,
27892add0d91Sopenharmony_ci        type_: SceSysMemBlockTypes,
27902add0d91Sopenharmony_ci        size: u32,
27912add0d91Sopenharmony_ci        addr: *mut c_void,
27922add0d91Sopenharmony_ci    ) -> SceUid;
27932add0d91Sopenharmony_ci    pub fn sceKernelGetBlockHeadAddr(blockid: SceUid) -> *mut c_void;
27942add0d91Sopenharmony_ci    pub fn sceKernelFreePartitionMemory(blockid: SceUid) -> i32;
27952add0d91Sopenharmony_ci    pub fn sceKernelTotalFreeMemSize() -> usize;
27962add0d91Sopenharmony_ci    pub fn sceKernelMaxFreeMemSize() -> usize;
27972add0d91Sopenharmony_ci    pub fn sceKernelDevkitVersion() -> u32;
27982add0d91Sopenharmony_ci    pub fn sceKernelSetCompiledSdkVersion(version: u32) -> i32;
27992add0d91Sopenharmony_ci    pub fn sceKernelGetCompiledSdkVersion() -> u32;
28002add0d91Sopenharmony_ci
28012add0d91Sopenharmony_ci    pub fn sceKernelLibcTime(t: *mut i32) -> i32;
28022add0d91Sopenharmony_ci    pub fn sceKernelLibcClock() -> u32;
28032add0d91Sopenharmony_ci    pub fn sceKernelLibcGettimeofday(tp: *mut timeval, tzp: *mut timezone) -> i32;
28042add0d91Sopenharmony_ci    pub fn sceKernelDcacheWritebackAll();
28052add0d91Sopenharmony_ci    pub fn sceKernelDcacheWritebackInvalidateAll();
28062add0d91Sopenharmony_ci    pub fn sceKernelDcacheWritebackRange(p: *const c_void, size: u32);
28072add0d91Sopenharmony_ci    pub fn sceKernelDcacheWritebackInvalidateRange(p: *const c_void, size: u32);
28082add0d91Sopenharmony_ci    pub fn sceKernelDcacheInvalidateRange(p: *const c_void, size: u32);
28092add0d91Sopenharmony_ci    pub fn sceKernelIcacheInvalidateAll();
28102add0d91Sopenharmony_ci    pub fn sceKernelIcacheInvalidateRange(p: *const c_void, size: u32);
28112add0d91Sopenharmony_ci    pub fn sceKernelUtilsMt19937Init(ctx: *mut SceKernelUtilsMt19937Context, seed: u32) -> i32;
28122add0d91Sopenharmony_ci    pub fn sceKernelUtilsMt19937UInt(ctx: *mut SceKernelUtilsMt19937Context) -> u32;
28132add0d91Sopenharmony_ci    pub fn sceKernelUtilsMd5Digest(data: *mut u8, size: u32, digest: *mut u8) -> i32;
28142add0d91Sopenharmony_ci    pub fn sceKernelUtilsMd5BlockInit(ctx: *mut SceKernelUtilsMd5Context) -> i32;
28152add0d91Sopenharmony_ci    pub fn sceKernelUtilsMd5BlockUpdate(
28162add0d91Sopenharmony_ci        ctx: *mut SceKernelUtilsMd5Context,
28172add0d91Sopenharmony_ci        data: *mut u8,
28182add0d91Sopenharmony_ci        size: u32,
28192add0d91Sopenharmony_ci    ) -> i32;
28202add0d91Sopenharmony_ci    pub fn sceKernelUtilsMd5BlockResult(ctx: *mut SceKernelUtilsMd5Context, digest: *mut u8)
28212add0d91Sopenharmony_ci        -> i32;
28222add0d91Sopenharmony_ci    pub fn sceKernelUtilsSha1Digest(data: *mut u8, size: u32, digest: *mut u8) -> i32;
28232add0d91Sopenharmony_ci    pub fn sceKernelUtilsSha1BlockInit(ctx: *mut SceKernelUtilsSha1Context) -> i32;
28242add0d91Sopenharmony_ci    pub fn sceKernelUtilsSha1BlockUpdate(
28252add0d91Sopenharmony_ci        ctx: *mut SceKernelUtilsSha1Context,
28262add0d91Sopenharmony_ci        data: *mut u8,
28272add0d91Sopenharmony_ci        size: u32,
28282add0d91Sopenharmony_ci    ) -> i32;
28292add0d91Sopenharmony_ci    pub fn sceKernelUtilsSha1BlockResult(
28302add0d91Sopenharmony_ci        ctx: *mut SceKernelUtilsSha1Context,
28312add0d91Sopenharmony_ci        digest: *mut u8,
28322add0d91Sopenharmony_ci    ) -> i32;
28332add0d91Sopenharmony_ci
28342add0d91Sopenharmony_ci    pub fn sceKernelRegisterSubIntrHandler(
28352add0d91Sopenharmony_ci        int_no: i32,
28362add0d91Sopenharmony_ci        no: i32,
28372add0d91Sopenharmony_ci        handler: *mut c_void,
28382add0d91Sopenharmony_ci        arg: *mut c_void,
28392add0d91Sopenharmony_ci    ) -> i32;
28402add0d91Sopenharmony_ci    pub fn sceKernelReleaseSubIntrHandler(int_no: i32, no: i32) -> i32;
28412add0d91Sopenharmony_ci    pub fn sceKernelEnableSubIntr(int_no: i32, no: i32) -> i32;
28422add0d91Sopenharmony_ci    pub fn sceKernelDisableSubIntr(int_no: i32, no: i32) -> i32;
28432add0d91Sopenharmony_ci    pub fn QueryIntrHandlerInfo(
28442add0d91Sopenharmony_ci        intr_code: SceUid,
28452add0d91Sopenharmony_ci        sub_intr_code: SceUid,
28462add0d91Sopenharmony_ci        data: *mut IntrHandlerOptionParam,
28472add0d91Sopenharmony_ci    ) -> i32;
28482add0d91Sopenharmony_ci
28492add0d91Sopenharmony_ci    pub fn sceKernelCpuSuspendIntr() -> u32;
28502add0d91Sopenharmony_ci    pub fn sceKernelCpuResumeIntr(flags: u32);
28512add0d91Sopenharmony_ci    pub fn sceKernelCpuResumeIntrWithSync(flags: u32);
28522add0d91Sopenharmony_ci    pub fn sceKernelIsCpuIntrSuspended(flags: u32) -> i32;
28532add0d91Sopenharmony_ci    pub fn sceKernelIsCpuIntrEnable() -> i32;
28542add0d91Sopenharmony_ci
28552add0d91Sopenharmony_ci    pub fn sceKernelLoadModule(
28562add0d91Sopenharmony_ci        path: *const u8,
28572add0d91Sopenharmony_ci        flags: i32,
28582add0d91Sopenharmony_ci        option: *mut SceKernelLMOption,
28592add0d91Sopenharmony_ci    ) -> SceUid;
28602add0d91Sopenharmony_ci    pub fn sceKernelLoadModuleMs(
28612add0d91Sopenharmony_ci        path: *const u8,
28622add0d91Sopenharmony_ci        flags: i32,
28632add0d91Sopenharmony_ci        option: *mut SceKernelLMOption,
28642add0d91Sopenharmony_ci    ) -> SceUid;
28652add0d91Sopenharmony_ci    pub fn sceKernelLoadModuleByID(
28662add0d91Sopenharmony_ci        fid: SceUid,
28672add0d91Sopenharmony_ci        flags: i32,
28682add0d91Sopenharmony_ci        option: *mut SceKernelLMOption,
28692add0d91Sopenharmony_ci    ) -> SceUid;
28702add0d91Sopenharmony_ci    pub fn sceKernelLoadModuleBufferUsbWlan(
28712add0d91Sopenharmony_ci        buf_size: usize,
28722add0d91Sopenharmony_ci        buf: *mut c_void,
28732add0d91Sopenharmony_ci        flags: i32,
28742add0d91Sopenharmony_ci        option: *mut SceKernelLMOption,
28752add0d91Sopenharmony_ci    ) -> SceUid;
28762add0d91Sopenharmony_ci    pub fn sceKernelStartModule(
28772add0d91Sopenharmony_ci        mod_id: SceUid,
28782add0d91Sopenharmony_ci        arg_size: usize,
28792add0d91Sopenharmony_ci        argp: *mut c_void,
28802add0d91Sopenharmony_ci        status: *mut i32,
28812add0d91Sopenharmony_ci        option: *mut SceKernelSMOption,
28822add0d91Sopenharmony_ci    ) -> i32;
28832add0d91Sopenharmony_ci    pub fn sceKernelStopModule(
28842add0d91Sopenharmony_ci        mod_id: SceUid,
28852add0d91Sopenharmony_ci        arg_size: usize,
28862add0d91Sopenharmony_ci        argp: *mut c_void,
28872add0d91Sopenharmony_ci        status: *mut i32,
28882add0d91Sopenharmony_ci        option: *mut SceKernelSMOption,
28892add0d91Sopenharmony_ci    ) -> i32;
28902add0d91Sopenharmony_ci    pub fn sceKernelUnloadModule(mod_id: SceUid) -> i32;
28912add0d91Sopenharmony_ci    pub fn sceKernelSelfStopUnloadModule(unknown: i32, arg_size: usize, argp: *mut c_void) -> i32;
28922add0d91Sopenharmony_ci    pub fn sceKernelStopUnloadSelfModule(
28932add0d91Sopenharmony_ci        arg_size: usize,
28942add0d91Sopenharmony_ci        argp: *mut c_void,
28952add0d91Sopenharmony_ci        status: *mut i32,
28962add0d91Sopenharmony_ci        option: *mut SceKernelSMOption,
28972add0d91Sopenharmony_ci    ) -> i32;
28982add0d91Sopenharmony_ci    pub fn sceKernelQueryModuleInfo(mod_id: SceUid, info: *mut SceKernelModuleInfo) -> i32;
28992add0d91Sopenharmony_ci    pub fn sceKernelGetModuleIdList(
29002add0d91Sopenharmony_ci        read_buf: *mut SceUid,
29012add0d91Sopenharmony_ci        read_buf_size: i32,
29022add0d91Sopenharmony_ci        id_count: *mut i32,
29032add0d91Sopenharmony_ci    ) -> i32;
29042add0d91Sopenharmony_ci
29052add0d91Sopenharmony_ci    pub fn sceKernelVolatileMemLock(unk: i32, ptr: *mut *mut c_void, size: *mut i32) -> i32;
29062add0d91Sopenharmony_ci    pub fn sceKernelVolatileMemTryLock(unk: i32, ptr: *mut *mut c_void, size: *mut i32) -> i32;
29072add0d91Sopenharmony_ci    pub fn sceKernelVolatileMemUnlock(unk: i32) -> i32;
29082add0d91Sopenharmony_ci
29092add0d91Sopenharmony_ci    pub fn sceKernelStdin() -> SceUid;
29102add0d91Sopenharmony_ci    pub fn sceKernelStdout() -> SceUid;
29112add0d91Sopenharmony_ci    pub fn sceKernelStderr() -> SceUid;
29122add0d91Sopenharmony_ci
29132add0d91Sopenharmony_ci    pub fn sceKernelGetThreadmanIdType(uid: SceUid) -> SceKernelIdListType;
29142add0d91Sopenharmony_ci    pub fn sceKernelCreateThread(
29152add0d91Sopenharmony_ci        name: *const u8,
29162add0d91Sopenharmony_ci        entry: SceKernelThreadEntry,
29172add0d91Sopenharmony_ci        init_priority: i32,
29182add0d91Sopenharmony_ci        stack_size: i32,
29192add0d91Sopenharmony_ci        attr: i32,
29202add0d91Sopenharmony_ci        option: *mut SceKernelThreadOptParam,
29212add0d91Sopenharmony_ci    ) -> SceUid;
29222add0d91Sopenharmony_ci    pub fn sceKernelDeleteThread(thid: SceUid) -> i32;
29232add0d91Sopenharmony_ci    pub fn sceKernelStartThread(id: SceUid, arg_len: usize, arg_p: *mut c_void) -> i32;
29242add0d91Sopenharmony_ci    pub fn sceKernelExitThread(status: i32) -> i32;
29252add0d91Sopenharmony_ci    pub fn sceKernelExitDeleteThread(status: i32) -> i32;
29262add0d91Sopenharmony_ci    pub fn sceKernelTerminateThread(thid: SceUid) -> i32;
29272add0d91Sopenharmony_ci    pub fn sceKernelTerminateDeleteThread(thid: SceUid) -> i32;
29282add0d91Sopenharmony_ci    pub fn sceKernelSuspendDispatchThread() -> i32;
29292add0d91Sopenharmony_ci    pub fn sceKernelResumeDispatchThread(state: i32) -> i32;
29302add0d91Sopenharmony_ci    pub fn sceKernelSleepThread() -> i32;
29312add0d91Sopenharmony_ci    pub fn sceKernelSleepThreadCB() -> i32;
29322add0d91Sopenharmony_ci    pub fn sceKernelWakeupThread(thid: SceUid) -> i32;
29332add0d91Sopenharmony_ci    pub fn sceKernelCancelWakeupThread(thid: SceUid) -> i32;
29342add0d91Sopenharmony_ci    pub fn sceKernelSuspendThread(thid: SceUid) -> i32;
29352add0d91Sopenharmony_ci    pub fn sceKernelResumeThread(thid: SceUid) -> i32;
29362add0d91Sopenharmony_ci    pub fn sceKernelWaitThreadEnd(thid: SceUid, timeout: *mut u32) -> i32;
29372add0d91Sopenharmony_ci    pub fn sceKernelWaitThreadEndCB(thid: SceUid, timeout: *mut u32) -> i32;
29382add0d91Sopenharmony_ci    pub fn sceKernelDelayThread(delay: u32) -> i32;
29392add0d91Sopenharmony_ci    pub fn sceKernelDelayThreadCB(delay: u32) -> i32;
29402add0d91Sopenharmony_ci    pub fn sceKernelDelaySysClockThread(delay: *mut SceKernelSysClock) -> i32;
29412add0d91Sopenharmony_ci    pub fn sceKernelDelaySysClockThreadCB(delay: *mut SceKernelSysClock) -> i32;
29422add0d91Sopenharmony_ci    pub fn sceKernelChangeCurrentThreadAttr(unknown: i32, attr: i32) -> i32;
29432add0d91Sopenharmony_ci    pub fn sceKernelChangeThreadPriority(thid: SceUid, priority: i32) -> i32;
29442add0d91Sopenharmony_ci    pub fn sceKernelRotateThreadReadyQueue(priority: i32) -> i32;
29452add0d91Sopenharmony_ci    pub fn sceKernelReleaseWaitThread(thid: SceUid) -> i32;
29462add0d91Sopenharmony_ci    pub fn sceKernelGetThreadId() -> i32;
29472add0d91Sopenharmony_ci    pub fn sceKernelGetThreadCurrentPriority() -> i32;
29482add0d91Sopenharmony_ci    pub fn sceKernelGetThreadExitStatus(thid: SceUid) -> i32;
29492add0d91Sopenharmony_ci    pub fn sceKernelCheckThreadStack() -> i32;
29502add0d91Sopenharmony_ci    pub fn sceKernelGetThreadStackFreeSize(thid: SceUid) -> i32;
29512add0d91Sopenharmony_ci    pub fn sceKernelReferThreadStatus(thid: SceUid, info: *mut SceKernelThreadInfo) -> i32;
29522add0d91Sopenharmony_ci    pub fn sceKernelReferThreadRunStatus(
29532add0d91Sopenharmony_ci        thid: SceUid,
29542add0d91Sopenharmony_ci        status: *mut SceKernelThreadRunStatus,
29552add0d91Sopenharmony_ci    ) -> i32;
29562add0d91Sopenharmony_ci    pub fn sceKernelCreateSema(
29572add0d91Sopenharmony_ci        name: *const u8,
29582add0d91Sopenharmony_ci        attr: u32,
29592add0d91Sopenharmony_ci        init_val: i32,
29602add0d91Sopenharmony_ci        max_val: i32,
29612add0d91Sopenharmony_ci        option: *mut SceKernelSemaOptParam,
29622add0d91Sopenharmony_ci    ) -> SceUid;
29632add0d91Sopenharmony_ci    pub fn sceKernelDeleteSema(sema_id: SceUid) -> i32;
29642add0d91Sopenharmony_ci    pub fn sceKernelSignalSema(sema_id: SceUid, signal: i32) -> i32;
29652add0d91Sopenharmony_ci    pub fn sceKernelWaitSema(sema_id: SceUid, signal: i32, timeout: *mut u32) -> i32;
29662add0d91Sopenharmony_ci    pub fn sceKernelWaitSemaCB(sema_id: SceUid, signal: i32, timeout: *mut u32) -> i32;
29672add0d91Sopenharmony_ci    pub fn sceKernelPollSema(sema_id: SceUid, signal: i32) -> i32;
29682add0d91Sopenharmony_ci    pub fn sceKernelReferSemaStatus(sema_id: SceUid, info: *mut SceKernelSemaInfo) -> i32;
29692add0d91Sopenharmony_ci    pub fn sceKernelCreateEventFlag(
29702add0d91Sopenharmony_ci        name: *const u8,
29712add0d91Sopenharmony_ci        attr: i32,
29722add0d91Sopenharmony_ci        bits: i32,
29732add0d91Sopenharmony_ci        opt: *mut SceKernelEventFlagOptParam,
29742add0d91Sopenharmony_ci    ) -> SceUid;
29752add0d91Sopenharmony_ci    pub fn sceKernelSetEventFlag(ev_id: SceUid, bits: u32) -> i32;
29762add0d91Sopenharmony_ci    pub fn sceKernelClearEventFlag(ev_id: SceUid, bits: u32) -> i32;
29772add0d91Sopenharmony_ci    pub fn sceKernelPollEventFlag(ev_id: SceUid, bits: u32, wait: i32, out_bits: *mut u32) -> i32;
29782add0d91Sopenharmony_ci    pub fn sceKernelWaitEventFlag(
29792add0d91Sopenharmony_ci        ev_id: SceUid,
29802add0d91Sopenharmony_ci        bits: u32,
29812add0d91Sopenharmony_ci        wait: i32,
29822add0d91Sopenharmony_ci        out_bits: *mut u32,
29832add0d91Sopenharmony_ci        timeout: *mut u32,
29842add0d91Sopenharmony_ci    ) -> i32;
29852add0d91Sopenharmony_ci    pub fn sceKernelWaitEventFlagCB(
29862add0d91Sopenharmony_ci        ev_id: SceUid,
29872add0d91Sopenharmony_ci        bits: u32,
29882add0d91Sopenharmony_ci        wait: i32,
29892add0d91Sopenharmony_ci        out_bits: *mut u32,
29902add0d91Sopenharmony_ci        timeout: *mut u32,
29912add0d91Sopenharmony_ci    ) -> i32;
29922add0d91Sopenharmony_ci    pub fn sceKernelDeleteEventFlag(ev_id: SceUid) -> i32;
29932add0d91Sopenharmony_ci    pub fn sceKernelReferEventFlagStatus(event: SceUid, status: *mut SceKernelEventFlagInfo)
29942add0d91Sopenharmony_ci        -> i32;
29952add0d91Sopenharmony_ci    pub fn sceKernelCreateMbx(
29962add0d91Sopenharmony_ci        name: *const u8,
29972add0d91Sopenharmony_ci        attr: u32,
29982add0d91Sopenharmony_ci        option: *mut SceKernelMbxOptParam,
29992add0d91Sopenharmony_ci    ) -> SceUid;
30002add0d91Sopenharmony_ci    pub fn sceKernelDeleteMbx(mbx_id: SceUid) -> i32;
30012add0d91Sopenharmony_ci    pub fn sceKernelSendMbx(mbx_id: SceUid, message: *mut c_void) -> i32;
30022add0d91Sopenharmony_ci    pub fn sceKernelReceiveMbx(mbx_id: SceUid, message: *mut *mut c_void, timeout: *mut u32)
30032add0d91Sopenharmony_ci        -> i32;
30042add0d91Sopenharmony_ci    pub fn sceKernelReceiveMbxCB(
30052add0d91Sopenharmony_ci        mbx_id: SceUid,
30062add0d91Sopenharmony_ci        message: *mut *mut c_void,
30072add0d91Sopenharmony_ci        timeout: *mut u32,
30082add0d91Sopenharmony_ci    ) -> i32;
30092add0d91Sopenharmony_ci    pub fn sceKernelPollMbx(mbx_id: SceUid, pmessage: *mut *mut c_void) -> i32;
30102add0d91Sopenharmony_ci    pub fn sceKernelCancelReceiveMbx(mbx_id: SceUid, num: *mut i32) -> i32;
30112add0d91Sopenharmony_ci    pub fn sceKernelReferMbxStatus(mbx_id: SceUid, info: *mut SceKernelMbxInfo) -> i32;
30122add0d91Sopenharmony_ci    pub fn sceKernelSetAlarm(
30132add0d91Sopenharmony_ci        clock: u32,
30142add0d91Sopenharmony_ci        handler: SceKernelAlarmHandler,
30152add0d91Sopenharmony_ci        common: *mut c_void,
30162add0d91Sopenharmony_ci    ) -> SceUid;
30172add0d91Sopenharmony_ci    pub fn sceKernelSetSysClockAlarm(
30182add0d91Sopenharmony_ci        clock: *mut SceKernelSysClock,
30192add0d91Sopenharmony_ci        handler: *mut SceKernelAlarmHandler,
30202add0d91Sopenharmony_ci        common: *mut c_void,
30212add0d91Sopenharmony_ci    ) -> SceUid;
30222add0d91Sopenharmony_ci    pub fn sceKernelCancelAlarm(alarm_id: SceUid) -> i32;
30232add0d91Sopenharmony_ci    pub fn sceKernelReferAlarmStatus(alarm_id: SceUid, info: *mut SceKernelAlarmInfo) -> i32;
30242add0d91Sopenharmony_ci    pub fn sceKernelCreateCallback(
30252add0d91Sopenharmony_ci        name: *const u8,
30262add0d91Sopenharmony_ci        func: SceKernelCallbackFunction,
30272add0d91Sopenharmony_ci        arg: *mut c_void,
30282add0d91Sopenharmony_ci    ) -> SceUid;
30292add0d91Sopenharmony_ci    pub fn sceKernelReferCallbackStatus(cb: SceUid, status: *mut SceKernelCallbackInfo) -> i32;
30302add0d91Sopenharmony_ci    pub fn sceKernelDeleteCallback(cb: SceUid) -> i32;
30312add0d91Sopenharmony_ci    pub fn sceKernelNotifyCallback(cb: SceUid, arg2: i32) -> i32;
30322add0d91Sopenharmony_ci    pub fn sceKernelCancelCallback(cb: SceUid) -> i32;
30332add0d91Sopenharmony_ci    pub fn sceKernelGetCallbackCount(cb: SceUid) -> i32;
30342add0d91Sopenharmony_ci    pub fn sceKernelCheckCallback() -> i32;
30352add0d91Sopenharmony_ci    pub fn sceKernelGetThreadmanIdList(
30362add0d91Sopenharmony_ci        type_: SceKernelIdListType,
30372add0d91Sopenharmony_ci        read_buf: *mut SceUid,
30382add0d91Sopenharmony_ci        read_buf_size: i32,
30392add0d91Sopenharmony_ci        id_count: *mut i32,
30402add0d91Sopenharmony_ci    ) -> i32;
30412add0d91Sopenharmony_ci    pub fn sceKernelReferSystemStatus(status: *mut SceKernelSystemStatus) -> i32;
30422add0d91Sopenharmony_ci    pub fn sceKernelCreateMsgPipe(
30432add0d91Sopenharmony_ci        name: *const u8,
30442add0d91Sopenharmony_ci        part: i32,
30452add0d91Sopenharmony_ci        attr: i32,
30462add0d91Sopenharmony_ci        unk1: *mut c_void,
30472add0d91Sopenharmony_ci        opt: *mut c_void,
30482add0d91Sopenharmony_ci    ) -> SceUid;
30492add0d91Sopenharmony_ci    pub fn sceKernelDeleteMsgPipe(uid: SceUid) -> i32;
30502add0d91Sopenharmony_ci    pub fn sceKernelSendMsgPipe(
30512add0d91Sopenharmony_ci        uid: SceUid,
30522add0d91Sopenharmony_ci        message: *mut c_void,
30532add0d91Sopenharmony_ci        size: u32,
30542add0d91Sopenharmony_ci        unk1: i32,
30552add0d91Sopenharmony_ci        unk2: *mut c_void,
30562add0d91Sopenharmony_ci        timeout: *mut u32,
30572add0d91Sopenharmony_ci    ) -> i32;
30582add0d91Sopenharmony_ci    pub fn sceKernelSendMsgPipeCB(
30592add0d91Sopenharmony_ci        uid: SceUid,
30602add0d91Sopenharmony_ci        message: *mut c_void,
30612add0d91Sopenharmony_ci        size: u32,
30622add0d91Sopenharmony_ci        unk1: i32,
30632add0d91Sopenharmony_ci        unk2: *mut c_void,
30642add0d91Sopenharmony_ci        timeout: *mut u32,
30652add0d91Sopenharmony_ci    ) -> i32;
30662add0d91Sopenharmony_ci    pub fn sceKernelTrySendMsgPipe(
30672add0d91Sopenharmony_ci        uid: SceUid,
30682add0d91Sopenharmony_ci        message: *mut c_void,
30692add0d91Sopenharmony_ci        size: u32,
30702add0d91Sopenharmony_ci        unk1: i32,
30712add0d91Sopenharmony_ci        unk2: *mut c_void,
30722add0d91Sopenharmony_ci    ) -> i32;
30732add0d91Sopenharmony_ci    pub fn sceKernelReceiveMsgPipe(
30742add0d91Sopenharmony_ci        uid: SceUid,
30752add0d91Sopenharmony_ci        message: *mut c_void,
30762add0d91Sopenharmony_ci        size: u32,
30772add0d91Sopenharmony_ci        unk1: i32,
30782add0d91Sopenharmony_ci        unk2: *mut c_void,
30792add0d91Sopenharmony_ci        timeout: *mut u32,
30802add0d91Sopenharmony_ci    ) -> i32;
30812add0d91Sopenharmony_ci    pub fn sceKernelReceiveMsgPipeCB(
30822add0d91Sopenharmony_ci        uid: SceUid,
30832add0d91Sopenharmony_ci        message: *mut c_void,
30842add0d91Sopenharmony_ci        size: u32,
30852add0d91Sopenharmony_ci        unk1: i32,
30862add0d91Sopenharmony_ci        unk2: *mut c_void,
30872add0d91Sopenharmony_ci        timeout: *mut u32,
30882add0d91Sopenharmony_ci    ) -> i32;
30892add0d91Sopenharmony_ci    pub fn sceKernelTryReceiveMsgPipe(
30902add0d91Sopenharmony_ci        uid: SceUid,
30912add0d91Sopenharmony_ci        message: *mut c_void,
30922add0d91Sopenharmony_ci        size: u32,
30932add0d91Sopenharmony_ci        unk1: i32,
30942add0d91Sopenharmony_ci        unk2: *mut c_void,
30952add0d91Sopenharmony_ci    ) -> i32;
30962add0d91Sopenharmony_ci    pub fn sceKernelCancelMsgPipe(uid: SceUid, send: *mut i32, recv: *mut i32) -> i32;
30972add0d91Sopenharmony_ci    pub fn sceKernelReferMsgPipeStatus(uid: SceUid, info: *mut SceKernelMppInfo) -> i32;
30982add0d91Sopenharmony_ci    pub fn sceKernelCreateVpl(
30992add0d91Sopenharmony_ci        name: *const u8,
31002add0d91Sopenharmony_ci        part: i32,
31012add0d91Sopenharmony_ci        attr: i32,
31022add0d91Sopenharmony_ci        size: u32,
31032add0d91Sopenharmony_ci        opt: *mut SceKernelVplOptParam,
31042add0d91Sopenharmony_ci    ) -> SceUid;
31052add0d91Sopenharmony_ci    pub fn sceKernelDeleteVpl(uid: SceUid) -> i32;
31062add0d91Sopenharmony_ci    pub fn sceKernelAllocateVpl(
31072add0d91Sopenharmony_ci        uid: SceUid,
31082add0d91Sopenharmony_ci        size: u32,
31092add0d91Sopenharmony_ci        data: *mut *mut c_void,
31102add0d91Sopenharmony_ci        timeout: *mut u32,
31112add0d91Sopenharmony_ci    ) -> i32;
31122add0d91Sopenharmony_ci    pub fn sceKernelAllocateVplCB(
31132add0d91Sopenharmony_ci        uid: SceUid,
31142add0d91Sopenharmony_ci        size: u32,
31152add0d91Sopenharmony_ci        data: *mut *mut c_void,
31162add0d91Sopenharmony_ci        timeout: *mut u32,
31172add0d91Sopenharmony_ci    ) -> i32;
31182add0d91Sopenharmony_ci    pub fn sceKernelTryAllocateVpl(uid: SceUid, size: u32, data: *mut *mut c_void) -> i32;
31192add0d91Sopenharmony_ci    pub fn sceKernelFreeVpl(uid: SceUid, data: *mut c_void) -> i32;
31202add0d91Sopenharmony_ci    pub fn sceKernelCancelVpl(uid: SceUid, num: *mut i32) -> i32;
31212add0d91Sopenharmony_ci    pub fn sceKernelReferVplStatus(uid: SceUid, info: *mut SceKernelVplInfo) -> i32;
31222add0d91Sopenharmony_ci    pub fn sceKernelCreateFpl(
31232add0d91Sopenharmony_ci        name: *const u8,
31242add0d91Sopenharmony_ci        part: i32,
31252add0d91Sopenharmony_ci        attr: i32,
31262add0d91Sopenharmony_ci        size: u32,
31272add0d91Sopenharmony_ci        blocks: u32,
31282add0d91Sopenharmony_ci        opt: *mut SceKernelFplOptParam,
31292add0d91Sopenharmony_ci    ) -> i32;
31302add0d91Sopenharmony_ci    pub fn sceKernelDeleteFpl(uid: SceUid) -> i32;
31312add0d91Sopenharmony_ci    pub fn sceKernelAllocateFpl(uid: SceUid, data: *mut *mut c_void, timeout: *mut u32) -> i32;
31322add0d91Sopenharmony_ci    pub fn sceKernelAllocateFplCB(uid: SceUid, data: *mut *mut c_void, timeout: *mut u32) -> i32;
31332add0d91Sopenharmony_ci    pub fn sceKernelTryAllocateFpl(uid: SceUid, data: *mut *mut c_void) -> i32;
31342add0d91Sopenharmony_ci    pub fn sceKernelFreeFpl(uid: SceUid, data: *mut c_void) -> i32;
31352add0d91Sopenharmony_ci    pub fn sceKernelCancelFpl(uid: SceUid, pnum: *mut i32) -> i32;
31362add0d91Sopenharmony_ci    pub fn sceKernelReferFplStatus(uid: SceUid, info: *mut SceKernelFplInfo) -> i32;
31372add0d91Sopenharmony_ci    pub fn sceKernelUSec2SysClock(usec: u32, clock: *mut SceKernelSysClock) -> i32;
31382add0d91Sopenharmony_ci    pub fn sceKernelUSec2SysClockWide(usec: u32) -> i64;
31392add0d91Sopenharmony_ci    pub fn sceKernelSysClock2USec(
31402add0d91Sopenharmony_ci        clock: *mut SceKernelSysClock,
31412add0d91Sopenharmony_ci        low: *mut u32,
31422add0d91Sopenharmony_ci        high: *mut u32,
31432add0d91Sopenharmony_ci    ) -> i32;
31442add0d91Sopenharmony_ci    pub fn sceKernelSysClock2USecWide(clock: i64, low: *mut u32, high: *mut u32) -> i32;
31452add0d91Sopenharmony_ci    pub fn sceKernelGetSystemTime(time: *mut SceKernelSysClock) -> i32;
31462add0d91Sopenharmony_ci    pub fn sceKernelGetSystemTimeWide() -> i64;
31472add0d91Sopenharmony_ci    pub fn sceKernelGetSystemTimeLow() -> u32;
31482add0d91Sopenharmony_ci    pub fn sceKernelCreateVTimer(name: *const u8, opt: *mut SceKernelVTimerOptParam) -> SceUid;
31492add0d91Sopenharmony_ci    pub fn sceKernelDeleteVTimer(uid: SceUid) -> i32;
31502add0d91Sopenharmony_ci    pub fn sceKernelGetVTimerBase(uid: SceUid, base: *mut SceKernelSysClock) -> i32;
31512add0d91Sopenharmony_ci    pub fn sceKernelGetVTimerBaseWide(uid: SceUid) -> i64;
31522add0d91Sopenharmony_ci    pub fn sceKernelGetVTimerTime(uid: SceUid, time: *mut SceKernelSysClock) -> i32;
31532add0d91Sopenharmony_ci    pub fn sceKernelGetVTimerTimeWide(uid: SceUid) -> i64;
31542add0d91Sopenharmony_ci    pub fn sceKernelSetVTimerTime(uid: SceUid, time: *mut SceKernelSysClock) -> i32;
31552add0d91Sopenharmony_ci    pub fn sceKernelSetVTimerTimeWide(uid: SceUid, time: i64) -> i64;
31562add0d91Sopenharmony_ci    pub fn sceKernelStartVTimer(uid: SceUid) -> i32;
31572add0d91Sopenharmony_ci    pub fn sceKernelStopVTimer(uid: SceUid) -> i32;
31582add0d91Sopenharmony_ci    pub fn sceKernelSetVTimerHandler(
31592add0d91Sopenharmony_ci        uid: SceUid,
31602add0d91Sopenharmony_ci        time: *mut SceKernelSysClock,
31612add0d91Sopenharmony_ci        handler: SceKernelVTimerHandler,
31622add0d91Sopenharmony_ci        common: *mut c_void,
31632add0d91Sopenharmony_ci    ) -> i32;
31642add0d91Sopenharmony_ci    pub fn sceKernelSetVTimerHandlerWide(
31652add0d91Sopenharmony_ci        uid: SceUid,
31662add0d91Sopenharmony_ci        time: i64,
31672add0d91Sopenharmony_ci        handler: SceKernelVTimerHandlerWide,
31682add0d91Sopenharmony_ci        common: *mut c_void,
31692add0d91Sopenharmony_ci    ) -> i32;
31702add0d91Sopenharmony_ci    pub fn sceKernelCancelVTimerHandler(uid: SceUid) -> i32;
31712add0d91Sopenharmony_ci    pub fn sceKernelReferVTimerStatus(uid: SceUid, info: *mut SceKernelVTimerInfo) -> i32;
31722add0d91Sopenharmony_ci    pub fn sceKernelRegisterThreadEventHandler(
31732add0d91Sopenharmony_ci        name: *const u8,
31742add0d91Sopenharmony_ci        thread_id: SceUid,
31752add0d91Sopenharmony_ci        mask: i32,
31762add0d91Sopenharmony_ci        handler: SceKernelThreadEventHandler,
31772add0d91Sopenharmony_ci        common: *mut c_void,
31782add0d91Sopenharmony_ci    ) -> SceUid;
31792add0d91Sopenharmony_ci    pub fn sceKernelReleaseThreadEventHandler(uid: SceUid) -> i32;
31802add0d91Sopenharmony_ci    pub fn sceKernelReferThreadEventHandlerStatus(
31812add0d91Sopenharmony_ci        uid: SceUid,
31822add0d91Sopenharmony_ci        info: *mut SceKernelThreadEventHandlerInfo,
31832add0d91Sopenharmony_ci    ) -> i32;
31842add0d91Sopenharmony_ci    pub fn sceKernelReferThreadProfiler() -> *mut DebugProfilerRegs;
31852add0d91Sopenharmony_ci    pub fn sceKernelReferGlobalProfiler() -> *mut DebugProfilerRegs;
31862add0d91Sopenharmony_ci
31872add0d91Sopenharmony_ci    pub fn sceUsbStart(driver_name: *const u8, size: i32, args: *mut c_void) -> i32;
31882add0d91Sopenharmony_ci    pub fn sceUsbStop(driver_name: *const u8, size: i32, args: *mut c_void) -> i32;
31892add0d91Sopenharmony_ci    pub fn sceUsbActivate(pid: u32) -> i32;
31902add0d91Sopenharmony_ci    pub fn sceUsbDeactivate(pid: u32) -> i32;
31912add0d91Sopenharmony_ci    pub fn sceUsbGetState() -> i32;
31922add0d91Sopenharmony_ci    pub fn sceUsbGetDrvState(driver_name: *const u8) -> i32;
31932add0d91Sopenharmony_ci}
31942add0d91Sopenharmony_ci
31952add0d91Sopenharmony_ciextern "C" {
31962add0d91Sopenharmony_ci    pub fn sceUsbCamSetupStill(param: *mut UsbCamSetupStillParam) -> i32;
31972add0d91Sopenharmony_ci    pub fn sceUsbCamSetupStillEx(param: *mut UsbCamSetupStillExParam) -> i32;
31982add0d91Sopenharmony_ci    pub fn sceUsbCamStillInputBlocking(buf: *mut u8, size: usize) -> i32;
31992add0d91Sopenharmony_ci    pub fn sceUsbCamStillInput(buf: *mut u8, size: usize) -> i32;
32002add0d91Sopenharmony_ci    pub fn sceUsbCamStillWaitInputEnd() -> i32;
32012add0d91Sopenharmony_ci    pub fn sceUsbCamStillPollInputEnd() -> i32;
32022add0d91Sopenharmony_ci    pub fn sceUsbCamStillCancelInput() -> i32;
32032add0d91Sopenharmony_ci    pub fn sceUsbCamStillGetInputLength() -> i32;
32042add0d91Sopenharmony_ci    pub fn sceUsbCamSetupVideo(
32052add0d91Sopenharmony_ci        param: *mut UsbCamSetupVideoParam,
32062add0d91Sopenharmony_ci        work_area: *mut c_void,
32072add0d91Sopenharmony_ci        work_area_size: i32,
32082add0d91Sopenharmony_ci    ) -> i32;
32092add0d91Sopenharmony_ci    pub fn sceUsbCamSetupVideoEx(
32102add0d91Sopenharmony_ci        param: *mut UsbCamSetupVideoExParam,
32112add0d91Sopenharmony_ci        work_area: *mut c_void,
32122add0d91Sopenharmony_ci        work_area_size: i32,
32132add0d91Sopenharmony_ci    ) -> i32;
32142add0d91Sopenharmony_ci    pub fn sceUsbCamStartVideo() -> i32;
32152add0d91Sopenharmony_ci    pub fn sceUsbCamStopVideo() -> i32;
32162add0d91Sopenharmony_ci    pub fn sceUsbCamReadVideoFrameBlocking(buf: *mut u8, size: usize) -> i32;
32172add0d91Sopenharmony_ci    pub fn sceUsbCamReadVideoFrame(buf: *mut u8, size: usize) -> i32;
32182add0d91Sopenharmony_ci    pub fn sceUsbCamWaitReadVideoFrameEnd() -> i32;
32192add0d91Sopenharmony_ci    pub fn sceUsbCamPollReadVideoFrameEnd() -> i32;
32202add0d91Sopenharmony_ci    pub fn sceUsbCamGetReadVideoFrameSize() -> i32;
32212add0d91Sopenharmony_ci    pub fn sceUsbCamSetSaturation(saturation: i32) -> i32;
32222add0d91Sopenharmony_ci    pub fn sceUsbCamSetBrightness(brightness: i32) -> i32;
32232add0d91Sopenharmony_ci    pub fn sceUsbCamSetContrast(contrast: i32) -> i32;
32242add0d91Sopenharmony_ci    pub fn sceUsbCamSetSharpness(sharpness: i32) -> i32;
32252add0d91Sopenharmony_ci    pub fn sceUsbCamSetImageEffectMode(effect_mode: UsbCamEffectMode) -> i32;
32262add0d91Sopenharmony_ci    pub fn sceUsbCamSetEvLevel(exposure_level: UsbCamEvLevel) -> i32;
32272add0d91Sopenharmony_ci    pub fn sceUsbCamSetReverseMode(reverse_flags: i32) -> i32;
32282add0d91Sopenharmony_ci    pub fn sceUsbCamSetZoom(zoom: i32) -> i32;
32292add0d91Sopenharmony_ci    pub fn sceUsbCamGetSaturation(saturation: *mut i32) -> i32;
32302add0d91Sopenharmony_ci    pub fn sceUsbCamGetBrightness(brightness: *mut i32) -> i32;
32312add0d91Sopenharmony_ci    pub fn sceUsbCamGetContrast(contrast: *mut i32) -> i32;
32322add0d91Sopenharmony_ci    pub fn sceUsbCamGetSharpness(sharpness: *mut i32) -> i32;
32332add0d91Sopenharmony_ci    pub fn sceUsbCamGetImageEffectMode(effect_mode: *mut UsbCamEffectMode) -> i32;
32342add0d91Sopenharmony_ci    pub fn sceUsbCamGetEvLevel(exposure_level: *mut UsbCamEvLevel) -> i32;
32352add0d91Sopenharmony_ci    pub fn sceUsbCamGetReverseMode(reverse_flags: *mut i32) -> i32;
32362add0d91Sopenharmony_ci    pub fn sceUsbCamGetZoom(zoom: *mut i32) -> i32;
32372add0d91Sopenharmony_ci    pub fn sceUsbCamAutoImageReverseSW(on: i32) -> i32;
32382add0d91Sopenharmony_ci    pub fn sceUsbCamGetAutoImageReverseState() -> i32;
32392add0d91Sopenharmony_ci    pub fn sceUsbCamGetLensDirection() -> i32;
32402add0d91Sopenharmony_ci
32412add0d91Sopenharmony_ci    pub fn sceUsbstorBootRegisterNotify(event_flag: SceUid) -> i32;
32422add0d91Sopenharmony_ci    pub fn sceUsbstorBootUnregisterNotify(event_flag: u32) -> i32;
32432add0d91Sopenharmony_ci    pub fn sceUsbstorBootSetCapacity(size: u32) -> i32;
32442add0d91Sopenharmony_ci
32452add0d91Sopenharmony_ci    pub fn scePowerRegisterCallback(slot: i32, cbid: SceUid) -> i32;
32462add0d91Sopenharmony_ci    pub fn scePowerUnregisterCallback(slot: i32) -> i32;
32472add0d91Sopenharmony_ci    pub fn scePowerIsPowerOnline() -> i32;
32482add0d91Sopenharmony_ci    pub fn scePowerIsBatteryExist() -> i32;
32492add0d91Sopenharmony_ci    pub fn scePowerIsBatteryCharging() -> i32;
32502add0d91Sopenharmony_ci    pub fn scePowerGetBatteryChargingStatus() -> i32;
32512add0d91Sopenharmony_ci    pub fn scePowerIsLowBattery() -> i32;
32522add0d91Sopenharmony_ci    pub fn scePowerGetBatteryLifePercent() -> i32;
32532add0d91Sopenharmony_ci    pub fn scePowerGetBatteryLifeTime() -> i32;
32542add0d91Sopenharmony_ci    pub fn scePowerGetBatteryTemp() -> i32;
32552add0d91Sopenharmony_ci    pub fn scePowerGetBatteryElec() -> i32;
32562add0d91Sopenharmony_ci    pub fn scePowerGetBatteryVolt() -> i32;
32572add0d91Sopenharmony_ci    pub fn scePowerSetCpuClockFrequency(cpufreq: i32) -> i32;
32582add0d91Sopenharmony_ci    pub fn scePowerSetBusClockFrequency(busfreq: i32) -> i32;
32592add0d91Sopenharmony_ci    pub fn scePowerGetCpuClockFrequency() -> i32;
32602add0d91Sopenharmony_ci    pub fn scePowerGetCpuClockFrequencyInt() -> i32;
32612add0d91Sopenharmony_ci    pub fn scePowerGetCpuClockFrequencyFloat() -> f32;
32622add0d91Sopenharmony_ci    pub fn scePowerGetBusClockFrequency() -> i32;
32632add0d91Sopenharmony_ci    pub fn scePowerGetBusClockFrequencyInt() -> i32;
32642add0d91Sopenharmony_ci    pub fn scePowerGetBusClockFrequencyFloat() -> f32;
32652add0d91Sopenharmony_ci    pub fn scePowerSetClockFrequency(pllfreq: i32, cpufreq: i32, busfreq: i32) -> i32;
32662add0d91Sopenharmony_ci    pub fn scePowerLock(unknown: i32) -> i32;
32672add0d91Sopenharmony_ci    pub fn scePowerUnlock(unknown: i32) -> i32;
32682add0d91Sopenharmony_ci    pub fn scePowerTick(t: PowerTick) -> i32;
32692add0d91Sopenharmony_ci    pub fn scePowerGetIdleTimer() -> i32;
32702add0d91Sopenharmony_ci    pub fn scePowerIdleTimerEnable(unknown: i32) -> i32;
32712add0d91Sopenharmony_ci    pub fn scePowerIdleTimerDisable(unknown: i32) -> i32;
32722add0d91Sopenharmony_ci    pub fn scePowerRequestStandby() -> i32;
32732add0d91Sopenharmony_ci    pub fn scePowerRequestSuspend() -> i32;
32742add0d91Sopenharmony_ci
32752add0d91Sopenharmony_ci    pub fn sceWlanDevIsPowerOn() -> i32;
32762add0d91Sopenharmony_ci    pub fn sceWlanGetSwitchState() -> i32;
32772add0d91Sopenharmony_ci    pub fn sceWlanGetEtherAddr(ether_addr: *mut u8) -> i32;
32782add0d91Sopenharmony_ci
32792add0d91Sopenharmony_ci    pub fn sceWlanDevAttach() -> i32;
32802add0d91Sopenharmony_ci    pub fn sceWlanDevDetach() -> i32;
32812add0d91Sopenharmony_ci
32822add0d91Sopenharmony_ci    pub fn sceRtcGetTickResolution() -> u32;
32832add0d91Sopenharmony_ci    pub fn sceRtcGetCurrentTick(tick: *mut u64) -> i32;
32842add0d91Sopenharmony_ci    pub fn sceRtcGetCurrentClock(tm: *mut ScePspDateTime, tz: i32) -> i32;
32852add0d91Sopenharmony_ci    pub fn sceRtcGetCurrentClockLocalTime(tm: *mut ScePspDateTime) -> i32;
32862add0d91Sopenharmony_ci    pub fn sceRtcConvertUtcToLocalTime(tick_utc: *const u64, tick_local: *mut u64) -> i32;
32872add0d91Sopenharmony_ci    pub fn sceRtcConvertLocalTimeToUTC(tick_local: *const u64, tick_utc: *mut u64) -> i32;
32882add0d91Sopenharmony_ci    pub fn sceRtcIsLeapYear(year: i32) -> i32;
32892add0d91Sopenharmony_ci    pub fn sceRtcGetDaysInMonth(year: i32, month: i32) -> i32;
32902add0d91Sopenharmony_ci    pub fn sceRtcGetDayOfWeek(year: i32, month: i32, day: i32) -> i32;
32912add0d91Sopenharmony_ci    pub fn sceRtcCheckValid(date: *const ScePspDateTime) -> i32;
32922add0d91Sopenharmony_ci    pub fn sceRtcSetTick(date: *mut ScePspDateTime, tick: *const u64) -> i32;
32932add0d91Sopenharmony_ci    pub fn sceRtcGetTick(date: *const ScePspDateTime, tick: *mut u64) -> i32;
32942add0d91Sopenharmony_ci    pub fn sceRtcCompareTick(tick1: *const u64, tick2: *const u64) -> i32;
32952add0d91Sopenharmony_ci    pub fn sceRtcTickAddTicks(dest_tick: *mut u64, src_tick: *const u64, num_ticks: u64) -> i32;
32962add0d91Sopenharmony_ci    pub fn sceRtcTickAddMicroseconds(dest_tick: *mut u64, src_tick: *const u64, num_ms: u64)
32972add0d91Sopenharmony_ci        -> i32;
32982add0d91Sopenharmony_ci    pub fn sceRtcTickAddSeconds(dest_tick: *mut u64, src_tick: *const u64, num_seconds: u64)
32992add0d91Sopenharmony_ci        -> i32;
33002add0d91Sopenharmony_ci    pub fn sceRtcTickAddMinutes(dest_tick: *mut u64, src_tick: *const u64, num_minutes: u64)
33012add0d91Sopenharmony_ci        -> i32;
33022add0d91Sopenharmony_ci    pub fn sceRtcTickAddHours(dest_tick: *mut u64, src_tick: *const u64, num_hours: u64) -> i32;
33032add0d91Sopenharmony_ci    pub fn sceRtcTickAddDays(dest_tick: *mut u64, src_tick: *const u64, num_days: u64) -> i32;
33042add0d91Sopenharmony_ci    pub fn sceRtcTickAddWeeks(dest_tick: *mut u64, src_tick: *const u64, num_weeks: u64) -> i32;
33052add0d91Sopenharmony_ci    pub fn sceRtcTickAddMonths(dest_tick: *mut u64, src_tick: *const u64, num_months: u64) -> i32;
33062add0d91Sopenharmony_ci    pub fn sceRtcTickAddYears(dest_tick: *mut u64, src_tick: *const u64, num_years: u64) -> i32;
33072add0d91Sopenharmony_ci    pub fn sceRtcSetTime_t(date: *mut ScePspDateTime, time: u32) -> i32;
33082add0d91Sopenharmony_ci    pub fn sceRtcGetTime_t(date: *const ScePspDateTime, time: *mut u32) -> i32;
33092add0d91Sopenharmony_ci    pub fn sceRtcSetTime64_t(date: *mut ScePspDateTime, time: u64) -> i32;
33102add0d91Sopenharmony_ci    pub fn sceRtcGetTime64_t(date: *const ScePspDateTime, time: *mut u64) -> i32;
33112add0d91Sopenharmony_ci    pub fn sceRtcSetDosTime(date: *mut ScePspDateTime, dos_time: u32) -> i32;
33122add0d91Sopenharmony_ci    pub fn sceRtcGetDosTime(date: *mut ScePspDateTime, dos_time: u32) -> i32;
33132add0d91Sopenharmony_ci    pub fn sceRtcSetWin32FileTime(date: *mut ScePspDateTime, time: *mut u64) -> i32;
33142add0d91Sopenharmony_ci    pub fn sceRtcGetWin32FileTime(date: *mut ScePspDateTime, time: *mut u64) -> i32;
33152add0d91Sopenharmony_ci    pub fn sceRtcParseDateTime(dest_tick: *mut u64, date_string: *const u8) -> i32;
33162add0d91Sopenharmony_ci    pub fn sceRtcFormatRFC3339(
33172add0d91Sopenharmony_ci        psz_date_time: *mut char,
33182add0d91Sopenharmony_ci        p_utc: *const u64,
33192add0d91Sopenharmony_ci        time_zone_minutes: i32,
33202add0d91Sopenharmony_ci    ) -> i32;
33212add0d91Sopenharmony_ci    pub fn sceRtcFormatRFC3339LocalTime(psz_date_time: *mut char, p_utc: *const u64) -> i32;
33222add0d91Sopenharmony_ci    pub fn sceRtcParseRFC3339(p_utc: *mut u64, psz_date_time: *const u8) -> i32;
33232add0d91Sopenharmony_ci    pub fn sceRtcFormatRFC2822(
33242add0d91Sopenharmony_ci        psz_date_time: *mut char,
33252add0d91Sopenharmony_ci        p_utc: *const u64,
33262add0d91Sopenharmony_ci        time_zone_minutes: i32,
33272add0d91Sopenharmony_ci    ) -> i32;
33282add0d91Sopenharmony_ci    pub fn sceRtcFormatRFC2822LocalTime(psz_date_time: *mut char, p_utc: *const u64) -> i32;
33292add0d91Sopenharmony_ci
33302add0d91Sopenharmony_ci    pub fn sceIoOpen(file: *const u8, flags: i32, permissions: IoPermissions) -> SceUid;
33312add0d91Sopenharmony_ci    pub fn sceIoOpenAsync(file: *const u8, flags: i32, permissions: IoPermissions) -> SceUid;
33322add0d91Sopenharmony_ci    pub fn sceIoClose(fd: SceUid) -> i32;
33332add0d91Sopenharmony_ci    pub fn sceIoCloseAsync(fd: SceUid) -> i32;
33342add0d91Sopenharmony_ci    pub fn sceIoRead(fd: SceUid, data: *mut c_void, size: u32) -> i32;
33352add0d91Sopenharmony_ci    pub fn sceIoReadAsync(fd: SceUid, data: *mut c_void, size: u32) -> i32;
33362add0d91Sopenharmony_ci    pub fn sceIoWrite(fd: SceUid, data: *const c_void, size: usize) -> i32;
33372add0d91Sopenharmony_ci    pub fn sceIoWriteAsync(fd: SceUid, data: *const c_void, size: u32) -> i32;
33382add0d91Sopenharmony_ci    pub fn sceIoLseek(fd: SceUid, offset: i64, whence: IoWhence) -> i64;
33392add0d91Sopenharmony_ci    pub fn sceIoLseekAsync(fd: SceUid, offset: i64, whence: IoWhence) -> i32;
33402add0d91Sopenharmony_ci    pub fn sceIoLseek32(fd: SceUid, offset: i32, whence: IoWhence) -> i32;
33412add0d91Sopenharmony_ci    pub fn sceIoLseek32Async(fd: SceUid, offset: i32, whence: IoWhence) -> i32;
33422add0d91Sopenharmony_ci    pub fn sceIoRemove(file: *const u8) -> i32;
33432add0d91Sopenharmony_ci    pub fn sceIoMkdir(dir: *const u8, mode: IoPermissions) -> i32;
33442add0d91Sopenharmony_ci    pub fn sceIoRmdir(path: *const u8) -> i32;
33452add0d91Sopenharmony_ci    pub fn sceIoChdir(path: *const u8) -> i32;
33462add0d91Sopenharmony_ci    pub fn sceIoRename(oldname: *const u8, newname: *const u8) -> i32;
33472add0d91Sopenharmony_ci    pub fn sceIoDopen(dirname: *const u8) -> SceUid;
33482add0d91Sopenharmony_ci    pub fn sceIoDread(fd: SceUid, dir: *mut SceIoDirent) -> i32;
33492add0d91Sopenharmony_ci    pub fn sceIoDclose(fd: SceUid) -> i32;
33502add0d91Sopenharmony_ci    pub fn sceIoDevctl(
33512add0d91Sopenharmony_ci        dev: *const u8,
33522add0d91Sopenharmony_ci        cmd: u32,
33532add0d91Sopenharmony_ci        indata: *mut c_void,
33542add0d91Sopenharmony_ci        inlen: i32,
33552add0d91Sopenharmony_ci        outdata: *mut c_void,
33562add0d91Sopenharmony_ci        outlen: i32,
33572add0d91Sopenharmony_ci    ) -> i32;
33582add0d91Sopenharmony_ci    pub fn sceIoAssign(
33592add0d91Sopenharmony_ci        dev1: *const u8,
33602add0d91Sopenharmony_ci        dev2: *const u8,
33612add0d91Sopenharmony_ci        dev3: *const u8,
33622add0d91Sopenharmony_ci        mode: IoAssignPerms,
33632add0d91Sopenharmony_ci        unk1: *mut c_void,
33642add0d91Sopenharmony_ci        unk2: i32,
33652add0d91Sopenharmony_ci    ) -> i32;
33662add0d91Sopenharmony_ci    pub fn sceIoUnassign(dev: *const u8) -> i32;
33672add0d91Sopenharmony_ci    pub fn sceIoGetstat(file: *const u8, stat: *mut SceIoStat) -> i32;
33682add0d91Sopenharmony_ci    pub fn sceIoChstat(file: *const u8, stat: *mut SceIoStat, bits: i32) -> i32;
33692add0d91Sopenharmony_ci    pub fn sceIoIoctl(
33702add0d91Sopenharmony_ci        fd: SceUid,
33712add0d91Sopenharmony_ci        cmd: u32,
33722add0d91Sopenharmony_ci        indata: *mut c_void,
33732add0d91Sopenharmony_ci        inlen: i32,
33742add0d91Sopenharmony_ci        outdata: *mut c_void,
33752add0d91Sopenharmony_ci        outlen: i32,
33762add0d91Sopenharmony_ci    ) -> i32;
33772add0d91Sopenharmony_ci    pub fn sceIoIoctlAsync(
33782add0d91Sopenharmony_ci        fd: SceUid,
33792add0d91Sopenharmony_ci        cmd: u32,
33802add0d91Sopenharmony_ci        indata: *mut c_void,
33812add0d91Sopenharmony_ci        inlen: i32,
33822add0d91Sopenharmony_ci        outdata: *mut c_void,
33832add0d91Sopenharmony_ci        outlen: i32,
33842add0d91Sopenharmony_ci    ) -> i32;
33852add0d91Sopenharmony_ci    pub fn sceIoSync(device: *const u8, unk: u32) -> i32;
33862add0d91Sopenharmony_ci    pub fn sceIoWaitAsync(fd: SceUid, res: *mut i64) -> i32;
33872add0d91Sopenharmony_ci    pub fn sceIoWaitAsyncCB(fd: SceUid, res: *mut i64) -> i32;
33882add0d91Sopenharmony_ci    pub fn sceIoPollAsync(fd: SceUid, res: *mut i64) -> i32;
33892add0d91Sopenharmony_ci    pub fn sceIoGetAsyncStat(fd: SceUid, poll: i32, res: *mut i64) -> i32;
33902add0d91Sopenharmony_ci    pub fn sceIoCancel(fd: SceUid) -> i32;
33912add0d91Sopenharmony_ci    pub fn sceIoGetDevType(fd: SceUid) -> i32;
33922add0d91Sopenharmony_ci    pub fn sceIoChangeAsyncPriority(fd: SceUid, pri: i32) -> i32;
33932add0d91Sopenharmony_ci    pub fn sceIoSetAsyncCallback(fd: SceUid, cb: SceUid, argp: *mut c_void) -> i32;
33942add0d91Sopenharmony_ci
33952add0d91Sopenharmony_ci    pub fn sceJpegInitMJpeg() -> i32;
33962add0d91Sopenharmony_ci    pub fn sceJpegFinishMJpeg() -> i32;
33972add0d91Sopenharmony_ci    pub fn sceJpegCreateMJpeg(width: i32, height: i32) -> i32;
33982add0d91Sopenharmony_ci    pub fn sceJpegDeleteMJpeg() -> i32;
33992add0d91Sopenharmony_ci    pub fn sceJpegDecodeMJpeg(jpeg_buf: *mut u8, size: usize, rgba: *mut c_void, unk: u32) -> i32;
34002add0d91Sopenharmony_ci
34012add0d91Sopenharmony_ci    pub fn sceUmdCheckMedium() -> i32;
34022add0d91Sopenharmony_ci    pub fn sceUmdGetDiscInfo(info: *mut UmdInfo) -> i32;
34032add0d91Sopenharmony_ci    pub fn sceUmdActivate(unit: i32, drive: *const u8) -> i32;
34042add0d91Sopenharmony_ci    pub fn sceUmdDeactivate(unit: i32, drive: *const u8) -> i32;
34052add0d91Sopenharmony_ci    pub fn sceUmdWaitDriveStat(state: i32) -> i32;
34062add0d91Sopenharmony_ci    pub fn sceUmdWaitDriveStatWithTimer(state: i32, timeout: u32) -> i32;
34072add0d91Sopenharmony_ci    pub fn sceUmdWaitDriveStatCB(state: i32, timeout: u32) -> i32;
34082add0d91Sopenharmony_ci    pub fn sceUmdCancelWaitDriveStat() -> i32;
34092add0d91Sopenharmony_ci    pub fn sceUmdGetDriveStat() -> i32;
34102add0d91Sopenharmony_ci    pub fn sceUmdGetErrorStat() -> i32;
34112add0d91Sopenharmony_ci    pub fn sceUmdRegisterUMDCallBack(cbid: i32) -> i32;
34122add0d91Sopenharmony_ci    pub fn sceUmdUnRegisterUMDCallBack(cbid: i32) -> i32;
34132add0d91Sopenharmony_ci    pub fn sceUmdReplacePermit() -> i32;
34142add0d91Sopenharmony_ci    pub fn sceUmdReplaceProhibit() -> i32;
34152add0d91Sopenharmony_ci
34162add0d91Sopenharmony_ci    pub fn sceMpegInit() -> i32;
34172add0d91Sopenharmony_ci    pub fn sceMpegFinish();
34182add0d91Sopenharmony_ci    pub fn sceMpegRingbufferQueryMemSize(packets: i32) -> i32;
34192add0d91Sopenharmony_ci    pub fn sceMpegRingbufferConstruct(
34202add0d91Sopenharmony_ci        ringbuffer: *mut SceMpegRingbuffer,
34212add0d91Sopenharmony_ci        packets: i32,
34222add0d91Sopenharmony_ci        data: *mut c_void,
34232add0d91Sopenharmony_ci        size: i32,
34242add0d91Sopenharmony_ci        callback: SceMpegRingbufferCb,
34252add0d91Sopenharmony_ci        cb_param: *mut c_void,
34262add0d91Sopenharmony_ci    ) -> i32;
34272add0d91Sopenharmony_ci    pub fn sceMpegRingbufferDestruct(ringbuffer: *mut SceMpegRingbuffer);
34282add0d91Sopenharmony_ci    pub fn sceMpegRingbufferAvailableSize(ringbuffer: *mut SceMpegRingbuffer) -> i32;
34292add0d91Sopenharmony_ci    pub fn sceMpegRingbufferPut(
34302add0d91Sopenharmony_ci        ringbuffer: *mut SceMpegRingbuffer,
34312add0d91Sopenharmony_ci        num_packets: i32,
34322add0d91Sopenharmony_ci        available: i32,
34332add0d91Sopenharmony_ci    ) -> i32;
34342add0d91Sopenharmony_ci    pub fn sceMpegQueryMemSize(unk: i32) -> i32;
34352add0d91Sopenharmony_ci    pub fn sceMpegCreate(
34362add0d91Sopenharmony_ci        handle: SceMpeg,
34372add0d91Sopenharmony_ci        data: *mut c_void,
34382add0d91Sopenharmony_ci        size: i32,
34392add0d91Sopenharmony_ci        ringbuffer: *mut SceMpegRingbuffer,
34402add0d91Sopenharmony_ci        frame_width: i32,
34412add0d91Sopenharmony_ci        unk1: i32,
34422add0d91Sopenharmony_ci        unk2: i32,
34432add0d91Sopenharmony_ci    ) -> i32;
34442add0d91Sopenharmony_ci    pub fn sceMpegDelete(handle: SceMpeg);
34452add0d91Sopenharmony_ci    pub fn sceMpegQueryStreamOffset(handle: SceMpeg, buffer: *mut c_void, offset: *mut i32) -> i32;
34462add0d91Sopenharmony_ci    pub fn sceMpegQueryStreamSize(buffer: *mut c_void, size: *mut i32) -> i32;
34472add0d91Sopenharmony_ci    pub fn sceMpegRegistStream(handle: SceMpeg, stream_id: i32, unk: i32) -> SceMpegStream;
34482add0d91Sopenharmony_ci    pub fn sceMpegUnRegistStream(handle: SceMpeg, stream: SceMpegStream);
34492add0d91Sopenharmony_ci    pub fn sceMpegFlushAllStream(handle: SceMpeg) -> i32;
34502add0d91Sopenharmony_ci    pub fn sceMpegMallocAvcEsBuf(handle: SceMpeg) -> *mut c_void;
34512add0d91Sopenharmony_ci    pub fn sceMpegFreeAvcEsBuf(handle: SceMpeg, buf: *mut c_void);
34522add0d91Sopenharmony_ci    pub fn sceMpegQueryAtracEsSize(handle: SceMpeg, es_size: *mut i32, out_size: *mut i32) -> i32;
34532add0d91Sopenharmony_ci    pub fn sceMpegInitAu(handle: SceMpeg, es_buffer: *mut c_void, au: *mut SceMpegAu) -> i32;
34542add0d91Sopenharmony_ci    pub fn sceMpegGetAvcAu(
34552add0d91Sopenharmony_ci        handle: SceMpeg,
34562add0d91Sopenharmony_ci        stream: SceMpegStream,
34572add0d91Sopenharmony_ci        au: *mut SceMpegAu,
34582add0d91Sopenharmony_ci        unk: *mut i32,
34592add0d91Sopenharmony_ci    ) -> i32;
34602add0d91Sopenharmony_ci    pub fn sceMpegAvcDecodeMode(handle: SceMpeg, mode: *mut SceMpegAvcMode) -> i32;
34612add0d91Sopenharmony_ci    pub fn sceMpegAvcDecode(
34622add0d91Sopenharmony_ci        handle: SceMpeg,
34632add0d91Sopenharmony_ci        au: *mut SceMpegAu,
34642add0d91Sopenharmony_ci        iframe_width: i32,
34652add0d91Sopenharmony_ci        buffer: *mut c_void,
34662add0d91Sopenharmony_ci        init: *mut i32,
34672add0d91Sopenharmony_ci    ) -> i32;
34682add0d91Sopenharmony_ci    pub fn sceMpegAvcDecodeStop(
34692add0d91Sopenharmony_ci        handle: SceMpeg,
34702add0d91Sopenharmony_ci        frame_width: i32,
34712add0d91Sopenharmony_ci        buffer: *mut c_void,
34722add0d91Sopenharmony_ci        status: *mut i32,
34732add0d91Sopenharmony_ci    ) -> i32;
34742add0d91Sopenharmony_ci    pub fn sceMpegGetAtracAu(
34752add0d91Sopenharmony_ci        handle: SceMpeg,
34762add0d91Sopenharmony_ci        stream: SceMpegStream,
34772add0d91Sopenharmony_ci        au: *mut SceMpegAu,
34782add0d91Sopenharmony_ci        unk: *mut c_void,
34792add0d91Sopenharmony_ci    ) -> i32;
34802add0d91Sopenharmony_ci    pub fn sceMpegAtracDecode(
34812add0d91Sopenharmony_ci        handle: SceMpeg,
34822add0d91Sopenharmony_ci        au: *mut SceMpegAu,
34832add0d91Sopenharmony_ci        buffer: *mut c_void,
34842add0d91Sopenharmony_ci        init: i32,
34852add0d91Sopenharmony_ci    ) -> i32;
34862add0d91Sopenharmony_ci
34872add0d91Sopenharmony_ci    pub fn sceMpegBaseYCrCbCopyVme(yuv_buffer: *mut c_void, buffer: *mut i32, type_: i32) -> i32;
34882add0d91Sopenharmony_ci    pub fn sceMpegBaseCscInit(width: i32) -> i32;
34892add0d91Sopenharmony_ci    pub fn sceMpegBaseCscVme(
34902add0d91Sopenharmony_ci        rgb_buffer: *mut c_void,
34912add0d91Sopenharmony_ci        rgb_buffer2: *mut c_void,
34922add0d91Sopenharmony_ci        width: i32,
34932add0d91Sopenharmony_ci        y_cr_cb_buffer: *mut SceMpegYCrCbBuffer,
34942add0d91Sopenharmony_ci    ) -> i32;
34952add0d91Sopenharmony_ci    pub fn sceMpegbase_BEA18F91(lli: *mut SceMpegLLI) -> i32;
34962add0d91Sopenharmony_ci
34972add0d91Sopenharmony_ci    pub fn sceHprmPeekCurrentKey(key: *mut i32) -> i32;
34982add0d91Sopenharmony_ci    pub fn sceHprmPeekLatch(latch: *mut [u32; 4]) -> i32;
34992add0d91Sopenharmony_ci    pub fn sceHprmReadLatch(latch: *mut [u32; 4]) -> i32;
35002add0d91Sopenharmony_ci    pub fn sceHprmIsHeadphoneExist() -> i32;
35012add0d91Sopenharmony_ci    pub fn sceHprmIsRemoteExist() -> i32;
35022add0d91Sopenharmony_ci    pub fn sceHprmIsMicrophoneExist() -> i32;
35032add0d91Sopenharmony_ci
35042add0d91Sopenharmony_ci    pub fn sceGuDepthBuffer(zbp: *mut c_void, zbw: i32);
35052add0d91Sopenharmony_ci    pub fn sceGuDispBuffer(width: i32, height: i32, dispbp: *mut c_void, dispbw: i32);
35062add0d91Sopenharmony_ci    pub fn sceGuDrawBuffer(psm: DisplayPixelFormat, fbp: *mut c_void, fbw: i32);
35072add0d91Sopenharmony_ci    pub fn sceGuDrawBufferList(psm: DisplayPixelFormat, fbp: *mut c_void, fbw: i32);
35082add0d91Sopenharmony_ci    pub fn sceGuDisplay(state: bool) -> bool;
35092add0d91Sopenharmony_ci    pub fn sceGuDepthFunc(function: DepthFunc);
35102add0d91Sopenharmony_ci    pub fn sceGuDepthMask(mask: i32);
35112add0d91Sopenharmony_ci    pub fn sceGuDepthOffset(offset: i32);
35122add0d91Sopenharmony_ci    pub fn sceGuDepthRange(near: i32, far: i32);
35132add0d91Sopenharmony_ci    pub fn sceGuFog(near: f32, far: f32, color: u32);
35142add0d91Sopenharmony_ci    pub fn sceGuInit();
35152add0d91Sopenharmony_ci    pub fn sceGuTerm();
35162add0d91Sopenharmony_ci    pub fn sceGuBreak(mode: i32);
35172add0d91Sopenharmony_ci    pub fn sceGuContinue();
35182add0d91Sopenharmony_ci    pub fn sceGuSetCallback(signal: GuCallbackId, callback: GuCallback) -> GuCallback;
35192add0d91Sopenharmony_ci    pub fn sceGuSignal(behavior: SignalBehavior, signal: i32);
35202add0d91Sopenharmony_ci    pub fn sceGuSendCommandf(cmd: GeCommand, argument: f32);
35212add0d91Sopenharmony_ci    pub fn sceGuSendCommandi(cmd: GeCommand, argument: i32);
35222add0d91Sopenharmony_ci    pub fn sceGuGetMemory(size: i32) -> *mut c_void;
35232add0d91Sopenharmony_ci    pub fn sceGuStart(context_type: GuContextType, list: *mut c_void);
35242add0d91Sopenharmony_ci    pub fn sceGuFinish() -> i32;
35252add0d91Sopenharmony_ci    pub fn sceGuFinishId(id: u32) -> i32;
35262add0d91Sopenharmony_ci    pub fn sceGuCallList(list: *const c_void);
35272add0d91Sopenharmony_ci    pub fn sceGuCallMode(mode: i32);
35282add0d91Sopenharmony_ci    pub fn sceGuCheckList() -> i32;
35292add0d91Sopenharmony_ci    pub fn sceGuSendList(mode: GuQueueMode, list: *const c_void, context: *mut GeContext);
35302add0d91Sopenharmony_ci    pub fn sceGuSwapBuffers() -> *mut c_void;
35312add0d91Sopenharmony_ci    pub fn sceGuSync(mode: GuSyncMode, behavior: GuSyncBehavior) -> GeListState;
35322add0d91Sopenharmony_ci    pub fn sceGuDrawArray(
35332add0d91Sopenharmony_ci        prim: GuPrimitive,
35342add0d91Sopenharmony_ci        vtype: i32,
35352add0d91Sopenharmony_ci        count: i32,
35362add0d91Sopenharmony_ci        indices: *const c_void,
35372add0d91Sopenharmony_ci        vertices: *const c_void,
35382add0d91Sopenharmony_ci    );
35392add0d91Sopenharmony_ci    pub fn sceGuBeginObject(
35402add0d91Sopenharmony_ci        vtype: i32,
35412add0d91Sopenharmony_ci        count: i32,
35422add0d91Sopenharmony_ci        indices: *const c_void,
35432add0d91Sopenharmony_ci        vertices: *const c_void,
35442add0d91Sopenharmony_ci    );
35452add0d91Sopenharmony_ci    pub fn sceGuEndObject();
35462add0d91Sopenharmony_ci    pub fn sceGuSetStatus(state: GuState, status: i32);
35472add0d91Sopenharmony_ci    pub fn sceGuGetStatus(state: GuState) -> bool;
35482add0d91Sopenharmony_ci    pub fn sceGuSetAllStatus(status: i32);
35492add0d91Sopenharmony_ci    pub fn sceGuGetAllStatus() -> i32;
35502add0d91Sopenharmony_ci    pub fn sceGuEnable(state: GuState);
35512add0d91Sopenharmony_ci    pub fn sceGuDisable(state: GuState);
35522add0d91Sopenharmony_ci    pub fn sceGuLight(light: i32, type_: LightType, components: i32, position: &ScePspFVector3);
35532add0d91Sopenharmony_ci    pub fn sceGuLightAtt(light: i32, atten0: f32, atten1: f32, atten2: f32);
35542add0d91Sopenharmony_ci    pub fn sceGuLightColor(light: i32, component: i32, color: u32);
35552add0d91Sopenharmony_ci    pub fn sceGuLightMode(mode: LightMode);
35562add0d91Sopenharmony_ci    pub fn sceGuLightSpot(light: i32, direction: &ScePspFVector3, exponent: f32, cutoff: f32);
35572add0d91Sopenharmony_ci    pub fn sceGuClear(flags: i32);
35582add0d91Sopenharmony_ci    pub fn sceGuClearColor(color: u32);
35592add0d91Sopenharmony_ci    pub fn sceGuClearDepth(depth: u32);
35602add0d91Sopenharmony_ci    pub fn sceGuClearStencil(stencil: u32);
35612add0d91Sopenharmony_ci    pub fn sceGuPixelMask(mask: u32);
35622add0d91Sopenharmony_ci    pub fn sceGuColor(color: u32);
35632add0d91Sopenharmony_ci    pub fn sceGuColorFunc(func: ColorFunc, color: u32, mask: u32);
35642add0d91Sopenharmony_ci    pub fn sceGuColorMaterial(components: i32);
35652add0d91Sopenharmony_ci    pub fn sceGuAlphaFunc(func: AlphaFunc, value: i32, mask: i32);
35662add0d91Sopenharmony_ci    pub fn sceGuAmbient(color: u32);
35672add0d91Sopenharmony_ci    pub fn sceGuAmbientColor(color: u32);
35682add0d91Sopenharmony_ci    pub fn sceGuBlendFunc(op: BlendOp, src: BlendSrc, dest: BlendDst, src_fix: u32, dest_fix: u32);
35692add0d91Sopenharmony_ci    pub fn sceGuMaterial(components: i32, color: u32);
35702add0d91Sopenharmony_ci    pub fn sceGuModelColor(emissive: u32, ambient: u32, diffuse: u32, specular: u32);
35712add0d91Sopenharmony_ci    pub fn sceGuStencilFunc(func: StencilFunc, ref_: i32, mask: i32);
35722add0d91Sopenharmony_ci    pub fn sceGuStencilOp(fail: StencilOperation, zfail: StencilOperation, zpass: StencilOperation);
35732add0d91Sopenharmony_ci    pub fn sceGuSpecular(power: f32);
35742add0d91Sopenharmony_ci    pub fn sceGuFrontFace(order: FrontFaceDirection);
35752add0d91Sopenharmony_ci    pub fn sceGuLogicalOp(op: LogicalOperation);
35762add0d91Sopenharmony_ci    pub fn sceGuSetDither(matrix: &ScePspIMatrix4);
35772add0d91Sopenharmony_ci    pub fn sceGuShadeModel(mode: ShadingModel);
35782add0d91Sopenharmony_ci    pub fn sceGuCopyImage(
35792add0d91Sopenharmony_ci        psm: DisplayPixelFormat,
35802add0d91Sopenharmony_ci        sx: i32,
35812add0d91Sopenharmony_ci        sy: i32,
35822add0d91Sopenharmony_ci        width: i32,
35832add0d91Sopenharmony_ci        height: i32,
35842add0d91Sopenharmony_ci        srcw: i32,
35852add0d91Sopenharmony_ci        src: *mut c_void,
35862add0d91Sopenharmony_ci        dx: i32,
35872add0d91Sopenharmony_ci        dy: i32,
35882add0d91Sopenharmony_ci        destw: i32,
35892add0d91Sopenharmony_ci        dest: *mut c_void,
35902add0d91Sopenharmony_ci    );
35912add0d91Sopenharmony_ci    pub fn sceGuTexEnvColor(color: u32);
35922add0d91Sopenharmony_ci    pub fn sceGuTexFilter(min: TextureFilter, mag: TextureFilter);
35932add0d91Sopenharmony_ci    pub fn sceGuTexFlush();
35942add0d91Sopenharmony_ci    pub fn sceGuTexFunc(tfx: TextureEffect, tcc: TextureColorComponent);
35952add0d91Sopenharmony_ci    pub fn sceGuTexImage(
35962add0d91Sopenharmony_ci        mipmap: MipmapLevel,
35972add0d91Sopenharmony_ci        width: i32,
35982add0d91Sopenharmony_ci        height: i32,
35992add0d91Sopenharmony_ci        tbw: i32,
36002add0d91Sopenharmony_ci        tbp: *const c_void,
36012add0d91Sopenharmony_ci    );
36022add0d91Sopenharmony_ci    pub fn sceGuTexLevelMode(mode: TextureLevelMode, bias: f32);
36032add0d91Sopenharmony_ci    pub fn sceGuTexMapMode(mode: TextureMapMode, a1: u32, a2: u32);
36042add0d91Sopenharmony_ci    pub fn sceGuTexMode(tpsm: TexturePixelFormat, maxmips: i32, a2: i32, swizzle: i32);
36052add0d91Sopenharmony_ci    pub fn sceGuTexOffset(u: f32, v: f32);
36062add0d91Sopenharmony_ci    pub fn sceGuTexProjMapMode(mode: TextureProjectionMapMode);
36072add0d91Sopenharmony_ci    pub fn sceGuTexScale(u: f32, v: f32);
36082add0d91Sopenharmony_ci    pub fn sceGuTexSlope(slope: f32);
36092add0d91Sopenharmony_ci    pub fn sceGuTexSync();
36102add0d91Sopenharmony_ci    pub fn sceGuTexWrap(u: GuTexWrapMode, v: GuTexWrapMode);
36112add0d91Sopenharmony_ci    pub fn sceGuClutLoad(num_blocks: i32, cbp: *const c_void);
36122add0d91Sopenharmony_ci    pub fn sceGuClutMode(cpsm: ClutPixelFormat, shift: u32, mask: u32, a3: u32);
36132add0d91Sopenharmony_ci    pub fn sceGuOffset(x: u32, y: u32);
36142add0d91Sopenharmony_ci    pub fn sceGuScissor(x: i32, y: i32, w: i32, h: i32);
36152add0d91Sopenharmony_ci    pub fn sceGuViewport(cx: i32, cy: i32, width: i32, height: i32);
36162add0d91Sopenharmony_ci    pub fn sceGuDrawBezier(
36172add0d91Sopenharmony_ci        v_type: i32,
36182add0d91Sopenharmony_ci        u_count: i32,
36192add0d91Sopenharmony_ci        v_count: i32,
36202add0d91Sopenharmony_ci        indices: *const c_void,
36212add0d91Sopenharmony_ci        vertices: *const c_void,
36222add0d91Sopenharmony_ci    );
36232add0d91Sopenharmony_ci    pub fn sceGuPatchDivide(ulevel: u32, vlevel: u32);
36242add0d91Sopenharmony_ci    pub fn sceGuPatchFrontFace(a0: u32);
36252add0d91Sopenharmony_ci    pub fn sceGuPatchPrim(prim: PatchPrimitive);
36262add0d91Sopenharmony_ci    pub fn sceGuDrawSpline(
36272add0d91Sopenharmony_ci        v_type: i32,
36282add0d91Sopenharmony_ci        u_count: i32,
36292add0d91Sopenharmony_ci        v_count: i32,
36302add0d91Sopenharmony_ci        u_edge: i32,
36312add0d91Sopenharmony_ci        v_edge: i32,
36322add0d91Sopenharmony_ci        indices: *const c_void,
36332add0d91Sopenharmony_ci        vertices: *const c_void,
36342add0d91Sopenharmony_ci    );
36352add0d91Sopenharmony_ci    pub fn sceGuSetMatrix(type_: MatrixMode, matrix: &ScePspFMatrix4);
36362add0d91Sopenharmony_ci    pub fn sceGuBoneMatrix(index: u32, matrix: &ScePspFMatrix4);
36372add0d91Sopenharmony_ci    pub fn sceGuMorphWeight(index: i32, weight: f32);
36382add0d91Sopenharmony_ci    pub fn sceGuDrawArrayN(
36392add0d91Sopenharmony_ci        primitive_type: GuPrimitive,
36402add0d91Sopenharmony_ci        v_type: i32,
36412add0d91Sopenharmony_ci        count: i32,
36422add0d91Sopenharmony_ci        a3: i32,
36432add0d91Sopenharmony_ci        indices: *const c_void,
36442add0d91Sopenharmony_ci        vertices: *const c_void,
36452add0d91Sopenharmony_ci    );
36462add0d91Sopenharmony_ci
36472add0d91Sopenharmony_ci    pub fn sceGumDrawArray(
36482add0d91Sopenharmony_ci        prim: GuPrimitive,
36492add0d91Sopenharmony_ci        v_type: i32,
36502add0d91Sopenharmony_ci        count: i32,
36512add0d91Sopenharmony_ci        indices: *const c_void,
36522add0d91Sopenharmony_ci        vertices: *const c_void,
36532add0d91Sopenharmony_ci    );
36542add0d91Sopenharmony_ci    pub fn sceGumDrawArrayN(
36552add0d91Sopenharmony_ci        prim: GuPrimitive,
36562add0d91Sopenharmony_ci        v_type: i32,
36572add0d91Sopenharmony_ci        count: i32,
36582add0d91Sopenharmony_ci        a3: i32,
36592add0d91Sopenharmony_ci        indices: *const c_void,
36602add0d91Sopenharmony_ci        vertices: *const c_void,
36612add0d91Sopenharmony_ci    );
36622add0d91Sopenharmony_ci    pub fn sceGumDrawBezier(
36632add0d91Sopenharmony_ci        v_type: i32,
36642add0d91Sopenharmony_ci        u_count: i32,
36652add0d91Sopenharmony_ci        v_count: i32,
36662add0d91Sopenharmony_ci        indices: *const c_void,
36672add0d91Sopenharmony_ci        vertices: *const c_void,
36682add0d91Sopenharmony_ci    );
36692add0d91Sopenharmony_ci    pub fn sceGumDrawSpline(
36702add0d91Sopenharmony_ci        v_type: i32,
36712add0d91Sopenharmony_ci        u_count: i32,
36722add0d91Sopenharmony_ci        v_count: i32,
36732add0d91Sopenharmony_ci        u_edge: i32,
36742add0d91Sopenharmony_ci        v_edge: i32,
36752add0d91Sopenharmony_ci        indices: *const c_void,
36762add0d91Sopenharmony_ci        vertices: *const c_void,
36772add0d91Sopenharmony_ci    );
36782add0d91Sopenharmony_ci    pub fn sceGumFastInverse();
36792add0d91Sopenharmony_ci    pub fn sceGumFullInverse();
36802add0d91Sopenharmony_ci    pub fn sceGumLoadIdentity();
36812add0d91Sopenharmony_ci    pub fn sceGumLoadMatrix(m: &ScePspFMatrix4);
36822add0d91Sopenharmony_ci    pub fn sceGumLookAt(eye: &ScePspFVector3, center: &ScePspFVector3, up: &ScePspFVector3);
36832add0d91Sopenharmony_ci    pub fn sceGumMatrixMode(mode: MatrixMode);
36842add0d91Sopenharmony_ci    pub fn sceGumMultMatrix(m: &ScePspFMatrix4);
36852add0d91Sopenharmony_ci    pub fn sceGumOrtho(left: f32, right: f32, bottom: f32, top: f32, near: f32, far: f32);
36862add0d91Sopenharmony_ci    pub fn sceGumPerspective(fovy: f32, aspect: f32, near: f32, far: f32);
36872add0d91Sopenharmony_ci    pub fn sceGumPopMatrix();
36882add0d91Sopenharmony_ci    pub fn sceGumPushMatrix();
36892add0d91Sopenharmony_ci    pub fn sceGumRotateX(angle: f32);
36902add0d91Sopenharmony_ci    pub fn sceGumRotateY(angle: f32);
36912add0d91Sopenharmony_ci    pub fn sceGumRotateZ(angle: f32);
36922add0d91Sopenharmony_ci    pub fn sceGumRotateXYZ(v: &ScePspFVector3);
36932add0d91Sopenharmony_ci    pub fn sceGumRotateZYX(v: &ScePspFVector3);
36942add0d91Sopenharmony_ci    pub fn sceGumScale(v: &ScePspFVector3);
36952add0d91Sopenharmony_ci    pub fn sceGumStoreMatrix(m: &mut ScePspFMatrix4);
36962add0d91Sopenharmony_ci    pub fn sceGumTranslate(v: &ScePspFVector3);
36972add0d91Sopenharmony_ci    pub fn sceGumUpdateMatrix();
36982add0d91Sopenharmony_ci
36992add0d91Sopenharmony_ci    pub fn sceMp3ReserveMp3Handle(args: *mut SceMp3InitArg) -> i32;
37002add0d91Sopenharmony_ci    pub fn sceMp3ReleaseMp3Handle(handle: Mp3Handle) -> i32;
37012add0d91Sopenharmony_ci    pub fn sceMp3InitResource() -> i32;
37022add0d91Sopenharmony_ci    pub fn sceMp3TermResource() -> i32;
37032add0d91Sopenharmony_ci    pub fn sceMp3Init(handle: Mp3Handle) -> i32;
37042add0d91Sopenharmony_ci    pub fn sceMp3Decode(handle: Mp3Handle, dst: *mut *mut i16) -> i32;
37052add0d91Sopenharmony_ci    pub fn sceMp3GetInfoToAddStreamData(
37062add0d91Sopenharmony_ci        handle: Mp3Handle,
37072add0d91Sopenharmony_ci        dst: *mut *mut u8,
37082add0d91Sopenharmony_ci        to_write: *mut i32,
37092add0d91Sopenharmony_ci        src_pos: *mut i32,
37102add0d91Sopenharmony_ci    ) -> i32;
37112add0d91Sopenharmony_ci    pub fn sceMp3NotifyAddStreamData(handle: Mp3Handle, size: i32) -> i32;
37122add0d91Sopenharmony_ci    pub fn sceMp3CheckStreamDataNeeded(handle: Mp3Handle) -> i32;
37132add0d91Sopenharmony_ci    pub fn sceMp3SetLoopNum(handle: Mp3Handle, loop_: i32) -> i32;
37142add0d91Sopenharmony_ci    pub fn sceMp3GetLoopNum(handle: Mp3Handle) -> i32;
37152add0d91Sopenharmony_ci    pub fn sceMp3GetSumDecodedSample(handle: Mp3Handle) -> i32;
37162add0d91Sopenharmony_ci    pub fn sceMp3GetMaxOutputSample(handle: Mp3Handle) -> i32;
37172add0d91Sopenharmony_ci    pub fn sceMp3GetSamplingRate(handle: Mp3Handle) -> i32;
37182add0d91Sopenharmony_ci    pub fn sceMp3GetBitRate(handle: Mp3Handle) -> i32;
37192add0d91Sopenharmony_ci    pub fn sceMp3GetMp3ChannelNum(handle: Mp3Handle) -> i32;
37202add0d91Sopenharmony_ci    pub fn sceMp3ResetPlayPosition(handle: Mp3Handle) -> i32;
37212add0d91Sopenharmony_ci
37222add0d91Sopenharmony_ci    pub fn sceRegOpenRegistry(reg: *mut Key, mode: i32, handle: *mut RegHandle) -> i32;
37232add0d91Sopenharmony_ci    pub fn sceRegFlushRegistry(handle: RegHandle) -> i32;
37242add0d91Sopenharmony_ci    pub fn sceRegCloseRegistry(handle: RegHandle) -> i32;
37252add0d91Sopenharmony_ci    pub fn sceRegOpenCategory(
37262add0d91Sopenharmony_ci        handle: RegHandle,
37272add0d91Sopenharmony_ci        name: *const u8,
37282add0d91Sopenharmony_ci        mode: i32,
37292add0d91Sopenharmony_ci        dir_handle: *mut RegHandle,
37302add0d91Sopenharmony_ci    ) -> i32;
37312add0d91Sopenharmony_ci    pub fn sceRegRemoveCategory(handle: RegHandle, name: *const u8) -> i32;
37322add0d91Sopenharmony_ci    pub fn sceRegCloseCategory(dir_handle: RegHandle) -> i32;
37332add0d91Sopenharmony_ci    pub fn sceRegFlushCategory(dir_handle: RegHandle) -> i32;
37342add0d91Sopenharmony_ci    pub fn sceRegGetKeyInfo(
37352add0d91Sopenharmony_ci        dir_handle: RegHandle,
37362add0d91Sopenharmony_ci        name: *const u8,
37372add0d91Sopenharmony_ci        key_handle: *mut RegHandle,
37382add0d91Sopenharmony_ci        type_: *mut KeyType,
37392add0d91Sopenharmony_ci        size: *mut usize,
37402add0d91Sopenharmony_ci    ) -> i32;
37412add0d91Sopenharmony_ci    pub fn sceRegGetKeyInfoByName(
37422add0d91Sopenharmony_ci        dir_handle: RegHandle,
37432add0d91Sopenharmony_ci        name: *const u8,
37442add0d91Sopenharmony_ci        type_: *mut KeyType,
37452add0d91Sopenharmony_ci        size: *mut usize,
37462add0d91Sopenharmony_ci    ) -> i32;
37472add0d91Sopenharmony_ci    pub fn sceRegGetKeyValue(
37482add0d91Sopenharmony_ci        dir_handle: RegHandle,
37492add0d91Sopenharmony_ci        key_handle: RegHandle,
37502add0d91Sopenharmony_ci        buf: *mut c_void,
37512add0d91Sopenharmony_ci        size: usize,
37522add0d91Sopenharmony_ci    ) -> i32;
37532add0d91Sopenharmony_ci    pub fn sceRegGetKeyValueByName(
37542add0d91Sopenharmony_ci        dir_handle: RegHandle,
37552add0d91Sopenharmony_ci        name: *const u8,
37562add0d91Sopenharmony_ci        buf: *mut c_void,
37572add0d91Sopenharmony_ci        size: usize,
37582add0d91Sopenharmony_ci    ) -> i32;
37592add0d91Sopenharmony_ci    pub fn sceRegSetKeyValue(
37602add0d91Sopenharmony_ci        dir_handle: RegHandle,
37612add0d91Sopenharmony_ci        name: *const u8,
37622add0d91Sopenharmony_ci        buf: *const c_void,
37632add0d91Sopenharmony_ci        size: usize,
37642add0d91Sopenharmony_ci    ) -> i32;
37652add0d91Sopenharmony_ci    pub fn sceRegGetKeysNum(dir_handle: RegHandle, num: *mut i32) -> i32;
37662add0d91Sopenharmony_ci    pub fn sceRegGetKeys(dir_handle: RegHandle, buf: *mut u8, num: i32) -> i32;
37672add0d91Sopenharmony_ci    pub fn sceRegCreateKey(dir_handle: RegHandle, name: *const u8, type_: i32, size: usize) -> i32;
37682add0d91Sopenharmony_ci    pub fn sceRegRemoveRegistry(key: *mut Key) -> i32;
37692add0d91Sopenharmony_ci
37702add0d91Sopenharmony_ci    pub fn sceOpenPSIDGetOpenPSID(openpsid: *mut OpenPSID) -> i32;
37712add0d91Sopenharmony_ci
37722add0d91Sopenharmony_ci    pub fn sceUtilityMsgDialogInitStart(params: *mut UtilityMsgDialogParams) -> i32;
37732add0d91Sopenharmony_ci    pub fn sceUtilityMsgDialogShutdownStart();
37742add0d91Sopenharmony_ci    pub fn sceUtilityMsgDialogGetStatus() -> i32;
37752add0d91Sopenharmony_ci    pub fn sceUtilityMsgDialogUpdate(n: i32);
37762add0d91Sopenharmony_ci    pub fn sceUtilityMsgDialogAbort() -> i32;
37772add0d91Sopenharmony_ci    pub fn sceUtilityNetconfInitStart(data: *mut UtilityNetconfData) -> i32;
37782add0d91Sopenharmony_ci    pub fn sceUtilityNetconfShutdownStart() -> i32;
37792add0d91Sopenharmony_ci    pub fn sceUtilityNetconfUpdate(unknown: i32) -> i32;
37802add0d91Sopenharmony_ci    pub fn sceUtilityNetconfGetStatus() -> i32;
37812add0d91Sopenharmony_ci    pub fn sceUtilityCheckNetParam(id: i32) -> i32;
37822add0d91Sopenharmony_ci    pub fn sceUtilityGetNetParam(conf: i32, param: NetParam, data: *mut UtilityNetData) -> i32;
37832add0d91Sopenharmony_ci    pub fn sceUtilitySavedataInitStart(params: *mut SceUtilitySavedataParam) -> i32;
37842add0d91Sopenharmony_ci    pub fn sceUtilitySavedataGetStatus() -> i32;
37852add0d91Sopenharmony_ci    pub fn sceUtilitySavedataShutdownStart() -> i32;
37862add0d91Sopenharmony_ci    pub fn sceUtilitySavedataUpdate(unknown: i32);
37872add0d91Sopenharmony_ci    pub fn sceUtilityGameSharingInitStart(params: *mut UtilityGameSharingParams) -> i32;
37882add0d91Sopenharmony_ci    pub fn sceUtilityGameSharingShutdownStart();
37892add0d91Sopenharmony_ci    pub fn sceUtilityGameSharingGetStatus() -> i32;
37902add0d91Sopenharmony_ci    pub fn sceUtilityGameSharingUpdate(n: i32);
37912add0d91Sopenharmony_ci    pub fn sceUtilityHtmlViewerInitStart(params: *mut UtilityHtmlViewerParam) -> i32;
37922add0d91Sopenharmony_ci    pub fn sceUtilityHtmlViewerShutdownStart() -> i32;
37932add0d91Sopenharmony_ci    pub fn sceUtilityHtmlViewerUpdate(n: i32) -> i32;
37942add0d91Sopenharmony_ci    pub fn sceUtilityHtmlViewerGetStatus() -> i32;
37952add0d91Sopenharmony_ci    pub fn sceUtilitySetSystemParamInt(id: SystemParamId, value: i32) -> i32;
37962add0d91Sopenharmony_ci    pub fn sceUtilitySetSystemParamString(id: SystemParamId, str: *const u8) -> i32;
37972add0d91Sopenharmony_ci    pub fn sceUtilityGetSystemParamInt(id: SystemParamId, value: *mut i32) -> i32;
37982add0d91Sopenharmony_ci    pub fn sceUtilityGetSystemParamString(id: SystemParamId, str: *mut u8, len: i32) -> i32;
37992add0d91Sopenharmony_ci    pub fn sceUtilityOskInitStart(params: *mut SceUtilityOskParams) -> i32;
38002add0d91Sopenharmony_ci    pub fn sceUtilityOskShutdownStart() -> i32;
38012add0d91Sopenharmony_ci    pub fn sceUtilityOskUpdate(n: i32) -> i32;
38022add0d91Sopenharmony_ci    pub fn sceUtilityOskGetStatus() -> i32;
38032add0d91Sopenharmony_ci    pub fn sceUtilityLoadNetModule(module: NetModule) -> i32;
38042add0d91Sopenharmony_ci    pub fn sceUtilityUnloadNetModule(module: NetModule) -> i32;
38052add0d91Sopenharmony_ci    pub fn sceUtilityLoadAvModule(module: AvModule) -> i32;
38062add0d91Sopenharmony_ci    pub fn sceUtilityUnloadAvModule(module: AvModule) -> i32;
38072add0d91Sopenharmony_ci    pub fn sceUtilityLoadUsbModule(module: UsbModule) -> i32;
38082add0d91Sopenharmony_ci    pub fn sceUtilityUnloadUsbModule(module: UsbModule) -> i32;
38092add0d91Sopenharmony_ci    pub fn sceUtilityLoadModule(module: Module) -> i32;
38102add0d91Sopenharmony_ci    pub fn sceUtilityUnloadModule(module: Module) -> i32;
38112add0d91Sopenharmony_ci    pub fn sceUtilityCreateNetParam(conf: i32) -> i32;
38122add0d91Sopenharmony_ci    pub fn sceUtilitySetNetParam(param: NetParam, val: *const c_void) -> i32;
38132add0d91Sopenharmony_ci    pub fn sceUtilityCopyNetParam(src: i32, dest: i32) -> i32;
38142add0d91Sopenharmony_ci    pub fn sceUtilityDeleteNetParam(conf: i32) -> i32;
38152add0d91Sopenharmony_ci
38162add0d91Sopenharmony_ci    pub fn sceNetInit(
38172add0d91Sopenharmony_ci        poolsize: i32,
38182add0d91Sopenharmony_ci        calloutprio: i32,
38192add0d91Sopenharmony_ci        calloutstack: i32,
38202add0d91Sopenharmony_ci        netintrprio: i32,
38212add0d91Sopenharmony_ci        netintrstack: i32,
38222add0d91Sopenharmony_ci    ) -> i32;
38232add0d91Sopenharmony_ci    pub fn sceNetTerm() -> i32;
38242add0d91Sopenharmony_ci    pub fn sceNetFreeThreadinfo(thid: i32) -> i32;
38252add0d91Sopenharmony_ci    pub fn sceNetThreadAbort(thid: i32) -> i32;
38262add0d91Sopenharmony_ci    pub fn sceNetEtherStrton(name: *mut u8, mac: *mut u8);
38272add0d91Sopenharmony_ci    pub fn sceNetEtherNtostr(mac: *mut u8, name: *mut u8);
38282add0d91Sopenharmony_ci    pub fn sceNetGetLocalEtherAddr(mac: *mut u8) -> i32;
38292add0d91Sopenharmony_ci    pub fn sceNetGetMallocStat(stat: *mut SceNetMallocStat) -> i32;
38302add0d91Sopenharmony_ci
38312add0d91Sopenharmony_ci    pub fn sceNetAdhocctlInit(
38322add0d91Sopenharmony_ci        stacksize: i32,
38332add0d91Sopenharmony_ci        priority: i32,
38342add0d91Sopenharmony_ci        adhoc_id: *mut SceNetAdhocctlAdhocId,
38352add0d91Sopenharmony_ci    ) -> i32;
38362add0d91Sopenharmony_ci    pub fn sceNetAdhocctlTerm() -> i32;
38372add0d91Sopenharmony_ci    pub fn sceNetAdhocctlConnect(name: *const u8) -> i32;
38382add0d91Sopenharmony_ci    pub fn sceNetAdhocctlDisconnect() -> i32;
38392add0d91Sopenharmony_ci    pub fn sceNetAdhocctlGetState(event: *mut i32) -> i32;
38402add0d91Sopenharmony_ci    pub fn sceNetAdhocctlCreate(name: *const u8) -> i32;
38412add0d91Sopenharmony_ci    pub fn sceNetAdhocctlJoin(scaninfo: *mut SceNetAdhocctlScanInfo) -> i32;
38422add0d91Sopenharmony_ci    pub fn sceNetAdhocctlGetAdhocId(id: *mut SceNetAdhocctlAdhocId) -> i32;
38432add0d91Sopenharmony_ci    pub fn sceNetAdhocctlCreateEnterGameMode(
38442add0d91Sopenharmony_ci        name: *const u8,
38452add0d91Sopenharmony_ci        unknown: i32,
38462add0d91Sopenharmony_ci        num: i32,
38472add0d91Sopenharmony_ci        macs: *mut u8,
38482add0d91Sopenharmony_ci        timeout: u32,
38492add0d91Sopenharmony_ci        unknown2: i32,
38502add0d91Sopenharmony_ci    ) -> i32;
38512add0d91Sopenharmony_ci    pub fn sceNetAdhocctlJoinEnterGameMode(
38522add0d91Sopenharmony_ci        name: *const u8,
38532add0d91Sopenharmony_ci        hostmac: *mut u8,
38542add0d91Sopenharmony_ci        timeout: u32,
38552add0d91Sopenharmony_ci        unknown: i32,
38562add0d91Sopenharmony_ci    ) -> i32;
38572add0d91Sopenharmony_ci    pub fn sceNetAdhocctlGetGameModeInfo(gamemodeinfo: *mut SceNetAdhocctlGameModeInfo) -> i32;
38582add0d91Sopenharmony_ci    pub fn sceNetAdhocctlExitGameMode() -> i32;
38592add0d91Sopenharmony_ci    pub fn sceNetAdhocctlGetPeerList(length: *mut i32, buf: *mut c_void) -> i32;
38602add0d91Sopenharmony_ci    pub fn sceNetAdhocctlGetPeerInfo(
38612add0d91Sopenharmony_ci        mac: *mut u8,
38622add0d91Sopenharmony_ci        size: i32,
38632add0d91Sopenharmony_ci        peerinfo: *mut SceNetAdhocctlPeerInfo,
38642add0d91Sopenharmony_ci    ) -> i32;
38652add0d91Sopenharmony_ci    pub fn sceNetAdhocctlScan() -> i32;
38662add0d91Sopenharmony_ci    pub fn sceNetAdhocctlGetScanInfo(length: *mut i32, buf: *mut c_void) -> i32;
38672add0d91Sopenharmony_ci    pub fn sceNetAdhocctlAddHandler(handler: SceNetAdhocctlHandler, unknown: *mut c_void) -> i32;
38682add0d91Sopenharmony_ci    pub fn sceNetAdhocctlDelHandler(id: i32) -> i32;
38692add0d91Sopenharmony_ci    pub fn sceNetAdhocctlGetNameByAddr(mac: *mut u8, nickname: *mut u8) -> i32;
38702add0d91Sopenharmony_ci    pub fn sceNetAdhocctlGetAddrByName(
38712add0d91Sopenharmony_ci        nickname: *mut u8,
38722add0d91Sopenharmony_ci        length: *mut i32,
38732add0d91Sopenharmony_ci        buf: *mut c_void,
38742add0d91Sopenharmony_ci    ) -> i32;
38752add0d91Sopenharmony_ci    pub fn sceNetAdhocctlGetParameter(params: *mut SceNetAdhocctlParams) -> i32;
38762add0d91Sopenharmony_ci
38772add0d91Sopenharmony_ci    pub fn sceNetAdhocInit() -> i32;
38782add0d91Sopenharmony_ci    pub fn sceNetAdhocTerm() -> i32;
38792add0d91Sopenharmony_ci    pub fn sceNetAdhocPdpCreate(mac: *mut u8, port: u16, buf_size: u32, unk1: i32) -> i32;
38802add0d91Sopenharmony_ci    pub fn sceNetAdhocPdpDelete(id: i32, unk1: i32) -> i32;
38812add0d91Sopenharmony_ci    pub fn sceNetAdhocPdpSend(
38822add0d91Sopenharmony_ci        id: i32,
38832add0d91Sopenharmony_ci        dest_mac_addr: *mut u8,
38842add0d91Sopenharmony_ci        port: u16,
38852add0d91Sopenharmony_ci        data: *mut c_void,
38862add0d91Sopenharmony_ci        len: u32,
38872add0d91Sopenharmony_ci        timeout: u32,
38882add0d91Sopenharmony_ci        nonblock: i32,
38892add0d91Sopenharmony_ci    ) -> i32;
38902add0d91Sopenharmony_ci    pub fn sceNetAdhocPdpRecv(
38912add0d91Sopenharmony_ci        id: i32,
38922add0d91Sopenharmony_ci        src_mac_addr: *mut u8,
38932add0d91Sopenharmony_ci        port: *mut u16,
38942add0d91Sopenharmony_ci        data: *mut c_void,
38952add0d91Sopenharmony_ci        data_length: *mut c_void,
38962add0d91Sopenharmony_ci        timeout: u32,
38972add0d91Sopenharmony_ci        nonblock: i32,
38982add0d91Sopenharmony_ci    ) -> i32;
38992add0d91Sopenharmony_ci    pub fn sceNetAdhocGetPdpStat(size: *mut i32, stat: *mut SceNetAdhocPdpStat) -> i32;
39002add0d91Sopenharmony_ci    pub fn sceNetAdhocGameModeCreateMaster(data: *mut c_void, size: i32) -> i32;
39012add0d91Sopenharmony_ci    pub fn sceNetAdhocGameModeCreateReplica(mac: *mut u8, data: *mut c_void, size: i32) -> i32;
39022add0d91Sopenharmony_ci    pub fn sceNetAdhocGameModeUpdateMaster() -> i32;
39032add0d91Sopenharmony_ci    pub fn sceNetAdhocGameModeUpdateReplica(id: i32, unk1: i32) -> i32;
39042add0d91Sopenharmony_ci    pub fn sceNetAdhocGameModeDeleteMaster() -> i32;
39052add0d91Sopenharmony_ci    pub fn sceNetAdhocGameModeDeleteReplica(id: i32) -> i32;
39062add0d91Sopenharmony_ci    pub fn sceNetAdhocPtpOpen(
39072add0d91Sopenharmony_ci        srcmac: *mut u8,
39082add0d91Sopenharmony_ci        srcport: u16,
39092add0d91Sopenharmony_ci        destmac: *mut u8,
39102add0d91Sopenharmony_ci        destport: u16,
39112add0d91Sopenharmony_ci        buf_size: u32,
39122add0d91Sopenharmony_ci        delay: u32,
39132add0d91Sopenharmony_ci        count: i32,
39142add0d91Sopenharmony_ci        unk1: i32,
39152add0d91Sopenharmony_ci    ) -> i32;
39162add0d91Sopenharmony_ci    pub fn sceNetAdhocPtpConnect(id: i32, timeout: u32, nonblock: i32) -> i32;
39172add0d91Sopenharmony_ci    pub fn sceNetAdhocPtpListen(
39182add0d91Sopenharmony_ci        srcmac: *mut u8,
39192add0d91Sopenharmony_ci        srcport: u16,
39202add0d91Sopenharmony_ci        buf_size: u32,
39212add0d91Sopenharmony_ci        delay: u32,
39222add0d91Sopenharmony_ci        count: i32,
39232add0d91Sopenharmony_ci        queue: i32,
39242add0d91Sopenharmony_ci        unk1: i32,
39252add0d91Sopenharmony_ci    ) -> i32;
39262add0d91Sopenharmony_ci    pub fn sceNetAdhocPtpAccept(
39272add0d91Sopenharmony_ci        id: i32,
39282add0d91Sopenharmony_ci        mac: *mut u8,
39292add0d91Sopenharmony_ci        port: *mut u16,
39302add0d91Sopenharmony_ci        timeout: u32,
39312add0d91Sopenharmony_ci        nonblock: i32,
39322add0d91Sopenharmony_ci    ) -> i32;
39332add0d91Sopenharmony_ci    pub fn sceNetAdhocPtpSend(
39342add0d91Sopenharmony_ci        id: i32,
39352add0d91Sopenharmony_ci        data: *mut c_void,
39362add0d91Sopenharmony_ci        data_size: *mut i32,
39372add0d91Sopenharmony_ci        timeout: u32,
39382add0d91Sopenharmony_ci        nonblock: i32,
39392add0d91Sopenharmony_ci    ) -> i32;
39402add0d91Sopenharmony_ci    pub fn sceNetAdhocPtpRecv(
39412add0d91Sopenharmony_ci        id: i32,
39422add0d91Sopenharmony_ci        data: *mut c_void,
39432add0d91Sopenharmony_ci        data_size: *mut i32,
39442add0d91Sopenharmony_ci        timeout: u32,
39452add0d91Sopenharmony_ci        nonblock: i32,
39462add0d91Sopenharmony_ci    ) -> i32;
39472add0d91Sopenharmony_ci    pub fn sceNetAdhocPtpFlush(id: i32, timeout: u32, nonblock: i32) -> i32;
39482add0d91Sopenharmony_ci    pub fn sceNetAdhocPtpClose(id: i32, unk1: i32) -> i32;
39492add0d91Sopenharmony_ci    pub fn sceNetAdhocGetPtpStat(size: *mut i32, stat: *mut SceNetAdhocPtpStat) -> i32;
39502add0d91Sopenharmony_ci}
39512add0d91Sopenharmony_ci
39522add0d91Sopenharmony_ciextern "C" {
39532add0d91Sopenharmony_ci    pub fn sceNetAdhocMatchingInit(memsize: i32) -> i32;
39542add0d91Sopenharmony_ci    pub fn sceNetAdhocMatchingTerm() -> i32;
39552add0d91Sopenharmony_ci    pub fn sceNetAdhocMatchingCreate(
39562add0d91Sopenharmony_ci        mode: AdhocMatchingMode,
39572add0d91Sopenharmony_ci        max_peers: i32,
39582add0d91Sopenharmony_ci        port: u16,
39592add0d91Sopenharmony_ci        buf_size: i32,
39602add0d91Sopenharmony_ci        hello_delay: u32,
39612add0d91Sopenharmony_ci        ping_delay: u32,
39622add0d91Sopenharmony_ci        init_count: i32,
39632add0d91Sopenharmony_ci        msg_delay: u32,
39642add0d91Sopenharmony_ci        callback: AdhocMatchingCallback,
39652add0d91Sopenharmony_ci    ) -> i32;
39662add0d91Sopenharmony_ci    pub fn sceNetAdhocMatchingDelete(matching_id: i32) -> i32;
39672add0d91Sopenharmony_ci    pub fn sceNetAdhocMatchingStart(
39682add0d91Sopenharmony_ci        matching_id: i32,
39692add0d91Sopenharmony_ci        evth_pri: i32,
39702add0d91Sopenharmony_ci        evth_stack: i32,
39712add0d91Sopenharmony_ci        inth_pri: i32,
39722add0d91Sopenharmony_ci        inth_stack: i32,
39732add0d91Sopenharmony_ci        opt_len: i32,
39742add0d91Sopenharmony_ci        opt_data: *mut c_void,
39752add0d91Sopenharmony_ci    ) -> i32;
39762add0d91Sopenharmony_ci    pub fn sceNetAdhocMatchingStop(matching_id: i32) -> i32;
39772add0d91Sopenharmony_ci    pub fn sceNetAdhocMatchingSelectTarget(
39782add0d91Sopenharmony_ci        matching_id: i32,
39792add0d91Sopenharmony_ci        mac: *mut u8,
39802add0d91Sopenharmony_ci        opt_len: i32,
39812add0d91Sopenharmony_ci        opt_data: *mut c_void,
39822add0d91Sopenharmony_ci    ) -> i32;
39832add0d91Sopenharmony_ci    pub fn sceNetAdhocMatchingCancelTarget(matching_id: i32, mac: *mut u8) -> i32;
39842add0d91Sopenharmony_ci    pub fn sceNetAdhocMatchingCancelTargetWithOpt(
39852add0d91Sopenharmony_ci        matching_id: i32,
39862add0d91Sopenharmony_ci        mac: *mut u8,
39872add0d91Sopenharmony_ci        opt_len: i32,
39882add0d91Sopenharmony_ci        opt_data: *mut c_void,
39892add0d91Sopenharmony_ci    ) -> i32;
39902add0d91Sopenharmony_ci    pub fn sceNetAdhocMatchingSendData(
39912add0d91Sopenharmony_ci        matching_id: i32,
39922add0d91Sopenharmony_ci        mac: *mut u8,
39932add0d91Sopenharmony_ci        data_len: i32,
39942add0d91Sopenharmony_ci        data: *mut c_void,
39952add0d91Sopenharmony_ci    ) -> i32;
39962add0d91Sopenharmony_ci    pub fn sceNetAdhocMatchingAbortSendData(matching_id: i32, mac: *mut u8) -> i32;
39972add0d91Sopenharmony_ci    pub fn sceNetAdhocMatchingSetHelloOpt(
39982add0d91Sopenharmony_ci        matching_id: i32,
39992add0d91Sopenharmony_ci        opt_len: i32,
40002add0d91Sopenharmony_ci        opt_data: *mut c_void,
40012add0d91Sopenharmony_ci    ) -> i32;
40022add0d91Sopenharmony_ci    pub fn sceNetAdhocMatchingGetHelloOpt(
40032add0d91Sopenharmony_ci        matching_id: i32,
40042add0d91Sopenharmony_ci        opt_len: *mut i32,
40052add0d91Sopenharmony_ci        opt_data: *mut c_void,
40062add0d91Sopenharmony_ci    ) -> i32;
40072add0d91Sopenharmony_ci    pub fn sceNetAdhocMatchingGetMembers(
40082add0d91Sopenharmony_ci        matching_id: i32,
40092add0d91Sopenharmony_ci        length: *mut i32,
40102add0d91Sopenharmony_ci        buf: *mut c_void,
40112add0d91Sopenharmony_ci    ) -> i32;
40122add0d91Sopenharmony_ci    pub fn sceNetAdhocMatchingGetPoolMaxAlloc() -> i32;
40132add0d91Sopenharmony_ci    pub fn sceNetAdhocMatchingGetPoolStat(poolstat: *mut AdhocPoolStat) -> i32;
40142add0d91Sopenharmony_ci}
40152add0d91Sopenharmony_ci
40162add0d91Sopenharmony_ciextern "C" {
40172add0d91Sopenharmony_ci    pub fn sceNetApctlInit(stack_size: i32, init_priority: i32) -> i32;
40182add0d91Sopenharmony_ci    pub fn sceNetApctlTerm() -> i32;
40192add0d91Sopenharmony_ci    pub fn sceNetApctlGetInfo(code: ApctlInfo, pinfo: *mut SceNetApctlInfo) -> i32;
40202add0d91Sopenharmony_ci    pub fn sceNetApctlAddHandler(handler: SceNetApctlHandler, parg: *mut c_void) -> i32;
40212add0d91Sopenharmony_ci    pub fn sceNetApctlDelHandler(handler_id: i32) -> i32;
40222add0d91Sopenharmony_ci    pub fn sceNetApctlConnect(conn_index: i32) -> i32;
40232add0d91Sopenharmony_ci    pub fn sceNetApctlDisconnect() -> i32;
40242add0d91Sopenharmony_ci    pub fn sceNetApctlGetState(pstate: *mut ApctlState) -> i32;
40252add0d91Sopenharmony_ci
40262add0d91Sopenharmony_ci    pub fn sceNetInetInit() -> i32;
40272add0d91Sopenharmony_ci    pub fn sceNetInetTerm() -> i32;
40282add0d91Sopenharmony_ci    pub fn sceNetInetAccept(s: i32, addr: *mut sockaddr, addr_len: *mut socklen_t) -> i32;
40292add0d91Sopenharmony_ci    pub fn sceNetInetBind(s: i32, my_addr: *const sockaddr, addr_len: socklen_t) -> i32;
40302add0d91Sopenharmony_ci    pub fn sceNetInetConnect(s: i32, serv_addr: *const sockaddr, addr_len: socklen_t) -> i32;
40312add0d91Sopenharmony_ci    pub fn sceNetInetGetsockopt(
40322add0d91Sopenharmony_ci        s: i32,
40332add0d91Sopenharmony_ci        level: i32,
40342add0d91Sopenharmony_ci        opt_name: i32,
40352add0d91Sopenharmony_ci        opt_val: *mut c_void,
40362add0d91Sopenharmony_ci        optl_en: *mut socklen_t,
40372add0d91Sopenharmony_ci    ) -> i32;
40382add0d91Sopenharmony_ci    pub fn sceNetInetListen(s: i32, backlog: i32) -> i32;
40392add0d91Sopenharmony_ci    pub fn sceNetInetRecv(s: i32, buf: *mut c_void, len: usize, flags: i32) -> usize;
40402add0d91Sopenharmony_ci    pub fn sceNetInetRecvfrom(
40412add0d91Sopenharmony_ci        s: i32,
40422add0d91Sopenharmony_ci        buf: *mut c_void,
40432add0d91Sopenharmony_ci        flags: usize,
40442add0d91Sopenharmony_ci        arg1: i32,
40452add0d91Sopenharmony_ci        from: *mut sockaddr,
40462add0d91Sopenharmony_ci        from_len: *mut socklen_t,
40472add0d91Sopenharmony_ci    ) -> usize;
40482add0d91Sopenharmony_ci    pub fn sceNetInetSend(s: i32, buf: *const c_void, len: usize, flags: i32) -> usize;
40492add0d91Sopenharmony_ci    pub fn sceNetInetSendto(
40502add0d91Sopenharmony_ci        s: i32,
40512add0d91Sopenharmony_ci        buf: *const c_void,
40522add0d91Sopenharmony_ci        len: usize,
40532add0d91Sopenharmony_ci        flags: i32,
40542add0d91Sopenharmony_ci        to: *const sockaddr,
40552add0d91Sopenharmony_ci        to_len: socklen_t,
40562add0d91Sopenharmony_ci    ) -> usize;
40572add0d91Sopenharmony_ci    pub fn sceNetInetSetsockopt(
40582add0d91Sopenharmony_ci        s: i32,
40592add0d91Sopenharmony_ci        level: i32,
40602add0d91Sopenharmony_ci        opt_name: i32,
40612add0d91Sopenharmony_ci        opt_val: *const c_void,
40622add0d91Sopenharmony_ci        opt_len: socklen_t,
40632add0d91Sopenharmony_ci    ) -> i32;
40642add0d91Sopenharmony_ci    pub fn sceNetInetShutdown(s: i32, how: i32) -> i32;
40652add0d91Sopenharmony_ci    pub fn sceNetInetSocket(domain: i32, type_: i32, protocol: i32) -> i32;
40662add0d91Sopenharmony_ci    pub fn sceNetInetClose(s: i32) -> i32;
40672add0d91Sopenharmony_ci    pub fn sceNetInetGetErrno() -> i32;
40682add0d91Sopenharmony_ci
40692add0d91Sopenharmony_ci    pub fn sceSslInit(unknown1: i32) -> i32;
40702add0d91Sopenharmony_ci    pub fn sceSslEnd() -> i32;
40712add0d91Sopenharmony_ci    pub fn sceSslGetUsedMemoryMax(memory: *mut u32) -> i32;
40722add0d91Sopenharmony_ci    pub fn sceSslGetUsedMemoryCurrent(memory: *mut u32) -> i32;
40732add0d91Sopenharmony_ci
40742add0d91Sopenharmony_ci    pub fn sceHttpInit(unknown1: u32) -> i32;
40752add0d91Sopenharmony_ci    pub fn sceHttpEnd() -> i32;
40762add0d91Sopenharmony_ci    pub fn sceHttpCreateTemplate(agent: *mut u8, unknown1: i32, unknown2: i32) -> i32;
40772add0d91Sopenharmony_ci    pub fn sceHttpDeleteTemplate(templateid: i32) -> i32;
40782add0d91Sopenharmony_ci    pub fn sceHttpCreateConnection(
40792add0d91Sopenharmony_ci        templateid: i32,
40802add0d91Sopenharmony_ci        host: *mut u8,
40812add0d91Sopenharmony_ci        unknown1: *mut u8,
40822add0d91Sopenharmony_ci        port: u16,
40832add0d91Sopenharmony_ci        unknown2: i32,
40842add0d91Sopenharmony_ci    ) -> i32;
40852add0d91Sopenharmony_ci    pub fn sceHttpCreateConnectionWithURL(templateid: i32, url: *const u8, unknown1: i32) -> i32;
40862add0d91Sopenharmony_ci    pub fn sceHttpDeleteConnection(connection_id: i32) -> i32;
40872add0d91Sopenharmony_ci    pub fn sceHttpCreateRequest(
40882add0d91Sopenharmony_ci        connection_id: i32,
40892add0d91Sopenharmony_ci        method: HttpMethod,
40902add0d91Sopenharmony_ci        path: *mut u8,
40912add0d91Sopenharmony_ci        content_length: u64,
40922add0d91Sopenharmony_ci    ) -> i32;
40932add0d91Sopenharmony_ci    pub fn sceHttpCreateRequestWithURL(
40942add0d91Sopenharmony_ci        connection_id: i32,
40952add0d91Sopenharmony_ci        method: HttpMethod,
40962add0d91Sopenharmony_ci        url: *mut u8,
40972add0d91Sopenharmony_ci        content_length: u64,
40982add0d91Sopenharmony_ci    ) -> i32;
40992add0d91Sopenharmony_ci    pub fn sceHttpDeleteRequest(request_id: i32) -> i32;
41002add0d91Sopenharmony_ci    pub fn sceHttpSendRequest(request_id: i32, data: *mut c_void, data_size: u32) -> i32;
41012add0d91Sopenharmony_ci    pub fn sceHttpAbortRequest(request_id: i32) -> i32;
41022add0d91Sopenharmony_ci    pub fn sceHttpReadData(request_id: i32, data: *mut c_void, data_size: u32) -> i32;
41032add0d91Sopenharmony_ci    pub fn sceHttpGetContentLength(request_id: i32, content_length: *mut u64) -> i32;
41042add0d91Sopenharmony_ci    pub fn sceHttpGetStatusCode(request_id: i32, status_code: *mut i32) -> i32;
41052add0d91Sopenharmony_ci    pub fn sceHttpSetResolveTimeOut(id: i32, timeout: u32) -> i32;
41062add0d91Sopenharmony_ci    pub fn sceHttpSetResolveRetry(id: i32, count: i32) -> i32;
41072add0d91Sopenharmony_ci    pub fn sceHttpSetConnectTimeOut(id: i32, timeout: u32) -> i32;
41082add0d91Sopenharmony_ci    pub fn sceHttpSetSendTimeOut(id: i32, timeout: u32) -> i32;
41092add0d91Sopenharmony_ci    pub fn sceHttpSetRecvTimeOut(id: i32, timeout: u32) -> i32;
41102add0d91Sopenharmony_ci    pub fn sceHttpEnableKeepAlive(id: i32) -> i32;
41112add0d91Sopenharmony_ci    pub fn sceHttpDisableKeepAlive(id: i32) -> i32;
41122add0d91Sopenharmony_ci    pub fn sceHttpEnableRedirect(id: i32) -> i32;
41132add0d91Sopenharmony_ci    pub fn sceHttpDisableRedirect(id: i32) -> i32;
41142add0d91Sopenharmony_ci    pub fn sceHttpEnableCookie(id: i32) -> i32;
41152add0d91Sopenharmony_ci    pub fn sceHttpDisableCookie(id: i32) -> i32;
41162add0d91Sopenharmony_ci    pub fn sceHttpSaveSystemCookie() -> i32;
41172add0d91Sopenharmony_ci    pub fn sceHttpLoadSystemCookie() -> i32;
41182add0d91Sopenharmony_ci    pub fn sceHttpAddExtraHeader(id: i32, name: *mut u8, value: *mut u8, unknown1: i32) -> i32;
41192add0d91Sopenharmony_ci    pub fn sceHttpDeleteHeader(id: i32, name: *const u8) -> i32;
41202add0d91Sopenharmony_ci    pub fn sceHttpsInit(unknown1: i32, unknown2: i32, unknown3: i32, unknown4: i32) -> i32;
41212add0d91Sopenharmony_ci    pub fn sceHttpsEnd() -> i32;
41222add0d91Sopenharmony_ci    pub fn sceHttpsLoadDefaultCert(unknown1: i32, unknown2: i32) -> i32;
41232add0d91Sopenharmony_ci    pub fn sceHttpDisableAuth(id: i32) -> i32;
41242add0d91Sopenharmony_ci    pub fn sceHttpDisableCache(id: i32) -> i32;
41252add0d91Sopenharmony_ci    pub fn sceHttpEnableAuth(id: i32) -> i32;
41262add0d91Sopenharmony_ci    pub fn sceHttpEnableCache(id: i32) -> i32;
41272add0d91Sopenharmony_ci    pub fn sceHttpEndCache() -> i32;
41282add0d91Sopenharmony_ci    pub fn sceHttpGetAllHeader(request: i32, header: *mut *mut u8, header_size: *mut u32) -> i32;
41292add0d91Sopenharmony_ci    pub fn sceHttpGetNetworkErrno(request: i32, err_num: *mut i32) -> i32;
41302add0d91Sopenharmony_ci    pub fn sceHttpGetProxy(
41312add0d91Sopenharmony_ci        id: i32,
41322add0d91Sopenharmony_ci        activate_flag: *mut i32,
41332add0d91Sopenharmony_ci        mode: *mut i32,
41342add0d91Sopenharmony_ci        proxy_host: *mut u8,
41352add0d91Sopenharmony_ci        len: usize,
41362add0d91Sopenharmony_ci        proxy_port: *mut u16,
41372add0d91Sopenharmony_ci    ) -> i32;
41382add0d91Sopenharmony_ci    pub fn sceHttpInitCache(max_size: usize) -> i32;
41392add0d91Sopenharmony_ci    pub fn sceHttpSetAuthInfoCB(id: i32, cbfunc: HttpPasswordCB) -> i32;
41402add0d91Sopenharmony_ci    pub fn sceHttpSetProxy(
41412add0d91Sopenharmony_ci        id: i32,
41422add0d91Sopenharmony_ci        activate_flag: i32,
41432add0d91Sopenharmony_ci        mode: i32,
41442add0d91Sopenharmony_ci        new_proxy_host: *const u8,
41452add0d91Sopenharmony_ci        new_proxy_port: u16,
41462add0d91Sopenharmony_ci    ) -> i32;
41472add0d91Sopenharmony_ci    pub fn sceHttpSetResHeaderMaxSize(id: i32, header_size: u32) -> i32;
41482add0d91Sopenharmony_ci    pub fn sceHttpSetMallocFunction(
41492add0d91Sopenharmony_ci        malloc_func: HttpMallocFunction,
41502add0d91Sopenharmony_ci        free_func: HttpFreeFunction,
41512add0d91Sopenharmony_ci        realloc_func: HttpReallocFunction,
41522add0d91Sopenharmony_ci    ) -> i32;
41532add0d91Sopenharmony_ci
41542add0d91Sopenharmony_ci    pub fn sceNetResolverInit() -> i32;
41552add0d91Sopenharmony_ci    pub fn sceNetResolverCreate(rid: *mut i32, buf: *mut c_void, buf_length: u32) -> i32;
41562add0d91Sopenharmony_ci    pub fn sceNetResolverDelete(rid: i32) -> i32;
41572add0d91Sopenharmony_ci    pub fn sceNetResolverStartNtoA(
41582add0d91Sopenharmony_ci        rid: i32,
41592add0d91Sopenharmony_ci        hostname: *const u8,
41602add0d91Sopenharmony_ci        addr: *mut in_addr,
41612add0d91Sopenharmony_ci        timeout: u32,
41622add0d91Sopenharmony_ci        retry: i32,
41632add0d91Sopenharmony_ci    ) -> i32;
41642add0d91Sopenharmony_ci    pub fn sceNetResolverStartAtoN(
41652add0d91Sopenharmony_ci        rid: i32,
41662add0d91Sopenharmony_ci        addr: *const in_addr,
41672add0d91Sopenharmony_ci        hostname: *mut u8,
41682add0d91Sopenharmony_ci        hostname_len: u32,
41692add0d91Sopenharmony_ci        timeout: u32,
41702add0d91Sopenharmony_ci        retry: i32,
41712add0d91Sopenharmony_ci    ) -> i32;
41722add0d91Sopenharmony_ci    pub fn sceNetResolverStop(rid: i32) -> i32;
41732add0d91Sopenharmony_ci    pub fn sceNetResolverTerm() -> i32;
41742add0d91Sopenharmony_ci}
4175