Beispiel #1
0
        public virtual int sceSdGetLastIndex(TPointer ctx2Addr, TPointer8 hash, TPointer8 key)
        {
            SAVEDATA.SD_Ctx1 ctx = new SAVEDATA.SD_Ctx1();
            ctx.read(ctx2Addr);

            sbyte[] hashBytes = new sbyte[16];

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

            int result = crypto.SAVEDATAEngine.hleSdGetLastIndex(ctx, hashBytes, keyBytes);

            Utilities.writeBytes(hash.Address, hashBytes.Length, hashBytes, 0);

            ctx.write(ctx2Addr);

            return(result);
        }
Beispiel #2
0
        public virtual int sceSdSetIndex(TPointer ctx2Addr, int mode)
        {
            SAVEDATA.SD_Ctx1 ctx = new SAVEDATA.SD_Ctx1();

            int result = crypto.SAVEDATAEngine.hleSdSetIndex(ctx, mode);

            ctx.write(ctx2Addr);

            return(result);
        }
Beispiel #3
0
        public virtual int sceSdRemoveValue(TPointer ctx2Addr, TPointer data, int size)
        {
            SAVEDATA.SD_Ctx1 ctx = new SAVEDATA.SD_Ctx1();
            ctx.read(ctx2Addr);

            sbyte[] bytes = new sbyte[size];
            Utilities.readBytes(data.Address, size, bytes, 0);
            int result = crypto.SAVEDATAEngine.hleSdRemoveValue(ctx, bytes, size);

            ctx.write(ctx2Addr);

            return(result);
        }