include: Add missing definitions in af_irda.h.

Thomas Trummer th.trummer at gmail.com
Sun Aug 23 09:54:45 CDT 2009


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20090823/2c90be33/attachment.htm>
-------------- next part --------------
From 368f37a6268d72b74add12208203f6289c2dd3d2 Mon Sep 17 00:00:00 2001
From: Thomas Trummer <th.trummer at gmail.com>
Date: Sun, 23 Aug 2009 16:45:10 +0200
Subject: include: Add missing definitions in af_irda.h

---
 include/af_irda.h |  273 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 212 insertions(+), 61 deletions(-)

diff --git a/include/af_irda.h b/include/af_irda.h
index 3be5b39..619a145 100644
--- a/include/af_irda.h
+++ b/include/af_irda.h
@@ -15,23 +15,139 @@
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
+
 #ifndef AF_IRDA_H
 #define AF_IRDA_H
 
-typedef struct _IRDA_DEVICE_INFO
+#ifdef USE_WS_PREFIX
+# define WS(x) WS_##x
+#else
+# define WS(x) x
+#endif
+
+#define SIO_LAZY_DISCOVERY  _IOR('t', 127, ULONG)
+
+#define WINDOWS_AF_IRDA                       26
+#define WINDOWS_PF_IRDA          WINDOWS_AF_IRDA
+
+#define WCE_AF_IRDA                           22
+#define WCE_PF_IRDA                  WCE_AF_IRDA
+
+#ifndef AF_IRDA
+#define AF_IRDA                  WINDOWS_AF_IRDA
+#endif
+
+#ifndef PF_IRDA
+#define PF_IRDA                          AF_IRDA
+#endif
+
+#define IRDA_PROTO_SOCK_STREAM                 1
+
+#define LM_BAUD_1200                        1200
+#define LM_BAUD_2400                        2400
+#define LM_BAUD_9600                        9600
+#define LM_BAUD_19200                      19200
+#define LM_BAUD_38400                      38400
+#define LM_BAUD_57600                      57600
+#define LM_BAUD_115200                    115200
+#define LM_BAUD_576K                      576000
+#define LM_BAUD_1152K                    1152000
+#define LM_BAUD_4M                       4000000
+#define LM_BAUD_16M                     16000000
+
+#define LmCharSetASCII                      0x00
+#define LmCharSetISO_8859_1                 0x01
+#define LmCharSetISO_8859_2                 0x02
+#define LmCharSetISO_8859_3                 0x03
+#define LmCharSetISO_8859_4                 0x04
+#define LmCharSetISO_8859_5                 0x05
+#define LmCharSetISO_8859_6                 0x06
+#define LmCharSetISO_8859_7                 0x07
+#define LmCharSetISO_8859_8                 0x08
+#define LmCharSetISO_8859_9                 0x09
+#define LmCharSetUNICODE                    0xff
+
+#define IAS_ATTRIB_NO_ATTRIB        ((ULONG)0x00)
+#define IAS_ATTRIB_INT              ((ULONG)0x01)
+#define IAS_ATTRIB_OCTETSEQ         ((ULONG)0x02)
+#define IAS_ATTRIB_STR              ((ULONG)0x03)
+#define IAS_ATTRIB_NO_CLASS         ((ULONG)0x10)
+
+#ifdef USE_WS_PREFIX
+
+/* Socket levels and options */
+#define WS_SOL_IRLMP                        0xff
+
+#define WS_IRLMP_ENUMDEVICES        ((ULONG)0x10)
+#define WS_IRLMP_IAS_SET            ((ULONG)0x11)
+#define WS_IRLMP_IAS_QUERY          ((ULONG)0x12)
+#define WS_IRLMP_SEND_PDU_LEN       ((ULONG)0x13)
+#define WS_IRLMP_EXCLUSIVE_MODE     ((ULONG)0x14)
+#define WS_IRLMP_IRLPT_MODE         ((ULONG)0x15)
+#define WS_IRLMP_9WIRE_MODE         ((ULONG)0x16)
+#define WS_IRLMP_TINYTP_MODE        ((ULONG)0x17)
+#define WS_IRLMP_PARAMETERS         ((ULONG)0x18)
+#define WS_IRLMP_DISCOVER_MODE      ((ULONG)0x19)
+#define WS_IRLMP_SHARP_MODE         ((ULONG)0x20)
+
+#define WS_IAS_MAX_CLASSNAME                  64
+#define WS_IAS_MAX_ATTRIBNAME                256
+#define WS_IAS_MAX_USER_STRING               256
+#define WS_IAS_MAX_OCTET_STRING             1024
+
+#else
+
+/* Socket levels and options */
+#define SOL_IRLMP 0xff
+
+#define IRLMP_ENUMDEVICES           ((ULONG)0x10)
+#define IRLMP_IAS_SET               ((ULONG)0x11)
+#define IRLMP_IAS_QUERY             ((ULONG)0x12)
+#define IRLMP_SEND_PDU_LEN          ((ULONG)0x13)
+#define IRLMP_EXCLUSIVE_MODE        ((ULONG)0x14)
+#define IRLMP_IRLPT_MODE            ((ULONG)0x15)
+#define IRLMP_9WIRE_MODE            ((ULONG)0x16)
+#define IRLMP_TINYTP_MODE           ((ULONG)0x17)
+#define IRLMP_PARAMETERS            ((ULONG)0x18)
+#define IRLMP_DISCOVER_MODE         ((ULONG)0x19)
+#define IRLMP_SHARP_MODE            ((ULONG)0x20)
+
+#define IAS_MAX_CLASSNAME                     64
+#define IAS_MAX_ATTRIBNAME                   256
+#define IAS_MAX_USER_STRING                  256
+#define IAS_MAX_OCTET_STRING                1024
+
+#endif
+
+enum
 {
-    UCHAR irdaDeviceID[4];
-    char  irdaDeviceName[22];
-    UCHAR irdaDeviceHints1;
-    UCHAR irdaDeviceHints2;
-    UCHAR irdaCharSet;
-} IRDA_DEVICE_INFO, *PIRDA_DEVICE_INFO;
+    LM_HB1_PnP         =   1,
+    LM_HB1_PDA_Palmtop =   2,
+    LM_HB1_Computer    =   4,
+    LM_HB1_Printer     =   8,
+    LM_HB1_Modem       =  16,
+    LM_HB1_Fax         =  32,
+    LM_HB1_LANAccess   =  64,
 
