//! PSP C type definitions //! //! These type declarations are not enough, as they must be ultimately resolved //! by the linker. Crates that use these definitions must, somewhere in the //! crate graph, include a stub provider crate such as the `psp` crate. pub type c_schar = i8; pub type c_uchar = u8; pub type c_short = i16; pub type c_ushort = u16; pub type c_int = i32; pub type c_uint = u32; pub type c_float = f32; pub type c_double = f64; pub type c_longlong = i64; pub type c_ulonglong = u64; pub type intmax_t = i64; pub type uintmax_t = u64; pub type size_t = usize; pub type ptrdiff_t = isize; pub type intptr_t = isize; pub type uintptr_t = usize; pub type ssize_t = isize; pub type c_char = u8; pub type c_long = i64; pub type c_ulong = u64; cfg_if! { if #[cfg(libc_core_cvoid)] { pub use ::ffi::c_void; } else { // Use repr(u8) as LLVM expects `void*` to be the same as `i8*` to help // enable more optimization opportunities around it recognizing things // like malloc/free. #[repr(u8)] #[allow(missing_copy_implementations)] #[allow(missing_debug_implementations)] pub enum c_void { // Two dummy variants so the #[repr] attribute can be used. #[doc(hidden)] __variant1, #[doc(hidden)] __variant2, } } } pub type SceKernelVTimerHandler = unsafe extern "C" fn( uid: SceUid, arg1: *mut SceKernelSysClock, arg2: *mut SceKernelSysClock, arg3: *mut c_void, ) -> u32; pub type SceKernelVTimerHandlerWide = unsafe extern "C" fn(uid: SceUid, arg1: i64, arg2: i64, arg3: *mut c_void) -> u32; pub type SceKernelThreadEventHandler = unsafe extern "C" fn(mask: i32, thid: SceUid, common: *mut c_void) -> i32; pub type SceKernelAlarmHandler = unsafe extern "C" fn(common: *mut c_void) -> u32; pub type SceKernelCallbackFunction = unsafe extern "C" fn(arg1: i32, arg2: i32, arg: *mut c_void) -> i32; pub type SceKernelThreadEntry = unsafe extern "C" fn(args: usize, argp: *mut c_void) -> i32; pub type PowerCallback = extern "C" fn(unknown: i32, power_info: i32); pub type IoPermissions = i32; pub type UmdCallback = fn(unknown: i32, event: i32) -> i32; pub type SceMpegRingbufferCb = ::Option i32>; pub type GuCallback = ::Option; pub type GuSwapBuffersCallback = ::Option; pub type SceNetAdhocctlHandler = ::Option; pub type AdhocMatchingCallback = ::Option< unsafe extern "C" fn( matching_id: i32, event: i32, mac: *mut u8, opt_len: i32, opt_data: *mut c_void, ), >; pub type SceNetApctlHandler = ::Option< unsafe extern "C" fn(oldState: i32, newState: i32, event: i32, error: i32, pArg: *mut c_void), >; pub type HttpMallocFunction = ::Option *mut c_void>; pub type HttpReallocFunction = ::Option *mut c_void>; pub type HttpFreeFunction = ::Option; pub type HttpPasswordCB = ::Option< unsafe extern "C" fn( request: i32, auth_type: HttpAuthType, realm: *const u8, username: *mut u8, password: *mut u8, need_entity: i32, entity_body: *mut *mut u8, entity_size: *mut usize, save: *mut i32, ) -> i32, >; pub type socklen_t = u32; e! { #[repr(u32)] pub enum AudioFormat { Stereo = 0, Mono = 0x10, } #[repr(u32)] pub enum DisplayMode { Lcd = 0, } #[repr(u32)] pub enum DisplayPixelFormat { Psm5650 = 0, Psm5551 = 1, Psm4444 = 2, Psm8888 = 3, } #[repr(u32)] pub enum DisplaySetBufSync { Immediate = 0, NextFrame = 1, } #[repr(i32)] pub enum AudioOutputFrequency { Khz48 = 48000, Khz44_1 = 44100, Khz32 = 32000, Khz24 = 24000, Khz22_05 = 22050, Khz16 = 16000, Khz12 = 12000, Khz11_025 = 11025, Khz8 = 8000, } #[repr(i32)] pub enum AudioInputFrequency { Khz44_1 = 44100, Khz22_05 = 22050, Khz11_025 = 11025, } #[repr(u32)] pub enum CtrlMode { Digital = 0, Analog, } #[repr(i32)] pub enum GeMatrixType { Bone0 = 0, Bone1, Bone2, Bone3, Bone4, Bone5, Bone6, Bone7, World, View, Projection, TexGen, } #[repr(i32)] pub enum GeListState { Done = 0, Queued, DrawingDone, StallReached, CancelDone, } #[repr(u8)] pub enum GeCommand { Nop = 0, Vaddr = 0x1, Iaddr = 0x2, Prim = 0x4, Bezier = 0x5, Spline = 0x6, BoundingBox = 0x7, Jump = 0x8, BJump = 0x9, Call = 0xa, Ret = 0xb, End = 0xc, Signal = 0xe, Finish = 0xf, Base = 0x10, VertexType = 0x12, OffsetAddr = 0x13, Origin = 0x14, Region1 = 0x15, Region2 = 0x16, LightingEnable = 0x17, LightEnable0 = 0x18, LightEnable1 = 0x19, LightEnable2 = 0x1a, LightEnable3 = 0x1b, DepthClampEnable = 0x1c, CullFaceEnable = 0x1d, TextureMapEnable = 0x1e, FogEnable = 0x1f, DitherEnable = 0x20, AlphaBlendEnable = 0x21, AlphaTestEnable = 0x22, ZTestEnable = 0x23, StencilTestEnable = 0x24, AntiAliasEnable = 0x25, PatchCullEnable = 0x26, ColorTestEnable = 0x27, LogicOpEnable = 0x28, BoneMatrixNumber = 0x2a, BoneMatrixData = 0x2b, MorphWeight0 = 0x2c, MorphWeight1 = 0x2d, MorphWeight2 = 0x2e, MorphWeight3 = 0x2f, MorphWeight4 = 0x30, MorphWeight5 = 0x31, MorphWeight6 = 0x32, MorphWeight7 = 0x33, PatchDivision = 0x36, PatchPrimitive = 0x37, PatchFacing = 0x38, WorldMatrixNumber = 0x3a, WorldMatrixData = 0x3b, ViewMatrixNumber = 0x3c, ViewMatrixData = 0x3d, ProjMatrixNumber = 0x3e, ProjMatrixData = 0x3f, TGenMatrixNumber = 0x40, TGenMatrixData = 0x41, ViewportXScale = 0x42, ViewportYScale = 0x43, ViewportZScale = 0x44, ViewportXCenter = 0x45, ViewportYCenter = 0x46, ViewportZCenter = 0x47, TexScaleU = 0x48, TexScaleV = 0x49, TexOffsetU = 0x4a, TexOffsetV = 0x4b, OffsetX = 0x4c, OffsetY = 0x4d, ShadeMode = 0x50, ReverseNormal = 0x51, MaterialUpdate = 0x53, MaterialEmissive = 0x54, MaterialAmbient = 0x55, MaterialDiffuse = 0x56, MaterialSpecular = 0x57, MaterialAlpha = 0x58, MaterialSpecularCoef = 0x5b, AmbientColor = 0x5c, AmbientAlpha = 0x5d, LightMode = 0x5e, LightType0 = 0x5f, LightType1 = 0x60, LightType2 = 0x61, LightType3 = 0x62, Light0X = 0x63, Light0Y, Light0Z, Light1X, Light1Y, Light1Z, Light2X, Light2Y, Light2Z, Light3X, Light3Y, Light3Z, Light0DirectionX = 0x6f, Light0DirectionY, Light0DirectionZ, Light1DirectionX, Light1DirectionY, Light1DirectionZ, Light2DirectionX, Light2DirectionY, Light2DirectionZ, Light3DirectionX, Light3DirectionY, Light3DirectionZ, Light0ConstantAtten = 0x7b, Light0LinearAtten, Light0QuadtraticAtten, Light1ConstantAtten, Light1LinearAtten, Light1QuadtraticAtten, Light2ConstantAtten, Light2LinearAtten, Light2QuadtraticAtten, Light3ConstantAtten, Light3LinearAtten, Light3QuadtraticAtten, Light0ExponentAtten = 0x87, Light1ExponentAtten, Light2ExponentAtten, Light3ExponentAtten, Light0CutoffAtten = 0x8b, Light1CutoffAtten, Light2CutoffAtten, Light3CutoffAtten, Light0Ambient = 0x8f, Light0Diffuse, Light0Specular, Light1Ambient, Light1Diffuse, Light1Specular, Light2Ambient, Light2Diffuse, Light2Specular, Light3Ambient, Light3Diffuse, Light3Specular, Cull = 0x9b, FrameBufPtr = 0x9c, FrameBufWidth = 0x9d, ZBufPtr = 0x9e, ZBufWidth = 0x9f, TexAddr0 = 0xa0, TexAddr1, TexAddr2, TexAddr3, TexAddr4, TexAddr5, TexAddr6, TexAddr7, TexBufWidth0 = 0xa8, TexBufWidth1, TexBufWidth2, TexBufWidth3, TexBufWidth4, TexBufWidth5, TexBufWidth6, TexBufWidth7, ClutAddr = 0xb0, ClutAddrUpper = 0xb1, TransferSrc, TransferSrcW, TransferDst, TransferDstW, TexSize0 = 0xb8, TexSize1, TexSize2, TexSize3, TexSize4, TexSize5, TexSize6, TexSize7, TexMapMode = 0xc0, TexShadeLs = 0xc1, TexMode = 0xc2, TexFormat = 0xc3, LoadClut = 0xc4, ClutFormat = 0xc5, TexFilter = 0xc6, TexWrap = 0xc7, TexLevel = 0xc8, TexFunc = 0xc9, TexEnvColor = 0xca, TexFlush = 0xcb, TexSync = 0xcc, Fog1 = 0xcd, Fog2 = 0xce, FogColor = 0xcf, TexLodSlope = 0xd0, FramebufPixFormat = 0xd2, ClearMode = 0xd3, Scissor1 = 0xd4, Scissor2 = 0xd5, MinZ = 0xd6, MaxZ = 0xd7, ColorTest = 0xd8, ColorRef = 0xd9, ColorTestmask = 0xda, AlphaTest = 0xdb, StencilTest = 0xdc, StencilOp = 0xdd, ZTest = 0xde, BlendMode = 0xdf, BlendFixedA = 0xe0, BlendFixedB = 0xe1, Dith0 = 0xe2, Dith1, Dith2, Dith3, LogicOp = 0xe6, ZWriteDisable = 0xe7, MaskRgb = 0xe8, MaskAlpha = 0xe9, TransferStart = 0xea, TransferSrcPos = 0xeb, TransferDstPos = 0xec, TransferSize = 0xee, Vscx = 0xf0, Vscy = 0xf1, Vscz = 0xf2, Vtcs = 0xf3, Vtct = 0xf4, Vtcq = 0xf5, Vcv = 0xf6, Vap = 0xf7, Vfc = 0xf8, Vscv = 0xf9, Unknown03 = 0x03, Unknown0D = 0x0d, Unknown11 = 0x11, Unknown29 = 0x29, Unknown34 = 0x34, Unknown35 = 0x35, Unknown39 = 0x39, Unknown4E = 0x4e, Unknown4F = 0x4f, Unknown52 = 0x52, Unknown59 = 0x59, Unknown5A = 0x5a, UnknownB6 = 0xb6, UnknownB7 = 0xb7, UnknownD1 = 0xd1, UnknownED = 0xed, UnknownEF = 0xef, UnknownFA = 0xfa, UnknownFB = 0xfb, UnknownFC = 0xfc, UnknownFD = 0xfd, UnknownFE = 0xfe, NopFF = 0xff, } #[repr(i32)] pub enum SceSysMemPartitionId { SceKernelUnknownPartition = 0, SceKernelPrimaryKernelPartition = 1, SceKernelPrimaryUserPartition = 2, SceKernelOtherKernelPartition1 = 3, SceKernelOtherKernelPartition2 = 4, SceKernelVshellPARTITION = 5, SceKernelScUserPartition = 6, SceKernelMeUserPartition = 7, SceKernelExtendedScKernelPartition = 8, SceKernelExtendedSc2KernelPartition = 9, SceKernelExtendedMeKernelPartition = 10, SceKernelVshellKernelPartition = 11, SceKernelExtendedKernelPartition = 12, } #[repr(i32)] pub enum SceSysMemBlockTypes { Low = 0, High, Addr, } #[repr(u32)] pub enum Interrupt { Gpio = 4, Ata = 5, Umd = 6, Mscm0 = 7, Wlan = 8, Audio = 10, I2c = 12, Sircs = 14, Systimer0 = 15, Systimer1 = 16, Systimer2 = 17, Systimer3 = 18, Thread0 = 19, Nand = 20, Dmacplus = 21, Dma0 = 22, Dma1 = 23, Memlmd = 24, Ge = 25, Vblank = 30, Mecodec = 31, Hpremote = 36, Mscm1 = 60, Mscm2 = 61, Thread1 = 65, Interrupt = 66, } #[repr(u32)] pub enum SubInterrupt { Gpio = Interrupt::Gpio as u32, Ata = Interrupt::Ata as u32, Umd = Interrupt::Umd as u32, Dmacplus = Interrupt::Dmacplus as u32, Ge = Interrupt::Ge as u32, Display = Interrupt::Vblank as u32, } #[repr(u32)] pub enum SceKernelIdListType { Thread = 1, Semaphore = 2, EventFlag = 3, Mbox = 4, Vpl = 5, Fpl = 6, Mpipe = 7, Callback = 8, ThreadEventHandler = 9, Alarm = 10, VTimer = 11, SleepThread = 64, DelayThread = 65, SuspendThread = 66, DormantThread = 67, } #[repr(i32)] pub enum UsbCamResolution { Px160_120 = 0, Px176_144 = 1, Px320_240 = 2, Px352_288 = 3, Px640_480 = 4, Px1024_768 = 5, Px1280_960 = 6, Px480_272 = 7, Px360_272 = 8, } #[repr(i32)] pub enum UsbCamResolutionEx { Px160_120 = 0, Px176_144 = 1, Px320_240 = 2, Px352_288 = 3, Px360_272 = 4, Px480_272 = 5, Px640_480 = 6, Px1024_768 = 7, Px1280_960 = 8, } #[repr(i32)] pub enum UsbCamDelay { NoDelay = 0, Delay10Sec = 1, Delay20Sec = 2, Delay30Sec = 3, } #[repr(i32)] pub enum UsbCamFrameRate { Fps3_75 = 0, Fps5 = 1, Fps7_5 = 2, Fps10 = 3, Fps15 = 4, Fps20 = 5, Fps30 = 6, Fps60 = 7, } #[repr(i32)] pub enum UsbCamWb { Auto = 0, Daylight = 1, Fluorescent = 2, Incadescent = 3, } #[repr(i32)] pub enum UsbCamEffectMode { Normal = 0, Negative = 1, Blackwhite = 2, Sepia = 3, Blue = 4, Red = 5, Green = 6, } #[repr(i32)] pub enum UsbCamEvLevel { Pos2_0 = 0, Pos1_7 = 1, Pos1_5 = 2, Pos1_3 = 3, Pos1_0 = 4, Pos0_7 = 5, Pos0_5 = 6, Pos0_3 = 7, Zero = 8, Neg0_3, Neg0_5, Neg0_7, Neg1_0, Neg1_3, Neg1_5, Neg1_7, Neg2_0, } #[repr(i32)] pub enum RtcCheckValidError { InvalidYear = -1, InvalidMonth = -2, InvalidDay = -3, InvalidHour = -4, InvalidMinutes = -5, InvalidSeconds = -6, InvalidMicroseconds = -7, } #[repr(u32)] pub enum PowerTick { All = 0, Suspend = 1, Display = 6, } #[repr(u32)] pub enum IoAssignPerms { RdWr = 0, RdOnly = 1, } #[repr(u32)] pub enum IoWhence { Set = 0, Cur = 1, End = 2, } #[repr(u32)] pub enum UmdType { Game = 0x10, Video = 0x20, Audio = 0x40, } #[repr(u32)] pub enum GuPrimitive { Points = 0, Lines = 1, LineStrip = 2, Triangles = 3, TriangleStrip = 4, TriangleFan = 5, Sprites = 6, } #[repr(u32)] pub enum PatchPrimitive { Points = 0, LineStrip = 2, TriangleStrip = 4, } #[repr(u32)] pub enum GuState { AlphaTest = 0, DepthTest = 1, ScissorTest = 2, StencilTest = 3, Blend = 4, CullFace = 5, Dither = 6, Fog = 7, ClipPlanes = 8, Texture2D = 9, Lighting = 10, Light0 = 11, Light1 = 12, Light2 = 13, Light3 = 14, LineSmooth = 15, PatchCullFace = 16, ColorTest = 17, ColorLogicOp = 18, FaceNormalReverse = 19, PatchFace = 20, Fragment2X = 21, } #[repr(u32)] pub enum MatrixMode { Projection = 0, View = 1, Model = 2, Texture = 3, } #[repr(u32)] pub enum TexturePixelFormat { Psm5650 = 0, Psm5551 = 1, Psm4444 = 2, Psm8888 = 3, PsmT4 = 4, PsmT8 = 5, PsmT16 = 6, PsmT32 = 7, PsmDxt1 = 8, PsmDxt3 = 9, PsmDxt5 = 10, } #[repr(u32)] pub enum SplineMode { FillFill = 0, OpenFill = 1, FillOpen = 2, OpenOpen = 3, } #[repr(u32)] pub enum ShadingModel { Flat = 0, Smooth = 1, } #[repr(u32)] pub enum LogicalOperation { Clear = 0, And = 1, AndReverse = 2, Copy = 3, AndInverted = 4, Noop = 5, Xor = 6, Or = 7, Nor = 8, Equiv = 9, Inverted = 10, OrReverse = 11, CopyInverted = 12, OrInverted = 13, Nand = 14, Set = 15, } #[repr(u32)] pub enum TextureFilter { Nearest = 0, Linear = 1, NearestMipmapNearest = 4, LinearMipmapNearest = 5, NearestMipmapLinear = 6, LinearMipmapLinear = 7, } #[repr(u32)] pub enum TextureMapMode { TextureCoords = 0, TextureMatrix = 1, EnvironmentMap = 2, } #[repr(u32)] pub enum TextureLevelMode { Auto = 0, Const = 1, Slope = 2, } #[repr(u32)] pub enum TextureProjectionMapMode { Position = 0, Uv = 1, NormalizedNormal = 2, Normal = 3, } #[repr(u32)] pub enum GuTexWrapMode { Repeat = 0, Clamp = 1, } #[repr(u32)] pub enum FrontFaceDirection { Clockwise = 0, CounterClockwise = 1, } #[repr(u32)] pub enum AlphaFunc { Never = 0, Always, Equal, NotEqual, Less, LessOrEqual, Greater, GreaterOrEqual, } #[repr(u32)] pub enum StencilFunc { Never = 0, Always, Equal, NotEqual, Less, LessOrEqual, Greater, GreaterOrEqual, } #[repr(u32)] pub enum ColorFunc { Never = 0, Always, Equal, NotEqual, } #[repr(u32)] pub enum DepthFunc { Never = 0, Always, Equal, NotEqual, Less, LessOrEqual, Greater, GreaterOrEqual, } #[repr(u32)] pub enum TextureEffect { Modulate = 0, Decal = 1, Blend = 2, Replace = 3, Add = 4, } #[repr(u32)] pub enum TextureColorComponent { Rgb = 0, Rgba = 1, } #[repr(u32)] pub enum MipmapLevel { None = 0, Level1, Level2, Level3, Level4, Level5, Level6, Level7, } #[repr(u32)] pub enum BlendOp { Add = 0, Subtract = 1, ReverseSubtract = 2, Min = 3, Max = 4, Abs = 5, } #[repr(u32)] pub enum BlendSrc { SrcColor = 0, OneMinusSrcColor = 1, SrcAlpha = 2, OneMinusSrcAlpha = 3, Fix = 10, } #[repr(u32)] pub enum BlendDst { DstColor = 0, OneMinusDstColor = 1, DstAlpha = 4, OneMinusDstAlpha = 5, Fix = 10, } #[repr(u32)] pub enum StencilOperation { Keep = 0, Zero = 1, Replace = 2, Invert = 3, Incr = 4, Decr = 5, } #[repr(u32)] pub enum LightMode { SingleColor = 0, SeparateSpecularColor = 1, } #[repr(u32)] pub enum LightType { Directional = 0, Pointlight = 1, Spotlight = 2, } #[repr(u32)] pub enum GuContextType { Direct = 0, Call = 1, Send = 2, } #[repr(u32)] pub enum GuQueueMode { Tail = 0, Head = 1, } #[repr(u32)] pub enum GuSyncMode { Finish = 0, Signal = 1, Done = 2, List = 3, Send = 4, } #[repr(u32)] pub enum GuSyncBehavior { Wait = 0, NoWait = 1, } #[repr(u32)] pub enum GuCallbackId { Signal = 1, Finish = 4, } #[repr(u32)] pub enum SignalBehavior { Suspend = 1, Continue = 2, } #[repr(u32)] pub enum ClutPixelFormat { Psm5650 = 0, Psm5551 = 1, Psm4444 = 2, Psm8888 = 3, } #[repr(C)] pub enum KeyType { Directory = 1, Integer = 2, String = 3, Bytes = 4, } #[repr(u32)] pub enum UtilityMsgDialogMode { Error, Text, } #[repr(u32)] pub enum UtilityMsgDialogPressed { Unknown1, Yes, No, Back, } #[repr(u32)] pub enum UtilityDialogButtonAccept { Circle, Cross, } #[repr(u32)] pub enum SceUtilityOskInputLanguage { Default, Japanese, English, French, Spanish, German, Italian, Dutch, Portugese, Russian, Korean, } #[repr(u32)] pub enum SceUtilityOskInputType { All, LatinDigit, LatinSymbol, LatinLowercase = 4, LatinUppercase = 8, JapaneseDigit = 0x100, JapaneseSymbol = 0x200, JapaneseLowercase = 0x400, JapaneseUppercase = 0x800, JapaneseHiragana = 0x1000, JapaneseHalfWidthKatakana = 0x2000, JapaneseKatakana = 0x4000, JapaneseKanji = 0x8000, RussianLowercase = 0x10000, RussianUppercase = 0x20000, Korean = 0x40000, Url = 0x80000, } #[repr(u32)] pub enum SceUtilityOskState { None, Initializing, Initialized, Visible, Quit, Finished, } #[repr(u32)] pub enum SceUtilityOskResult { Unchanged, Cancelled, Changed, } #[repr(u32)] pub enum SystemParamLanguage { Japanese, English, French, Spanish, German, Italian, Dutch, Portugese, Russian, Korean, ChineseTraditional, ChineseSimplified, } #[repr(u32)] pub enum SystemParamId { StringNickname = 1, AdhocChannel, WlanPowerSave, DateFormat, TimeFormat, Timezone, DaylightSavings, Language, Unknown, } #[repr(u32)] pub enum SystemParamAdhocChannel { ChannelAutomatic = 0, Channel1 = 1, Channel6 = 6, Channel11 = 11, } #[repr(u32)] pub enum SystemParamWlanPowerSaveState { Off, On, } #[repr(u32)] pub enum SystemParamDateFormat { YYYYMMDD, MMDDYYYY, DDMMYYYY, } #[repr(u32)] pub enum SystemParamTimeFormat { Hour24, Hour12, } #[repr(u32)] pub enum SystemParamDaylightSavings { Std, Dst, } #[repr(u32)] pub enum AvModule { AvCodec, SasCore, Atrac3Plus, MpegBase, Mp3, Vaudio, Aac, G729, } #[repr(u32)] pub enum Module { NetCommon = 0x100, NetAdhoc, NetInet, NetParseUri, NetHttp, NetSsl, UsbPspCm = 0x200, UsbMic, UsbCam, UsbGps, AvCodec = 0x300, AvSascore, AvAtrac3Plus, AvMpegBase, AvMp3, AvVaudio, AvAac, AvG729, NpCommon = 0x400, NpService, NpMatching2, NpDrm = 0x500, Irda = 0x600, } #[repr(u32)] pub enum NetModule { NetCommon = 1, NetAdhoc, NetInet, NetParseUri, NetHttp, NetSsl, } #[repr(u32)] pub enum UsbModule { UsbPspCm = 1, UsbAcc, UsbMic, UsbCam, UsbGps, } #[repr(u32)] pub enum NetParam { Name, Ssid, Secure, WepKey, IsStaticIp, Ip, NetMask, Route, ManualDns, PrimaryDns, SecondaryDns, ProxyUser, ProxyPass, UseProxy, ProxyServer, ProxyPort, Unknown1, Unknown2, } #[repr(u32)] pub enum UtilityNetconfAction { ConnectAP, DisplayStatus, ConnectAdhoc, } #[repr(u32)] pub enum UtilitySavedataMode { AutoLoad, AutoSave, Load, Save, ListLoad, ListSave, ListDelete, Delete, } #[repr(u32)] pub enum UtilitySavedataFocus { Unknown1, FirstList, LastList, Latest, Oldest, Unknown2, Unknown3, FirstEmpty, LastEmpty, } #[repr(u32)] pub enum UtilityGameSharingMode { Single = 1, Multiple, } #[repr(u32)] pub enum UtilityGameSharingDataType { File = 1, Memory, } #[repr(u32)] pub enum UtilityHtmlViewerInterfaceMode { Full, Limited, None, } #[repr(u32)] pub enum UtilityHtmlViewerCookieMode { Disabled = 0, Enabled, Confirm, Default, } #[repr(u32)] pub enum UtilityHtmlViewerTextSize { Large, Normal, Small, } #[repr(u32)] pub enum UtilityHtmlViewerDisplayMode { Normal, Fit, SmartFit, } #[repr(u32)] pub enum UtilityHtmlViewerConnectMode { Last, ManualOnce, ManualAll, } #[repr(u32)] pub enum UtilityHtmlViewerDisconnectMode { Enable, Disable, Confirm, } #[repr(u32)] pub enum ScePspnetAdhocPtpState { Closed, Listen, SynSent, SynReceived, Established, } #[repr(u32)] pub enum AdhocMatchingMode { Host = 1, Client, Ptp, } #[repr(u32)] pub enum ApctlState { Disconnected, Scanning, Joining, GettingIp, GotIp, EapAuth, KeyExchange, } #[repr(u32)] pub enum ApctlEvent { ConnectRequest, ScanRequest, ScanComplete, Established, GetIp, DisconnectRequest, Error, Info, EapAuth, KeyExchange, Reconnect, } #[repr(u32)] pub enum ApctlInfo { ProfileName, Bssid, Ssid, SsidLength, SecurityType, Strength, Channel, PowerSave, Ip, SubnetMask, Gateway, PrimaryDns, SecondaryDns, UseProxy, ProxyUrl, ProxyPort, EapType, StartBrowser, Wifisp, } #[repr(u32)] pub enum ApctlInfoSecurityType { None, Wep, Wpa, } #[repr(u32)] pub enum HttpMethod { Get, Post, Head, } #[repr(u32)] pub enum HttpAuthType { Basic, Digest, } } s_paren! { #[repr(transparent)] pub struct SceUid(pub i32); #[repr(transparent)] pub struct SceMpeg(*mut *mut c_void); #[repr(transparent)] pub struct SceMpegStream(*mut c_void); #[repr(transparent)] pub struct Mp3Handle(pub i32); #[repr(transparent)] pub struct RegHandle(u32); } s! { pub struct sockaddr { pub sa_len: u8, pub sa_family: u8, pub sa_data: [u8;14], } pub struct in_addr { pub s_addr: u32, } pub struct AudioInputParams { pub unknown1: i32, pub gain: i32, pub unknown2: i32, pub unknown3: i32, pub unknown4: i32, pub unknown5: i32, } pub struct Atrac3BufferInfo { pub puc_write_position_first_buf: *mut u8, pub ui_writable_byte_first_buf: u32, pub ui_min_write_byte_first_buf: u32, pub ui_read_position_first_buf: u32, pub puc_write_position_second_buf: *mut u8, pub ui_writable_byte_second_buf: u32, pub ui_min_write_byte_second_buf: u32, pub ui_read_position_second_buf: u32, } pub struct SceCtrlData { pub timestamp: u32, pub buttons: i32, pub lx: u8, pub ly: u8, pub rsrv: [u8; 6], } pub struct SceCtrlLatch { pub ui_make: u32, pub ui_break: u32, pub ui_press: u32, pub ui_release: u32, } pub struct GeStack { pub stack: [u32; 8], } pub struct GeCallbackData { pub signal_func: ::Option, pub signal_arg: *mut c_void, pub finish_func: ::Option, pub finish_arg: *mut c_void, } pub struct GeListArgs { pub size: u32, pub context: *mut GeContext, pub num_stacks: u32, pub stacks: *mut GeStack, } pub struct GeBreakParam { pub buf: [u32; 4], } pub struct SceKernelLoadExecParam { pub size: usize, pub args: usize, pub argp: *mut c_void, pub key: *const u8, } pub struct timeval { pub tv_sec: i32, pub tv_usec: i32, } pub struct timezone { pub tz_minutes_west: i32, pub tz_dst_time: i32, } pub struct IntrHandlerOptionParam { size: i32, entry: u32, common: u32, gp: u32, intr_code: u16, sub_count: u16, intr_level: u16, enabled: u16, calls: u32, field_1c: u32, total_clock_lo: u32, total_clock_hi: u32, min_clock_lo: u32, min_clock_hi: u32, max_clock_lo: u32, max_clock_hi: u32, } pub struct SceKernelLMOption { pub size: usize, pub m_pid_text: SceUid, pub m_pid_data: SceUid, pub flags: u32, pub position: u8, pub access: u8, pub c_reserved: [u8; 2usize], } pub struct SceKernelSMOption { pub size: usize, pub m_pid_stack: SceUid, pub stack_size: usize, pub priority: i32, pub attribute: u32, } pub struct SceKernelModuleInfo { pub size: usize, pub n_segment: u8, pub reserved: [u8; 3usize], pub segment_addr: [i32; 4usize], pub segment_size: [i32; 4usize], pub entry_addr: u32, pub gp_value: u32, pub text_addr: u32, pub text_size: u32, pub data_size: u32, pub bss_size: u32, pub attribute: u16, pub version: [u8; 2usize], pub name: [u8; 28usize], } pub struct DebugProfilerRegs { pub enable: u32, pub systemck: u32, pub cpuck: u32, pub internal: u32, pub memory: u32, pub copz: u32, pub vfpu: u32, pub sleep: u32, pub bus_access: u32, pub uncached_load: u32, pub uncached_store: u32, pub cached_load: u32, pub cached_store: u32, pub i_miss: u32, pub d_miss: u32, pub d_writeback: u32, pub cop0_inst: u32, pub fpu_inst: u32, pub vfpu_inst: u32, pub local_bus: u32, } pub struct SceKernelSysClock { pub low: u32, pub hi: u32, } pub struct SceKernelThreadOptParam { pub size: usize, pub stack_mpid: SceUid, } pub struct SceKernelThreadInfo { pub size: usize, pub name: [u8; 32], pub attr: u32, pub status: i32, pub entry: SceKernelThreadEntry, pub stack: *mut c_void, pub stack_size: i32, pub gp_reg: *mut c_void, pub init_priority: i32, pub current_priority: i32, pub wait_type: i32, pub wait_id: SceUid, pub wakeup_count: i32, pub exit_status: i32, pub run_clocks: SceKernelSysClock, pub intr_preempt_count: u32, pub thread_preempt_count: u32, pub release_count: u32, } pub struct SceKernelThreadRunStatus { pub size: usize, pub status: i32, pub current_priority: i32, pub wait_type: i32, pub wait_id: i32, pub wakeup_count: i32, pub run_clocks: SceKernelSysClock, pub intr_preempt_count: u32, pub thread_preempt_count: u32, pub release_count: u32, } pub struct SceKernelSemaOptParam { pub size: usize, } pub struct SceKernelSemaInfo { pub size: usize, pub name: [u8; 32], pub attr: u32, pub init_count: i32, pub current_count: i32, pub max_count: i32, pub num_wait_threads: i32, } pub struct SceKernelEventFlagInfo { pub size: usize, pub name: [u8; 32], pub attr: u32, pub init_pattern: u32, pub current_pattern: u32, pub num_wait_threads: i32, } pub struct SceKernelEventFlagOptParam { pub size: usize, } pub struct SceKernelMbxOptParam { pub size: usize, } pub struct SceKernelMbxInfo { pub size: usize, pub name: [u8; 32usize], pub attr: u32, pub num_wait_threads: i32, pub num_messages: i32, pub first_message: *mut c_void, } pub struct SceKernelVTimerInfo { pub size: usize, pub name: [u8; 32], pub active: i32, pub base: SceKernelSysClock, pub current: SceKernelSysClock, pub schedule: SceKernelSysClock, pub handler: SceKernelVTimerHandler, pub common: *mut c_void, } pub struct SceKernelThreadEventHandlerInfo { pub size: usize, pub name: [u8; 32], pub thread_id: SceUid, pub mask: i32, pub handler: SceKernelThreadEventHandler, pub common: *mut c_void, } pub struct SceKernelAlarmInfo { pub size: usize, pub schedule: SceKernelSysClock, pub handler: SceKernelAlarmHandler, pub common: *mut c_void, } pub struct SceKernelSystemStatus { pub size: usize, pub status: u32, pub idle_clocks: SceKernelSysClock, pub comes_out_of_idle_count: u32, pub thread_switch_count: u32, pub vfpu_switch_count: u32, } pub struct SceKernelMppInfo { pub size: usize, pub name: [u8; 32], pub attr: u32, pub buf_size: i32, pub free_size: i32, pub num_send_wait_threads: i32, pub num_receive_wait_threads: i32, } pub struct SceKernelVplOptParam { pub size: usize, } pub struct SceKernelVplInfo { pub size: usize, pub name: [u8; 32], pub attr: u32, pub pool_size: i32, pub free_size: i32, pub num_wait_threads: i32, } pub struct SceKernelFplOptParam { pub size: usize, } pub struct SceKernelFplInfo { pub size: usize, pub name: [u8; 32usize], pub attr: u32, pub block_size: i32, pub num_blocks: i32, pub free_blocks: i32, pub num_wait_threads: i32, } pub struct SceKernelVTimerOptParam { pub size: usize, } pub struct SceKernelCallbackInfo { pub size: usize, pub name: [u8; 32usize], pub thread_id: SceUid, pub callback: SceKernelCallbackFunction, pub common: *mut c_void, pub notify_count: i32, pub notify_arg: i32, } pub struct UsbCamSetupStillParam { pub size: i32, pub resolution: UsbCamResolution, pub jpeg_size: i32, pub reverse_flags: i32, pub delay: UsbCamDelay, pub comp_level: i32, } pub struct UsbCamSetupStillExParam { pub size: i32, pub unk: u32, pub resolution: UsbCamResolutionEx, pub jpeg_size: i32, pub comp_level: i32, pub unk2: u32, pub unk3: u32, pub flip: i32, pub mirror: i32, pub delay: UsbCamDelay, pub unk4: [u32; 5usize], } pub struct UsbCamSetupVideoParam { pub size: i32, pub resolution: UsbCamResolution, pub framerate: UsbCamFrameRate, pub white_balance: UsbCamWb, pub saturation: i32, pub brightness: i32, pub contrast: i32, pub sharpness: i32, pub effect_mode: UsbCamEffectMode, pub frame_size: i32, pub unk: u32, pub evl_evel: UsbCamEvLevel, } pub struct UsbCamSetupVideoExParam { pub size: i32, pub unk: u32, pub resolution: UsbCamResolutionEx, pub framerate: UsbCamFrameRate, pub unk2: u32, pub unk3: u32, pub white_balance: UsbCamWb, pub saturation: i32, pub brightness: i32, pub contrast: i32, pub sharpness: i32, pub unk4: u32, pub unk5: u32, pub unk6: [u32; 3usize], pub effect_mode: UsbCamEffectMode, pub unk7: u32, pub unk8: u32, pub unk9: u32, pub unk10: u32, pub unk11: u32, pub frame_size: i32, pub unk12: u32, pub ev_level: UsbCamEvLevel, } pub struct ScePspDateTime { pub year: u16, pub month: u16, pub day: u16, pub hour: u16, pub minutes: u16, pub seconds: u16, pub microseconds: u32, } pub struct SceIoStat { pub st_mode: i32, pub st_attr: i32, pub st_size: i64, pub st_ctime: ScePspDateTime, pub st_atime: ScePspDateTime, pub st_mtime: ScePspDateTime, pub st_private: [u32; 6usize], } pub struct UmdInfo { pub size: u32, pub type_: UmdType, } pub struct SceMpegRingbuffer { pub packets: i32, pub unk0: u32, pub unk1: u32, pub unk2: u32, pub unk3: u32, pub data: *mut c_void, pub callback: SceMpegRingbufferCb, pub cb_param: *mut c_void, pub unk4: u32, pub unk5: u32, pub sce_mpeg: *mut c_void, } pub struct SceMpegAu { pub pts_msb: u32, pub pts: u32, pub dts_msb: u32, pub dts: u32, pub es_buffer: u32, pub au_size: u32, } pub struct SceMpegAvcMode { pub unk0: i32, pub pixel_format: super::DisplayPixelFormat, } #[repr(align(64))] pub struct SceMpegLLI { pub src: *mut c_void, pub dst: *mut c_void, pub next: *mut c_void, pub size: i32, } #[repr(align(64))] pub struct SceMpegYCrCbBuffer { pub frame_buffer_height16: i32, pub frame_buffer_width16: i32, pub unknown: i32, pub unknown2: i32, pub y_buffer: *mut c_void, pub y_buffer2: *mut c_void, pub cr_buffer: *mut c_void, pub cb_buffer: *mut c_void, pub cr_buffer2: *mut c_void, pub cb_buffer2: *mut c_void, pub frame_height: i32, pub frame_width: i32, pub frame_buffer_width: i32, pub unknown3: [i32; 11usize], } pub struct ScePspSRect { pub x: i16, pub y: i16, pub w: i16, pub h: i16, } pub struct ScePspIRect { pub x: i32, pub y: i32, pub w: i32, pub h: i32, } pub struct ScePspL64Rect { pub x: u64, pub y: u64, pub w: u64, pub h: u64, } pub struct ScePspSVector2 { pub x: i16, pub y: i16, } pub struct ScePspIVector2 { pub x: i32, pub y: i32, } pub struct ScePspL64Vector2 { pub x: u64, pub y: u64, } pub struct ScePspSVector3 { pub x: i16, pub y: i16, pub z: i16, } pub struct ScePspIVector3 { pub x: i32, pub y: i32, pub z: i32, } pub struct ScePspL64Vector3 { pub x: u64, pub y: u64, pub z: u64, } pub struct ScePspSVector4 { pub x: i16, pub y: i16, pub z: i16, pub w: i16, } pub struct ScePspIVector4 { pub x: i32, pub y: i32, pub z: i32, pub w: i32, } pub struct ScePspL64Vector4 { pub x: u64, pub y: u64, pub z: u64, pub w: u64, } pub struct ScePspIMatrix2 { pub x: ScePspIVector2, pub y: ScePspIVector2, } pub struct ScePspIMatrix3 { pub x: ScePspIVector3, pub y: ScePspIVector3, pub z: ScePspIVector3, } #[repr(align(16))] pub struct ScePspIMatrix4 { pub x: ScePspIVector4, pub y: ScePspIVector4, pub z: ScePspIVector4, pub w: ScePspIVector4, } pub struct ScePspIMatrix4Unaligned { pub x: ScePspIVector4, pub y: ScePspIVector4, pub z: ScePspIVector4, pub w: ScePspIVector4, } pub struct SceMp3InitArg { pub mp3_stream_start: u32, pub unk1: u32, pub mp3_stream_end: u32, pub unk2: u32, pub mp3_buf: *mut c_void, pub mp3_buf_size: i32, pub pcm_buf: *mut c_void, pub pcm_buf_size: i32, } pub struct OpenPSID { pub data: [u8; 16usize], } pub struct UtilityDialogCommon { pub size: u32, pub language: SystemParamLanguage, pub button_accept: UtilityDialogButtonAccept, pub graphics_thread: i32, pub access_thread: i32, pub font_thread: i32, pub sound_thread: i32, pub result: i32, pub reserved: [i32; 4usize], } pub struct UtilityNetconfAdhoc { pub name: [u8; 8usize], pub timeout: u32, } pub struct UtilityNetconfData { pub base: UtilityDialogCommon, pub action: UtilityNetconfAction, pub adhocparam: *mut UtilityNetconfAdhoc, pub hotspot: i32, pub hotspot_connected: i32, pub wifisp: i32, } pub struct UtilitySavedataFileData { pub buf: *mut c_void, pub buf_size: usize, pub size: usize, pub unknown: i32, } pub struct UtilitySavedataListSaveNewData { pub icon0: UtilitySavedataFileData, pub title: *mut u8, } pub struct UtilityGameSharingParams { pub base: UtilityDialogCommon, pub unknown1: i32, pub unknown2: i32, pub name: [u8; 8usize], pub unknown3: i32, pub unknown4: i32, pub unknown5: i32, pub result: i32, pub filepath: *mut u8, pub mode: UtilityGameSharingMode, pub datatype: UtilityGameSharingDataType, pub data: *mut c_void, pub datasize: u32, } pub struct UtilityHtmlViewerParam { pub base: UtilityDialogCommon, pub memaddr: *mut c_void, pub memsize: u32, pub unknown1: i32, pub unknown2: i32, pub initialurl: *mut u8, pub numtabs: u32, pub interfacemode: UtilityHtmlViewerInterfaceMode, pub options: i32, pub dldirname: *mut u8, pub dlfilename: *mut u8, pub uldirname: *mut u8, pub ulfilename: *mut u8, pub cookiemode: UtilityHtmlViewerCookieMode, pub unknown3: u32, pub homeurl: *mut u8, pub textsize: UtilityHtmlViewerTextSize, pub displaymode: UtilityHtmlViewerDisplayMode, pub connectmode: UtilityHtmlViewerConnectMode, pub disconnectmode: UtilityHtmlViewerDisconnectMode, pub memused: u32, pub unknown4: [i32; 10usize], } pub struct SceUtilityOskData { pub unk_00: i32, pub unk_04: i32, pub language: SceUtilityOskInputLanguage, pub unk_12: i32, pub inputtype: SceUtilityOskInputType, pub lines: i32, pub unk_24: i32, pub desc: *mut u16, pub intext: *mut u16, pub outtextlength: i32, pub outtext: *mut u16, pub result: SceUtilityOskResult, pub outtextlimit: i32, } pub struct SceUtilityOskParams { pub base: UtilityDialogCommon, pub datacount: i32, pub data: *mut SceUtilityOskData, pub state: SceUtilityOskState, pub unk_60: i32, } pub struct SceNetMallocStat { pub pool: i32, pub maximum: i32, pub free: i32, } pub struct SceNetAdhocctlAdhocId { pub unknown: i32, pub adhoc_id: [u8; 9usize], pub unk: [u8; 3usize], } pub struct SceNetAdhocctlScanInfo { pub next: *mut SceNetAdhocctlScanInfo, pub channel: i32, pub name: [u8; 8usize], pub bssid: [u8; 6usize], pub unknown: [u8; 2usize], pub unknown2: i32, } pub struct SceNetAdhocctlGameModeInfo { pub count: i32, pub macs: [[u8; 6usize]; 16usize], } pub struct SceNetAdhocPtpStat { pub next: *mut SceNetAdhocPtpStat, pub ptp_id: i32, pub mac: [u8; 6usize], pub peermac: [u8; 6usize], pub port: u16, pub peerport: u16, pub sent_data: u32, pub rcvd_data: u32, pub state: ScePspnetAdhocPtpState, } pub struct SceNetAdhocPdpStat { pub next: *mut SceNetAdhocPdpStat, pub pdp_id: i32, pub mac: [u8; 6usize], pub port: u16, pub rcvd_data: u32, } pub struct AdhocPoolStat { pub size: i32, pub maxsize: i32, pub freesize: i32, } } s_no_extra_traits! { #[allow(missing_debug_implementations)] pub struct GeContext { pub context: [u32; 512], } #[allow(missing_debug_implementations)] pub struct SceKernelUtilsSha1Context { pub h: [u32; 5usize], pub us_remains: u16, pub us_computed: u16, pub ull_total_len: u64, pub buf: [u8; 64usize], } #[allow(missing_debug_implementations)] pub struct SceKernelUtilsMt19937Context { pub count: u32, pub state: [u32; 624usize], } #[allow(missing_debug_implementations)] pub struct SceKernelUtilsMd5Context { pub h: [u32; 4usize], pub pad: u32, pub us_remains: u16, pub us_computed: u16, pub ull_total_len: u64, pub buf: [u8; 64usize], } #[allow(missing_debug_implementations)] pub struct SceIoDirent { pub d_stat: SceIoStat, pub d_name: [u8; 256usize], pub d_private: *mut c_void, pub dummy: i32, } #[cfg_attr(feature = "extra_traits", derive(Debug))] pub struct ScePspFRect { pub x: f32, pub y: f32, pub w: f32, pub h: f32, } #[repr(align(16))] #[cfg_attr(feature = "extra_traits", derive(Debug))] pub struct ScePspFVector3 { pub x: f32, pub y: f32, pub z: f32, } #[repr(align(16))] #[cfg_attr(feature = "extra_traits", derive(Debug))] pub struct ScePspFVector4 { pub x: f32, pub y: f32, pub z: f32, pub w: f32, } #[cfg_attr(feature = "extra_traits", derive(Debug))] pub struct ScePspFVector4Unaligned { pub x: f32, pub y: f32, pub z: f32, pub w: f32, } #[cfg_attr(feature = "extra_traits", derive(Debug))] pub struct ScePspFVector2 { pub x: f32, pub y: f32, } #[cfg_attr(feature = "extra_traits", derive(Debug))] pub struct ScePspFMatrix2 { pub x: ScePspFVector2, pub y: ScePspFVector2, } #[cfg_attr(feature = "extra_traits", derive(Debug))] pub struct ScePspFMatrix3 { pub x: ScePspFVector3, pub y: ScePspFVector3, pub z: ScePspFVector3, } #[cfg_attr(feature = "extra_traits", derive(Debug))] #[repr(align(16))] pub struct ScePspFMatrix4 { pub x: ScePspFVector4, pub y: ScePspFVector4, pub z: ScePspFVector4, pub w: ScePspFVector4, } #[allow(missing_debug_implementations)] pub struct ScePspFMatrix4Unaligned { pub x: ScePspFVector4, pub y: ScePspFVector4, pub z: ScePspFVector4, pub w: ScePspFVector4, } #[allow(missing_debug_implementations)] pub union ScePspVector3 { pub fv: ScePspFVector3, pub iv: ScePspIVector3, pub f: [f32; 3usize], pub i: [i32; 3usize], } #[allow(missing_debug_implementations)] pub union ScePspVector4 { pub fv: ScePspFVector4, pub iv: ScePspIVector4, pub qw: u128, pub f: [f32; 4usize], pub i: [i32; 4usize], } #[allow(missing_debug_implementations)] pub union ScePspMatrix2 { pub fm: ScePspFMatrix2, pub im: ScePspIMatrix2, pub fv: [ScePspFVector2; 2usize], pub iv: [ScePspIVector2; 2usize], pub v: [ScePspVector2; 2usize], pub f: [[f32; 2usize]; 2usize], pub i: [[i32; 2usize]; 2usize], } #[allow(missing_debug_implementations)] pub union ScePspMatrix3 { pub fm: ScePspFMatrix3, pub im: ScePspIMatrix3, pub fv: [ScePspFVector3; 3usize], pub iv: [ScePspIVector3; 3usize], pub v: [ScePspVector3; 3usize], pub f: [[f32; 3usize]; 3usize], pub i: [[i32; 3usize]; 3usize], } #[allow(missing_debug_implementations)] pub union ScePspVector2 { pub fv: ScePspFVector2, pub iv: ScePspIVector2, pub f: [f32; 2usize], pub i: [i32; 2usize], } #[allow(missing_debug_implementations)] pub union ScePspMatrix4 { pub fm: ScePspFMatrix4, pub im: ScePspIMatrix4, pub fv: [ScePspFVector4; 4usize], pub iv: [ScePspIVector4; 4usize], pub v: [ScePspVector4; 4usize], pub f: [[f32; 4usize]; 4usize], pub i: [[i32; 4usize]; 4usize], } #[allow(missing_debug_implementations)] pub struct Key { pub key_type: KeyType, pub name: [u8; 256usize], pub name_len: u32, pub unk2: u32, pub unk3: u32, } #[allow(missing_debug_implementations)] pub struct UtilityMsgDialogParams { pub base: UtilityDialogCommon, pub unknown: i32, pub mode: UtilityMsgDialogMode, pub error_value: u32, pub message: [u8; 512usize], pub options: i32, pub button_pressed: UtilityMsgDialogPressed, } #[allow(missing_debug_implementations)] pub union UtilityNetData { pub as_uint: u32, pub as_string: [u8; 128usize], } #[allow(missing_debug_implementations)] pub struct UtilitySavedataSFOParam { pub title: [u8; 128usize], pub savedata_title: [u8; 128usize], pub detail: [u8; 1024usize], pub parental_level: u8, pub unknown: [u8; 3usize], } #[allow(missing_debug_implementations)] pub struct SceUtilitySavedataParam { pub base: UtilityDialogCommon, pub mode: UtilitySavedataMode, pub unknown1: i32, pub overwrite: i32, pub game_name: [u8; 13usize], pub reserved: [u8; 3usize], pub save_name: [u8; 20usize], pub save_name_list: *mut [u8; 20usize], pub file_name: [u8; 13usize], pub reserved1: [u8; 3usize], pub data_buf: *mut c_void, pub data_buf_size: usize, pub data_size: usize, pub sfo_param: UtilitySavedataSFOParam, pub icon0_file_data: UtilitySavedataFileData, pub icon1_file_data: UtilitySavedataFileData, pub pic1_file_data: UtilitySavedataFileData, pub snd0_file_data: UtilitySavedataFileData, pub new_data: *mut UtilitySavedataListSaveNewData, pub focus: UtilitySavedataFocus, pub unknown2: [i32; 4usize], pub key: [u8; 16], pub unknown3: [u8; 20], } #[allow(missing_debug_implementations)] pub struct SceNetAdhocctlPeerInfo { pub next: *mut SceNetAdhocctlPeerInfo, pub nickname: [u8; 128usize], pub mac: [u8; 6usize], pub unknown: [u8; 6usize], pub timestamp: u32, } #[allow(missing_debug_implementations)] pub struct SceNetAdhocctlParams { pub channel: i32, pub name: [u8; 8usize], pub bssid: [u8; 6usize], pub nickname: [u8; 128usize], } #[cfg_attr(feature = "extra_traits", allow(missing_debug_implementations))] pub union SceNetApctlInfo { pub name: [u8; 64usize], pub bssid: [u8; 6usize], pub ssid: [u8; 32usize], pub ssid_length: u32, pub security_type: u32, pub strength: u8, pub channel: u8, pub power_save: u8, pub ip: [u8; 16usize], pub sub_net_mask: [u8; 16usize], pub gateway: [u8; 16usize], pub primary_dns: [u8; 16usize], pub secondary_dns: [u8; 16usize], pub use_proxy: u32, pub proxy_url: [u8; 128usize], pub proxy_port: u16, pub eap_type: u32, pub start_browser: u32, pub wifisp: u32, } } pub const INT_MIN: c_int = -2147483648; pub const INT_MAX: c_int = 2147483647; pub const AUDIO_VOLUME_MAX: u32 = 0x8000; pub const AUDIO_CHANNEL_MAX: u32 = 8; pub const AUDIO_NEXT_CHANNEL: i32 = -1; pub const AUDIO_SAMPLE_MIN: u32 = 64; pub const AUDIO_SAMPLE_MAX: u32 = 65472; pub const PSP_CTRL_SELECT: i32 = 0x000001; pub const PSP_CTRL_START: i32 = 0x000008; pub const PSP_CTRL_UP: i32 = 0x000010; pub const PSP_CTRL_RIGHT: i32 = 0x000020; pub const PSP_CTRL_DOWN: i32 = 0x000040; pub const PSP_CTRL_LEFT: i32 = 0x000080; pub const PSP_CTRL_LTRIGGER: i32 = 0x000100; pub const PSP_CTRL_RTRIGGER: i32 = 0x000200; pub const PSP_CTRL_TRIANGLE: i32 = 0x001000; pub const PSP_CTRL_CIRCLE: i32 = 0x002000; pub const PSP_CTRL_CROSS: i32 = 0x004000; pub const PSP_CTRL_SQUARE: i32 = 0x008000; pub const PSP_CTRL_HOME: i32 = 0x010000; pub const PSP_CTRL_HOLD: i32 = 0x020000; pub const PSP_CTRL_NOTE: i32 = 0x800000; pub const PSP_CTRL_SCREEN: i32 = 0x400000; pub const PSP_CTRL_VOLUP: i32 = 0x100000; pub const PSP_CTRL_VOLDOWN: i32 = 0x200000; pub const PSP_CTRL_WLAN_UP: i32 = 0x040000; pub const PSP_CTRL_REMOTE: i32 = 0x080000; pub const PSP_CTRL_DISC: i32 = 0x1000000; pub const PSP_CTRL_MS: i32 = 0x2000000; pub const USB_CAM_PID: i32 = 0x282; pub const USB_BUS_DRIVER_NAME: &str = "USBBusDriver"; pub const USB_CAM_DRIVER_NAME: &str = "USBCamDriver"; pub const USB_CAM_MIC_DRIVER_NAME: &str = "USBCamMicDriver"; pub const USB_STOR_DRIVER_NAME: &str = "USBStor_Driver"; pub const ACTIVATED: i32 = 0x200; pub const CONNECTED: i32 = 0x020; pub const ESTABLISHED: i32 = 0x002; pub const USB_CAM_FLIP: i32 = 1; pub const USB_CAM_MIRROR: i32 = 0x100; pub const THREAD_ATTR_VFPU: i32 = 0x00004000; pub const THREAD_ATTR_USER: i32 = 0x80000000; pub const THREAD_ATTR_USBWLAN: i32 = 0xa0000000; pub const THREAD_ATTR_VSH: i32 = 0xc0000000; pub const THREAD_ATTR_SCRATCH_SRAM: i32 = 0x00008000; pub const THREAD_ATTR_NO_FILLSTACK: i32 = 0x00100000; pub const THREAD_ATTR_CLEAR_STACK: i32 = 0x00200000; pub const EVENT_WAIT_MULTIPLE: i32 = 0x200; pub const EVENT_WAIT_AND: i32 = 0; pub const EVENT_WAIT_OR: i32 = 1; pub const EVENT_WAIT_CLEAR: i32 = 0x20; pub const POWER_INFO_POWER_SWITCH: i32 = 0x80000000; pub const POWER_INFO_HOLD_SWITCH: i32 = 0x40000000; pub const POWER_INFO_STANDBY: i32 = 0x00080000; pub const POWER_INFO_RESUME_COMPLETE: i32 = 0x00040000; pub const POWER_INFO_RESUMING: i32 = 0x00020000; pub const POWER_INFO_SUSPENDING: i32 = 0x00010000; pub const POWER_INFO_AC_POWER: i32 = 0x00001000; pub const POWER_INFO_BATTERY_LOW: i32 = 0x00000100; pub const POWER_INFO_BATTERY_EXIST: i32 = 0x00000080; pub const POWER_INFO_BATTERY_POWER: i32 = 0x0000007; pub const FIO_S_IFLNK: i32 = 0x4000; pub const FIO_S_IFDIR: i32 = 0x1000; pub const FIO_S_IFREG: i32 = 0x2000; pub const FIO_S_ISUID: i32 = 0x0800; pub const FIO_S_ISGID: i32 = 0x0400; pub const FIO_S_ISVTX: i32 = 0x0200; pub const FIO_S_IRUSR: i32 = 0x0100; pub const FIO_S_IWUSR: i32 = 0x0080; pub const FIO_S_IXUSR: i32 = 0x0040; pub const FIO_S_IRGRP: i32 = 0x0020; pub const FIO_S_IWGRP: i32 = 0x0010; pub const FIO_S_IXGRP: i32 = 0x0008; pub const FIO_S_IROTH: i32 = 0x0004; pub const FIO_S_IWOTH: i32 = 0x0002; pub const FIO_S_IXOTH: i32 = 0x0001; pub const FIO_SO_IFLNK: i32 = 0x0008; pub const FIO_SO_IFDIR: i32 = 0x0010; pub const FIO_SO_IFREG: i32 = 0x0020; pub const FIO_SO_IROTH: i32 = 0x0004; pub const FIO_SO_IWOTH: i32 = 0x0002; pub const FIO_SO_IXOTH: i32 = 0x0001; pub const PSP_O_RD_ONLY: i32 = 0x0001; pub const PSP_O_WR_ONLY: i32 = 0x0002; pub const PSP_O_RD_WR: i32 = 0x0003; pub const PSP_O_NBLOCK: i32 = 0x0004; pub const PSP_O_DIR: i32 = 0x0008; pub const PSP_O_APPEND: i32 = 0x0100; pub const PSP_O_CREAT: i32 = 0x0200; pub const PSP_O_TRUNC: i32 = 0x0400; pub const PSP_O_EXCL: i32 = 0x0800; pub const PSP_O_NO_WAIT: i32 = 0x8000; pub const UMD_NOT_PRESENT: i32 = 0x01; pub const UMD_PRESENT: i32 = 0x02; pub const UMD_CHANGED: i32 = 0x04; pub const UMD_INITING: i32 = 0x08; pub const UMD_INITED: i32 = 0x10; pub const UMD_READY: i32 = 0x20; pub const PLAY_PAUSE: i32 = 0x1; pub const FORWARD: i32 = 0x4; pub const BACK: i32 = 0x8; pub const VOL_UP: i32 = 0x10; pub const VOL_DOWN: i32 = 0x20; pub const HOLD: i32 = 0x80; pub const GU_PI: f32 = 3.141593; pub const GU_TEXTURE_8BIT: i32 = 1; pub const GU_TEXTURE_16BIT: i32 = 2; pub const GU_TEXTURE_32BITF: i32 = 3; pub const GU_COLOR_5650: i32 = 4 << 2; pub const GU_COLOR_5551: i32 = 5 << 2; pub const GU_COLOR_4444: i32 = 6 << 2; pub const GU_COLOR_8888: i32 = 7 << 2; pub const GU_NORMAL_8BIT: i32 = 1 << 5; pub const GU_NORMAL_16BIT: i32 = 2 << 5; pub const GU_NORMAL_32BITF: i32 = 3 << 5; pub const GU_VERTEX_8BIT: i32 = 1 << 7; pub const GU_VERTEX_16BIT: i32 = 2 << 7; pub const GU_VERTEX_32BITF: i32 = 3 << 7; pub const GU_WEIGHT_8BIT: i32 = 1 << 9; pub const GU_WEIGHT_16BIT: i32 = 2 << 9; pub const GU_WEIGHT_32BITF: i32 = 3 << 9; pub const GU_INDEX_8BIT: i32 = 1 << 11; pub const GU_INDEX_16BIT: i32 = 2 << 11; pub const GU_WEIGHTS1: i32 = (((1 - 1) & 7) << 14) as i32; pub const GU_WEIGHTS2: i32 = (((2 - 1) & 7) << 14) as i32; pub const GU_WEIGHTS3: i32 = (((3 - 1) & 7) << 14) as i32; pub const GU_WEIGHTS4: i32 = (((4 - 1) & 7) << 14) as i32; pub const GU_WEIGHTS5: i32 = (((5 - 1) & 7) << 14) as i32; pub const GU_WEIGHTS6: i32 = (((6 - 1) & 7) << 14) as i32; pub const GU_WEIGHTS7: i32 = (((7 - 1) & 7) << 14) as i32; pub const GU_WEIGHTS8: i32 = (((8 - 1) & 7) << 14) as i32; pub const GU_VERTICES1: i32 = (((1 - 1) & 7) << 18) as i32; pub const GU_VERTICES2: i32 = (((2 - 1) & 7) << 18) as i32; pub const GU_VERTICES3: i32 = (((3 - 1) & 7) << 18) as i32; pub const GU_VERTICES4: i32 = (((4 - 1) & 7) << 18) as i32; pub const GU_VERTICES5: i32 = (((5 - 1) & 7) << 18) as i32; pub const GU_VERTICES6: i32 = (((6 - 1) & 7) << 18) as i32; pub const GU_VERTICES7: i32 = (((7 - 1) & 7) << 18) as i32; pub const GU_VERTICES8: i32 = (((8 - 1) & 7) << 18) as i32; pub const GU_TRANSFORM_2D: i32 = 1 << 23; pub const GU_TRANSFORM_3D: i32 = 0; pub const GU_COLOR_BUFFER_BIT: i32 = 1; pub const GU_STENCIL_BUFFER_BIT: i32 = 2; pub const GU_DEPTH_BUFFER_BIT: i32 = 4; pub const GU_FAST_CLEAR_BIT: i32 = 16; pub const GU_AMBIENT: i32 = 1; pub const GU_DIFFUSE: i32 = 2; pub const GU_SPECULAR: i32 = 4; pub const GU_UNKNOWN_LIGHT_COMPONENT: i32 = 8; pub const SYSTEM_REGISTRY: [u8; 7] = *b"/system"; pub const REG_KEYNAME_SIZE: u32 = 27; pub const UTILITY_MSGDIALOG_ERROR: i32 = 0; pub const UTILITY_MSGDIALOG_TEXT: i32 = 1; pub const UTILITY_MSGDIALOG_YES_NO_BUTTONS: i32 = 0x10; pub const UTILITY_MSGDIALOG_DEFAULT_NO: i32 = 0x100; pub const UTILITY_HTMLVIEWER_OPEN_SCE_START_PAGE: i32 = 0x000001; pub const UTILITY_HTMLVIEWER_DISABLE_STARTUP_LIMITS: i32 = 0x000002; pub const UTILITY_HTMLVIEWER_DISABLE_EXIT_DIALOG: i32 = 0x000004; pub const UTILITY_HTMLVIEWER_DISABLE_CURSOR: i32 = 0x000008; pub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_COMPLETE_DIALOG: i32 = 0x000010; pub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_START_DIALOG: i32 = 0x000020; pub const UTILITY_HTMLVIEWER_DISABLE_DOWNLOAD_DESTINATION_DIALOG: i32 = 0x000040; pub const UTILITY_HTMLVIEWER_LOCK_DOWNLOAD_DESTINATION_DIALOG: i32 = 0x000080; pub const UTILITY_HTMLVIEWER_DISABLE_TAB_DISPLAY: i32 = 0x000100; pub const UTILITY_HTMLVIEWER_ENABLE_ANALOG_HOLD: i32 = 0x000200; pub const UTILITY_HTMLVIEWER_ENABLE_FLASH: i32 = 0x000400; pub const UTILITY_HTMLVIEWER_DISABLE_LRTRIGGER: i32 = 0x000800; extern "C" { pub fn sceAudioChReserve(channel: i32, sample_count: i32, format: AudioFormat) -> i32; pub fn sceAudioChRelease(channel: i32) -> i32; pub fn sceAudioOutput(channel: i32, vol: i32, buf: *mut c_void) -> i32; pub fn sceAudioOutputBlocking(channel: i32, vol: i32, buf: *mut c_void) -> i32; pub fn sceAudioOutputPanned( channel: i32, left_vol: i32, right_vol: i32, buf: *mut c_void, ) -> i32; pub fn sceAudioOutputPannedBlocking( channel: i32, left_vol: i32, right_vol: i32, buf: *mut c_void, ) -> i32; pub fn sceAudioGetChannelRestLen(channel: i32) -> i32; pub fn sceAudioGetChannelRestLength(channel: i32) -> i32; pub fn sceAudioSetChannelDataLen(channel: i32, sample_count: i32) -> i32; pub fn sceAudioChangeChannelConfig(channel: i32, format: AudioFormat) -> i32; pub fn sceAudioChangeChannelVolume(channel: i32, left_vol: i32, right_vol: i32) -> i32; pub fn sceAudioOutput2Reserve(sample_count: i32) -> i32; pub fn sceAudioOutput2Release() -> i32; pub fn sceAudioOutput2ChangeLength(sample_count: i32) -> i32; pub fn sceAudioOutput2OutputBlocking(vol: i32, buf: *mut c_void) -> i32; pub fn sceAudioOutput2GetRestSample() -> i32; pub fn sceAudioSRCChReserve( sample_count: i32, freq: AudioOutputFrequency, channels: i32, ) -> i32; pub fn sceAudioSRCChRelease() -> i32; pub fn sceAudioSRCOutputBlocking(vol: i32, buf: *mut c_void) -> i32; pub fn sceAudioInputInit(unknown1: i32, gain: i32, unknown2: i32) -> i32; pub fn sceAudioInputInitEx(params: *mut AudioInputParams) -> i32; pub fn sceAudioInputBlocking(sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void); pub fn sceAudioInput(sample_count: i32, freq: AudioInputFrequency, buf: *mut c_void); pub fn sceAudioGetInputLength() -> i32; pub fn sceAudioWaitInputEnd() -> i32; pub fn sceAudioPollInputEnd() -> i32; pub fn sceAtracGetAtracID(ui_codec_type: u32) -> i32; pub fn sceAtracSetDataAndGetID(buf: *mut c_void, bufsize: usize) -> i32; pub fn sceAtracDecodeData( atrac_id: i32, out_samples: *mut u16, out_n: *mut i32, out_end: *mut i32, out_remain_frame: *mut i32, ) -> i32; pub fn sceAtracGetRemainFrame(atrac_id: i32, out_remain_frame: *mut i32) -> i32; pub fn sceAtracGetStreamDataInfo( atrac_id: i32, write_pointer: *mut *mut u8, available_bytes: *mut u32, read_offset: *mut u32, ) -> i32; pub fn sceAtracAddStreamData(atrac_id: i32, bytes_to_add: u32) -> i32; pub fn sceAtracGetBitrate(atrac_id: i32, out_bitrate: *mut i32) -> i32; pub fn sceAtracSetLoopNum(atrac_id: i32, nloops: i32) -> i32; pub fn sceAtracReleaseAtracID(atrac_id: i32) -> i32; pub fn sceAtracGetNextSample(atrac_id: i32, out_n: *mut i32) -> i32; pub fn sceAtracGetMaxSample(atrac_id: i32, out_max: *mut i32) -> i32; pub fn sceAtracGetBufferInfoForReseting( atrac_id: i32, ui_sample: u32, pbuffer_info: *mut Atrac3BufferInfo, ) -> i32; pub fn sceAtracGetChannel(atrac_id: i32, pui_channel: *mut u32) -> i32; pub fn sceAtracGetInternalErrorInfo(atrac_id: i32, pi_result: *mut i32) -> i32; pub fn sceAtracGetLoopStatus( atrac_id: i32, pi_loop_num: *mut i32, pui_loop_status: *mut u32, ) -> i32; pub fn sceAtracGetNextDecodePosition(atrac_id: i32, pui_sample_position: *mut u32) -> i32; pub fn sceAtracGetSecondBufferInfo( atrac_id: i32, pui_position: *mut u32, pui_data_byte: *mut u32, ) -> i32; pub fn sceAtracGetSoundSample( atrac_id: i32, pi_end_sample: *mut i32, pi_loop_start_sample: *mut i32, pi_loop_end_sample: *mut i32, ) -> i32; pub fn sceAtracResetPlayPosition( atrac_id: i32, ui_sample: u32, ui_write_byte_first_buf: u32, ui_write_byte_second_buf: u32, ) -> i32; pub fn sceAtracSetData(atrac_id: i32, puc_buffer_addr: *mut u8, ui_buffer_byte: u32) -> i32; pub fn sceAtracSetHalfwayBuffer( atrac_id: i32, puc_buffer_addr: *mut u8, ui_read_byte: u32, ui_buffer_byte: u32, ) -> i32; pub fn sceAtracSetHalfwayBufferAndGetID( puc_buffer_addr: *mut u8, ui_read_byte: u32, ui_buffer_byte: u32, ) -> i32; pub fn sceAtracSetSecondBuffer( atrac_id: i32, puc_second_buffer_addr: *mut u8, ui_second_buffer_byte: u32, ) -> i32; pub fn sceCtrlSetSamplingCycle(cycle: i32) -> i32; pub fn sceCtrlGetSamplingCycle(pcycle: *mut i32) -> i32; pub fn sceCtrlSetSamplingMode(mode: CtrlMode) -> i32; pub fn sceCtrlGetSamplingMode(pmode: *mut i32) -> i32; pub fn sceCtrlPeekBufferPositive(pad_data: *mut SceCtrlData, count: i32) -> i32; pub fn sceCtrlPeekBufferNegative(pad_data: *mut SceCtrlData, count: i32) -> i32; pub fn sceCtrlReadBufferPositive(pad_data: *mut SceCtrlData, count: i32) -> i32; pub fn sceCtrlReadBufferNegative(pad_data: *mut SceCtrlData, count: i32) -> i32; pub fn sceCtrlPeekLatch(latch_data: *mut SceCtrlLatch) -> i32; pub fn sceCtrlReadLatch(latch_data: *mut SceCtrlLatch) -> i32; pub fn sceCtrlSetIdleCancelThreshold(idlereset: i32, idleback: i32) -> i32; pub fn sceCtrlGetIdleCancelThreshold(idlereset: *mut i32, idleback: *mut i32) -> i32; pub fn sceDisplaySetMode(mode: DisplayMode, width: usize, height: usize) -> u32; pub fn sceDisplayGetMode(pmode: *mut i32, pwidth: *mut i32, pheight: *mut i32) -> i32; pub fn sceDisplaySetFrameBuf( top_addr: *const u8, buffer_width: usize, pixel_format: DisplayPixelFormat, sync: DisplaySetBufSync, ) -> u32; pub fn sceDisplayGetFrameBuf( top_addr: *mut *mut c_void, buffer_width: *mut usize, pixel_format: *mut DisplayPixelFormat, sync: DisplaySetBufSync, ) -> i32; pub fn sceDisplayGetVcount() -> u32; pub fn sceDisplayWaitVblank() -> i32; pub fn sceDisplayWaitVblankCB() -> i32; pub fn sceDisplayWaitVblankStart() -> i32; pub fn sceDisplayWaitVblankStartCB() -> i32; pub fn sceDisplayGetAccumulatedHcount() -> i32; pub fn sceDisplayGetCurrentHcount() -> i32; pub fn sceDisplayGetFramePerSec() -> f32; pub fn sceDisplayIsForeground() -> i32; pub fn sceDisplayIsVblank() -> i32; pub fn sceGeEdramGetSize() -> u32; pub fn sceGeEdramGetAddr() -> *mut u8; pub fn sceGeEdramSetAddrTranslation(width: i32) -> i32; pub fn sceGeGetCmd(cmd: i32) -> u32; pub fn sceGeGetMtx(type_: GeMatrixType, matrix: *mut c_void) -> i32; pub fn sceGeGetStack(stack_id: i32, stack: *mut GeStack) -> i32; pub fn sceGeSaveContext(context: *mut GeContext) -> i32; pub fn sceGeRestoreContext(context: *const GeContext) -> i32; pub fn sceGeListEnQueue( list: *const c_void, stall: *mut c_void, cbid: i32, arg: *mut GeListArgs, ) -> i32; pub fn sceGeListEnQueueHead( list: *const c_void, stall: *mut c_void, cbid: i32, arg: *mut GeListArgs, ) -> i32; pub fn sceGeListDeQueue(qid: i32) -> i32; pub fn sceGeListUpdateStallAddr(qid: i32, stall: *mut c_void) -> i32; pub fn sceGeListSync(qid: i32, sync_type: i32) -> GeListState; pub fn sceGeDrawSync(sync_type: i32) -> GeListState; pub fn sceGeBreak(mode: i32, p_param: *mut GeBreakParam) -> i32; pub fn sceGeContinue() -> i32; pub fn sceGeSetCallback(cb: *mut GeCallbackData) -> i32; pub fn sceGeUnsetCallback(cbid: i32) -> i32; pub fn sceKernelExitGame(); pub fn sceKernelRegisterExitCallback(id: SceUid) -> i32; pub fn sceKernelLoadExec(file: *const u8, param: *mut SceKernelLoadExecParam) -> i32; pub fn sceKernelAllocPartitionMemory( partition: SceSysMemPartitionId, name: *const u8, type_: SceSysMemBlockTypes, size: u32, addr: *mut c_void, ) -> SceUid; pub fn sceKernelGetBlockHeadAddr(blockid: SceUid) -> *mut c_void; pub fn sceKernelFreePartitionMemory(blockid: SceUid) -> i32; pub fn sceKernelTotalFreeMemSize() -> usize; pub fn sceKernelMaxFreeMemSize() -> usize; pub fn sceKernelDevkitVersion() -> u32; pub fn sceKernelSetCompiledSdkVersion(version: u32) -> i32; pub fn sceKernelGetCompiledSdkVersion() -> u32; pub fn sceKernelLibcTime(t: *mut i32) -> i32; pub fn sceKernelLibcClock() -> u32; pub fn sceKernelLibcGettimeofday(tp: *mut timeval, tzp: *mut timezone) -> i32; pub fn sceKernelDcacheWritebackAll(); pub fn sceKernelDcacheWritebackInvalidateAll(); pub fn sceKernelDcacheWritebackRange(p: *const c_void, size: u32); pub fn sceKernelDcacheWritebackInvalidateRange(p: *const c_void, size: u32); pub fn sceKernelDcacheInvalidateRange(p: *const c_void, size: u32); pub fn sceKernelIcacheInvalidateAll(); pub fn sceKernelIcacheInvalidateRange(p: *const c_void, size: u32); pub fn sceKernelUtilsMt19937Init(ctx: *mut SceKernelUtilsMt19937Context, seed: u32) -> i32; pub fn sceKernelUtilsMt19937UInt(ctx: *mut SceKernelUtilsMt19937Context) -> u32; pub fn sceKernelUtilsMd5Digest(data: *mut u8, size: u32, digest: *mut u8) -> i32; pub fn sceKernelUtilsMd5BlockInit(ctx: *mut SceKernelUtilsMd5Context) -> i32; pub fn sceKernelUtilsMd5BlockUpdate( ctx: *mut SceKernelUtilsMd5Context, data: *mut u8, size: u32, ) -> i32; pub fn sceKernelUtilsMd5BlockResult(ctx: *mut SceKernelUtilsMd5Context, digest: *mut u8) -> i32; pub fn sceKernelUtilsSha1Digest(data: *mut u8, size: u32, digest: *mut u8) -> i32; pub fn sceKernelUtilsSha1BlockInit(ctx: *mut SceKernelUtilsSha1Context) -> i32; pub fn sceKernelUtilsSha1BlockUpdate( ctx: *mut SceKernelUtilsSha1Context, data: *mut u8, size: u32, ) -> i32; pub fn sceKernelUtilsSha1BlockResult( ctx: *mut SceKernelUtilsSha1Context, digest: *mut u8, ) -> i32; pub fn sceKernelRegisterSubIntrHandler( int_no: i32, no: i32, handler: *mut c_void, arg: *mut c_void, ) -> i32; pub fn sceKernelReleaseSubIntrHandler(int_no: i32, no: i32) -> i32; pub fn sceKernelEnableSubIntr(int_no: i32, no: i32) -> i32; pub fn sceKernelDisableSubIntr(int_no: i32, no: i32) -> i32; pub fn QueryIntrHandlerInfo( intr_code: SceUid, sub_intr_code: SceUid, data: *mut IntrHandlerOptionParam, ) -> i32; pub fn sceKernelCpuSuspendIntr() -> u32; pub fn sceKernelCpuResumeIntr(flags: u32); pub fn sceKernelCpuResumeIntrWithSync(flags: u32); pub fn sceKernelIsCpuIntrSuspended(flags: u32) -> i32; pub fn sceKernelIsCpuIntrEnable() -> i32; pub fn sceKernelLoadModule( path: *const u8, flags: i32, option: *mut SceKernelLMOption, ) -> SceUid; pub fn sceKernelLoadModuleMs( path: *const u8, flags: i32, option: *mut SceKernelLMOption, ) -> SceUid; pub fn sceKernelLoadModuleByID( fid: SceUid, flags: i32, option: *mut SceKernelLMOption, ) -> SceUid; pub fn sceKernelLoadModuleBufferUsbWlan( buf_size: usize, buf: *mut c_void, flags: i32, option: *mut SceKernelLMOption, ) -> SceUid; pub fn sceKernelStartModule( mod_id: SceUid, arg_size: usize, argp: *mut c_void, status: *mut i32, option: *mut SceKernelSMOption, ) -> i32; pub fn sceKernelStopModule( mod_id: SceUid, arg_size: usize, argp: *mut c_void, status: *mut i32, option: *mut SceKernelSMOption, ) -> i32; pub fn sceKernelUnloadModule(mod_id: SceUid) -> i32; pub fn sceKernelSelfStopUnloadModule(unknown: i32, arg_size: usize, argp: *mut c_void) -> i32; pub fn sceKernelStopUnloadSelfModule( arg_size: usize, argp: *mut c_void, status: *mut i32, option: *mut SceKernelSMOption, ) -> i32; pub fn sceKernelQueryModuleInfo(mod_id: SceUid, info: *mut SceKernelModuleInfo) -> i32; pub fn sceKernelGetModuleIdList( read_buf: *mut SceUid, read_buf_size: i32, id_count: *mut i32, ) -> i32; pub fn sceKernelVolatileMemLock(unk: i32, ptr: *mut *mut c_void, size: *mut i32) -> i32; pub fn sceKernelVolatileMemTryLock(unk: i32, ptr: *mut *mut c_void, size: *mut i32) -> i32; pub fn sceKernelVolatileMemUnlock(unk: i32) -> i32; pub fn sceKernelStdin() -> SceUid; pub fn sceKernelStdout() -> SceUid; pub fn sceKernelStderr() -> SceUid; pub fn sceKernelGetThreadmanIdType(uid: SceUid) -> SceKernelIdListType; pub fn sceKernelCreateThread( name: *const u8, entry: SceKernelThreadEntry, init_priority: i32, stack_size: i32, attr: i32, option: *mut SceKernelThreadOptParam, ) -> SceUid; pub fn sceKernelDeleteThread(thid: SceUid) -> i32; pub fn sceKernelStartThread(id: SceUid, arg_len: usize, arg_p: *mut c_void) -> i32; pub fn sceKernelExitThread(status: i32) -> i32; pub fn sceKernelExitDeleteThread(status: i32) -> i32; pub fn sceKernelTerminateThread(thid: SceUid) -> i32; pub fn sceKernelTerminateDeleteThread(thid: SceUid) -> i32; pub fn sceKernelSuspendDispatchThread() -> i32; pub fn sceKernelResumeDispatchThread(state: i32) -> i32; pub fn sceKernelSleepThread() -> i32; pub fn sceKernelSleepThreadCB() -> i32; pub fn sceKernelWakeupThread(thid: SceUid) -> i32; pub fn sceKernelCancelWakeupThread(thid: SceUid) -> i32; pub fn sceKernelSuspendThread(thid: SceUid) -> i32; pub fn sceKernelResumeThread(thid: SceUid) -> i32; pub fn sceKernelWaitThreadEnd(thid: SceUid, timeout: *mut u32) -> i32; pub fn sceKernelWaitThreadEndCB(thid: SceUid, timeout: *mut u32) -> i32; pub fn sceKernelDelayThread(delay: u32) -> i32; pub fn sceKernelDelayThreadCB(delay: u32) -> i32; pub fn sceKernelDelaySysClockThread(delay: *mut SceKernelSysClock) -> i32; pub fn sceKernelDelaySysClockThreadCB(delay: *mut SceKernelSysClock) -> i32; pub fn sceKernelChangeCurrentThreadAttr(unknown: i32, attr: i32) -> i32; pub fn sceKernelChangeThreadPriority(thid: SceUid, priority: i32) -> i32; pub fn sceKernelRotateThreadReadyQueue(priority: i32) -> i32; pub fn sceKernelReleaseWaitThread(thid: SceUid) -> i32; pub fn sceKernelGetThreadId() -> i32; pub fn sceKernelGetThreadCurrentPriority() -> i32; pub fn sceKernelGetThreadExitStatus(thid: SceUid) -> i32; pub fn sceKernelCheckThreadStack() -> i32; pub fn sceKernelGetThreadStackFreeSize(thid: SceUid) -> i32; pub fn sceKernelReferThreadStatus(thid: SceUid, info: *mut SceKernelThreadInfo) -> i32; pub fn sceKernelReferThreadRunStatus( thid: SceUid, status: *mut SceKernelThreadRunStatus, ) -> i32; pub fn sceKernelCreateSema( name: *const u8, attr: u32, init_val: i32, max_val: i32, option: *mut SceKernelSemaOptParam, ) -> SceUid; pub fn sceKernelDeleteSema(sema_id: SceUid) -> i32; pub fn sceKernelSignalSema(sema_id: SceUid, signal: i32) -> i32; pub fn sceKernelWaitSema(sema_id: SceUid, signal: i32, timeout: *mut u32) -> i32; pub fn sceKernelWaitSemaCB(sema_id: SceUid, signal: i32, timeout: *mut u32) -> i32; pub fn sceKernelPollSema(sema_id: SceUid, signal: i32) -> i32; pub fn sceKernelReferSemaStatus(sema_id: SceUid, info: *mut SceKernelSemaInfo) -> i32; pub fn sceKernelCreateEventFlag( name: *const u8, attr: i32, bits: i32, opt: *mut SceKernelEventFlagOptParam, ) -> SceUid; pub fn sceKernelSetEventFlag(ev_id: SceUid, bits: u32) -> i32; pub fn sceKernelClearEventFlag(ev_id: SceUid, bits: u32) -> i32; pub fn sceKernelPollEventFlag(ev_id: SceUid, bits: u32, wait: i32, out_bits: *mut u32) -> i32; pub fn sceKernelWaitEventFlag( ev_id: SceUid, bits: u32, wait: i32, out_bits: *mut u32, timeout: *mut u32, ) -> i32; pub fn sceKernelWaitEventFlagCB( ev_id: SceUid, bits: u32, wait: i32, out_bits: *mut u32, timeout: *mut u32, ) -> i32; pub fn sceKernelDeleteEventFlag(ev_id: SceUid) -> i32; pub fn sceKernelReferEventFlagStatus(event: SceUid, status: *mut SceKernelEventFlagInfo) -> i32; pub fn sceKernelCreateMbx( name: *const u8, attr: u32, option: *mut SceKernelMbxOptParam, ) -> SceUid; pub fn sceKernelDeleteMbx(mbx_id: SceUid) -> i32; pub fn sceKernelSendMbx(mbx_id: SceUid, message: *mut c_void) -> i32; pub fn sceKernelReceiveMbx(mbx_id: SceUid, message: *mut *mut c_void, timeout: *mut u32) -> i32; pub fn sceKernelReceiveMbxCB( mbx_id: SceUid, message: *mut *mut c_void, timeout: *mut u32, ) -> i32; pub fn sceKernelPollMbx(mbx_id: SceUid, pmessage: *mut *mut c_void) -> i32; pub fn sceKernelCancelReceiveMbx(mbx_id: SceUid, num: *mut i32) -> i32; pub fn sceKernelReferMbxStatus(mbx_id: SceUid, info: *mut SceKernelMbxInfo) -> i32; pub fn sceKernelSetAlarm( clock: u32, handler: SceKernelAlarmHandler, common: *mut c_void, ) -> SceUid; pub fn sceKernelSetSysClockAlarm( clock: *mut SceKernelSysClock, handler: *mut SceKernelAlarmHandler, common: *mut c_void, ) -> SceUid; pub fn sceKernelCancelAlarm(alarm_id: SceUid) -> i32; pub fn sceKernelReferAlarmStatus(alarm_id: SceUid, info: *mut SceKernelAlarmInfo) -> i32; pub fn sceKernelCreateCallback( name: *const u8, func: SceKernelCallbackFunction, arg: *mut c_void, ) -> SceUid; pub fn sceKernelReferCallbackStatus(cb: SceUid, status: *mut SceKernelCallbackInfo) -> i32; pub fn sceKernelDeleteCallback(cb: SceUid) -> i32; pub fn sceKernelNotifyCallback(cb: SceUid, arg2: i32) -> i32; pub fn sceKernelCancelCallback(cb: SceUid) -> i32; pub fn sceKernelGetCallbackCount(cb: SceUid) -> i32; pub fn sceKernelCheckCallback() -> i32; pub fn sceKernelGetThreadmanIdList( type_: SceKernelIdListType, read_buf: *mut SceUid, read_buf_size: i32, id_count: *mut i32, ) -> i32; pub fn sceKernelReferSystemStatus(status: *mut SceKernelSystemStatus) -> i32; pub fn sceKernelCreateMsgPipe( name: *const u8, part: i32, attr: i32, unk1: *mut c_void, opt: *mut c_void, ) -> SceUid; pub fn sceKernelDeleteMsgPipe(uid: SceUid) -> i32; pub fn sceKernelSendMsgPipe( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, timeout: *mut u32, ) -> i32; pub fn sceKernelSendMsgPipeCB( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, timeout: *mut u32, ) -> i32; pub fn sceKernelTrySendMsgPipe( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, ) -> i32; pub fn sceKernelReceiveMsgPipe( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, timeout: *mut u32, ) -> i32; pub fn sceKernelReceiveMsgPipeCB( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, timeout: *mut u32, ) -> i32; pub fn sceKernelTryReceiveMsgPipe( uid: SceUid, message: *mut c_void, size: u32, unk1: i32, unk2: *mut c_void, ) -> i32; pub fn sceKernelCancelMsgPipe(uid: SceUid, send: *mut i32, recv: *mut i32) -> i32; pub fn sceKernelReferMsgPipeStatus(uid: SceUid, info: *mut SceKernelMppInfo) -> i32; pub fn sceKernelCreateVpl( name: *const u8, part: i32, attr: i32, size: u32, opt: *mut SceKernelVplOptParam, ) -> SceUid; pub fn sceKernelDeleteVpl(uid: SceUid) -> i32; pub fn sceKernelAllocateVpl( uid: SceUid, size: u32, data: *mut *mut c_void, timeout: *mut u32, ) -> i32; pub fn sceKernelAllocateVplCB( uid: SceUid, size: u32, data: *mut *mut c_void, timeout: *mut u32, ) -> i32; pub fn sceKernelTryAllocateVpl(uid: SceUid, size: u32, data: *mut *mut c_void) -> i32; pub fn sceKernelFreeVpl(uid: SceUid, data: *mut c_void) -> i32; pub fn sceKernelCancelVpl(uid: SceUid, num: *mut i32) -> i32; pub fn sceKernelReferVplStatus(uid: SceUid, info: *mut SceKernelVplInfo) -> i32; pub fn sceKernelCreateFpl( name: *const u8, part: i32, attr: i32, size: u32, blocks: u32, opt: *mut SceKernelFplOptParam, ) -> i32; pub fn sceKernelDeleteFpl(uid: SceUid) -> i32; pub fn sceKernelAllocateFpl(uid: SceUid, data: *mut *mut c_void, timeout: *mut u32) -> i32; pub fn sceKernelAllocateFplCB(uid: SceUid, data: *mut *mut c_void, timeout: *mut u32) -> i32; pub fn sceKernelTryAllocateFpl(uid: SceUid, data: *mut *mut c_void) -> i32; pub fn sceKernelFreeFpl(uid: SceUid, data: *mut c_void) -> i32; pub fn sceKernelCancelFpl(uid: SceUid, pnum: *mut i32) -> i32; pub fn sceKernelReferFplStatus(uid: SceUid, info: *mut SceKernelFplInfo) -> i32; pub fn sceKernelUSec2SysClock(usec: u32, clock: *mut SceKernelSysClock) -> i32; pub fn sceKernelUSec2SysClockWide(usec: u32) -> i64; pub fn sceKernelSysClock2USec( clock: *mut SceKernelSysClock, low: *mut u32, high: *mut u32, ) -> i32; pub fn sceKernelSysClock2USecWide(clock: i64, low: *mut u32, high: *mut u32) -> i32; pub fn sceKernelGetSystemTime(time: *mut SceKernelSysClock) -> i32; pub fn sceKernelGetSystemTimeWide() -> i64; pub fn sceKernelGetSystemTimeLow() -> u32; pub fn sceKernelCreateVTimer(name: *const u8, opt: *mut SceKernelVTimerOptParam) -> SceUid; pub fn sceKernelDeleteVTimer(uid: SceUid) -> i32; pub fn sceKernelGetVTimerBase(uid: SceUid, base: *mut SceKernelSysClock) -> i32; pub fn sceKernelGetVTimerBaseWide(uid: SceUid) -> i64; pub fn sceKernelGetVTimerTime(uid: SceUid, time: *mut SceKernelSysClock) -> i32; pub fn sceKernelGetVTimerTimeWide(uid: SceUid) -> i64; pub fn sceKernelSetVTimerTime(uid: SceUid, time: *mut SceKernelSysClock) -> i32; pub fn sceKernelSetVTimerTimeWide(uid: SceUid, time: i64) -> i64; pub fn sceKernelStartVTimer(uid: SceUid) -> i32; pub fn sceKernelStopVTimer(uid: SceUid) -> i32; pub fn sceKernelSetVTimerHandler( uid: SceUid, time: *mut SceKernelSysClock, handler: SceKernelVTimerHandler, common: *mut c_void, ) -> i32; pub fn sceKernelSetVTimerHandlerWide( uid: SceUid, time: i64, handler: SceKernelVTimerHandlerWide, common: *mut c_void, ) -> i32; pub fn sceKernelCancelVTimerHandler(uid: SceUid) -> i32; pub fn sceKernelReferVTimerStatus(uid: SceUid, info: *mut SceKernelVTimerInfo) -> i32; pub fn sceKernelRegisterThreadEventHandler( name: *const u8, thread_id: SceUid, mask: i32, handler: SceKernelThreadEventHandler, common: *mut c_void, ) -> SceUid; pub fn sceKernelReleaseThreadEventHandler(uid: SceUid) -> i32; pub fn sceKernelReferThreadEventHandlerStatus( uid: SceUid, info: *mut SceKernelThreadEventHandlerInfo, ) -> i32; pub fn sceKernelReferThreadProfiler() -> *mut DebugProfilerRegs; pub fn sceKernelReferGlobalProfiler() -> *mut DebugProfilerRegs; pub fn sceUsbStart(driver_name: *const u8, size: i32, args: *mut c_void) -> i32; pub fn sceUsbStop(driver_name: *const u8, size: i32, args: *mut c_void) -> i32; pub fn sceUsbActivate(pid: u32) -> i32; pub fn sceUsbDeactivate(pid: u32) -> i32; pub fn sceUsbGetState() -> i32; pub fn sceUsbGetDrvState(driver_name: *const u8) -> i32; } extern "C" { pub fn sceUsbCamSetupStill(param: *mut UsbCamSetupStillParam) -> i32; pub fn sceUsbCamSetupStillEx(param: *mut UsbCamSetupStillExParam) -> i32; pub fn sceUsbCamStillInputBlocking(buf: *mut u8, size: usize) -> i32; pub fn sceUsbCamStillInput(buf: *mut u8, size: usize) -> i32; pub fn sceUsbCamStillWaitInputEnd() -> i32; pub fn sceUsbCamStillPollInputEnd() -> i32; pub fn sceUsbCamStillCancelInput() -> i32; pub fn sceUsbCamStillGetInputLength() -> i32; pub fn sceUsbCamSetupVideo( param: *mut UsbCamSetupVideoParam, work_area: *mut c_void, work_area_size: i32, ) -> i32; pub fn sceUsbCamSetupVideoEx( param: *mut UsbCamSetupVideoExParam, work_area: *mut c_void, work_area_size: i32, ) -> i32; pub fn sceUsbCamStartVideo() -> i32; pub fn sceUsbCamStopVideo() -> i32; pub fn sceUsbCamReadVideoFrameBlocking(buf: *mut u8, size: usize) -> i32; pub fn sceUsbCamReadVideoFrame(buf: *mut u8, size: usize) -> i32; pub fn sceUsbCamWaitReadVideoFrameEnd() -> i32; pub fn sceUsbCamPollReadVideoFrameEnd() -> i32; pub fn sceUsbCamGetReadVideoFrameSize() -> i32; pub fn sceUsbCamSetSaturation(saturation: i32) -> i32; pub fn sceUsbCamSetBrightness(brightness: i32) -> i32; pub fn sceUsbCamSetContrast(contrast: i32) -> i32; pub fn sceUsbCamSetSharpness(sharpness: i32) -> i32; pub fn sceUsbCamSetImageEffectMode(effect_mode: UsbCamEffectMode) -> i32; pub fn sceUsbCamSetEvLevel(exposure_level: UsbCamEvLevel) -> i32; pub fn sceUsbCamSetReverseMode(reverse_flags: i32) -> i32; pub fn sceUsbCamSetZoom(zoom: i32) -> i32; pub fn sceUsbCamGetSaturation(saturation: *mut i32) -> i32; pub fn sceUsbCamGetBrightness(brightness: *mut i32) -> i32; pub fn sceUsbCamGetContrast(contrast: *mut i32) -> i32; pub fn sceUsbCamGetSharpness(sharpness: *mut i32) -> i32; pub fn sceUsbCamGetImageEffectMode(effect_mode: *mut UsbCamEffectMode) -> i32; pub fn sceUsbCamGetEvLevel(exposure_level: *mut UsbCamEvLevel) -> i32; pub fn sceUsbCamGetReverseMode(reverse_flags: *mut i32) -> i32; pub fn sceUsbCamGetZoom(zoom: *mut i32) -> i32; pub fn sceUsbCamAutoImageReverseSW(on: i32) -> i32; pub fn sceUsbCamGetAutoImageReverseState() -> i32; pub fn sceUsbCamGetLensDirection() -> i32; pub fn sceUsbstorBootRegisterNotify(event_flag: SceUid) -> i32; pub fn sceUsbstorBootUnregisterNotify(event_flag: u32) -> i32; pub fn sceUsbstorBootSetCapacity(size: u32) -> i32; pub fn scePowerRegisterCallback(slot: i32, cbid: SceUid) -> i32; pub fn scePowerUnregisterCallback(slot: i32) -> i32; pub fn scePowerIsPowerOnline() -> i32; pub fn scePowerIsBatteryExist() -> i32; pub fn scePowerIsBatteryCharging() -> i32; pub fn scePowerGetBatteryChargingStatus() -> i32; pub fn scePowerIsLowBattery() -> i32; pub fn scePowerGetBatteryLifePercent() -> i32; pub fn scePowerGetBatteryLifeTime() -> i32; pub fn scePowerGetBatteryTemp() -> i32; pub fn scePowerGetBatteryElec() -> i32; pub fn scePowerGetBatteryVolt() -> i32; pub fn scePowerSetCpuClockFrequency(cpufreq: i32) -> i32; pub fn scePowerSetBusClockFrequency(busfreq: i32) -> i32; pub fn scePowerGetCpuClockFrequency() -> i32; pub fn scePowerGetCpuClockFrequencyInt() -> i32; pub fn scePowerGetCpuClockFrequencyFloat() -> f32; pub fn scePowerGetBusClockFrequency() -> i32; pub fn scePowerGetBusClockFrequencyInt() -> i32; pub fn scePowerGetBusClockFrequencyFloat() -> f32; pub fn scePowerSetClockFrequency(pllfreq: i32, cpufreq: i32, busfreq: i32) -> i32; pub fn scePowerLock(unknown: i32) -> i32; pub fn scePowerUnlock(unknown: i32) -> i32; pub fn scePowerTick(t: PowerTick) -> i32; pub fn scePowerGetIdleTimer() -> i32; pub fn scePowerIdleTimerEnable(unknown: i32) -> i32; pub fn scePowerIdleTimerDisable(unknown: i32) -> i32; pub fn scePowerRequestStandby() -> i32; pub fn scePowerRequestSuspend() -> i32; pub fn sceWlanDevIsPowerOn() -> i32; pub fn sceWlanGetSwitchState() -> i32; pub fn sceWlanGetEtherAddr(ether_addr: *mut u8) -> i32; pub fn sceWlanDevAttach() -> i32; pub fn sceWlanDevDetach() -> i32; pub fn sceRtcGetTickResolution() -> u32; pub fn sceRtcGetCurrentTick(tick: *mut u64) -> i32; pub fn sceRtcGetCurrentClock(tm: *mut ScePspDateTime, tz: i32) -> i32; pub fn sceRtcGetCurrentClockLocalTime(tm: *mut ScePspDateTime) -> i32; pub fn sceRtcConvertUtcToLocalTime(tick_utc: *const u64, tick_local: *mut u64) -> i32; pub fn sceRtcConvertLocalTimeToUTC(tick_local: *const u64, tick_utc: *mut u64) -> i32; pub fn sceRtcIsLeapYear(year: i32) -> i32; pub fn sceRtcGetDaysInMonth(year: i32, month: i32) -> i32; pub fn sceRtcGetDayOfWeek(year: i32, month: i32, day: i32) -> i32; pub fn sceRtcCheckValid(date: *const ScePspDateTime) -> i32; pub fn sceRtcSetTick(date: *mut ScePspDateTime, tick: *const u64) -> i32; pub fn sceRtcGetTick(date: *const ScePspDateTime, tick: *mut u64) -> i32; pub fn sceRtcCompareTick(tick1: *const u64, tick2: *const u64) -> i32; pub fn sceRtcTickAddTicks(dest_tick: *mut u64, src_tick: *const u64, num_ticks: u64) -> i32; pub fn sceRtcTickAddMicroseconds(dest_tick: *mut u64, src_tick: *const u64, num_ms: u64) -> i32; pub fn sceRtcTickAddSeconds(dest_tick: *mut u64, src_tick: *const u64, num_seconds: u64) -> i32; pub fn sceRtcTickAddMinutes(dest_tick: *mut u64, src_tick: *const u64, num_minutes: u64) -> i32; pub fn sceRtcTickAddHours(dest_tick: *mut u64, src_tick: *const u64, num_hours: u64) -> i32; pub fn sceRtcTickAddDays(dest_tick: *mut u64, src_tick: *const u64, num_days: u64) -> i32; pub fn sceRtcTickAddWeeks(dest_tick: *mut u64, src_tick: *const u64, num_weeks: u64) -> i32; pub fn sceRtcTickAddMonths(dest_tick: *mut u64, src_tick: *const u64, num_months: u64) -> i32; pub fn sceRtcTickAddYears(dest_tick: *mut u64, src_tick: *const u64, num_years: u64) -> i32; pub fn sceRtcSetTime_t(date: *mut ScePspDateTime, time: u32) -> i32; pub fn sceRtcGetTime_t(date: *const ScePspDateTime, time: *mut u32) -> i32; pub fn sceRtcSetTime64_t(date: *mut ScePspDateTime, time: u64) -> i32; pub fn sceRtcGetTime64_t(date: *const ScePspDateTime, time: *mut u64) -> i32; pub fn sceRtcSetDosTime(date: *mut ScePspDateTime, dos_time: u32) -> i32; pub fn sceRtcGetDosTime(date: *mut ScePspDateTime, dos_time: u32) -> i32; pub fn sceRtcSetWin32FileTime(date: *mut ScePspDateTime, time: *mut u64) -> i32; pub fn sceRtcGetWin32FileTime(date: *mut ScePspDateTime, time: *mut u64) -> i32; pub fn sceRtcParseDateTime(dest_tick: *mut u64, date_string: *const u8) -> i32; pub fn sceRtcFormatRFC3339( psz_date_time: *mut char, p_utc: *const u64, time_zone_minutes: i32, ) -> i32; pub fn sceRtcFormatRFC3339LocalTime(psz_date_time: *mut char, p_utc: *const u64) -> i32; pub fn sceRtcParseRFC3339(p_utc: *mut u64, psz_date_time: *const u8) -> i32; pub fn sceRtcFormatRFC2822( psz_date_time: *mut char, p_utc: *const u64, time_zone_minutes: i32, ) -> i32; pub fn sceRtcFormatRFC2822LocalTime(psz_date_time: *mut char, p_utc: *const u64) -> i32; pub fn sceIoOpen(file: *const u8, flags: i32, permissions: IoPermissions) -> SceUid; pub fn sceIoOpenAsync(file: *const u8, flags: i32, permissions: IoPermissions) -> SceUid; pub fn sceIoClose(fd: SceUid) -> i32; pub fn sceIoCloseAsync(fd: SceUid) -> i32; pub fn sceIoRead(fd: SceUid, data: *mut c_void, size: u32) -> i32; pub fn sceIoReadAsync(fd: SceUid, data: *mut c_void, size: u32) -> i32; pub fn sceIoWrite(fd: SceUid, data: *const c_void, size: usize) -> i32; pub fn sceIoWriteAsync(fd: SceUid, data: *const c_void, size: u32) -> i32; pub fn sceIoLseek(fd: SceUid, offset: i64, whence: IoWhence) -> i64; pub fn sceIoLseekAsync(fd: SceUid, offset: i64, whence: IoWhence) -> i32; pub fn sceIoLseek32(fd: SceUid, offset: i32, whence: IoWhence) -> i32; pub fn sceIoLseek32Async(fd: SceUid, offset: i32, whence: IoWhence) -> i32; pub fn sceIoRemove(file: *const u8) -> i32; pub fn sceIoMkdir(dir: *const u8, mode: IoPermissions) -> i32; pub fn sceIoRmdir(path: *const u8) -> i32; pub fn sceIoChdir(path: *const u8) -> i32; pub fn sceIoRename(oldname: *const u8, newname: *const u8) -> i32; pub fn sceIoDopen(dirname: *const u8) -> SceUid; pub fn sceIoDread(fd: SceUid, dir: *mut SceIoDirent) -> i32; pub fn sceIoDclose(fd: SceUid) -> i32; pub fn sceIoDevctl( dev: *const u8, cmd: u32, indata: *mut c_void, inlen: i32, outdata: *mut c_void, outlen: i32, ) -> i32; pub fn sceIoAssign( dev1: *const u8, dev2: *const u8, dev3: *const u8, mode: IoAssignPerms, unk1: *mut c_void, unk2: i32, ) -> i32; pub fn sceIoUnassign(dev: *const u8) -> i32; pub fn sceIoGetstat(file: *const u8, stat: *mut SceIoStat) -> i32; pub fn sceIoChstat(file: *const u8, stat: *mut SceIoStat, bits: i32) -> i32; pub fn sceIoIoctl( fd: SceUid, cmd: u32, indata: *mut c_void, inlen: i32, outdata: *mut c_void, outlen: i32, ) -> i32; pub fn sceIoIoctlAsync( fd: SceUid, cmd: u32, indata: *mut c_void, inlen: i32, outdata: *mut c_void, outlen: i32, ) -> i32; pub fn sceIoSync(device: *const u8, unk: u32) -> i32; pub fn sceIoWaitAsync(fd: SceUid, res: *mut i64) -> i32; pub fn sceIoWaitAsyncCB(fd: SceUid, res: *mut i64) -> i32; pub fn sceIoPollAsync(fd: SceUid, res: *mut i64) -> i32; pub fn sceIoGetAsyncStat(fd: SceUid, poll: i32, res: *mut i64) -> i32; pub fn sceIoCancel(fd: SceUid) -> i32; pub fn sceIoGetDevType(fd: SceUid) -> i32; pub fn sceIoChangeAsyncPriority(fd: SceUid, pri: i32) -> i32; pub fn sceIoSetAsyncCallback(fd: SceUid, cb: SceUid, argp: *mut c_void) -> i32; pub fn sceJpegInitMJpeg() -> i32; pub fn sceJpegFinishMJpeg() -> i32; pub fn sceJpegCreateMJpeg(width: i32, height: i32) -> i32; pub fn sceJpegDeleteMJpeg() -> i32; pub fn sceJpegDecodeMJpeg(jpeg_buf: *mut u8, size: usize, rgba: *mut c_void, unk: u32) -> i32; pub fn sceUmdCheckMedium() -> i32; pub fn sceUmdGetDiscInfo(info: *mut UmdInfo) -> i32; pub fn sceUmdActivate(unit: i32, drive: *const u8) -> i32; pub fn sceUmdDeactivate(unit: i32, drive: *const u8) -> i32; pub fn sceUmdWaitDriveStat(state: i32) -> i32; pub fn sceUmdWaitDriveStatWithTimer(state: i32, timeout: u32) -> i32; pub fn sceUmdWaitDriveStatCB(state: i32, timeout: u32) -> i32; pub fn sceUmdCancelWaitDriveStat() -> i32; pub fn sceUmdGetDriveStat() -> i32; pub fn sceUmdGetErrorStat() -> i32; pub fn sceUmdRegisterUMDCallBack(cbid: i32) -> i32; pub fn sceUmdUnRegisterUMDCallBack(cbid: i32) -> i32; pub fn sceUmdReplacePermit() -> i32; pub fn sceUmdReplaceProhibit() -> i32; pub fn sceMpegInit() -> i32; pub fn sceMpegFinish(); pub fn sceMpegRingbufferQueryMemSize(packets: i32) -> i32; pub fn sceMpegRingbufferConstruct( ringbuffer: *mut SceMpegRingbuffer, packets: i32, data: *mut c_void, size: i32, callback: SceMpegRingbufferCb, cb_param: *mut c_void, ) -> i32; pub fn sceMpegRingbufferDestruct(ringbuffer: *mut SceMpegRingbuffer); pub fn sceMpegRingbufferAvailableSize(ringbuffer: *mut SceMpegRingbuffer) -> i32; pub fn sceMpegRingbufferPut( ringbuffer: *mut SceMpegRingbuffer, num_packets: i32, available: i32, ) -> i32; pub fn sceMpegQueryMemSize(unk: i32) -> i32; pub fn sceMpegCreate( handle: SceMpeg, data: *mut c_void, size: i32, ringbuffer: *mut SceMpegRingbuffer, frame_width: i32, unk1: i32, unk2: i32, ) -> i32; pub fn sceMpegDelete(handle: SceMpeg); pub fn sceMpegQueryStreamOffset(handle: SceMpeg, buffer: *mut c_void, offset: *mut i32) -> i32; pub fn sceMpegQueryStreamSize(buffer: *mut c_void, size: *mut i32) -> i32; pub fn sceMpegRegistStream(handle: SceMpeg, stream_id: i32, unk: i32) -> SceMpegStream; pub fn sceMpegUnRegistStream(handle: SceMpeg, stream: SceMpegStream); pub fn sceMpegFlushAllStream(handle: SceMpeg) -> i32; pub fn sceMpegMallocAvcEsBuf(handle: SceMpeg) -> *mut c_void; pub fn sceMpegFreeAvcEsBuf(handle: SceMpeg, buf: *mut c_void); pub fn sceMpegQueryAtracEsSize(handle: SceMpeg, es_size: *mut i32, out_size: *mut i32) -> i32; pub fn sceMpegInitAu(handle: SceMpeg, es_buffer: *mut c_void, au: *mut SceMpegAu) -> i32; pub fn sceMpegGetAvcAu( handle: SceMpeg, stream: SceMpegStream, au: *mut SceMpegAu, unk: *mut i32, ) -> i32; pub fn sceMpegAvcDecodeMode(handle: SceMpeg, mode: *mut SceMpegAvcMode) -> i32; pub fn sceMpegAvcDecode( handle: SceMpeg, au: *mut SceMpegAu, iframe_width: i32, buffer: *mut c_void, init: *mut i32, ) -> i32; pub fn sceMpegAvcDecodeStop( handle: SceMpeg, frame_width: i32, buffer: *mut c_void, status: *mut i32, ) -> i32; pub fn sceMpegGetAtracAu( handle: SceMpeg, stream: SceMpegStream, au: *mut SceMpegAu, unk: *mut c_void, ) -> i32; pub fn sceMpegAtracDecode( handle: SceMpeg, au: *mut SceMpegAu, buffer: *mut c_void, init: i32, ) -> i32; pub fn sceMpegBaseYCrCbCopyVme(yuv_buffer: *mut c_void, buffer: *mut i32, type_: i32) -> i32; pub fn sceMpegBaseCscInit(width: i32) -> i32; pub fn sceMpegBaseCscVme( rgb_buffer: *mut c_void, rgb_buffer2: *mut c_void, width: i32, y_cr_cb_buffer: *mut SceMpegYCrCbBuffer, ) -> i32; pub fn sceMpegbase_BEA18F91(lli: *mut SceMpegLLI) -> i32; pub fn sceHprmPeekCurrentKey(key: *mut i32) -> i32; pub fn sceHprmPeekLatch(latch: *mut [u32; 4]) -> i32; pub fn sceHprmReadLatch(latch: *mut [u32; 4]) -> i32; pub fn sceHprmIsHeadphoneExist() -> i32; pub fn sceHprmIsRemoteExist() -> i32; pub fn sceHprmIsMicrophoneExist() -> i32; pub fn sceGuDepthBuffer(zbp: *mut c_void, zbw: i32); pub fn sceGuDispBuffer(width: i32, height: i32, dispbp: *mut c_void, dispbw: i32); pub fn sceGuDrawBuffer(psm: DisplayPixelFormat, fbp: *mut c_void, fbw: i32); pub fn sceGuDrawBufferList(psm: DisplayPixelFormat, fbp: *mut c_void, fbw: i32); pub fn sceGuDisplay(state: bool) -> bool; pub fn sceGuDepthFunc(function: DepthFunc); pub fn sceGuDepthMask(mask: i32); pub fn sceGuDepthOffset(offset: i32); pub fn sceGuDepthRange(near: i32, far: i32); pub fn sceGuFog(near: f32, far: f32, color: u32); pub fn sceGuInit(); pub fn sceGuTerm(); pub fn sceGuBreak(mode: i32); pub fn sceGuContinue(); pub fn sceGuSetCallback(signal: GuCallbackId, callback: GuCallback) -> GuCallback; pub fn sceGuSignal(behavior: SignalBehavior, signal: i32); pub fn sceGuSendCommandf(cmd: GeCommand, argument: f32); pub fn sceGuSendCommandi(cmd: GeCommand, argument: i32); pub fn sceGuGetMemory(size: i32) -> *mut c_void; pub fn sceGuStart(context_type: GuContextType, list: *mut c_void); pub fn sceGuFinish() -> i32; pub fn sceGuFinishId(id: u32) -> i32; pub fn sceGuCallList(list: *const c_void); pub fn sceGuCallMode(mode: i32); pub fn sceGuCheckList() -> i32; pub fn sceGuSendList(mode: GuQueueMode, list: *const c_void, context: *mut GeContext); pub fn sceGuSwapBuffers() -> *mut c_void; pub fn sceGuSync(mode: GuSyncMode, behavior: GuSyncBehavior) -> GeListState; pub fn sceGuDrawArray( prim: GuPrimitive, vtype: i32, count: i32, indices: *const c_void, vertices: *const c_void, ); pub fn sceGuBeginObject( vtype: i32, count: i32, indices: *const c_void, vertices: *const c_void, ); pub fn sceGuEndObject(); pub fn sceGuSetStatus(state: GuState, status: i32); pub fn sceGuGetStatus(state: GuState) -> bool; pub fn sceGuSetAllStatus(status: i32); pub fn sceGuGetAllStatus() -> i32; pub fn sceGuEnable(state: GuState); pub fn sceGuDisable(state: GuState); pub fn sceGuLight(light: i32, type_: LightType, components: i32, position: &ScePspFVector3); pub fn sceGuLightAtt(light: i32, atten0: f32, atten1: f32, atten2: f32); pub fn sceGuLightColor(light: i32, component: i32, color: u32); pub fn sceGuLightMode(mode: LightMode); pub fn sceGuLightSpot(light: i32, direction: &ScePspFVector3, exponent: f32, cutoff: f32); pub fn sceGuClear(flags: i32); pub fn sceGuClearColor(color: u32); pub fn sceGuClearDepth(depth: u32); pub fn sceGuClearStencil(stencil: u32); pub fn sceGuPixelMask(mask: u32); pub fn sceGuColor(color: u32); pub fn sceGuColorFunc(func: ColorFunc, color: u32, mask: u32); pub fn sceGuColorMaterial(components: i32); pub fn sceGuAlphaFunc(func: AlphaFunc, value: i32, mask: i32); pub fn sceGuAmbient(color: u32); pub fn sceGuAmbientColor(color: u32); pub fn sceGuBlendFunc(op: BlendOp, src: BlendSrc, dest: BlendDst, src_fix: u32, dest_fix: u32); pub fn sceGuMaterial(components: i32, color: u32); pub fn sceGuModelColor(emissive: u32, ambient: u32, diffuse: u32, specular: u32); pub fn sceGuStencilFunc(func: StencilFunc, ref_: i32, mask: i32); pub fn sceGuStencilOp(fail: StencilOperation, zfail: StencilOperation, zpass: StencilOperation); pub fn sceGuSpecular(power: f32); pub fn sceGuFrontFace(order: FrontFaceDirection); pub fn sceGuLogicalOp(op: LogicalOperation); pub fn sceGuSetDither(matrix: &ScePspIMatrix4); pub fn sceGuShadeModel(mode: ShadingModel); pub fn sceGuCopyImage( psm: DisplayPixelFormat, sx: i32, sy: i32, width: i32, height: i32, srcw: i32, src: *mut c_void, dx: i32, dy: i32, destw: i32, dest: *mut c_void, ); pub fn sceGuTexEnvColor(color: u32); pub fn sceGuTexFilter(min: TextureFilter, mag: TextureFilter); pub fn sceGuTexFlush(); pub fn sceGuTexFunc(tfx: TextureEffect, tcc: TextureColorComponent); pub fn sceGuTexImage( mipmap: MipmapLevel, width: i32, height: i32, tbw: i32, tbp: *const c_void, ); pub fn sceGuTexLevelMode(mode: TextureLevelMode, bias: f32); pub fn sceGuTexMapMode(mode: TextureMapMode, a1: u32, a2: u32); pub fn sceGuTexMode(tpsm: TexturePixelFormat, maxmips: i32, a2: i32, swizzle: i32); pub fn sceGuTexOffset(u: f32, v: f32); pub fn sceGuTexProjMapMode(mode: TextureProjectionMapMode); pub fn sceGuTexScale(u: f32, v: f32); pub fn sceGuTexSlope(slope: f32); pub fn sceGuTexSync(); pub fn sceGuTexWrap(u: GuTexWrapMode, v: GuTexWrapMode); pub fn sceGuClutLoad(num_blocks: i32, cbp: *const c_void); pub fn sceGuClutMode(cpsm: ClutPixelFormat, shift: u32, mask: u32, a3: u32); pub fn sceGuOffset(x: u32, y: u32); pub fn sceGuScissor(x: i32, y: i32, w: i32, h: i32); pub fn sceGuViewport(cx: i32, cy: i32, width: i32, height: i32); pub fn sceGuDrawBezier( v_type: i32, u_count: i32, v_count: i32, indices: *const c_void, vertices: *const c_void, ); pub fn sceGuPatchDivide(ulevel: u32, vlevel: u32); pub fn sceGuPatchFrontFace(a0: u32); pub fn sceGuPatchPrim(prim: PatchPrimitive); pub fn sceGuDrawSpline( v_type: i32, u_count: i32, v_count: i32, u_edge: i32, v_edge: i32, indices: *const c_void, vertices: *const c_void, ); pub fn sceGuSetMatrix(type_: MatrixMode, matrix: &ScePspFMatrix4); pub fn sceGuBoneMatrix(index: u32, matrix: &ScePspFMatrix4); pub fn sceGuMorphWeight(index: i32, weight: f32); pub fn sceGuDrawArrayN( primitive_type: GuPrimitive, v_type: i32, count: i32, a3: i32, indices: *const c_void, vertices: *const c_void, ); pub fn sceGumDrawArray( prim: GuPrimitive, v_type: i32, count: i32, indices: *const c_void, vertices: *const c_void, ); pub fn sceGumDrawArrayN( prim: GuPrimitive, v_type: i32, count: i32, a3: i32, indices: *const c_void, vertices: *const c_void, ); pub fn sceGumDrawBezier( v_type: i32, u_count: i32, v_count: i32, indices: *const c_void, vertices: *const c_void, ); pub fn sceGumDrawSpline( v_type: i32, u_count: i32, v_count: i32, u_edge: i32, v_edge: i32, indices: *const c_void, vertices: *const c_void, ); pub fn sceGumFastInverse(); pub fn sceGumFullInverse(); pub fn sceGumLoadIdentity(); pub fn sceGumLoadMatrix(m: &ScePspFMatrix4); pub fn sceGumLookAt(eye: &ScePspFVector3, center: &ScePspFVector3, up: &ScePspFVector3); pub fn sceGumMatrixMode(mode: MatrixMode); pub fn sceGumMultMatrix(m: &ScePspFMatrix4); pub fn sceGumOrtho(left: f32, right: f32, bottom: f32, top: f32, near: f32, far: f32); pub fn sceGumPerspective(fovy: f32, aspect: f32, near: f32, far: f32); pub fn sceGumPopMatrix(); pub fn sceGumPushMatrix(); pub fn sceGumRotateX(angle: f32); pub fn sceGumRotateY(angle: f32); pub fn sceGumRotateZ(angle: f32); pub fn sceGumRotateXYZ(v: &ScePspFVector3); pub fn sceGumRotateZYX(v: &ScePspFVector3); pub fn sceGumScale(v: &ScePspFVector3); pub fn sceGumStoreMatrix(m: &mut ScePspFMatrix4); pub fn sceGumTranslate(v: &ScePspFVector3); pub fn sceGumUpdateMatrix(); pub fn sceMp3ReserveMp3Handle(args: *mut SceMp3InitArg) -> i32; pub fn sceMp3ReleaseMp3Handle(handle: Mp3Handle) -> i32; pub fn sceMp3InitResource() -> i32; pub fn sceMp3TermResource() -> i32; pub fn sceMp3Init(handle: Mp3Handle) -> i32; pub fn sceMp3Decode(handle: Mp3Handle, dst: *mut *mut i16) -> i32; pub fn sceMp3GetInfoToAddStreamData( handle: Mp3Handle, dst: *mut *mut u8, to_write: *mut i32, src_pos: *mut i32, ) -> i32; pub fn sceMp3NotifyAddStreamData(handle: Mp3Handle, size: i32) -> i32; pub fn sceMp3CheckStreamDataNeeded(handle: Mp3Handle) -> i32; pub fn sceMp3SetLoopNum(handle: Mp3Handle, loop_: i32) -> i32; pub fn sceMp3GetLoopNum(handle: Mp3Handle) -> i32; pub fn sceMp3GetSumDecodedSample(handle: Mp3Handle) -> i32; pub fn sceMp3GetMaxOutputSample(handle: Mp3Handle) -> i32; pub fn sceMp3GetSamplingRate(handle: Mp3Handle) -> i32; pub fn sceMp3GetBitRate(handle: Mp3Handle) -> i32; pub fn sceMp3GetMp3ChannelNum(handle: Mp3Handle) -> i32; pub fn sceMp3ResetPlayPosition(handle: Mp3Handle) -> i32; pub fn sceRegOpenRegistry(reg: *mut Key, mode: i32, handle: *mut RegHandle) -> i32; pub fn sceRegFlushRegistry(handle: RegHandle) -> i32; pub fn sceRegCloseRegistry(handle: RegHandle) -> i32; pub fn sceRegOpenCategory( handle: RegHandle, name: *const u8, mode: i32, dir_handle: *mut RegHandle, ) -> i32; pub fn sceRegRemoveCategory(handle: RegHandle, name: *const u8) -> i32; pub fn sceRegCloseCategory(dir_handle: RegHandle) -> i32; pub fn sceRegFlushCategory(dir_handle: RegHandle) -> i32; pub fn sceRegGetKeyInfo( dir_handle: RegHandle, name: *const u8, key_handle: *mut RegHandle, type_: *mut KeyType, size: *mut usize, ) -> i32; pub fn sceRegGetKeyInfoByName( dir_handle: RegHandle, name: *const u8, type_: *mut KeyType, size: *mut usize, ) -> i32; pub fn sceRegGetKeyValue( dir_handle: RegHandle, key_handle: RegHandle, buf: *mut c_void, size: usize, ) -> i32; pub fn sceRegGetKeyValueByName( dir_handle: RegHandle, name: *const u8, buf: *mut c_void, size: usize, ) -> i32; pub fn sceRegSetKeyValue( dir_handle: RegHandle, name: *const u8, buf: *const c_void, size: usize, ) -> i32; pub fn sceRegGetKeysNum(dir_handle: RegHandle, num: *mut i32) -> i32; pub fn sceRegGetKeys(dir_handle: RegHandle, buf: *mut u8, num: i32) -> i32; pub fn sceRegCreateKey(dir_handle: RegHandle, name: *const u8, type_: i32, size: usize) -> i32; pub fn sceRegRemoveRegistry(key: *mut Key) -> i32; pub fn sceOpenPSIDGetOpenPSID(openpsid: *mut OpenPSID) -> i32; pub fn sceUtilityMsgDialogInitStart(params: *mut UtilityMsgDialogParams) -> i32; pub fn sceUtilityMsgDialogShutdownStart(); pub fn sceUtilityMsgDialogGetStatus() -> i32; pub fn sceUtilityMsgDialogUpdate(n: i32); pub fn sceUtilityMsgDialogAbort() -> i32; pub fn sceUtilityNetconfInitStart(data: *mut UtilityNetconfData) -> i32; pub fn sceUtilityNetconfShutdownStart() -> i32; pub fn sceUtilityNetconfUpdate(unknown: i32) -> i32; pub fn sceUtilityNetconfGetStatus() -> i32; pub fn sceUtilityCheckNetParam(id: i32) -> i32; pub fn sceUtilityGetNetParam(conf: i32, param: NetParam, data: *mut UtilityNetData) -> i32; pub fn sceUtilitySavedataInitStart(params: *mut SceUtilitySavedataParam) -> i32; pub fn sceUtilitySavedataGetStatus() -> i32; pub fn sceUtilitySavedataShutdownStart() -> i32; pub fn sceUtilitySavedataUpdate(unknown: i32); pub fn sceUtilityGameSharingInitStart(params: *mut UtilityGameSharingParams) -> i32; pub fn sceUtilityGameSharingShutdownStart(); pub fn sceUtilityGameSharingGetStatus() -> i32; pub fn sceUtilityGameSharingUpdate(n: i32); pub fn sceUtilityHtmlViewerInitStart(params: *mut UtilityHtmlViewerParam) -> i32; pub fn sceUtilityHtmlViewerShutdownStart() -> i32; pub fn sceUtilityHtmlViewerUpdate(n: i32) -> i32; pub fn sceUtilityHtmlViewerGetStatus() -> i32; pub fn sceUtilitySetSystemParamInt(id: SystemParamId, value: i32) -> i32; pub fn sceUtilitySetSystemParamString(id: SystemParamId, str: *const u8) -> i32; pub fn sceUtilityGetSystemParamInt(id: SystemParamId, value: *mut i32) -> i32; pub fn sceUtilityGetSystemParamString(id: SystemParamId, str: *mut u8, len: i32) -> i32; pub fn sceUtilityOskInitStart(params: *mut SceUtilityOskParams) -> i32; pub fn sceUtilityOskShutdownStart() -> i32; pub fn sceUtilityOskUpdate(n: i32) -> i32; pub fn sceUtilityOskGetStatus() -> i32; pub fn sceUtilityLoadNetModule(module: NetModule) -> i32; pub fn sceUtilityUnloadNetModule(module: NetModule) -> i32; pub fn sceUtilityLoadAvModule(module: AvModule) -> i32; pub fn sceUtilityUnloadAvModule(module: AvModule) -> i32; pub fn sceUtilityLoadUsbModule(module: UsbModule) -> i32; pub fn sceUtilityUnloadUsbModule(module: UsbModule) -> i32; pub fn sceUtilityLoadModule(module: Module) -> i32; pub fn sceUtilityUnloadModule(module: Module) -> i32; pub fn sceUtilityCreateNetParam(conf: i32) -> i32; pub fn sceUtilitySetNetParam(param: NetParam, val: *const c_void) -> i32; pub fn sceUtilityCopyNetParam(src: i32, dest: i32) -> i32; pub fn sceUtilityDeleteNetParam(conf: i32) -> i32; pub fn sceNetInit( poolsize: i32, calloutprio: i32, calloutstack: i32, netintrprio: i32, netintrstack: i32, ) -> i32; pub fn sceNetTerm() -> i32; pub fn sceNetFreeThreadinfo(thid: i32) -> i32; pub fn sceNetThreadAbort(thid: i32) -> i32; pub fn sceNetEtherStrton(name: *mut u8, mac: *mut u8); pub fn sceNetEtherNtostr(mac: *mut u8, name: *mut u8); pub fn sceNetGetLocalEtherAddr(mac: *mut u8) -> i32; pub fn sceNetGetMallocStat(stat: *mut SceNetMallocStat) -> i32; pub fn sceNetAdhocctlInit( stacksize: i32, priority: i32, adhoc_id: *mut SceNetAdhocctlAdhocId, ) -> i32; pub fn sceNetAdhocctlTerm() -> i32; pub fn sceNetAdhocctlConnect(name: *const u8) -> i32; pub fn sceNetAdhocctlDisconnect() -> i32; pub fn sceNetAdhocctlGetState(event: *mut i32) -> i32; pub fn sceNetAdhocctlCreate(name: *const u8) -> i32; pub fn sceNetAdhocctlJoin(scaninfo: *mut SceNetAdhocctlScanInfo) -> i32; pub fn sceNetAdhocctlGetAdhocId(id: *mut SceNetAdhocctlAdhocId) -> i32; pub fn sceNetAdhocctlCreateEnterGameMode( name: *const u8, unknown: i32, num: i32, macs: *mut u8, timeout: u32, unknown2: i32, ) -> i32; pub fn sceNetAdhocctlJoinEnterGameMode( name: *const u8, hostmac: *mut u8, timeout: u32, unknown: i32, ) -> i32; pub fn sceNetAdhocctlGetGameModeInfo(gamemodeinfo: *mut SceNetAdhocctlGameModeInfo) -> i32; pub fn sceNetAdhocctlExitGameMode() -> i32; pub fn sceNetAdhocctlGetPeerList(length: *mut i32, buf: *mut c_void) -> i32; pub fn sceNetAdhocctlGetPeerInfo( mac: *mut u8, size: i32, peerinfo: *mut SceNetAdhocctlPeerInfo, ) -> i32; pub fn sceNetAdhocctlScan() -> i32; pub fn sceNetAdhocctlGetScanInfo(length: *mut i32, buf: *mut c_void) -> i32; pub fn sceNetAdhocctlAddHandler(handler: SceNetAdhocctlHandler, unknown: *mut c_void) -> i32; pub fn sceNetAdhocctlDelHandler(id: i32) -> i32; pub fn sceNetAdhocctlGetNameByAddr(mac: *mut u8, nickname: *mut u8) -> i32; pub fn sceNetAdhocctlGetAddrByName( nickname: *mut u8, length: *mut i32, buf: *mut c_void, ) -> i32; pub fn sceNetAdhocctlGetParameter(params: *mut SceNetAdhocctlParams) -> i32; pub fn sceNetAdhocInit() -> i32; pub fn sceNetAdhocTerm() -> i32; pub fn sceNetAdhocPdpCreate(mac: *mut u8, port: u16, buf_size: u32, unk1: i32) -> i32; pub fn sceNetAdhocPdpDelete(id: i32, unk1: i32) -> i32; pub fn sceNetAdhocPdpSend( id: i32, dest_mac_addr: *mut u8, port: u16, data: *mut c_void, len: u32, timeout: u32, nonblock: i32, ) -> i32; pub fn sceNetAdhocPdpRecv( id: i32, src_mac_addr: *mut u8, port: *mut u16, data: *mut c_void, data_length: *mut c_void, timeout: u32, nonblock: i32, ) -> i32; pub fn sceNetAdhocGetPdpStat(size: *mut i32, stat: *mut SceNetAdhocPdpStat) -> i32; pub fn sceNetAdhocGameModeCreateMaster(data: *mut c_void, size: i32) -> i32; pub fn sceNetAdhocGameModeCreateReplica(mac: *mut u8, data: *mut c_void, size: i32) -> i32; pub fn sceNetAdhocGameModeUpdateMaster() -> i32; pub fn sceNetAdhocGameModeUpdateReplica(id: i32, unk1: i32) -> i32; pub fn sceNetAdhocGameModeDeleteMaster() -> i32; pub fn sceNetAdhocGameModeDeleteReplica(id: i32) -> i32; pub fn sceNetAdhocPtpOpen( srcmac: *mut u8, srcport: u16, destmac: *mut u8, destport: u16, buf_size: u32, delay: u32, count: i32, unk1: i32, ) -> i32; pub fn sceNetAdhocPtpConnect(id: i32, timeout: u32, nonblock: i32) -> i32; pub fn sceNetAdhocPtpListen( srcmac: *mut u8, srcport: u16, buf_size: u32, delay: u32, count: i32, queue: i32, unk1: i32, ) -> i32; pub fn sceNetAdhocPtpAccept( id: i32, mac: *mut u8, port: *mut u16, timeout: u32, nonblock: i32, ) -> i32; pub fn sceNetAdhocPtpSend( id: i32, data: *mut c_void, data_size: *mut i32, timeout: u32, nonblock: i32, ) -> i32; pub fn sceNetAdhocPtpRecv( id: i32, data: *mut c_void, data_size: *mut i32, timeout: u32, nonblock: i32, ) -> i32; pub fn sceNetAdhocPtpFlush(id: i32, timeout: u32, nonblock: i32) -> i32; pub fn sceNetAdhocPtpClose(id: i32, unk1: i32) -> i32; pub fn sceNetAdhocGetPtpStat(size: *mut i32, stat: *mut SceNetAdhocPtpStat) -> i32; } extern "C" { pub fn sceNetAdhocMatchingInit(memsize: i32) -> i32; pub fn sceNetAdhocMatchingTerm() -> i32; pub fn sceNetAdhocMatchingCreate( mode: AdhocMatchingMode, max_peers: i32, port: u16, buf_size: i32, hello_delay: u32, ping_delay: u32, init_count: i32, msg_delay: u32, callback: AdhocMatchingCallback, ) -> i32; pub fn sceNetAdhocMatchingDelete(matching_id: i32) -> i32; pub fn sceNetAdhocMatchingStart( matching_id: i32, evth_pri: i32, evth_stack: i32, inth_pri: i32, inth_stack: i32, opt_len: i32, opt_data: *mut c_void, ) -> i32; pub fn sceNetAdhocMatchingStop(matching_id: i32) -> i32; pub fn sceNetAdhocMatchingSelectTarget( matching_id: i32, mac: *mut u8, opt_len: i32, opt_data: *mut c_void, ) -> i32; pub fn sceNetAdhocMatchingCancelTarget(matching_id: i32, mac: *mut u8) -> i32; pub fn sceNetAdhocMatchingCancelTargetWithOpt( matching_id: i32, mac: *mut u8, opt_len: i32, opt_data: *mut c_void, ) -> i32; pub fn sceNetAdhocMatchingSendData( matching_id: i32, mac: *mut u8, data_len: i32, data: *mut c_void, ) -> i32; pub fn sceNetAdhocMatchingAbortSendData(matching_id: i32, mac: *mut u8) -> i32; pub fn sceNetAdhocMatchingSetHelloOpt( matching_id: i32, opt_len: i32, opt_data: *mut c_void, ) -> i32; pub fn sceNetAdhocMatchingGetHelloOpt( matching_id: i32, opt_len: *mut i32, opt_data: *mut c_void, ) -> i32; pub fn sceNetAdhocMatchingGetMembers( matching_id: i32, length: *mut i32, buf: *mut c_void, ) -> i32; pub fn sceNetAdhocMatchingGetPoolMaxAlloc() -> i32; pub fn sceNetAdhocMatchingGetPoolStat(poolstat: *mut AdhocPoolStat) -> i32; } extern "C" { pub fn sceNetApctlInit(stack_size: i32, init_priority: i32) -> i32; pub fn sceNetApctlTerm() -> i32; pub fn sceNetApctlGetInfo(code: ApctlInfo, pinfo: *mut SceNetApctlInfo) -> i32; pub fn sceNetApctlAddHandler(handler: SceNetApctlHandler, parg: *mut c_void) -> i32; pub fn sceNetApctlDelHandler(handler_id: i32) -> i32; pub fn sceNetApctlConnect(conn_index: i32) -> i32; pub fn sceNetApctlDisconnect() -> i32; pub fn sceNetApctlGetState(pstate: *mut ApctlState) -> i32; pub fn sceNetInetInit() -> i32; pub fn sceNetInetTerm() -> i32; pub fn sceNetInetAccept(s: i32, addr: *mut sockaddr, addr_len: *mut socklen_t) -> i32; pub fn sceNetInetBind(s: i32, my_addr: *const sockaddr, addr_len: socklen_t) -> i32; pub fn sceNetInetConnect(s: i32, serv_addr: *const sockaddr, addr_len: socklen_t) -> i32; pub fn sceNetInetGetsockopt( s: i32, level: i32, opt_name: i32, opt_val: *mut c_void, optl_en: *mut socklen_t, ) -> i32; pub fn sceNetInetListen(s: i32, backlog: i32) -> i32; pub fn sceNetInetRecv(s: i32, buf: *mut c_void, len: usize, flags: i32) -> usize; pub fn sceNetInetRecvfrom( s: i32, buf: *mut c_void, flags: usize, arg1: i32, from: *mut sockaddr, from_len: *mut socklen_t, ) -> usize; pub fn sceNetInetSend(s: i32, buf: *const c_void, len: usize, flags: i32) -> usize; pub fn sceNetInetSendto( s: i32, buf: *const c_void, len: usize, flags: i32, to: *const sockaddr, to_len: socklen_t, ) -> usize; pub fn sceNetInetSetsockopt( s: i32, level: i32, opt_name: i32, opt_val: *const c_void, opt_len: socklen_t, ) -> i32; pub fn sceNetInetShutdown(s: i32, how: i32) -> i32; pub fn sceNetInetSocket(domain: i32, type_: i32, protocol: i32) -> i32; pub fn sceNetInetClose(s: i32) -> i32; pub fn sceNetInetGetErrno() -> i32; pub fn sceSslInit(unknown1: i32) -> i32; pub fn sceSslEnd() -> i32; pub fn sceSslGetUsedMemoryMax(memory: *mut u32) -> i32; pub fn sceSslGetUsedMemoryCurrent(memory: *mut u32) -> i32; pub fn sceHttpInit(unknown1: u32) -> i32; pub fn sceHttpEnd() -> i32; pub fn sceHttpCreateTemplate(agent: *mut u8, unknown1: i32, unknown2: i32) -> i32; pub fn sceHttpDeleteTemplate(templateid: i32) -> i32; pub fn sceHttpCreateConnection( templateid: i32, host: *mut u8, unknown1: *mut u8, port: u16, unknown2: i32, ) -> i32; pub fn sceHttpCreateConnectionWithURL(templateid: i32, url: *const u8, unknown1: i32) -> i32; pub fn sceHttpDeleteConnection(connection_id: i32) -> i32; pub fn sceHttpCreateRequest( connection_id: i32, method: HttpMethod, path: *mut u8, content_length: u64, ) -> i32; pub fn sceHttpCreateRequestWithURL( connection_id: i32, method: HttpMethod, url: *mut u8, content_length: u64, ) -> i32; pub fn sceHttpDeleteRequest(request_id: i32) -> i32; pub fn sceHttpSendRequest(request_id: i32, data: *mut c_void, data_size: u32) -> i32; pub fn sceHttpAbortRequest(request_id: i32) -> i32; pub fn sceHttpReadData(request_id: i32, data: *mut c_void, data_size: u32) -> i32; pub fn sceHttpGetContentLength(request_id: i32, content_length: *mut u64) -> i32; pub fn sceHttpGetStatusCode(request_id: i32, status_code: *mut i32) -> i32; pub fn sceHttpSetResolveTimeOut(id: i32, timeout: u32) -> i32; pub fn sceHttpSetResolveRetry(id: i32, count: i32) -> i32; pub fn sceHttpSetConnectTimeOut(id: i32, timeout: u32) -> i32; pub fn sceHttpSetSendTimeOut(id: i32, timeout: u32) -> i32; pub fn sceHttpSetRecvTimeOut(id: i32, timeout: u32) -> i32; pub fn sceHttpEnableKeepAlive(id: i32) -> i32; pub fn sceHttpDisableKeepAlive(id: i32) -> i32; pub fn sceHttpEnableRedirect(id: i32) -> i32; pub fn sceHttpDisableRedirect(id: i32) -> i32; pub fn sceHttpEnableCookie(id: i32) -> i32; pub fn sceHttpDisableCookie(id: i32) -> i32; pub fn sceHttpSaveSystemCookie() -> i32; pub fn sceHttpLoadSystemCookie() -> i32; pub fn sceHttpAddExtraHeader(id: i32, name: *mut u8, value: *mut u8, unknown1: i32) -> i32; pub fn sceHttpDeleteHeader(id: i32, name: *const u8) -> i32; pub fn sceHttpsInit(unknown1: i32, unknown2: i32, unknown3: i32, unknown4: i32) -> i32; pub fn sceHttpsEnd() -> i32; pub fn sceHttpsLoadDefaultCert(unknown1: i32, unknown2: i32) -> i32; pub fn sceHttpDisableAuth(id: i32) -> i32; pub fn sceHttpDisableCache(id: i32) -> i32; pub fn sceHttpEnableAuth(id: i32) -> i32; pub fn sceHttpEnableCache(id: i32) -> i32; pub fn sceHttpEndCache() -> i32; pub fn sceHttpGetAllHeader(request: i32, header: *mut *mut u8, header_size: *mut u32) -> i32; pub fn sceHttpGetNetworkErrno(request: i32, err_num: *mut i32) -> i32; pub fn sceHttpGetProxy( id: i32, activate_flag: *mut i32, mode: *mut i32, proxy_host: *mut u8, len: usize, proxy_port: *mut u16, ) -> i32; pub fn sceHttpInitCache(max_size: usize) -> i32; pub fn sceHttpSetAuthInfoCB(id: i32, cbfunc: HttpPasswordCB) -> i32; pub fn sceHttpSetProxy( id: i32, activate_flag: i32, mode: i32, new_proxy_host: *const u8, new_proxy_port: u16, ) -> i32; pub fn sceHttpSetResHeaderMaxSize(id: i32, header_size: u32) -> i32; pub fn sceHttpSetMallocFunction( malloc_func: HttpMallocFunction, free_func: HttpFreeFunction, realloc_func: HttpReallocFunction, ) -> i32; pub fn sceNetResolverInit() -> i32; pub fn sceNetResolverCreate(rid: *mut i32, buf: *mut c_void, buf_length: u32) -> i32; pub fn sceNetResolverDelete(rid: i32) -> i32; pub fn sceNetResolverStartNtoA( rid: i32, hostname: *const u8, addr: *mut in_addr, timeout: u32, retry: i32, ) -> i32; pub fn sceNetResolverStartAtoN( rid: i32, addr: *const in_addr, hostname: *mut u8, hostname_len: u32, timeout: u32, retry: i32, ) -> i32; pub fn sceNetResolverStop(rid: i32) -> i32; pub fn sceNetResolverTerm() -> i32; }