πŸš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.multimedia
Article #723

Re: Af_irda.h to DLL ??

#723
From: Elran
Date: Fri, 13 Jun 2003 10:15
330 lines
11045 bytes
i meant Object Pascal not TurboPascal )))

"Elran" <elran@free.fr> a οΏ½crit dans le message de news:
3ee99c68$0$13204$626a54ce@news.free.fr...
> Hi there!
> i'm new to Builder cpp, i'm a little (just a little) more used to Delphi,
> anyways,
> i got my hand on the file Af_irda.h, i want to use it for some Delphi
> project of mine, so i have two choices, either i translate it, i'm not too
> good in TurboPascal, and CPP looks a little like chinese to me ))
>
> or i was wondering  if i could turn this file into a DLL so that i could
> call it from my Delphi app...
>
> and also, i have to define it for either:
>
> _WIN32_WINNT,
> _WIN32_WINDOWS,
> _WIN32_WCE
>
> how could i do that???
>
> here's the content of the file:
>
> thanks for any clue )))
> --------------------------------------------------------------------------
--
>
>
> //
> // Winsock1.1, IrDA1.1, WindowsNT5.0, Windows98 and WindowsCE1.0.
> // Define one of _WIN32_WINNT, _WIN32_WINDOWS, _WIN32_WCE.
> //  Copyright (C) Microsoft Corporation, 1994-1999.
> //
>
> #ifndef __AFIRDA__
> #define __AFIRDA__
>
> #if _MSC_VER > 1000
> #pragma once
> #endif
>
> #ifndef _WINSOCKAPI_
> typedef unsigned char  u_char;
> typedef unsigned short  u_short;
> typedef unsigned int    u_int;
> typedef unsigned long  u_long;
> #endif
>
> #define WINDOWS_AF_IRDA        26
> #define WINDOWS_PF_IRDA        WINDOWS_AF_IRDA
>
> #define WCE_AF_IRDA            22
> #define WCE_PF_IRDA            WCE_AF_IRDA
>
>
> #if  defined(_WIN32_WINNT) || defined(_WIN32_WINDOWS)
> #ifndef AF_IRDA
> #define AF_IRDA                 WINDOWS_AF_IRDA
> #endif
> #define IRDA_PROTO_SOCK_STREAM  1
> #elif defined(_WIN32_WCE)
> #define AF_IRDA                 WCE_AF_IRDA
> #else
> #pragma message("One of _WIN32_WINNT | _WIN32_WINDOWS | _WIN32_WCE must be
> defined.")
> #endif
>
> #define PF_IRDA                AF_IRDA
>
>                             // WINNT, WIN98, WINCE
> #define SOL_IRLMP         0x00FF
>
> #define IRLMP_ENUMDEVICES      0x00000010
> #define IRLMP_IAS_SET          0x00000011
> #define IRLMP_IAS_QUERY        0x00000012
>
>                             // WINNT, WINCE
> #define IRLMP_SEND_PDU_LEN      0x00000013
> #define IRLMP_EXCLUSIVE_MODE    0x00000014
> #define IRLMP_IRLPT_MODE        0x00000015
> #define IRLMP_9WIRE_MODE        0x00000016
>
>                             // WIN98
> #define IRLMP_TINYTP_MODE      0x00000017
> #define IRLMP_PARAMETERS 0x00000018
> #define IRLMP_DISCOVERY_MODE 0x00000019
>
>                             // WINCE
> #define IRLMP_SHARP_MODE        0x00000020
>
> #if defined(_WIN32_WINNT)  // WSAIoctl for lazy discovery
> #define SIO_LAZY_DISCOVERY  _IOR('t', 127, u_long)
> #endif
>
> #define IAS_ATTRIB_NO_CLASS    0x00000010
> #define IAS_ATTRIB_NO_ATTRIB    0x00000000
> #define IAS_ATTRIB_INT          0x00000001
> #define IAS_ATTRIB_OCTETSEQ    0x00000002
> #define IAS_ATTRIB_STR          0x00000003
>
> #define IAS_MAX_USER_STRING 256
> #define IAS_MAX_OCTET_STRING 1024
> #define IAS_MAX_CLASSNAME 64
> #define IAS_MAX_ATTRIBNAME 256
>
>                             // WINNT, WIN98
> enum
> {
>   LM_HB_Extension =            128,    // Any hint byte
>
>   LM_HB1_PnP =                  1,      // First hint byte
>   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,
>
>   LM_HB2_Telephony =            1,      // Second hint byte
>   LM_HB2_FileServer =          2,
> };
>
> #define LmCharSetASCII          0
> #define LmCharSetISO_8859_1    1
> #define LmCharSetISO_8859_2    2
> #define LmCharSetISO_8859_3    3
> #define LmCharSetISO_8859_4    4
> #define LmCharSetISO_8859_5    5
> #define LmCharSetISO_8859_6    6
> #define LmCharSetISO_8859_7    7
> #define LmCharSetISO_8859_8    8
> #define LmCharSetISO_8859_9    9
> #define LmCharSetUNICODE        0xff
>
>                             // WIN98
> typedef u_long LM_BAUD_RATE;
>
> #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
>
> typedef struct
> {
>     u_long          nTXDataBytes;  // Max tx data bytes per packet
>     u_long          nRXDataBytes;  // Max rx data bytes per packet
>     LM_BAUD_RATE    nBaudRate;      // Negotiated baud rate
>     u_long          thresholdTime;  // Threshold (ms)
>     u_long          discTime;      // Disconnect (ms)
>     u_short        nMSLinkTurn;    // Link turn around (ms)
>     u_char          nTXPackets;    // Number packets in transmit window
>     u_char          nRXPackets;    // Number packets in receive window
> } LM_IRPARMS,*PLM_IRPARMS;
>
> typedef struct _SOCKADDR_IRDA
> {
> u_short irdaAddressFamily;
> u_char  irdaDeviceID[4];
> char irdaServiceName[25];
> } SOCKADDR_IRDA, *PSOCKADDR_IRDA, FAR *LPSOCKADDR_IRDA;
>
> typedef struct _WINDOWS_IRDA_DEVICE_INFO
> {
> u_char  irdaDeviceID[4];
> char irdaDeviceName[22];
> u_char irdaDeviceHints1;
> u_char  irdaDeviceHints2;
> u_char  irdaCharSet;
> } WINDOWS_IRDA_DEVICE_INFO, *PWINDOWS_IRDA_DEVICE_INFO, FAR
> *LPWINDOWS_IRDA_DEVICE_INFO;
>
> typedef struct _WCE_IRDA_DEVICE_INFO
> {
> u_char  irdaDeviceID[4];
> char irdaDeviceName[22];
>     u_char  Reserved[2];
> } WCE_IRDA_DEVICE_INFO, *PWCE_IRDA_DEVICE_INFO;
>
> #if  defined(_WIN32_WINNT) || defined(_WIN32_WINDOWS)
> typedef WINDOWS_IRDA_DEVICE_INFO    IRDA_DEVICE_INFO, *PIRDA_DEVICE_INFO,
> FAR *LPIRDA_DEVICE_INFO;
> #elif defined(_WIN32_WCE)
> typedef WCE_IRDA_DEVICE_INFO        IRDA_DEVICE_INFO, *PIRDA_DEVICE_INFO;
> #else
> #pragma message("One of _WIN32_WINNT | _WIN32_WINDOWS | _WIN32_WCE must be
> defined.")
> #endif
>
> typedef struct _WINDOWS_DEVICELIST
> {
> ULONG                      numDevice;
> WINDOWS_IRDA_DEVICE_INFO    Device[1];
> } WINDOWS_DEVICELIST, *PWINDOWS_DEVICELIST, FAR *LPWINDOWS_DEVICELIST;
>
> typedef struct _WCE_DEVICELIST
> {
> ULONG                      numDevice;
> WCE_IRDA_DEVICE_INFO        Device[1];
> } WCE_DEVICELIST, *PWCE_DEVICELIST;
>
> #if  defined(_WIN32_WINNT) || defined(_WIN32_WINDOWS)
> typedef WINDOWS_DEVICELIST      DEVICELIST, *PDEVICELIST, FAR
*LPDEVICELIST;
> #elif defined(_WIN32_WCE)
> typedef WCE_DEVICELIST          DEVICELIST, *PDEVICELIST;
> #else
> #pragma message("One of _WIN32_WINNT | _WIN32_WINDOWS | _WIN32_WCE must be
> defined.")
> #endif
>
> typedef struct _WINDOWS_IAS_SET
> {
>     char    irdaClassName[IAS_MAX_CLASSNAME];
>     char    irdaAttribName[IAS_MAX_ATTRIBNAME];
>     u_long irdaAttribType;
>     union
>     {
>         LONG irdaAttribInt;
>         struct
>         {
>             u_short Len;
>             u_char OctetSeq[IAS_MAX_OCTET_STRING];
>         } irdaAttribOctetSeq;
>         struct
>         {
>             u_char Len;
>             u_char CharSet;
>             u_char UsrStr[IAS_MAX_USER_STRING];
> } irdaAttribUsrStr;
>     } irdaAttribute;
> } WINDOWS_IAS_SET, *PWINDOWS_IAS_SET, FAR *LPWINDOWS_IAS_SET;
>
> typedef struct _WINDOWS_IAS_QUERY
> {
> u_char irdaDeviceID[4];
>     char    irdaClassName[IAS_MAX_CLASSNAME];
>     char    irdaAttribName[IAS_MAX_ATTRIBNAME];
>     u_long irdaAttribType;
>     union
>     {
>         LONG irdaAttribInt;
>         struct
>         {
>             u_long  Len;
>             u_char  OctetSeq[IAS_MAX_OCTET_STRING];
>         } irdaAttribOctetSeq;
>         struct
>         {
>             u_long  Len;
>             u_long CharSet;
>             u_char UsrStr[IAS_MAX_USER_STRING];
>         } irdaAttribUsrStr;
>     } irdaAttribute;
> } WINDOWS_IAS_QUERY, *PWINDOWS_IAS_QUERY, FAR *LPWINDOWS_IAS_QUERY;
>
> typedef struct _WCE_IAS_SET
> {
>     char    irdaClassName[61];
>     char    irdaAttribName[61];
>     u_short irdaAttribType;
>     union
>     {
>         int irdaAttribInt;
>         struct
>         {
>             int    Len;
>             u_char  OctetSeq[1];
>             u_char  Reserved[3];
>         } irdaAttribOctetSeq;
>         struct
>         {
>             int    Len;
>             u_char  CharSet;
>             u_char  UsrStr[1];
>             u_char  Reserved[2];
>         } irdaAttribUsrStr;
>     } irdaAttribute;
> } WCE_IAS_SET, *PWCE_IAS_SET;
>
> typedef struct _WCE_IAS_QUERY
> {
> u_char  irdaDeviceID[4];
>     char    irdaClassName[61];
>     char    irdaAttribName[61];
>     u_short irdaAttribType;
>     union
>     {
>         int irdaAttribInt;
>         struct
>         {
>             int    Len;
>             u_char  OctetSeq[1];
>             u_char  Reserved[3];
>         } irdaAttribOctetSeq;
>         struct
>         {
>             int    Len;
>             u_char  CharSet;
>             u_char  UsrStr[1];
>             u_char  Reserved[2];
>         } irdaAttribUsrStr;
>     } irdaAttribute;
> } WCE_IAS_QUERY, *PWCE_IAS_QUERY;
>
> #if  defined(_WIN32_WINNT) || defined(_WIN32_WINDOWS)
> typedef WINDOWS_IAS_SET        IAS_SET, *PIAS_SET, FAR *LPIASSET;
> typedef WINDOWS_IAS_QUERY      IAS_QUERY, *PIAS_QUERY, FAR *LPIASQUERY;
> #elif defined(_WIN32_WCE)
> typedef WCE_IAS_SET            IAS_SET, *PIAS_SET;
> typedef WCE_IAS_QUERY          IAS_QUERY, *PIAS_QUERY, FAR *LPIASQUERY;
> #else
> #pragma message("One of _WIN32_WINNT | _WIN32_WINDOWS | _WIN32_WCE must be
> defined.")
> #endif
>
> #endif // __AFIRDA__
>
> --------------------------------------------------------------------------
--
>
>
>
>
Technical Details
Message-ID: <3ee9a446$0$13194$626a54ce@news.free.fr>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-08!supernews.com!newsfeed.news2me.com!newspeer1-gui.server.ntli.net!ntli.net!proxad.net!feeder2-1.proxad.net!news2-2.free.fr!not-for-mail
References: <3ee99c68$0$13204$626a54ce@news.free.fr>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII
X-Google-Thread: 10d0fc,ab28d1193ed78c4e
X-Google-Attributes: gid10d0fc,public
X-Google-ArrivalTime: 2003-06-13 03:15:37 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-08!supernews.com!newsfeed.news2me.com!newspeer1-gui.server.ntli.net!ntli.net!proxad.net!feeder2-1.proxad.net!news2-2.free.fr!not-for-mail
From: "Elran" <elran@free.fr>
Newsgroups: borland.public.cppbuilder.multimedia
References: <3ee99c68$0$13204$626a54ce@news.free.fr>
Subject: Re: Af_irda.h to DLL ??
Date: Fri, 13 Jun 2003 12:15:34 +0200
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Lines: 332
Message-ID: <3ee9a446$0$13194$626a54ce@news.free.fr>
Organization: Guest of ProXad - France
NNTP-Posting-Date: 13 Jun 2003 12:15:35 MEST
NNTP-Posting-Host: 81.249.0.120
X-Trace: 1055499335 news2-2.free.fr 13194 81.249.0.120:38636
X-Complaints-To: abuse@proxad.net