-typedef struct _DEVICELIST
+    LM_HB_Extension    = 128,
+
+    LM_HB2_Telephony   =   1,
+    LM_HB2_FileServer  =   2
+};
+
+typedef ULONG LM_BAUD_RATE;
+
+typedef struct  
 {
-    ULONG            numDevice;
-    IRDA_DEVICE_INFO Device[1];
-} DEVICELIST, *PDEVICELIST;
+    ULONG        nTXDataBytes;
+    ULONG        nRXDataBytes;
+    LM_BAUD_RATE nBaudRate;
+    ULONG        thresholdTime;
+    ULONG        discTime;
+    USHORT       nMSLinkTurn;
+    UCHAR        nTXPackets;
+    UCHAR        nRXPackets;
+} LM_IRPARMS, *PLM_IRPARMS;
 
 typedef struct _SOCKADDR_IRDA
 {
@@ -40,61 +156,96 @@ typedef struct _SOCKADDR_IRDA
     char   irdaServiceName[25];
 } SOCKADDR_IRDA, *PSOCKADDR_IRDA, *LPSOCKADDR_IRDA;
 
-#ifdef USE_WS_PREFIX
+typedef struct _WINDOWS_IRDA_DEVICE_INFO
+{
+    UCHAR irdaDeviceID[4];
+    char  irdaDeviceName[22];
+    UCHAR irdaDeviceHints1;
+    UCHAR irdaDeviceHints2;
+    UCHAR irdaCharSet;
+} WINDOWS_IRDA_DEVICE_INFO, *PWINDOWS_IRDA_DEVICE_INFO, *LPWINDOWS_IRDA_DEVICE_INFO;
 
-/* Socket levels and options */
-#define WS_SOL_IRLMP 0xff
-
-#define WS_IRLMP_ENUMDEVICES    ((ULONG)0x10)
-#define WS_IRLMP_IAS_SET        ((ULONG)0x11)
-#define WS_IRLMP_IAS_QUERY      ((ULONG)0x12)
-#define WS_IRLMP_SEND_PDU_LEN   ((ULONG)0x13)
-#define WS_IRLMP_EXCLUSIVE_MODE ((ULONG)0x14)
-#define WS_IRLMP_IRLPT_MODE     ((ULONG)0x15)
-#define WS_IRLMP_9WIRE_MODE     ((ULONG)0x16)
-#define WS_IRLMP_TINYTP_MODE    ((ULONG)0x17)
-#define WS_IRLMP_PARAMETERS     ((ULONG)0x18)
-#define WS_IRLMP_DISCOVER_MODE  ((ULONG)0x19)
-#define WS_IRLMP_SHARP_MODE     ((ULONG)0x20)
-
-#define WS_IAS_MAX_CLASSNAME    64
-#define WS_IAS_MAX_ATTRIBNAME   256
+typedef struct _WCE_IRDA_DEVICE_INFO
+{
+    UCHAR irdaDeviceID[4];
+    char  irdaDeviceName[22];
+    UCHAR Reserved[2];
+} WCE_IRDA_DEVICE_INFO, *PWCE_IRDA_DEVICE_INFO;
 
