nl-linux 0.3.0 → 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.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +5 -0
  3. data/CHANGELOG.md +6 -0
  4. data/Rakefile +14 -2
  5. data/generated/nl/linux/binder.rb +172 -44
  6. data/generated/nl/linux/conntrack.rb +1293 -370
  7. data/generated/nl/linux/dev_energymodel.rb +278 -93
  8. data/generated/nl/linux/devlink.rb +5654 -1954
  9. data/generated/nl/linux/dpll.rb +1838 -669
  10. data/generated/nl/linux/drm_ras.rb +234 -72
  11. data/generated/nl/linux/ethtool.rb +6683 -2885
  12. data/generated/nl/linux/fou.rb +308 -129
  13. data/generated/nl/linux/handshake.rb +277 -99
  14. data/generated/nl/linux/lockd.rb +88 -33
  15. data/generated/nl/linux/mptcp_pm.rb +639 -186
  16. data/generated/nl/linux/net_shaper.rb +782 -224
  17. data/generated/nl/linux/netdev.rb +2105 -631
  18. data/generated/nl/linux/nfsd.rb +1030 -358
  19. data/generated/nl/linux/nftables.rb +5041 -1612
  20. data/generated/nl/linux/nl80211.rb +4531 -871
  21. data/generated/nl/linux/nlctrl.rb +411 -119
  22. data/generated/nl/linux/ovpn.rb +1211 -293
  23. data/generated/nl/linux/ovs_datapath.rb +271 -106
  24. data/generated/nl/linux/ovs_flow.rb +1819 -354
  25. data/generated/nl/linux/ovs_packet.rb +257 -82
  26. data/generated/nl/linux/ovs_vport.rb +334 -132
  27. data/generated/nl/linux/psp.rb +916 -281
  28. data/generated/nl/linux/rt_addr.rb +369 -166
  29. data/generated/nl/linux/rt_link.rb +6708 -1450
  30. data/generated/nl/linux/rt_neigh.rb +919 -364
  31. data/generated/nl/linux/rt_route.rb +1034 -448
  32. data/generated/nl/linux/rt_rule.rb +775 -395
  33. data/generated/nl/linux/sunrpc_cache.rb +297 -102
  34. data/generated/nl/linux/tc.rb +9989 -1780
  35. data/generated/nl/linux/tcp_metrics.rb +327 -105
  36. data/generated/nl/linux/team.rb +279 -93
  37. data/generated/nl/linux/wireguard.rb +432 -95
  38. data/generated/nl/linux.rb +1 -0
  39. data/lib/nl/linux/nlctrl_resolver.rb +31 -0
  40. data/lib/nl/linux/version.rb +1 -1
  41. data/sig/generated/nl/linux/binder.rbs +366 -0
  42. data/sig/generated/nl/linux/conntrack.rbs +2787 -0
  43. data/sig/generated/nl/linux/dev_energymodel.rbs +636 -0
  44. data/sig/generated/nl/linux/devlink.rbs +12496 -0
  45. data/sig/generated/nl/linux/dpll.rbs +3461 -0
  46. data/sig/generated/nl/linux/drm_ras.rbs +553 -0
  47. data/sig/generated/nl/linux/ethtool.rbs +15291 -0
  48. data/sig/generated/nl/linux/fou.rbs +702 -0
  49. data/sig/generated/nl/linux/handshake.rbs +622 -0
  50. data/sig/generated/nl/linux/lockd.rbs +234 -0
  51. data/sig/generated/nl/linux/mptcp_pm.rbs +1511 -0
  52. data/sig/generated/nl/linux/net_shaper.rbs +1645 -0
  53. data/sig/generated/nl/linux/netdev.rbs +4187 -0
  54. data/sig/generated/nl/linux/nfsd.rbs +2520 -0
  55. data/sig/generated/nl/linux/nftables.rbs +10304 -0
  56. data/sig/generated/nl/linux/nl80211.rbs +9786 -0
  57. data/sig/generated/nl/linux/nlctrl.rbs +944 -0
  58. data/sig/generated/nl/linux/nlctrl_resolver.rbs +20 -0
  59. data/sig/generated/nl/linux/ovpn.rbs +2564 -0
  60. data/sig/generated/nl/linux/ovs_datapath.rbs +640 -0
  61. data/sig/generated/nl/linux/ovs_flow.rbs +3659 -0
  62. data/sig/generated/nl/linux/ovs_packet.rbs +540 -0
  63. data/sig/generated/nl/linux/ovs_vport.rbs +777 -0
  64. data/sig/generated/nl/linux/psp.rbs +1846 -0
  65. data/sig/generated/nl/linux/rt_addr.rbs +866 -0
  66. data/sig/generated/nl/linux/rt_link.rbs +13438 -0
  67. data/sig/generated/nl/linux/rt_neigh.rbs +2124 -0
  68. data/sig/generated/nl/linux/rt_route.rbs +2218 -0
  69. data/sig/generated/nl/linux/rt_rule.rbs +1726 -0
  70. data/sig/generated/nl/linux/sunrpc_cache.rbs +739 -0
  71. data/sig/generated/nl/linux/tc.rbs +19931 -0
  72. data/sig/generated/nl/linux/tcp_metrics.rbs +740 -0
  73. data/sig/generated/nl/linux/team.rbs +733 -0
  74. data/sig/generated/nl/linux/version.rbs +7 -0
  75. data/sig/generated/nl/linux/wireguard.rbs +1006 -0
  76. data/sig/generated/nl/linux.rbs +6 -0
  77. data/sig/generated/nl-linux.rbs +2 -0
  78. metadata +46 -7
@@ -3,958 +3,1502 @@
3
3
  # This file is based on Documentation/netlink/specs/nfsd.yaml from Linux v7.2.
4
4
  #--
5
5
  # frozen_string_literal: true
6
- # rbs_inline: enabled
7
6
  # This code is generated by Ynl::Generator. DO NOT EDIT.
8
7
  require 'nl'
9
8
  module Nl; module Linux
10
9
  # NFSD configuration over generic netlink.
11
- class Nfsd < ::Nl::Family
10
+ class Nfsd < ::Nl::Genl::Family
12
11
  NAME = "nfsd"
13
- PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Genl.new("nfsd"))
12
+ VERSION = 1
13
+ # @rbs (?resolver: ^(::Nl::Genl::Client, ::String) -> ::Nl::Genl::FamilyInfo, ?executor: executor?, ?notification_capacity: ::Integer?) -> (::Nl::Family::Session & instance)
14
+ # @rbs | [R] (?resolver: ^(::Nl::Genl::Client, ::String) -> ::Nl::Genl::FamilyInfo, ?executor: executor?, ?notification_capacity: ::Integer?) { (instance) -> R } -> R
15
+ # @overload open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY)
16
+ # @param [#call] resolver
17
+ # @param [Symbol, nil] executor
18
+ # @param [Integer, nil] notification_capacity
19
+ # @return [Nfsd]
20
+ # @overload open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY, &block)
21
+ # @param [#call] resolver
22
+ # @param [Symbol, nil] executor
23
+ # @param [Integer, nil] notification_capacity
24
+ # @yieldparam [Nfsd] family
25
+ # @return [Object] the result of the block
26
+ def self.open(resolver: ::Nl::Linux::DEFAULT_RESOLVER, executor: nil, notification_capacity: DEFAULT_NOTIFICATION_CAPACITY)
27
+ super
28
+ end
29
+ # @private
14
30
  MCAST_GROUPS = Ractor.make_shareable({:"none" => ::Nl::McastGroup.new("none", nil), :"exportd" => ::Nl::McastGroup.new("exportd", nil)}) #: Hash[::Symbol, ::Nl::McastGroup]
31
+ module Flags
32
+ module CacheType
33
+ SvcExport = 1
34
+ Expkey = 2
35
+ end
36
+ # These flags are ordered to match the NFSEXP_* flags in include/linux/nfsd/export.h
37
+ module ExportFlags
38
+ Readonly = 1
39
+ InsecurePort = 2
40
+ Rootsquash = 4
41
+ Allsquash = 8
42
+ Async = 16
43
+ GatheredWrites = 32
44
+ Noreaddirplus = 64
45
+ SecurityLabel = 128
46
+ SignFh = 256
47
+ Nohide = 512
48
+ Nosubtreecheck = 1024
49
+ Noauthnlm = 2048
50
+ Msnfs = 4096
51
+ Fsid = 8192
52
+ Crossmount = 16384
53
+ Noacl = 32768
54
+ V4root = 65536
55
+ Pnfs = 131072
56
+ end
57
+ # These flags are ordered to match the NFSEXP_XPRTSEC_* flags in include/linux/nfsd/export.h
58
+ module XprtsecMode
59
+ None = 1
60
+ Tls = 2
61
+ Mtls = 4
62
+ end
63
+ end
15
64
  module Structs
16
65
  end
17
66
  module AttributeSets
18
- class CacheNotify < ::Nl::Protocols::Genl::AttributeSet
67
+ class CacheNotify < ::Nl::AttributeSet
19
68
  # Abstract class
20
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
69
+ class Attribute < ::Nl::AttributeSet::Attribute
21
70
  end
71
+ # Known flags are defined in {Flags::CacheType}.
22
72
  class CacheType < Attribute
23
73
  TYPE = 1
24
74
  NAME = :"cache_type"
25
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
75
+ # @private
76
+ ORDER = 0
77
+ # @private
78
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
26
79
  end
27
- # :nodoc:
80
+ # @private
28
81
  BY_NAME = Ractor.make_shareable({:"cache_type" => CacheType}) #: Hash[::Symbol, Attribute]
29
- # :nodoc:
82
+ # @private
30
83
  BY_TYPE = Ractor.make_shareable({1 => CacheType}) #: Hash[::Integer, Attribute]
84
+ # Known flags are defined in {Flags::CacheType}.
85
+ # @rbs return: ::Integer
86
+ # @return [Integer]
87
+ # @see CacheType
88
+ def cache_type; self[:"cache_type"]&.value; end
31
89
  class << self
32
90
  # Looks up Attribute class by name.
33
- #--
34
91
  # @rbs name: Symbol
35
92
  # @rbs return: Attribute
93
+ # @param [Symbol] name
94
+ # @return [Attribute]
36
95
  def by_name(name); BY_NAME.fetch(name); end
37
96
  # Looks up Attribute class by type value.
38
- #--
39
97
  # @rbs type: Integer
40
98
  # @rbs return: Attribute
99
+ # @param [Integer] type
100
+ # @return [Attribute]
41
101
  def by_type(type); BY_TYPE.fetch(type); end
42
102
  end
43
103
  end
44
- class RpcStatus < ::Nl::Protocols::Genl::AttributeSet
104
+ class RpcStatus < ::Nl::AttributeSet
45
105
  # Abstract class
46
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
106
+ class Attribute < ::Nl::AttributeSet::Attribute
47
107
  end
48
108
  class Xid < Attribute
49
109
  TYPE = 1
50
110
  NAME = :"xid"
51
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
111
+ # @private
112
+ ORDER = 0
113
+ # @private
114
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
52
115
  end
53
116
  class Flags < Attribute
54
117
  TYPE = 2
55
118
  NAME = :"flags"
56
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
119
+ # @private
120
+ ORDER = 1
121
+ # @private
122
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
57
123
  end
58
124
  class Prog < Attribute
59
125
  TYPE = 3
60
126
  NAME = :"prog"
61
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
127
+ # @private
128
+ ORDER = 2
129
+ # @private
130
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
62
131
  end
63
132
  class Version < Attribute
64
133
  TYPE = 4
65
134
  NAME = :"version"
66
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
135
+ # @private
136
+ ORDER = 3
137
+ # @private
138
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
67
139
  end
68
140
  class Proc < Attribute
69
141
  TYPE = 5
70
142
  NAME = :"proc"
71
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
143
+ # @private
144
+ ORDER = 4
145
+ # @private
146
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
72
147
  end
73
148
  class ServiceTime < Attribute
74
149
  TYPE = 6
75
150
  NAME = :"service_time"
76
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S64, check: nil)
151
+ # @private
152
+ ORDER = 5
153
+ # @private
154
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S64, check: nil)
77
155
  end
78
156
  class Pad < Attribute
79
157
  TYPE = 7
80
158
  NAME = :"pad"
81
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Pad.new()
159
+ # @private
160
+ ORDER = 6
161
+ # @private
162
+ DATATYPE = ::Nl::DataTypes::Pad.new()
82
163
  end
83
164
  class Saddr4 < Attribute
84
165
  TYPE = 8
85
166
  NAME = :"saddr4"
86
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
167
+ # @private
168
+ ORDER = 7
169
+ # @private
170
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
87
171
  end
88
172
  class Daddr4 < Attribute
89
173
  TYPE = 9
90
174
  NAME = :"daddr4"
91
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
175
+ # @private
176
+ ORDER = 8
177
+ # @private
178
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U32, check: nil)
92
179
  end
93
180
  class Saddr6 < Attribute
94
181
  TYPE = 10
95
182
  NAME = :"saddr6"
96
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
183
+ # @private
184
+ ORDER = 9
185
+ # @private
186
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
97
187
  end
98
188
  class Daddr6 < Attribute
99
189
  TYPE = 11
100
190
  NAME = :"daddr6"
101
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
191
+ # @private
192
+ ORDER = 10
193
+ # @private
194
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
102
195
  end
103
196
  class Sport < Attribute
104
197
  TYPE = 12
105
198
  NAME = :"sport"
106
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
199
+ # @private
200
+ ORDER = 11
201
+ # @private
202
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
107
203
  end
108
204
  class Dport < Attribute
109
205
  TYPE = 13
110
206
  NAME = :"dport"
111
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
207
+ # @private
208
+ ORDER = 12
209
+ # @private
210
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Big::U16, check: nil)
112
211
  end
113
212
  class CompoundOps < Attribute
114
213
  TYPE = 14
115
214
  NAME = :"compound_ops"
116
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
117
- end
118
- # :nodoc:
215
+ # @private
216
+ MULTI = true
217
+ # @private
218
+ ORDER = 13
219
+ # @private
220
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
221
+ end
222
+ # @private
119
223
  BY_NAME = Ractor.make_shareable({:"xid" => Xid, :"flags" => Flags, :"prog" => Prog, :"version" => Version, :"proc" => Proc, :"service_time" => ServiceTime, :"pad" => Pad, :"saddr4" => Saddr4, :"daddr4" => Daddr4, :"saddr6" => Saddr6, :"daddr6" => Daddr6, :"sport" => Sport, :"dport" => Dport, :"compound_ops" => CompoundOps}) #: Hash[::Symbol, Attribute]
