PS3DumpChecker.Common.SwapBytes C# (CSharp) Method

SwapBytes() public static method

public static SwapBytes ( byte &data ) : bool
data byte
return bool
        public static bool SwapBytes(ref byte[] data) {
            if((data.Length % 2) != 0)
                return false;
            for(var i = 0; i < data.Length; i += 2) {
                var b = data[i];
                data[i] = data[i + 1];
                data[i + 1] = b;
            }
            return true;
        }

Usage Example

Example #1
0
        private static List <SKUCheckData> GetSKUCheckData(bool reversed, ref byte[] data, ref Common.TypeData checkdata)
        {
            var ret = new List <SKUCheckData>();

            foreach (var skuDataEntry in checkdata.SKUDataList.Value)
            {
                var skuCheckDataEntry = new SKUCheckData
                {
                    Type = skuDataEntry.Type
                };
                var tmpdata = new byte[skuDataEntry.Size];
                Buffer.BlockCopy(data, (int)skuDataEntry.Offset, tmpdata, 0, tmpdata.Length);
                if (reversed)
                {
                    if (skuDataEntry.Size == 1)
                    {
                        if ((skuDataEntry.Offset % 2) == 0)
                        {
                            if (data.Length < skuDataEntry.Offset + 1)
                            {
                                Logger.WriteLine2("FAILED! Offset is at end of image!");
                                tmpdata[0] = 0;
                            }
                            else
                            {
                                tmpdata[0] = data[skuDataEntry.Offset + 1];
                            }
                        }
                        else
                        {
                            tmpdata[0] = data[skuDataEntry.Offset - 1];
                        }
                    }
                    else
                    {
                        Common.SwapBytes(ref tmpdata);
                    }
                }
                if (skuDataEntry.Type.Equals("bootldrsize", StringComparison.CurrentCultureIgnoreCase))
                {
                    if (tmpdata.Length == 2)
                    {
                        skuCheckDataEntry.Size = Common.GetLdrSize(ref tmpdata);
                    }
                    else
                    {
                        throw new ArgumentException("The bootloader argument size should be 2");
                    }
                }
                else
                {
                    skuCheckDataEntry.Data = Common.GetDataForTest(tmpdata);
                }
                ret.Add(skuCheckDataEntry);
            }
            return(ret);
        }
All Usage Examples Of PS3DumpChecker.Common::SwapBytes