• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 */
46