120
- # :nodoc:
224
+ # @private
121
225
  BY_TYPE = Ractor.make_shareable({1 => Xid, 2 => Flags, 3 => Prog, 4 => Version, 5 => Proc, 6 => ServiceTime, 7 => Pad, 8 => Saddr4, 9 => Daddr4, 10 => Saddr6, 11 => Daddr6, 12 => Sport, 13 => Dport, 14 => CompoundOps}) #: Hash[::Integer, Attribute]
226
+ # @rbs return: ::Integer
227
+ # @return [Integer]
228
+ # @see Xid
229
+ def xid; self[:"xid"]&.value; end
230
+ # @rbs return: ::Integer
231
+ # @return [Integer]
232
+ # @see Flags
233
+ def flags; self[:"flags"]&.value; end
234
+ # @rbs return: ::Integer
235
+ # @return [Integer]
236
+ # @see Prog
237
+ def prog; self[:"prog"]&.value; end
238
+ # @rbs return: ::Integer
239
+ # @return [Integer]
240
+ # @see Version
241
+ def version; self[:"version"]&.value; end
242
+ # @rbs return: ::Integer
243
+ # @return [Integer]
244
+ # @see Proc
245
+ def proc; self[:"proc"]&.value; end
246
+ # @rbs return: ::Integer
247
+ # @return [Integer]
248
+ # @see ServiceTime
249
+ def service_time; self[:"service_time"]&.value; end
250
+ # @rbs return: ::Integer
251
+ # @return [Integer]
252
+ # @see Saddr4
253
+ def saddr4; self[:"saddr4"]&.value; end
254
+ # @rbs return: ::Integer
255
+ # @return [Integer]
256
+ # @see Daddr4
257
+ def daddr4; self[:"daddr4"]&.value; end
258
+ # @rbs return: ::String
259
+ # @return [String]
260
+ # @see Saddr6
261
+ def saddr6; self[:"saddr6"]&.value; end
262
+ # @rbs return: ::String
263
+ # @return [String]
264
+ # @see Daddr6
265
+ def daddr6; self[:"daddr6"]&.value; end
266
+ # @rbs return: ::Integer
267
+ # @return [Integer]
268
+ # @see Sport
269
+ def sport; self[:"sport"]&.value; end
270
+ # @rbs return: ::Integer
271
+ # @return [Integer]
272
+ # @see Dport
273
+ def dport; self[:"dport"]&.value; end
274
+ # @rbs return: ::Array[::Integer]
275
+ # @return [Array<Integer>]
276
+ # @see CompoundOps
277
+ def compound_ops; self[:"compound_ops"].map(&:value); end
122
278
  class << self
123
279
  # Looks up Attribute class by name.
124
- #--
125
280
  # @rbs name: Symbol
126
281
  # @rbs return: Attribute
282
+ # @param [Symbol] name
283
+ # @return [Attribute]
127
284
  def by_name(name); BY_NAME.fetch(name); end
128
285
  # Looks up Attribute class by type value.
129
- #--
130
286
  # @rbs type: Integer
131
287
  # @rbs return: Attribute
288
+ # @param [Integer] type
289
+ # @return [Attribute]
132
290
  def by_type(type); BY_TYPE.fetch(type); end
133
291
  end
134
292
  end
135
- class Server < ::Nl::Protocols::Genl::AttributeSet
293
+ class Server < ::Nl::AttributeSet
136
294
  # Abstract class
137
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
295
+ class Attribute < ::Nl::AttributeSet::Attribute
138
296
  end
139
297
  class Threads < Attribute
140
298
  TYPE = 1
141
299
  NAME = :"threads"
142
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
300
+ # @private
301
+ MULTI = true
302
+ # @private
303
+ ORDER = 0
304
+ # @private
305
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
143
306
  end
144
307
  class Gracetime < Attribute
145
308
  TYPE = 2
146
309
  NAME = :"gracetime"
147
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
310
+ # @private
311
+ ORDER = 1
312
+ # @private
313
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
148
314
  end
149
315
  class Leasetime < Attribute
150
316
  TYPE = 3
151
317
  NAME = :"leasetime"
152
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
318
+ # @private
319
+ ORDER = 2
320
+ # @private
321
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
153
322
  end
154
323
  class Scope < Attribute
155
324
  TYPE = 4
156
325
  NAME = :"scope"
157
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
326
+ # @private
327
+ ORDER = 3
328
+ # @private
329
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
158
330
  end
159
331
  class MinThreads < Attribute
160
332
  TYPE = 5
161
333
  NAME = :"min_threads"
162
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
334
+ # @private
335
+ ORDER = 4
336
+ # @private
337
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
163
338
  end
164
339
  class FhKey < Attribute
165
340
  TYPE = 6
166
341
  NAME = :"fh_key"
167
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is not equal to length 16" unless it.bytesize == 16 })
342
+ # @private
343
+ ORDER = 5
344
+ # @private
345
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is not equal to length 16" unless it.bytesize == 16 })
168
346
  end
169
- # :nodoc:
347
+ # @private
170
348
  BY_NAME = Ractor.make_shareable({:"threads" => Threads, :"gracetime" => Gracetime, :"leasetime" => Leasetime, :"scope" => Scope, :"min_threads" => MinThreads, :"fh_key" => FhKey}) #: Hash[::Symbol, Attribute]
171
- # :nodoc:
349
+ # @private
172
350
  BY_TYPE = Ractor.make_shareable({1 => Threads, 2 => Gracetime, 3 => Leasetime, 4 => Scope, 5 => MinThreads, 6 => FhKey}) #: Hash[::Integer, Attribute]
351
+ # @rbs return: ::Array[::Integer]
352
+ # @return [Array<Integer>]
353
+ # @see Threads
354
+ def threads; self[:"threads"].map(&:value); end
355
+ # @rbs return: ::Integer
356
+ # @return [Integer]
357
+ # @see Gracetime
358
+ def gracetime; self[:"gracetime"]&.value; end
359
+ # @rbs return: ::Integer
360
+ # @return [Integer]
361
+ # @see Leasetime
362
+ def leasetime; self[:"leasetime"]&.value; end
363
+ # @rbs return: ::String
364
+ # @return [String]
365
+ # @see Scope
366
+ def scope; self[:"scope"]&.value; end
367
+ # @rbs return: ::Integer
368
+ # @return [Integer]
369
+ # @see MinThreads
370
+ def min_threads; self[:"min_threads"]&.value; end
371
+ # @rbs return: ::String
372
+ # @return [String]
373
+ # @see FhKey
374
+ def fh_key; self[:"fh_key"]&.value; end
173
375
  class << self
174
376
  # Looks up Attribute class by name.
175
- #--
176
377
  # @rbs name: Symbol
177
378
  # @rbs return: Attribute
379
+ # @param [Symbol] name
380
+ # @return [Attribute]
178
381
  def by_name(name); BY_NAME.fetch(name); end
179
382
  # Looks up Attribute class by type value.
180
- #--
181
383
  # @rbs type: Integer
182
384
  # @rbs return: Attribute
385
+ # @param [Integer] type
386
+ # @return [Attribute]
183
387
  def by_type(type); BY_TYPE.fetch(type); end
184
388
  end
185
389
  end
186
- class Version < ::Nl::Protocols::Genl::AttributeSet
390
+ class Version < ::Nl::AttributeSet
187
391
  # Abstract class
188
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
392
+ class Attribute < ::Nl::AttributeSet::Attribute
189
393
  end
190
394
  class Major < Attribute
191
395
  TYPE = 1
192
396
  NAME = :"major"
193
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
397
+ # @private
398
+ ORDER = 0
399
+ # @private
400
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
194
401
  end
195
402
  class Minor < Attribute
196
403
  TYPE = 2
197
404
  NAME = :"minor"
198
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
405
+ # @private
406
+ ORDER = 1
407
+ # @private
408
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
199
409
  end
200
410
  class Enabled < Attribute
201
411
  TYPE = 3
202
412
  NAME = :"enabled"
203
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
413
+ # @private
414
+ ORDER = 2
415
+ # @private
416
+ DATATYPE = ::Nl::DataTypes::Flag.new
204
417
  end
205
- # :nodoc:
418
+ # @private
206
419
  BY_NAME = Ractor.make_shareable({:"major" => Major, :"minor" => Minor, :"enabled" => Enabled}) #: Hash[::Symbol, Attribute]
207
- # :nodoc:
420
+ # @private
208
421
  BY_TYPE = Ractor.make_shareable({1 => Major, 2 => Minor, 3 => Enabled}) #: Hash[::Integer, Attribute]
422
+ # @rbs return: ::Integer
423
+ # @return [Integer]
424
+ # @see Major
425
+ def major; self[:"major"]&.value; end
426
+ # @rbs return: ::Integer
427
+ # @return [Integer]
428
+ # @see Minor
429
+ def minor; self[:"minor"]&.value; end
430
+ # @rbs return: ::Integer
431
+ # @return [Integer]
432
+ # @see Enabled
433
+ def enabled; self[:"enabled"]&.value; end
209
434
  class << self
210
435
  # Looks up Attribute class by name.
211
- #--
212
436
  # @rbs name: Symbol
213
437
  # @rbs return: Attribute
438
+ # @param [Symbol] name
439
+ # @return [Attribute]
214
440
  def by_name(name); BY_NAME.fetch(name); end
215
441
  # Looks up Attribute class by type value.
216
- #--
217
442
  # @rbs type: Integer
218
443
  # @rbs return: Attribute
444
+ # @param [Integer] type
445
+ # @return [Attribute]
219
446
  def by_type(type); BY_TYPE.fetch(type); end
220
447
  end
221
448
  end
222
- class ServerProto < ::Nl::Protocols::Genl::AttributeSet
449
+ class ServerProto < ::Nl::AttributeSet
223
450
  # Abstract class
224
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
451
+ class Attribute < ::Nl::AttributeSet::Attribute
225
452
  end
226
453
  class Version < Attribute
227
454
  TYPE = 1
228
455
  NAME = :"version"
456
+ # @private
457
+ MULTI = true
458
+ # @private
459
+ ORDER = 0
229
460
  end
230
- # :nodoc:
461
+ # @private
231
462
  BY_NAME = Ractor.make_shareable({:"version" => Version}) #: Hash[::Symbol, Attribute]
232
- # :nodoc:
463
+ # @private
233
464
  BY_TYPE = Ractor.make_shareable({1 => Version}) #: Hash[::Integer, Attribute]
465
+ # @rbs return: ::Array[AttributeSets::Version]
466
+ # @return [Array<AttributeSets::Version>]
467
+ # @see Version
468
+ def version; self[:"version"].map(&:value); end
234
469
  class << self
235
470
  # Looks up Attribute class by name.
236
- #--
237
471
  # @rbs name: Symbol
238
472
  # @rbs return: Attribute
473
+ # @param [Symbol] name
474
+ # @return [Attribute]
239
475
  def by_name(name); BY_NAME.fetch(name); end
240
476
  # Looks up Attribute class by type value.
241
- #--
242
477
  # @rbs type: Integer
243
478
  # @rbs return: Attribute
479
+ # @param [Integer] type
480
+ # @return [Attribute]
244
481
  def by_type(type); BY_TYPE.fetch(type); end
245
482
  end
246
483
  end
247
- class Sock < ::Nl::Protocols::Genl::AttributeSet
484
+ class Sock < ::Nl::AttributeSet
248
485
  # Abstract class
249
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
486
+ class Attribute < ::Nl::AttributeSet::Attribute
250
487
  end
251
488
  class Addr < Attribute
252
489
  TYPE = 1
253
490
  NAME = :"addr"
254
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
491
+ # @private
492
+ ORDER = 0
493
+ # @private
494
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
255
495
  end
256
496
  class TransportName < Attribute
257
497
  TYPE = 2
258
498
  NAME = :"transport_name"
259
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
499
+ # @private
500
+ ORDER = 1
501
+ # @private
502
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
260
503
  end
261
- # :nodoc:
504
+ # @private
262
505
  BY_NAME = Ractor.make_shareable({:"addr" => Addr, :"transport_name" => TransportName}) #: Hash[::Symbol, Attribute]
263
- # :nodoc:
506
+ # @private
264
507
  BY_TYPE = Ractor.make_shareable({1 => Addr, 2 => TransportName}) #: Hash[::Integer, Attribute]
508
+ # @rbs return: ::String
509
+ # @return [String]
510
+ # @see Addr
511
+ def addr; self[:"addr"]&.value; end
512
+ # @rbs return: ::String
513
+ # @return [String]
514
+ # @see TransportName
515
+ def transport_name; self[:"transport_name"]&.value; end
265
516
  class << self
266
517
  # Looks up Attribute class by name.
267
- #--
268
518
  # @rbs name: Symbol
269
519
  # @rbs return: Attribute
520
+ # @param [Symbol] name
521
+ # @return [Attribute]
270
522
  def by_name(name); BY_NAME.fetch(name); end
271
523
  # Looks up Attribute class by type value.
272
- #--
273
524
  # @rbs type: Integer
274
525
  # @rbs return: Attribute
526
+ # @param [Integer] type
527
+ # @return [Attribute]
275
528
  def by_type(type); BY_TYPE.fetch(type); end
276
529
  end
277
530
  end
278
- class ServerSock < ::Nl::Protocols::Genl::AttributeSet
531
+ class ServerSock < ::Nl::AttributeSet
279
532
  # Abstract class
280
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
533
+ class Attribute < ::Nl::AttributeSet::Attribute
281
534
  end
282
535
  class Addr < Attribute
283
536
  TYPE = 1
284
537
  NAME = :"addr"
538
+ # @private
539
+ MULTI = true
540
+ # @private
541
+ ORDER = 0
285
542
  end
286
- # :nodoc:
543
+ # @private
287
544
  BY_NAME = Ractor.make_shareable({:"addr" => Addr}) #: Hash[::Symbol, Attribute]
288
- # :nodoc:
545
+ # @private
289
546
  BY_TYPE = Ractor.make_shareable({1 => Addr}) #: Hash[::Integer, Attribute]
547
+ # @rbs return: ::Array[AttributeSets::Sock]
548
+ # @return [Array<AttributeSets::Sock>]
549
+ # @see Addr
550
+ def addr; self[:"addr"].map(&:value); end
290
551
  class << self
291
552
  # Looks up Attribute class by name.
292
- #--
293
553
  # @rbs name: Symbol
294
554
  # @rbs return: Attribute
555
+ # @param [Symbol] name
556
+ # @return [Attribute]
295
557
  def by_name(name); BY_NAME.fetch(name); end
