nl-linux 0.2.3 → 0.3.0

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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +3 -0
  3. data/CHANGELOG.md +8 -0
  4. data/NLSPEC_VERSION +1 -1
  5. data/Rakefile +13 -3
  6. data/generated/nl/linux/binder.rb +80 -0
  7. data/generated/nl/linux/conntrack.rb +39 -2
  8. data/generated/nl/linux/dev_energymodel.rb +106 -0
  9. data/generated/nl/linux/devlink.rb +1478 -200
  10. data/generated/nl/linux/dpll.rb +790 -66
  11. data/generated/nl/linux/drm_ras.rb +309 -0
  12. data/generated/nl/linux/ethtool.rb +1597 -248
  13. data/generated/nl/linux/fou.rb +82 -13
  14. data/generated/nl/linux/handshake.rb +93 -1
  15. data/generated/nl/linux/lockd.rb +50 -0
  16. data/generated/nl/linux/mptcp_pm.rb +159 -0
  17. data/generated/nl/linux/net_shaper.rb +124 -1
  18. data/generated/nl/linux/netdev.rb +515 -6
  19. data/generated/nl/linux/nfsd.rb +878 -10
  20. data/generated/nl/linux/nftables.rb +2134 -179
  21. data/generated/nl/linux/nl80211.rb +81 -22
  22. data/generated/nl/linux/nlctrl.rb +59 -8
  23. data/generated/nl/linux/ovpn.rb +207 -12
  24. data/generated/nl/linux/ovs_datapath.rb +59 -10
  25. data/generated/nl/linux/ovs_flow.rb +63 -20
  26. data/generated/nl/linux/ovs_packet.rb +277 -0
  27. data/generated/nl/linux/ovs_vport.rb +59 -10
  28. data/generated/nl/linux/psp.rb +453 -6
  29. data/generated/nl/linux/rt_addr.rb +69 -14
  30. data/generated/nl/linux/rt_link.rb +452 -112
  31. data/generated/nl/linux/rt_neigh.rb +227 -16
  32. data/generated/nl/linux/rt_route.rb +92 -49
  33. data/generated/nl/linux/rt_rule.rb +300 -11
  34. data/generated/nl/linux/sunrpc_cache.rb +423 -0
  35. data/generated/nl/linux/tc.rb +168 -54
  36. data/generated/nl/linux/tcp_metrics.rb +69 -12
  37. data/generated/nl/linux/team.rb +80 -0
  38. data/generated/nl/linux/wireguard.rb +99 -7
  39. data/generated/nl/linux.rb +3 -0
  40. data/lib/nl/linux/version.rb +1 -1
  41. data/linux/devlink.yaml +92 -2
  42. data/linux/dpll.yaml +94 -5
  43. data/linux/drm_ras.yaml +126 -0
  44. data/linux/ethtool.yaml +21 -4
  45. data/linux/handshake.yaml +9 -0
  46. data/linux/mptcp_pm.yaml +1 -0
  47. data/linux/net_shaper.yaml +13 -6
  48. data/linux/netdev.yaml +61 -2
  49. data/linux/nfsd.yaml +303 -2
  50. data/linux/nftables.yaml +640 -49
  51. data/linux/ovpn.yaml +26 -1
  52. data/linux/ovs_packet.yaml +130 -0
  53. data/linux/psp.yaml +80 -3
  54. data/linux/rt-link.yaml +70 -24
  55. data/linux/sunrpc_cache.yaml +149 -0
  56. data/linux/tc.yaml +3 -0
  57. metadata +17 -9
@@ -1,4 +1,6 @@
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/dpll.yaml from Linux v7.2.
2
4
  #--
3
5
  # frozen_string_literal: true
4
6
  # rbs_inline: enabled
@@ -9,6 +11,7 @@ module Nl; module Linux
9
11
  class Dpll < ::Nl::Family
10
12
  NAME = "dpll"
11
13
  PROTOCOL = Ractor.make_shareable(::Nl::Protocols::Genl.new("dpll"))
14
+ MCAST_GROUPS = Ractor.make_shareable({:"monitor" => ::Nl::McastGroup.new("monitor", nil)}) #: Hash[::Symbol, ::Nl::McastGroup]
12
15
  module Structs
13
16
  end
14
17
  module AttributeSets
@@ -81,10 +84,15 @@ class Dpll < ::Nl::Family
81
84
  NAME = :"phase_offset_avg_factor"
82
85
  DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
83
86
  end
87
+ class FrequencyMonitor < Attribute
88
+ TYPE = 14
89
+ NAME = :"frequency_monitor"
90
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
91
+ end
84
92
  # :nodoc:
85
- BY_NAME = Ractor.make_shareable({:"id" => Id, :"module_name" => ModuleName, :"pad" => Pad, :"clock_id" => ClockId, :"mode" => Mode, :"mode_supported" => ModeSupported, :"lock_status" => LockStatus, :"temp" => Temp, :"type" => Type, :"lock_status_error" => LockStatusError, :"clock_quality_level" => ClockQualityLevel, :"phase_offset_monitor" => PhaseOffsetMonitor, :"phase_offset_avg_factor" => PhaseOffsetAvgFactor}) #: Hash[::Symbol, Attribute]
93
+ BY_NAME = Ractor.make_shareable({:"id" => Id, :"module_name" => ModuleName, :"pad" => Pad, :"clock_id" => ClockId, :"mode" => Mode, :"mode_supported" => ModeSupported, :"lock_status" => LockStatus, :"temp" => Temp, :"type" => Type, :"lock_status_error" => LockStatusError, :"clock_quality_level" => ClockQualityLevel, :"phase_offset_monitor" => PhaseOffsetMonitor, :"phase_offset_avg_factor" => PhaseOffsetAvgFactor, :"frequency_monitor" => FrequencyMonitor}) #: Hash[::Symbol, Attribute]
86
94
  # :nodoc:
87
- BY_TYPE = Ractor.make_shareable({1 => Id, 2 => ModuleName, 3 => Pad, 4 => ClockId, 5 => Mode, 6 => ModeSupported, 7 => LockStatus, 8 => Temp, 9 => Type, 10 => LockStatusError, 11 => ClockQualityLevel, 12 => PhaseOffsetMonitor, 13 => PhaseOffsetAvgFactor}) #: Hash[::Integer, Attribute]
95
+ BY_TYPE = Ractor.make_shareable({1 => Id, 2 => ModuleName, 3 => Pad, 4 => ClockId, 5 => Mode, 6 => ModeSupported, 7 => LockStatus, 8 => Temp, 9 => Type, 10 => LockStatusError, 11 => ClockQualityLevel, 12 => PhaseOffsetMonitor, 13 => PhaseOffsetAvgFactor, 14 => FrequencyMonitor}) #: Hash[::Integer, Attribute]
88
96
  class << self
89
97
  # Looks up Attribute class by name.
90
98
  #--
@@ -242,10 +250,25 @@ class Dpll < ::Nl::Family
242
250
  NAME = :"phase_adjust_gran"
243
251
  DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
244
252
  end
253
+ class FractionalFrequencyOffsetPpt < Attribute
254
+ TYPE = 30
255
+ NAME = :"fractional_frequency_offset_ppt"
256
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::SINT, check: nil)
257
+ end
258
+ class MeasuredFrequency < Attribute
259
+ TYPE = 31
260
+ NAME = :"measured_frequency"
261
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U64, check: nil)
262
+ end
263
+ class Operstate < Attribute
264
+ TYPE = 32
265
+ NAME = :"operstate"
266
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
267
+ end
245
268
  # :nodoc:
