summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoan Lledó <jlledom@member.fsf.org>2020-02-15 09:56:26 +0100
committerJoan Lledó <jlledom@member.fsf.org>2020-02-23 17:47:42 +0100
commitb264dbd27739600955a365725f66ceae47e8a456 (patch)
tree0b4a09774604ec27cb5239b0726c78ab268bd7db
parent91a51672ff4cfe1f1a0712b4c542ded3081c825b (diff)
pci-arbiter: Rename command line options
Rename some CLI options in order to add the new -D --device arg. Replace -s by -c for subclasses. Replace -D by -d for domains. Domains are optional from now on, default to 0. Replace -d by -s for devices. The formerly called "devices" are now called "slots", and "device" will refer to a combination of Domain + Bus + Slot + Function Only -G and -U options create new permission scopes. * pci-arbiter/options.c: parse_opts(): Rename options * pci-arbiter/options.h: struct argp_option options[]: Likewise
-rw-r--r--pci-arbiter/options.c18
-rw-r--r--pci-arbiter/options.h18
2 files changed, 16 insertions, 20 deletions
diff --git a/pci-arbiter/options.c b/pci-arbiter/options.c
index 76ce64606..01686fcd9 100644
--- a/pci-arbiter/options.c
+++ b/pci-arbiter/options.c
@@ -114,25 +114,21 @@ parse_opt (int opt, char *arg, struct argp_state *state)
switch (opt)
{
case 'C':
- /* Init a new set if the current one already has a value for this option */
- if (h->curset->d_class >= 0)
- parse_hook_add_set (h);
-
h->curset->d_class = strtol (arg, 0, 16);
break;
- case 's':
+ case 'c':
h->curset->d_subclass = strtol (arg, 0, 16);
break;
- case 'D':
- if (h->curset->domain >= 0)
- parse_hook_add_set (h);
-
+ case 'd':
h->curset->domain = strtol (arg, 0, 16);
break;
case 'b':
+ if (h->curset->domain < 0)
+ h->curset->domain = 0;
+
h->curset->bus = strtol (arg, 0, 16);
break;
- case 'd':
+ case 's':
h->curset->dev = strtol (arg, 0, 16);
break;
case 'f':
@@ -261,7 +257,7 @@ netfs_append_args (char **argz, size_t * argz_len)
if (p->bus >= 0)
ADD_OPT ("--bus=0x%02x", p->bus);
if (p->dev >= 0)
- ADD_OPT ("--dev=0x%02x", p->dev);
+ ADD_OPT ("--slot=0x%02x", p->dev);
if (p->func >= 0)
ADD_OPT ("--func=%01u", p->func);
if (p->uid >= 0)
diff --git a/pci-arbiter/options.h b/pci-arbiter/options.h
index 814f81ad6..9a25c6030 100644
--- a/pci-arbiter/options.h
+++ b/pci-arbiter/options.h
@@ -51,12 +51,12 @@ struct parse_hook
static const struct argp_option options[] = {
{0, 0, 0, 0, "Permission scope:", 1},
{"class", 'C', "CLASS", 0, "Device class in hexadecimal"},
- {"subclass", 's', "SUBCLASS", 0,
- "Device subclass in hexadecimal, only valid with -c"},
- {"domain", 'D', "DOMAIN", 0, "Device domain in hexadecimal"},
- {"bus", 'b', "BUS", 0, "Device bus in hexadecimal, only valid with -D"},
- {"dev", 'd', "DEV", 0, "Device dev in hexadecimal, only valid with -b"},
- {"func", 'f', "FUNC", 0, "Device func in hexadecimal, only valid with -d"},
+ {"subclass", 'c', "SUBCLASS", 0,
+ "Device subclass in hexadecimal, requires -C"},
+ {"domain", 'd', "DOMAIN", 0, "Device domain in hexadecimal"},
+ {"bus", 'b', "BUS", 0, "Device bus in hexadecimal"},
+ {"slot", 's', "SLOT", 0, "Device slot in hexadecimal, requires -b"},
+ {"func", 'f', "FUNC", 0, "Device func in hexadecimal, requires -s"},
{0, 0, 0, 0, "These apply to a given permission scope:", 2},
{"uid", 'U', "UID", 0, "User ID to give permissions to"},
{"gid", 'G', "GID", 0, "Group ID to give permissions to"},
@@ -67,8 +67,8 @@ static const struct argp_option options[] = {
};
static const char doc[] = "More than one permission scope may be specified. \
-Uppercase options create a new permission scope if the current one already \
-has a value for that option. If one node is covered by more than one \
-permission scope, only the first permission is applied to that node.";
+-G and -U options create a new permission scope if the current one already \
+has a value for that option. If one device is covered by more than one \
+permission scope, only the first permission is applied.";
#endif // OPTIONS_H