296
558
  # Looks up Attribute class by type value.
297
- #--
298
559
  # @rbs type: Integer
299
560
  # @rbs return: Attribute
561
+ # @param [Integer] type
562
+ # @return [Attribute]
300
563
  def by_type(type); BY_TYPE.fetch(type); end
301
564
  end
302
565
  end
303
- class PoolMode < ::Nl::Protocols::Genl::AttributeSet
566
+ class PoolMode < ::Nl::AttributeSet
304
567
  # Abstract class
305
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
568
+ class Attribute < ::Nl::AttributeSet::Attribute
306
569
  end
307
570
  class Mode < Attribute
308
571
  TYPE = 1
309
572
  NAME = :"mode"
310
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
573
+ # @private
574
+ ORDER = 0
575
+ # @private
576
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
311
577
  end
312
578
  class Npools < Attribute
313
579
  TYPE = 2
314
580
  NAME = :"npools"
315
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
581
+ # @private
582
+ ORDER = 1
583
+ # @private
584
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
316
585
  end
317
- # :nodoc:
586
+ # @private
318
587
  BY_NAME = Ractor.make_shareable({:"mode" => Mode, :"npools" => Npools}) #: Hash[::Symbol, Attribute]
319
- # :nodoc:
588
+ # @private
320
589
  BY_TYPE = Ractor.make_shareable({1 => Mode, 2 => Npools}) #: Hash[::Integer, Attribute]
590
+ # @rbs return: ::String
591
+ # @return [String]
592
+ # @see Mode
593
+ def mode; self[:"mode"]&.value; end
594
+ # @rbs return: ::Integer
595
+ # @return [Integer]
596
+ # @see Npools
597
+ def npools; self[:"npools"]&.value; end
321
598
  class << self
322
599
  # Looks up Attribute class by name.
323
- #--
324
600
  # @rbs name: Symbol
325
601
  # @rbs return: Attribute
602
+ # @param [Symbol] name
603
+ # @return [Attribute]
326
604
  def by_name(name); BY_NAME.fetch(name); end
327
605
  # Looks up Attribute class by type value.
328
- #--
329
606
  # @rbs type: Integer
330
607
  # @rbs return: Attribute
608
+ # @param [Integer] type
609
+ # @return [Attribute]
331
610
  def by_type(type); BY_TYPE.fetch(type); end
332
611
  end
333
612
  end
334
- class Fslocation < ::Nl::Protocols::Genl::AttributeSet
613
+ class Fslocation < ::Nl::AttributeSet
335
614
  # Abstract class
336
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
615
+ class Attribute < ::Nl::AttributeSet::Attribute
337
616
  end
338
617
  class Host < Attribute
339
618
  TYPE = 1
340
619
  NAME = :"host"
341
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
620
+ # @private
621
+ ORDER = 0
622
+ # @private
623
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
342
624
  end
343
625
  class Path < Attribute
344
626
  TYPE = 2
345
627
  NAME = :"path"
346
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
628
+ # @private
629
+ ORDER = 1
630
+ # @private
631
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
347
632
  end
348
- # :nodoc:
633
+ # @private
349
634
  BY_NAME = Ractor.make_shareable({:"host" => Host, :"path" => Path}) #: Hash[::Symbol, Attribute]
350
- # :nodoc:
635
+ # @private
351
636
  BY_TYPE = Ractor.make_shareable({1 => Host, 2 => Path}) #: Hash[::Integer, Attribute]
637
+ # @rbs return: ::String
638
+ # @return [String]
639
+ # @see Host
640
+ def host; self[:"host"]&.value; end
641
+ # @rbs return: ::String
642
+ # @return [String]
643
+ # @see Path
644
+ def path; self[:"path"]&.value; end
352
645
  class << self
353
646
  # Looks up Attribute class by name.
354
- #--
355
647
  # @rbs name: Symbol
356
648
  # @rbs return: Attribute
649
+ # @param [Symbol] name
650
+ # @return [Attribute]
357
651
  def by_name(name); BY_NAME.fetch(name); end
358
652
  # Looks up Attribute class by type value.
359
- #--
360
653
  # @rbs type: Integer
361
654
  # @rbs return: Attribute
655
+ # @param [Integer] type
656
+ # @return [Attribute]
362
657
  def by_type(type); BY_TYPE.fetch(type); end
363
658
  end
364
659
  end
365
- class Fslocations < ::Nl::Protocols::Genl::AttributeSet
660
+ class Fslocations < ::Nl::AttributeSet
366
661
  # Abstract class
367
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
662
+ class Attribute < ::Nl::AttributeSet::Attribute
368
663
  end
369
664
  class Location < Attribute
370
665
  TYPE = 1
371
666
  NAME = :"location"
667
+ # @private
668
+ MULTI = true
669
+ # @private
670
+ ORDER = 0
372
671
  end
373
- # :nodoc:
672
+ # @private
374
673
  BY_NAME = Ractor.make_shareable({:"location" => Location}) #: Hash[::Symbol, Attribute]
375
- # :nodoc:
674
+ # @private
376
675
  BY_TYPE = Ractor.make_shareable({1 => Location}) #: Hash[::Integer, Attribute]
676
+ # @rbs return: ::Array[AttributeSets::Fslocation]
677
+ # @return [Array<AttributeSets::Fslocation>]
678
+ # @see Location
679
+ def location; self[:"location"].map(&:value); end
377
680
  class << self
378
681
  # Looks up Attribute class by name.
379
- #--
380
682
  # @rbs name: Symbol
381
683
  # @rbs return: Attribute
684
+ # @param [Symbol] name
685
+ # @return [Attribute]
382
686
  def by_name(name); BY_NAME.fetch(name); end
383
687
  # Looks up Attribute class by type value.
384
- #--
385
688
  # @rbs type: Integer
386
689
  # @rbs return: Attribute
690
+ # @param [Integer] type
691
+ # @return [Attribute]
387
692
  def by_type(type); BY_TYPE.fetch(type); end
388
693
  end
389
694
  end
390
- class AuthFlavor < ::Nl::Protocols::Genl::AttributeSet
695
+ class AuthFlavor < ::Nl::AttributeSet
391
696
  # Abstract class
392
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
697
+ class Attribute < ::Nl::AttributeSet::Attribute
393
698
  end
394
699
  class Pseudoflavor < Attribute
395
700
  TYPE = 1
396
701
  NAME = :"pseudoflavor"
397
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
702
+ # @private
703
+ ORDER = 0
704
+ # @private
705
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
398
706
  end
707
+ # Known flags are defined in {Flags::ExportFlags}.
399
708
  class Flags < Attribute
400
709
  TYPE = 2
401
710
  NAME = :"flags"
402
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
711
+ # @private
712
+ ORDER = 1
713
+ # @private
714
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
403
715
  end
404
- # :nodoc:
716
+ # @private
405
717
  BY_NAME = Ractor.make_shareable({:"pseudoflavor" => Pseudoflavor, :"flags" => Flags}) #: Hash[::Symbol, Attribute]
406
- # :nodoc:
718
+ # @private
407
719
  BY_TYPE = Ractor.make_shareable({1 => Pseudoflavor, 2 => Flags}) #: Hash[::Integer, Attribute]
720
+ # @rbs return: ::Integer
721
+ # @return [Integer]
722
+ # @see Pseudoflavor
723
+ def pseudoflavor; self[:"pseudoflavor"]&.value; end
724
+ # Known flags are defined in {Flags::ExportFlags}.
725
+ # @rbs return: ::Integer
726
+ # @return [Integer]
727
+ # @see Flags
728
+ def flags; self[:"flags"]&.value; end
408
729
  class << self
409
730
  # Looks up Attribute class by name.
410
- #--
411
731
  # @rbs name: Symbol
412
732
  # @rbs return: Attribute
733
+ # @param [Symbol] name
734
+ # @return [Attribute]
413
735
  def by_name(name); BY_NAME.fetch(name); end
414
736
  # Looks up Attribute class by type value.
415
- #--
416
737
  # @rbs type: Integer
417
738
  # @rbs return: Attribute
739
+ # @param [Integer] type
740
+ # @return [Attribute]
418
741
  def by_type(type); BY_TYPE.fetch(type); end
419
742
  end
420
743
  end
421
- class SvcExport < ::Nl::Protocols::Genl::AttributeSet
744
+ class SvcExport < ::Nl::AttributeSet
422
745
  # Abstract class
423
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
746
+ class Attribute < ::Nl::AttributeSet::Attribute
424
747
  end
425
748
  class Seqno < Attribute
426
749
  TYPE = 1
427
750
  NAME = :"seqno"
428
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
751
+ # @private
752
+ ORDER = 0
753
+ # @private
754
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
429
755
  end
430
756
  class Client < Attribute
431
757
  TYPE = 2
432
758
  NAME = :"client"
433
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
759
+ # @private
760
+ ORDER = 1
761
+ # @private
762
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
434
763
  end
435
764
  class Path < Attribute
436
765
  TYPE = 3
437
766
  NAME = :"path"
438
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
767
+ # @private
768
+ ORDER = 2
769
+ # @private
770
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
439
771
  end
440
772
  class Negative < Attribute
441
773
  TYPE = 4
442
774
  NAME = :"negative"
443
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
775
+ # @private
776
+ ORDER = 3
777
+ # @private
778
+ DATATYPE = ::Nl::DataTypes::Flag.new
444
779
  end
445
780
  class Expiry < Attribute
446
781
  TYPE = 5
447
782
  NAME = :"expiry"
448
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
783
+ # @private
784
+ ORDER = 4
785
+ # @private
786
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
449
787
  end
450
788
  class AnonUid < Attribute
451
789
  TYPE = 6
452
790
  NAME = :"anon_uid"
453
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
791
+ # @private
792
+ ORDER = 5
793
+ # @private
794
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
454
795
  end
455
796
  class AnonGid < Attribute
456
797
  TYPE = 7
457
798
  NAME = :"anon_gid"
458
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
799
+ # @private
800
+ ORDER = 6
801
+ # @private
802
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
459
803
  end
460
804
  class Fslocations < Attribute
461
805
  TYPE = 8
462
806
  NAME = :"fslocations"
807
+ # @private
808
+ ORDER = 7
463
809
  end
464
810
  class Uuid < Attribute
465
811
  TYPE = 9
466
812
  NAME = :"uuid"
467
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
813
+ # @private
814
+ ORDER = 8
815
+ # @private
816
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
468
817
  end
469
818
  class Secinfo < Attribute
470
819
  TYPE = 10
471
820
  NAME = :"secinfo"
821
+ # @private
822
+ MULTI = true
823
+ # @private
824
+ ORDER = 9
472
825
  end
826
+ # Known flags are defined in {Flags::XprtsecMode}.
473
827
  class Xprtsec < Attribute
474
828
  TYPE = 11
475
829
  NAME = :"xprtsec"
476
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
477
- end
830
+ # @private
831
+ MULTI = true
832
+ # @private
833
+ ORDER = 10
834
+ # @private
835
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
836
+ end
837
+ # Known flags are defined in {Flags::ExportFlags}.
478
838
  class Flags < Attribute
479
839
  TYPE = 12
480
840
  NAME = :"flags"
481
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
841
+ # @private
842
+ ORDER = 11
843
+ # @private
844
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
482
845
  end
483
846
  class Fsid < Attribute
484
847
  TYPE = 13
485
848
  NAME = :"fsid"
486
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
849
+ # @private
850
+ ORDER = 12
851
+ # @private
852
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::S32, check: nil)
487
853
  end
488
- # :nodoc:
854
+ # @private
489
855
  BY_NAME = Ractor.make_shareable({:"seqno" => Seqno, :"client" => Client, :"path" => Path, :"negative" => Negative, :"expiry" => Expiry, :"anon_uid" => AnonUid, :"anon_gid" => AnonGid, :"fslocations" => Fslocations, :"uuid" => Uuid, :"secinfo" => Secinfo, :"xprtsec" => Xprtsec, :"flags" => Flags, :"fsid" => Fsid}) #: Hash[::Symbol, Attribute]
490
- # :nodoc:
856
+ # @private
491
857
  BY_TYPE = Ractor.make_shareable({1 => Seqno, 2 => Client, 3 => Path, 4 => Negative, 5 => Expiry, 6 => AnonUid, 7 => AnonGid, 8 => Fslocations, 9 => Uuid, 10 => Secinfo, 11 => Xprtsec, 12 => Flags, 13 => Fsid}) #: Hash[::Integer, Attribute]
858
+ # @rbs return: ::Integer
859
+ # @return [Integer]
860
+ # @see Seqno
861
+ def seqno; self[:"seqno"]&.value; end
862
+ # @rbs return: ::String
863
+ # @return [String]
864
+ # @see Client
865
+ def client; self[:"client"]&.value; end
866
+ # @rbs return: ::String
867
+ # @return [String]
868
+ # @see Path
869
+ def path; self[:"path"]&.value; end
870
+ # @rbs return: ::Integer
871
+ # @return [Integer]
872
+ # @see Negative
873
+ def negative; self[:"negative"]&.value; end
874
+ # @rbs return: ::Integer
875
+ # @return [Integer]
876
+ # @see Expiry
877
+ def expiry; self[:"expiry"]&.value; end
878
+ # @rbs return: ::Integer
879
+ # @return [Integer]
880
+ # @see AnonUid
881
+ def anon_uid; self[:"anon_uid"]&.value; end
882
+ # @rbs return: ::Integer
883
+ # @return [Integer]
884
+ # @see AnonGid
885
+ def anon_gid; self[:"anon_gid"]&.value; end
886
+ # @rbs return: AttributeSets::Fslocations
887
+ # @return [AttributeSets::Fslocations]
888
+ # @see Fslocations
889
+ def fslocations; self[:"fslocations"]&.value; end
890
+ # @rbs return: ::String
891
+ # @return [String]
892
+ # @see Uuid
893
+ def uuid; self[:"uuid"]&.value; end
894
+ # @rbs return: ::Array[AttributeSets::AuthFlavor]
895
+ # @return [Array<AttributeSets::AuthFlavor>]
896
+ # @see Secinfo
897
+ def secinfo; self[:"secinfo"].map(&:value); end
898
+ # Known flags are defined in {Flags::XprtsecMode}.
899
+ # @rbs return: ::Array[::Integer]
900
+ # @return [Array<Integer>]
901
+ # @see Xprtsec
902
+ def xprtsec; self[:"xprtsec"].map(&:value); end
903
+ # Known flags are defined in {Flags::ExportFlags}.
904
+ # @rbs return: ::Integer
905
+ # @return [Integer]
906
+ # @see Flags
907
+ def flags; self[:"flags"]&.value; end
908
+ # @rbs return: ::Integer
909
+ # @return [Integer]
910
+ # @see Fsid
911
+ def fsid; self[:"fsid"]&.value; end
492
912
  class << self
