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