/// <summary> /// Read from a stream and get access control info, if possible /// </summary> /// <param name="reader">BinaryReader representing the input stream</param> /// <returns>Access control info object, null on error</returns> public static AccessControlInfo Read(BinaryReader reader) { AccessControlInfo aci = new AccessControlInfo(); try { aci.ARM11LocalSystemCapabilities = ARM11LocalSystemCapabilities.Read(reader); aci.ARM11KernelCapabilities = ARM11KernelCapabilities.Read(reader); aci.ARM9AccessControl = ARM9AccessControl.Read(reader); return(aci); } catch { return(null); } }
/// <summary> /// Read from a stream and get ARM11 kernel capabilities, if possible /// </summary> /// <param name="reader">BinaryReader representing the input stream</param> /// <returns>ARM11 kernel capabilities object, null on error</returns> public static ARM11KernelCapabilities Read(BinaryReader reader) { ARM11KernelCapabilities kc = new ARM11KernelCapabilities(); try { kc.Descriptors = new byte[28][]; for (int i = 0; i < 28; i++) { kc.Descriptors[i] = reader.ReadBytes(4); } kc.Reserved = reader.ReadBytes(0x10); return(kc); } catch { return(null); } }