Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
 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);
     }
 }
Ejemplo n.º 4
0
 public unsafe int IoGetstat(HleIoDrvFileArg HleIoDrvFileArg, string FileName, SceIoStat *Stat)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 5
0
 public unsafe int IoChstat(HleIoDrvFileArg HleIoDrvFileArg, string FileName, SceIoStat *stat, int bits)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 8
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");
     }
 }
Ejemplo n.º 9
0
 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));
 }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
 public virtual int IoChstat(HleIoDrvFileArg HleIoDrvFileArg, string FileName, SceIoStat *stat, int bits)
 {
     return(ParentDriver.IoChstat(HleIoDrvFileArg, FileName, stat, bits));
 }
Ejemplo n.º 12
0
 public virtual int IoGetstat(HleIoDrvFileArg HleIoDrvFileArg, string FileName, SceIoStat *Stat)
 {
     return(ParentDriver.IoGetstat(HleIoDrvFileArg, FileName, Stat));
 }
Ejemplo n.º 13
0
        public int sceIoChstat(string FileName, SceIoStat *SceIoStat, int Bitmask)
        {
            var Info = HleState.HleIoManager.ParsePath(FileName);

            return(Info.HleIoDriver.IoChstat(Info.HleIoDrvFileArg, FileName, SceIoStat, Bitmask));
        }