Пример #1
0
        public virtual int sceSdCleanList(TPointer ctx2Addr)
        {
            SAVEDATA.SD_Ctx2 ctx = new SAVEDATA.SD_Ctx2();
            ctx.read(ctx2Addr);

            int result = crypto.SAVEDATAEngine.hleSdCleanList(ctx);

            ctx.write(ctx2Addr);

            return(result);
        }
Пример #2
0
        public virtual int sceSdSetMember(TPointer ctx2Addr, TPointer8 data, int dataLength)
        {
            SAVEDATA.SD_Ctx2 ctx = new SAVEDATA.SD_Ctx2();
            ctx.read(ctx2Addr);

            sbyte[] dataBytes = new sbyte[dataLength];
            Utilities.readBytes(data.Address, dataLength, dataBytes, 0);

            int result = crypto.SAVEDATAEngine.hleSdSetMember(ctx, dataBytes, dataLength);

            Utilities.writeBytes(data.Address, dataBytes.Length, dataBytes, 0);

            ctx.write(ctx2Addr);

            return(result);
        }
Пример #3
0
        public virtual int sceSdCreateList(TPointer ctx2Addr, int encMode, int genMode, TPointer8 data, TPointer8 key)
        {
            SAVEDATA.SD_Ctx2 ctx = new SAVEDATA.SD_Ctx2();
            ctx.read(ctx2Addr);

            sbyte[] dataBytes;
            if (data.Null)
            {
                dataBytes = null;
            }
            else
            {
                dataBytes = new sbyte[16];
                Utilities.readBytes(data.Address, dataBytes.Length, dataBytes, 0);
            }

            sbyte[] keyBytes;
            if (key.Null)
            {
                keyBytes = null;
            }
            else
            {
                keyBytes = new sbyte[16];
                Utilities.readBytes(key.Address, keyBytes.Length, keyBytes, 0);
            }

            int result = crypto.SAVEDATAEngine.hleSdCreateList(ctx, encMode, genMode, dataBytes, keyBytes);

            if (dataBytes != null)
            {
                Utilities.writeBytes(data.Address, dataBytes.Length, dataBytes, 0);
            }
            if (keyBytes != null)
            {
                Utilities.writeBytes(key.Address, keyBytes.Length, keyBytes, 0);
            }

            ctx.write(ctx2Addr);

            return(result);
        }