⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 karma.c

📁 linux 内核源代码
💻 C
字号:
/* *  fs/partitions/karma.c *  Rio Karma partition info. * *  Copyright (C) 2006 Bob Copeland (me@bobcopeland.com) *  based on osf.c */#include "check.h"#include "karma.h"int karma_partition(struct parsed_partitions *state, struct block_device *bdev){	int i;	int slot = 1;	Sector sect;	unsigned char *data;	struct disklabel {		u8 d_reserved[270];		struct d_partition {			__le32 p_res;			u8 p_fstype;			u8 p_res2[3];			__le32 p_offset;			__le32 p_size;		} d_partitions[2];		u8 d_blank[208];		__le16 d_magic;	} __attribute__((packed)) *label;	struct d_partition *p;	data = read_dev_sector(bdev, 0, &sect);	if (!data)		return -1;	label = (struct disklabel *)data;	if (le16_to_cpu(label->d_magic) != KARMA_LABEL_MAGIC) {		put_dev_sector(sect);		return 0;	}	p = label->d_partitions;	for (i = 0 ; i < 2; i++, p++) {		if (slot == state->limit)			break;		if (p->p_fstype == 0x4d && le32_to_cpu(p->p_size)) {			put_partition(state, slot, le32_to_cpu(p->p_offset),				le32_to_cpu(p->p_size));		}		slot++;	}	printk("\n");	put_dev_sector(sect);	return 1;}

⌨️ 快捷键说明

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