nl-linux 0.2.0 → 0.2.2

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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/Rakefile +31 -5
  4. data/generated/nl/linux/binder.rb +96 -0
  5. data/generated/nl/linux/conntrack.rb +1227 -0
  6. data/generated/nl/linux/dev_energymodel.rb +235 -0
  7. data/generated/nl/linux/devlink.rb +5177 -0
  8. data/generated/nl/linux/dpll.rb +944 -0
  9. data/generated/nl/linux/ethtool.rb +7121 -0
  10. data/generated/nl/linux/fou.rb +332 -0
  11. data/generated/nl/linux/handshake.rb +238 -0
  12. data/generated/nl/linux/lockd.rb +99 -0
  13. data/generated/nl/linux/mptcp_pm.rb +607 -0
  14. data/generated/nl/linux/net_shaper.rb +731 -0
  15. data/generated/nl/linux/netdev.rb +1450 -0
  16. data/generated/nl/linux/nfsd.rb +500 -0
  17. data/generated/nl/linux/nftables.rb +2924 -0
  18. data/generated/nl/linux/nl80211.rb +3393 -0
  19. data/generated/nl/linux/nlctrl.rb +397 -0
  20. data/generated/nl/linux/ovpn.rb +964 -0
  21. data/generated/nl/linux/ovs_datapath.rb +321 -0
  22. data/generated/nl/linux/ovs_flow.rb +1447 -0
  23. data/generated/nl/linux/ovs_vport.rb +391 -0
  24. data/generated/nl/linux/psp.rb +463 -0
  25. data/generated/nl/linux/rt_addr.rb +448 -0
  26. data/generated/nl/linux/rt_link.rb +4613 -0
  27. data/generated/nl/linux/rt_neigh.rb +897 -0
  28. data/generated/nl/linux/rt_route.rb +1126 -0
  29. data/generated/nl/linux/rt_rule.rb +708 -0
  30. data/generated/nl/linux/tc.rb +7066 -0
  31. data/generated/nl/linux/tcp_metrics.rb +317 -0
  32. data/generated/nl/linux/team.rb +339 -0
  33. data/generated/nl/linux/wireguard.rb +430 -0
  34. data/generated/nl/linux.rb +35 -0
  35. data/lib/nl/linux/version.rb +1 -1
  36. data/lib/nl-linux.rb +1 -1
  37. metadata +37 -7
  38. data/lib/nl/linux.rb +0 -3
