target/riscv: vmfirst find-first-set mask bit
[qemu.git] / qapi / authz.json
1 # -*- Mode: Python -*-
2 #
3 # QAPI authz definitions
4
5 ##
6 # @QAuthZListPolicy:
7 #
8 # The authorization policy result
9 #
10 # @deny: deny access
11 # @allow: allow access
12 #
13 # Since: 4.0
14 ##
15 { 'enum': 'QAuthZListPolicy',
16   'prefix': 'QAUTHZ_LIST_POLICY',
17   'data': ['deny', 'allow']}
18
19 ##
20 # @QAuthZListFormat:
21 #
22 # The authorization policy match format
23 #
24 # @exact: an exact string match
25 # @glob: string with ? and * shell wildcard support
26 #
27 # Since: 4.0
28 ##
29 { 'enum': 'QAuthZListFormat',
30   'prefix': 'QAUTHZ_LIST_FORMAT',
31   'data': ['exact', 'glob']}
32
33 ##
34 # @QAuthZListRule:
35 #
36 # A single authorization rule.
37 #
38 # @match: a string or glob to match against a user identity
39 # @policy: the result to return if @match evaluates to true
40 # @format: the format of the @match rule (default 'exact')
41 #
42 # Since: 4.0
43 ##
44 { 'struct': 'QAuthZListRule',
45   'data': {'match': 'str',
46            'policy': 'QAuthZListPolicy',
47            '*format': 'QAuthZListFormat'}}
48
49 ##
50 # @QAuthZListRuleListHack:
51 #
52 # Not exposed via QMP; hack to generate QAuthZListRuleList
53 # for use internally by the code.
54 #
55 # Since: 4.0
56 ##
57 { 'struct': 'QAuthZListRuleListHack',
58   'data': { 'unused': ['QAuthZListRule'] } }