nl-linux 0.2.0 → 0.2.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.
@@ -0,0 +1,1225 @@
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
+ # Netfilter connection tracking subsystem over nfnetlink
8
+ class Nl::Linux::Conntrack < ::Nl::Family
9
+ NAME = "conntrack"
10
+ PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Raw.new("conntrack", 12))
11
+ module Structs
12
+ Nfgenmsg = Struct.new(
13
+ :"nfgen_family", #: ::Integer
14
+ :"version", #: ::Integer
15
+ :"res_id", #: ::Integer
16
+ )
17
+ class Nfgenmsg
18
+ # :nodoc:
19
+ MEMBERS = Ractor.make_shareable({nfgen_family: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), version: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), res_id: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
20
+ # Decodes the struct.
21
+ #--
22
+ # @rbs decoder: ::Nl::Decoder
23
+ # @rbs return: instance
24
+ def self.decode(decoder)
25
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
26
+ end
27
+ # Encodes the struct.
28
+ #--
29
+ # @rbs encoder: ::Nl::Encoder
30
+ # @rbs return: void
31
+ def encode(encoder)
32
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
33
+ end
34
+ end
35
+ NfCtTcpFlagsMask = Struct.new(
36
+ :"flags", #: ::Integer
37
+ :"mask", #: ::Integer
38
+ )
39
+ class NfCtTcpFlagsMask
40
+ # :nodoc:
41
+ MEMBERS = Ractor.make_shareable({flags: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil), mask: ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)}) #: Hash[::Symbol, ::Nl::_DataType]
42
+ # Decodes the struct.
43
+ #--
44
+ # @rbs decoder: ::Nl::Decoder
45
+ # @rbs return: instance
46
+ def self.decode(decoder)
47
+ self.new(*MEMBERS.map {|name, datatype| datatype.decode(decoder) })
48
+ end
49
+ # Encodes the struct.
50
+ #--
51
+ # @rbs encoder: ::Nl::Encoder
52
+ # @rbs return: void
53
+ def encode(encoder)
54
+ MEMBERS.each {|name, datatype| datatype.encode(encoder, self.public_send(name)) }
55
+ end
56
+ end
57
+ end
58
+ module AttributeSets
59
+ class CounterAttrs < ::Nl::Protocols::Raw::AttributeSet
60
+ # Abstract class
61
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
62
+ end
63
+ class Packets < Attribute
64
+ TYPE = 1
65
+ NAME = :"packets"
66
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
67
+ end
68
+ class Bytes < Attribute
69
+ TYPE = 2
70
+ NAME = :"bytes"
71
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
72
+ end
73
+ class PacketsOld < Attribute
74
+ TYPE = 3
75
+ NAME = :"packets_old"
76
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
77
+ end
78
+ class BytesOld < Attribute
79
+ TYPE = 4
80
+ NAME = :"bytes_old"
81
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
82
+ end
83
+ class Pad < Attribute
84
+ TYPE = 5
85
+ NAME = :"pad"
86
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Pad.new()
87
+ end
88
+ # :nodoc:
89
+ BY_NAME = Ractor.make_shareable({:"packets" => Packets, :"bytes" => Bytes, :"packets_old" => PacketsOld, :"bytes_old" => BytesOld, :"pad" => Pad}) #: Hash[::Symbol, Attribute]
90
+ # :nodoc:
91
+ BY_TYPE = Ractor.make_shareable({1 => Packets, 2 => Bytes, 3 => PacketsOld, 4 => BytesOld, 5 => Pad}) #: Hash[::Integer, Attribute]
92
+ class << self
93
+ # Looks up Attribute class by name.
94
+ #--
95
+ # @rbs name: Symbol
96
+ # @rbs return: Attribute
97
+ def by_name(name); BY_NAME.fetch(name); end
98
+ # Looks up Attribute class by type value.
99
+ #--
100
+ # @rbs type: Integer
101
+ # @rbs return: Attribute
102
+ def by_type(type); BY_TYPE.fetch(type); end
103
+ end
104
+ end
105
+ class TupleProtoAttrs < ::Nl::Protocols::Raw::AttributeSet
106
+ # Abstract class
107
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
108
+ end
109
+ class ProtoNum < Attribute
110
+ TYPE = 1
111
+ NAME = :"proto_num"
112
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
113
+ end
114
+ class ProtoSrcPort < Attribute
115
+ TYPE = 2
116
+ NAME = :"proto_src_port"
117
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
118
+ end
119
+ class ProtoDstPort < Attribute
120
+ TYPE = 3
121
+ NAME = :"proto_dst_port"
122
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
123
+ end
124
+ class ProtoIcmpId < Attribute
125
+ TYPE = 4
126
+ NAME = :"proto_icmp_id"
127
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
128
+ end
129
+ class ProtoIcmpType < Attribute
130
+ TYPE = 5
131
+ NAME = :"proto_icmp_type"
132
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
133
+ end
134
+ class ProtoIcmpCode < Attribute
135
+ TYPE = 6
136
+ NAME = :"proto_icmp_code"
137
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
138
+ end
139
+ class ProtoIcmpv6Id < Attribute
140
+ TYPE = 7
141
+ NAME = :"proto_icmpv6_id"
142
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
143
+ end
144
+ class ProtoIcmpv6Type < Attribute
145
+ TYPE = 8
146
+ NAME = :"proto_icmpv6_type"
147
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
148
+ end
149
+ class ProtoIcmpv6Code < Attribute
150
+ TYPE = 9
151
+ NAME = :"proto_icmpv6_code"
152
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
153
+ end
154
+ # :nodoc:
155
+ BY_NAME = Ractor.make_shareable({:"proto_num" => ProtoNum, :"proto_src_port" => ProtoSrcPort, :"proto_dst_port" => ProtoDstPort, :"proto_icmp_id" => ProtoIcmpId, :"proto_icmp_type" => ProtoIcmpType, :"proto_icmp_code" => ProtoIcmpCode, :"proto_icmpv6_id" => ProtoIcmpv6Id, :"proto_icmpv6_type" => ProtoIcmpv6Type, :"proto_icmpv6_code" => ProtoIcmpv6Code}) #: Hash[::Symbol, Attribute]
156
+ # :nodoc:
157
+ BY_TYPE = Ractor.make_shareable({1 => ProtoNum, 2 => ProtoSrcPort, 3 => ProtoDstPort, 4 => ProtoIcmpId, 5 => ProtoIcmpType, 6 => ProtoIcmpCode, 7 => ProtoIcmpv6Id, 8 => ProtoIcmpv6Type, 9 => ProtoIcmpv6Code}) #: Hash[::Integer, Attribute]
158
+ class << self
159
+ # Looks up Attribute class by name.
160
+ #--
161
+ # @rbs name: Symbol
162
+ # @rbs return: Attribute
163
+ def by_name(name); BY_NAME.fetch(name); end
164
+ # Looks up Attribute class by type value.
165
+ #--
166
+ # @rbs type: Integer
167
+ # @rbs return: Attribute
168
+ def by_type(type); BY_TYPE.fetch(type); end
169
+ end
170
+ end
171
+ class TupleIpAttrs < ::Nl::Protocols::Raw::AttributeSet
172
+ # Abstract class
173
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
174
+ end
175
+ class IpV4Src < Attribute
176
+ TYPE = 1
177
+ NAME = :"ip_v4_src"
178
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
179
+ end
180
+ class IpV4Dst < Attribute
181
+ TYPE = 2
182
+ NAME = :"ip_v4_dst"
183
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
184
+ end
185
+ class IpV6Src < Attribute
186
+ TYPE = 3
187
+ NAME = :"ip_v6_src"
188
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is shorter than minimum length 16" unless it.bytesize >= 16 })
189
+ end
190
+ class IpV6Dst < Attribute
191
+ TYPE = 4
192
+ NAME = :"ip_v6_dst"
193
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is shorter than minimum length 16" unless it.bytesize >= 16 })
194
+ end
195
+ # :nodoc:
196
+ BY_NAME = Ractor.make_shareable({:"ip_v4_src" => IpV4Src, :"ip_v4_dst" => IpV4Dst, :"ip_v6_src" => IpV6Src, :"ip_v6_dst" => IpV6Dst}) #: Hash[::Symbol, Attribute]
197
+ # :nodoc:
198
+ BY_TYPE = Ractor.make_shareable({1 => IpV4Src, 2 => IpV4Dst, 3 => IpV6Src, 4 => IpV6Dst}) #: Hash[::Integer, Attribute]
199
+ class << self
200
+ # Looks up Attribute class by name.
201
+ #--
202
+ # @rbs name: Symbol
203
+ # @rbs return: Attribute
204
+ def by_name(name); BY_NAME.fetch(name); end
205
+ # Looks up Attribute class by type value.
206
+ #--
207
+ # @rbs type: Integer
208
+ # @rbs return: Attribute
209
+ def by_type(type); BY_TYPE.fetch(type); end
210
+ end
211
+ end
212
+ class TupleAttrs < ::Nl::Protocols::Raw::AttributeSet
213
+ # Abstract class
214
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
215
+ end
216
+ class TupleIp < Attribute
217
+ TYPE = 1
218
+ NAME = :"tuple_ip"
219
+ end
220
+ class TupleProto < Attribute
221
+ TYPE = 2
222
+ NAME = :"tuple_proto"
223
+ end
224
+ class TupleZone < Attribute
225
+ TYPE = 3
226
+ NAME = :"tuple_zone"
227
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
228
+ end
229
+ # :nodoc:
230
+ BY_NAME = Ractor.make_shareable({:"tuple_ip" => TupleIp, :"tuple_proto" => TupleProto, :"tuple_zone" => TupleZone}) #: Hash[::Symbol, Attribute]
231
+ # :nodoc:
232
+ BY_TYPE = Ractor.make_shareable({1 => TupleIp, 2 => TupleProto, 3 => TupleZone}) #: Hash[::Integer, Attribute]
233
+ class << self
234
+ # Looks up Attribute class by name.
235
+ #--
236
+ # @rbs name: Symbol
237
+ # @rbs return: Attribute
238
+ def by_name(name); BY_NAME.fetch(name); end
239
+ # Looks up Attribute class by type value.
240
+ #--
241
+ # @rbs type: Integer
242
+ # @rbs return: Attribute
243
+ def by_type(type); BY_TYPE.fetch(type); end
244
+ end
245
+ end
246
+ class ProtoinfoTcpAttrs < ::Nl::Protocols::Raw::AttributeSet
247
+ # Abstract class
248
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
249
+ end
250
+ class TcpState < Attribute
251
+ TYPE = 1
252
+ NAME = :"tcp_state"
253
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
254
+ end
255
+ class TcpWscaleOriginal < Attribute
256
+ TYPE = 2
257
+ NAME = :"tcp_wscale_original"
258
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
259
+ end
260
+ class TcpWscaleReply < Attribute
261
+ TYPE = 3
262
+ NAME = :"tcp_wscale_reply"
263
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
264
+ end
265
+ class TcpFlagsOriginal < Attribute
266
+ TYPE = 4
267
+ NAME = :"tcp_flags_original"
268
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
269
+ end
270
+ class TcpFlagsReply < Attribute
271
+ TYPE = 5
272
+ NAME = :"tcp_flags_reply"
273
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
274
+ end
275
+ # :nodoc:
276
+ BY_NAME = Ractor.make_shareable({:"tcp_state" => TcpState, :"tcp_wscale_original" => TcpWscaleOriginal, :"tcp_wscale_reply" => TcpWscaleReply, :"tcp_flags_original" => TcpFlagsOriginal, :"tcp_flags_reply" => TcpFlagsReply}) #: Hash[::Symbol, Attribute]
277
+ # :nodoc:
278
+ BY_TYPE = Ractor.make_shareable({1 => TcpState, 2 => TcpWscaleOriginal, 3 => TcpWscaleReply, 4 => TcpFlagsOriginal, 5 => TcpFlagsReply}) #: Hash[::Integer, Attribute]
279
+ class << self
280
+ # Looks up Attribute class by name.
281
+ #--
282
+ # @rbs name: Symbol
283
+ # @rbs return: Attribute
284
+ def by_name(name); BY_NAME.fetch(name); end
285
+ # Looks up Attribute class by type value.
286
+ #--
287
+ # @rbs type: Integer
288
+ # @rbs return: Attribute
289
+ def by_type(type); BY_TYPE.fetch(type); end
290
+ end
291
+ end
292
+ class ProtoinfoDccpAttrs < ::Nl::Protocols::Raw::AttributeSet
293
+ # Abstract class
294
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
295
+ end
296
+ class DccpState < Attribute
297
+ TYPE = 1
298
+ NAME = :"dccp_state"
299
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
300
+ end
301
+ class DccpRole < Attribute
302
+ TYPE = 2
303
+ NAME = :"dccp_role"
304
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
305
+ end
306
+ class DccpHandshakeSeq < Attribute
307
+ TYPE = 3
308
+ NAME = :"dccp_handshake_seq"
309
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
310
+ end
311
+ class DccpPad < Attribute
312
+ TYPE = 4
313
+ NAME = :"dccp_pad"
314
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Pad.new()
315
+ end
316
+ # :nodoc:
317
+ BY_NAME = Ractor.make_shareable({:"dccp_state" => DccpState, :"dccp_role" => DccpRole, :"dccp_handshake_seq" => DccpHandshakeSeq, :"dccp_pad" => DccpPad}) #: Hash[::Symbol, Attribute]
318
+ # :nodoc:
319
+ BY_TYPE = Ractor.make_shareable({1 => DccpState, 2 => DccpRole, 3 => DccpHandshakeSeq, 4 => DccpPad}) #: Hash[::Integer, Attribute]
320
+ class << self
321
+ # Looks up Attribute class by name.
322
+ #--
323
+ # @rbs name: Symbol
324
+ # @rbs return: Attribute
325
+ def by_name(name); BY_NAME.fetch(name); end
326
+ # Looks up Attribute class by type value.
327
+ #--
328
+ # @rbs type: Integer
329
+ # @rbs return: Attribute
330
+ def by_type(type); BY_TYPE.fetch(type); end
331
+ end
332
+ end
333
+ class ProtoinfoSctpAttrs < ::Nl::Protocols::Raw::AttributeSet
334
+ # Abstract class
335
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
336
+ end
337
+ class SctpState < Attribute
338
+ TYPE = 1
339
+ NAME = :"sctp_state"
340
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
341
+ end
342
+ class VtagOriginal < Attribute
343
+ TYPE = 2
344
+ NAME = :"vtag_original"
345
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
346
+ end
347
+ class VtagReply < Attribute
348
+ TYPE = 3
349
+ NAME = :"vtag_reply"
350
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
351
+ end
352
+ # :nodoc:
353
+ BY_NAME = Ractor.make_shareable({:"sctp_state" => SctpState, :"vtag_original" => VtagOriginal, :"vtag_reply" => VtagReply}) #: Hash[::Symbol, Attribute]
354
+ # :nodoc:
355
+ BY_TYPE = Ractor.make_shareable({1 => SctpState, 2 => VtagOriginal, 3 => VtagReply}) #: Hash[::Integer, Attribute]
356
+ class << self
357
+ # Looks up Attribute class by name.
358
+ #--
359
+ # @rbs name: Symbol
360
+ # @rbs return: Attribute
361
+ def by_name(name); BY_NAME.fetch(name); end
362
+ # Looks up Attribute class by type value.
363
+ #--
364
+ # @rbs type: Integer
365
+ # @rbs return: Attribute
366
+ def by_type(type); BY_TYPE.fetch(type); end
367
+ end
368
+ end
369
+ class ProtoinfoAttrs < ::Nl::Protocols::Raw::AttributeSet
370
+ # Abstract class
371
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
372
+ end
373
+ class ProtoinfoTcp < Attribute
374
+ TYPE = 1
375
+ NAME = :"protoinfo_tcp"
376
+ end
377
+ class ProtoinfoDccp < Attribute
378
+ TYPE = 2
379
+ NAME = :"protoinfo_dccp"
380
+ end
381
+ class ProtoinfoSctp < Attribute
382
+ TYPE = 3
383
+ NAME = :"protoinfo_sctp"
384
+ end
385
+ # :nodoc:
386
+ BY_NAME = Ractor.make_shareable({:"protoinfo_tcp" => ProtoinfoTcp, :"protoinfo_dccp" => ProtoinfoDccp, :"protoinfo_sctp" => ProtoinfoSctp}) #: Hash[::Symbol, Attribute]
387
+ # :nodoc:
388
+ BY_TYPE = Ractor.make_shareable({1 => ProtoinfoTcp, 2 => ProtoinfoDccp, 3 => ProtoinfoSctp}) #: Hash[::Integer, Attribute]
389
+ class << self
390
+ # Looks up Attribute class by name.
391
+ #--
392
+ # @rbs name: Symbol
393
+ # @rbs return: Attribute
394
+ def by_name(name); BY_NAME.fetch(name); end
395
+ # Looks up Attribute class by type value.
396
+ #--
397
+ # @rbs type: Integer
398
+ # @rbs return: Attribute
399
+ def by_type(type); BY_TYPE.fetch(type); end
400
+ end
401
+ end
402
+ class HelpAttrs < ::Nl::Protocols::Raw::AttributeSet
403
+ # Abstract class
404
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
405
+ end
406
+ class HelpName < Attribute
407
+ TYPE = 1
408
+ NAME = :"help_name"
409
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
410
+ end
411
+ # :nodoc:
412
+ BY_NAME = Ractor.make_shareable({:"help_name" => HelpName}) #: Hash[::Symbol, Attribute]
413
+ # :nodoc:
414
+ BY_TYPE = Ractor.make_shareable({1 => HelpName}) #: Hash[::Integer, Attribute]
415
+ class << self
416
+ # Looks up Attribute class by name.
417
+ #--
418
+ # @rbs name: Symbol
419
+ # @rbs return: Attribute
420
+ def by_name(name); BY_NAME.fetch(name); end
421
+ # Looks up Attribute class by type value.
422
+ #--
423
+ # @rbs type: Integer
424
+ # @rbs return: Attribute
425
+ def by_type(type); BY_TYPE.fetch(type); end
426
+ end
427
+ end
428
+ class NatProtoAttrs < ::Nl::Protocols::Raw::AttributeSet
429
+ # Abstract class
430
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
431
+ end
432
+ class NatPortMin < Attribute
433
+ TYPE = 1
434
+ NAME = :"nat_port_min"
435
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
436
+ end
437
+ class NatPortMax < Attribute
438
+ TYPE = 2
439
+ NAME = :"nat_port_max"
440
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
441
+ end
442
+ # :nodoc:
443
+ BY_NAME = Ractor.make_shareable({:"nat_port_min" => NatPortMin, :"nat_port_max" => NatPortMax}) #: Hash[::Symbol, Attribute]
444
+ # :nodoc:
445
+ BY_TYPE = Ractor.make_shareable({1 => NatPortMin, 2 => NatPortMax}) #: Hash[::Integer, Attribute]
446
+ class << self
447
+ # Looks up Attribute class by name.
448
+ #--
449
+ # @rbs name: Symbol
450
+ # @rbs return: Attribute
451
+ def by_name(name); BY_NAME.fetch(name); end
452
+ # Looks up Attribute class by type value.
453
+ #--
454
+ # @rbs type: Integer
455
+ # @rbs return: Attribute
456
+ def by_type(type); BY_TYPE.fetch(type); end
457
+ end
458
+ end
459
+ class NatAttrs < ::Nl::Protocols::Raw::AttributeSet
460
+ # Abstract class
461
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
462
+ end
463
+ class NatV4Minip < Attribute
464
+ TYPE = 1
465
+ NAME = :"nat_v4_minip"
466
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
467
+ end
468
+ class NatV4Maxip < Attribute
469
+ TYPE = 2
470
+ NAME = :"nat_v4_maxip"
471
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
472
+ end
473
+ class NatV6Minip < Attribute
474
+ TYPE = 3
475
+ NAME = :"nat_v6_minip"
476
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
477
+ end
478
+ class NatV6Maxip < Attribute
479
+ TYPE = 4
480
+ NAME = :"nat_v6_maxip"
481
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
482
+ end
483
+ class NatProto < Attribute
484
+ TYPE = 5
485
+ NAME = :"nat_proto"
486
+ end
487
+ # :nodoc:
488
+ BY_NAME = Ractor.make_shareable({:"nat_v4_minip" => NatV4Minip, :"nat_v4_maxip" => NatV4Maxip, :"nat_v6_minip" => NatV6Minip, :"nat_v6_maxip" => NatV6Maxip, :"nat_proto" => NatProto}) #: Hash[::Symbol, Attribute]
489
+ # :nodoc:
490
+ BY_TYPE = Ractor.make_shareable({1 => NatV4Minip, 2 => NatV4Maxip, 3 => NatV6Minip, 4 => NatV6Maxip, 5 => NatProto}) #: Hash[::Integer, Attribute]
491
+ class << self
492
+ # Looks up Attribute class by name.
493
+ #--
494
+ # @rbs name: Symbol
495
+ # @rbs return: Attribute
496
+ def by_name(name); BY_NAME.fetch(name); end
497
+ # Looks up Attribute class by type value.
498
+ #--
499
+ # @rbs type: Integer
500
+ # @rbs return: Attribute
501
+ def by_type(type); BY_TYPE.fetch(type); end
502
+ end
503
+ end
504
+ class SeqadjAttrs < ::Nl::Protocols::Raw::AttributeSet
505
+ # Abstract class
506
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
507
+ end
508
+ class CorrectionPos < Attribute
509
+ TYPE = 1
510
+ NAME = :"correction_pos"
511
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
512
+ end
513
+ class OffsetBefore < Attribute
514
+ TYPE = 2
515
+ NAME = :"offset_before"
516
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
517
+ end
518
+ class OffsetAfter < Attribute
519
+ TYPE = 3
520
+ NAME = :"offset_after"
521
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
522
+ end
523
+ # :nodoc:
524
+ BY_NAME = Ractor.make_shareable({:"correction_pos" => CorrectionPos, :"offset_before" => OffsetBefore, :"offset_after" => OffsetAfter}) #: Hash[::Symbol, Attribute]
525
+ # :nodoc:
526
+ BY_TYPE = Ractor.make_shareable({1 => CorrectionPos, 2 => OffsetBefore, 3 => OffsetAfter}) #: Hash[::Integer, Attribute]
527
+ class << self
528
+ # Looks up Attribute class by name.
529
+ #--
530
+ # @rbs name: Symbol
531
+ # @rbs return: Attribute
532
+ def by_name(name); BY_NAME.fetch(name); end
533
+ # Looks up Attribute class by type value.
534
+ #--
535
+ # @rbs type: Integer
536
+ # @rbs return: Attribute
537
+ def by_type(type); BY_TYPE.fetch(type); end
538
+ end
539
+ end
540
+ class SecctxAttrs < ::Nl::Protocols::Raw::AttributeSet
541
+ # Abstract class
542
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
543
+ end
544
+ class SecctxName < Attribute
545
+ TYPE = 1
546
+ NAME = :"secctx_name"
547
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::String.new(check: nil)
548
+ end
549
+ # :nodoc:
550
+ BY_NAME = Ractor.make_shareable({:"secctx_name" => SecctxName}) #: Hash[::Symbol, Attribute]
551
+ # :nodoc:
552
+ BY_TYPE = Ractor.make_shareable({1 => SecctxName}) #: Hash[::Integer, Attribute]
553
+ class << self
554
+ # Looks up Attribute class by name.
555
+ #--
556
+ # @rbs name: Symbol
557
+ # @rbs return: Attribute
558
+ def by_name(name); BY_NAME.fetch(name); end
559
+ # Looks up Attribute class by type value.
560
+ #--
561
+ # @rbs type: Integer
562
+ # @rbs return: Attribute
563
+ def by_type(type); BY_TYPE.fetch(type); end
564
+ end
565
+ end
566
+ class SynproxyAttrs < ::Nl::Protocols::Raw::AttributeSet
567
+ # Abstract class
568
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
569
+ end
570
+ class Isn < Attribute
571
+ TYPE = 1
572
+ NAME = :"isn"
573
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
574
+ end
575
+ class Its < Attribute
576
+ TYPE = 2
577
+ NAME = :"its"
578
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
579
+ end
580
+ class Tsoff < Attribute
581
+ TYPE = 3
582
+ NAME = :"tsoff"
583
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
584
+ end
585
+ # :nodoc:
586
+ BY_NAME = Ractor.make_shareable({:"isn" => Isn, :"its" => Its, :"tsoff" => Tsoff}) #: Hash[::Symbol, Attribute]
587
+ # :nodoc:
588
+ BY_TYPE = Ractor.make_shareable({1 => Isn, 2 => Its, 3 => Tsoff}) #: Hash[::Integer, Attribute]
589
+ class << self
590
+ # Looks up Attribute class by name.
591
+ #--
592
+ # @rbs name: Symbol
593
+ # @rbs return: Attribute
594
+ def by_name(name); BY_NAME.fetch(name); end
595
+ # Looks up Attribute class by type value.
596
+ #--
597
+ # @rbs type: Integer
598
+ # @rbs return: Attribute
599
+ def by_type(type); BY_TYPE.fetch(type); end
600
+ end
601
+ end
602
+ class ConntrackAttrs < ::Nl::Protocols::Raw::AttributeSet
603
+ # Abstract class
604
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
605
+ end
606
+ class TupleOrig < Attribute
607
+ TYPE = 1
608
+ NAME = :"tuple_orig"
609
+ end
610
+ class TupleReply < Attribute
611
+ TYPE = 2
612
+ NAME = :"tuple_reply"
613
+ end
614
+ class Status < Attribute
615
+ TYPE = 3
616
+ NAME = :"status"
617
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
618
+ end
619
+ class Protoinfo < Attribute
620
+ TYPE = 4
621
+ NAME = :"protoinfo"
622
+ end
623
+ class Help < Attribute
624
+ TYPE = 5
625
+ NAME = :"help"
626
+ end
627
+ class NatSrc < Attribute
628
+ TYPE = 6
629
+ NAME = :"nat_src"
630
+ end
631
+ class Timeout < Attribute
632
+ TYPE = 7
633
+ NAME = :"timeout"
634
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
635
+ end
636
+ class Mark < Attribute
637
+ TYPE = 8
638
+ NAME = :"mark"
639
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
640
+ end
641
+ class CountersOrig < Attribute
642
+ TYPE = 9
643
+ NAME = :"counters_orig"
644
+ end
645
+ class CountersReply < Attribute
646
+ TYPE = 10
647
+ NAME = :"counters_reply"
648
+ end
649
+ class Use < Attribute
650
+ TYPE = 11
651
+ NAME = :"use"
652
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
653
+ end
654
+ class Id < Attribute
655
+ TYPE = 12
656
+ NAME = :"id"
657
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
658
+ end
659
+ class NatDst < Attribute
660
+ TYPE = 13
661
+ NAME = :"nat_dst"
662
+ end
663
+ class TupleMaster < Attribute
664
+ TYPE = 14
665
+ NAME = :"tuple_master"
666
+ end
667
+ class SeqAdjOrig < Attribute
668
+ TYPE = 15
669
+ NAME = :"seq_adj_orig"
670
+ end
671
+ class SeqAdjReply < Attribute
672
+ TYPE = 16
673
+ NAME = :"seq_adj_reply"
674
+ end
675
+ class Secmark < Attribute
676
+ TYPE = 17
677
+ NAME = :"secmark"
678
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
679
+ end
680
+ class Zone < Attribute
681
+ TYPE = 18
682
+ NAME = :"zone"
683
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
684
+ end
685
+ class Secctx < Attribute
686
+ TYPE = 19
687
+ NAME = :"secctx"
688
+ end
689
+ class Timestamp < Attribute
690
+ TYPE = 20
691
+ NAME = :"timestamp"
692
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
693
+ end
694
+ class MarkMask < Attribute
695
+ TYPE = 21
696
+ NAME = :"mark_mask"
697
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
698
+ end
699
+ class Labels < Attribute
700
+ TYPE = 22
701
+ NAME = :"labels"
702
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
703
+ end
704
+ class LabelsMask < Attribute
705
+ TYPE = 23
706
+ NAME = :"labels_mask"
707
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Binary.new(check: nil)
708
+ end
709
+ class Synproxy < Attribute
710
+ TYPE = 24
711
+ NAME = :"synproxy"
712
+ end
713
+ class Filter < Attribute
714
+ TYPE = 25
715
+ NAME = :"filter"
716
+ end
717
+ class StatusMask < Attribute
718
+ TYPE = 26
719
+ NAME = :"status_mask"
720
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
721
+ end
722
+ class TimestampEvent < Attribute
723
+ TYPE = 27
724
+ NAME = :"timestamp_event"
725
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U64, check: nil)
726
+ end
727
+ # :nodoc:
728
+ BY_NAME = Ractor.make_shareable({:"tuple_orig" => TupleOrig, :"tuple_reply" => TupleReply, :"status" => Status, :"protoinfo" => Protoinfo, :"help" => Help, :"nat_src" => NatSrc, :"timeout" => Timeout, :"mark" => Mark, :"counters_orig" => CountersOrig, :"counters_reply" => CountersReply, :"use" => Use, :"id" => Id, :"nat_dst" => NatDst, :"tuple_master" => TupleMaster, :"seq_adj_orig" => SeqAdjOrig, :"seq_adj_reply" => SeqAdjReply, :"secmark" => Secmark, :"zone" => Zone, :"secctx" => Secctx, :"timestamp" => Timestamp, :"mark_mask" => MarkMask, :"labels" => Labels, :"labels_mask" => LabelsMask, :"synproxy" => Synproxy, :"filter" => Filter, :"status_mask" => StatusMask, :"timestamp_event" => TimestampEvent}) #: Hash[::Symbol, Attribute]
729
+ # :nodoc:
730
+ BY_TYPE = Ractor.make_shareable({1 => TupleOrig, 2 => TupleReply, 3 => Status, 4 => Protoinfo, 5 => Help, 6 => NatSrc, 7 => Timeout, 8 => Mark, 9 => CountersOrig, 10 => CountersReply, 11 => Use, 12 => Id, 13 => NatDst, 14 => TupleMaster, 15 => SeqAdjOrig, 16 => SeqAdjReply, 17 => Secmark, 18 => Zone, 19 => Secctx, 20 => Timestamp, 21 => MarkMask, 22 => Labels, 23 => LabelsMask, 24 => Synproxy, 25 => Filter, 26 => StatusMask, 27 => TimestampEvent}) #: Hash[::Integer, Attribute]
731
+ class << self
732
+ # Looks up Attribute class by name.
733
+ #--
734
+ # @rbs name: Symbol
735
+ # @rbs return: Attribute
736
+ def by_name(name); BY_NAME.fetch(name); end
737
+ # Looks up Attribute class by type value.
738
+ #--
739
+ # @rbs type: Integer
740
+ # @rbs return: Attribute
741
+ def by_type(type); BY_TYPE.fetch(type); end
742
+ end
743
+ end
744
+ class ConntrackStatsAttrs < ::Nl::Protocols::Raw::AttributeSet
745
+ # Abstract class
746
+ class Attribute < ::Nl::Protocols::Raw::AttributeSet::Attribute
747
+ end
748
+ class Searched < Attribute
749
+ TYPE = 1
750
+ NAME = :"searched"
751
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
752
+ end
753
+ class Found < Attribute
754
+ TYPE = 2
755
+ NAME = :"found"
756
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
757
+ end
758
+ class New < Attribute
759
+ TYPE = 3
760
+ NAME = :"new"
761
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
762
+ end
763
+ class Invalid < Attribute
764
+ TYPE = 4
765
+ NAME = :"invalid"
766
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
767
+ end
768
+ class Ignore < Attribute
769
+ TYPE = 5
770
+ NAME = :"ignore"
771
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
772
+ end
773
+ class Delete < Attribute
774
+ TYPE = 6
775
+ NAME = :"delete"
776
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
777
+ end
778
+ class DeleteList < Attribute
779
+ TYPE = 7
780
+ NAME = :"delete_list"
781
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
782
+ end
783
+ class Insert < Attribute
784
+ TYPE = 8
785
+ NAME = :"insert"
786
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
787
+ end
788
+ class InsertFailed < Attribute
789
+ TYPE = 9
790
+ NAME = :"insert_failed"
791
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
792
+ end
793
+ class Drop < Attribute
794
+ TYPE = 10
795
+ NAME = :"drop"
796
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
797
+ end
798
+ class EarlyDrop < Attribute
799
+ TYPE = 11
800
+ NAME = :"early_drop"
801
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
802
+ end
803
+ class Error < Attribute
804
+ TYPE = 12
805
+ NAME = :"error"
806
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
807
+ end
808
+ class SearchRestart < Attribute
809
+ TYPE = 13
810
+ NAME = :"search_restart"
811
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
812
+ end
813
+ class ClashResolve < Attribute
814
+ TYPE = 14
815
+ NAME = :"clash_resolve"
816
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
817
+ end
818
+ class ChainToolong < Attribute
819
+ TYPE = 15
820
+ NAME = :"chain_toolong"
821
+ DATATYPE = ::Nl::Protocols::Raw::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
822
+ end
823
+ # :nodoc:
824
+ BY_NAME = Ractor.make_shareable({:"searched" => Searched, :"found" => Found, :"new" => New, :"invalid" => Invalid, :"ignore" => Ignore, :"delete" => Delete, :"delete_list" => DeleteList, :"insert" => Insert, :"insert_failed" => InsertFailed, :"drop" => Drop, :"early_drop" => EarlyDrop, :"error" => Error, :"search_restart" => SearchRestart, :"clash_resolve" => ClashResolve, :"chain_toolong" => ChainToolong}) #: Hash[::Symbol, Attribute]
825
+ # :nodoc:
826
+ BY_TYPE = Ractor.make_shareable({1 => Searched, 2 => Found, 3 => New, 4 => Invalid, 5 => Ignore, 6 => Delete, 7 => DeleteList, 8 => Insert, 9 => InsertFailed, 10 => Drop, 11 => EarlyDrop, 12 => Error, 13 => SearchRestart, 14 => ClashResolve, 15 => ChainToolong}) #: Hash[::Integer, Attribute]
827
+ class << self
828
+ # Looks up Attribute class by name.
829
+ #--
830
+ # @rbs name: Symbol
831
+ # @rbs return: Attribute
832
+ def by_name(name); BY_NAME.fetch(name); end
833
+ # Looks up Attribute class by type value.
834
+ #--
835
+ # @rbs type: Integer
836
+ # @rbs return: Attribute
837
+ def by_type(type); BY_TYPE.fetch(type); end
838
+ end
839
+ end
840
+ TupleAttrs::TupleIp::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(TupleIpAttrs)
841
+ TupleAttrs::TupleProto::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(TupleProtoAttrs)
842
+ ProtoinfoAttrs::ProtoinfoTcp::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(ProtoinfoTcpAttrs)
843
+ ProtoinfoAttrs::ProtoinfoDccp::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(ProtoinfoDccpAttrs)
844
+ ProtoinfoAttrs::ProtoinfoSctp::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(ProtoinfoSctpAttrs)
845
+ NatAttrs::NatProto::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(NatProtoAttrs)
846
+ ConntrackAttrs::TupleOrig::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(TupleAttrs)
847
+ ConntrackAttrs::TupleReply::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(TupleAttrs)
848
+ ConntrackAttrs::Protoinfo::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(ProtoinfoAttrs)
849
+ ConntrackAttrs::Help::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(HelpAttrs)
850
+ ConntrackAttrs::NatSrc::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(NatAttrs)
851
+ ConntrackAttrs::CountersOrig::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(CounterAttrs)
852
+ ConntrackAttrs::CountersReply::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(CounterAttrs)
853
+ ConntrackAttrs::NatDst::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(NatAttrs)
854
+ ConntrackAttrs::TupleMaster::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(TupleAttrs)
855
+ ConntrackAttrs::SeqAdjOrig::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(SeqadjAttrs)
856
+ ConntrackAttrs::SeqAdjReply::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(SeqadjAttrs)
857
+ ConntrackAttrs::Secctx::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(SecctxAttrs)
858
+ ConntrackAttrs::Synproxy::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(SynproxyAttrs)
859
+ ConntrackAttrs::Filter::DATATYPE = ::Nl::Protocols::Raw::DataTypes::NestedAttributes.new(TupleAttrs)
860
+ end
861
+ module Messages
862
+ # get / dump entries
863
+ class DoGetRequest < ::Nl::Protocols::Raw::Message
864
+ TYPE = 257
865
+ FIXED_HEADER = Structs::Nfgenmsg
866
+ ATTRIBUTE_SET = AttributeSets::ConntrackAttrs
867
+ ATTRIBUTES = Ractor.make_shareable(%i[tuple_orig tuple_reply zone])
868
+ # Gets the value of `nfgen-family` field in the message's fixed header.
869
+ #--
870
+ # @rbs return: ::Integer
871
+ def nfgen_family; fixed_header.nfgen_family; end
872
+ # Gets the value of `version` field in the message's fixed header.
873
+ #--
874
+ # @rbs return: ::Integer
875
+ def version; fixed_header.version; end
876
+ # Gets the value of `res-id` field in the message's fixed header.
877
+ #--
878
+ # @rbs return: ::Integer
879
+ def res_id; fixed_header.res_id; end
880
+ # Gets the value of `tuple-orig` attribute in the message.
881
+ #--
882
+ # @rbs return: AttributeSets::TupleAttrs
883
+ def tuple_orig; attributes[:"tuple_orig"]&.value; end
884
+ # Gets the value of `tuple-reply` attribute in the message.
885
+ #--
886
+ # @rbs return: AttributeSets::TupleAttrs
887
+ def tuple_reply; attributes[:"tuple_reply"]&.value; end
888
+ # Gets the value of `zone` attribute in the message.
889
+ #--
890
+ # @rbs return: ::Integer
891
+ def zone; attributes[:"zone"]&.value; end
892
+ end
893
+ # get / dump entries
894
+ class DoGetReply < ::Nl::Protocols::Raw::Message
895
+ TYPE = 256
896
+ FIXED_HEADER = Structs::Nfgenmsg
897
+ ATTRIBUTE_SET = AttributeSets::ConntrackAttrs
898
+ ATTRIBUTES = Ractor.make_shareable(%i[tuple_orig tuple_reply status protoinfo help nat_src timeout mark counters_orig counters_reply use id nat_dst tuple_master seq_adj_orig seq_adj_reply zone secctx labels synproxy])
899
+ # Gets the value of `nfgen-family` field in the message's fixed header.
900
+ #--
901
+ # @rbs return: ::Integer
902
+ def nfgen_family; fixed_header.nfgen_family; end
903
+ # Gets the value of `version` field in the message's fixed header.
904
+ #--
905
+ # @rbs return: ::Integer
906
+ def version; fixed_header.version; end
907
+ # Gets the value of `res-id` field in the message's fixed header.
908
+ #--
909
+ # @rbs return: ::Integer
910
+ def res_id; fixed_header.res_id; end
911
+ # Gets the value of `tuple-orig` attribute in the message.
912
+ #--
913
+ # @rbs return: AttributeSets::TupleAttrs
914
+ def tuple_orig; attributes[:"tuple_orig"]&.value; end
915
+ # Gets the value of `tuple-reply` attribute in the message.
916
+ #--
917
+ # @rbs return: AttributeSets::TupleAttrs
918
+ def tuple_reply; attributes[:"tuple_reply"]&.value; end
919
+ # Gets the value of `status` attribute in the message.
920
+ #--
921
+ # @rbs return: ::Integer
922
+ def status; attributes[:"status"]&.value; end
923
+ # Gets the value of `protoinfo` attribute in the message.
924
+ #--
925
+ # @rbs return: AttributeSets::ProtoinfoAttrs
926
+ def protoinfo; attributes[:"protoinfo"]&.value; end
927
+ # Gets the value of `help` attribute in the message.
928
+ #--
929
+ # @rbs return: AttributeSets::HelpAttrs
930
+ def help; attributes[:"help"]&.value; end
931
+ # Gets the value of `nat-src` attribute in the message.
932
+ #--
933
+ # @rbs return: AttributeSets::NatAttrs
934
+ def nat_src; attributes[:"nat_src"]&.value; end
935
+ # Gets the value of `timeout` attribute in the message.
936
+ #--
937
+ # @rbs return: ::Integer
938
+ def timeout; attributes[:"timeout"]&.value; end
939
+ # Gets the value of `mark` attribute in the message.
940
+ #--
941
+ # @rbs return: ::Integer
942
+ def mark; attributes[:"mark"]&.value; end
943
+ # Gets the value of `counters-orig` attribute in the message.
944
+ #--
945
+ # @rbs return: AttributeSets::CounterAttrs
946
+ def counters_orig; attributes[:"counters_orig"]&.value; end
947
+ # Gets the value of `counters-reply` attribute in the message.
948
+ #--
949
+ # @rbs return: AttributeSets::CounterAttrs
950
+ def counters_reply; attributes[:"counters_reply"]&.value; end
951
+ # Gets the value of `use` attribute in the message.
952
+ #--
953
+ # @rbs return: ::Integer
954
+ def use; attributes[:"use"]&.value; end
955
+ # Gets the value of `id` attribute in the message.
956
+ #--
957
+ # @rbs return: ::Integer
958
+ def id; attributes[:"id"]&.value; end
959
+ # Gets the value of `nat-dst` attribute in the message.
960
+ #--
961
+ # @rbs return: AttributeSets::NatAttrs
962
+ def nat_dst; attributes[:"nat_dst"]&.value; end
963
+ # Gets the value of `tuple-master` attribute in the message.
964
+ #--
965
+ # @rbs return: AttributeSets::TupleAttrs
966
+ def tuple_master; attributes[:"tuple_master"]&.value; end
967
+ # Gets the value of `seq-adj-orig` attribute in the message.
968
+ #--
969
+ # @rbs return: AttributeSets::SeqadjAttrs
970
+ def seq_adj_orig; attributes[:"seq_adj_orig"]&.value; end
971
+ # Gets the value of `seq-adj-reply` attribute in the message.
972
+ #--
973
+ # @rbs return: AttributeSets::SeqadjAttrs
974
+ def seq_adj_reply; attributes[:"seq_adj_reply"]&.value; end
975
+ # Gets the value of `zone` attribute in the message.
976
+ #--
977
+ # @rbs return: ::Integer
978
+ def zone; attributes[:"zone"]&.value; end
979
+ # Gets the value of `secctx` attribute in the message.
980
+ #--
981
+ # @rbs return: AttributeSets::SecctxAttrs
982
+ def secctx; attributes[:"secctx"]&.value; end
983
+ # Gets the value of `labels` attribute in the message.
984
+ #--
985
+ # @rbs return: untyped
986
+ def labels; attributes[:"labels"]&.value; end
987
+ # Gets the value of `synproxy` attribute in the message.
988
+ #--
989
+ # @rbs return: AttributeSets::SynproxyAttrs
990
+ def synproxy; attributes[:"synproxy"]&.value; end
991
+ end
992
+ # get / dump entries
993
+ class DumpGetRequest < ::Nl::Protocols::Raw::Message
994
+ TYPE = 257
995
+ FIXED_HEADER = Structs::Nfgenmsg
996
+ ATTRIBUTE_SET = AttributeSets::ConntrackAttrs
997
+ ATTRIBUTES = Ractor.make_shareable(%i[status mark zone filter])
998
+ # Gets the value of `nfgen-family` field in the message's fixed header.
999
+ #--
1000
+ # @rbs return: ::Integer
1001
+ def nfgen_family; fixed_header.nfgen_family; end
1002
+ # Gets the value of `version` field in the message's fixed header.
1003
+ #--
1004
+ # @rbs return: ::Integer
1005
+ def version; fixed_header.version; end
1006
+ # Gets the value of `res-id` field in the message's fixed header.
1007
+ #--
1008
+ # @rbs return: ::Integer
1009
+ def res_id; fixed_header.res_id; end
1010
+ # Gets the value of `status` attribute in the message.
1011
+ #--
1012
+ # @rbs return: ::Integer
1013
+ def status; attributes[:"status"]&.value; end
1014
+ # Gets the value of `mark` attribute in the message.
1015
+ #--
1016
+ # @rbs return: ::Integer
1017
+ def mark; attributes[:"mark"]&.value; end
1018
+ # Gets the value of `zone` attribute in the message.
1019
+ #--
1020
+ # @rbs return: ::Integer
1021
+ def zone; attributes[:"zone"]&.value; end
1022
+ # Gets the value of `filter` attribute in the message.
1023
+ #--
1024
+ # @rbs return: AttributeSets::TupleAttrs
1025
+ def filter; attributes[:"filter"]&.value; end
1026
+ end
1027
+ # get / dump entries
1028
+ class DumpGetReply < ::Nl::Protocols::Raw::Message
1029
+ TYPE = 256
1030
+ FIXED_HEADER = Structs::Nfgenmsg
1031
+ ATTRIBUTE_SET = AttributeSets::ConntrackAttrs
1032
+ ATTRIBUTES = Ractor.make_shareable(%i[tuple_orig tuple_reply status protoinfo help nat_src timeout mark counters_orig counters_reply use id nat_dst tuple_master seq_adj_orig seq_adj_reply zone secctx labels synproxy])
1033
+ # Gets the value of `nfgen-family` field in the message's fixed header.
1034
+ #--
1035
+ # @rbs return: ::Integer
1036
+ def nfgen_family; fixed_header.nfgen_family; end
1037
+ # Gets the value of `version` field in the message's fixed header.
1038
+ #--
1039
+ # @rbs return: ::Integer
1040
+ def version; fixed_header.version; end
1041
+ # Gets the value of `res-id` field in the message's fixed header.
1042
+ #--
1043
+ # @rbs return: ::Integer
1044
+ def res_id; fixed_header.res_id; end
1045
+ # Gets the value of `tuple-orig` attribute in the message.
1046
+ #--
1047
+ # @rbs return: AttributeSets::TupleAttrs
1048
+ def tuple_orig; attributes[:"tuple_orig"]&.value; end
1049
+ # Gets the value of `tuple-reply` attribute in the message.
1050
+ #--
1051
+ # @rbs return: AttributeSets::TupleAttrs
1052
+ def tuple_reply; attributes[:"tuple_reply"]&.value; end
1053
+ # Gets the value of `status` attribute in the message.
1054
+ #--
1055
+ # @rbs return: ::Integer
1056
+ def status; attributes[:"status"]&.value; end
1057
+ # Gets the value of `protoinfo` attribute in the message.
1058
+ #--
1059
+ # @rbs return: AttributeSets::ProtoinfoAttrs
1060
+ def protoinfo; attributes[:"protoinfo"]&.value; end
1061
+ # Gets the value of `help` attribute in the message.
1062
+ #--
1063
+ # @rbs return: AttributeSets::HelpAttrs
1064
+ def help; attributes[:"help"]&.value; end
1065
+ # Gets the value of `nat-src` attribute in the message.
1066
+ #--
1067
+ # @rbs return: AttributeSets::NatAttrs
1068
+ def nat_src; attributes[:"nat_src"]&.value; end
1069
+ # Gets the value of `timeout` attribute in the message.
1070
+ #--
1071
+ # @rbs return: ::Integer
1072
+ def timeout; attributes[:"timeout"]&.value; end
1073
+ # Gets the value of `mark` attribute in the message.
1074
+ #--
1075
+ # @rbs return: ::Integer
1076
+ def mark; attributes[:"mark"]&.value; end
1077
+ # Gets the value of `counters-orig` attribute in the message.
1078
+ #--
1079
+ # @rbs return: AttributeSets::CounterAttrs
1080
+ def counters_orig; attributes[:"counters_orig"]&.value; end
1081
+ # Gets the value of `counters-reply` attribute in the message.
1082
+ #--
1083
+ # @rbs return: AttributeSets::CounterAttrs
1084
+ def counters_reply; attributes[:"counters_reply"]&.value; end
1085
+ # Gets the value of `use` attribute in the message.
1086
+ #--
1087
+ # @rbs return: ::Integer
1088
+ def use; attributes[:"use"]&.value; end
1089
+ # Gets the value of `id` attribute in the message.
1090
+ #--
1091
+ # @rbs return: ::Integer
1092
+ def id; attributes[:"id"]&.value; end
1093
+ # Gets the value of `nat-dst` attribute in the message.
1094
+ #--
1095
+ # @rbs return: AttributeSets::NatAttrs
1096
+ def nat_dst; attributes[:"nat_dst"]&.value; end
1097
+ # Gets the value of `tuple-master` attribute in the message.
1098
+ #--
1099
+ # @rbs return: AttributeSets::TupleAttrs
1100
+ def tuple_master; attributes[:"tuple_master"]&.value; end
1101
+ # Gets the value of `seq-adj-orig` attribute in the message.
1102
+ #--
1103
+ # @rbs return: AttributeSets::SeqadjAttrs
1104
+ def seq_adj_orig; attributes[:"seq_adj_orig"]&.value; end
1105
+ # Gets the value of `seq-adj-reply` attribute in the message.
1106
+ #--
1107
+ # @rbs return: AttributeSets::SeqadjAttrs
1108
+ def seq_adj_reply; attributes[:"seq_adj_reply"]&.value; end
1109
+ # Gets the value of `zone` attribute in the message.
1110
+ #--
1111
+ # @rbs return: ::Integer
1112
+ def zone; attributes[:"zone"]&.value; end
1113
+ # Gets the value of `secctx` attribute in the message.
1114
+ #--
1115
+ # @rbs return: AttributeSets::SecctxAttrs
1116
+ def secctx; attributes[:"secctx"]&.value; end
1117
+ # Gets the value of `labels` attribute in the message.
1118
+ #--
1119
+ # @rbs return: untyped
1120
+ def labels; attributes[:"labels"]&.value; end
1121
+ # Gets the value of `synproxy` attribute in the message.
1122
+ #--
1123
+ # @rbs return: AttributeSets::SynproxyAttrs
1124
+ def synproxy; attributes[:"synproxy"]&.value; end
1125
+ end
1126
+ # dump pcpu conntrack stats
1127
+ class DumpGetStatsRequest < ::Nl::Protocols::Raw::Message
1128
+ TYPE = 260
1129
+ FIXED_HEADER = Structs::Nfgenmsg
1130
+ ATTRIBUTE_SET = AttributeSets::ConntrackStatsAttrs
1131
+ ATTRIBUTES = Ractor.make_shareable(%i[])
1132
+ # Gets the value of `nfgen-family` field in the message's fixed header.
1133
+ #--
1134
+ # @rbs return: ::Integer
1135
+ def nfgen_family; fixed_header.nfgen_family; end
1136
+ # Gets the value of `version` field in the message's fixed header.
1137
+ #--
1138
+ # @rbs return: ::Integer
1139
+ def version; fixed_header.version; end
1140
+ # Gets the value of `res-id` field in the message's fixed header.
1141
+ #--
1142
+ # @rbs return: ::Integer
1143
+ def res_id; fixed_header.res_id; end
1144
+ end
1145
+ # dump pcpu conntrack stats
1146
+ class DumpGetStatsReply < ::Nl::Protocols::Raw::Message
1147
+ TYPE = 260
1148
+ FIXED_HEADER = Structs::Nfgenmsg
1149
+ ATTRIBUTE_SET = AttributeSets::ConntrackStatsAttrs
1150
+ ATTRIBUTES = Ractor.make_shareable(%i[searched found insert insert_failed drop early_drop error search_restart clash_resolve chain_toolong])
1151
+ # Gets the value of `nfgen-family` field in the message's fixed header.
1152
+ #--
1153
+ # @rbs return: ::Integer
1154
+ def nfgen_family; fixed_header.nfgen_family; end
1155
+ # Gets the value of `version` field in the message's fixed header.
1156
+ #--
1157
+ # @rbs return: ::Integer
1158
+ def version; fixed_header.version; end
1159
+ # Gets the value of `res-id` field in the message's fixed header.
1160
+ #--
1161
+ # @rbs return: ::Integer
1162
+ def res_id; fixed_header.res_id; end
1163
+ # Gets the value of `searched` attribute in the message.
1164
+ #--
1165
+ # @rbs return: ::Integer
1166
+ def searched; attributes[:"searched"]&.value; end
1167
+ # Gets the value of `found` attribute in the message.
1168
+ #--
1169
+ # @rbs return: ::Integer
1170
+ def found; attributes[:"found"]&.value; end
1171
+ # Gets the value of `insert` attribute in the message.
1172
+ #--
1173
+ # @rbs return: ::Integer
1174
+ def insert; attributes[:"insert"]&.value; end
1175
+ # Gets the value of `insert-failed` attribute in the message.
1176
+ #--
1177
+ # @rbs return: ::Integer
1178
+ def insert_failed; attributes[:"insert_failed"]&.value; end
1179
+ # Gets the value of `drop` attribute in the message.
1180
+ #--
1181
+ # @rbs return: ::Integer
1182
+ def drop; attributes[:"drop"]&.value; end
1183
+ # Gets the value of `early-drop` attribute in the message.
1184
+ #--
1185
+ # @rbs return: ::Integer
1186
+ def early_drop; attributes[:"early_drop"]&.value; end
1187
+ # Gets the value of `error` attribute in the message.
1188
+ #--
1189
+ # @rbs return: ::Integer
1190
+ def error; attributes[:"error"]&.value; end
1191
+ # Gets the value of `search-restart` attribute in the message.
1192
+ #--
1193
+ # @rbs return: ::Integer
1194
+ def search_restart; attributes[:"search_restart"]&.value; end
1195
+ # Gets the value of `clash-resolve` attribute in the message.
1196
+ #--
1197
+ # @rbs return: ::Integer
1198
+ def clash_resolve; attributes[:"clash_resolve"]&.value; end
1199
+ # Gets the value of `chain-toolong` attribute in the message.
1200
+ #--
1201
+ # @rbs return: ::Integer
1202
+ def chain_toolong; attributes[:"chain_toolong"]&.value; end
1203
+ end
1204
+ end
1205
+ # get / dump entries
1206
+ #--
1207
+ # @rbs (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer, ?tuple_orig: AttributeSets::TupleAttrs, ?tuple_reply: AttributeSets::TupleAttrs, ?zone: ::Integer) -> Messages::DoGetReply
1208
+ def do_get(**args)
1209
+ exchange_message(:"do", Messages::DoGetRequest, Messages::DoGetReply, args)
1210
+ end
1211
+ # get / dump entries
1212
+ #--
1213
+ # @rbs (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer, ?status: ::Integer, ?mark: ::Integer, ?zone: ::Integer, ?filter: AttributeSets::TupleAttrs) -> Enumerable[Messages::DumpGetReply]
1214
+ # | (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer, ?status: ::Integer, ?mark: ::Integer, ?zone: ::Integer, ?filter: AttributeSets::TupleAttrs) { (Messages::DumpGetReply) -> void } -> void
1215
+ def dump_get(**args, &block)
1216
+ exchange_message(:"dump", Messages::DumpGetRequest, Messages::DumpGetReply, args, &block)
1217
+ end
1218
+ # dump pcpu conntrack stats
1219
+ #--
1220
+ # @rbs (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer) -> Enumerable[Messages::DumpGetStatsReply]
1221
+ # | (?nfgen_family: ::Integer, ?version: ::Integer, ?res_id: ::Integer) { (Messages::DumpGetStatsReply) -> void } -> void
1222
+ def dump_get_stats(**args, &block)
1223
+ exchange_message(:"dump", Messages::DumpGetStatsRequest, Messages::DumpGetStatsReply, args, &block)
1224
+ end
1225
+ end