@@ -0,0 +1,397 @@
1
+ # SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2
+ #--
3
+ # frozen_string_literal: true
4
+ # rbs_inline: enabled
5
+ # This code is generated by Ynl::Generator. DO NOT EDIT.
6
+ require 'nl'
7
+ module Nl; module Linux
8
+ # genetlink meta-family that exposes information about all genetlink
9
+ # families registered in the kernel (including itself).
10
+ class Nlctrl < ::Nl::Family
11
+ NAME = "nlctrl"
12
+ PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Genl.new("nlctrl"))
13
+ module Structs
14
+ end
15
+ module AttributeSets
16
+ class CtrlAttrs < ::Nl::Protocols::Genl::AttributeSet
17
+ # Abstract class
18
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
19
+ end
20
+ class FamilyId < Attribute
21
+ TYPE = 1
22
+ NAME = :"family_id"
23
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
24
+ end
25
+ class FamilyName < Attribute
26
+ TYPE = 2
27
+ NAME = :"family_name"
28
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
29
+ end
30
+ class Version < Attribute
31
+ TYPE = 3
32
+ NAME = :"version"
33
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
34
+ end
35
+ class Hdrsize < Attribute
36
+ TYPE = 4
37
+ NAME = :"hdrsize"
38
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
39
+ end
40
+ class Maxattr < Attribute
41
+ TYPE = 5
42
+ NAME = :"maxattr"
43
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
44
+ end
45
+ class Ops < Attribute
46
+ TYPE = 6
47
+ NAME = :"ops"
48
+ end
49
+ class McastGroups < Attribute
50
+ TYPE = 7
51
+ NAME = :"mcast_groups"
52
+ end
53
+ class Policy < Attribute
54
+ TYPE = 8
55
+ NAME = :"policy"
56
+ end
57
+ class OpPolicy < Attribute
58
+ TYPE = 9
59
+ NAME = :"op_policy"
60
+ end
61
+ class Op < Attribute
62
+ TYPE = 10
63
+ NAME = :"op"
64
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
65
+ end
66
+ # :nodoc:
67
+ 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
+ # :nodoc:
69
+ 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]
70
+ class << self
71
+ # Looks up Attribute class by name.
72
+ #--
73
+ # @rbs name: Symbol
74
+ # @rbs return: Attribute
75
+ def by_name(name); BY_NAME.fetch(name); end
76
+ # Looks up Attribute class by type value.
77
+ #--
78
+ # @rbs type: Integer
79
+ # @rbs return: Attribute
80
+ def by_type(type); BY_TYPE.fetch(type); end
81
+ end
82
+ end
83
+ class McastGroupAttrs < ::Nl::Protocols::Genl::AttributeSet
84
+ # Abstract class
85
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
86
+ end
87
+ class Name < Attribute
88
+ TYPE = 1
89
+ NAME = :"name"
90
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
91
+ end
92
+ class Id < Attribute
93
+ TYPE = 2
94
+ NAME = :"id"
95
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
96
+ end
97
+ # :nodoc:
98
+ BY_NAME = Ractor.make_shareable({:"name" => Name, :"id" => Id}) #: Hash[::Symbol, Attribute]
99
+ # :nodoc:
100
+ BY_TYPE = Ractor.make_shareable({1 => Name, 2 => Id}) #: Hash[::Integer, Attribute]
101
+ class << self
102
+ # Looks up Attribute class by name.
103
+ #--
104
+ # @rbs name: Symbol
105
+ # @rbs return: Attribute
106
+ def by_name(name); BY_NAME.fetch(name); end
107
+ # Looks up Attribute class by type value.
108
+ #--
109
+ # @rbs type: Integer
110
+ # @rbs return: Attribute
111
+ def by_type(type); BY_TYPE.fetch(type); end
112
+ end
113
+ end
114
+ class OpAttrs < ::Nl::Protocols::Genl::AttributeSet
115
+ # Abstract class
116
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
117
+ end
118
+ class Id < Attribute
119
+ TYPE = 1
120
+ NAME = :"id"
121
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
122
+ end
123
+ class Flags < Attribute
124
+ TYPE = 2
125
+ NAME = :"flags"
126
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
127
+ end
128
+ # :nodoc:
129
+ BY_NAME = Ractor.make_shareable({:"id" => Id, :"flags" => Flags}) #: Hash[::Symbol, Attribute]
130
+ # :nodoc:
131
+ BY_TYPE = Ractor.make_shareable({1 => Id, 2 => Flags}) #: Hash[::Integer, Attribute]
132
+ class << self
133
+ # Looks up Attribute class by name.
134
+ #--
135
+ # @rbs name: Symbol
136
+ # @rbs return: Attribute
137
+ def by_name(name); BY_NAME.fetch(name); end
138
+ # Looks up Attribute class by type value.
139
+ #--
140
+ # @rbs type: Integer
141
+ # @rbs return: Attribute
142
+ def by_type(type); BY_TYPE.fetch(type); end
143
+ end
144
+ end
145
+ class PolicyAttrs < ::Nl::Protocols::Genl::AttributeSet
146
+ # Abstract class
147
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
148
+ end
149
+ class Type < Attribute
150
+ TYPE = 1
151
+ NAME = :"type"
152
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
153
+ end
154
+ class MinValueS < Attribute
155
+ TYPE = 2
156
+ NAME = :"min_value_s"
157
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S64, check: nil)
158
+ end
159
+ class MaxValueS < Attribute
160
+ TYPE = 3
161
+ NAME = :"max_value_s"
162
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S64, check: nil)
163
+ end
164
+ class MinValueU < Attribute
165
+ TYPE = 4
166
+ NAME = :"min_value_u"
167
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
168
+ end
169
+ class MaxValueU < Attribute
170
+ TYPE = 5
171
+ NAME = :"max_value_u"
172
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
173
+ end
174
+ class MinLength < Attribute
175
+ TYPE = 6
176
+ NAME = :"min_length"
177
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
178
+ end
179
+ class MaxLength < Attribute
180
+ TYPE = 7
181
+ NAME = :"max_length"
182
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
183
+ end
184
+ class PolicyIdx < Attribute
185
+ TYPE = 8
186
+ NAME = :"policy_idx"
187
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
188
+ end
189
+ class PolicyMaxtype < Attribute
190
+ TYPE = 9
191
+ NAME = :"policy_maxtype"
192
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
193
+ end
194
+ class Bitfield32Mask < Attribute
195
+ TYPE = 10
196
+ NAME = :"bitfield32_mask"
197
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
198
+ end
199
+ class Mask < Attribute
200
+ TYPE = 11
201
+ NAME = :"mask"
202
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
203
+ end
204
+ class Pad < Attribute
205
+ TYPE = 12
206
+ NAME = :"pad"
207
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Pad.new()
208
+ end
209
+ # :nodoc:
210
+ 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
+ # :nodoc:
212
+ 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]
213
+ class << self
214
+ # Looks up Attribute class by name.
215
+ #--
216
+ # @rbs name: Symbol
217
+ # @rbs return: Attribute
218
+ def by_name(name); BY_NAME.fetch(name); end
219
+ # Looks up Attribute class by type value.
220
+ #--
221
+ # @rbs type: Integer
222
+ # @rbs return: Attribute
223
+ def by_type(type); BY_TYPE.fetch(type); end
224
+ end
225
+ end
226
+ class OpPolicyAttrs < ::Nl::Protocols::Genl::AttributeSet
227
+ # Abstract class
228
+ class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
229
+ end
230
+ class Do < Attribute
231
+ TYPE = 1
232
+ NAME = :"do"
233
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
234
+ end
235
+ class Dump < Attribute
236
+ TYPE = 2
237
+ NAME = :"dump"
238
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
239
+ end
240
+ # :nodoc:
241
+ BY_NAME = Ractor.make_shareable({:"do" => Do, :"dump" => Dump}) #: Hash[::Symbol, Attribute]
242
+ # :nodoc:
243
+ BY_TYPE = Ractor.make_shareable({1 => Do, 2 => Dump}) #: Hash[::Integer, Attribute]
244
+ class << self
245
+ # Looks up Attribute class by name.
246
+ #--
247
+ # @rbs name: Symbol
248
+ # @rbs return: Attribute
249
+ def by_name(name); BY_NAME.fetch(name); end
250
+ # Looks up Attribute class by type value.
251
+ #--
252
+ # @rbs type: Integer
253
+ # @rbs return: Attribute
254
+ def by_type(type); BY_TYPE.fetch(type); end
255
+ end
256
+ end
257
+ CtrlAttrs::Ops::DATATYPE = ::Nl::Protocols::Genl::DataTypes::IndexedArray.new(::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(OpAttrs))
258
+ CtrlAttrs::McastGroups::DATATYPE = ::Nl::Protocols::Genl::DataTypes::IndexedArray.new(::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(McastGroupAttrs))
259
+ CtrlAttrs::Policy::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(PolicyAttrs)
260
+ CtrlAttrs::OpPolicy::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(OpPolicyAttrs)
261
+ end
262
+ module Messages
263
+ # Get / dump genetlink families
264
+ class DoGetfamilyRequest < ::Nl::Protocols::Genl::Message
265
+ TYPE = 3
266
+ FIXED_HEADER = nil
267
+ ATTRIBUTE_SET = AttributeSets::CtrlAttrs
268
+ ATTRIBUTES = Ractor.make_shareable(%i[family_name])
269
+ # Gets the value of `family-name` attribute in the message.
270
+ #--
271
+ # @rbs return: ::String
272
+ def family_name; attributes[:"family_name"]&.value; end
273
+ end
274
+ # Get / dump genetlink families
275
+ class DoGetfamilyReply < ::Nl::Protocols::Genl::Message
276
+ TYPE = 1
277
+ FIXED_HEADER = nil
278
+ ATTRIBUTE_SET = AttributeSets::CtrlAttrs
279
+ 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
+ # @rbs return: ::Integer
283
+ def family_id; attributes[:"family_id"]&.value; end
284
+ # Gets the value of `family-name` attribute in the message.
285
+ #--
286
+ # @rbs return: ::String
287
+ def family_name; attributes[:"family_name"]&.value; end
288
+ # Gets the value of `version` attribute in the message.
289
+ #--
290
+ # @rbs return: ::Integer
291
+ def version; attributes[:"version"]&.value; end
292
+ # Gets the value of `hdrsize` attribute in the message.
293
+ #--
294
+ # @rbs return: ::Integer
295
+ def hdrsize; attributes[:"hdrsize"]&.value; end
296
+ # Gets the value of `maxattr` attribute in the message.
297
+ #--
298
+ # @rbs return: ::Integer
299
+ def maxattr; attributes[:"maxattr"]&.value; end
300
+ # Gets the value of `ops` attribute in the message.
301
+ #--
302
+ # @rbs return: untyped
303
+ def ops; attributes[:"ops"]&.value; end
304
+ # Gets the value of `mcast-groups` attribute in the message.
305
+ #--
306
+ # @rbs return: untyped
307
+ def mcast_groups; attributes[:"mcast_groups"]&.value; end
308
+ end
309
+ # Get / dump genetlink families
310
+ class DumpGetfamilyReply < ::Nl::Protocols::Genl::Message
311
+ TYPE = 1
312
+ FIXED_HEADER = nil
313
+ ATTRIBUTE_SET = AttributeSets::CtrlAttrs
314
+ 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
+ # @rbs return: ::Integer
318
+ def family_id; attributes[:"family_id"]&.value; end
319
+ # Gets the value of `family-name` attribute in the message.
320
+ #--
321
+ # @rbs return: ::String
322
+ def family_name; attributes[:"family_name"]&.value; end
323
+ # Gets the value of `version` attribute in the message.
324
+ #--
325
+ # @rbs return: ::Integer
326
+ def version; attributes[:"version"]&.value; end
327
+ # Gets the value of `hdrsize` attribute in the message.
328
+ #--
329
+ # @rbs return: ::Integer
330
+ def hdrsize; attributes[:"hdrsize"]&.value; end
331
+ # Gets the value of `maxattr` attribute in the message.
332
+ #--
333
+ # @rbs return: ::Integer
334
+ def maxattr; attributes[:"maxattr"]&.value; end
335
+ # Gets the value of `ops` attribute in the message.
336
+ #--
337
+ # @rbs return: untyped
338
+ def ops; attributes[:"ops"]&.value; end
339
+ # Gets the value of `mcast-groups` attribute in the message.
340
+ #--
341
+ # @rbs return: untyped
342
+ def mcast_groups; attributes[:"mcast_groups"]&.value; end
343
+ end
344
+ # Get / dump genetlink policies
345
+ class DumpGetpolicyRequest < ::Nl::Protocols::Genl::Message
346
+ TYPE = 10
347
+ FIXED_HEADER = nil
348
+ ATTRIBUTE_SET = AttributeSets::CtrlAttrs
349
+ ATTRIBUTES = Ractor.make_shareable(%i[family_id family_name op])
350
+ # Gets the value of `family-id` attribute in the message.
351
+ #--
352
+ # @rbs return: ::Integer
353
+ def family_id; attributes[:"family_id"]&.value; end
354
+ # Gets the value of `family-name` attribute in the message.
355
+ #--
356
+ # @rbs return: ::String
357
+ def family_name; attributes[:"family_name"]&.value; end
358
+ # Gets the value of `op` attribute in the message.
359
+ #--
360
+ # @rbs return: ::Integer
361
+ def op; attributes[:"op"]&.value; end
362
+ end
363
+ # Get / dump genetlink policies
364
+ class DumpGetpolicyReply < ::Nl::Protocols::Genl::Message
365
+ TYPE = 10
366
+ FIXED_HEADER = nil
367
+ ATTRIBUTE_SET = AttributeSets::CtrlAttrs
368
+ ATTRIBUTES = Ractor.make_shareable(%i[family_id policy op_policy])
369
+ # Gets the value of `family-id` attribute in the message.
370
+ #--
371
+ # @rbs return: ::Integer
372
+ def family_id; attributes[:"family_id"]&.value; end
373
+ # Gets the value of `policy` attribute in the message.
374
+ #--
375
+ # @rbs return: AttributeSets::PolicyAttrs
376
+ def policy; attributes[:"policy"]&.value; end
377
+ # Gets the value of `op-policy` attribute in the message.
378
+ #--
379
+ # @rbs return: AttributeSets::OpPolicyAttrs
380
+ def op_policy; attributes[:"op_policy"]&.value; end
381
+ end
382
+ end
383
+ # Get / dump genetlink families
384
+ #--
385
+ # @rbs (?family_name: ::String) -> Messages::DoGetfamilyReply
386
+ def do_getfamily(**args)
387
+ exchange_message(:"do", Messages::DoGetfamilyRequest, Messages::DoGetfamilyReply, args)
388
+ end
389
+ # Get / dump genetlink policies
390
+ #--
391
+ # @rbs (?family_id: ::Integer, ?family_name: ::String, ?op: ::Integer) -> Enumerable[Messages::DumpGetpolicyReply]
392
+ # | (?family_id: ::Integer, ?family_name: ::String, ?op: ::Integer) { (Messages::DumpGetpolicyReply) -> void } -> void
393
+ def dump_getpolicy(**args, &block)
394
+ exchange_message(:"dump", Messages::DumpGetpolicyRequest, Messages::DumpGetpolicyReply, args, &block)
395
+ end
396
+ end
397
+ end; end