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