ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

af_irda.h
Go to the documentation of this file.
00001 /*
00002  * af_irda.h
00003  *
00004  * IrDa ports interface
00005  *
00006  * This file is part of the MinGW package.
00007  *
00008  * Contributors:
00009  *   Created by Robert Dickenson <robd@users.sourceforge.net>
00010  *
00011  * THIS SOFTWARE IS NOT COPYRIGHTED
00012  *
00013  * This source code is offered for use in the public domain. You may
00014  * use, modify or distribute it freely.
00015  *
00016  * This code is distributed in the hope that it will be useful but
00017  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00018  * DISCLAMED. This includes but is not limited to warranties of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00020  *
00021  */
00022 
00023 #ifndef __AF_IRDA_H
00024 #define __AF_IRDA_H
00025 
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029 
00030 #pragma pack(push,4)
00031 
00032 
00033 /* GUIDs */
00034 
00035 #ifdef DEFINE_GUID
00036 DEFINE_GUID(GUID_DEVINTERFACE_IRDAPORT,
00037   0x86e0d1e0L, 0x8089, 0x11d0, 0x9c, 0xe4, 0x08, 0x00, 0x3e, 0x30, 0x1f, 0x74);
00038 DEFINE_GUID(GUID_DEVINTERFACE_IRDAENUM_BUS_ENUMERATOR,
00039   0x4D36E978L, 0xE325, 0x11CE, 0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x19);
00040 #endif /* DEFINE_GUID */
00041 
00042 #define WINDOWS_AF_IRDA 26
00043 #define WINDOWS_PF_IRDA WINDOWS_AF_IRDA
00044 
00045 #ifndef AF_IRDA
00046 #define AF_IRDA WINDOWS_AF_IRDA
00047 #endif
00048 
00049 #define IRDA_PROTO_SOCK_STREAM 1
00050 #define PF_IRDA AF_IRDA
00051 #define SOL_IRLMP 0x00FF
00052 #define SIO_LAZY_DISCOVERY _IOR('t', 127, ULONG)
00053 
00054 
00055 #define IAS_MAX_USER_STRING  256
00056 #define IAS_MAX_OCTET_STRING 1024
00057 #define IAS_MAX_CLASSNAME    64
00058 #define IAS_MAX_ATTRIBNAME   256
00059 
00060 #define IAS_ATTRIB_NO_CLASS  ((ULONG)0x10)
00061 #define IAS_ATTRIB_NO_ATTRIB ((ULONG)0x00)
00062 #define IAS_ATTRIB_INT       ((ULONG)0x01)
00063 #define IAS_ATTRIB_OCTETSEQ  ((ULONG)0x02)
00064 #define IAS_ATTRIB_STR       ((ULONG)0x03)
00065 
00066 #define IRLMP_ENUMDEVICES    ((ULONG)0x10)
00067 #define IRLMP_IAS_SET        ((ULONG)0x11)
00068 #define IRLMP_IAS_QUERY      ((ULONG)0x12)
00069 #define IRLMP_SEND_PDU_LEN   ((ULONG)0x13)
00070 #define IRLMP_EXCLUSIVE_MODE ((ULONG)0x14)
00071 #define IRLMP_IRLPT_MODE     ((ULONG)0x15)
00072 #define IRLMP_9WIRE_MODE     ((ULONG)0x16)
00073 
00074 #if 0
00075 /* Available/Used on Windows 98 only ??? */
00076 #define IRLMP_TINYTP_MODE    ((ULONG)0x17)
00077 #define IRLMP_PARAMETERS     ((ULONG)0x18)
00078 #define IRLMP_DISCOVERY_MODE ((ULONG)0x19)
00079 /* Available/Used on Windows CE only ??? */
00080 #define IRLMP_SHARP_MODE     ((ULONG)0x20)
00081 #endif
00082 
00083 enum {
00084 /* First hint byte */
00085   LM_HB1_PnP =         0x01,
00086   LM_HB1_PDA_Palmtop = 0x02,
00087   LM_HB1_Computer =    0x04,
00088   LM_HB1_Printer =     0x08,
00089   LM_HB1_Modem =       0x10,
00090   LM_HB1_Fax =         0x20,
00091   LM_HB1_LANAccess =   0x40,
00092 /* Second hint byte */
00093   LM_HB2_Telephony =   0x01,
00094   LM_HB2_FileServer =  0x02,
00095 /* Any hint byte */
00096   LM_HB_Extension =    0x80,
00097 };
00098 
00099 #define LmCharSetASCII       0x00
00100 #define LmCharSetISO_8859_1  0x01
00101 #define LmCharSetISO_8859_2  0x02
00102 #define LmCharSetISO_8859_3  0x03
00103 #define LmCharSetISO_8859_4  0x04
00104 #define LmCharSetISO_8859_5  0x05
00105 #define LmCharSetISO_8859_6  0x06
00106 #define LmCharSetISO_8859_7  0x07
00107 #define LmCharSetISO_8859_8  0x08
00108 #define LmCharSetISO_8859_9  0x09
00109 #define LmCharSetUNICODE     0xFF
00110 
00111 #define  LM_BAUD_1200   1200
00112 #define  LM_BAUD_2400   2400
00113 #define  LM_BAUD_9600   9600
00114 #define  LM_BAUD_19200  19200
00115 #define  LM_BAUD_38400  38400
00116 #define  LM_BAUD_57600  57600
00117 #define  LM_BAUD_115200 115200
00118 #define  LM_BAUD_576K   576000
00119 #define  LM_BAUD_1152K  1152000
00120 #define  LM_BAUD_4M     4000000
00121 
00122 #if 0 /* Available/Used on Windows 98 only ??? */
00123 typedef ULONG LM_BAUD_RATE;
00124 typedef struct {
00125     ULONG        nTXDataBytes;  /* packet transmit receive bytes */
00126     ULONG        nRXDataBytes;  /* packet maximum receive bytes */
00127     LM_BAUD_RATE nBaudRate;     /* link negotiated baud */
00128     ULONG        thresholdTime; /* milliseconds for threshold time */
00129     ULONG        discTime;      /* milliseconds for disconnect time
00130     USHORT       nMSLinkTurn;   /* milliseconds for link turn around time */
00131     UCHAR        nTXPackets;    /* transmit window packets */
00132     UCHAR        nRXPackets;    /* receive window packets */
00133 } LM_IRPARMS;
00134 typedef LM_IRPARMS *PLM_IRPARMS;
00135 #endif
00136 
00137 typedef struct _SOCKADDR_IRDA {
00138     USHORT irdaAddressFamily;
00139     UCHAR  irdaDeviceID[4];
00140     char   irdaServiceName[25];
00141 } SOCKADDR_IRDA;
00142 
00143 typedef struct _WINDOWS_IRDA_DEVICE_INFO {
00144     UCHAR irdaDeviceID[4];
00145     char  irdaDeviceName[22];
00146     UCHAR irdaDeviceHints1;
00147     UCHAR irdaDeviceHints2;
00148     UCHAR irdaCharSet;
00149 } WINDOWS_IRDA_DEVICE_INFO;
00150 
00151 typedef struct _WINDOWS_IAS_SET {
00152     char  irdaClassName[IAS_MAX_CLASSNAME];
00153     char  irdaAttribName[IAS_MAX_ATTRIBNAME];
00154     ULONG irdaAttribType;
00155     union {
00156         LONG irdaAttribInt;
00157         struct {
00158             USHORT Len;
00159             UCHAR OctetSeq[IAS_MAX_OCTET_STRING];
00160         } irdaAttribOctetSeq;
00161         struct {
00162             UCHAR Len;
00163             UCHAR CharSet;
00164             UCHAR UsrStr[IAS_MAX_USER_STRING];
00165         } irdaAttribUsrStr;
00166     } irdaAttribute;
00167 } WINDOWS_IAS_SET;
00168 
00169 typedef struct _WINDOWS_IAS_QUERY {
00170     UCHAR irdaDeviceID[4];
00171     char  irdaClassName[IAS_MAX_CLASSNAME];
00172     char  irdaAttribName[IAS_MAX_ATTRIBNAME];
00173     ULONG irdaAttribType;
00174     union {
00175         LONG irdaAttribInt;
00176         struct {
00177             ULONG Len;
00178             UCHAR OctetSeq[IAS_MAX_OCTET_STRING];
00179         } irdaAttribOctetSeq;
00180         struct {
00181             ULONG Len;
00182             ULONG CharSet;
00183             UCHAR UsrStr[IAS_MAX_USER_STRING];
00184         } irdaAttribUsrStr;
00185     } irdaAttribute;
00186 } WINDOWS_IAS_QUERY;
00187 
00188 typedef struct _WINDOWS_DEVICELIST {
00189     ULONG numDevice;
00190     WINDOWS_IRDA_DEVICE_INFO Device[1];
00191 } WINDOWS_DEVICELIST;
00192 
00193 typedef WINDOWS_DEVICELIST DEVICELIST;
00194 typedef WINDOWS_DEVICELIST *PDEVICELIST;
00195 typedef WINDOWS_DEVICELIST *PWINDOWS_DEVICELIST;
00196 
00197 typedef WINDOWS_IRDA_DEVICE_INFO IRDA_DEVICE_INFO;
00198 typedef WINDOWS_IRDA_DEVICE_INFO *PIRDA_DEVICE_INFO;
00199 typedef WINDOWS_IRDA_DEVICE_INFO *PWINDOWS_IRDA_DEVICE_INFO;
00200 
00201 typedef WINDOWS_IAS_SET IAS_SET;
00202 typedef WINDOWS_IAS_SET *PIAS_SET;
00203 typedef WINDOWS_IAS_SET *PWINDOWS_IAS_SET;
00204 
00205 typedef WINDOWS_IAS_QUERY IAS_QUERY;
00206 typedef WINDOWS_IAS_QUERY *PIAS_QUERY;
00207 typedef WINDOWS_IAS_QUERY *PWINDOWS_IAS_QUERY;
00208 
00209 typedef SOCKADDR_IRDA *PSOCKADDR_IRDA;
00210 
00211 #pragma pack(pop)
00212 
00213 #ifdef __cplusplus
00214 }
00215 #endif
00216 
00217 #endif /* __AF_IRDA_H */

Generated on Sun May 27 2012 04:31:07 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.