]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - include/linux/cmdline-parser.h
Merge remote-tracking branch 'parisc-hd/for-next'
[karo-tx-linux.git] / include / linux / cmdline-parser.h
1 /*
2  * Parsing command line, get the partitions information.
3  *
4  * Written by Cai Zhiyong <caizhiyong@huawei.com>
5  *
6  */
7 #ifndef CMDLINEPARSEH
8 #define CMDLINEPARSEH
9
10 #include <linux/blkdev.h>
11 #include <linux/fs.h>
12 #include <linux/slab.h>
13
14 /* partition flags */
15 #define PF_RDONLY                   0x01 /* Device is read only */
16 #define PF_POWERUP_LOCK             0x02 /* Always locked after reset */
17
18 struct cmdline_subpart {
19         char name[BDEVNAME_SIZE]; /* partition name, such as 'rootfs' */
20         sector_t from;
21         sector_t size;
22         int flags;
23         struct cmdline_subpart *next_subpart;
24 };
25
26 struct cmdline_parts {
27         char name[BDEVNAME_SIZE]; /* block device, such as 'mmcblk0' */
28         unsigned int nr_subparts;
29         struct cmdline_subpart *subpart;
30         struct cmdline_parts *next_parts;
31 };
32
33 void cmdline_parts_free(struct cmdline_parts **parts);
34
35 int cmdline_parts_parse(struct cmdline_parts **parts, const char *cmdline);
36
37 struct cmdline_parts *cmdline_parts_find(struct cmdline_parts *parts,
38                                          const char *bdev);
39
40 int cmdline_parts_set(struct cmdline_parts *parts, sector_t disk_size,
41                       int slot,
42                       int (*add_part)(int, struct cmdline_subpart *, void *),
43                       void *param);
44
45 #endif /* CMDLINEPARSEH */