3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/*
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Copyright 2009 Juan Lang
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is free software; you can redistribute it and/or
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * modify it under the terms of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License as published by the Free Software Foundation; either
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * version 2.1 of the License, or (at your option) any later version.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * This library is distributed in the hope that it will be useful,
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Lesser General Public License for more details.
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync *
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * You should have received a copy of the GNU Lesser General Public
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * License along with this library; if not, write to the Free Software
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync */
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync/*
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * a choice of LGPL license versions is made available with the language indicating
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync * of the LGPL is applied is otherwise unspecified.
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync */
930b5f872e89407f445d4000d4e4aaecaa6a0998vboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifndef AF_IRDA_H
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define AF_IRDA_H
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _IRDA_DEVICE_INFO
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UCHAR irdaDeviceID[4];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync char irdaDeviceName[22];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UCHAR irdaDeviceHints1;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UCHAR irdaDeviceHints2;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UCHAR irdaCharSet;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} IRDA_DEVICE_INFO, *PIRDA_DEVICE_INFO;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _DEVICELIST
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync ULONG numDevice;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync IRDA_DEVICE_INFO Device[1];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} DEVICELIST, *PDEVICELIST;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsynctypedef struct _SOCKADDR_IRDA
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync{
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync USHORT irdaAddressFamily;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync UCHAR irdaDeviceID[4];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync char irdaServiceName[25];
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync} SOCKADDR_IRDA, *PSOCKADDR_IRDA, *LPSOCKADDR_IRDA;
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#ifdef USE_WS_PREFIX
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Socket levels and options */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WS_SOL_IRLMP 0xff
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WS_IRLMP_ENUMDEVICES ((ULONG)0x10)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WS_IRLMP_IAS_SET ((ULONG)0x11)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WS_IRLMP_IAS_QUERY ((ULONG)0x12)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WS_IRLMP_SEND_PDU_LEN ((ULONG)0x13)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WS_IRLMP_EXCLUSIVE_MODE ((ULONG)0x14)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WS_IRLMP_IRLPT_MODE ((ULONG)0x15)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WS_IRLMP_9WIRE_MODE ((ULONG)0x16)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WS_IRLMP_TINYTP_MODE ((ULONG)0x17)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WS_IRLMP_PARAMETERS ((ULONG)0x18)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WS_IRLMP_DISCOVER_MODE ((ULONG)0x19)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WS_IRLMP_SHARP_MODE ((ULONG)0x20)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WS_IAS_MAX_CLASSNAME 64
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define WS_IAS_MAX_ATTRIBNAME 256
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#else
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync/* Socket levels and options */
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define SOL_IRLMP 0xff
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IRLMP_ENUMDEVICES ((ULONG)0x10)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IRLMP_IAS_SET ((ULONG)0x11)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IRLMP_IAS_QUERY ((ULONG)0x12)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IRLMP_SEND_PDU_LEN ((ULONG)0x13)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IRLMP_EXCLUSIVE_MODE ((ULONG)0x14)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IRLMP_IRLPT_MODE ((ULONG)0x15)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IRLMP_9WIRE_MODE ((ULONG)0x16)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IRLMP_TINYTP_MODE ((ULONG)0x17)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IRLMP_PARAMETERS ((ULONG)0x18)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IRLMP_DISCOVER_MODE ((ULONG)0x19)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IRLMP_SHARP_MODE ((ULONG)0x20)
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAS_MAX_CLASSNAME 64
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAS_MAX_ATTRIBNAME 256
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAS_MAX_OCTET_STRING 1024
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define IAS_MAX_USER_STRING 256
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LmCharSetASCII 0x00
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LmCharSetISO_8859_1 0x01
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LmCharSetISO_8859_2 0x02
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LmCharSetISO_8859_3 0x03
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LmCharSetISO_8859_4 0x04
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LmCharSetISO_8859_5 0x05
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LmCharSetISO_8859_6 0x06
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LmCharSetISO_8859_7 0x07
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LmCharSetISO_8859_8 0x08
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LmCharSetISO_8859_9 0x09
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#define LmCharSetUNICODE 0xff
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync
3194da424708abdd288b28d96892b3a5f3f7df0bvboxsync#endif /* AF_IRDA_H */