ultrix.c

来自「Linux Kernel 2.6.9 for OMAP1710」· C语言 代码 · 共 48 行

C
48
字号
/* *  fs/partitions/ultrix.c * *  Code extracted from drivers/block/genhd.c * *  Re-organised Jul 1999 Russell King */#include "check.h"int ultrix_partition(struct parsed_partitions *state, struct block_device *bdev){	int i;	Sector sect;	unsigned char *data;	struct ultrix_disklabel {		s32	pt_magic;	/* magic no. indicating part. info exits */		s32	pt_valid;	/* set by driver if pt is current */		struct  pt_info {			s32		pi_nblocks; /* no. of sectors */			u32		pi_blkoff;  /* block offset for start */		} pt_part[8];	} *label;#define PT_MAGIC	0x032957	/* Partition magic number */#define PT_VALID	1		/* Indicates if struct is valid */	data = read_dev_sector(bdev, (16384 - sizeof(*label))/512, &sect);	if (!data)		return -1;		label = (struct ultrix_disklabel *)(data + 512 - sizeof(*label));	if (label->pt_magic == PT_MAGIC && label->pt_valid == PT_VALID) {		for (i=0; i<8; i++)			if (label->pt_part[i].pi_nblocks)				put_partition(state, i+1, 					      label->pt_part[i].pi_blkoff,					      label->pt_part[i].pi_nblocks);		put_dev_sector(sect);		printk ("\n");		return 1;	} else {		put_dev_sector(sect);		return 0;	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?