Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*****************************************************************************
* * Copyright (c) 1996-1999 Microsoft Corporation * * @doc * @module dongle.h | IrSIR NDIS Minport Driver * @comm * *----------------------------------------------------------------------------- * * Author: Scott Holden (sholden) * * Date: 9/30/1996 (created) * * Contents: * dongle settings * *****************************************************************************/
#ifndef DONGLE_H
#define DONGLE_H
//
// Some UART transceiver have minor differences which require special
// treatment. We will retrieve the type out of the registry.
// Any changes to this MUST also be reflected in the oemsetup.inf
// which allows the user to modify transceiver type.
//
typedef enum _IR_TRANSCEIVER_TYPE { STANDARD_UART = 0, ACTISYS_200L, ACTISYS_220L, ACTISYS_220LPLUS, AMP_PHASIR, ESI_9680, PARALLAX, TEKRAM_IRMATE_210, TEMIC_TOIM3232, GIRBIL, // CRYSTAL,
// NSC_DEMO_BD, // NSC PC87108 demo board
NUM_TRANSCEIVER_TYPES } IR_TRANSCEIVER_TYPE;
//
// ir speed masks
//
#define NDIS_IRDA_SPEED_2400 (UINT)(1 << 0) // SLOW IR ...
#define NDIS_IRDA_SPEED_9600 (UINT)(1 << 1)
#define NDIS_IRDA_SPEED_19200 (UINT)(1 << 2)
#define NDIS_IRDA_SPEED_38400 (UINT)(1 << 3)
#define NDIS_IRDA_SPEED_57600 (UINT)(1 << 4)
#define NDIS_IRDA_SPEED_115200 (UINT)(1 << 5)
#define NDIS_IRDA_SPEED_576K (UINT)(1 << 6) // MEDIUM IR ...
#define NDIS_IRDA_SPEED_1152K (UINT)(1 << 7)
#define NDIS_IRDA_SPEED_4M (UINT)(1 << 8) // FAST IR
typedef struct _DONGLE_CAPABILITIES { //
// Mask of NDIS_IRDA_SPEED_xxx bit values.
//
UINT supportedSpeedsMask;
//
// Time (in microseconds) that must transpire between
// a transmit and the next receive.
//
UINT turnAroundTime_usec;
//
// Extra BOF (Beginning Of Frame) characters required
// at the start of each received frame.
//
UINT extraBOFsRequired;
} DONGLE_CAPABILITIES, *PDONGLE_CAPABILITIES;
//
// Dongle init, set speed and deinit functions...all
// incorporated into a dongle interface.
//
typedef NDIS_STATUS (_stdcall *IRSIR_QUERY_CAPS_HANDLER) ( PDONGLE_CAPABILITIES pDongleCaps );
typedef NDIS_STATUS (_stdcall *IRSIR_INIT_HANDLER) ( PDEVICE_OBJECT pSerialDevObj );
typedef void (_stdcall *IRSIR_DEINIT_HANDLER) ( PDEVICE_OBJECT pSerialDevObj );
typedef NDIS_STATUS (_stdcall *IRSIR_SETSPEED_HANDLER) ( PDEVICE_OBJECT pSerialDevObj, UINT bitsPerSec, UINT currentSpeed );
typedef struct _DONGLE_INTERFACE { IRSIR_QUERY_CAPS_HANDLER QueryCaps; IRSIR_INIT_HANDLER Initialize; IRSIR_SETSPEED_HANDLER SetSpeed; IRSIR_DEINIT_HANDLER Deinitialize; } DONGLE_INTERFACE, *PDONGLE_INTERFACE;
#endif // DONGLE_H
|