493
913
  # Looks up Attribute class by name.
494
- #--
495
914
  # @rbs name: Symbol
496
915
  # @rbs return: Attribute
916
+ # @param [Symbol] name
917
+ # @return [Attribute]
497
918
  def by_name(name); BY_NAME.fetch(name); end
498
919
  # Looks up Attribute class by type value.
499
- #--
500
920
  # @rbs type: Integer
501
921
  # @rbs return: Attribute
922
+ # @param [Integer] type
923
+ # @return [Attribute]
502
924
  def by_type(type); BY_TYPE.fetch(type); end
503
925
  end
504
926
  end
505
- class SvcExportReqs < ::Nl::Protocols::Genl::AttributeSet
927
+ class SvcExportReqs < ::Nl::AttributeSet
506
928
  # Abstract class
507
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
929
+ class Attribute < ::Nl::AttributeSet::Attribute
508
930
  end
509
931
  class Requests < Attribute
510
932
  TYPE = 1
511
933
  NAME = :"requests"
934
+ # @private
935
+ MULTI = true
936
+ # @private
937
+ ORDER = 0
512
938
  end
513
- # :nodoc:
939
+ # @private
514
940
  BY_NAME = Ractor.make_shareable({:"requests" => Requests}) #: Hash[::Symbol, Attribute]
515
- # :nodoc:
941
+ # @private
516
942
  BY_TYPE = Ractor.make_shareable({1 => Requests}) #: Hash[::Integer, Attribute]
943
+ # @rbs return: ::Array[AttributeSets::SvcExport]
944
+ # @return [Array<AttributeSets::SvcExport>]
945
+ # @see Requests
946
+ def requests; self[:"requests"].map(&:value); end
517
947
  class << self
518
948
  # Looks up Attribute class by name.
519
- #--
520
949
  # @rbs name: Symbol
521
950
  # @rbs return: Attribute
951
+ # @param [Symbol] name
952
+ # @return [Attribute]
522
953
  def by_name(name); BY_NAME.fetch(name); end
523
954
  # Looks up Attribute class by type value.
524
- #--
525
955
  # @rbs type: Integer
526
956
  # @rbs return: Attribute
957
+ # @param [Integer] type
958
+ # @return [Attribute]
527
959
  def by_type(type); BY_TYPE.fetch(type); end
528
960
  end
529
961
  end
530
- class Expkey < ::Nl::Protocols::Genl::AttributeSet
962
+ class Expkey < ::Nl::AttributeSet
531
963
  # Abstract class
532
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
964
+ class Attribute < ::Nl::AttributeSet::Attribute
533
965
  end
534
966
  class Seqno < Attribute
535
967
  TYPE = 1
536
968
  NAME = :"seqno"
537
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
969
+ # @private
970
+ ORDER = 0
971
+ # @private
972
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
538
973
  end
539
974
  class Client < Attribute
540
975
  TYPE = 2
541
976
  NAME = :"client"
542
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
977
+ # @private
978
+ ORDER = 1
979
+ # @private
980
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
543
981
  end
544
982
  class Fsidtype < Attribute
545
983
  TYPE = 3
546
984
  NAME = :"fsidtype"
547
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
985
+ # @private
986
+ ORDER = 2
987
+ # @private
988
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U8, check: nil)
548
989
  end
549
990
  class Fsid < Attribute
550
991
  TYPE = 4
551
992
  NAME = :"fsid"
552
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: nil)
993
+ # @private
994
+ ORDER = 3
995
+ # @private
996
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: nil)
553
997
  end
554
998
  class Negative < Attribute
555
999
  TYPE = 5
556
1000
  NAME = :"negative"
557
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Flag.new
1001
+ # @private
1002
+ ORDER = 4
1003
+ # @private
1004
+ DATATYPE = ::Nl::DataTypes::Flag.new
558
1005
  end
559
1006
  class Expiry < Attribute
560
1007
  TYPE = 6
561
1008
  NAME = :"expiry"
562
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
1009
+ # @private
1010
+ ORDER = 5
1011
+ # @private
1012
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
563
1013
  end
564
1014
  class Path < Attribute
565
1015
  TYPE = 7
566
1016
  NAME = :"path"
567
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
1017
+ # @private
1018
+ ORDER = 6
1019
+ # @private
1020
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
568
1021
  end
569
- # :nodoc:
1022
+ # @private
570
1023
  BY_NAME = Ractor.make_shareable({:"seqno" => Seqno, :"client" => Client, :"fsidtype" => Fsidtype, :"fsid" => Fsid, :"negative" => Negative, :"expiry" => Expiry, :"path" => Path}) #: Hash[::Symbol, Attribute]
571
- # :nodoc:
1024
+ # @private
572
1025
  BY_TYPE = Ractor.make_shareable({1 => Seqno, 2 => Client, 3 => Fsidtype, 4 => Fsid, 5 => Negative, 6 => Expiry, 7 => Path}) #: Hash[::Integer, Attribute]
1026
+ # @rbs return: ::Integer
1027
+ # @return [Integer]
1028
+ # @see Seqno
1029
+ def seqno; self[:"seqno"]&.value; end
1030
+ # @rbs return: ::String
1031
+ # @return [String]
1032
+ # @see Client
1033
+ def client; self[:"client"]&.value; end
1034
+ # @rbs return: ::Integer
1035
+ # @return [Integer]
1036
+ # @see Fsidtype
1037
+ def fsidtype; self[:"fsidtype"]&.value; end
1038
+ # @rbs return: ::String
1039
+ # @return [String]
1040
+ # @see Fsid
1041
+ def fsid; self[:"fsid"]&.value; end
1042
+ # @rbs return: ::Integer
1043
+ # @return [Integer]
1044
+ # @see Negative
1045
+ def negative; self[:"negative"]&.value; end
1046
+ # @rbs return: ::Integer
1047
+ # @return [Integer]
1048
+ # @see Expiry
1049
+ def expiry; self[:"expiry"]&.value; end
1050
+ # @rbs return: ::String
1051
+ # @return [String]
1052
+ # @see Path
1053
+ def path; self[:"path"]&.value; end
573
1054
  class << self
574
1055
  # Looks up Attribute class by name.
575
- #--
576
1056
  # @rbs name: Symbol
577
1057
  # @rbs return: Attribute
1058
+ # @param [Symbol] name
1059
+ # @return [Attribute]
578
1060
  def by_name(name); BY_NAME.fetch(name); end
579
1061
  # Looks up Attribute class by type value.
580
- #--
581
1062
  # @rbs type: Integer
582
1063
  # @rbs return: Attribute
1064
+ # @param [Integer] type
1065
+ # @return [Attribute]
583
1066
  def by_type(type); BY_TYPE.fetch(type); end
584
1067
  end
585
1068
  end
586
- class ExpkeyReqs < ::Nl::Protocols::Genl::AttributeSet
1069
+ class ExpkeyReqs < ::Nl::AttributeSet
587
1070
  # Abstract class
588
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
1071
+ class Attribute < ::Nl::AttributeSet::Attribute
589
1072
  end
590
1073
  class Requests < Attribute
591
1074
  TYPE = 1
592
1075
  NAME = :"requests"
1076
+ # @private
1077
+ MULTI = true
1078
+ # @private
1079
+ ORDER = 0
593
1080
  end
594
- # :nodoc:
1081
+ # @private
595
1082
  BY_NAME = Ractor.make_shareable({:"requests" => Requests}) #: Hash[::Symbol, Attribute]
596
- # :nodoc:
1083
+ # @private
597
1084
  BY_TYPE = Ractor.make_shareable({1 => Requests}) #: Hash[::Integer, Attribute]
1085
+ # @rbs return: ::Array[AttributeSets::Expkey]
1086
+ # @return [Array<AttributeSets::Expkey>]
1087
+ # @see Requests
1088
+ def requests; self[:"requests"].map(&:value); end
598
1089
  class << self
599
1090
  # Looks up Attribute class by name.
600
- #--
601
1091
  # @rbs name: Symbol
602
1092
  # @rbs return: Attribute
1093
+ # @param [Symbol] name
1094
+ # @return [Attribute]
603
1095
  def by_name(name); BY_NAME.fetch(name); end
604
1096
  # Looks up Attribute class by type value.
605
- #--
606
1097
  # @rbs type: Integer
607
1098
  # @rbs return: Attribute
1099
+ # @param [Integer] type
1100
+ # @return [Attribute]
608
1101
  def by_type(type); BY_TYPE.fetch(type); end
609
1102
  end
610
1103
  end
611
- class CacheFlush < ::Nl::Protocols::Genl::AttributeSet
1104
+ class CacheFlush < ::Nl::AttributeSet
612
1105
  # Abstract class
613
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
1106
+ class Attribute < ::Nl::AttributeSet::Attribute
614
1107
  end
1108
+ # Known flags are defined in {Flags::CacheType}.
615
1109
  class Mask < Attribute
616
1110
  TYPE = 1
617
1111
  NAME = :"mask"
618
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
1112
+ # @private
1113
+ ORDER = 0
1114
+ # @private
1115
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
619
1116
  end
620
- # :nodoc:
1117
+ # @private
621
1118
  BY_NAME = Ractor.make_shareable({:"mask" => Mask}) #: Hash[::Symbol, Attribute]
622
- # :nodoc:
1119
+ # @private
623
1120
  BY_TYPE = Ractor.make_shareable({1 => Mask}) #: Hash[::Integer, Attribute]
1121
+ # Known flags are defined in {Flags::CacheType}.
1122
+ # @rbs return: ::Integer
1123
+ # @return [Integer]
1124
+ # @see Mask
1125
+ def mask; self[:"mask"]&.value; end
624
1126
  class << self
625
1127
  # Looks up Attribute class by name.
626
- #--
627
1128
  # @rbs name: Symbol
628
1129
  # @rbs return: Attribute
1130
+ # @param [Symbol] name
1131
+ # @return [Attribute]
629
1132
  def by_name(name); BY_NAME.fetch(name); end
630
1133
  # Looks up Attribute class by type value.
631
- #--
632
1134
  # @rbs type: Integer
633
1135
  # @rbs return: Attribute
1136
+ # @param [Integer] type
1137
+ # @return [Attribute]
634
1138
  def by_type(type); BY_TYPE.fetch(type); end
635
1139
  end
636
1140
  end
637
- class UnlockIp < ::Nl::Protocols::Genl::AttributeSet
1141
+ class UnlockIp < ::Nl::AttributeSet
638
1142
  # Abstract class
639
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
1143
+ class Attribute < ::Nl::AttributeSet::Attribute
640
1144
  end
1145
+ # struct sockaddr_in or struct sockaddr_in6.
641
1146
  class Address < Attribute
642
1147
  TYPE = 1
643
1148
  NAME = :"address"
644
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is shorter than minimum length 16" unless it.bytesize >= 16 })
1149
+ # @private
1150
+ ORDER = 0
1151
+ # @private
1152
+ DATATYPE = ::Nl::DataTypes::Binary.new(check: -> { raise ArgumentError, "Value #{it.inspect} is shorter than minimum length 16" unless it.bytesize >= 16 })
645
1153
  end
646
- # :nodoc:
1154
+ # @private
647
1155
  BY_NAME = Ractor.make_shareable({:"address" => Address}) #: Hash[::Symbol, Attribute]
648
- # :nodoc:
1156
+ # @private
649
1157
  BY_TYPE = Ractor.make_shareable({1 => Address}) #: Hash[::Integer, Attribute]
1158
+ # struct sockaddr_in or struct sockaddr_in6.
1159
+ # @rbs return: ::String
1160
+ # @return [String]
1161
+ # @see Address
1162
+ def address; self[:"address"]&.value; end
650
1163
  class << self
651
1164
  # Looks up Attribute class by name.
652
- #--
653
1165
  # @rbs name: Symbol
654
1166
  # @rbs return: Attribute
1167
+ # @param [Symbol] name
1168
+ # @return [Attribute]
655
1169
  def by_name(name); BY_NAME.fetch(name); end
656
1170
  # Looks up Attribute class by type value.
657
- #--
658
1171
  # @rbs type: Integer
659
1172
  # @rbs return: Attribute
1173
+ # @param [Integer] type
1174
+ # @return [Attribute]
660
1175
  def by_type(type); BY_TYPE.fetch(type); end
661
1176
  end
662
1177
  end
663
- class UnlockFilesystem < ::Nl::Protocols::Genl::AttributeSet
1178
+ class UnlockFilesystem < ::Nl::AttributeSet
664
1179
  # Abstract class
665
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
1180
+ class Attribute < ::Nl::AttributeSet::Attribute
666
1181
  end
1182
+ # Filesystem path whose state should be released.
667
1183
  class Path < Attribute
668
1184
  TYPE = 1
669
1185
  NAME = :"path"
670
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
1186
+ # @private
1187
+ ORDER = 0
1188
+ # @private
1189
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
671
1190
  end
672
- # :nodoc:
1191
+ # @private
673
1192
  BY_NAME = Ractor.make_shareable({:"path" => Path}) #: Hash[::Symbol, Attribute]
674
- # :nodoc:
1193
+ # @private
675
1194
  BY_TYPE = Ractor.make_shareable({1 => Path}) #: Hash[::Integer, Attribute]
1195
+ # Filesystem path whose state should be released.
1196
+ # @rbs return: ::String
1197
+ # @return [String]
1198
+ # @see Path
1199
+ def path; self[:"path"]&.value; end
676
1200
  class << self
677
1201
  # Looks up Attribute class by name.
678
- #--
679
1202
  # @rbs name: Symbol
680
1203
  # @rbs return: Attribute
1204
+ # @param [Symbol] name
1205
+ # @return [Attribute]
681
1206
  def by_name(name); BY_NAME.fetch(name); end
682
1207
  # Looks up Attribute class by type value.
683
- #--
684
1208
  # @rbs type: Integer
685
1209
  # @rbs return: Attribute
1210
+ # @param [Integer] type
1211
+ # @return [Attribute]
686
1212
  def by_type(type); BY_TYPE.fetch(type); end
687
1213
  end
688
1214
  end
689
- class UnlockExport < ::Nl::Protocols::Genl::AttributeSet
1215
+ class UnlockExport < ::Nl::AttributeSet
690
1216
  # Abstract class
691
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
1217
+ class Attribute < ::Nl::AttributeSet::Attribute
692
1218
  end
