forked from Qortal/Brooklyn
2a709f28fa
* 0day explit mitigation * Memory corruption prevention * Privilege escalation prevention * Buffer over flow prevention * File System corruption defense * Thread escape prevention This may very well be the most intensive inclusion to BrooklynR. This will not be part of an x86 suite nor it will be released as tool kit. The security core toolkit will remain part of kernel base.
92 lines
1.5 KiB
C
92 lines
1.5 KiB
C
/*
|
|
* Parts of INFTL headers shared with userspace
|
|
*
|
|
*/
|
|
|
|
#ifndef __MTD_INFTL_USER_H__
|
|
#define __MTD_INFTL_USER_H__
|
|
|
|
#include <linux/types.h>
|
|
|
|
#define OSAK_VERSION 0x5120
|
|
#define PERCENTUSED 98
|
|
|
|
#define SECTORSIZE 512
|
|
|
|
/* Block Control Information */
|
|
|
|
struct inftl_bci {
|
|
__u8 ECCsig[6];
|
|
__u8 Status;
|
|
__u8 Status1;
|
|
} __attribute__((packed));
|
|
|
|
struct inftl_unithead1 {
|
|
__u16 virtualUnitNo;
|
|
__u16 prevUnitNo;
|
|
__u8 ANAC;
|
|
__u8 NACs;
|
|
__u8 parityPerField;
|
|
__u8 discarded;
|
|
} __attribute__((packed));
|
|
|
|
struct inftl_unithead2 {
|
|
__u8 parityPerField;
|
|
__u8 ANAC;
|
|
__u16 prevUnitNo;
|
|
__u16 virtualUnitNo;
|
|
__u8 NACs;
|
|
__u8 discarded;
|
|
} __attribute__((packed));
|
|
|
|
struct inftl_unittail {
|
|
__u8 Reserved[4];
|
|
__u16 EraseMark;
|
|
__u16 EraseMark1;
|
|
} __attribute__((packed));
|
|
|
|
union inftl_uci {
|
|
struct inftl_unithead1 a;
|
|
struct inftl_unithead2 b;
|
|
struct inftl_unittail c;
|
|
};
|
|
|
|
struct inftl_oob {
|
|
struct inftl_bci b;
|
|
union inftl_uci u;
|
|
};
|
|
|
|
|
|
/* INFTL Media Header */
|
|
|
|
struct INFTLPartition {
|
|
__u32 virtualUnits;
|
|
__u32 firstUnit;
|
|
__u32 lastUnit;
|
|
__u32 flags;
|
|
__u32 spareUnits;
|
|
__u32 Reserved0;
|
|
__u32 Reserved1;
|
|
} __attribute__((packed));
|
|
|
|
struct INFTLMediaHeader {
|
|
char bootRecordID[8];
|
|
__u32 NoOfBootImageBlocks;
|
|
__u32 NoOfBinaryPartitions;
|
|
__u32 NoOfBDTLPartitions;
|
|
__u32 BlockMultiplierBits;
|
|
__u32 FormatFlags;
|
|
__u32 OsakVersion;
|
|
__u32 PercentUsed;
|
|
struct INFTLPartition Partitions[4];
|
|
} __attribute__((packed));
|
|
|
|
/* Partition flag types */
|
|
#define INFTL_BINARY 0x20000000
|
|
#define INFTL_BDTL 0x40000000
|
|
#define INFTL_LAST 0x80000000
|
|
|
|
#endif /* __MTD_INFTL_USER_H__ */
|
|
|
|
|