246
- BY_NAME = Ractor.make_shareable({:"id" => Id, :"parent_id" => ParentId, :"module_name" => ModuleName, :"pad" => Pad, :"clock_id" => ClockId, :"board_label" => BoardLabel, :"panel_label" => PanelLabel, :"package_label" => PackageLabel, :"type" => Type, :"direction" => Direction, :"frequency" => Frequency, :"frequency_supported" => FrequencySupported, :"frequency_min" => FrequencyMin, :"frequency_max" => FrequencyMax, :"prio" => Prio, :"state" => State, :"capabilities" => Capabilities, :"parent_device" => ParentDevice, :"parent_pin" => ParentPin, :"phase_adjust_min" => PhaseAdjustMin, :"phase_adjust_max" => PhaseAdjustMax, :"phase_adjust" => PhaseAdjust, :"phase_offset" => PhaseOffset, :"fractional_frequency_offset" => FractionalFrequencyOffset, :"esync_frequency" => EsyncFrequency, :"esync_frequency_supported" => EsyncFrequencySupported, :"esync_pulse" => EsyncPulse, :"reference_sync" => ReferenceSync, :"phase_adjust_gran" => PhaseAdjustGran}) #: Hash[::Symbol, Attribute]
269
+ BY_NAME = Ractor.make_shareable({:"id" => Id, :"parent_id" => ParentId, :"module_name" => ModuleName, :"pad" => Pad, :"clock_id" => ClockId, :"board_label" => BoardLabel, :"panel_label" => PanelLabel, :"package_label" => PackageLabel, :"type" => Type, :"direction" => Direction, :"frequency" => Frequency, :"frequency_supported" => FrequencySupported, :"frequency_min" => FrequencyMin, :"frequency_max" => FrequencyMax, :"prio" => Prio, :"state" => State, :"capabilities" => Capabilities, :"parent_device" => ParentDevice, :"parent_pin" => ParentPin, :"phase_adjust_min" => PhaseAdjustMin, :"phase_adjust_max" => PhaseAdjustMax, :"phase_adjust" => PhaseAdjust, :"phase_offset" => PhaseOffset, :"fractional_frequency_offset" => FractionalFrequencyOffset, :"esync_frequency" => EsyncFrequency, :"esync_frequency_supported" => EsyncFrequencySupported, :"esync_pulse" => EsyncPulse, :"reference_sync" => ReferenceSync, :"phase_adjust_gran" => PhaseAdjustGran, :"fractional_frequency_offset_ppt" => FractionalFrequencyOffsetPpt, :"measured_frequency" => MeasuredFrequency, :"operstate" => Operstate}) #: Hash[::Symbol, Attribute]
247
270
  # :nodoc:
248
- BY_TYPE = Ractor.make_shareable({1 => Id, 2 => ParentId, 3 => ModuleName, 4 => Pad, 5 => ClockId, 6 => BoardLabel, 7 => PanelLabel, 8 => PackageLabel, 9 => Type, 10 => Direction, 11 => Frequency, 12 => FrequencySupported, 13 => FrequencyMin, 14 => FrequencyMax, 15 => Prio, 16 => State, 17 => Capabilities, 18 => ParentDevice, 19 => ParentPin, 20 => PhaseAdjustMin, 21 => PhaseAdjustMax, 22 => PhaseAdjust, 23 => PhaseOffset, 24 => FractionalFrequencyOffset, 25 => EsyncFrequency, 26 => EsyncFrequencySupported, 27 => EsyncPulse, 28 => ReferenceSync, 29 => PhaseAdjustGran}) #: Hash[::Integer, Attribute]
271
+ BY_TYPE = Ractor.make_shareable({1 => Id, 2 => ParentId, 3 => ModuleName, 4 => Pad, 5 => ClockId, 6 => BoardLabel, 7 => PanelLabel, 8 => PackageLabel, 9 => Type, 10 => Direction, 11 => Frequency, 12 => FrequencySupported, 13 => FrequencyMin, 14 => FrequencyMax, 15 => Prio, 16 => State, 17 => Capabilities, 18 => ParentDevice, 19 => ParentPin, 20 => PhaseAdjustMin, 21 => PhaseAdjustMax, 22 => PhaseAdjust, 23 => PhaseOffset, 24 => FractionalFrequencyOffset, 25 => EsyncFrequency, 26 => EsyncFrequencySupported, 27 => EsyncPulse, 28 => ReferenceSync, 29 => PhaseAdjustGran, 30 => FractionalFrequencyOffsetPpt, 31 => MeasuredFrequency, 32 => Operstate}) #: Hash[::Integer, Attribute]
249
272
  class << self
250
273
  # Looks up Attribute class by name.
251
274
  #--
@@ -283,15 +306,30 @@ class Dpll < ::Nl::Family
283
306
  NAME = :"state"
284
307
  DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
285
308
  end
309
+ class Operstate < Attribute
310
+ TYPE = 32
311
+ NAME = :"operstate"
312
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::U32, check: nil)
313
+ end
286
314
  class PhaseOffset < Attribute
287
315
  TYPE = 23
288
316
  NAME = :"phase_offset"
289
317
  DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::S64, check: nil)
290
318
  end
319
+ class FractionalFrequencyOffset < Attribute
320
+ TYPE = 24
321
+ NAME = :"fractional_frequency_offset"
322
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::SINT, check: nil)
323
+ end
324
+ class FractionalFrequencyOffsetPpt < Attribute
325
+ TYPE = 30
326
+ NAME = :"fractional_frequency_offset_ppt"
327
+ DATATYPE = ::Nl::Protocols::Genl::DataTypes::Scalar.new(::Nl::Endian::Host::SINT, check: nil)
328
+ end
291
329
  # :nodoc:
292
- BY_NAME = Ractor.make_shareable({:"parent_id" => ParentId, :"direction" => Direction, :"prio" => Prio, :"state" => State, :"phase_offset" => PhaseOffset}) #: Hash[::Symbol, Attribute]
330
+ BY_NAME = Ractor.make_shareable({:"parent_id" => ParentId, :"direction" => Direction, :"prio" => Prio, :"state" => State, :"operstate" => Operstate, :"phase_offset" => PhaseOffset, :"fractional_frequency_offset" => FractionalFrequencyOffset, :"fractional_frequency_offset_ppt" => FractionalFrequencyOffsetPpt}) #: Hash[::Symbol, Attribute]
293
331
  # :nodoc:
294
- BY_TYPE = Ractor.make_shareable({2 => ParentId, 10 => Direction, 15 => Prio, 16 => State, 23 => PhaseOffset}) #: Hash[::Integer, Attribute]
332
+ BY_TYPE = Ractor.make_shareable({2 => ParentId, 10 => Direction, 15 => Prio, 16 => State, 32 => Operstate, 23 => PhaseOffset, 24 => FractionalFrequencyOffset, 30 => FractionalFrequencyOffsetPpt}) #: Hash[::Integer, Attribute]
295
333
  class << self
296
334
  # Looks up Attribute class by name.
297
335
  #--
@@ -406,6 +444,9 @@ class Dpll < ::Nl::Family
406
444
  end
407
445
  module Messages
408
446
  # Get id of dpll device that matches given attributes
447
+ #
448
+ #
449
+ # Requires CAP_NET_ADMIN in the initial user namespace.
409
450
  class DoDeviceIdGetRequest < ::Nl::Protocols::Genl::Message
410
451
  TYPE = 1
411
452
  FIXED_HEADER = nil
@@ -425,6 +466,9 @@ class Dpll < ::Nl::Family
425
466
  def type; attributes[:"type"]&.value; end
426
467
  end
427
468
  # Get id of dpll device that matches given attributes
469
+ #
470
+ #
471
+ # Requires CAP_NET_ADMIN in the initial user namespace.
428
472
  class DoDeviceIdGetReply < ::Nl::Protocols::Genl::Message
429
473
  TYPE = 1
430
474
  FIXED_HEADER = nil
@@ -436,6 +480,9 @@ class Dpll < ::Nl::Family
436
480
  def id; attributes[:"id"]&.value; end
437
481
  end
438
482
  # Get list of DPLL devices (dump) or attributes of a single dpll device
483
+ #
484
+ #
485
+ # Requires CAP_NET_ADMIN in the initial user namespace.
439
486
  class DoDeviceGetRequest < ::Nl::Protocols::Genl::Message
440
487
  TYPE = 2
441
488
  FIXED_HEADER = nil
@@ -447,11 +494,14 @@ class Dpll < ::Nl::Family
447
494
  def id; attributes[:"id"]&.value; end
448
495
  end
449
496
  # Get list of DPLL devices (dump) or attributes of a single dpll device
497
+ #
498
+ #
499
+ # Requires CAP_NET_ADMIN in the initial user namespace.
450
500
  class DoDeviceGetReply < ::Nl::Protocols::Genl::Message
451
501
  TYPE = 2
452
502
  FIXED_HEADER = nil
453
503
  ATTRIBUTE_SET = AttributeSets::Dpll
