blob: 43adcc68e47197c8bcc86dca3ae7327e2c5c43e9 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#include <linux/pagemap.h>
2#include <linux/blkdev.h>
3
4/*
5 * add_gd_partition adds a partitions details to the devices partition
6 * description.
7 */
8enum { MAX_PART = 256 };
9
10struct parsed_partitions {
11 char name[BDEVNAME_SIZE];
12 struct {
13 sector_t from;
14 sector_t size;
15 int flags;
16 } parts[MAX_PART];
17 int next;
18 int limit;
19};
20
21static inline void
22put_partition(struct parsed_partitions *p, int n, sector_t from, sector_t size)
23{
24 if (n < p->limit) {
25 p->parts[n].from = from;
26 p->parts[n].size = size;
27 printk(" %s%d", p->name, n);
28 }
29}
30
31extern int warn_no_part;
32
33extern void parse_bsd(struct parsed_partitions *state,
34 struct block_device *bdev, u32 offset, u32 size,
35 int origin, char *flavour, int max_partitions);
36