public unsafe void _IoGetstat(IsoNode IsoNode, SceIoStat *Stat) { //IsoNode.DirectoryRecord.Date Stat->Mode = 0; Stat->Mode |= SceMode.UserCanRead | SceMode.UserCanWrite | SceMode.UserCanExecute; Stat->Mode |= SceMode.GroupCanRead | SceMode.GroupCanWrite | SceMode.GroupCanExecute; Stat->Mode |= SceMode.OtherCanRead | SceMode.OtherCanWrite | SceMode.OtherCanExecute; if (IsoNode.IsDirectory) { Stat->Mode = SceMode.Directory; Stat->Attributes = IOFileModes.Directory; } else { Stat->Mode = SceMode.File; Stat->Attributes = IOFileModes.File | IOFileModes.CanRead | IOFileModes.CanWrite | IOFileModes.CanExecute; } Stat->Size = IsoNode.DirectoryRecord.Size; Stat->TimeCreation = ScePspDateTime.FromDateTime(IsoNode.DirectoryRecord.Date); Stat->TimeLastAccess = ScePspDateTime.FromDateTime(IsoNode.DirectoryRecord.Date); Stat->TimeLastModification = ScePspDateTime.FromDateTime(IsoNode.DirectoryRecord.Date); Stat->DeviceDependentData0 = IsoNode.DirectoryRecord.Extent; //Stat[0].DeviceDependentData //throw new NotImplementedException(); }
public int sceIoGetstat(string FileName, SceIoStat *SceIoStat) { var Info = HleIoManager.ParsePath(FileName); try { Info.HleIoDriver.IoGetstat(Info.HleIoDrvFileArg, Info.LocalPath, SceIoStat); return(0); } catch (FileNotFoundException FileNotFoundException) { Console.Error.WriteLine("Can't find file '{0}'", FileName); Console.Error.WriteLine(FileNotFoundException); return((int)SceKernelErrors.ERROR_ERRNO_FILE_NOT_FOUND); } catch (Exception Exception) { Console.Error.WriteLine(Exception); return(-1); } finally { _DelayIo(IoDelayType.GetStat); } }
public int sceIoChstat(string FileName, SceIoStat *SceIoStat, int Bitmask) { try { var Info = HleIoManager.ParsePath(FileName); return(Info.HleIoDriver.IoChstat(Info.HleIoDrvFileArg, FileName, SceIoStat, Bitmask)); } finally { _DelayIo(IoDelayType.ChStat); } }
public unsafe int IoGetstat(HleIoDrvFileArg HleIoDrvFileArg, string FileName, SceIoStat *Stat) { throw new NotImplementedException(); }
public unsafe int IoChstat(HleIoDrvFileArg HleIoDrvFileArg, string FileName, SceIoStat *stat, int bits) { throw new NotImplementedException(); }
public unsafe int IoGetstat(HleIoDrvFileArg HleIoDrvFileArg, string FileName, SceIoStat *Stat) { //Console.WriteLine(FileName); _IoGetstat(Iso.Root.Locate(FileName), Stat); return(0); }
public unsafe int IoGetstat(HleIoDrvFileArg HleIoDrvFileArg, string FileName, SceIoStat *Stat) { var RealFileName = GetFullNormalizedAndSanitizedPath(FileName); //Console.WriteLine(RealFileName); var FileInfo = new FileInfo(RealFileName); Stat->Size = FileInfo.Length; return(0); }
public unsafe int IoGetstat(HleIoDrvFileArg HleIoDrvFileArg, string FileName, SceIoStat *Stat) { try { var ZipEntry = ZipArchive[FileName]; Stat->Attributes = IOFileModes.CanRead | IOFileModes.File; Stat->Mode = SceMode.All; Stat->Size = ZipEntry.OpenUncompressedStream().Length; return(0); } catch (KeyNotFoundException) { throw new FileNotFoundException("Can't find file '" + FileName + "' on ZipFile"); } }
public unsafe int IoChstat(HleIoDrvFileArg HleIoDrvFileArg, string FileName, SceIoStat *Stat, int Bits) { ReLocatePathHandle(ref HleIoDrvFileArg, ref FileName); return(HleIoDrvFileArg.HleIoDriver.IoChstat(HleIoDrvFileArg, FileName, Stat, Bits)); }
public unsafe int IoGetstat(HleIoDrvFileArg HleIoDrvFileArg, string FileName, SceIoStat *Stat) { var RealFileName = GetFullNormalizedAndSanitizedPath(FileName); //Console.WriteLine(RealFileName); Stat->Attributes = IOFileModes.CanExecute | IOFileModes.CanRead | IOFileModes.CanWrite; Stat->Mode = 0; Stat->Mode = SceMode.UserCanExecute | SceMode.UserCanRead | SceMode.UserCanWrite; Stat->Mode = SceMode.GroupCanExecute | SceMode.GroupCanRead | SceMode.GroupCanWrite; Stat->Mode = SceMode.OtherCanExecute | SceMode.OtherCanRead | SceMode.OtherCanWrite; FileSystemInfo FileSystemInfo = null; if (File.Exists(RealFileName)) { var FileInfo = new FileInfo(RealFileName); FileSystemInfo = FileInfo; Stat->Size = FileInfo.Length; Stat->Mode |= SceMode.File; Stat->Attributes |= IOFileModes.File; } else if (Directory.Exists(RealFileName)) { var DirectoryInfo = new DirectoryInfo(RealFileName); FileSystemInfo = DirectoryInfo; Stat->Mode |= SceMode.Directory; Stat->Attributes |= IOFileModes.Directory; } else { throw(new FileNotFoundException("Can't find file '" + RealFileName + "'")); } Stat->TimeCreation = ScePspDateTime.FromDateTime(FileSystemInfo.CreationTimeUtc); Stat->TimeLastAccess = ScePspDateTime.FromDateTime(FileSystemInfo.LastAccessTimeUtc); Stat->TimeLastModification = ScePspDateTime.FromDateTime(FileSystemInfo.LastWriteTimeUtc); return(0); }
public virtual int IoChstat(HleIoDrvFileArg HleIoDrvFileArg, string FileName, SceIoStat *stat, int bits) { return(ParentDriver.IoChstat(HleIoDrvFileArg, FileName, stat, bits)); }
public virtual int IoGetstat(HleIoDrvFileArg HleIoDrvFileArg, string FileName, SceIoStat *Stat) { return(ParentDriver.IoGetstat(HleIoDrvFileArg, FileName, Stat)); }
public int sceIoChstat(string FileName, SceIoStat *SceIoStat, int Bitmask) { var Info = HleState.HleIoManager.ParsePath(FileName); return(Info.HleIoDriver.IoChstat(Info.HleIoDrvFileArg, FileName, SceIoStat, Bitmask)); }