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/lockd.rb
CHANGED
|
@@ -1,99 +1,204 @@
|
|
|
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/lockd.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
|
# lockd configuration over generic netlink
|
|
9
|
-
class Lockd < ::Nl::Family
|
|
10
|
+
class Lockd < ::Nl::Genl::Family
|
|
10
11
|
NAME = "lockd"
|
|
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 [Lockd]
|
|
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 [Lockd] 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({}) #: Hash[::Symbol, ::Nl::McastGroup]
|
|
12
31
|
module Structs
|
|
13
32
|
end
|
|
14
33
|
module AttributeSets
|
|
15
|
-
class Server < ::Nl::
|
|
34
|
+
class Server < ::Nl::AttributeSet
|
|
16
35
|
# Abstract class
|
|
17
|
-
class Attribute < ::Nl::
|
|
36
|
+
class Attribute < ::Nl::AttributeSet::Attribute
|
|
18
37
|
end
|
|
19
38
|
class Gracetime < Attribute
|
|
20
39
|
TYPE = 1
|
|
21
40
|
NAME = :"gracetime"
|
|
22
|
-
|
|
41
|
+
# @private
|
|
42
|
+
ORDER = 0
|
|
43
|
+
# @private
|
|
44
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
|
|
23
45
|
end
|
|
24
46
|
class TcpPort < Attribute
|
|
25
47
|
TYPE = 2
|
|
26
48
|
NAME = :"tcp_port"
|
|
27
|
-
|
|
49
|
+
# @private
|
|
50
|
+
ORDER = 1
|
|
51
|
+
# @private
|
|
52
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
|
|
28
53
|
end
|
|
29
54
|
class UdpPort < Attribute
|
|
30
55
|
TYPE = 3
|
|
31
56
|
NAME = :"udp_port"
|
|
32
|
-
|
|
57
|
+
# @private
|
|
58
|
+
ORDER = 2
|
|
59
|
+
# @private
|
|
60
|
+
DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
|
|
33
61
|
end
|
|
34
|
-
#
|
|
62
|
+
# @private
|
|
35
63
|
BY_NAME = Ractor.make_shareable({:"gracetime" => Gracetime, :"tcp_port" => TcpPort, :"udp_port" => UdpPort}) #: Hash[::Symbol, Attribute]
|
|
36
|
-
#
|
|
64
|
+
# @private
|
|
37
65
|
BY_TYPE = Ractor.make_shareable({1 => Gracetime, 2 => TcpPort, 3 => UdpPort}) #: Hash[::Integer, Attribute]
|
|
66
|
+
# @rbs return: ::Integer
|
|
67
|
+
# @return [Integer]
|
|
68
|
+
# @see Gracetime
|
|
69
|
+
def gracetime; self[:"gracetime"]&.value; end
|
|
70
|
+
# @rbs return: ::Integer
|
|
71
|
+
# @return [Integer]
|
|
72
|
+
# @see TcpPort
|
|
73
|
+
def tcp_port; self[:"tcp_port"]&.value; end
|
|
74
|
+
# @rbs return: ::Integer
|
|
75
|
+
# @return [Integer]
|
|
76
|
+
# @see UdpPort
|
|
77
|
+
def udp_port; self[:"udp_port"]&.value; end
|
|
38
78
|
class << self
|
|
39
79
|
# Looks up Attribute class by name.
|
|
40
|
-
#--
|
|
41
80
|
# @rbs name: Symbol
|
|
42
81
|
# @rbs return: Attribute
|
|
82
|
+
# @param [Symbol] name
|
|
83
|
+
# @return [Attribute]
|
|
43
84
|
def by_name(name); BY_NAME.fetch(name); end
|
|
44
85
|
# Looks up Attribute class by type value.
|
|
45
|
-
#--
|
|
46
86
|
# @rbs type: Integer
|
|
47
87
|
# @rbs return: Attribute
|
|
88
|
+
# @param [Integer] type
|
|
89
|
+
# @return [Attribute]
|
|
48
90
|
def by_type(type); BY_TYPE.fetch(type); end
|
|
49
91
|
end
|
|
50
92
|
end
|
|
51
93
|
end
|
|
52
94
|
module Messages
|
|
53
95
|
# set the lockd server parameters
|
|
54
|
-
|
|
96
|
+
#
|
|
97
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
98
|
+
class DoServerSetRequest < ::Nl::Genl::Message
|
|
55
99
|
TYPE = 1
|
|
56
100
|
FIXED_HEADER = nil
|
|
57
101
|
ATTRIBUTE_SET = AttributeSets::Server
|
|
58
102
|
ATTRIBUTES = Ractor.make_shareable(%i[gracetime tcp_port udp_port])
|
|
59
|
-
# Gets the value of `gracetime` attribute in the message.
|
|
60
|
-
#--
|
|
61
103
|
# @rbs return: ::Integer
|
|
104
|
+
# @return [Integer]
|
|
105
|
+
# @see AttributeSets::Server::Gracetime
|
|
62
106
|
def gracetime; attributes[:"gracetime"]&.value; end
|
|
63
|
-
# Gets the value of `tcp-port` attribute in the message.
|
|
64
|
-
#--
|
|
65
107
|
# @rbs return: ::Integer
|
|
108
|
+
# @return [Integer]
|
|
109
|
+
# @see AttributeSets::Server::TcpPort
|
|
66
110
|
def tcp_port; attributes[:"tcp_port"]&.value; end
|
|
67
|
-
# Gets the value of `udp-port` attribute in the message.
|
|
68
|
-
#--
|
|
69
111
|
# @rbs return: ::Integer
|
|
112
|
+
# @return [Integer]
|
|
113
|
+
# @see AttributeSets::Server::UdpPort
|
|
70
114
|
def udp_port; attributes[:"udp_port"]&.value; end
|
|
71
115
|
end
|
|
72
116
|
# get the lockd server parameters
|
|
73
|
-
class
|
|
117
|
+
class DoServerGetRequest < ::Nl::Genl::Message
|
|
118
|
+
TYPE = 2
|
|
119
|
+
FIXED_HEADER = nil
|
|
120
|
+
ATTRIBUTE_SET = AttributeSets::Server
|
|
121
|
+
ATTRIBUTES = Ractor.make_shareable(%i[])
|
|
122
|
+
end
|
|
123
|
+
# get the lockd server parameters
|
|
124
|
+
class DoServerGetReply < ::Nl::Genl::Message
|
|
74
125
|
TYPE = 2
|
|
75
126
|
FIXED_HEADER = nil
|
|
76
127
|
ATTRIBUTE_SET = AttributeSets::Server
|
|
77
128
|
ATTRIBUTES = Ractor.make_shareable(%i[gracetime tcp_port udp_port])
|
|
78
|
-
# Gets the value of `gracetime` attribute in the message.
|
|
79
|
-
#--
|
|
80
129
|
# @rbs return: ::Integer
|
|
130
|
+
# @return [Integer]
|
|
131
|
+
# @see AttributeSets::Server::Gracetime
|
|
81
132
|
def gracetime; attributes[:"gracetime"]&.value; end
|
|
82
|
-
# Gets the value of `tcp-port` attribute in the message.
|
|
83
|
-
#--
|
|
84
133
|
# @rbs return: ::Integer
|
|
134
|
+
# @return [Integer]
|
|
135
|
+
# @see AttributeSets::Server::TcpPort
|
|
85
136
|
def tcp_port; attributes[:"tcp_port"]&.value; end
|
|
86
|
-
# Gets the value of `udp-port` attribute in the message.
|
|
87
|
-
#--
|
|
88
137
|
# @rbs return: ::Integer
|
|
138
|
+
# @return [Integer]
|
|
139
|
+
# @see AttributeSets::Server::UdpPort
|
|
89
140
|
def udp_port; attributes[:"udp_port"]&.value; end
|
|
90
141
|
end
|
|
91
142
|
end
|
|
143
|
+
module Notifications
|
|
144
|
+
end
|
|
145
|
+
# @private
|
|
146
|
+
NOTIFICATIONS = Ractor.make_shareable({}) #: Hash[::Integer, ::Class]
|
|
92
147
|
# set the lockd server parameters
|
|
93
|
-
|
|
148
|
+
#
|
|
149
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
94
150
|
# @rbs (?gracetime: ::Integer, ?tcp_port: ::Integer, ?udp_port: ::Integer) -> void
|
|
151
|
+
# @param [Hash] args
|
|
152
|
+
# @option args [Integer] gracetime
|
|
153
|
+
# @option args [Integer] tcp_port
|
|
154
|
+
# @option args [Integer] udp_port
|
|
155
|
+
# @return [void]
|
|
156
|
+
# @see Messages::DoServerSetRequest
|
|
95
157
|
def do_server_set(**args)
|
|
96
158
|
exchange_message(:"do", Messages::DoServerSetRequest, nil, args)
|
|
97
159
|
end
|
|
160
|
+
# get the lockd server parameters
|
|
161
|
+
# @rbs () -> Messages::DoServerGetReply
|
|
162
|
+
# @param [Hash] args
|
|
163
|
+
# @return [Messages::DoServerGetReply]
|
|
164
|
+
# @see Messages::DoServerGetRequest
|
|
165
|
+
def do_server_get(**args)
|
|
166
|
+
exchange_message(:"do", Messages::DoServerGetRequest, Messages::DoServerGetReply, args)
|
|
167
|
+
end
|
|
168
|
+
class AsyncOperations
|
|
169
|
+
# @private
|
|
170
|
+
def initialize(&exchange)
|
|
171
|
+
@exchange = exchange
|
|
172
|
+
end
|
|
173
|
+
# set the lockd server parameters
|
|
174
|
+
#
|
|
175
|
+
# Requires CAP_NET_ADMIN in the initial user namespace.
|
|
176
|
+
# @rbs (?gracetime: ::Integer, ?tcp_port: ::Integer, ?udp_port: ::Integer) -> ::Nl::Async::Future[void]
|
|
177
|
+
# @param [Hash] args
|
|
178
|
+
# @option args [Integer] gracetime
|
|
179
|
+
# @option args [Integer] tcp_port
|
|
180
|
+
# @option args [Integer] udp_port
|
|
181
|
+
# @return [Nl::Async::Future<void>]
|
|
182
|
+
# @see Messages::DoServerSetRequest
|
|
183
|
+
def do_server_set(**args)
|
|
184
|
+
@exchange.call(:"do", Messages::DoServerSetRequest, nil, args)
|
|
185
|
+
end
|
|
186
|
+
# get the lockd server parameters
|
|
187
|
+
# @rbs () -> ::Nl::Async::Future[Messages::DoServerGetReply]
|
|
188
|
+
# @param [Hash] args
|
|
189
|
+
# @return [Nl::Async::Future<Messages::DoServerGetReply>]
|
|
190
|
+
# @see Messages::DoServerGetRequest
|
|
191
|
+
def do_server_get(**args)
|
|
192
|
+
@exchange.call(:"do", Messages::DoServerGetRequest, Messages::DoServerGetReply, args)
|
|
193
|
+
end
|
|
194
|
+
end
|
|
195
|
+
# Returns the asynchronous operation facade for this family.
|
|
196
|
+
# @rbs (?stream_capacity: ::Integer?) -> AsyncOperations
|
|
197
|
+
# @param [::Integer, nil] stream_capacity
|
|
198
|
+
# @return [AsyncOperations]
|
|
199
|
+
def async(stream_capacity: nil)
|
|
200
|
+
return @async_operations ||= build_async_facade(AsyncOperations) if stream_capacity.nil?
|
|
201
|
+
build_async_facade(AsyncOperations, stream_capacity:)
|
|
202
|
+
end
|
|
98
203
|
end
|
|
99
204
|
end; end
|