1219
+ # Export path whose NFSv4 state should be revoked. All state (opens, locks, delegations, layouts) acquired through any export of this path is revoked, regardless of which client holds the state. Intended for use after all clients have been unexported from a given path, enabling the underlying filesystem to be unmounted.
693
1220
  class Path < Attribute
694
1221
  TYPE = 1
695
1222
  NAME = :"path"
696
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::String.new(check: nil)
1223
+ # @private
1224
+ ORDER = 0
1225
+ # @private
1226
+ DATATYPE = ::Nl::DataTypes::String.new(check: nil)
697
1227
  end
698
- # :nodoc:
1228
+ # @private
699
1229
  BY_NAME = Ractor.make_shareable({:"path" => Path}) #: Hash[::Symbol, Attribute]
700
- # :nodoc:
1230
+ # @private
701
1231
  BY_TYPE = Ractor.make_shareable({1 => Path}) #: Hash[::Integer, Attribute]
1232
+ # Export path whose NFSv4 state should be revoked. All state (opens, locks, delegations, layouts) acquired through any export of this path is revoked, regardless of which client holds the state. Intended for use after all clients have been unexported from a given path, enabling the underlying filesystem to be unmounted.
1233
+ # @rbs return: ::String
1234
+ # @return [String]
1235
+ # @see Path
1236
+ def path; self[:"path"]&.value; end
702
1237
  class << self
703
1238
  # Looks up Attribute class by name.
704
- #--
705
1239
  # @rbs name: Symbol
706
1240
  # @rbs return: Attribute
1241
+ # @param [Symbol] name
1242
+ # @return [Attribute]
707
1243
  def by_name(name); BY_NAME.fetch(name); end
708
1244
  # Looks up Attribute class by type value.
709
- #--
710
1245
  # @rbs type: Integer
711
1246
  # @rbs return: Attribute
1247
+ # @param [Integer] type
1248
+ # @return [Attribute]
712
1249
  def by_type(type); BY_TYPE.fetch(type); end
713
1250
  end
714
1251
  end
715
- ServerProto::Version::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(Version)
716
- ServerSock::Addr::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(Sock)
717
- Fslocations::Location::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(Fslocation)
718
- SvcExport::Fslocations::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(Fslocations)
719
- SvcExport::Secinfo::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(AuthFlavor)
720
- SvcExportReqs::Requests::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(SvcExport)
721
- ExpkeyReqs::Requests::DATATYPE = ::Nl::Protocols::Genl::DataTypes::NestedAttributes.new(Expkey)
1252
+ # @private
1253
+ ServerProto::Version::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::Version, selector_bindings: Ractor.make_shareable([]))
1254
+ # @private
1255
+ ServerSock::Addr::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::Sock, selector_bindings: Ractor.make_shareable([]))
1256
+ # @private
1257
+ Fslocations::Location::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::Fslocation, selector_bindings: Ractor.make_shareable([]))
1258
+ # @private
1259
+ SvcExport::Fslocations::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::Fslocations, selector_bindings: Ractor.make_shareable([]))
1260
+ # @private
1261
+ SvcExport::Secinfo::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::AuthFlavor, selector_bindings: Ractor.make_shareable([]))
1262
+ # @private
1263
+ SvcExportReqs::Requests::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::SvcExport, selector_bindings: Ractor.make_shareable([]))
1264
+ # @private
1265
+ ExpkeyReqs::Requests::DATATYPE = ::Nl::DataTypes::NestedAttributes.new(AttributeSets::Expkey, selector_bindings: Ractor.make_shareable([]))
722
1266
  end
723
1267
  module Messages
724
1268
  # dump pending nfsd rpc
725
- class DumpRpcStatusGetRequest < ::Nl::Protocols::Genl::Message
1269
+ class DumpRpcStatusGetRequest < ::Nl::Genl::Message
726
1270
  TYPE = 1
727
1271
  FIXED_HEADER = nil
728
1272
  ATTRIBUTE_SET = AttributeSets::RpcStatus
729
1273
  ATTRIBUTES = Ractor.make_shareable(%i[])
730
1274
  end
731
1275
  # dump pending nfsd rpc
732
- class DumpRpcStatusGetReply < ::Nl::Protocols::Genl::Message
1276
+ class DumpRpcStatusGetReply < ::Nl::Genl::Message
733
1277
  TYPE = 1
734
1278
  FIXED_HEADER = nil
735
1279
  ATTRIBUTE_SET = AttributeSets::RpcStatus
736
1280
  ATTRIBUTES = Ractor.make_shareable(%i[xid flags prog version proc service_time saddr4 daddr4 saddr6 daddr6 sport dport compound_ops])
737
- # Gets the value of `xid` attribute in the message.
738
- #--
739
1281
  # @rbs return: ::Integer
1282
+ # @return [Integer]
1283
+ # @see AttributeSets::RpcStatus::Xid
740
1284
  def xid; attributes[:"xid"]&.value; end
741
- # Gets the value of `flags` attribute in the message.
742
- #--
743
1285
  # @rbs return: ::Integer
1286
+ # @return [Integer]
1287
+ # @see AttributeSets::RpcStatus::Flags
744
1288
  def flags; attributes[:"flags"]&.value; end
745
- # Gets the value of `prog` attribute in the message.
746
- #--
747
1289
  # @rbs return: ::Integer
1290
+ # @return [Integer]
1291
+ # @see AttributeSets::RpcStatus::Prog
748
1292
  def prog; attributes[:"prog"]&.value; end
749
- # Gets the value of `version` attribute in the message.
750
- #--
751
1293
  # @rbs return: ::Integer
1294
+ # @return [Integer]
1295
+ # @see AttributeSets::RpcStatus::Version
752
1296
  def version; attributes[:"version"]&.value; end
753
- # Gets the value of `proc` attribute in the message.
754
- #--
755
1297
  # @rbs return: ::Integer
1298
+ # @return [Integer]
1299
+ # @see AttributeSets::RpcStatus::Proc
756
1300
  def proc; attributes[:"proc"]&.value; end
757
- # Gets the value of `service-time` attribute in the message.
758
- #--
759
1301
  # @rbs return: ::Integer
1302
+ # @return [Integer]
1303
+ # @see AttributeSets::RpcStatus::ServiceTime
760
1304
  def service_time; attributes[:"service_time"]&.value; end
761
- # Gets the value of `saddr4` attribute in the message.
762
- #--
763
1305
  # @rbs return: ::Integer
1306
+ # @return [Integer]
1307
+ # @see AttributeSets::RpcStatus::Saddr4
764
1308
  def saddr4; attributes[:"saddr4"]&.value; end
765
- # Gets the value of `daddr4` attribute in the message.
766
- #--
767
1309
  # @rbs return: ::Integer
1310
+ # @return [Integer]
1311
+ # @see AttributeSets::RpcStatus::Daddr4
768
1312
  def daddr4; attributes[:"daddr4"]&.value; end
769
- # Gets the value of `saddr6` attribute in the message.
770
- #--
771
1313
  # @rbs return: ::String
1314
+ # @return [String]
1315
+ # @see AttributeSets::RpcStatus::Saddr6
772
1316
  def saddr6; attributes[:"saddr6"]&.value; end
773
- # Gets the value of `daddr6` attribute in the message.
774
- #--
775
1317
  # @rbs return: ::String
1318
+ # @return [String]
1319
+ # @see AttributeSets::RpcStatus::Daddr6
776
1320
  def daddr6; attributes[:"daddr6"]&.value; end
777
- # Gets the value of `sport` attribute in the message.
778
- #--
779
1321
  # @rbs return: ::Integer
1322
+ # @return [Integer]
1323
+ # @see AttributeSets::RpcStatus::Sport
780
1324
  def sport; attributes[:"sport"]&.value; end
781
- # Gets the value of `dport` attribute in the message.
782
- #--
783
1325
  # @rbs return: ::Integer
1326
+ # @return [Integer]
1327
+ # @see AttributeSets::RpcStatus::Dport
784
1328
  def dport; attributes[:"dport"]&.value; end
785
- # Gets the value of `compound-ops` attribute in the message.
786
- #--
787
- # @rbs return: ::Integer
788
- def compound_ops; attributes[:"compound_ops"]&.value; end
1329
+ # @rbs return: ::Array[::Integer]
1330
+ # @return [Array<Integer>]
1331
+ # @see AttributeSets::RpcStatus::CompoundOps
1332
+ def compound_ops; attributes[:"compound_ops"].map(&:value); end
789
1333
  end
790
1334
  # set the maximum number of running threads
791
1335
  #
792
1336
  # Requires CAP_NET_ADMIN in the initial user namespace.
793
- class DoThreadsSetRequest < ::Nl::Protocols::Genl::Message
1337
+ class DoThreadsSetRequest < ::Nl::Genl::Message
794
1338
  TYPE = 2
795
1339
  FIXED_HEADER = nil
796
1340
  ATTRIBUTE_SET = AttributeSets::Server
797
1341
  ATTRIBUTES = Ractor.make_shareable(%i[threads gracetime leasetime scope min_threads fh_key])
798
- # Gets the value of `threads` attribute in the message.
799
- #--
800
- # @rbs return: ::Integer
801
- def threads; attributes[:"threads"]&.value; end
802
- # Gets the value of `gracetime` attribute in the message.
803
- #--
1342
+ # @rbs return: ::Array[::Integer]
1343
+ # @return [Array<Integer>]
1344
+ # @see AttributeSets::Server::Threads
1345
+ def threads; attributes[:"threads"].map(&:value); end
804
1346
  # @rbs return: ::Integer
1347
+ # @return [Integer]
1348
+ # @see AttributeSets::Server::Gracetime
805
1349
  def gracetime; attributes[:"gracetime"]&.value; end
806
- # Gets the value of `leasetime` attribute in the message.
807
- #--
808
1350
  # @rbs return: ::Integer
1351
+ # @return [Integer]
1352
+ # @see AttributeSets::Server::Leasetime
809
1353
  def leasetime; attributes[:"leasetime"]&.value; end
810
- # Gets the value of `scope` attribute in the message.
811
- #--
812
1354
  # @rbs return: ::String
1355
+ # @return [String]
1356
+ # @see AttributeSets::Server::Scope
813
1357
  def scope; attributes[:"scope"]&.value; end
814
- # Gets the value of `min-threads` attribute in the message.
815
- #--
816
1358
  # @rbs return: ::Integer
1359
+ # @return [Integer]
1360
+ # @see AttributeSets::Server::MinThreads
817
1361
  def min_threads; attributes[:"min_threads"]&.value; end
818
- # Gets the value of `fh-key` attribute in the message.
819
- #--
820
1362
  # @rbs return: ::String
1363
+ # @return [String]
1364
+ # @see AttributeSets::Server::FhKey
821
1365
  def fh_key; attributes[:"fh_key"]&.value; end
822
1366
  end
823
1367
  # get the maximum number of running threads
824
- class DoThreadsGetRequest < ::Nl::Protocols::Genl::Message
1368
+ class DoThreadsGetRequest < ::Nl::Genl::Message
825
1369
  TYPE = 3
826
1370
  FIXED_HEADER = nil
827
1371
  ATTRIBUTE_SET = AttributeSets::Server
828
1372
  ATTRIBUTES = Ractor.make_shareable(%i[])
829
1373
  end
830
1374
  # get the maximum number of running threads
831
- class DoThreadsGetReply < ::Nl::Protocols::Genl::Message
1375
+ class DoThreadsGetReply < ::Nl::Genl::Message
832
1376
  TYPE = 3
833
1377
  FIXED_HEADER = nil
834
1378
  ATTRIBUTE_SET = AttributeSets::Server
835
1379
  ATTRIBUTES = Ractor.make_shareable(%i[threads gracetime leasetime scope min_threads])
836
- # Gets the value of `threads` attribute in the message.
837
- #--
838
- # @rbs return: ::Integer
839
- def threads; attributes[:"threads"]&.value; end
840
- # Gets the value of `gracetime` attribute in the message.
841
- #--
1380
+ # @rbs return: ::Array[::Integer]
1381
+ # @return [Array<Integer>]
1382
+ # @see AttributeSets::Server::Threads
1383
+ def threads; attributes[:"threads"].map(&:value); end
842
1384
  # @rbs return: ::Integer
1385
+ # @return [Integer]
1386
+ # @see AttributeSets::Server::Gracetime
843
1387
  def gracetime; attributes[:"gracetime"]&.value; end
844
- # Gets the value of `leasetime` attribute in the message.
845
- #--
846
1388
  # @rbs return: ::Integer
1389
+ # @return [Integer]
1390
+ # @see AttributeSets::Server::Leasetime
847
1391
  def leasetime; attributes[:"leasetime"]&.value; end
848
- # Gets the value of `scope` attribute in the message.
849
- #--
850
1392
  # @rbs return: ::String
1393
+ # @return [String]
1394
+ # @see AttributeSets::Server::Scope
851
1395
  def scope; attributes[:"scope"]&.value; end
852
- # Gets the value of `min-threads` attribute in the message.
853
- #--
854
1396
  # @rbs return: ::Integer
1397
+ # @return [Integer]
1398
+ # @see AttributeSets::Server::MinThreads
855
1399
  def min_threads; attributes[:"min_threads"]&.value; end
856
1400
  end
857
1401
  # set nfs enabled versions
858
1402
  #
859
1403
  # Requires CAP_NET_ADMIN in the initial user namespace.
860
- class DoVersionSetRequest < ::Nl::Protocols::Genl::Message
1404
+ class DoVersionSetRequest < ::Nl::Genl::Message
861
1405
  TYPE = 4
862
1406
  FIXED_HEADER = nil
863
1407
  ATTRIBUTE_SET = AttributeSets::ServerProto
864
1408
  ATTRIBUTES = Ractor.make_shareable(%i[version])
865
- # Gets the value of `version` attribute in the message.
866
- #--
867
- # @rbs return: AttributeSets::Version
868
- def version; attributes[:"version"]&.value; end
1409
+ # @rbs return: ::Array[AttributeSets::Version]
1410
+ # @return [Array<AttributeSets::Version>]
1411
+ # @see AttributeSets::ServerProto::Version
1412
+ def version; attributes[:"version"].map(&:value); end
869
1413
  end
870
1414
  # get nfs enabled versions
871
- class DoVersionGetRequest < ::Nl::Protocols::Genl::Message
1415
+ class DoVersionGetRequest < ::Nl::Genl::Message
872
1416
  TYPE = 5
873
1417
  FIXED_HEADER = nil
874
1418
  ATTRIBUTE_SET = AttributeSets::ServerProto
