diff options
Diffstat (limited to 'include/part.h')
| -rw-r--r-- | include/part.h | 5 | 
1 files changed, 5 insertions, 0 deletions
| diff --git a/include/part.h b/include/part.h index 12e9b056e..f7c7cc59f 100644 --- a/include/part.h +++ b/include/part.h @@ -38,6 +38,7 @@ typedef struct block_dev_desc {  #endif  	lbaint_t	lba;		/* number of blocks */  	unsigned long	blksz;		/* block size */ +	int		log2blksz;	/* for convenience: log2(blksz) */  	char		vendor [40+1];	/* IDE model, SCSI Vendor */  	char		product[20+1];	/* IDE Serial no, SCSI product */  	char		revision[8+1];	/* firmware revision */ @@ -58,6 +59,10 @@ typedef struct block_dev_desc {  #define BLOCK_CNT(size, block_dev_desc) (PAD_COUNT(size, block_dev_desc->blksz))  #define PAD_TO_BLOCKSIZE(size, block_dev_desc) \  	(PAD_SIZE(size, block_dev_desc->blksz)) +#define LOG2(x) (((x & 0xaaaaaaaa) ? 1 : 0) + ((x & 0xcccccccc) ? 2 : 0) + \ +		 ((x & 0xf0f0f0f0) ? 4 : 0) + ((x & 0xff00ff00) ? 8 : 0) + \ +		 ((x & 0xffff0000) ? 16 : 0)) +#define LOG2_INVALID(type) ((type)((sizeof(type)<<3)-1))  /* Interface types: */  #define IF_TYPE_UNKNOWN		0 |