nl-linux 0.2.4 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rspec +3 -0
- data/.yardopts +5 -0
- data/CHANGELOG.md +8 -0
- data/Rakefile +27 -5
- data/generated/nl/linux/binder.rb +227 -19
- data/generated/nl/linux/conntrack.rb +1325 -365
- data/generated/nl/linux/dev_energymodel.rb +357 -66
- data/generated/nl/linux/devlink.rb +6310 -1859
- data/generated/nl/linux/dpll.rb +2202 -376
- data/generated/nl/linux/drm_ras.rb +312 -63
- data/generated/nl/linux/ethtool.rb +7555 -2447
- data/generated/nl/linux/fou.rb +381 -133
- data/generated/nl/linux/handshake.rb +340 -70
- data/generated/nl/linux/lockd.rb +132 -27
- data/generated/nl/linux/mptcp_pm.rb +773 -161
- data/generated/nl/linux/net_shaper.rb +892 -211
- data/generated/nl/linux/netdev.rb +2366 -518
- data/generated/nl/linux/nfsd.rb +1299 -317
- data/generated/nl/linux/nftables.rb +5351 -1533
- data/generated/nl/linux/nl80211.rb +4601 -882
- data/generated/nl/linux/nlctrl.rb +460 -117
- data/generated/nl/linux/ovpn.rb +1360 -262
- data/generated/nl/linux/ovs_datapath.rb +312 -98
- data/generated/nl/linux/ovs_flow.rb +1866 -358
- data/generated/nl/linux/ovs_packet.rb +331 -45
- data/generated/nl/linux/ovs_vport.rb +374 -123
- data/generated/nl/linux/psp.rb +1093 -201
- data/generated/nl/linux/rt_addr.rb +423 -165
- data/generated/nl/linux/rt_link.rb +6928 -1336
- data/generated/nl/linux/rt_neigh.rb +1063 -297
- data/generated/nl/linux/rt_route.rb +1112 -483
- data/generated/nl/linux/rt_rule.rb +931 -262
- data/generated/nl/linux/sunrpc_cache.rb +407 -82
- data/generated/nl/linux/tc.rb +10081 -1763
- data/generated/nl/linux/tcp_metrics.rb +388 -109
- data/generated/nl/linux/team.rb +350 -84
- data/generated/nl/linux/wireguard.rb +525 -96
- data/generated/nl/linux.rb +1 -0
- data/lib/nl/linux/nlctrl_resolver.rb +31 -0
- data/lib/nl/linux/version.rb +1 -1
- data/sig/generated/nl/linux/binder.rbs +366 -0
- data/sig/generated/nl/linux/conntrack.rbs +2787 -0
- data/sig/generated/nl/linux/dev_energymodel.rbs +636 -0
- data/sig/generated/nl/linux/devlink.rbs +12496 -0
- data/sig/generated/nl/linux/dpll.rbs +3461 -0
- data/sig/generated/nl/linux/drm_ras.rbs +553 -0
- data/sig/generated/nl/linux/ethtool.rbs +15291 -0
- data/sig/generated/nl/linux/fou.rbs +702 -0
- data/sig/generated/nl/linux/handshake.rbs +622 -0
- data/sig/generated/nl/linux/lockd.rbs +234 -0
- data/sig/generated/nl/linux/mptcp_pm.rbs +1511 -0
- data/sig/generated/nl/linux/net_shaper.rbs +1645 -0
- data/sig/generated/nl/linux/netdev.rbs +4187 -0
- data/sig/generated/nl/linux/nfsd.rbs +2520 -0
- data/sig/generated/nl/linux/nftables.rbs +10304 -0
- data/sig/generated/nl/linux/nl80211.rbs +9786 -0
- data/sig/generated/nl/linux/nlctrl.rbs +944 -0
- data/sig/generated/nl/linux/nlctrl_resolver.rbs +20 -0
- data/sig/generated/nl/linux/ovpn.rbs +2564 -0
- data/sig/generated/nl/linux/ovs_datapath.rbs +640 -0
- data/sig/generated/nl/linux/ovs_flow.rbs +3659 -0
- data/sig/generated/nl/linux/ovs_packet.rbs +540 -0
- data/sig/generated/nl/linux/ovs_vport.rbs +777 -0
- data/sig/generated/nl/linux/psp.rbs +1846 -0
- data/sig/generated/nl/linux/rt_addr.rbs +866 -0
- data/sig/generated/nl/linux/rt_link.rbs +13438 -0
- data/sig/generated/nl/linux/rt_neigh.rbs +2124 -0
- data/sig/generated/nl/linux/rt_route.rbs +2218 -0
- data/sig/generated/nl/linux/rt_rule.rbs +1726 -0
- data/sig/generated/nl/linux/sunrpc_cache.rbs +739 -0
- data/sig/generated/nl/linux/tc.rbs +19931 -0
- data/sig/generated/nl/linux/tcp_metrics.rbs +740 -0
- data/sig/generated/nl/linux/team.rbs +733 -0
- data/sig/generated/nl/linux/version.rbs +7 -0
- data/sig/generated/nl/linux/wireguard.rbs +1006 -0
- data/sig/generated/nl/linux.rbs +6 -0
- data/sig/generated/nl-linux.rbs +2 -0
- metadata +51 -10
|
@@ -1,397 +1,740 @@
|
|
|
1
1
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
|
2
|
+
#
|
|
3
|
+
# This file is based on Documentation/netlink/specs/nlctrl.yaml from Linux v7.2.
|
|
2
4
|
#--
|
|
3
5
|
# frozen_string_literal: true
|
|
4
|
-
# rbs_inline: enabled
|
|
5
6
|
# This code is generated by Ynl::Generator. DO NOT EDIT.
|
|
6
7
|
require 'nl'
|
|
7
8
|
module Nl; module Linux
|
|
8
9
|
# genetlink meta-family that exposes information about all genetlink
|
|
9
10
|
# families registered in the kernel (including itself).
|
|
10
|
-
class Nlctrl < ::Nl::Family
|
|
11
|
+
class Nlctrl < ::Nl::Genl::Family
|
|
11
12
|
NAME = "nlctrl"
|
|
12
|
-
|
|
13
|
+
VERSION = 1
|
|
14
|
+
# @rbs (?resolver: ^(::Nl::Genl::Client, ::String) -> ::Nl::Genl::FamilyInfo, ?executor: executor?, ?notification_capacity: ::Integer?) -> (::Nl::Family::Session & instance)
|
|
15
|
+
# @rbs | [R] (?resolver: ^(::Nl::Genl::Client, ::String) -> ::Nl::Genl::FamilyInfo, ?executor: executor?, ?notification_capacity: ::Integer?) { (instance) -> R } -> R
|
|
16
|
+
# @overload open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY)
|
|
17
|
+
# @param [#call] resolver
|
|
18
|
+
# @param [Symbol, nil] executor
|
|
19
|
+
# @param [Integer, nil] notification_capacity
|
|
20
|
+
# @return [Nlctrl]
|
|
21
|
+
# @overload open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY, &block)
|
|
22
|
+
# @param [#call] resolver
|
|
23
|
+
# @param [Symbol, nil] executor
|
|
24
|
+
# @param [Integer, nil] notification_capacity
|
|
25
|
+
# @yieldparam [Nlctrl] family
|
|
26
|
+
# @return [Object] the result of the block
|
|
27
|
+
def self.open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY)
|
|
28
|
+
super
|
|
29
|
+
end
|
|
30
|
+
# @private
|
|
31
|
+
MCAST_GROUPS = Ractor.make_shareable({}) #: Hash[::Symbol, ::Nl::McastGroup]
|
|
32
|
+
module Enums
|
|
33
|
+
module AttrType
|
|
34
|
+
Invalid = 0
|
|
35
|
+
Flag = 1
|
|
36
|
+
U8 = 2
|
|
37
|
+
U16 = 3
|
|
38
|
+
U32 = 4
|
|
39
|
+
U64 = 5
|
|
40
|
+
S8 = 6
|
|
41
|
+
S16 = 7
|
|
42
|
+
S32 = 8
|
|
43
|
+
S64 = 9
|
|
44
|
+
Binary = 10
|
|
45
|
+
String = 11
|
|
46
|
+
NulString = 12
|
|
47
|
+
Nested = 13
|
|
48
|
+
NestedArray = 14
|
|
49
|
+
Bitfield32 = 15
|
|
50
|
+
Sint = 16
|
|
51
|
+
Uint = 17
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
module Flags
|
|
55
|
+
module OpFlags
|
|
56
|
+
AdminPerm = 1
|
|
57
|
+
CmdCapDo = 2
|
|
58
|
+
CmdCapDump = 4
|
|
59
|
+
CmdCapHaspol = 8
|
|
60
|
+
UnsAdminPerm = 16
|
|
61
|
+
end
|
|
62
|
+
end
|
|
13
63
|
module Structs
|
|
14
64
|
end
|
|
15
65
|
module AttributeSets
|
|
16
|
-
class CtrlAttrs < ::Nl::
|
|
66
|
+
class CtrlAttrs < ::Nl::AttributeSet
|
|
17
67
|
# Abstract class
|
|
18
|
-
class Attribute < ::Nl::
|
|
68
|
+
class Attribute < ::Nl::AttributeSet::Attribute
|
|
19
69
|
end
|
|
20
70
|
class FamilyId < Attribute
|
|
21
71
|
TYPE = 1
|
|
22
72
|
NAME = :"family_id"
|
|
23
|
-
|
|
73
|
+
# @private
|
|
74
|
+
ORDER = 0
|
|
75
|
+
# @private
|
|
76
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
|
|
24
77
|
end
|
|
25
78
|
class FamilyName < Attribute
|
|
26
79
|
TYPE = 2
|
|
27
80
|
NAME = :"family_name"
|
|
28
|
-
|
|
81
|
+
# @private
|
|
82
|
+
ORDER = 1
|
|
83
|
+
# @private
|
|
84
|
+
DATATYPE = ::Nl::DataTypes::String.new(check: nil)
|
|
29
85
|
end
|
|
30
86
|
class Version < Attribute
|
|
31
87
|
TYPE = 3
|
|
32
88
|
NAME = :"version"
|
|
33
|
-
|
|
89
|
+
# @private
|
|
90
|
+
ORDER = 2
|
|
91
|
+
# @private
|
|
92
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
34
93
|
end
|
|
35
94
|
class Hdrsize < Attribute
|
|
36
95
|
TYPE = 4
|
|
37
96
|
NAME = :"hdrsize"
|
|
38
|
-
|
|
97
|
+
# @private
|
|
98
|
+
ORDER = 3
|
|
99
|
+
# @private
|
|
100
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
39
101
|
end
|
|
40
102
|
class Maxattr < Attribute
|
|
41
103
|
TYPE = 5
|
|
42
104
|
NAME = :"maxattr"
|
|
43
|
-
|
|
105
|
+
# @private
|
|
106
|
+
ORDER = 4
|
|
107
|
+
# @private
|
|
108
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
44
109
|
end
|
|
45
110
|
class Ops < Attribute
|
|
46
111
|
TYPE = 6
|
|
47
112
|
NAME = :"ops"
|
|
113
|
+
# @private
|
|
114
|
+
ORDER = 5
|
|
48
115
|
end
|
|
49
116
|
class McastGroups < Attribute
|
|
50
117
|
TYPE = 7
|
|
51
118
|
NAME = :"mcast_groups"
|
|
119
|
+
# @private
|
|
120
|
+
ORDER = 6
|
|
52
121
|
end
|
|
53
122
|
class Policy < Attribute
|
|
54
123
|
TYPE = 8
|
|
55
124
|
NAME = :"policy"
|
|
125
|
+
# @private
|
|
126
|
+
ORDER = 7
|
|
56
127
|
end
|
|
57
128
|
class OpPolicy < Attribute
|
|
58
129
|
TYPE = 9
|
|
59
130
|
NAME = :"op_policy"
|
|
131
|
+
# @private
|
|
132
|
+
ORDER = 8
|
|
60
133
|
end
|
|
61
134
|
class Op < Attribute
|
|
62
135
|
TYPE = 10
|
|
63
136
|
NAME = :"op"
|
|
64
|
-
|
|
137
|
+
# @private
|
|
138
|
+
ORDER = 9
|
|
139
|
+
# @private
|
|
140
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
65
141
|
end
|
|
66
|
-
#
|
|
142
|
+
# @private
|
|
67
143
|
BY_NAME = Ractor.make_shareable({:"family_id" => FamilyId, :"family_name" => FamilyName, :"version" => Version, :"hdrsize" => Hdrsize, :"maxattr" => Maxattr, :"ops" => Ops, :"mcast_groups" => McastGroups, :"policy" => Policy, :"op_policy" => OpPolicy, :"op" => Op}) #: Hash[::Symbol, Attribute]
|
|
68
|
-
#
|
|
144
|
+
# @private
|
|
69
145
|
BY_TYPE = Ractor.make_shareable({1 => FamilyId, 2 => FamilyName, 3 => Version, 4 => Hdrsize, 5 => Maxattr, 6 => Ops, 7 => McastGroups, 8 => Policy, 9 => OpPolicy, 10 => Op}) #: Hash[::Integer, Attribute]
|
|
146
|
+
# @rbs return: ::Integer
|
|
147
|
+
# @return [Integer]
|
|
148
|
+
# @see FamilyId
|
|
149
|
+
def family_id; self[:"family_id"]&.value; end
|
|
150
|
+
# @rbs return: ::String
|
|
151
|
+
# @return [String]
|
|
152
|
+
# @see FamilyName
|
|
153
|
+
def family_name; self[:"family_name"]&.value; end
|
|
154
|
+
# @rbs return: ::Integer
|
|
155
|
+
# @return [Integer]
|
|
156
|
+
# @see Version
|
|
157
|
+
def version; self[:"version"]&.value; end
|
|
158
|
+
# @rbs return: ::Integer
|
|
159
|
+
# @return [Integer]
|
|
160
|
+
# @see Hdrsize
|
|
161
|
+
def hdrsize; self[:"hdrsize"]&.value; end
|
|
162
|
+
# @rbs return: ::Integer
|
|
163
|
+
# @return [Integer]
|
|
164
|
+
# @see Maxattr
|
|
165
|
+
def maxattr; self[:"maxattr"]&.value; end
|
|
166
|
+
# @rbs return: ::Array[AttributeSets::OpAttrs]
|
|
167
|
+
# @return [Array<AttributeSets::OpAttrs>]
|
|
168
|
+
# @see Ops
|
|
169
|
+
def ops; self[:"ops"]&.value; end
|
|
170
|
+
# @rbs return: ::Array[AttributeSets::McastGroupAttrs]
|
|
171
|
+
# @return [Array<AttributeSets::McastGroupAttrs>]
|
|
172
|
+
# @see McastGroups
|
|
173
|
+
def mcast_groups; self[:"mcast_groups"]&.value; end
|
|
174
|
+
# @rbs return: ::Hash[::Integer, ::Hash[::Integer, AttributeSets::PolicyAttrs]]
|
|
175
|
+
# @return [Hash<Integer, Hash<Integer, AttributeSets::PolicyAttrs>>]
|
|
176
|
+
# @see Policy
|
|
177
|
+
def policy; self[:"policy"]&.value; end
|
|
178
|
+
# @rbs return: ::Hash[::Integer, AttributeSets::OpPolicyAttrs]
|
|
179
|
+
# @return [Hash<Integer, AttributeSets::OpPolicyAttrs>]
|
|
180
|
+
# @see OpPolicy
|
|
181
|
+
def op_policy; self[:"op_policy"]&.value; end
|
|
182
|
+
# @rbs return: ::Integer
|
|
183
|
+
# @return [Integer]
|
|
184
|
+
# @see Op
|
|
185
|
+
def op; self[:"op"]&.value; end
|
|
70
186
|
class << self
|
|
71
187
|
# Looks up Attribute class by name.
|
|
72
|
-
#--
|
|
73
188
|
# @rbs name: Symbol
|
|
74
189
|
# @rbs return: Attribute
|
|
190
|
+
# @param [Symbol] name
|
|
191
|
+
# @return [Attribute]
|
|
75
192
|
def by_name(name); BY_NAME.fetch(name); end
|
|
76
193
|
# Looks up Attribute class by type value.
|
|
77
|
-
#--
|
|
78
194
|
# @rbs type: Integer
|
|
79
195
|
# @rbs return: Attribute
|
|
196
|
+
# @param [Integer] type
|
|
197
|
+
# @return [Attribute]
|
|
80
198
|
def by_type(type); BY_TYPE.fetch(type); end
|
|
81
199
|
end
|
|
82
200
|
end
|
|
83
|
-
class McastGroupAttrs < ::Nl::
|
|
201
|
+
class McastGroupAttrs < ::Nl::AttributeSet
|
|
84
202
|
# Abstract class
|
|
85
|
-
class Attribute < ::Nl::
|
|
203
|
+
class Attribute < ::Nl::AttributeSet::Attribute
|
|
86
204
|
end
|
|
87
205
|
class Name < Attribute
|
|
88
206
|
TYPE = 1
|
|
89
207
|
NAME = :"name"
|
|
90
|
-
|
|
208
|
+
# @private
|
|
209
|
+
ORDER = 0
|
|
210
|
+
# @private
|
|
211
|
+
DATATYPE = ::Nl::DataTypes::String.new(check: nil)
|
|
91
212
|
end
|
|
92
213
|
class Id < Attribute
|
|
93
214
|
TYPE = 2
|
|
94
215
|
NAME = :"id"
|
|
95
|
-
|
|
216
|
+
# @private
|
|
217
|
+
ORDER = 1
|
|
218
|
+
# @private
|
|
219
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
96
220
|
end
|
|
97
|
-
#
|
|
221
|
+
# @private
|
|
98
222
|
BY_NAME = Ractor.make_shareable({:"name" => Name, :"id" => Id}) #: Hash[::Symbol, Attribute]
|
|
99
|
-
#
|
|
223
|
+
# @private
|
|
100
224
|
BY_TYPE = Ractor.make_shareable({1 => Name, 2 => Id}) #: Hash[::Integer, Attribute]
|
|
225
|
+
# @rbs return: ::String
|
|
226
|
+
# @return [String]
|
|
227
|
+
# @see Name
|
|
228
|
+
def name; self[:"name"]&.value; end
|
|
229
|
+
# @rbs return: ::Integer
|
|
230
|
+
# @return [Integer]
|
|
231
|
+
# @see Id
|
|
232
|
+
def id; self[:"id"]&.value; end
|
|
101
233
|
class << self
|
|
102
234
|
# Looks up Attribute class by name.
|
|
103
|
-
#--
|
|
104
235
|
# @rbs name: Symbol
|
|
105
236
|
# @rbs return: Attribute
|
|
237
|
+
# @param [Symbol] name
|
|
238
|
+
# @return [Attribute]
|
|
106
239
|
def by_name(name); BY_NAME.fetch(name); end
|
|
107
240
|
# Looks up Attribute class by type value.
|
|
108
|
-
#--
|
|
109
241
|
# @rbs type: Integer
|
|
110
242
|
# @rbs return: Attribute
|
|
243
|
+
# @param [Integer] type
|
|
244
|
+
# @return [Attribute]
|
|
111
245
|
def by_type(type); BY_TYPE.fetch(type); end
|
|
112
246
|
end
|
|
113
247
|
end
|
|
114
|
-
class OpAttrs < ::Nl::
|
|
248
|
+
class OpAttrs < ::Nl::AttributeSet
|
|
115
249
|
# Abstract class
|
|
116
|
-
class Attribute < ::Nl::
|
|
250
|
+
class Attribute < ::Nl::AttributeSet::Attribute
|
|
117
251
|
end
|
|
118
252
|
class Id < Attribute
|
|
119
253
|
TYPE = 1
|
|
120
254
|
NAME = :"id"
|
|
121
|
-
|
|
255
|
+
# @private
|
|
256
|
+
ORDER = 0
|
|
257
|
+
# @private
|
|
258
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
122
259
|
end
|
|
260
|
+
# Known flags are defined in {Flags::OpFlags}.
|
|
123
261
|
class Flags < Attribute
|
|
124
262
|
TYPE = 2
|
|
125
263
|
NAME = :"flags"
|
|
126
|
-
|
|
264
|
+
# @private
|
|
265
|
+
ORDER = 1
|
|
266
|
+
# @private
|
|
267
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
127
268
|
end
|
|
128
|
-
#
|
|
269
|
+
# @private
|
|
129
270
|
BY_NAME = Ractor.make_shareable({:"id" => Id, :"flags" => Flags}) #: Hash[::Symbol, Attribute]
|
|
130
|
-
#
|
|
271
|
+
# @private
|
|
131
272
|
BY_TYPE = Ractor.make_shareable({1 => Id, 2 => Flags}) #: Hash[::Integer, Attribute]
|
|
273
|
+
# @rbs return: ::Integer
|
|
274
|
+
# @return [Integer]
|
|
275
|
+
# @see Id
|
|
276
|
+
def id; self[:"id"]&.value; end
|
|
277
|
+
# Known flags are defined in {Flags::OpFlags}.
|
|
278
|
+
# @rbs return: ::Integer
|
|
279
|
+
# @return [Integer]
|
|
280
|
+
# @see Flags
|
|
281
|
+
def flags; self[:"flags"]&.value; end
|
|
132
282
|
class << self
|
|
133
283
|
# Looks up Attribute class by name.
|
|
134
|
-
#--
|
|
135
284
|
# @rbs name: Symbol
|
|
136
285
|
# @rbs return: Attribute
|
|
286
|
+
# @param [Symbol] name
|
|
287
|
+
# @return [Attribute]
|
|
137
288
|
def by_name(name); BY_NAME.fetch(name); end
|
|
138
289
|
# Looks up Attribute class by type value.
|
|
139
|
-
#--
|
|
140
290
|
# @rbs type: Integer
|
|
141
291
|
# @rbs return: Attribute
|
|
292
|
+
# @param [Integer] type
|
|
293
|
+
# @return [Attribute]
|
|
142
294
|
def by_type(type); BY_TYPE.fetch(type); end
|
|
143
295
|
end
|
|
144
296
|
end
|
|
145
|
-
class PolicyAttrs < ::Nl::
|
|
297
|
+
class PolicyAttrs < ::Nl::AttributeSet
|
|
146
298
|
# Abstract class
|
|
147
|
-
class Attribute < ::Nl::
|
|
299
|
+
class Attribute < ::Nl::AttributeSet::Attribute
|
|
148
300
|
end
|
|
301
|
+
# Known enum values are defined in {Enums::AttrType}.
|
|
149
302
|
class Type < Attribute
|
|
150
303
|
TYPE = 1
|
|
151
304
|
NAME = :"type"
|
|
152
|
-
|
|
305
|
+
# @private
|
|
306
|
+
ORDER = 0
|
|
307
|
+
# @private
|
|
308
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
153
309
|
end
|
|
154
310
|
class MinValueS < Attribute
|
|
155
311
|
TYPE = 2
|
|
156
312
|
NAME = :"min_value_s"
|
|
157
|
-
|
|
313
|
+
# @private
|
|
314
|
+
ORDER = 1
|
|
315
|
+
# @private
|
|
316
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S64, check: nil)
|
|
158
317
|
end
|
|
159
318
|
class MaxValueS < Attribute
|
|
160
319
|
TYPE = 3
|
|
161
320
|
NAME = :"max_value_s"
|
|
162
|
-
|
|
321
|
+
# @private
|
|
322
|
+
ORDER = 2
|
|
323
|
+
# @private
|
|
324
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S64, check: nil)
|
|
163
325
|
end
|
|
164
326
|
class MinValueU < Attribute
|
|
165
327
|
TYPE = 4
|
|
166
328
|
NAME = :"min_value_u"
|
|
167
|
-
|
|
329
|
+
# @private
|
|
330
|
+
ORDER = 3
|
|
331
|
+
# @private
|
|
332
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
|
|
168
333
|
end
|
|
169
334
|
class MaxValueU < Attribute
|
|
170
335
|
TYPE = 5
|
|
171
336
|
NAME = :"max_value_u"
|
|
172
|
-
|
|
337
|
+
# @private
|
|
338
|
+
ORDER = 4
|
|
339
|
+
# @private
|
|
340
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
|
|
173
341
|
end
|
|
174
342
|
class MinLength < Attribute
|
|
175
343
|
TYPE = 6
|
|
176
344
|
NAME = :"min_length"
|
|
177
|
-
|
|
345
|
+
# @private
|
|
346
|
+
ORDER = 5
|
|
347
|
+
# @private
|
|
348
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
178
349
|
end
|
|
179
350
|
class MaxLength < Attribute
|
|
180
351
|
TYPE = 7
|
|
181
352
|
NAME = :"max_length"
|
|
182
|
-
|
|
353
|
+
# @private
|
|
354
|
+
ORDER = 6
|
|
355
|
+
# @private
|
|
356
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
183
357
|
end
|
|
184
358
|
class PolicyIdx < Attribute
|
|
185
359
|
TYPE = 8
|
|
186
360
|
NAME = :"policy_idx"
|
|
187
|
-
|
|
361
|
+
# @private
|
|
362
|
+
ORDER = 7
|
|
363
|
+
# @private
|
|
364
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
188
365
|
end
|
|
189
366
|
class PolicyMaxtype < Attribute
|
|
190
367
|
TYPE = 9
|
|
191
368
|
NAME = :"policy_maxtype"
|
|
192
|
-
|
|
369
|
+
# @private
|
|
370
|
+
ORDER = 8
|
|
371
|
+
# @private
|
|
372
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
193
373
|
end
|
|
194
374
|
class Bitfield32Mask < Attribute
|
|
195
375
|
TYPE = 10
|
|
196
376
|
NAME = :"bitfield32_mask"
|
|
197
|
-
|
|
377
|
+
# @private
|
|
378
|
+
ORDER = 9
|
|
379
|
+
# @private
|
|
380
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
198
381
|
end
|
|
199
382
|
class Mask < Attribute
|
|
200
383
|
TYPE = 11
|
|
201
384
|
NAME = :"mask"
|
|
202
|
-
|
|
385
|
+
# @private
|
|
386
|
+
ORDER = 10
|
|
387
|
+
# @private
|
|
388
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
|
|
203
389
|
end
|
|
204
390
|
class Pad < Attribute
|
|
205
391
|
TYPE = 12
|
|
206
392
|
NAME = :"pad"
|
|
207
|
-
|
|
393
|
+
# @private
|
|
394
|
+
ORDER = 11
|
|
395
|
+
# @private
|
|
396
|
+
DATATYPE = ::Nl::DataTypes::Pad.new()
|
|
208
397
|
end
|
|
209
|
-
#
|
|
398
|
+
# @private
|
|
210
399
|
BY_NAME = Ractor.make_shareable({:"type" => Type, :"min_value_s" => MinValueS, :"max_value_s" => MaxValueS, :"min_value_u" => MinValueU, :"max_value_u" => MaxValueU, :"min_length" => MinLength, :"max_length" => MaxLength, :"policy_idx" => PolicyIdx, :"policy_maxtype" => PolicyMaxtype, :"bitfield32_mask" => Bitfield32Mask, :"mask" => Mask, :"pad" => Pad}) #: Hash[::Symbol, Attribute]
|
|
211
|
-
#
|
|
400
|
+
# @private
|
|
212
401
|
BY_TYPE = Ractor.make_shareable({1 => Type, 2 => MinValueS, 3 => MaxValueS, 4 => MinValueU, 5 => MaxValueU, 6 => MinLength, 7 => MaxLength, 8 => PolicyIdx, 9 => PolicyMaxtype, 10 => Bitfield32Mask, 11 => Mask, 12 => Pad}) #: Hash[::Integer, Attribute]
|
|
402
|
+
# Known enum values are defined in {Enums::AttrType}.
|
|
403
|
+
# @rbs return: ::Integer
|
|
404
|
+
# @return [Integer]
|
|
405
|
+
# @see Type
|
|
406
|
+
def type; self[:"type"]&.value; end
|
|
407
|
+
# @rbs return: ::Integer
|
|
408
|
+
# @return [Integer]
|
|
409
|
+
# @see MinValueS
|
|
410
|
+
def min_value_s; self[:"min_value_s"]&.value; end
|
|
411
|
+
# @rbs return: ::Integer
|
|
412
|
+
# @return [Integer]
|
|
413
|
+
# @see MaxValueS
|
|
414
|
+
def max_value_s; self[:"max_value_s"]&.value; end
|
|
415
|
+
# @rbs return: ::Integer
|
|
416
|
+
# @return [Integer]
|
|
417
|
+
# @see MinValueU
|
|
418
|
+
def min_value_u; self[:"min_value_u"]&.value; end
|
|
419
|
+
# @rbs return: ::Integer
|
|
420
|
+
# @return [Integer]
|
|
421
|
+
# @see MaxValueU
|
|
422
|
+
def max_value_u; self[:"max_value_u"]&.value; end
|
|
423
|
+
# @rbs return: ::Integer
|
|
424
|
+
# @return [Integer]
|
|
425
|
+
# @see MinLength
|
|
426
|
+
def min_length; self[:"min_length"]&.value; end
|
|
427
|
+
# @rbs return: ::Integer
|
|
428
|
+
# @return [Integer]
|
|
429
|
+
# @see MaxLength
|
|
430
|
+
def max_length; self[:"max_length"]&.value; end
|
|
431
|
+
# @rbs return: ::Integer
|
|
432
|
+
# @return [Integer]
|
|
433
|
+
# @see PolicyIdx
|
|
434
|
+
def policy_idx; self[:"policy_idx"]&.value; end
|
|
435
|
+
# @rbs return: ::Integer
|
|
436
|
+
# @return [Integer]
|
|
437
|
+
# @see PolicyMaxtype
|
|
438
|
+
def policy_maxtype; self[:"policy_maxtype"]&.value; end
|
|
439
|
+
# @rbs return: ::Integer
|
|
440
|
+
# @return [Integer]
|
|
441
|
+
# @see Bitfield32Mask
|
|
442
|
+
def bitfield32_mask; self[:"bitfield32_mask"]&.value; end
|
|
443
|
+
# @rbs return: ::Integer
|
|
444
|
+
# @return [Integer]
|
|
445
|
+
# @see Mask
|
|
446
|
+
def mask; self[:"mask"]&.value; end
|
|
213
447
|
class << self
|
|
214
448
|
# Looks up Attribute class by name.
|
|
215
|
-
#--
|
|
216
449
|
# @rbs name: Symbol
|
|
217
450
|
# @rbs return: Attribute
|
|
451
|
+
# @param [Symbol] name
|
|
452
|
+
# @return [Attribute]
|
|
218
453
|
def by_name(name); BY_NAME.fetch(name); end
|
|
219
454
|
# Looks up Attribute class by type value.
|
|
220
|
-
#--
|
|
221
455
|
# @rbs type: Integer
|
|
222
456
|
# @rbs return: Attribute
|
|
457
|
+
# @param [Integer] type
|
|
458
|
+
# @return [Attribute]
|
|
223
459
|
def by_type(type); BY_TYPE.fetch(type); end
|
|
224
460
|
end
|
|
225
461
|
end
|
|
226
|
-
class OpPolicyAttrs < ::Nl::
|
|
462
|
+
class OpPolicyAttrs < ::Nl::AttributeSet
|
|
227
463
|
# Abstract class
|
|
228
|
-
class Attribute < ::Nl::
|
|
464
|
+
class Attribute < ::Nl::AttributeSet::Attribute
|
|
229
465
|
end
|
|
230
466
|
class Do < Attribute
|
|
231
467
|
TYPE = 1
|
|
232
468
|
NAME = :"do"
|
|
233
|
-
|
|
469
|
+
# @private
|
|
470
|
+
ORDER = 0
|
|
471
|
+
# @private
|
|
472
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
234
473
|
end
|
|
235
474
|
class Dump < Attribute
|
|
236
475
|
TYPE = 2
|
|
237
476
|
NAME = :"dump"
|
|
238
|
-
|
|
477
|
+
# @private
|
|
478
|
+
ORDER = 1
|
|
479
|
+
# @private
|
|
480
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
239
481
|
end
|
|
240
|
-
#
|
|
482
|
+
# @private
|
|
241
483
|
BY_NAME = Ractor.make_shareable({:"do" => Do, :"dump" => Dump}) #: Hash[::Symbol, Attribute]
|
|
242
|
-
#
|
|
484
|
+
# @private
|
|
243
485
|
BY_TYPE = Ractor.make_shareable({1 => Do, 2 => Dump}) #: Hash[::Integer, Attribute]
|
|
486
|
+
# @rbs return: ::Integer
|
|
487
|
+
# @return [Integer]
|
|
488
|
+
# @see Do
|
|
489
|
+
def do; self[:"do"]&.value; end
|
|
490
|
+
# @rbs return: ::Integer
|
|
491
|
+
# @return [Integer]
|
|
492
|
+
# @see Dump
|
|
493
|
+
def dump; self[:"dump"]&.value; end
|
|
244
494
|
class << self
|
|
245
495
|
# Looks up Attribute class by name.
|
|
246
|
-
#--
|
|
247
496
|
# @rbs name: Symbol
|
|
248
497
|
# @rbs return: Attribute
|
|
498
|
+
# @param [Symbol] name
|
|
499
|
+
# @return [Attribute]
|
|
249
500
|
def by_name(name); BY_NAME.fetch(name); end
|
|
250
501
|
# Looks up Attribute class by type value.
|
|
251
|
-
#--
|
|
252
502
|
# @rbs type: Integer
|
|
253
503
|
# @rbs return: Attribute
|
|
504
|
+
# @param [Integer] type
|
|
505
|
+
# @return [Attribute]
|
|
254
506
|
def by_type(type); BY_TYPE.fetch(type); end
|
|
255
507
|
end
|
|
256
508
|
end
|
|
257
|
-
|
|
258
|
-
CtrlAttrs::
|
|
259
|
-
|
|
260
|
-
CtrlAttrs::
|
|
509
|
+
# @private
|
|
510
|
+
CtrlAttrs::Ops::DATATYPE = ::Nl::DataTypes::IndexedArray.new(::Nl::DataTypes::NestedAttributes.new(AttributeSets::OpAttrs, selector_bindings: Ractor.make_shareable([])))
|
|
511
|
+
# @private
|
|
512
|
+
CtrlAttrs::McastGroups::DATATYPE = ::Nl::DataTypes::IndexedArray.new(::Nl::DataTypes::NestedAttributes.new(AttributeSets::McastGroupAttrs, selector_bindings: Ractor.make_shareable([])))
|
|
513
|
+
# @private
|
|
514
|
+
CtrlAttrs::Policy::DATATYPE = ::Nl::DataTypes::NestTypeValue.new(AttributeSets::PolicyAttrs, 2, selector_bindings: Ractor.make_shareable([]))
|
|
515
|
+
# @private
|
|
516
|
+
CtrlAttrs::OpPolicy::DATATYPE = ::Nl::DataTypes::NestTypeValue.new(AttributeSets::OpPolicyAttrs, 1, selector_bindings: Ractor.make_shareable([]))
|
|
261
517
|
end
|
|
262
518
|
module Messages
|
|
263
519
|
# Get / dump genetlink families
|
|
264
|
-
class DoGetfamilyRequest < ::Nl::
|
|
520
|
+
class DoGetfamilyRequest < ::Nl::Genl::Message
|
|
265
521
|
TYPE = 3
|
|
266
522
|
FIXED_HEADER = nil
|
|
267
523
|
ATTRIBUTE_SET = AttributeSets::CtrlAttrs
|
|
268
524
|
ATTRIBUTES = Ractor.make_shareable(%i[family_name])
|
|
269
|
-
# Gets the value of `family-name` attribute in the message.
|
|
270
|
-
#--
|
|
271
525
|
# @rbs return: ::String
|
|
526
|
+
# @return [String]
|
|
527
|
+
# @see AttributeSets::CtrlAttrs::FamilyName
|
|
272
528
|
def family_name; attributes[:"family_name"]&.value; end
|
|
273
529
|
end
|
|
274
530
|
# Get / dump genetlink families
|
|
275
|
-
class DoGetfamilyReply < ::Nl::
|
|
531
|
+
class DoGetfamilyReply < ::Nl::Genl::Message
|
|
276
532
|
TYPE = 1
|
|
277
533
|
FIXED_HEADER = nil
|
|
278
534
|
ATTRIBUTE_SET = AttributeSets::CtrlAttrs
|
|
279
535
|
ATTRIBUTES = Ractor.make_shareable(%i[family_id family_name version hdrsize maxattr ops mcast_groups])
|
|
280
|
-
# Gets the value of `family-id` attribute in the message.
|
|
281
|
-
#--
|
|
282
536
|
# @rbs return: ::Integer
|
|
537
|
+
# @return [Integer]
|
|
538
|
+
# @see AttributeSets::CtrlAttrs::FamilyId
|
|
283
539
|
def family_id; attributes[:"family_id"]&.value; end
|
|
284
|
-
# Gets the value of `family-name` attribute in the message.
|
|
285
|
-
#--
|
|
286
540
|
# @rbs return: ::String
|
|
541
|
+
# @return [String]
|
|
542
|
+
# @see AttributeSets::CtrlAttrs::FamilyName
|
|
287
543
|
def family_name; attributes[:"family_name"]&.value; end
|
|
288
|
-
# Gets the value of `version` attribute in the message.
|
|
289
|
-
#--
|
|
290
544
|
# @rbs return: ::Integer
|
|
545
|
+
# @return [Integer]
|
|
546
|
+
# @see AttributeSets::CtrlAttrs::Version
|
|
291
547
|
def version; attributes[:"version"]&.value; end
|
|
292
|
-
# Gets the value of `hdrsize` attribute in the message.
|
|
293
|
-
#--
|
|
294
548
|
# @rbs return: ::Integer
|
|
549
|
+
# @return [Integer]
|
|
550
|
+
# @see AttributeSets::CtrlAttrs::Hdrsize
|
|
295
551
|
def hdrsize; attributes[:"hdrsize"]&.value; end
|
|
296
|
-
# Gets the value of `maxattr` attribute in the message.
|
|
297
|
-
#--
|
|
298
552
|
# @rbs return: ::Integer
|
|
553
|
+
# @return [Integer]
|
|
554
|
+
# @see AttributeSets::CtrlAttrs::Maxattr
|
|
299
555
|
def maxattr; attributes[:"maxattr"]&.value; end
|
|
300
|
-
#
|
|
301
|
-
|
|
302
|
-
# @
|
|
556
|
+
# @rbs return: ::Array[AttributeSets::OpAttrs]
|
|
557
|
+
# @return [Array<AttributeSets::OpAttrs>]
|
|
558
|
+
# @see AttributeSets::CtrlAttrs::Ops
|
|
303
559
|
def ops; attributes[:"ops"]&.value; end
|
|
304
|
-
#
|
|
305
|
-
|
|
306
|
-
# @
|
|
560
|
+
# @rbs return: ::Array[AttributeSets::McastGroupAttrs]
|
|
561
|
+
# @return [Array<AttributeSets::McastGroupAttrs>]
|
|
562
|
+
# @see AttributeSets::CtrlAttrs::McastGroups
|
|
307
563
|
def mcast_groups; attributes[:"mcast_groups"]&.value; end
|
|
308
564
|
end
|
|
309
565
|
# Get / dump genetlink families
|
|
310
|
-
class
|
|
566
|
+
class DumpGetfamilyRequest < ::Nl::Genl::Message
|
|
567
|
+
TYPE = 3
|
|
568
|
+
FIXED_HEADER = nil
|
|
569
|
+
ATTRIBUTE_SET = AttributeSets::CtrlAttrs
|
|
570
|
+
ATTRIBUTES = Ractor.make_shareable(%i[])
|
|
571
|
+
end
|
|
572
|
+
# Get / dump genetlink families
|
|
573
|
+
class DumpGetfamilyReply < ::Nl::Genl::Message
|
|
311
574
|
TYPE = 1
|
|
312
575
|
FIXED_HEADER = nil
|
|
313
576
|
ATTRIBUTE_SET = AttributeSets::CtrlAttrs
|
|
314
577
|
ATTRIBUTES = Ractor.make_shareable(%i[family_id family_name version hdrsize maxattr ops mcast_groups])
|
|
315
|
-
# Gets the value of `family-id` attribute in the message.
|
|
316
|
-
#--
|
|
317
578
|
# @rbs return: ::Integer
|
|
579
|
+
# @return [Integer]
|
|
580
|
+
# @see AttributeSets::CtrlAttrs::FamilyId
|
|
318
581
|
def family_id; attributes[:"family_id"]&.value; end
|
|
319
|
-
# Gets the value of `family-name` attribute in the message.
|
|
320
|
-
#--
|
|
321
582
|
# @rbs return: ::String
|
|
583
|
+
# @return [String]
|
|
584
|
+
# @see AttributeSets::CtrlAttrs::FamilyName
|
|
322
585
|
def family_name; attributes[:"family_name"]&.value; end
|
|
323
|
-
# Gets the value of `version` attribute in the message.
|
|
324
|
-
#--
|
|
325
586
|
# @rbs return: ::Integer
|
|
587
|
+
# @return [Integer]
|
|
588
|
+
# @see AttributeSets::CtrlAttrs::Version
|
|
326
589
|
def version; attributes[:"version"]&.value; end
|
|
327
|
-
# Gets the value of `hdrsize` attribute in the message.
|
|
328
|
-
#--
|
|
329
590
|
# @rbs return: ::Integer
|
|
591
|
+
# @return [Integer]
|
|
592
|
+
# @see AttributeSets::CtrlAttrs::Hdrsize
|
|
330
593
|
def hdrsize; attributes[:"hdrsize"]&.value; end
|
|
331
|
-
# Gets the value of `maxattr` attribute in the message.
|
|
332
|
-
#--
|
|
333
594
|
# @rbs return: ::Integer
|
|
595
|
+
# @return [Integer]
|
|
596
|
+
# @see AttributeSets::CtrlAttrs::Maxattr
|
|
334
597
|
def maxattr; attributes[:"maxattr"]&.value; end
|
|
335
|
-
#
|
|
336
|
-
|
|
337
|
-
# @
|
|
598
|
+
# @rbs return: ::Array[AttributeSets::OpAttrs]
|
|
599
|
+
# @return [Array<AttributeSets::OpAttrs>]
|
|
600
|
+
# @see AttributeSets::CtrlAttrs::Ops
|
|
338
601
|
def ops; attributes[:"ops"]&.value; end
|
|
339
|
-
#
|
|
340
|
-
|
|
341
|
-
# @
|
|
602
|
+
# @rbs return: ::Array[AttributeSets::McastGroupAttrs]
|
|
603
|
+
# @return [Array<AttributeSets::McastGroupAttrs>]
|
|
604
|
+
# @see AttributeSets::CtrlAttrs::McastGroups
|
|
342
605
|
def mcast_groups; attributes[:"mcast_groups"]&.value; end
|
|
343
606
|
end
|
|
344
607
|
# Get / dump genetlink policies
|
|
345
|
-
class DumpGetpolicyRequest < ::Nl::
|
|
608
|
+
class DumpGetpolicyRequest < ::Nl::Genl::Message
|
|
346
609
|
TYPE = 10
|
|
347
610
|
FIXED_HEADER = nil
|
|
348
611
|
ATTRIBUTE_SET = AttributeSets::CtrlAttrs
|
|
349
612
|
ATTRIBUTES = Ractor.make_shareable(%i[family_id family_name op])
|
|
350
|
-
# Gets the value of `family-id` attribute in the message.
|
|
351
|
-
#--
|
|
352
613
|
# @rbs return: ::Integer
|
|
614
|
+
# @return [Integer]
|
|
615
|
+
# @see AttributeSets::CtrlAttrs::FamilyId
|
|
353
616
|
def family_id; attributes[:"family_id"]&.value; end
|
|
354
|
-
# Gets the value of `family-name` attribute in the message.
|
|
355
|
-
#--
|
|
356
617
|
# @rbs return: ::String
|
|
618
|
+
# @return [String]
|
|
619
|
+
# @see AttributeSets::CtrlAttrs::FamilyName
|
|
357
620
|
def family_name; attributes[:"family_name"]&.value; end
|
|
358
|
-
# Gets the value of `op` attribute in the message.
|
|
359
|
-
#--
|
|
360
621
|
# @rbs return: ::Integer
|
|
622
|
+
# @return [Integer]
|
|
623
|
+
# @see AttributeSets::CtrlAttrs::Op
|
|
361
624
|
def op; attributes[:"op"]&.value; end
|
|
362
625
|
end
|
|
363
626
|
# Get / dump genetlink policies
|
|
364
|
-
class DumpGetpolicyReply < ::Nl::
|
|
627
|
+
class DumpGetpolicyReply < ::Nl::Genl::Message
|
|
365
628
|
TYPE = 10
|
|
366
629
|
FIXED_HEADER = nil
|
|
367
630
|
ATTRIBUTE_SET = AttributeSets::CtrlAttrs
|
|
368
631
|
ATTRIBUTES = Ractor.make_shareable(%i[family_id policy op_policy])
|
|
369
|
-
# Gets the value of `family-id` attribute in the message.
|
|
370
|
-
#--
|
|
371
632
|
# @rbs return: ::Integer
|
|
633
|
+
# @return [Integer]
|
|
634
|
+
# @see AttributeSets::CtrlAttrs::FamilyId
|
|
372
635
|
def family_id; attributes[:"family_id"]&.value; end
|
|
373
|
-
#
|
|
374
|
-
|
|
375
|
-
# @
|
|
636
|
+
# @rbs return: ::Hash[::Integer, ::Hash[::Integer, AttributeSets::PolicyAttrs]]
|
|
637
|
+
# @return [Hash<Integer, Hash<Integer, AttributeSets::PolicyAttrs>>]
|
|
638
|
+
# @see AttributeSets::CtrlAttrs::Policy
|
|
376
639
|
def policy; attributes[:"policy"]&.value; end
|
|
377
|
-
#
|
|
378
|
-
|
|
379
|
-
# @
|
|
640
|
+
# @rbs return: ::Hash[::Integer, AttributeSets::OpPolicyAttrs]
|
|
641
|
+
# @return [Hash<Integer, AttributeSets::OpPolicyAttrs>]
|
|
642
|
+
# @see AttributeSets::CtrlAttrs::OpPolicy
|
|
380
643
|
def op_policy; attributes[:"op_policy"]&.value; end
|
|
381
644
|
end
|
|
382
645
|
end
|
|
646
|
+
module Notifications
|
|
647
|
+
end
|
|
648
|
+
# @private
|
|
649
|
+
NOTIFICATIONS = Ractor.make_shareable({}) #: Hash[::Integer, ::Class]
|
|
383
650
|
# Get / dump genetlink families
|
|
384
|
-
#--
|
|
385
651
|
# @rbs (?family_name: ::String) -> Messages::DoGetfamilyReply
|
|
652
|
+
# @param [Hash] args
|
|
653
|
+
# @option args [String] family_name
|
|
654
|
+
# @return [Messages::DoGetfamilyReply]
|
|
655
|
+
# @see Messages::DoGetfamilyRequest
|
|
386
656
|
def do_getfamily(**args)
|
|
387
657
|
exchange_message(:"do", Messages::DoGetfamilyRequest, Messages::DoGetfamilyReply, args)
|
|
388
658
|
end
|
|
659
|
+
# Get / dump genetlink families
|
|
660
|
+
# @rbs () -> Array[Messages::DumpGetfamilyReply]
|
|
661
|
+
# | () { (Messages::DumpGetfamilyReply) -> void } -> void
|
|
662
|
+
# @overload dump_getfamily(**args)
|
|
663
|
+
# Returns an array when no block is given.
|
|
664
|
+
# @param [Hash] args
|
|
665
|
+
# @return [Array<Messages::DumpGetfamilyReply>]
|
|
666
|
+
# @overload dump_getfamily(**args, &block)
|
|
667
|
+
# Yields each reply when a block is given.
|
|
668
|
+
# @param [Hash] args
|
|
669
|
+
# @yieldparam [Messages::DumpGetfamilyReply] reply
|
|
670
|
+
# @return [void]
|
|
671
|
+
# @see Messages::DumpGetfamilyRequest
|
|
672
|
+
def dump_getfamily(**args, &block)
|
|
673
|
+
exchange_message(:"dump", Messages::DumpGetfamilyRequest, Messages::DumpGetfamilyReply, args, &block)
|
|
674
|
+
end
|
|
389
675
|
# Get / dump genetlink policies
|
|
390
|
-
|
|
391
|
-
# @rbs (?family_id: ::Integer, ?family_name: ::String, ?op: ::Integer) -> Enumerable[Messages::DumpGetpolicyReply]
|
|
676
|
+
# @rbs (?family_id: ::Integer, ?family_name: ::String, ?op: ::Integer) -> Array[Messages::DumpGetpolicyReply]
|
|
392
677
|
# | (?family_id: ::Integer, ?family_name: ::String, ?op: ::Integer) { (Messages::DumpGetpolicyReply) -> void } -> void
|
|
678
|
+
# @overload dump_getpolicy(**args)
|
|
679
|
+
# Returns an array when no block is given.
|
|
680
|
+
# @param [Hash] args
|
|
681
|
+
# @option args [Integer] family_id
|
|
682
|
+
# @option args [String] family_name
|
|
683
|
+
# @option args [Integer] op
|
|
684
|
+
# @return [Array<Messages::DumpGetpolicyReply>]
|
|
685
|
+
# @overload dump_getpolicy(**args, &block)
|
|
686
|
+
# Yields each reply when a block is given.
|
|
687
|
+
# @param [Hash] args
|
|
688
|
+
# @option args [Integer] family_id
|
|
689
|
+
# @option args [String] family_name
|
|
690
|
+
# @option args [Integer] op
|
|
691
|
+
# @yieldparam [Messages::DumpGetpolicyReply] reply
|
|
692
|
+
# @return [void]
|
|
693
|
+
# @see Messages::DumpGetpolicyRequest
|
|
393
694
|
def dump_getpolicy(**args, &block)
|
|
394
695
|
exchange_message(:"dump", Messages::DumpGetpolicyRequest, Messages::DumpGetpolicyReply, args, &block)
|
|
395
696
|
end
|
|
697
|
+
class AsyncOperations
|
|
698
|
+
# @private
|
|
699
|
+
def initialize(&exchange)
|
|
700
|
+
@exchange = exchange
|
|
701
|
+
end
|
|
702
|
+
# Get / dump genetlink families
|
|
703
|
+
# @rbs (?family_name: ::String) -> ::Nl::Async::Future[Messages::DoGetfamilyReply]
|
|
704
|
+
# @param [Hash] args
|
|
705
|
+
# @option args [String] family_name
|
|
706
|
+
# @return [Nl::Async::Future<Messages::DoGetfamilyReply>]
|
|
707
|
+
# @see Messages::DoGetfamilyRequest
|
|
708
|
+
def do_getfamily(**args)
|
|
709
|
+
@exchange.call(:"do", Messages::DoGetfamilyRequest, Messages::DoGetfamilyReply, args)
|
|
710
|
+
end
|
|
711
|
+
# Get / dump genetlink families
|
|
712
|
+
# @rbs () -> ::Nl::Async::Stream[Messages::DumpGetfamilyReply]
|
|
713
|
+
# @param [Hash] args
|
|
714
|
+
# @return [Nl::Async::Stream<Messages::DumpGetfamilyReply>]
|
|
715
|
+
# @see Messages::DumpGetfamilyRequest
|
|
716
|
+
def dump_getfamily(**args)
|
|
717
|
+
@exchange.call(:"dump", Messages::DumpGetfamilyRequest, Messages::DumpGetfamilyReply, args)
|
|
718
|
+
end
|
|
719
|
+
# Get / dump genetlink policies
|
|
720
|
+
# @rbs (?family_id: ::Integer, ?family_name: ::String, ?op: ::Integer) -> ::Nl::Async::Stream[Messages::DumpGetpolicyReply]
|
|
721
|
+
# @param [Hash] args
|
|
722
|
+
# @option args [Integer] family_id
|
|
723
|
+
# @option args [String] family_name
|
|
724
|
+
# @option args [Integer] op
|
|
725
|
+
# @return [Nl::Async::Stream<Messages::DumpGetpolicyReply>]
|
|
726
|
+
# @see Messages::DumpGetpolicyRequest
|
|
727
|
+
def dump_getpolicy(**args)
|
|
728
|
+
@exchange.call(:"dump", Messages::DumpGetpolicyRequest, Messages::DumpGetpolicyReply, args)
|
|
729
|
+
end
|
|
730
|
+
end
|
|
731
|
+
# Returns the asynchronous operation facade for this family.
|
|
732
|
+
# @rbs (?stream_capacity: ::Integer?) -> AsyncOperations
|
|
733
|
+
# @param [::Integer, nil] stream_capacity
|
|
734
|
+
# @return [AsyncOperations]
|
|
735
|
+
def async(stream_capacity: nil)
|
|
736
|
+
return @async_operations ||= build_async_facade(AsyncOperations) if stream_capacity.nil?
|
|
737
|
+
build_async_facade(AsyncOperations, stream_capacity:)
|
|
738
|
+
end
|
|
396
739
|
end
|
|
397
740
|
end; end
|