875
1419
  ATTRIBUTES = Ractor.make_shareable(%i[])
876
1420
  end
877
1421
  # get nfs enabled versions
878
- class DoVersionGetReply < ::Nl::Protocols::Genl::Message
1422
+ class DoVersionGetReply < ::Nl::Genl::Message
879
1423
  TYPE = 5
880
1424
  FIXED_HEADER = nil
881
1425
  ATTRIBUTE_SET = AttributeSets::ServerProto
882
1426
  ATTRIBUTES = Ractor.make_shareable(%i[version])
883
- # Gets the value of `version` attribute in the message.
884
- #--
885
- # @rbs return: AttributeSets::Version
886
- def version; attributes[:"version"]&.value; end
1427
+ # @rbs return: ::Array[AttributeSets::Version]
1428
+ # @return [Array<AttributeSets::Version>]
1429
+ # @see AttributeSets::ServerProto::Version
1430
+ def version; attributes[:"version"].map(&:value); end
887
1431
  end
888
1432
  # set nfs running sockets
889
1433
  #
890
1434
  # Requires CAP_NET_ADMIN in the initial user namespace.
891
- class DoListenerSetRequest < ::Nl::Protocols::Genl::Message
1435
+ class DoListenerSetRequest < ::Nl::Genl::Message
892
1436
  TYPE = 6
893
1437
  FIXED_HEADER = nil
894
1438
  ATTRIBUTE_SET = AttributeSets::ServerSock
895
1439
  ATTRIBUTES = Ractor.make_shareable(%i[addr])
896
- # Gets the value of `addr` attribute in the message.
897
- #--
898
- # @rbs return: AttributeSets::Sock
899
- def addr; attributes[:"addr"]&.value; end
1440
+ # @rbs return: ::Array[AttributeSets::Sock]
1441
+ # @return [Array<AttributeSets::Sock>]
1442
+ # @see AttributeSets::ServerSock::Addr
1443
+ def addr; attributes[:"addr"].map(&:value); end
900
1444
  end
901
1445
  # get nfs running listeners
902
- class DoListenerGetRequest < ::Nl::Protocols::Genl::Message
1446
+ class DoListenerGetRequest < ::Nl::Genl::Message
903
1447
  TYPE = 7
904
1448
  FIXED_HEADER = nil
905
1449
  ATTRIBUTE_SET = AttributeSets::ServerSock
906
1450
  ATTRIBUTES = Ractor.make_shareable(%i[])
907
1451
  end
908
1452
  # get nfs running listeners
909
- class DoListenerGetReply < ::Nl::Protocols::Genl::Message
1453
+ class DoListenerGetReply < ::Nl::Genl::Message
910
1454
  TYPE = 7
911
1455
  FIXED_HEADER = nil
912
1456
  ATTRIBUTE_SET = AttributeSets::ServerSock
913
1457
  ATTRIBUTES = Ractor.make_shareable(%i[addr])
914
- # Gets the value of `addr` attribute in the message.
915
- #--
916
- # @rbs return: AttributeSets::Sock
917
- def addr; attributes[:"addr"]&.value; end
1458
+ # @rbs return: ::Array[AttributeSets::Sock]
1459
+ # @return [Array<AttributeSets::Sock>]
1460
+ # @see AttributeSets::ServerSock::Addr
1461
+ def addr; attributes[:"addr"].map(&:value); end
918
1462
  end
919
1463
  # set the current server pool-mode
920
1464
  #
921
1465
  # Requires CAP_NET_ADMIN in the initial user namespace.
922
- class DoPoolModeSetRequest < ::Nl::Protocols::Genl::Message
1466
+ class DoPoolModeSetRequest < ::Nl::Genl::Message
923
1467
  TYPE = 8
924
1468
  FIXED_HEADER = nil
925
1469
  ATTRIBUTE_SET = AttributeSets::PoolMode
926
1470
  ATTRIBUTES = Ractor.make_shareable(%i[mode])
927
- # Gets the value of `mode` attribute in the message.
928
- #--
929
1471
  # @rbs return: ::String
1472
+ # @return [String]
1473
+ # @see AttributeSets::PoolMode::Mode
930
1474
  def mode; attributes[:"mode"]&.value; end
931
1475
  end
932
1476
  # get info about server pool-mode
933
- class DoPoolModeGetRequest < ::Nl::Protocols::Genl::Message
1477
+ class DoPoolModeGetRequest < ::Nl::Genl::Message
934
1478
  TYPE = 9
935
1479
  FIXED_HEADER = nil
936
1480
  ATTRIBUTE_SET = AttributeSets::PoolMode
937
1481
  ATTRIBUTES = Ractor.make_shareable(%i[])
938
1482
  end
939
1483
  # get info about server pool-mode
940
- class DoPoolModeGetReply < ::Nl::Protocols::Genl::Message
1484
+ class DoPoolModeGetReply < ::Nl::Genl::Message
941
1485
  TYPE = 9
942
1486
  FIXED_HEADER = nil
943
1487
  ATTRIBUTE_SET = AttributeSets::PoolMode
944
1488
  ATTRIBUTES = Ractor.make_shareable(%i[mode npools])
945
- # Gets the value of `mode` attribute in the message.
946
- #--
947
1489
  # @rbs return: ::String
1490
+ # @return [String]
1491
+ # @see AttributeSets::PoolMode::Mode
948
1492
  def mode; attributes[:"mode"]&.value; end
949
- # Gets the value of `npools` attribute in the message.
950
- #--
951
1493
  # @rbs return: ::Integer
1494
+ # @return [Integer]
1495
+ # @see AttributeSets::PoolMode::Npools
952
1496
  def npools; attributes[:"npools"]&.value; end
953
1497
  end
954
1498
  # Dump all pending svc_export requests
955
1499
  #
956
1500
  # Requires CAP_NET_ADMIN in the initial user namespace.
957
- class DumpSvcExportGetReqsRequest < ::Nl::Protocols::Genl::Message
1501
+ class DumpSvcExportGetReqsRequest < ::Nl::Genl::Message
958
1502
  TYPE = 11
959
1503
  FIXED_HEADER = nil
960
1504
  ATTRIBUTE_SET = AttributeSets::SvcExportReqs
@@ -963,33 +1507,33 @@ class Nfsd < ::Nl::Family
963
1507
  # Dump all pending svc_export requests
964
1508
  #
965
1509
  # Requires CAP_NET_ADMIN in the initial user namespace.
966
- class DumpSvcExportGetReqsReply < ::Nl::Protocols::Genl::Message
1510
+ class DumpSvcExportGetReqsReply < ::Nl::Genl::Message
967
1511
  TYPE = 11
968
1512
  FIXED_HEADER = nil
969
1513
  ATTRIBUTE_SET = AttributeSets::SvcExportReqs
970
1514
  ATTRIBUTES = Ractor.make_shareable(%i[requests])
971
- # Gets the value of `requests` attribute in the message.
972
- #--
973
- # @rbs return: AttributeSets::SvcExport
974
- def requests; attributes[:"requests"]&.value; end
1515
+ # @rbs return: ::Array[AttributeSets::SvcExport]
1516
+ # @return [Array<AttributeSets::SvcExport>]
1517
+ # @see AttributeSets::SvcExportReqs::Requests
1518
+ def requests; attributes[:"requests"].map(&:value); end
975
1519
  end
976
1520
  # Respond to one or more svc_export requests
977
1521
  #
978
1522
  # Requires CAP_NET_ADMIN in the initial user namespace.
979
- class DoSvcExportSetReqsRequest < ::Nl::Protocols::Genl::Message
1523
+ class DoSvcExportSetReqsRequest < ::Nl::Genl::Message
980
1524
  TYPE = 12
981
1525
  FIXED_HEADER = nil
982
1526
  ATTRIBUTE_SET = AttributeSets::SvcExportReqs
983
1527
  ATTRIBUTES = Ractor.make_shareable(%i[requests])
984
- # Gets the value of `requests` attribute in the message.
985
- #--
986
- # @rbs return: AttributeSets::SvcExport
987
- def requests; attributes[:"requests"]&.value; end
1528
+ # @rbs return: ::Array[AttributeSets::SvcExport]
1529
+ # @return [Array<AttributeSets::SvcExport>]
1530
+ # @see AttributeSets::SvcExportReqs::Requests
1531
+ def requests; attributes[:"requests"].map(&:value); end
988
1532
  end
989
1533
  # Dump all pending expkey requests
990
1534
  #
991
1535
  # Requires CAP_NET_ADMIN in the initial user namespace.
992
- class DumpExpkeyGetReqsRequest < ::Nl::Protocols::Genl::Message
1536
+ class DumpExpkeyGetReqsRequest < ::Nl::Genl::Message
993
1537
  TYPE = 13
994
1538
  FIXED_HEADER = nil
995
1539
  ATTRIBUTE_SET = AttributeSets::ExpkeyReqs
@@ -998,79 +1542,83 @@ class Nfsd < ::Nl::Family
998
1542
  # Dump all pending expkey requests
999
1543
  #
1000
1544
  # Requires CAP_NET_ADMIN in the initial user namespace.
1001
- class DumpExpkeyGetReqsReply < ::Nl::Protocols::Genl::Message
1545
+ class DumpExpkeyGetReqsReply < ::Nl::Genl::Message
1002
1546
  TYPE = 13
1003
1547
  FIXED_HEADER = nil
1004
1548
  ATTRIBUTE_SET = AttributeSets::ExpkeyReqs
1005
1549
  ATTRIBUTES = Ractor.make_shareable(%i[requests])
1006
- # Gets the value of `requests` attribute in the message.
1007
- #--
1008
- # @rbs return: AttributeSets::Expkey
1009
- def requests; attributes[:"requests"]&.value; end
1550
+ # @rbs return: ::Array[AttributeSets::Expkey]
1551
+ # @return [Array<AttributeSets::Expkey>]
1552
+ # @see AttributeSets::ExpkeyReqs::Requests
1553
+ def requests; attributes[:"requests"].map(&:value); end
1010
1554
  end
1011
1555
  # Respond to one or more expkey requests
1012
1556
  #
1013
1557
  # Requires CAP_NET_ADMIN in the initial user namespace.
1014
- class DoExpkeySetReqsRequest < ::Nl::Protocols::Genl::Message
1558
+ class DoExpkeySetReqsRequest < ::Nl::Genl::Message
1015
1559
  TYPE = 14
1016
1560
  FIXED_HEADER = nil
1017
1561
  ATTRIBUTE_SET = AttributeSets::ExpkeyReqs
1018
1562
  ATTRIBUTES = Ractor.make_shareable(%i[requests])
1019
- # Gets the value of `requests` attribute in the message.
1020
- #--
1021
- # @rbs return: AttributeSets::Expkey
1022
- def requests; attributes[:"requests"]&.value; end
1563
+ # @rbs return: ::Array[AttributeSets::Expkey]
1564
+ # @return [Array<AttributeSets::Expkey>]
1565
+ # @see AttributeSets::ExpkeyReqs::Requests
1566
+ def requests; attributes[:"requests"].map(&:value); end
1023
1567
  end
1024
1568
  # Flush nfsd caches (svc_export and/or expkey)
1025
1569
  #
1026
1570
  # Requires CAP_NET_ADMIN in the initial user namespace.
1027
- class DoCacheFlushRequest < ::Nl::Protocols::Genl::Message
1571
+ class DoCacheFlushRequest < ::Nl::Genl::Message
1028
1572
  TYPE = 15
1029
1573
  FIXED_HEADER = nil
1030
1574
  ATTRIBUTE_SET = AttributeSets::CacheFlush
1031
1575
  ATTRIBUTES = Ractor.make_shareable(%i[mask])
1032
- # Gets the value of `mask` attribute in the message.
1033
- #--
1576
+ # Known flags are defined in {Flags::CacheType}.
1034
1577
  # @rbs return: ::Integer
1578
+ # @return [Integer]
1579
+ # @see AttributeSets::CacheFlush::Mask
1035
1580
  def mask; attributes[:"mask"]&.value; end
1036
1581
  end
1037
1582
  # release NLM locks held by an IP address
1038
1583
  #
1039
1584
  # Requires CAP_NET_ADMIN in the initial user namespace.
1040
- class DoUnlockIpRequest < ::Nl::Protocols::Genl::Message
1585
+ class DoUnlockIpRequest < ::Nl::Genl::Message
1041
1586
  TYPE = 16
1042
1587
  FIXED_HEADER = nil
1043
1588
  ATTRIBUTE_SET = AttributeSets::UnlockIp
1044
1589
  ATTRIBUTES = Ractor.make_shareable(%i[address])
1045
- # Gets the value of `address` attribute in the message.
1046
- #--
1590
+ # struct sockaddr_in or struct sockaddr_in6.
1047
1591
  # @rbs return: ::String
1592
+ # @return [String]
1593
+ # @see AttributeSets::UnlockIp::Address
1048
1594
  def address; attributes[:"address"]&.value; end
1049
1595
  end
1050
1596
  # revoke NFS state under a filesystem path
1051
1597
  #
1052
1598
  # Requires CAP_NET_ADMIN in the initial user namespace.
1053
- class DoUnlockFilesystemRequest < ::Nl::Protocols::Genl::Message
1599
+ class DoUnlockFilesystemRequest < ::Nl::Genl::Message
1054
1600
  TYPE = 17
1055
1601
  FIXED_HEADER = nil
1056
1602
  ATTRIBUTE_SET = AttributeSets::UnlockFilesystem
1057
1603
  ATTRIBUTES = Ractor.make_shareable(%i[path])
1058
- # Gets the value of `path` attribute in the message.
1059
- #--
1604
+ # Filesystem path whose state should be released.
1060
1605
  # @rbs return: ::String
1606
+ # @return [String]
1607
+ # @see AttributeSets::UnlockFilesystem::Path
1061
1608
  def path; attributes[:"path"]&.value; end
1062
1609
  end
1063
1610
  # Revoke NFSv4 state acquired through exports of a given path. Unlike unlock-filesystem, which operates at superblock granularity, this command targets only state associated with a specific export path. Userspace (exportfs -u) sends this after removing the last client for a path so the underlying filesystem can be unmounted.
1064
1611
  #
1065
1612
  # Requires CAP_NET_ADMIN in the initial user namespace.
1066
- class DoUnlockExportRequest < ::Nl::Protocols::Genl::Message
1613
+ class DoUnlockExportRequest < ::Nl::Genl::Message
1067
1614
  TYPE = 18
1068
1615
  FIXED_HEADER = nil
1069
1616
  ATTRIBUTE_SET = AttributeSets::UnlockExport
