From 0bfb6af79ece97ce5ed13b3098665972486ccc38 Mon Sep 17 00:00:00 2001 From: github-actions Date: Tue, 23 Dec 2025 12:18:15 +0000 Subject: [PATCH] update API list Smdn.Net.SkStackIP-1.6.0 --- .../Smdn.Net.SkStackIP-net10.0.apilist.cs | 514 ++++++++++++++++++ .../Smdn.Net.SkStackIP-net8.0.apilist.cs | 14 +- ...dn.Net.SkStackIP-netstandard2.1.apilist.cs | 13 +- 3 files changed, 531 insertions(+), 10 deletions(-) create mode 100644 doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-net10.0.apilist.cs diff --git a/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-net10.0.apilist.cs b/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-net10.0.apilist.cs new file mode 100644 index 0000000..38789b3 --- /dev/null +++ b/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-net10.0.apilist.cs @@ -0,0 +1,514 @@ +// Smdn.Net.SkStackIP.dll (Smdn.Net.SkStackIP-1.6.0) +// Name: Smdn.Net.SkStackIP +// AssemblyVersion: 1.6.0.0 +// InformationalVersion: 1.6.0+d432bef22ed781972661adfad84b0e1d3651e9e3 +// TargetFramework: .NETCoreApp,Version=v10.0 +// Configuration: Release +// Metadata: IsTrimmable=True +// Metadata: RepositoryUrl=https://github.com/smdn/Smdn.Net.SkStackIP +// Metadata: RepositoryBranch=main +// Metadata: RepositoryCommit=d432bef22ed781972661adfad84b0e1d3651e9e3 +// Referenced assemblies: +// Microsoft.Extensions.Logging.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60 +// Polly.Core, Version=8.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc +// Smdn.Fundamental.ControlPicture, Version=3.0.0.1, Culture=neutral +// Smdn.Fundamental.PrintableEncoding.Hexadecimal, Version=3.0.0.0, Culture=neutral +// System.Collections, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +// System.ComponentModel.Primitives, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +// System.IO.Pipelines, Version=10.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +// System.Linq, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +// System.Memory, Version=10.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 +// System.Net.NetworkInformation, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +// System.Net.Primitives, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +// System.Runtime, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +// System.Threading, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a +#nullable enable annotations + +using System; +using System.Buffers; +using System.Collections.Generic; +using System.ComponentModel; +using System.Diagnostics.CodeAnalysis; +using System.IO; +using System.IO.Pipelines; +using System.Net; +using System.Net.NetworkInformation; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using Polly; +using Smdn.Net.SkStackIP; +using Smdn.Net.SkStackIP.Protocol; + +namespace Smdn.Net.SkStackIP { + public enum SkStackERXUDPDataFormat : int { + Binary = 0, + HexAsciiText = 1, + } + + public enum SkStackErrorCode : int { + ER01 = 1, + ER02 = 2, + ER03 = 3, + ER04 = 4, + ER05 = 5, + ER06 = 6, + ER07 = 7, + ER08 = 8, + ER09 = 9, + ER10 = 10, + Undefined = 0, + } + + public enum SkStackEventNumber : byte { + ActiveScanCompleted = 34, + BeaconReceived = 32, + EchoRequestReceived = 5, + EnergyDetectScanCompleted = 31, + NeighborAdvertisementReceived = 2, + NeighborSolicitationReceived = 1, + PanaSessionEstablishmentCompleted = 37, + PanaSessionEstablishmentError = 36, + PanaSessionExpired = 41, + PanaSessionTerminationCompleted = 39, + PanaSessionTerminationRequestReceived = 38, + PanaSessionTerminationTimedOut = 40, + TransmissionTimeControlLimitationActivated = 50, + TransmissionTimeControlLimitationDeactivated = 51, + UdpSendCompleted = 33, + Undefined = 0, + WakeupSignalReceived = 192, + } + + public enum SkStackResponseStatus : int { + Fail = -1, + Ok = 1, + Undetermined = 0, + } + + public enum SkStackUdpEncryption : byte { + EncryptIfAble = 2, + ForceEncrypt = 1, + ForcePlainText = 0, + } + + public enum SkStackUdpPortHandle : byte { + Handle1 = 1, + Handle2 = 2, + Handle3 = 3, + Handle4 = 4, + Handle5 = 5, + Handle6 = 6, + None = 0, + } + + public abstract class SkStackActiveScanOptions : ICloneable { + public static SkStackActiveScanOptions Default { get; } + public static SkStackActiveScanOptions Null { get; } + public static SkStackActiveScanOptions ScanUntilFind { get; } + + public static SkStackActiveScanOptions Create(Func> scanDurationGeneratorFunc, PhysicalAddress paaMacAddress) {} + public static SkStackActiveScanOptions Create(Func> scanDurationGeneratorFunc, Predicate? paaSelector = null) {} + public static SkStackActiveScanOptions Create(Func> scanDurationGeneratorFunc, uint channelMask, Predicate? paaSelector = null) {} + public static SkStackActiveScanOptions Create(IEnumerable scanDurationGenerator, PhysicalAddress paaMacAddress) {} + public static SkStackActiveScanOptions Create(IEnumerable scanDurationGenerator, Predicate? paaSelector = null) {} + public static SkStackActiveScanOptions Create(IEnumerable scanDurationGenerator, uint channelMask, Predicate? paaSelector = null) {} + + protected SkStackActiveScanOptions() {} + + public abstract SkStackActiveScanOptions Clone(); + public IEnumerable EnumerateScanDurationFactors() {} + object ICloneable.Clone() {} + } + + public class SkStackClient : IDisposable { + public static readonly TimeSpan SKSCANDefaultDuration; // = "00:00:00.0480000" + public static readonly TimeSpan SKSCANMaxDuration; // = "00:02:37.2960000" + public static readonly TimeSpan SKSCANMinDuration; // = "00:00:00.0192000" + + public event EventHandler? PanaSessionEstablished; + public event EventHandler? PanaSessionExpired; + public event EventHandler? PanaSessionTerminated; + public event EventHandler? Slept; + public event EventHandler? WokeUp; + + public SkStackClient(PipeWriter sender, PipeReader receiver, SkStackERXUDPDataFormat erxudpDataFormat = SkStackERXUDPDataFormat.Binary, ILogger? logger = null) {} + public SkStackClient(Stream stream, bool leaveStreamOpen = true, SkStackERXUDPDataFormat erxudpDataFormat = SkStackERXUDPDataFormat.Binary, ILogger? logger = null) {} + + public SkStackERXUDPDataFormat ERXUDPDataFormat { get; protected set; } + [MemberNotNullWhen(true, "PanaSessionPeerAddress")] + public bool IsPanaSessionAlive { [MemberNotNullWhen(true, "PanaSessionPeerAddress")] get; } + protected ILogger? Logger { get; } + public IPAddress? PanaSessionPeerAddress { get; } + public SkStackEventNumber PanaSessionState { get; } + public TimeSpan ReceiveResponseDelay { get; set; } + public TimeSpan ReceiveUdpPollingInterval { get; set; } + public ISynchronizeInvoke? SynchronizingObject { get; set; } + + public ValueTask> ActiveScanAsync(Action> writeRBID, Action> writePassword, SkStackActiveScanOptions? scanOptions = null, CancellationToken cancellationToken = default) {} + public ValueTask> ActiveScanAsync(ReadOnlyMemory rbid, ReadOnlyMemory password, SkStackActiveScanOptions? scanOptions = null, CancellationToken cancellationToken = default) {} + public ValueTask AuthenticateAsPanaClientAsync(Action> writeRBID, Action> writePassword, IPAddress paaAddress, SkStackChannel channel, int panId, CancellationToken cancellationToken = default) {} + public ValueTask AuthenticateAsPanaClientAsync(Action> writeRBID, Action> writePassword, PhysicalAddress paaMacAddress, SkStackChannel channel, int panId, CancellationToken cancellationToken = default) {} + public ValueTask AuthenticateAsPanaClientAsync(Action> writeRBID, Action> writePassword, SkStackActiveScanOptions? scanOptions = null, CancellationToken cancellationToken = default) {} + public ValueTask AuthenticateAsPanaClientAsync(Action> writeRBID, Action> writePassword, SkStackPanDescription pan, CancellationToken cancellationToken = default) {} + public ValueTask AuthenticateAsPanaClientAsync(ReadOnlyMemory rbid, ReadOnlyMemory password, IPAddress paaAddress, SkStackChannel channel, int panId, CancellationToken cancellationToken = default) {} + public ValueTask AuthenticateAsPanaClientAsync(ReadOnlyMemory rbid, ReadOnlyMemory password, IPAddress paaAddress, int channelNumber, int panId, CancellationToken cancellationToken = default) {} + public ValueTask AuthenticateAsPanaClientAsync(ReadOnlyMemory rbid, ReadOnlyMemory password, PhysicalAddress paaMacAddress, SkStackChannel channel, int panId, CancellationToken cancellationToken = default) {} + public ValueTask AuthenticateAsPanaClientAsync(ReadOnlyMemory rbid, ReadOnlyMemory password, PhysicalAddress paaMacAddress, int channelNumber, int panId, CancellationToken cancellationToken = default) {} + public ValueTask AuthenticateAsPanaClientAsync(ReadOnlyMemory rbid, ReadOnlyMemory password, SkStackActiveScanOptions? scanOptions = null, CancellationToken cancellationToken = default) {} + public ValueTask AuthenticateAsPanaClientAsync(ReadOnlyMemory rbid, ReadOnlyMemory password, SkStackPanDescription pan, CancellationToken cancellationToken = default) {} + public async ValueTask ConvertToIPv6LinkLocalAddressAsync(PhysicalAddress macAddress, CancellationToken cancellationToken = default) {} + public ValueTask DisableFlashMemoryAutoLoadAsync(CancellationToken cancellationToken = default) {} + protected virtual void Dispose(bool disposing) {} + public void Dispose() {} + public ValueTask EnableFlashMemoryAutoLoadAsync(CancellationToken cancellationToken = default) {} + public async ValueTask> GetAvailableAddressListAsync(CancellationToken cancellationToken = default) {} + public async ValueTask> GetListeningUdpPortListAsync(CancellationToken cancellationToken = default) {} + public async ValueTask> GetNeighborCacheListAsync(CancellationToken cancellationToken = default) {} + public async ValueTask> GetUnusedUdpPortHandleListAsync(CancellationToken cancellationToken = default) {} + public async ValueTask LoadFlashMemoryAsync(CancellationToken cancellationToken = default) {} + public async ValueTask PrepareUdpPortAsync(int port, CancellationToken cancellationToken = default) {} + public ValueTask ReceiveUdpAsync(int port, IBufferWriter buffer, CancellationToken cancellationToken = default) {} + public ValueTask ReceiveUdpEchonetLiteAsync(IBufferWriter buffer, CancellationToken cancellationToken = default) {} + public ValueTask SaveFlashMemoryAsync(SkStackFlashMemoryWriteRestriction restriction, CancellationToken cancellationToken = default) {} + internal protected ValueTask> SendCommandAsync(ReadOnlyMemory command, Action? writeArguments, SkStackSequenceParser parseResponsePayload, SkStackProtocolSyntax? syntax = null, bool throwIfErrorStatus = true, CancellationToken cancellationToken = default) {} + internal protected async ValueTask SendCommandAsync(ReadOnlyMemory command, Action? writeArguments = null, SkStackProtocolSyntax? syntax = null, bool throwIfErrorStatus = true, CancellationToken cancellationToken = default) {} + public ValueTask SendSKADDNBRAsync(IPAddress ipv6Address, PhysicalAddress macAddress, CancellationToken cancellationToken = default) {} + public ValueTask> SendSKAPPVERAsync(CancellationToken cancellationToken = default) {} + public ValueTask SendSKDSLEEPAsync(bool waitUntilWakeUp = false, CancellationToken cancellationToken = default) {} + public ValueTask SendSKERASEAsync(CancellationToken cancellationToken = default) {} + public ValueTask> SendSKINFOAsync(CancellationToken cancellationToken = default) {} + public ValueTask SendSKJOINAsync(IPAddress ipv6address, CancellationToken cancellationToken = default) {} + public ValueTask> SendSKLL64Async(PhysicalAddress macAddress, CancellationToken cancellationToken = default) {} + public ValueTask SendSKLOADAsync(CancellationToken cancellationToken = default) {} + public ValueTask<(SkStackResponse Response, IPAddress Address)> SendSKREJOINAsync(CancellationToken cancellationToken = default) {} + public ValueTask SendSKRESETAsync(CancellationToken cancellationToken = default) {} + public ValueTask SendSKSAVEAsync(CancellationToken cancellationToken = default) {} + public ValueTask<(SkStackResponse Response, IReadOnlyList PanDescriptions)> SendSKSCANActiveScanAsync(TimeSpan duration = default, uint channelMask = uint.MaxValue, CancellationToken cancellationToken = default) {} + public ValueTask<(SkStackResponse Response, IReadOnlyList PanDescriptions)> SendSKSCANActiveScanAsync(int durationFactor, uint channelMask = uint.MaxValue, CancellationToken cancellationToken = default) {} + public ValueTask<(SkStackResponse Response, IReadOnlyList PanDescriptions)> SendSKSCANActiveScanPairAsync(TimeSpan duration = default, uint channelMask = uint.MaxValue, CancellationToken cancellationToken = default) {} + public ValueTask<(SkStackResponse Response, IReadOnlyList PanDescriptions)> SendSKSCANActiveScanPairAsync(int durationFactor, uint channelMask = uint.MaxValue, CancellationToken cancellationToken = default) {} + public ValueTask<(SkStackResponse Response, IReadOnlyDictionary ScanResult)> SendSKSCANEnergyDetectScanAsync(TimeSpan duration = default, uint channelMask = uint.MaxValue, CancellationToken cancellationToken = default) {} + public ValueTask<(SkStackResponse Response, IReadOnlyDictionary ScanResult)> SendSKSCANEnergyDetectScanAsync(int durationFactor, uint channelMask = uint.MaxValue, CancellationToken cancellationToken = default) {} + public ValueTask<(SkStackResponse Response, bool IsCompletedSuccessfully)> SendSKSENDTOAsync(SkStackUdpPort port, IPAddress destinationAddress, int destinationPort, ReadOnlyMemory data, SkStackUdpEncryption encryption = SkStackUdpEncryption.EncryptIfAble, CancellationToken cancellationToken = default) {} + public ValueTask<(SkStackResponse Response, bool IsCompletedSuccessfully)> SendSKSENDTOAsync(SkStackUdpPort port, IPEndPoint destination, ReadOnlyMemory data, SkStackUdpEncryption encryption = SkStackUdpEncryption.EncryptIfAble, CancellationToken cancellationToken = default) {} + public ValueTask<(SkStackResponse Response, bool IsCompletedSuccessfully)> SendSKSENDTOAsync(SkStackUdpPortHandle handle, IPAddress destinationAddress, int destinationPort, ReadOnlyMemory data, SkStackUdpEncryption encryption = SkStackUdpEncryption.EncryptIfAble, CancellationToken cancellationToken = default) {} + public ValueTask<(SkStackResponse Response, bool IsCompletedSuccessfully)> SendSKSENDTOAsync(SkStackUdpPortHandle handle, IPEndPoint destination, ReadOnlyMemory data, SkStackUdpEncryption encryption = SkStackUdpEncryption.EncryptIfAble, CancellationToken cancellationToken = default) {} + public ValueTask SendSKSETPWDAsync(Action> writePassword, CancellationToken cancellationToken = default) {} + public ValueTask SendSKSETPWDAsync(ReadOnlyMemory password, CancellationToken cancellationToken = default) {} + public ValueTask SendSKSETPWDAsync(ReadOnlyMemory password, CancellationToken cancellationToken = default) {} + public ValueTask SendSKSETRBIDAsync(Action> writeRBID, CancellationToken cancellationToken = default) {} + public ValueTask SendSKSETRBIDAsync(ReadOnlyMemory id, CancellationToken cancellationToken = default) {} + public ValueTask SendSKSETRBIDAsync(ReadOnlyMemory id, CancellationToken cancellationToken = default) {} + public ValueTask> SendSKSREGAsync(SkStackRegister.RegisterEntry register, CancellationToken cancellationToken = default) {} + public ValueTask SendSKSREGAsync(SkStackRegister.RegisterEntry register, TValue @value, CancellationToken cancellationToken = default) {} + public ValueTask>> SendSKTABLEAvailableAddressListAsync(CancellationToken cancellationToken = default) {} + public ValueTask>> SendSKTABLEListeningPortListAsync(CancellationToken cancellationToken = default) {} + public ValueTask>> SendSKTABLENeighborCacheListAsync(CancellationToken cancellationToken = default) {} + public async ValueTask<(SkStackResponse Response, bool IsCompletedSuccessfully)> SendSKTERMAsync(CancellationToken cancellationToken = default) {} + public ValueTask<(SkStackResponse Response, SkStackUdpPort UdpPort)> SendSKUDPPORTAsync(SkStackUdpPortHandle handle, int port, CancellationToken cancellationToken = default) {} + public ValueTask SendSKUDPPORTUnsetAsync(SkStackUdpPortHandle handle, CancellationToken cancellationToken = default) {} + public ValueTask> SendSKVERAsync(CancellationToken cancellationToken = default) {} + public ValueTask SendUdpEchonetLiteAsync(ReadOnlyMemory buffer, ResiliencePipeline? resiliencePipeline = null, CancellationToken cancellationToken = default) {} + protected async ValueTask SetFlashMemoryAutoLoadAsync(bool trueIfEnable, CancellationToken cancellationToken = default) {} + public void StartCapturingUdpReceiveEvents(int port) {} + public void StopCapturingUdpReceiveEvents(int port) {} + public ValueTask TerminatePanaSessionAsync(CancellationToken cancellationToken = default) {} + protected void ThrowIfDisposed() {} + public void ThrowIfPanaSessionAlreadyEstablished() {} + [MemberNotNull("PanaSessionPeerAddress")] + [Obsolete("Use ThrowIfPanaSessionNotEstablished instead.")] + internal protected void ThrowIfPanaSessionIsNotEstablished() {} + [MemberNotNull("PanaSessionPeerAddress")] + public void ThrowIfPanaSessionNotAlive() {} + [MemberNotNull("PanaSessionPeerAddress")] + public void ThrowIfPanaSessionNotEstablished() {} + } + + public class SkStackCommandNotSupportedException : SkStackErrorResponseException { + } + + public class SkStackErrorResponseException : SkStackResponseException { + public SkStackErrorCode ErrorCode { get; } + public string ErrorText { get; } + public SkStackResponse Response { get; } + } + + public class SkStackEventArgs : EventArgs { + public SkStackEventNumber EventNumber { get; } + } + + public class SkStackFlashMemoryIOException : SkStackErrorResponseException { + } + + public abstract class SkStackFlashMemoryWriteRestriction { + public static SkStackFlashMemoryWriteRestriction CreateGrantIfElapsed(TimeSpan interval) {} + public static SkStackFlashMemoryWriteRestriction DangerousCreateAlwaysGrant() {} + + protected SkStackFlashMemoryWriteRestriction() {} + + internal protected abstract bool IsRestricted(); + } + + public static class SkStackKnownPortNumbers { + public const int EchonetLite = 3610; + public const int Pana = 716; + } + + public class SkStackPanaSessionEstablishmentException : SkStackPanaSessionException { + public SkStackChannel? Channel { get; } + public IPAddress? PaaAddress { get; } + public int? PanId { get; } + } + + public sealed class SkStackPanaSessionEventArgs : SkStackEventArgs { + public IPAddress PanaSessionPeerAddress { get; } + } + + public abstract class SkStackPanaSessionException : InvalidOperationException { + public IPAddress Address { get; } + public SkStackEventNumber EventNumber { get; } + } + + public class SkStackPanaSessionExpiredException : SkStackPanaSessionStateException { + public SkStackPanaSessionExpiredException() {} + public SkStackPanaSessionExpiredException(string message) {} + public SkStackPanaSessionExpiredException(string message, Exception? innerException = null) {} + } + + public sealed class SkStackPanaSessionInfo { + public SkStackChannel Channel { get; } + public IPAddress LocalAddress { get; } + public PhysicalAddress LocalMacAddress { get; } + public int PanId { get; } + public IPAddress PeerAddress { get; } + public PhysicalAddress PeerMacAddress { get; } + } + + public class SkStackPanaSessionNotEstablishedException : SkStackPanaSessionStateException { + public SkStackPanaSessionNotEstablishedException() {} + public SkStackPanaSessionNotEstablishedException(string message) {} + public SkStackPanaSessionNotEstablishedException(string message, Exception? innerException = null) {} + } + + public class SkStackPanaSessionStateException : InvalidOperationException { + public SkStackPanaSessionStateException() {} + public SkStackPanaSessionStateException(string message) {} + public SkStackPanaSessionStateException(string message, Exception? innerException = null) {} + } + + public class SkStackPanaSessionTerminatedException : SkStackPanaSessionStateException { + public SkStackPanaSessionTerminatedException() {} + public SkStackPanaSessionTerminatedException(string message) {} + public SkStackPanaSessionTerminatedException(string message, Exception? innerException = null) {} + } + + public static class SkStackRegister { + public abstract class RegisterEntry { + private protected delegate bool ExpectValueFunc(ref SequenceReader reader, out TValue @value); + + public bool IsReadable { get; } + public bool IsWritable { get; } + public TValue MaxValue { get; } + public TValue MinValue { get; } + public string Name { get; } + } + + public static SkStackRegister.RegisterEntry AcceptIcmpEcho { get; } + public static SkStackRegister.RegisterEntry AccumulatedSendTimeInMilliseconds { get; } + public static SkStackRegister.RegisterEntry Channel { get; } + public static SkStackRegister.RegisterEntry EnableAutoLoad { get; } + public static SkStackRegister.RegisterEntry EnableAutoReauthentication { get; } + public static SkStackRegister.RegisterEntry EnableEchoback { get; } + public static SkStackRegister.RegisterEntry EncryptIPMulticast { get; } + public static SkStackRegister.RegisterEntry FrameCounter { get; } + public static SkStackRegister.RegisterEntry IsSendingRestricted { get; } + public static SkStackRegister.RegisterEntry> PairingId { get; } + public static SkStackRegister.RegisterEntry PanId { get; } + public static SkStackRegister.RegisterEntry PanaSessionLifetimeInSeconds { get; } + public static SkStackRegister.RegisterEntry RespondBeaconRequest { get; } + public static SkStackRegister.RegisterEntry S02 { get; } + public static SkStackRegister.RegisterEntry S03 { get; } + public static SkStackRegister.RegisterEntry S07 { get; } + public static SkStackRegister.RegisterEntry> S0A { get; } + public static SkStackRegister.RegisterEntry S15 { get; } + public static SkStackRegister.RegisterEntry S16 { get; } + public static SkStackRegister.RegisterEntry S17 { get; } + public static SkStackRegister.RegisterEntry SA0 { get; } + public static SkStackRegister.RegisterEntry SA1 { get; } + public static SkStackRegister.RegisterEntry SFB { get; } + public static SkStackRegister.RegisterEntry SFD { get; } + public static SkStackRegister.RegisterEntry SFE { get; } + public static SkStackRegister.RegisterEntry SFF { get; } + } + + public class SkStackResponse { + public SkStackResponseStatus Status { get; } + public ReadOnlyMemory StatusText { get; } + public bool Success { get; } + } + + public class SkStackResponseException : InvalidOperationException { + public SkStackResponseException() {} + public SkStackResponseException(string message) {} + public SkStackResponseException(string message, Exception? innerException = null) {} + } + + public class SkStackResponse : SkStackResponse { + public TPayload Payload { get; } + } + + public class SkStackUartIOException : SkStackErrorResponseException { + } + + public class SkStackUdpSendFailedException : InvalidOperationException { + public SkStackUdpSendFailedException() {} + public SkStackUdpSendFailedException(string message) {} + public SkStackUdpSendFailedException(string message, Exception? innerException = null) {} + public SkStackUdpSendFailedException(string message, SkStackUdpPortHandle portHandle, IPAddress peerAddress, Exception? innerException = null) {} + + public IPAddress? PeerAddress { get; } + public SkStackUdpPortHandle PortHandle { get; } + } + + public class SkStackUdpSendResultIndeterminateException : InvalidOperationException { + public SkStackUdpSendResultIndeterminateException() {} + public SkStackUdpSendResultIndeterminateException(string message) {} + public SkStackUdpSendResultIndeterminateException(string message, Exception? innerException = null) {} + } + + public readonly struct SkStackChannel : + IComparable, + IEquatable + { + public static readonly IReadOnlyDictionary Channels; // = "System.Collections.Generic.Dictionary`2[System.Int32,Smdn.Net.SkStackIP.SkStackChannel]" + public static readonly SkStackChannel Empty; // = "0ch (S02=0x00, 0 MHz)" + + public static SkStackChannel Channel33 { get; } + public static SkStackChannel Channel34 { get; } + public static SkStackChannel Channel35 { get; } + public static SkStackChannel Channel36 { get; } + public static SkStackChannel Channel37 { get; } + public static SkStackChannel Channel38 { get; } + public static SkStackChannel Channel39 { get; } + public static SkStackChannel Channel40 { get; } + public static SkStackChannel Channel41 { get; } + public static SkStackChannel Channel42 { get; } + public static SkStackChannel Channel43 { get; } + public static SkStackChannel Channel44 { get; } + public static SkStackChannel Channel45 { get; } + public static SkStackChannel Channel46 { get; } + public static SkStackChannel Channel47 { get; } + public static SkStackChannel Channel48 { get; } + public static SkStackChannel Channel49 { get; } + public static SkStackChannel Channel50 { get; } + public static SkStackChannel Channel51 { get; } + public static SkStackChannel Channel52 { get; } + public static SkStackChannel Channel53 { get; } + public static SkStackChannel Channel54 { get; } + public static SkStackChannel Channel55 { get; } + public static SkStackChannel Channel56 { get; } + public static SkStackChannel Channel57 { get; } + public static SkStackChannel Channel58 { get; } + public static SkStackChannel Channel59 { get; } + public static SkStackChannel Channel60 { get; } + + public static uint CreateMask(params SkStackChannel[] channels) {} + public static bool operator == (SkStackChannel x, SkStackChannel y) {} + public static bool operator != (SkStackChannel x, SkStackChannel y) {} + + public int ChannelNumber { get; } + public decimal FrequencyMHz { get; } + public bool IsEmpty { get; } + + public bool Equals(SkStackChannel other) {} + public override bool Equals(object? obj) {} + public override int GetHashCode() {} + int IComparable.CompareTo(SkStackChannel other) {} + public override string ToString() {} + } + + public readonly struct SkStackPanDescription { + public SkStackChannel Channel { get; } + public int ChannelPage { get; } + public int Id { get; } + public PhysicalAddress MacAddress { get; } + public uint PairingId { get; } + public decimal Rssi { get; } + + public override string ToString() {} + } + + public readonly struct SkStackUdpPort { + public static readonly SkStackUdpPort Null; // = "0 (#0)" + + public SkStackUdpPortHandle Handle { get; } + public bool IsNull { get; } + public bool IsUnused { get; } + public int Port { get; } + + public override string ToString() {} + } +} + +namespace Smdn.Net.SkStackIP.Protocol { + public delegate TResult SkStackSequenceParser(ISkStackSequenceParserContext context); + + public interface ISkStackCommandLineWriter { + void WriteMaskedToken(ReadOnlySpan token); + void WriteToken(ReadOnlySpan token); + } + + public interface ISkStackSequenceParserContext { + ReadOnlySequence UnparsedSequence { get; } + + void Complete(); + void Complete(SequenceReader consumedReader); + void Continue(); + ISkStackSequenceParserContext CreateCopy(); + virtual SequenceReader CreateReader() {} + void Ignore(); + void SetAsIncomplete(); + void SetAsIncomplete(SequenceReader incompleteReader); + } + + public abstract class SkStackProtocolSyntax { + public static SkStackProtocolSyntax Default { get; } + + protected SkStackProtocolSyntax() {} + + public abstract ReadOnlySpan EndOfCommandLine { get; } + public virtual ReadOnlySpan EndOfEchobackLine { get; } + public abstract ReadOnlySpan EndOfStatusLine { get; } + public abstract bool ExpectStatusLine { get; } + } + + public static class SkStackTokenParser { + public static bool Expect(ref SequenceReader reader, int length, Converter, TValue> converter, [NotNullWhen(true)] out TValue @value) {} + public static bool ExpectADDR16(ref SequenceReader reader, out ushort @value) {} + public static bool ExpectADDR64(ref SequenceReader reader, [NotNullWhen(true)] out PhysicalAddress? @value) {} + public static bool ExpectBinary(ref SequenceReader reader, out bool @value) {} + public static bool ExpectCHANNEL(ref SequenceReader reader, out SkStackChannel @value) {} + public static bool ExpectCharArray(ref SequenceReader reader, [NotNullWhen(true)] out string? @value) {} + public static bool ExpectCharArray(ref SequenceReader reader, out ReadOnlyMemory @value) {} + public static bool ExpectDecimalNumber(ref SequenceReader reader, int length, out uint @value) {} + public static bool ExpectDecimalNumber(ref SequenceReader reader, out uint @value) {} + public static bool ExpectEndOfLine(ref SequenceReader reader) {} + public static bool ExpectIPADDR(ref SequenceReader reader, [NotNullWhen(true)] out IPAddress? @value) {} + public static bool ExpectSequence(ref SequenceReader reader, ReadOnlySpan expectedSequence) {} + public static bool ExpectToken(ref SequenceReader reader, ReadOnlySpan expectedToken) {} + public static bool ExpectUINT16(ref SequenceReader reader, out ushort @value) {} + public static bool ExpectUINT32(ref SequenceReader reader, out uint @value) {} + public static bool ExpectUINT64(ref SequenceReader reader, out ulong @value) {} + public static bool ExpectUINT8(ref SequenceReader reader, out byte @value) {} + public static void ToByteSequence(ReadOnlySequence hexTextSequence, int byteSequenceLength, Span destination) {} + public static bool TryExpectStatusLine(ref SequenceReader reader, out SkStackResponseStatus status) {} + public static OperationStatus TryExpectToken(ref SequenceReader reader, ReadOnlySpan expectedToken) {} + } + + public class SkStackUnexpectedResponseException : SkStackResponseException { + public string? CausedText { get; } + } +} +// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.7.1.0. +// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.5.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating) diff --git a/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-net8.0.apilist.cs b/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-net8.0.apilist.cs index 8152c75..8ae3251 100644 --- a/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-net8.0.apilist.cs +++ b/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-net8.0.apilist.cs @@ -1,9 +1,13 @@ -// Smdn.Net.SkStackIP.dll (Smdn.Net.SkStackIP-1.5.2) +// Smdn.Net.SkStackIP.dll (Smdn.Net.SkStackIP-1.6.0) // Name: Smdn.Net.SkStackIP -// AssemblyVersion: 1.5.2.0 -// InformationalVersion: 1.5.2+e20e0c7c296fb514b9b1ed1a62fa9dbb6ecce93f +// AssemblyVersion: 1.6.0.0 +// InformationalVersion: 1.6.0+d432bef22ed781972661adfad84b0e1d3651e9e3 // TargetFramework: .NETCoreApp,Version=v8.0 // Configuration: Release +// Metadata: IsTrimmable=True +// Metadata: RepositoryUrl=https://github.com/smdn/Smdn.Net.SkStackIP +// Metadata: RepositoryBranch=main +// Metadata: RepositoryCommit=d432bef22ed781972661adfad84b0e1d3651e9e3 // Referenced assemblies: // Microsoft.Extensions.Logging.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60 // Polly.Core, Version=8.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc @@ -506,5 +510,5 @@ public class SkStackUnexpectedResponseException : SkStackResponseException { public string? CausedText { get; } } } -// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.6.0.0. -// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.4.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating) +// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.7.1.0. +// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.5.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating) diff --git a/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-netstandard2.1.apilist.cs b/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-netstandard2.1.apilist.cs index 5c80067..d79c7de 100644 --- a/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-netstandard2.1.apilist.cs +++ b/doc/api-list/Smdn.Net.SkStackIP/Smdn.Net.SkStackIP-netstandard2.1.apilist.cs @@ -1,9 +1,12 @@ -// Smdn.Net.SkStackIP.dll (Smdn.Net.SkStackIP-1.5.2) +// Smdn.Net.SkStackIP.dll (Smdn.Net.SkStackIP-1.6.0) // Name: Smdn.Net.SkStackIP -// AssemblyVersion: 1.5.2.0 -// InformationalVersion: 1.5.2+e20e0c7c296fb514b9b1ed1a62fa9dbb6ecce93f +// AssemblyVersion: 1.6.0.0 +// InformationalVersion: 1.6.0+d432bef22ed781972661adfad84b0e1d3651e9e3 // TargetFramework: .NETStandard,Version=v2.1 // Configuration: Release +// Metadata: RepositoryUrl=https://github.com/smdn/Smdn.Net.SkStackIP +// Metadata: RepositoryBranch=main +// Metadata: RepositoryCommit=d432bef22ed781972661adfad84b0e1d3651e9e3 // Referenced assemblies: // Microsoft.Extensions.Logging.Abstractions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60 // Polly.Core, Version=8.0.0.0, Culture=neutral, PublicKeyToken=c8a3ffc3f8f825cc @@ -496,5 +499,5 @@ public class SkStackUnexpectedResponseException : SkStackResponseException { public string? CausedText { get; } } } -// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.6.0.0. -// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.4.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating) +// API list generated by Smdn.Reflection.ReverseGenerating.ListApi.MSBuild.Tasks v1.7.1.0. +// Smdn.Reflection.ReverseGenerating.ListApi.Core v1.5.0.0 (https://github.com/smdn/Smdn.Reflection.ReverseGenerating)