454
- ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id mode mode_supported lock_status temp type lock_status_error phase_offset_monitor phase_offset_avg_factor])
504
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id mode mode_supported lock_status temp type lock_status_error phase_offset_monitor phase_offset_avg_factor frequency_monitor])
455
505
  # Gets the value of `id` attribute in the message.
456
506
  #--
457
507
  # @rbs return: ::Integer
@@ -496,13 +546,30 @@ class Dpll < ::Nl::Family
496
546
  #--
497
547
  # @rbs return: ::Integer
498
548
  def phase_offset_avg_factor; attributes[:"phase_offset_avg_factor"]&.value; end
549
+ # Gets the value of `frequency-monitor` attribute in the message.
550
+ #--
551
+ # @rbs return: ::Integer
552
+ def frequency_monitor; attributes[:"frequency_monitor"]&.value; end
553
+ end
554
+ # Get list of DPLL devices (dump) or attributes of a single dpll device
555
+ #
556
+ #
557
+ # Requires CAP_NET_ADMIN in the initial user namespace.
558
+ class DumpDeviceGetRequest < ::Nl::Protocols::Genl::Message
559
+ TYPE = 2
560
+ FIXED_HEADER = nil
561
+ ATTRIBUTE_SET = AttributeSets::Dpll
562
+ ATTRIBUTES = Ractor.make_shareable(%i[])
499
563
  end
500
564
  # Get list of DPLL devices (dump) or attributes of a single dpll device
565
+ #
566
+ #
567
+ # Requires CAP_NET_ADMIN in the initial user namespace.
501
568
  class DumpDeviceGetReply < ::Nl::Protocols::Genl::Message
502
569
  TYPE = 2
503
570
  FIXED_HEADER = nil
504
571
  ATTRIBUTE_SET = AttributeSets::Dpll
505
- ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id mode mode_supported lock_status temp type lock_status_error phase_offset_monitor phase_offset_avg_factor])
572
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id mode mode_supported lock_status temp type lock_status_error phase_offset_monitor phase_offset_avg_factor frequency_monitor])
506
573
  # Gets the value of `id` attribute in the message.
507
574
  #--
508
575
  # @rbs return: ::Integer
@@ -547,17 +614,27 @@ class Dpll < ::Nl::Family
547
614
  #--
548
615
  # @rbs return: ::Integer
549
616
  def phase_offset_avg_factor; attributes[:"phase_offset_avg_factor"]&.value; end
617
+ # Gets the value of `frequency-monitor` attribute in the message.
618
+ #--
619
+ # @rbs return: ::Integer
620
+ def frequency_monitor; attributes[:"frequency_monitor"]&.value; end
550
621
  end
551
622
  # Set attributes for a DPLL device
623
+ #
624
+ # Requires CAP_NET_ADMIN in the initial user namespace.
552
625
  class DoDeviceSetRequest < ::Nl::Protocols::Genl::Message
553
626
  TYPE = 3
554
627
  FIXED_HEADER = nil
555
628
  ATTRIBUTE_SET = AttributeSets::Dpll
556
- ATTRIBUTES = Ractor.make_shareable(%i[id phase_offset_monitor phase_offset_avg_factor])
629
+ ATTRIBUTES = Ractor.make_shareable(%i[id mode phase_offset_monitor phase_offset_avg_factor frequency_monitor])
557
630
  # Gets the value of `id` attribute in the message.
558
631
  #--
559
632
  # @rbs return: ::Integer
560
633
  def id; attributes[:"id"]&.value; end
634
+ # Gets the value of `mode` attribute in the message.
635
+ #--
636
+ # @rbs return: ::Integer
637
+ def mode; attributes[:"mode"]&.value; end
561
638
  # Gets the value of `phase-offset-monitor` attribute in the message.
562
639
  #--
563
640
  # @rbs return: ::Integer
@@ -566,8 +643,15 @@ class Dpll < ::Nl::Family
566
643
  #--
567
644
  # @rbs return: ::Integer
568
645
  def phase_offset_avg_factor; attributes[:"phase_offset_avg_factor"]&.value; end
646
+ # Gets the value of `frequency-monitor` attribute in the message.
647
+ #--
648
+ # @rbs return: ::Integer
649
+ def frequency_monitor; attributes[:"frequency_monitor"]&.value; end
569
650
  end
570
651
  # Get id of a pin that matches given attributes
652
+ #
653
+ #
654
+ # Requires CAP_NET_ADMIN in the initial user namespace.
571
655
  class DoPinIdGetRequest < ::Nl::Protocols::Genl::Message
572
656
  TYPE = 7
573
657
  FIXED_HEADER = nil
@@ -599,6 +683,9 @@ class Dpll < ::Nl::Family
599
683
  def type; attributes[:"type"]&.value; end
600
684
  end
601
685
  # Get id of a pin that matches given attributes
686
+ #
687
+ #
688
+ # Requires CAP_NET_ADMIN in the initial user namespace.
602
689
  class DoPinIdGetReply < ::Nl::Protocols::Genl::Message
603
690
  TYPE = 7
604
691
  FIXED_HEADER = nil
@@ -616,6 +703,9 @@ class Dpll < ::Nl::Family
616
703
  # - dump request with target dpll - list all the pins registered with
617
704
  # a given dpll device
618
705
  # - do request with target dpll and target pin - single pin attributes
706
+ #
707
+ #
708
+ # Requires CAP_NET_ADMIN in the initial user namespace.
619
709
  class DoPinGetRequest < ::Nl::Protocols::Genl::Message
620
710
  TYPE = 8
621
711
  FIXED_HEADER = nil
@@ -633,11 +723,14 @@ class Dpll < ::Nl::Family
633
723
  # - dump request with target dpll - list all the pins registered with
634
724
  # a given dpll device
635
725
  # - do request with target dpll and target pin - single pin attributes
726
+ #
727
+ #
728
+ # Requires CAP_NET_ADMIN in the initial user namespace.
636
729
  class DoPinGetReply < ::Nl::Protocols::Genl::Message
637
730
  TYPE = 8
638
731
  FIXED_HEADER = nil
639
732
  ATTRIBUTE_SET = AttributeSets::Pin
640
- ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id board_label panel_label package_label type frequency frequency_supported capabilities parent_device parent_pin phase_adjust_min phase_adjust_max phase_adjust fractional_frequency_offset esync_frequency esync_frequency_supported esync_pulse reference_sync phase_adjust_gran])
733
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id board_label panel_label package_label type frequency frequency_supported capabilities parent_device parent_pin phase_adjust_min phase_adjust_max phase_adjust fractional_frequency_offset esync_frequency esync_frequency_supported esync_pulse reference_sync phase_adjust_gran fractional_frequency_offset_ppt measured_frequency])
641
734
  # Gets the value of `id` attribute in the message.
642
735
  #--
643
736
  # @rbs return: ::Integer
@@ -722,6 +815,14 @@ class Dpll < ::Nl::Family
722
815
  #--
723
816
  # @rbs return: ::Integer
724
817
  def phase_adjust_gran; attributes[:"phase_adjust_gran"]&.value; end
818
+ # Gets the value of `fractional-frequency-offset-ppt` attribute in the message.
819
+ #--
820
+ # @rbs return: ::Integer
821
+ def fractional_frequency_offset_ppt; attributes[:"fractional_frequency_offset_ppt"]&.value; end
822
+ # Gets the value of `measured-frequency` attribute in the message.
823
+ #--
824
+ # @rbs return: ::Integer
825
+ def measured_frequency; attributes[:"measured_frequency"]&.value; end
725
826
  end
726
827
  # Get list of pins and its attributes.
727
828
  #
@@ -730,6 +831,9 @@ class Dpll < ::Nl::Family
730
831
  # - dump request with target dpll - list all the pins registered with
731
832
  # a given dpll device
732
833
  # - do request with target dpll and target pin - single pin attributes
834
+ #
835
+ #
836
+ # Requires CAP_NET_ADMIN in the initial user namespace.
733
837
  class DumpPinGetRequest < ::Nl::Protocols::Genl::Message
734
838
  TYPE = 8
735
839
  FIXED_HEADER = nil
@@ -747,11 +851,14 @@ class Dpll < ::Nl::Family
747
851
  # - dump request with target dpll - list all the pins registered with
748
852
  # a given dpll device
749
853
  # - do request with target dpll and target pin - single pin attributes
854
+ #
855
+ #
856
+ # Requires CAP_NET_ADMIN in the initial user namespace.
750
857
  class DumpPinGetReply < ::Nl::Protocols::Genl::Message