-#else
+typedef struct _WINDOWS_DEVICELIST
+{
+    ULONG                    numDevice;
+    WINDOWS_IRDA_DEVICE_INFO Device[1];
+} WINDOWS_DEVICELIST, *PWINDOWS_DEVICELIST, *LPWINDOWS_DEVICELIST;
 
-/* Socket levels and options */
-#define SOL_IRLMP 0xff
+typedef struct _WCE_DEVICELIST
+{
+    ULONG                numDevice;
+    WCE_IRDA_DEVICE_INFO Device[1];
+} WCE_DEVICELIST, *PWCE_DEVICELIST;
+
+typedef struct _WINDOWS_IAS_SET
+{
+    char           irdaClassName[WS(IAS_MAX_CLASSNAME)];
+    char           irdaAttribName[WS(IAS_MAX_ATTRIBNAME)];
+    ULONG          irdaAttribType;
+    
+    union
+    {
+        LONG       irdaAttribInt;
 
-#define IRLMP_ENUMDEVICES    ((ULONG)0x10)
-#define IRLMP_IAS_SET        ((ULONG)0x11)
-#define IRLMP_IAS_QUERY      ((ULONG)0x12)
-#define IRLMP_SEND_PDU_LEN   ((ULONG)0x13)
-#define IRLMP_EXCLUSIVE_MODE ((ULONG)0x14)
-#define IRLMP_IRLPT_MODE     ((ULONG)0x15)
-#define IRLMP_9WIRE_MODE     ((ULONG)0x16)
-#define IRLMP_TINYTP_MODE    ((ULONG)0x17)
-#define IRLMP_PARAMETERS     ((ULONG)0x18)
-#define IRLMP_DISCOVER_MODE  ((ULONG)0x19)
-#define IRLMP_SHARP_MODE     ((ULONG)0x20)
-
-#define IAS_MAX_CLASSNAME    64
-#define IAS_MAX_ATTRIBNAME   256
+        struct  
+        {
+            USHORT Len;
+            UCHAR  OctetSeq[WS(IAS_MAX_OCTET_STRING)];
+        } 
+        irdaAttribOctetSeq;
 
-#endif
+        struct  
+        {
+            UCHAR  Len;
+            UCHAR  CharSet;
+            UCHAR  UsrStr[WS(IAS_MAX_USER_STRING)];
+        } 
+        irdaAttribUsrStr;
+    } 
+    irdaAttribute;
+
+} WINDOWS_IAS_SET, *PWINDOWS_IAS_SET, *LPWINDOWS_IAS_SET;
+
+typedef struct _WINDOWS_IAS_QUERY
+{
+    UCHAR         irdaDeviceID[4];
+    char          irdaClassName[WS(IAS_MAX_CLASSNAME)];
+    char          irdaAttribName[WS(IAS_MAX_ATTRIBNAME)];
+    ULONG         irdaAttribType;
+    
+    union
+    {
+        LONG      irdaAttribInt;
+
+        struct
+        {
+            ULONG Len;
+            UCHAR OctetSeq[WS(IAS_MAX_OCTET_STRING)];
+        } 
+        irdaAttribOctetSeq;
+
+        struct 
+        {
+            ULONG Len;
+            ULONG CharSet;
+            UCHAR UsrStr[WS(IAS_MAX_USER_STRING)];
+        } 
+        irdaAttribUsrStr;
+    } 
+    irdaAttribute;
+
+} WINDOWS_IAS_QUERY, *PWINDOWS_IAS_QUERY, *LPWINDOWS_IAS_QUERY;
 
-#define IAS_MAX_OCTET_STRING 1024
-#define IAS_MAX_USER_STRING  256
-
-#define LmCharSetASCII      0x00
-#define LmCharSetISO_8859_1 0x01
-#define LmCharSetISO_8859_2 0x02
-#define LmCharSetISO_8859_3 0x03
-#define LmCharSetISO_8859_4 0x04
-#define LmCharSetISO_8859_5 0x05
-#define LmCharSetISO_8859_6 0x06
-#define LmCharSetISO_8859_7 0x07
-#define LmCharSetISO_8859_8 0x08
-#define LmCharSetISO_8859_9 0x09
-#define LmCharSetUNICODE    0xff
+typedef WINDOWS_DEVICELIST       DEVICELIST,       *PDEVICELIST,       *LPDEVICELIST;
+typedef WINDOWS_IAS_SET          IAS_SET,          *PIAS_SET,          *LPIASSET;
+typedef WINDOWS_IAS_QUERY        IAS_QUERY,        *PIAS_QUERY,        *LPIASQUERY;
+typedef WINDOWS_IRDA_DEVICE_INFO IRDA_DEVICE_INFO, *PIRDA_DEVICE_INFO, *LPIRDA_DEVICE_INFO;
 
 #endif /* AF_IRDA_H */
-- 
1.6.3.3


More information about the wine-patches mailing list