// 32feet.NET - Personal Area Networking for .NET // // InTheHand.Net.Sockets.IrDASocketOptionName // // Copyright (c) 2003-2020 In The Hand Ltd, All rights reserved. // This source code is licensed under the MIT License using System; using System.Net.Sockets; namespace InTheHand.Net.Sockets { // AJMcF /// /// Socket option constants to set IrDA specific connection modes, and /// get/set IrDA specific features. /// /// /// Socket option constants to set IrDA specific connection modes, and /// get/set IrDA specific features: /// for instance to set IrLMP mode, or get the maximum send size. Pass /// to /etc and /// /etc, /// along with optionLevel IrDASocketOptionLevel.; /// see the examples below. /// /// For instance, where cli is an instance of /// . /// In VB.NET, to set IrLMP mode (IrLptMode). /// /// cli.Client.SetSocketOption(IrDASocketOptionLevel.Irlmp, _ /// IrDASocketOptionName.IrLptMode, _ /// 1) 'representing true; can use True itself in FXv2. /// /// In C#, to retrieve the maximum send size. /// /// int maxSendSize = (int)cli.Client.GetSocketOption( /// IrDASocketOptionLevel.Irlmp, /// IrDASocketOptionName.SendPduLength); /// /// public static class IrDASocketOptionName { /// /// Gets the list of discovered devices. /// Is used internally by IrDAClient.DiscoverDevices. /// /// /// In native terms takes a DEVICE_LIST struct. /// public const SocketOptionName EnumDevice = (SocketOptionName)0x00000010; /// /// Sets an entry in the local IAS (Information Access Service) database. /// /// /// In native terms takes a IAS_SET struct. /// public const SocketOptionName IasSet = (SocketOptionName)0x00000011; /// /// Queries an entry in the peer's IAS (Information Access Service) database. /// /// /// In native terms takes a IAS_QUERY struct. /// public const SocketOptionName IasQuery = (SocketOptionName)0x00000012; /// /// Retrieve the maximum send size when using IrLMP directly /// (). /// IrLMP requires sent data to fit in one frame. /// /// /// Integer /// public const SocketOptionName SendPduLength = (SocketOptionName)0x00000013; /// /// Restricts the link to one application-level (IrLMP) connection; /// for use when low latency is required. /// Returns an error on all tested platforms. /// /// /// Returns an error on all tested platforms. Boolean /// public const SocketOptionName ExclusiveMode = (SocketOptionName)0x00000014; /// /// Sets IrLMP mode, disabling TinyTP. Used for instance when /// printing with IrLPT. /// /// /// On Windows platforms at least, is ignored on server-side sockets. /// Boolean /// public const SocketOptionName IrLptMode = (SocketOptionName)0x00000015; /// /// Sets IrCOMM 9-Wire/Cooked mode. Used for instance when connecting /// to the modem in a mobile phone (service name IrDA:IrCOMM). /// /// /// In operation, received IrCOMM control information is discarded and /// null information is sent. /// Boolean /// public const SocketOptionName NineWireMode = (SocketOptionName)0x00000016; /// /// Reportedly sets non-IrDA Sharp ASK mode on the Windows CE /// platform. Presence unverified. /// public const SocketOptionName SharpMode = (SocketOptionName)0x00000020; } }