Thread View: borland.public.cppbuilder.multimedia
2 messages
2 total messages
Started by Elran
Fri, 13 Jun 2003 09:42
Af_irda.h to DLL ??
Author: Elran
Date: Fri, 13 Jun 2003 09:42
Date: Fri, 13 Jun 2003 09:42
319 lines
10239 bytes
10239 bytes
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__
----------------------------------------------------------------------------
Re: Af_irda.h to DLL ??
Author: Elran
Date: Fri, 13 Jun 2003 10:15
Date: Fri, 13 Jun 2003 10:15
330 lines
11045 bytes
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__
>
> --------------------------------------------------------------------------
--
>
>
>
>
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads