nl-linux 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +5 -0
  3. data/CHANGELOG.md +6 -0
  4. data/Rakefile +14 -2
  5. data/generated/nl/linux/binder.rb +172 -44
  6. data/generated/nl/linux/conntrack.rb +1293 -370
  7. data/generated/nl/linux/dev_energymodel.rb +278 -93
  8. data/generated/nl/linux/devlink.rb +5654 -1954
  9. data/generated/nl/linux/dpll.rb +1838 -669
  10. data/generated/nl/linux/drm_ras.rb +234 -72
  11. data/generated/nl/linux/ethtool.rb +6683 -2885
  12. data/generated/nl/linux/fou.rb +308 -129
  13. data/generated/nl/linux/handshake.rb +277 -99
  14. data/generated/nl/linux/lockd.rb +88 -33
  15. data/generated/nl/linux/mptcp_pm.rb +639 -186
  16. data/generated/nl/linux/net_shaper.rb +782 -224
  17. data/generated/nl/linux/netdev.rb +2105 -631
  18. data/generated/nl/linux/nfsd.rb +1030 -358
  19. data/generated/nl/linux/nftables.rb +5041 -1612
  20. data/generated/nl/linux/nl80211.rb +4531 -871
  21. data/generated/nl/linux/nlctrl.rb +411 -119
  22. data/generated/nl/linux/ovpn.rb +1211 -293
  23. data/generated/nl/linux/ovs_datapath.rb +271 -106
  24. data/generated/nl/linux/ovs_flow.rb +1819 -354
  25. data/generated/nl/linux/ovs_packet.rb +257 -82
  26. data/generated/nl/linux/ovs_vport.rb +334 -132
  27. data/generated/nl/linux/psp.rb +916 -281
  28. data/generated/nl/linux/rt_addr.rb +369 -166
  29. data/generated/nl/linux/rt_link.rb +6708 -1450
  30. data/generated/nl/linux/rt_neigh.rb +919 -364
  31. data/generated/nl/linux/rt_route.rb +1034 -448
  32. data/generated/nl/linux/rt_rule.rb +775 -395
  33. data/generated/nl/linux/sunrpc_cache.rb +297 -102
  34. data/generated/nl/linux/tc.rb +9989 -1780
  35. data/generated/nl/linux/tcp_metrics.rb +327 -105
  36. data/generated/nl/linux/team.rb +279 -93
  37. data/generated/nl/linux/wireguard.rb +432 -95
  38. data/generated/nl/linux.rb +1 -0
  39. data/lib/nl/linux/nlctrl_resolver.rb +31 -0
  40. data/lib/nl/linux/version.rb +1 -1
  41. data/sig/generated/nl/linux/binder.rbs +366 -0
  42. data/sig/generated/nl/linux/conntrack.rbs +2787 -0
  43. data/sig/generated/nl/linux/dev_energymodel.rbs +636 -0
  44. data/sig/generated/nl/linux/devlink.rbs +12496 -0
  45. data/sig/generated/nl/linux/dpll.rbs +3461 -0
  46. data/sig/generated/nl/linux/drm_ras.rbs +553 -0
  47. data/sig/generated/nl/linux/ethtool.rbs +15291 -0
  48. data/sig/generated/nl/linux/fou.rbs +702 -0
  49. data/sig/generated/nl/linux/handshake.rbs +622 -0
  50. data/sig/generated/nl/linux/lockd.rbs +234 -0
  51. data/sig/generated/nl/linux/mptcp_pm.rbs +1511 -0
  52. data/sig/generated/nl/linux/net_shaper.rbs +1645 -0
  53. data/sig/generated/nl/linux/netdev.rbs +4187 -0
  54. data/sig/generated/nl/linux/nfsd.rbs +2520 -0
  55. data/sig/generated/nl/linux/nftables.rbs +10304 -0
  56. data/sig/generated/nl/linux/nl80211.rbs +9786 -0
  57. data/sig/generated/nl/linux/nlctrl.rbs +944 -0
  58. data/sig/generated/nl/linux/nlctrl_resolver.rbs +20 -0
  59. data/sig/generated/nl/linux/ovpn.rbs +2564 -0
  60. data/sig/generated/nl/linux/ovs_datapath.rbs +640 -0
  61. data/sig/generated/nl/linux/ovs_flow.rbs +3659 -0
  62. data/sig/generated/nl/linux/ovs_packet.rbs +540 -0
  63. data/sig/generated/nl/linux/ovs_vport.rbs +777 -0
  64. data/sig/generated/nl/linux/psp.rbs +1846 -0
  65. data/sig/generated/nl/linux/rt_addr.rbs +866 -0
  66. data/sig/generated/nl/linux/rt_link.rbs +13438 -0
  67. data/sig/generated/nl/linux/rt_neigh.rbs +2124 -0
  68. data/sig/generated/nl/linux/rt_route.rbs +2218 -0
  69. data/sig/generated/nl/linux/rt_rule.rbs +1726 -0
  70. data/sig/generated/nl/linux/sunrpc_cache.rbs +739 -0
  71. data/sig/generated/nl/linux/tc.rbs +19931 -0
  72. data/sig/generated/nl/linux/tcp_metrics.rbs +740 -0
  73. data/sig/generated/nl/linux/team.rbs +733 -0
  74. data/sig/generated/nl/linux/version.rbs +7 -0
  75. data/sig/generated/nl/linux/wireguard.rbs +1006 -0
  76. data/sig/generated/nl/linux.rbs +6 -0
  77. data/sig/generated/nl-linux.rbs +2 -0
  78. metadata +46 -7
@@ -3,51 +3,90 @@
3
3
  # This file is based on Documentation/netlink/specs/lockd.yaml from Linux v7.2.
4
4
  #--
5
5
  # frozen_string_literal: true
6
- # rbs_inline: enabled
7
6
  # This code is generated by Ynl::Generator. DO NOT EDIT.
8
7
  require 'nl'
9
8
  module Nl; module Linux
10
9
  # lockd configuration over generic netlink
11
- class Lockd < ::Nl::Family
10
+ class Lockd < ::Nl::Genl::Family
12
11
  NAME = "lockd"
13
- PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Genl.new("lockd"))
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
14
30
  MCAST_GROUPS = Ractor.make_shareable({}) #: Hash[::Symbol, ::Nl::McastGroup]
15
31
  module Structs
16
32
  end
17
33
  module AttributeSets
18
- class Server < ::Nl::Protocols::Genl::AttributeSet
34
+ class Server < ::Nl::AttributeSet
19
35
  # Abstract class
20
- class Attribute < ::Nl::Protocols::Genl::AttributeSet::Attribute
36
+ class Attribute < ::Nl::AttributeSet::Attribute
21
37
  end
22
38
  class Gracetime < Attribute
23
39
  TYPE = 1
24
40
  NAME = :"gracetime"
25
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
41
+ # @private
42
+ ORDER = 0
43
+ # @private
44
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
26
45
  end
27
46
  class TcpPort < Attribute
28
47
  TYPE = 2
29
48
  NAME = :"tcp_port"
30
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
49
+ # @private
50
+ ORDER = 1
51
+ # @private
52
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
31
53
  end
32
54
  class UdpPort < Attribute
33
55
  TYPE = 3
34
56
  NAME = :"udp_port"
35
- DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
57
+ # @private
58
+ ORDER = 2
59
+ # @private
60
+ DATATYPE = ::Nl::DataTypes::Scalar.new(::Nl::Endian::Host::U16, check: nil)
36
61
  end
37
- # :nodoc:
62
+ # @private
38
63
  BY_NAME = Ractor.make_shareable({:"gracetime" => Gracetime, :"tcp_port" => TcpPort, :"udp_port" => UdpPort}) #: Hash[::Symbol, Attribute]
39
- # :nodoc:
64
+ # @private
40
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
41
78
  class << self
42
79
  # Looks up Attribute class by name.
43
- #--
44
80
  # @rbs name: Symbol
45
81
  # @rbs return: Attribute
82
+ # @param [Symbol] name
83
+ # @return [Attribute]
46
84
  def by_name(name); BY_NAME.fetch(name); end
47
85
  # Looks up Attribute class by type value.
48
- #--
49
86
  # @rbs type: Integer
50
87
  # @rbs return: Attribute
88
+ # @param [Integer] type
89
+ # @return [Attribute]
51
90
  def by_type(type); BY_TYPE.fetch(type); end
52
91
  end
53
92
  end
@@ -56,91 +95,107 @@ class Lockd < ::Nl::Family
56
95
  # set the lockd server parameters
57
96
  #
58
97
  # Requires CAP_NET_ADMIN in the initial user namespace.
59
- class DoServerSetRequest < ::Nl::Protocols::Genl::Message
98
+ class DoServerSetRequest < ::Nl::Genl::Message
60
99
  TYPE = 1
61
100
  FIXED_HEADER = nil
62
101
  ATTRIBUTE_SET = AttributeSets::Server
63
102
  ATTRIBUTES = Ractor.make_shareable(%i[gracetime tcp_port udp_port])
64
- # Gets the value of `gracetime` attribute in the message.
65
- #--
66
103
  # @rbs return: ::Integer
104
+ # @return [Integer]
105
+ # @see AttributeSets::Server::Gracetime
67
106
  def gracetime; attributes[:"gracetime"]&.value; end
68
- # Gets the value of `tcp-port` attribute in the message.
69
- #--
70
107
  # @rbs return: ::Integer
108
+ # @return [Integer]
109
+ # @see AttributeSets::Server::TcpPort
71
110
  def tcp_port; attributes[:"tcp_port"]&.value; end
72
- # Gets the value of `udp-port` attribute in the message.
73
- #--
74
111
  # @rbs return: ::Integer
112
+ # @return [Integer]
113
+ # @see AttributeSets::Server::UdpPort
75
114
  def udp_port; attributes[:"udp_port"]&.value; end
76
115
  end
77
116
  # get the lockd server parameters
78
- class DoServerGetRequest < ::Nl::Protocols::Genl::Message
117
+ class DoServerGetRequest < ::Nl::Genl::Message
79
118
  TYPE = 2
80
119
  FIXED_HEADER = nil
81
120
  ATTRIBUTE_SET = AttributeSets::Server
82
121
  ATTRIBUTES = Ractor.make_shareable(%i[])
83
122
  end
84
123
  # get the lockd server parameters
85
- class DoServerGetReply < ::Nl::Protocols::Genl::Message
124
+ class DoServerGetReply < ::Nl::Genl::Message
86
125
  TYPE = 2
87
126
  FIXED_HEADER = nil
88
127
  ATTRIBUTE_SET = AttributeSets::Server
89
128
  ATTRIBUTES = Ractor.make_shareable(%i[gracetime tcp_port udp_port])
90
- # Gets the value of `gracetime` attribute in the message.
91
- #--
92
129
  # @rbs return: ::Integer
130
+ # @return [Integer]
131
+ # @see AttributeSets::Server::Gracetime
93
132
  def gracetime; attributes[:"gracetime"]&.value; end
94
- # Gets the value of `tcp-port` attribute in the message.
95
- #--
96
133
  # @rbs return: ::Integer
134
+ # @return [Integer]
135
+ # @see AttributeSets::Server::TcpPort
97
136
  def tcp_port; attributes[:"tcp_port"]&.value; end
98
- # Gets the value of `udp-port` attribute in the message.
99
- #--
100
137
  # @rbs return: ::Integer
138
+ # @return [Integer]
139
+ # @see AttributeSets::Server::UdpPort
101
140
  def udp_port; attributes[:"udp_port"]&.value; end
102
141
  end
103
142
  end
104
143
  module Notifications
105
144
  end
145
+ # @private
106
146
  NOTIFICATIONS = Ractor.make_shareable({}) #: Hash[::Integer, ::Class]
107
147
  # set the lockd server parameters
108
148
  #
109
149
  # Requires CAP_NET_ADMIN in the initial user namespace.
110
- #--
111
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
112
157
  def do_server_set(**args)
113
158
  exchange_message(:"do", Messages::DoServerSetRequest, nil, args)
114
159
  end
115
160
  # get the lockd server parameters
116
- #--
117
161
  # @rbs () -> Messages::DoServerGetReply
162
+ # @param [Hash] args
163
+ # @return [Messages::DoServerGetReply]
164
+ # @see Messages::DoServerGetRequest
118
165
  def do_server_get(**args)
119
166
  exchange_message(:"do", Messages::DoServerGetRequest, Messages::DoServerGetReply, args)
120
167
  end
121
168
  class AsyncOperations
122
- # :nodoc:
169
+ # @private
123
170
  def initialize(&exchange)
124
171
  @exchange = exchange
125
172
  end
126
173
  # set the lockd server parameters
127
174
  #
128
175
  # Requires CAP_NET_ADMIN in the initial user namespace.
129
- #--
130
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
131
183
  def do_server_set(**args)
132
184
  @exchange.call(:"do", Messages::DoServerSetRequest, nil, args)
133
185
  end
134
186
  # get the lockd server parameters
135
- #--
136
187
  # @rbs () -> ::Nl::Async::Future[Messages::DoServerGetReply]
188
+ # @param [Hash] args
189
+ # @return [Nl::Async::Future<Messages::DoServerGetReply>]
190
+ # @see Messages::DoServerGetRequest
137
191
  def do_server_get(**args)
138
192
  @exchange.call(:"do", Messages::DoServerGetRequest, Messages::DoServerGetReply, args)
139
193
  end
140
194
  end
141
195
  # Returns the asynchronous operation facade for this family.
142
- #--
143
196
  # @rbs (?stream_capacity: ::Integer?) -> AsyncOperations
197
+ # @param [::Integer, nil] stream_capacity
198
+ # @return [AsyncOperations]
144
199
  def async(stream_capacity: nil)
145
200
  return @async_operations ||= build_async_facade(AsyncOperations) if stream_capacity.nil?
146
201
  build_async_facade(AsyncOperations, stream_capacity:)