1070
1617
  ATTRIBUTES = Ractor.make_shareable(%i[path])
1071
- # Gets the value of `path` attribute in the message.
1072
- #--
1618
+ # Export path whose NFSv4 state should be revoked. All state (opens, locks, delegations, layouts) acquired through any export of this path is revoked, regardless of which client holds the state. Intended for use after all clients have been unexported from a given path, enabling the underlying filesystem to be unmounted.
1073
1619
  # @rbs return: ::String
1620
+ # @return [String]
1621
+ # @see AttributeSets::UnlockExport::Path
1074
1622
  def path; attributes[:"path"]&.value; end
1075
1623
  end
1076
1624
  end
@@ -1078,291 +1626,415 @@ class Nfsd < ::Nl::Family
1078
1626
  # Notification that there are cache requests that need servicing
1079
1627
  #
1080
1628
  # Multicast group: `exportd`.
1081
- class CacheNotify < ::Nl::Protocols::Genl::Message
1629
+ class CacheNotify < ::Nl::Genl::Message
1082
1630
  TYPE = 10
1083
1631
  FIXED_HEADER = nil
1084
1632
  ATTRIBUTE_SET = AttributeSets::CacheNotify
1085
1633
  ATTRIBUTES = Ractor.make_shareable(%i[cache_type])
1086
- # Gets the value of `cache-type` attribute in the message.
1087
- #--
1634
+ # Known flags are defined in {Flags::CacheType}.
1088
1635
  # @rbs return: ::Integer
1636
+ # @return [Integer]
1637
+ # @see AttributeSets::CacheNotify::CacheType
1089
1638
  def cache_type; attributes[:"cache_type"]&.value; end
1090
1639
  end
1091
1640
  end
1641
+ # @private
1092
1642
  NOTIFICATIONS = Ractor.make_shareable({10 => Notifications::CacheNotify}) #: Hash[::Integer, ::Class]
1093
1643
  # dump pending nfsd rpc
1094
- #--
1095
- # @rbs () -> Enumerable[Messages::DumpRpcStatusGetReply]
1644
+ # @rbs () -> Array[Messages::DumpRpcStatusGetReply]
1096
1645
  # | () { (Messages::DumpRpcStatusGetReply) -> void } -> void
1646
+ # @overload dump_rpc_status_get(**args)
1647
+ # Returns an array when no block is given.
1648
+ # @param [Hash] args
1649
+ # @return [Array<Messages::DumpRpcStatusGetReply>]
1650
+ # @overload dump_rpc_status_get(**args, &block)
1651
+ # Yields each reply when a block is given.
1652
+ # @param [Hash] args
1653
+ # @yieldparam [Messages::DumpRpcStatusGetReply] reply
1654
+ # @return [void]
1655
+ # @see Messages::DumpRpcStatusGetRequest
1097
1656
  def dump_rpc_status_get(**args, &block)
1098
1657
  exchange_message(:"dump", Messages::DumpRpcStatusGetRequest, Messages::DumpRpcStatusGetReply, args, &block)
1099
1658
  end
1100
1659
  # set the maximum number of running threads
1101
1660
  #
1102
1661
  # Requires CAP_NET_ADMIN in the initial user namespace.
1103
- #--
1104
- # @rbs (?threads: ::Integer, ?gracetime: ::Integer, ?leasetime: ::Integer, ?scope: ::String, ?min_threads: ::Integer, ?fh_key: ::String) -> void
1662
+ # @rbs (?threads: ::Array[::Integer], ?gracetime: ::Integer, ?leasetime: ::Integer, ?scope: ::String, ?min_threads: ::Integer, ?fh_key: ::String) -> void
1663
+ # @param [Hash] args
1664
+ # @option args [Array<Integer>] threads
1665
+ # @option args [Integer] gracetime
1666
+ # @option args [Integer] leasetime
1667
+ # @option args [String] scope
1668
+ # @option args [Integer] min_threads
1669
+ # @option args [String] fh_key
1670
+ # @return [void]
1671
+ # @see Messages::DoThreadsSetRequest
1105
1672
  def do_threads_set(**args)
1106
1673
  exchange_message(:"do", Messages::DoThreadsSetRequest, nil, args)
1107
1674
  end
1108
1675
  # get the maximum number of running threads
1109
- #--
1110
1676
  # @rbs () -> Messages::DoThreadsGetReply
1677
+ # @param [Hash] args
1678
+ # @return [Messages::DoThreadsGetReply]
1679
+ # @see Messages::DoThreadsGetRequest
1111
1680
  def do_threads_get(**args)
1112
1681
  exchange_message(:"do", Messages::DoThreadsGetRequest, Messages::DoThreadsGetReply, args)
1113
1682
  end
1114
1683
  # set nfs enabled versions
1115
1684
  #
1116
1685
  # Requires CAP_NET_ADMIN in the initial user namespace.
1117
- #--
1118
- # @rbs (?version: AttributeSets::Version) -> void
1686
+ # @rbs (?version: ::Array[(AttributeSets::Version | ::Hash[::Symbol, untyped])]) -> void
1687
+ # @param [Hash] args
1688
+ # @option args [Array<AttributeSets::Version, Hash<Symbol, Object>>] version
1689
+ # @return [void]
1690
+ # @see Messages::DoVersionSetRequest
1119
1691
  def do_version_set(**args)
1120
1692
  exchange_message(:"do", Messages::DoVersionSetRequest, nil, args)
1121
1693
  end
1122
1694
  # get nfs enabled versions
1123
- #--
1124
1695
  # @rbs () -> Messages::DoVersionGetReply
1696
+ # @param [Hash] args
1697
+ # @return [Messages::DoVersionGetReply]
1698
+ # @see Messages::DoVersionGetRequest
1125
1699
  def do_version_get(**args)
1126
1700
  exchange_message(:"do", Messages::DoVersionGetRequest, Messages::DoVersionGetReply, args)
1127
1701
  end
1128
1702
  # set nfs running sockets
1129
1703
  #
1130
1704
  # Requires CAP_NET_ADMIN in the initial user namespace.
1131
- #--
1132
- # @rbs (?addr: AttributeSets::Sock) -> void
1705
+ # @rbs (?addr: ::Array[(AttributeSets::Sock | ::Hash[::Symbol, untyped])]) -> void
1706
+ # @param [Hash] args
1707
+ # @option args [Array<AttributeSets::Sock, Hash<Symbol, Object>>] addr
1708
+ # @return [void]
1709
+ # @see Messages::DoListenerSetRequest
1133
1710
  def do_listener_set(**args)
1134
1711
  exchange_message(:"do", Messages::DoListenerSetRequest, nil, args)
1135
1712
  end
1136
1713
  # get nfs running listeners
1137
- #--
1138
1714
  # @rbs () -> Messages::DoListenerGetReply
1715
+ # @param [Hash] args
1716
+ # @return [Messages::DoListenerGetReply]
1717
+ # @see Messages::DoListenerGetRequest
1139
1718
  def do_listener_get(**args)
1140
1719
  exchange_message(:"do", Messages::DoListenerGetRequest, Messages::DoListenerGetReply, args)
1141
1720
  end
1142
1721
  # set the current server pool-mode
1143
1722
  #
1144
1723
  # Requires CAP_NET_ADMIN in the initial user namespace.
1145
- #--
1146
1724
  # @rbs (?mode: ::String) -> void
1725
+ # @param [Hash] args
1726
+ # @option args [String] mode
1727
+ # @return [void]
1728
+ # @see Messages::DoPoolModeSetRequest
1147
1729
  def do_pool_mode_set(**args)
1148
1730
  exchange_message(:"do", Messages::DoPoolModeSetRequest, nil, args)
1149
1731
  end
1150
1732
  # get info about server pool-mode
1151
- #--
1152
1733
  # @rbs () -> Messages::DoPoolModeGetReply
1734
+ # @param [Hash] args
1735
+ # @return [Messages::DoPoolModeGetReply]
1736
+ # @see Messages::DoPoolModeGetRequest
1153
1737
  def do_pool_mode_get(**args)
1154
1738
  exchange_message(:"do", Messages::DoPoolModeGetRequest, Messages::DoPoolModeGetReply, args)
1155
1739
  end
1156
1740
  # Dump all pending svc_export requests
1157
1741
  #
1158
1742
  # Requires CAP_NET_ADMIN in the initial user namespace.
1159
- #--
1160
- # @rbs () -> Enumerable[Messages::DumpSvcExportGetReqsReply]
1743
+ # @rbs () -> Array[Messages::DumpSvcExportGetReqsReply]
1161
1744
  # | () { (Messages::DumpSvcExportGetReqsReply) -> void } -> void
1745
+ # @overload dump_svc_export_get_reqs(**args)
1746
+ # Returns an array when no block is given.
1747
+ # @param [Hash] args
1748
+ # @return [Array<Messages::DumpSvcExportGetReqsReply>]
1749
+ # @overload dump_svc_export_get_reqs(**args, &block)
1750
+ # Yields each reply when a block is given.
1751
+ # @param [Hash] args
1752
+ # @yieldparam [Messages::DumpSvcExportGetReqsReply] reply
1753
+ # @return [void]
1754
+ # @see Messages::DumpSvcExportGetReqsRequest
1162
1755
  def dump_svc_export_get_reqs(**args, &block)
1163
1756
  exchange_message(:"dump", Messages::DumpSvcExportGetReqsRequest, Messages::DumpSvcExportGetReqsReply, args, &block)
1164
1757
  end
1165
1758
  # Respond to one or more svc_export requests
1166
1759
  #
1167
1760
  # Requires CAP_NET_ADMIN in the initial user namespace.
1168
- #--
1169
- # @rbs (?requests: AttributeSets::SvcExport) -> void
1761
+ # @rbs (?requests: ::Array[(AttributeSets::SvcExport | ::Hash[::Symbol, untyped])]) -> void
1762
+ # @param [Hash] args
1763
+ # @option args [Array<AttributeSets::SvcExport, Hash<Symbol, Object>>] requests
1764
+ # @return [void]
1765
+ # @see Messages::DoSvcExportSetReqsRequest
1170
1766
  def do_svc_export_set_reqs(**args)
1171
1767
  exchange_message(:"do", Messages::DoSvcExportSetReqsRequest, nil, args)
1172
1768
  end
1173
1769
  # Dump all pending expkey requests
1174
1770
  #
1175
1771
  # Requires CAP_NET_ADMIN in the initial user namespace.
1176
- #--
1177
- # @rbs () -> Enumerable[Messages::DumpExpkeyGetReqsReply]
1772
+ # @rbs () -> Array[Messages::DumpExpkeyGetReqsReply]
1178
1773
  # | () { (Messages::DumpExpkeyGetReqsReply) -> void } -> void
1774
+ # @overload dump_expkey_get_reqs(**args)
1775
+ # Returns an array when no block is given.
1776
+ # @param [Hash] args
1777
+ # @return [Array<Messages::DumpExpkeyGetReqsReply>]
1778
+ # @overload dump_expkey_get_reqs(**args, &block)
1779
+ # Yields each reply when a block is given.
1780
+ # @param [Hash] args
1781
+ # @yieldparam [Messages::DumpExpkeyGetReqsReply] reply
1782
+ # @return [void]
1783
+ # @see Messages::DumpExpkeyGetReqsRequest
1179
1784
  def dump_expkey_get_reqs(**args, &block)
1180
1785
  exchange_message(:"dump", Messages::DumpExpkeyGetReqsRequest, Messages::DumpExpkeyGetReqsReply, args, &block)
1181
1786
  end
1182
1787
  # Respond to one or more expkey requests
1183
1788
  #
1184
1789
  # Requires CAP_NET_ADMIN in the initial user namespace.
1185
- #--
1186
- # @rbs (?requests: AttributeSets::Expkey) -> void
1790
+ # @rbs (?requests: ::Array[(AttributeSets::Expkey | ::Hash[::Symbol, untyped])]) -> void
1791
+ # @param [Hash] args
1792
+ # @option args [Array<AttributeSets::Expkey, Hash<Symbol, Object>>] requests
1793
+ # @return [void]
1794
+ # @see Messages::DoExpkeySetReqsRequest
1187
1795
  def do_expkey_set_reqs(**args)
1188
1796
  exchange_message(:"do", Messages::DoExpkeySetReqsRequest, nil, args)
1189
1797
  end
1190
1798
  # Flush nfsd caches (svc_export and/or expkey)
1191
1799
  #
1192
1800
  # Requires CAP_NET_ADMIN in the initial user namespace.
1193
- #--
1194
1801
  # @rbs (?mask: ::Integer) -> void
1802
+ # @param [Hash] args
1803
+ # @option args [Integer] mask Known flags are defined in {Flags::CacheType}.
1804
+ # @return [void]
1805
+ # @see Messages::DoCacheFlushRequest
1195
1806
  def do_cache_flush(**args)
1196
1807
  exchange_message(:"do", Messages::DoCacheFlushRequest, nil, args)
1197
1808
  end
1198
1809
  # release NLM locks held by an IP address
1199
1810
  #
1200
1811
  # Requires CAP_NET_ADMIN in the initial user namespace.
1201
- #--
1202
1812
  # @rbs (?address: ::String) -> void
1813
+ # @param [Hash] args
1814
+ # @option args [String] address struct sockaddr_in or struct sockaddr_in6.
1815
+ # @return [void]
1816
+ # @see Messages::DoUnlockIpRequest
1203
1817
  def do_unlock_ip(**args)
1204
1818
  exchange_message(:"do", Messages::DoUnlockIpRequest, nil, args)
1205
1819
  end
1206
1820
  # revoke NFS state under a filesystem path
1207
1821
  #
1208
1822
  # Requires CAP_NET_ADMIN in the initial user namespace.
1209
- #--
1210
1823
  # @rbs (?path: ::String) -> void
1824
+ # @param [Hash] args
1825
+ # @option args [String] path Filesystem path whose state should be released.
1826
+ # @return [void]
1827
+ # @see Messages::DoUnlockFilesystemRequest
1211
1828
  def do_unlock_filesystem(**args)
1212
1829
  exchange_message(:"do", Messages::DoUnlockFilesystemRequest, nil, args)
1213
1830
  end
1214
1831
  # Revoke NFSv4 state acquired through exports of a given path. Unlike unlock-filesystem, which operates at superblock granularity, this command targets only state associated with a specific export path. Userspace (exportfs -u) sends this after removing the last client for a path so the underlying filesystem can be unmounted.
1215
1832
  #
1216
1833
  # Requires CAP_NET_ADMIN in the initial user namespace.
1217
- #--
1218
1834
  # @rbs (?path: ::String) -> void