751
858
  TYPE = 8
752
859
  FIXED_HEADER = nil
753
860
  ATTRIBUTE_SET = AttributeSets::Pin
754
- ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id board_label panel_label package_label type frequency frequency_supported capabilities parent_device parent_pin phase_adjust_min phase_adjust_max phase_adjust fractional_frequency_offset esync_frequency esync_frequency_supported esync_pulse reference_sync phase_adjust_gran])
861
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id board_label panel_label package_label type frequency frequency_supported capabilities parent_device parent_pin phase_adjust_min phase_adjust_max phase_adjust fractional_frequency_offset esync_frequency esync_frequency_supported esync_pulse reference_sync phase_adjust_gran fractional_frequency_offset_ppt measured_frequency])
755
862
  # Gets the value of `id` attribute in the message.
756
863
  #--
757
864
  # @rbs return: ::Integer
@@ -836,8 +943,18 @@ class Dpll < ::Nl::Family
836
943
  #--
837
944
  # @rbs return: ::Integer
838
945
  def phase_adjust_gran; attributes[:"phase_adjust_gran"]&.value; end
946
+ # Gets the value of `fractional-frequency-offset-ppt` attribute in the message.
947
+ #--
948
+ # @rbs return: ::Integer
949
+ def fractional_frequency_offset_ppt; attributes[:"fractional_frequency_offset_ppt"]&.value; end
950
+ # Gets the value of `measured-frequency` attribute in the message.
951
+ #--
952
+ # @rbs return: ::Integer
953
+ def measured_frequency; attributes[:"measured_frequency"]&.value; end
839
954
  end
840
955
  # Set attributes of a target pin
956
+ #
957
+ # Requires CAP_NET_ADMIN in the initial user namespace.
841
958
  class DoPinSetRequest < ::Nl::Protocols::Genl::Message
842
959
  TYPE = 9
843
960
  FIXED_HEADER = nil
@@ -885,60 +1002,667 @@ class Dpll < ::Nl::Family
885
1002
  def reference_sync; attributes[:"reference_sync"]&.value; end
886
1003
  end
887
1004
  end