1835
+ # @param [Hash] args
1836
+ # @option args [String] path Export path whose NFSv4 state should be revoked. All state (opens, locks, delegations, layouts) acquired through any export of this path is revoked, regardless of which client holds the state. Intended for use after all clients have been unexported from a given path, enabling the underlying filesystem to be unmounted.
1837
+ # @return [void]
1838
+ # @see Messages::DoUnlockExportRequest
1219
1839
  def do_unlock_export(**args)
1220
1840
  exchange_message(:"do", Messages::DoUnlockExportRequest, nil, args)
1221
1841
  end
1222
1842
  class AsyncOperations
1223
- # :nodoc:
1843
+ # @private
1224
1844
  def initialize(&exchange)
1225
1845
  @exchange = exchange
1226
1846
  end
1227
1847
  # dump pending nfsd rpc
1228
- #--
1229
1848
  # @rbs () -> ::Nl::Async::Stream[Messages::DumpRpcStatusGetReply]
1849
+ # @param [Hash] args
1850
+ # @return [Nl::Async::Stream<Messages::DumpRpcStatusGetReply>]
1851
+ # @see Messages::DumpRpcStatusGetRequest
1230
1852
  def dump_rpc_status_get(**args)
1231
1853
  @exchange.call(:"dump", Messages::DumpRpcStatusGetRequest, Messages::DumpRpcStatusGetReply, args)
1232
1854
  end
1233
1855
  # set the maximum number of running threads
1234
1856
  #
1235
1857
  # Requires CAP_NET_ADMIN in the initial user namespace.
1236
- #--
1237
- # @rbs (?threads: ::Integer, ?gracetime: ::Integer, ?leasetime: ::Integer, ?scope: ::String, ?min_threads: ::Integer, ?fh_key: ::String) -> ::Nl::Async::Future[void]
1858
+ # @rbs (?threads: ::Array[::Integer], ?gracetime: ::Integer, ?leasetime: ::Integer, ?scope: ::String, ?min_threads: ::Integer, ?fh_key: ::String) -> ::Nl::Async::Future[void]
1859
+ # @param [Hash] args
1860
+ # @option args [Array<Integer>] threads
1861
+ # @option args [Integer] gracetime
1862
+ # @option args [Integer] leasetime
1863
+ # @option args [String] scope
1864
+ # @option args [Integer] min_threads
1865
+ # @option args [String] fh_key
1866
+ # @return [Nl::Async::Future<void>]
1867
+ # @see Messages::DoThreadsSetRequest
1238
1868
  def do_threads_set(**args)
1239
1869
  @exchange.call(:"do", Messages::DoThreadsSetRequest, nil, args)
1240
1870
  end
1241
1871
  # get the maximum number of running threads
1242
- #--
1243
1872
  # @rbs () -> ::Nl::Async::Future[Messages::DoThreadsGetReply]
1873
+ # @param [Hash] args
1874
+ # @return [Nl::Async::Future<Messages::DoThreadsGetReply>]
1875
+ # @see Messages::DoThreadsGetRequest
1244
1876
  def do_threads_get(**args)
1245
1877
  @exchange.call(:"do", Messages::DoThreadsGetRequest, Messages::DoThreadsGetReply, args)
1246
1878
  end
1247
1879
  # set nfs enabled versions
1248
1880
  #
1249
1881
  # Requires CAP_NET_ADMIN in the initial user namespace.
1250
- #--
1251
- # @rbs (?version: AttributeSets::Version) -> ::Nl::Async::Future[void]
1882
+ # @rbs (?version: ::Array[(AttributeSets::Version | ::Hash[::Symbol, untyped])]) -> ::Nl::Async::Future[void]
1883
+ # @param [Hash] args
1884
+ # @option args [Array<AttributeSets::Version, Hash<Symbol, Object>>] version
1885
+ # @return [Nl::Async::Future<void>]
1886
+ # @see Messages::DoVersionSetRequest
1252
1887
  def do_version_set(**args)
1253
1888
  @exchange.call(:"do", Messages::DoVersionSetRequest, nil, args)
1254
1889
  end
1255
1890
  # get nfs enabled versions
1256
- #--
1257
1891
  # @rbs () -> ::Nl::Async::Future[Messages::DoVersionGetReply]
1892
+ # @param [Hash] args
1893
+ # @return [Nl::Async::Future<Messages::DoVersionGetReply>]
1894
+ # @see Messages::DoVersionGetRequest
1258
1895
  def do_version_get(**args)
1259
1896
  @exchange.call(:"do", Messages::DoVersionGetRequest, Messages::DoVersionGetReply, args)
1260
1897
  end
1261
1898
  # set nfs running sockets
1262
1899
  #
1263
1900
  # Requires CAP_NET_ADMIN in the initial user namespace.
1264
- #--
1265
- # @rbs (?addr: AttributeSets::Sock) -> ::Nl::Async::Future[void]
1901
+ # @rbs (?addr: ::Array[(AttributeSets::Sock | ::Hash[::Symbol, untyped])]) -> ::Nl::Async::Future[void]
1902
+ # @param [Hash] args
1903
+ # @option args [Array<AttributeSets::Sock, Hash<Symbol, Object>>] addr
1904
+ # @return [Nl::Async::Future<void>]
1905
+ # @see Messages::DoListenerSetRequest
1266
1906
  def do_listener_set(**args)
1267
1907
  @exchange.call(:"do", Messages::DoListenerSetRequest, nil, args)
1268
1908
  end
1269
1909
  # get nfs running listeners
1270
- #--
1271
1910
  # @rbs () -> ::Nl::Async::Future[Messages::DoListenerGetReply]
1911
+ # @param [Hash] args
1912
+ # @return [Nl::Async::Future<Messages::DoListenerGetReply>]
1913
+ # @see Messages::DoListenerGetRequest
1272
1914
  def do_listener_get(**args)
1273
1915
  @exchange.call(:"do", Messages::DoListenerGetRequest, Messages::DoListenerGetReply, args)
1274
1916
  end
1275
1917
  # set the current server pool-mode
1276
1918
  #
1277
1919
  # Requires CAP_NET_ADMIN in the initial user namespace.
1278
- #--
1279
1920
  # @rbs (?mode: ::String) -> ::Nl::Async::Future[void]
1921
+ # @param [Hash] args
1922
+ # @option args [String] mode
1923
+ # @return [Nl::Async::Future<void>]
1924
+ # @see Messages::DoPoolModeSetRequest
1280
1925
  def do_pool_mode_set(**args)
1281
1926
  @exchange.call(:"do", Messages::DoPoolModeSetRequest, nil, args)
1282
1927
  end
1283
1928
  # get info about server pool-mode
1284
- #--
1285
1929
  # @rbs () -> ::Nl::Async::Future[Messages::DoPoolModeGetReply]
1930
+ # @param [Hash] args
1931
+ # @return [Nl::Async::Future<Messages::DoPoolModeGetReply>]
1932
+ # @see Messages::DoPoolModeGetRequest
1286
1933
  def do_pool_mode_get(**args)
1287
1934
  @exchange.call(:"do", Messages::DoPoolModeGetRequest, Messages::DoPoolModeGetReply, args)
1288
1935
  end
1289
1936
  # Dump all pending svc_export requests
1290
1937
  #
1291
1938
  # Requires CAP_NET_ADMIN in the initial user namespace.
1292
- #--
1293
1939
  # @rbs () -> ::Nl::Async::Stream[Messages::DumpSvcExportGetReqsReply]
1940
+ # @param [Hash] args
1941
+ # @return [Nl::Async::Stream<Messages::DumpSvcExportGetReqsReply>]
1942
+ # @see Messages::DumpSvcExportGetReqsRequest
1294
1943
  def dump_svc_export_get_reqs(**args)
1295
1944
  @exchange.call(:"dump", Messages::DumpSvcExportGetReqsRequest, Messages::DumpSvcExportGetReqsReply, args)
1296
1945
  end
1297
1946
  # Respond to one or more svc_export requests
1298
1947
  #
1299
1948
  # Requires CAP_NET_ADMIN in the initial user namespace.
1300
- #--
1301
- # @rbs (?requests: AttributeSets::SvcExport) -> ::Nl::Async::Future[void]
1949
+ # @rbs (?requests: ::Array[(AttributeSets::SvcExport | ::Hash[::Symbol, untyped])]) -> ::Nl::Async::Future[void]
1950
+ # @param [Hash] args
1951
+ # @option args [Array<AttributeSets::SvcExport, Hash<Symbol, Object>>] requests
1952
+ # @return [Nl::Async::Future<void>]
1953
+ # @see Messages::DoSvcExportSetReqsRequest
1302
1954
  def do_svc_export_set_reqs(**args)
1303
1955
  @exchange.call(:"do", Messages::DoSvcExportSetReqsRequest, nil, args)
1304
1956
  end
1305
1957
  # Dump all pending expkey requests
1306
1958
  #
1307
1959
  # Requires CAP_NET_ADMIN in the initial user namespace.
1308
- #--
1309
1960
  # @rbs () -> ::Nl::Async::Stream[Messages::DumpExpkeyGetReqsReply]
1961
+ # @param [Hash] args
1962
+ # @return [Nl::Async::Stream<Messages::DumpExpkeyGetReqsReply>]
1963
+ # @see Messages::DumpExpkeyGetReqsRequest
1310
1964
  def dump_expkey_get_reqs(**args)
1311
1965
  @exchange.call(:"dump", Messages::DumpExpkeyGetReqsRequest, Messages::DumpExpkeyGetReqsReply, args)
1312
1966
  end
1313
1967
  # Respond to one or more expkey requests
1314
1968
  #
1315
1969
  # Requires CAP_NET_ADMIN in the initial user namespace.
1316
- #--
1317
- # @rbs (?requests: AttributeSets::Expkey) -> ::Nl::Async::Future[void]
1970
+ # @rbs (?requests: ::Array[(AttributeSets::Expkey | ::Hash[::Symbol, untyped])]) -> ::Nl::Async::Future[void]
1971
+ # @param [Hash] args
1972
+ # @option args [Array<AttributeSets::Expkey, Hash<Symbol, Object>>] requests
1973
+ # @return [Nl::Async::Future<void>]
1974
+ # @see Messages::DoExpkeySetReqsRequest
1318
1975
  def do_expkey_set_reqs(**args)
1319
1976
  @exchange.call(:"do", Messages::DoExpkeySetReqsRequest, nil, args)
1320
1977
  end
1321
1978
  # Flush nfsd caches (svc_export and/or expkey)
1322
1979
  #
1323
1980
  # Requires CAP_NET_ADMIN in the initial user namespace.
1324
- #--
1325
1981
  # @rbs (?mask: ::Integer) -> ::Nl::Async::Future[void]
1982
+ # @param [Hash] args
1983
+ # @option args [Integer] mask Known flags are defined in {Flags::CacheType}.
1984
+ # @return [Nl::Async::Future<void>]
1985
+ # @see Messages::DoCacheFlushRequest
1326
1986
  def do_cache_flush(**args)
1327
1987
  @exchange.call(:"do", Messages::DoCacheFlushRequest, nil, args)
1328
1988
  end
1329
1989
  # release NLM locks held by an IP address
1330
1990
  #
1331
1991
  # Requires CAP_NET_ADMIN in the initial user namespace.
1332
- #--
1333
1992
  # @rbs (?address: ::String) -> ::Nl::Async::Future[void]
1993
+ # @param [Hash] args
1994
+ # @option args [String] address struct sockaddr_in or struct sockaddr_in6.
1995
+ # @return [Nl::Async::Future<void>]
1996
+ # @see Messages::DoUnlockIpRequest
1334
1997
  def do_unlock_ip(**args)
1335
1998
  @exchange.call(:"do", Messages::DoUnlockIpRequest, nil, args)
1336
1999
  end
1337
2000
  # revoke NFS state under a filesystem path
1338
2001
  #
1339
2002
  # Requires CAP_NET_ADMIN in the initial user namespace.
1340
- #--
1341
2003
  # @rbs (?path: ::String) -> ::Nl::Async::Future[void]
2004
+ # @param [Hash] args
2005
+ # @option args [String] path Filesystem path whose state should be released.
2006
+ # @return [Nl::Async::Future<void>]
2007
+ # @see Messages::DoUnlockFilesystemRequest
1342
2008
  def do_unlock_filesystem(**args)
1343
2009
  @exchange.call(:"do", Messages::DoUnlockFilesystemRequest, nil, args)
1344
2010
  end
1345
2011
  # Revoke NFSv4 state acquired through exports of a given path. Unlike unlock-filesystem, which operates at superblock granularity, this command targets only state associated with a specific export path. Userspace (exportfs -u) sends this after removing the last client for a path so the underlying filesystem can be unmounted.
1346
2012
  #
1347
2013
  # Requires CAP_NET_ADMIN in the initial user namespace.
1348
- #--
1349
2014
  # @rbs (?path: ::String) -> ::Nl::Async::Future[void]
2015
+ # @param [Hash] args
2016
+ # @option args [String] path Export path whose NFSv4 state should be revoked. All state (opens, locks, delegations, layouts) acquired through any export of this path is revoked, regardless of which client holds the state. Intended for use after all clients have been unexported from a given path, enabling the underlying filesystem to be unmounted.
2017
+ # @return [Nl::Async::Future<void>]
2018
+ # @see Messages::DoUnlockExportRequest
1350
2019
  def do_unlock_export(**args)
1351
2020
  @exchange.call(:"do", Messages::DoUnlockExportRequest, nil, args)
1352
2021
  end
1353
2022
  end
1354
2023
  # Returns the asynchronous operation facade for this family.
1355
- #--
1356
2024
  # @rbs (?stream_capacity: ::Integer?) -> AsyncOperations
2025
+ # @param [::Integer, nil] stream_capacity
2026
+ # @return [AsyncOperations]
1357
2027
  def async(stream_capacity: nil)
1358
2028
  return @async_operations ||= build_async_facade(AsyncOperations) if stream_capacity.nil?
1359
2029
  build_async_facade(AsyncOperations, stream_capacity:)
1360
2030
  end
1361
- #--
1362
2031
  # @rbs (*(:none | :exportd) groups) -> self
2032
+ # @param [Array<:none, :exportd>] groups
2033
+ # @return [self]
1363
2034
  def subscribe(*groups) = super
1364
- #--
1365
2035
  # @rbs (*(:none | :exportd) groups) -> self
2036
+ # @param [Array<:none, :exportd>] groups
2037
+ # @return [self]
1366
2038
  def unsubscribe(*groups) = super
1367
2039
  end
1368
2040
  end; end