888
- # Get id of dpll device that matches given attributes
889
- #--
890
- # @rbs (?module_name: ::String, ?clock_id: ::Integer, ?type: ::Integer) -> Messages::DoDeviceIdGetReply
891
- def do_device_id_get(**args)
892
- exchange_message(:"do", Messages::DoDeviceIdGetRequest, Messages::DoDeviceIdGetReply, args)
893
- end
894
- # Get list of DPLL devices (dump) or attributes of a single dpll device
895
- #--
896
- # @rbs (?id: ::Integer) -> Messages::DoDeviceGetReply
897
- def do_device_get(**args)
898
- exchange_message(:"do", Messages::DoDeviceGetRequest, Messages::DoDeviceGetReply, args)
899
- end
900
- # Set attributes for a DPLL device
901
- #--
902
- # @rbs (?id: ::Integer, ?phase_offset_monitor: ::Integer, ?phase_offset_avg_factor: ::Integer) -> void
903
- def do_device_set(**args)
904
- exchange_message(:"do", Messages::DoDeviceSetRequest, nil, args)
905
- end
906
- # Get id of a pin that matches given attributes
907
- #--
908
- # @rbs (?module_name: ::String, ?clock_id: ::Integer, ?board_label: ::String, ?panel_label: ::String, ?package_label: ::String, ?type: ::Integer) -> Messages::DoPinIdGetReply
909
- def do_pin_id_get(**args)
910
- exchange_message(:"do", Messages::DoPinIdGetRequest, Messages::DoPinIdGetReply, args)
911
- end
912
- # Get list of pins and its attributes.
913
- #
914
- # - dump request without any attributes given - list all the pins in the
915
- # system
916
- # - dump request with target dpll - list all the pins registered with
917
- # a given dpll device
918
- # - do request with target dpll and target pin - single pin attributes
919
- #--
920
- # @rbs (?id: ::Integer) -> Messages::DoPinGetReply
921
- def do_pin_get(**args)
922
- exchange_message(:"do", Messages::DoPinGetRequest, Messages::DoPinGetReply, args)
923
- end
924
- # Get list of pins and its attributes.
925
- #
926
- # - dump request without any attributes given - list all the pins in the
927
- # system
928
- # - dump request with target dpll - list all the pins registered with
929
- # a given dpll device
930
- # - do request with target dpll and target pin - single pin attributes
931
- #--
932
- # @rbs (?id: ::Integer) -> Enumerable[Messages::DumpPinGetReply]
933
- # | (?id: ::Integer) { (Messages::DumpPinGetReply) -> void } -> void
934
- def dump_pin_get(**args, &block)
935
- exchange_message(:"dump", Messages::DumpPinGetRequest, Messages::DumpPinGetReply, args, &block)
936
- end
937
- # Set attributes of a target pin
938
- #--
939
- # @rbs (?id: ::Integer, ?direction: ::Integer, ?frequency: ::Integer, ?prio: ::Integer, ?state: ::Integer, ?parent_device: AttributeSets::PinParentDevice, ?parent_pin: AttributeSets::PinParentPin, ?phase_adjust: ::Integer, ?esync_frequency: ::Integer, ?reference_sync: AttributeSets::ReferenceSync) -> void
940
- def do_pin_set(**args)
941
- exchange_message(:"do", Messages::DoPinSetRequest, nil, args)
942
- end
1005
+ module Notifications
1006
+ # Notification about device appearing
1007
+ #
1008
+ # Multicast group: `monitor`.
1009
+ class DeviceCreateNtf < ::Nl::Protocols::Genl::Message
1010
+ TYPE = 4
1011
+ FIXED_HEADER = nil
1012
+ ATTRIBUTE_SET = AttributeSets::Dpll
1013
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id mode mode_supported lock_status temp type lock_status_error phase_offset_monitor phase_offset_avg_factor frequency_monitor])
1014
+ # Gets the value of `id` attribute in the message.
1015
+ #--
1016
+ # @rbs return: ::Integer
1017
+ def id; attributes[:"id"]&.value; end
1018
+ # Gets the value of `module-name` attribute in the message.
1019
+ #--
1020
+ # @rbs return: ::String
1021
+ def module_name; attributes[:"module_name"]&.value; end
1022
+ # Gets the value of `clock-id` attribute in the message.
1023
+ #--
1024
+ # @rbs return: ::Integer
1025
+ def clock_id; attributes[:"clock_id"]&.value; end
1026
+ # Gets the value of `mode` attribute in the message.
1027
+ #--
1028
+ # @rbs return: ::Integer
1029
+ def mode; attributes[:"mode"]&.value; end
1030
+ # Gets the value of `mode-supported` attribute in the message.
1031
+ #--
1032
+ # @rbs return: ::Integer
1033
+ def mode_supported; attributes[:"mode_supported"]&.value; end
1034
+ # Gets the value of `lock-status` attribute in the message.
1035
+ #--
1036
+ # @rbs return: ::Integer
1037
+ def lock_status; attributes[:"lock_status"]&.value; end
1038
+ # Gets the value of `temp` attribute in the message.
1039
+ #--
1040
+ # @rbs return: ::Integer
1041
+ def temp; attributes[:"temp"]&.value; end
1042
+ # Gets the value of `type` attribute in the message.
1043
+ #--
1044
+ # @rbs return: ::Integer
1045
+ def type; attributes[:"type"]&.value; end
1046
+ # Gets the value of `lock-status-error` attribute in the message.
1047
+ #--
1048
+ # @rbs return: ::Integer
1049
+ def lock_status_error; attributes[:"lock_status_error"]&.value; end
1050
+ # Gets the value of `phase-offset-monitor` attribute in the message.
1051
+ #--
1052
+ # @rbs return: ::Integer
1053
+ def phase_offset_monitor; attributes[:"phase_offset_monitor"]&.value; end
1054
+ # Gets the value of `phase-offset-avg-factor` attribute in the message.
1055
+ #--
1056
+ # @rbs return: ::Integer
1057
+ def phase_offset_avg_factor; attributes[:"phase_offset_avg_factor"]&.value; end
1058
+ # Gets the value of `frequency-monitor` attribute in the message.
1059
+ #--
1060
+ # @rbs return: ::Integer
1061
+ def frequency_monitor; attributes[:"frequency_monitor"]&.value; end
1062
+ end
1063
+ # Notification about device disappearing
1064
+ #
1065
+ # Multicast group: `monitor`.
1066
+ class DeviceDeleteNtf < ::Nl::Protocols::Genl::Message
1067
+ TYPE = 5
1068
+ FIXED_HEADER = nil
1069
+ ATTRIBUTE_SET = AttributeSets::Dpll
1070
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id mode mode_supported lock_status temp type lock_status_error phase_offset_monitor phase_offset_avg_factor frequency_monitor])
1071
+ # Gets the value of `id` attribute in the message.
1072
+ #--
1073
+ # @rbs return: ::Integer
1074
+ def id; attributes[:"id"]&.value; end
1075
+ # Gets the value of `module-name` attribute in the message.
1076
+ #--
1077
+ # @rbs return: ::String
1078
+ def module_name; attributes[:"module_name"]&.value; end
1079
+ # Gets the value of `clock-id` attribute in the message.
1080
+ #--
1081
+ # @rbs return: ::Integer
1082
+ def clock_id; attributes[:"clock_id"]&.value; end
1083
+ # Gets the value of `mode` attribute in the message.
1084
+ #--
1085
+ # @rbs return: ::Integer
1086
+ def mode; attributes[:"mode"]&.value; end
1087
+ # Gets the value of `mode-supported` attribute in the message.
1088
+ #--
1089
+ # @rbs return: ::Integer
1090
+ def mode_supported; attributes[:"mode_supported"]&.value; end
1091
+ # Gets the value of `lock-status` attribute in the message.
1092
+ #--
1093
+ # @rbs return: ::Integer
1094
+ def lock_status; attributes[:"lock_status"]&.value; end
1095
+ # Gets the value of `temp` attribute in the message.
1096
+ #--
1097
+ # @rbs return: ::Integer
1098
+ def temp; attributes[:"temp"]&.value; end
1099
+ # Gets the value of `type` attribute in the message.
1100
+ #--
1101
+ # @rbs return: ::Integer
1102
+ def type; attributes[:"type"]&.value; end
1103
+ # Gets the value of `lock-status-error` attribute in the message.
1104
+ #--
1105
+ # @rbs return: ::Integer
1106
+ def lock_status_error; attributes[:"lock_status_error"]&.value; end
1107
+ # Gets the value of `phase-offset-monitor` attribute in the message.
1108
+ #--
1109
+ # @rbs return: ::Integer
1110
+ def phase_offset_monitor; attributes[:"phase_offset_monitor"]&.value; end
1111
+ # Gets the value of `phase-offset-avg-factor` attribute in the message.
1112
+ #--
1113
+ # @rbs return: ::Integer
1114
+ def phase_offset_avg_factor; attributes[:"phase_offset_avg_factor"]&.value; end
1115
+ # Gets the value of `frequency-monitor` attribute in the message.
1116
+ #--
1117
+ # @rbs return: ::Integer
1118
+ def frequency_monitor; attributes[:"frequency_monitor"]&.value; end
1119
+ end
1120
+ # Notification about device configuration being changed
1121
+ #
1122
+ # Multicast group: `monitor`.
1123
+ class DeviceChangeNtf < ::Nl::Protocols::Genl::Message
1124
+ TYPE = 6
1125
+ FIXED_HEADER = nil
1126
+ ATTRIBUTE_SET = AttributeSets::Dpll
1127
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id mode mode_supported lock_status temp type lock_status_error phase_offset_monitor phase_offset_avg_factor frequency_monitor])
1128
+ # Gets the value of `id` attribute in the message.
1129
+ #--
1130
+ # @rbs return: ::Integer
1131
+ def id; attributes[:"id"]&.value; end
1132
+ # Gets the value of `module-name` attribute in the message.
1133
+ #--
1134
+ # @rbs return: ::String
1135
+ def module_name; attributes[:"module_name"]&.value; end
1136
+ # Gets the value of `clock-id` attribute in the message.
1137
+ #--
1138
+ # @rbs return: ::Integer
1139
+ def clock_id; attributes[:"clock_id"]&.value; end
1140
+ # Gets the value of `mode` attribute in the message.
1141
+ #--
1142
+ # @rbs return: ::Integer
1143
+ def mode; attributes[:"mode"]&.value; end
1144
+ # Gets the value of `mode-supported` attribute in the message.
1145
+ #--
1146
+ # @rbs return: ::Integer
1147
+ def mode_supported; attributes[:"mode_supported"]&.value; end
1148
+ # Gets the value of `lock-status` attribute in the message.
1149
+ #--
1150
+ # @rbs return: ::Integer
1151
+ def lock_status; attributes[:"lock_status"]&.value; end
1152
+ # Gets the value of `temp` attribute in the message.
1153
+ #--
1154
+ # @rbs return: ::Integer
1155
+ def temp; attributes[:"temp"]&.value; end
1156
+ # Gets the value of `type` attribute in the message.
1157
+ #--
1158
+ # @rbs return: ::Integer
1159
+ def type; attributes[:"type"]&.value; end
1160
+ # Gets the value of `lock-status-error` attribute in the message.
1161
+ #--
1162
+ # @rbs return: ::Integer
1163
+ def lock_status_error; attributes[:"lock_status_error"]&.value; end
1164
+ # Gets the value of `phase-offset-monitor` attribute in the message.
1165
+ #--
1166
+ # @rbs return: ::Integer
1167
+ def phase_offset_monitor; attributes[:"phase_offset_monitor"]&.value; end
1168
+ # Gets the value of `phase-offset-avg-factor` attribute in the message.
1169
+ #--
1170
+ # @rbs return: ::Integer
1171
+ def phase_offset_avg_factor; attributes[:"phase_offset_avg_factor"]&.value; end
1172
+ # Gets the value of `frequency-monitor` attribute in the message.
1173
+ #--
1174
+ # @rbs return: ::Integer
1175
+ def frequency_monitor; attributes[:"frequency_monitor"]&.value; end
1176
+ end
1177
+ # Notification about pin appearing
1178
+ #
1179
+ # Multicast group: `monitor`.
1180
+ class PinCreateNtf < ::Nl::Protocols::Genl::Message
1181
+ TYPE = 10
1182
+ FIXED_HEADER = nil
1183
+ ATTRIBUTE_SET = AttributeSets::Pin
1184
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id board_label panel_label package_label type frequency frequency_supported capabilities parent_device parent_pin phase_adjust_min phase_adjust_max phase_adjust fractional_frequency_offset esync_frequency esync_frequency_supported esync_pulse reference_sync phase_adjust_gran fractional_frequency_offset_ppt measured_frequency])
1185
+ # Gets the value of `id` attribute in the message.
1186
+ #--
1187
+ # @rbs return: ::Integer
1188
+ def id; attributes[:"id"]&.value; end
1189
+ # Gets the value of `module-name` attribute in the message.
1190
+ #--
1191
+ # @rbs return: ::String
1192
+ def module_name; attributes[:"module_name"]&.value; end
1193
+ # Gets the value of `clock-id` attribute in the message.
1194
+ #--
1195
+ # @rbs return: ::Integer
1196
+ def clock_id; attributes[:"clock_id"]&.value; end
1197
+ # Gets the value of `board-label` attribute in the message.
1198
+ #--
1199
+ # @rbs return: ::String
1200
+ def board_label; attributes[:"board_label"]&.value; end
1201
+ # Gets the value of `panel-label` attribute in the message.
1202
+ #--
1203
+ # @rbs return: ::String
1204
+ def panel_label; attributes[:"panel_label"]&.value; end
1205
+ # Gets the value of `package-label` attribute in the message.
1206
+ #--
1207
+ # @rbs return: ::String
1208
+ def package_label; attributes[:"package_label"]&.value; end
1209
+ # Gets the value of `type` attribute in the message.
1210
+ #--
1211
+ # @rbs return: ::Integer
1212
+ def type; attributes[:"type"]&.value; end
1213
+ # Gets the value of `frequency` attribute in the message.
1214
+ #--
1215
+ # @rbs return: ::Integer
1216
+ def frequency; attributes[:"frequency"]&.value; end
1217
+ # Gets the value of `frequency-supported` attribute in the message.
1218
+ #--
1219
+ # @rbs return: AttributeSets::FrequencyRange
1220
+ def frequency_supported; attributes[:"frequency_supported"]&.value; end
1221
+ # Gets the value of `capabilities` attribute in the message.
1222
+ #--
1223
+ # @rbs return: ::Integer
1224
+ def capabilities; attributes[:"capabilities"]&.value; end
1225
+ # Gets the value of `parent-device` attribute in the message.
1226
+ #--
1227
+ # @rbs return: AttributeSets::PinParentDevice
1228
+ def parent_device; attributes[:"parent_device"]&.value; end
1229
+ # Gets the value of `parent-pin` attribute in the message.
1230
+ #--
1231
+ # @rbs return: AttributeSets::PinParentPin
1232
+ def parent_pin; attributes[:"parent_pin"]&.value; end
1233
+ # Gets the value of `phase-adjust-min` attribute in the message.
1234
+ #--
1235
+ # @rbs return: ::Integer
1236
+ def phase_adjust_min; attributes[:"phase_adjust_min"]&.value; end
1237
+ # Gets the value of `phase-adjust-max` attribute in the message.
1238
+ #--
1239
+ # @rbs return: ::Integer
1240
+ def phase_adjust_max; attributes[:"phase_adjust_max"]&.value; end
1241
+ # Gets the value of `phase-adjust` attribute in the message.
1242
+ #--
1243
+ # @rbs return: ::Integer
1244
+ def phase_adjust; attributes[:"phase_adjust"]&.value; end
1245
+ # Gets the value of `fractional-frequency-offset` attribute in the message.
1246
+ #--
1247
+ # @rbs return: ::Integer
1248
+ def fractional_frequency_offset; attributes[:"fractional_frequency_offset"]&.value; end
1249
+ # Gets the value of `esync-frequency` attribute in the message.
1250
+ #--
1251
+ # @rbs return: ::Integer
1252
+ def esync_frequency; attributes[:"esync_frequency"]&.value; end
1253
+ # Gets the value of `esync-frequency-supported` attribute in the message.
1254
+ #--
1255
+ # @rbs return: AttributeSets::FrequencyRange
1256
+ def esync_frequency_supported; attributes[:"esync_frequency_supported"]&.value; end
1257
+ # Gets the value of `esync-pulse` attribute in the message.
1258
+ #--
1259
+ # @rbs return: ::Integer
1260
+ def esync_pulse; attributes[:"esync_pulse"]&.value; end
1261
+ # Gets the value of `reference-sync` attribute in the message.
1262
+ #--
1263
+ # @rbs return: AttributeSets::ReferenceSync
1264
+ def reference_sync; attributes[:"reference_sync"]&.value; end
1265
+ # Gets the value of `phase-adjust-gran` attribute in the message.
1266
+ #--
1267
+ # @rbs return: ::Integer
1268
+ def phase_adjust_gran; attributes[:"phase_adjust_gran"]&.value; end
1269
+ # Gets the value of `fractional-frequency-offset-ppt` attribute in the message.
1270
+ #--
1271
+ # @rbs return: ::Integer
1272
+ def fractional_frequency_offset_ppt; attributes[:"fractional_frequency_offset_ppt"]&.value; end
1273
+ # Gets the value of `measured-frequency` attribute in the message.
1274
+ #--
1275
+ # @rbs return: ::Integer
1276
+ def measured_frequency; attributes[:"measured_frequency"]&.value; end
1277
+ end
1278
+ # Notification about pin disappearing
1279
+ #
1280
+ # Multicast group: `monitor`.
1281
+ class PinDeleteNtf < ::Nl::Protocols::Genl::Message
1282
+ TYPE = 11
1283
+ FIXED_HEADER = nil
1284
+ ATTRIBUTE_SET = AttributeSets::Pin
1285
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id board_label panel_label package_label type frequency frequency_supported capabilities parent_device parent_pin phase_adjust_min phase_adjust_max phase_adjust fractional_frequency_offset esync_frequency esync_frequency_supported esync_pulse reference_sync phase_adjust_gran fractional_frequency_offset_ppt measured_frequency])
1286
+ # Gets the value of `id` attribute in the message.
1287
+ #--
1288
+ # @rbs return: ::Integer
1289
+ def id; attributes[:"id"]&.value; end
1290
+ # Gets the value of `module-name` attribute in the message.
1291
+ #--
1292
+ # @rbs return: ::String
1293
+ def module_name; attributes[:"module_name"]&.value; end
1294
+ # Gets the value of `clock-id` attribute in the message.
1295
+ #--
1296
+ # @rbs return: ::Integer
1297
+ def clock_id; attributes[:"clock_id"]&.value; end
1298
+ # Gets the value of `board-label` attribute in the message.
1299
+ #--
1300
+ # @rbs return: ::String
1301
+ def board_label; attributes[:"board_label"]&.value; end
1302
+ # Gets the value of `panel-label` attribute in the message.
1303
+ #--
1304
+ # @rbs return: ::String
1305
+ def panel_label; attributes[:"panel_label"]&.value; end
1306
+ # Gets the value of `package-label` attribute in the message.
1307
+ #--
1308
+ # @rbs return: ::String
1309
+ def package_label; attributes[:"package_label"]&.value; end
1310
+ # Gets the value of `type` attribute in the message.
1311
+ #--
1312
+ # @rbs return: ::Integer
1313
+ def type; attributes[:"type"]&.value; end
1314
+ # Gets the value of `frequency` attribute in the message.
1315
+ #--
1316
+ # @rbs return: ::Integer
1317
+ def frequency; attributes[:"frequency"]&.value; end
1318
+ # Gets the value of `frequency-supported` attribute in the message.
1319
+ #--
1320
+ # @rbs return: AttributeSets::FrequencyRange
1321
+ def frequency_supported; attributes[:"frequency_supported"]&.value; end
1322
+ # Gets the value of `capabilities` attribute in the message.
1323
+ #--
1324
+ # @rbs return: ::Integer
1325
+ def capabilities; attributes[:"capabilities"]&.value; end
1326
+ # Gets the value of `parent-device` attribute in the message.
1327
+ #--
1328
+ # @rbs return: AttributeSets::PinParentDevice
1329
+ def parent_device; attributes[:"parent_device"]&.value; end
1330
+ # Gets the value of `parent-pin` attribute in the message.
1331
+ #--
1332
+ # @rbs return: AttributeSets::PinParentPin
1333
+ def parent_pin; attributes[:"parent_pin"]&.value; end
1334
+ # Gets the value of `phase-adjust-min` attribute in the message.
1335
+ #--
1336
+ # @rbs return: ::Integer
1337
+ def phase_adjust_min; attributes[:"phase_adjust_min"]&.value; end
1338
+ # Gets the value of `phase-adjust-max` attribute in the message.
1339
+ #--
1340
+ # @rbs return: ::Integer
1341
+ def phase_adjust_max; attributes[:"phase_adjust_max"]&.value; end
1342
+ # Gets the value of `phase-adjust` attribute in the message.
1343
+ #--
1344
+ # @rbs return: ::Integer
1345
+ def phase_adjust; attributes[:"phase_adjust"]&.value; end
1346
+ # Gets the value of `fractional-frequency-offset` attribute in the message.
1347
+ #--
1348
+ # @rbs return: ::Integer
1349
+ def fractional_frequency_offset; attributes[:"fractional_frequency_offset"]&.value; end
1350
+ # Gets the value of `esync-frequency` attribute in the message.
1351
+ #--
1352
+ # @rbs return: ::Integer
1353
+ def esync_frequency; attributes[:"esync_frequency"]&.value; end
1354
+ # Gets the value of `esync-frequency-supported` attribute in the message.
1355
+ #--
1356
+ # @rbs return: AttributeSets::FrequencyRange
1357
+ def esync_frequency_supported; attributes[:"esync_frequency_supported"]&.value; end
1358
+ # Gets the value of `esync-pulse` attribute in the message.
1359
+ #--
1360
+ # @rbs return: ::Integer
1361
+ def esync_pulse; attributes[:"esync_pulse"]&.value; end
1362
+ # Gets the value of `reference-sync` attribute in the message.
1363
+ #--
1364
+ # @rbs return: AttributeSets::ReferenceSync
1365
+ def reference_sync; attributes[:"reference_sync"]&.value; end
1366
+ # Gets the value of `phase-adjust-gran` attribute in the message.
1367
+ #--
1368
+ # @rbs return: ::Integer
1369
+ def phase_adjust_gran; attributes[:"phase_adjust_gran"]&.value; end
1370
+ # Gets the value of `fractional-frequency-offset-ppt` attribute in the message.
1371
+ #--
1372
+ # @rbs return: ::Integer
1373
+ def fractional_frequency_offset_ppt; attributes[:"fractional_frequency_offset_ppt"]&.value; end
1374
+ # Gets the value of `measured-frequency` attribute in the message.
1375
+ #--
1376
+ # @rbs return: ::Integer
1377
+ def measured_frequency; attributes[:"measured_frequency"]&.value; end
1378
+ end
1379
+ # Notification about pin configuration being changed
1380
+ #
1381
+ # Multicast group: `monitor`.
1382
+ class PinChangeNtf < ::Nl::Protocols::Genl::Message
1383
+ TYPE = 12
1384
+ FIXED_HEADER = nil
1385
+ ATTRIBUTE_SET = AttributeSets::Pin
1386
+ ATTRIBUTES = Ractor.make_shareable(%i[id module_name clock_id board_label panel_label package_label type frequency frequency_supported capabilities parent_device parent_pin phase_adjust_min phase_adjust_max phase_adjust fractional_frequency_offset esync_frequency esync_frequency_supported esync_pulse reference_sync phase_adjust_gran fractional_frequency_offset_ppt measured_frequency])
1387
+ # Gets the value of `id` attribute in the message.
1388
+ #--
1389
+ # @rbs return: ::Integer
1390
+ def id; attributes[:"id"]&.value; end
1391
+ # Gets the value of `module-name` attribute in the message.
1392
+ #--
1393
+ # @rbs return: ::String
1394
+ def module_name; attributes[:"module_name"]&.value; end
1395
+ # Gets the value of `clock-id` attribute in the message.
1396
+ #--
1397
+ # @rbs return: ::Integer
1398
+ def clock_id; attributes[:"clock_id"]&.value; end
1399
+ # Gets the value of `board-label` attribute in the message.
1400
+ #--
1401
+ # @rbs return: ::String
1402
+ def board_label; attributes[:"board_label"]&.value; end
1403
+ # Gets the value of `panel-label` attribute in the message.
1404
+ #--
1405
+ # @rbs return: ::String
1406
+ def panel_label; attributes[:"panel_label"]&.value; end
1407
+ # Gets the value of `package-label` attribute in the message.
1408
+ #--
1409
+ # @rbs return: ::String
1410
+ def package_label; attributes[:"package_label"]&.value; end
1411
+ # Gets the value of `type` attribute in the message.
1412
+ #--
1413
+ # @rbs return: ::Integer
1414
+ def type; attributes[:"type"]&.value; end
1415
+ # Gets the value of `frequency` attribute in the message.
1416
+ #--
1417
+ # @rbs return: ::Integer
1418
+ def frequency; attributes[:"frequency"]&.value; end
1419
+ # Gets the value of `frequency-supported` attribute in the message.
1420
+ #--
1421
+ # @rbs return: AttributeSets::FrequencyRange
1422
+ def frequency_supported; attributes[:"frequency_supported"]&.value; end
1423
+ # Gets the value of `capabilities` attribute in the message.
1424
+ #--
1425
+ # @rbs return: ::Integer
1426
+ def capabilities; attributes[:"capabilities"]&.value; end
1427
+ # Gets the value of `parent-device` attribute in the message.
1428
+ #--
1429
+ # @rbs return: AttributeSets::PinParentDevice
1430
+ def parent_device; attributes[:"parent_device"]&.value; end
1431
+ # Gets the value of `parent-pin` attribute in the message.
1432
+ #--
1433
+ # @rbs return: AttributeSets::PinParentPin
1434
+ def parent_pin; attributes[:"parent_pin"]&.value; end
1435
+ # Gets the value of `phase-adjust-min` attribute in the message.
1436
+ #--
1437
+ # @rbs return: ::Integer
1438
+ def phase_adjust_min; attributes[:"phase_adjust_min"]&.value; end
1439
+ # Gets the value of `phase-adjust-max` attribute in the message.
1440
+ #--
1441
+ # @rbs return: ::Integer
1442
+ def phase_adjust_max; attributes[:"phase_adjust_max"]&.value; end
1443
+ # Gets the value of `phase-adjust` attribute in the message.
1444
+ #--
1445
+ # @rbs return: ::Integer
1446
+ def phase_adjust; attributes[:"phase_adjust"]&.value; end
1447
+ # Gets the value of `fractional-frequency-offset` attribute in the message.
1448
+ #--
1449
+ # @rbs return: ::Integer
1450
+ def fractional_frequency_offset; attributes[:"fractional_frequency_offset"]&.value; end
1451
+ # Gets the value of `esync-frequency` attribute in the message.
1452
+ #--
1453
+ # @rbs return: ::Integer
1454
+ def esync_frequency; attributes[:"esync_frequency"]&.value; end
1455
+ # Gets the value of `esync-frequency-supported` attribute in the message.
1456
+ #--
1457
+ # @rbs return: AttributeSets::FrequencyRange
1458
+ def esync_frequency_supported; attributes[:"esync_frequency_supported"]&.value; end
1459
+ # Gets the value of `esync-pulse` attribute in the message.
1460
+ #--
1461
+ # @rbs return: ::Integer
1462
+ def esync_pulse; attributes[:"esync_pulse"]&.value; end
1463
+ # Gets the value of `reference-sync` attribute in the message.
1464
+ #--
1465
+ # @rbs return: AttributeSets::ReferenceSync
1466
+ def reference_sync; attributes[:"reference_sync"]&.value; end
1467
+ # Gets the value of `phase-adjust-gran` attribute in the message.
1468
+ #--
1469
+ # @rbs return: ::Integer
1470
+ def phase_adjust_gran; attributes[:"phase_adjust_gran"]&.value; end
1471
+ # Gets the value of `fractional-frequency-offset-ppt` attribute in the message.
1472
+ #--
1473
+ # @rbs return: ::Integer
1474
+ def fractional_frequency_offset_ppt; attributes[:"fractional_frequency_offset_ppt"]&.value; end
1475
+ # Gets the value of `measured-frequency` attribute in the message.
1476
+ #--
1477
+ # @rbs return: ::Integer
1478
+ def measured_frequency; attributes[:"measured_frequency"]&.value; end
1479
+ end
1480
+ end
1481
+ NOTIFICATIONS = Ractor.make_shareable({4 => Notifications::DeviceCreateNtf, 5 => Notifications::DeviceDeleteNtf, 6 => Notifications::DeviceChangeNtf, 10 => Notifications::PinCreateNtf, 11 => Notifications::PinDeleteNtf, 12 => Notifications::PinChangeNtf}) #: Hash[::Integer, ::Class]
1482
+ # Get id of dpll device that matches given attributes
1483
+ #
1484
+ #
1485
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1486
+ #--
1487
+ # @rbs (?module_name: ::String, ?clock_id: ::Integer, ?type: ::Integer) -> Messages::DoDeviceIdGetReply
1488
+ def do_device_id_get(**args)
1489
+ exchange_message(:"do", Messages::DoDeviceIdGetRequest, Messages::DoDeviceIdGetReply, args)
1490
+ end
1491
+ # Get list of DPLL devices (dump) or attributes of a single dpll device
1492
+ #
1493
+ #
1494
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1495
+ #--
1496
+ # @rbs (?id: ::Integer) -> Messages::DoDeviceGetReply
1497
+ def do_device_get(**args)
1498
+ exchange_message(:"do", Messages::DoDeviceGetRequest, Messages::DoDeviceGetReply, args)
1499
+ end
1500
+ # Get list of DPLL devices (dump) or attributes of a single dpll device
1501
+ #
1502
+ #
1503
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1504
+ #--
1505
+ # @rbs () -> Enumerable[Messages::DumpDeviceGetReply]
1506
+ # | () { (Messages::DumpDeviceGetReply) -> void } -> void
1507
+ def dump_device_get(**args, &block)
1508
+ exchange_message(:"dump", Messages::DumpDeviceGetRequest, Messages::DumpDeviceGetReply, args, &block)
1509
+ end
1510
+ # Set attributes for a DPLL device
1511
+ #
1512
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1513
+ #--
1514
+ # @rbs (?id: ::Integer, ?mode: ::Integer, ?phase_offset_monitor: ::Integer, ?phase_offset_avg_factor: ::Integer, ?frequency_monitor: ::Integer) -> void
1515
+ def do_device_set(**args)
1516
+ exchange_message(:"do", Messages::DoDeviceSetRequest, nil, args)
1517
+ end
1518
+ # Get id of a pin that matches given attributes
1519
+ #
1520
+ #
1521
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1522
+ #--
1523
+ # @rbs (?module_name: ::String, ?clock_id: ::Integer, ?board_label: ::String, ?panel_label: ::String, ?package_label: ::String, ?type: ::Integer) -> Messages::DoPinIdGetReply
1524
+ def do_pin_id_get(**args)
1525
+ exchange_message(:"do", Messages::DoPinIdGetRequest, Messages::DoPinIdGetReply, args)
1526
+ end
1527
+ # Get list of pins and its attributes.
1528
+ #
1529
+ # - dump request without any attributes given - list all the pins in the
1530
+ # system
1531
+ # - dump request with target dpll - list all the pins registered with
1532
+ # a given dpll device
1533
+ # - do request with target dpll and target pin - single pin attributes
1534
+ #
1535
+ #
1536
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1537
+ #--
1538
+ # @rbs (?id: ::Integer) -> Messages::DoPinGetReply
1539
+ def do_pin_get(**args)
1540
+ exchange_message(:"do", Messages::DoPinGetRequest, Messages::DoPinGetReply, args)
1541
+ end
1542
+ # Get list of pins and its attributes.
1543
+ #
1544
+ # - dump request without any attributes given - list all the pins in the
1545
+ # system
1546
+ # - dump request with target dpll - list all the pins registered with
1547
+ # a given dpll device
1548
+ # - do request with target dpll and target pin - single pin attributes
1549
+ #
1550
+ #
1551
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1552
+ #--
1553
+ # @rbs (?id: ::Integer) -> Enumerable[Messages::DumpPinGetReply]
1554
+ # | (?id: ::Integer) { (Messages::DumpPinGetReply) -> void } -> void
1555
+ def dump_pin_get(**args, &block)
1556
+ exchange_message(:"dump", Messages::DumpPinGetRequest, Messages::DumpPinGetReply, args, &block)
1557
+ end
1558
+ # Set attributes of a target pin
1559
+ #
1560
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1561
+ #--
1562
+ # @rbs (?id: ::Integer, ?direction: ::Integer, ?frequency: ::Integer, ?prio: ::Integer, ?state: ::Integer, ?parent_device: AttributeSets::PinParentDevice, ?parent_pin: AttributeSets::PinParentPin, ?phase_adjust: ::Integer, ?esync_frequency: ::Integer, ?reference_sync: AttributeSets::ReferenceSync) -> void
1563
+ def do_pin_set(**args)
1564
+ exchange_message(:"do", Messages::DoPinSetRequest, nil, args)
1565
+ end
1566
+ class AsyncOperations
1567
+ # :nodoc:
1568
+ def initialize(&exchange)
1569
+ @exchange = exchange
1570
+ end
1571
+ # Get id of dpll device that matches given attributes
1572
+ #
1573
+ #
1574
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1575
+ #--
1576
+ # @rbs (?module_name: ::String, ?clock_id: ::Integer, ?type: ::Integer) -> ::Nl::Async::Future[Messages::DoDeviceIdGetReply]
1577
+ def do_device_id_get(**args)
1578
+ @exchange.call(:"do", Messages::DoDeviceIdGetRequest, Messages::DoDeviceIdGetReply, args)
1579
+ end
1580
+ # Get list of DPLL devices (dump) or attributes of a single dpll device
1581
+ #
1582
+ #
1583
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1584
+ #--
1585
+ # @rbs (?id: ::Integer) -> ::Nl::Async::Future[Messages::DoDeviceGetReply]
1586
+ def do_device_get(**args)
1587
+ @exchange.call(:"do", Messages::DoDeviceGetRequest, Messages::DoDeviceGetReply, args)
1588
+ end
1589
+ # Get list of DPLL devices (dump) or attributes of a single dpll device
1590
+ #
1591
+ #
1592
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1593
+ #--
1594
+ # @rbs () -> ::Nl::Async::Stream[Messages::DumpDeviceGetReply]
1595
+ def dump_device_get(**args)
1596
+ @exchange.call(:"dump", Messages::DumpDeviceGetRequest, Messages::DumpDeviceGetReply, args)
1597
+ end
1598
+ # Set attributes for a DPLL device
1599
+ #
1600
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1601
+ #--
1602
+ # @rbs (?id: ::Integer, ?mode: ::Integer, ?phase_offset_monitor: ::Integer, ?phase_offset_avg_factor: ::Integer, ?frequency_monitor: ::Integer) -> ::Nl::Async::Future[void]
1603
+ def do_device_set(**args)
1604
+ @exchange.call(:"do", Messages::DoDeviceSetRequest, nil, args)
1605
+ end
1606
+ # Get id of a pin that matches given attributes
1607
+ #
1608
+ #
1609
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1610
+ #--
1611
+ # @rbs (?module_name: ::String, ?clock_id: ::Integer, ?board_label: ::String, ?panel_label: ::String, ?package_label: ::String, ?type: ::Integer) -> ::Nl::Async::Future[Messages::DoPinIdGetReply]
1612
+ def do_pin_id_get(**args)
1613
+ @exchange.call(:"do", Messages::DoPinIdGetRequest, Messages::DoPinIdGetReply, args)
1614
+ end
1615
+ # Get list of pins and its attributes.
1616
+ #
1617
+ # - dump request without any attributes given - list all the pins in the
1618
+ # system
1619
+ # - dump request with target dpll - list all the pins registered with
1620
+ # a given dpll device
1621
+ # - do request with target dpll and target pin - single pin attributes
1622
+ #
1623
+ #
1624
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1625
+ #--
1626
+ # @rbs (?id: ::Integer) -> ::Nl::Async::Future[Messages::DoPinGetReply]
1627
+ def do_pin_get(**args)
1628
+ @exchange.call(:"do", Messages::DoPinGetRequest, Messages::DoPinGetReply, args)
1629
+ end
1630
+ # Get list of pins and its attributes.
1631
+ #
1632
+ # - dump request without any attributes given - list all the pins in the
1633
+ # system
1634
+ # - dump request with target dpll - list all the pins registered with
1635
+ # a given dpll device
1636
+ # - do request with target dpll and target pin - single pin attributes
1637
+ #
1638
+ #
1639
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1640
+ #--
1641
+ # @rbs (?id: ::Integer) -> ::Nl::Async::Stream[Messages::DumpPinGetReply]
1642
+ def dump_pin_get(**args)
1643
+ @exchange.call(:"dump", Messages::DumpPinGetRequest, Messages::DumpPinGetReply, args)
1644
+ end
1645
+ # Set attributes of a target pin
1646
+ #
1647
+ # Requires CAP_NET_ADMIN in the initial user namespace.
1648
+ #--
1649
+ # @rbs (?id: ::Integer, ?direction: ::Integer, ?frequency: ::Integer, ?prio: ::Integer, ?state: ::Integer, ?parent_device: AttributeSets::PinParentDevice, ?parent_pin: AttributeSets::PinParentPin, ?phase_adjust: ::Integer, ?esync_frequency: ::Integer, ?reference_sync: AttributeSets::ReferenceSync) -> ::Nl::Async::Future[void]
1650
+ def do_pin_set(**args)
1651
+ @exchange.call(:"do", Messages::DoPinSetRequest, nil, args)
1652
+ end
1653
+ end
1654
+ # Returns the asynchronous operation facade for this family.
1655
+ #--
1656
+ # @rbs (?stream_capacity: ::Integer?) -> AsyncOperations
1657
+ def async(stream_capacity: nil)
1658
+ return @async_operations ||= build_async_facade(AsyncOperations) if stream_capacity.nil?
1659
+ build_async_facade(AsyncOperations, stream_capacity:)
1660
+ end
1661
+ #--
1662
+ # @rbs (*(:monitor) groups) -> self
1663
+ def subscribe(*groups) = super
1664
+ #--
1665
+ # @rbs (*(:monitor) groups) -> self
1666
+ def unsubscribe(*groups) = super
943
1667
  end
944
1668
  end; end