|
|
#ifndef __IRCOMM_TDI__
#define __IRCOMM_TDI__
#include <af_irda.h>
#include <irdatdi.h>
typedef PVOID IRDA_HANDLE;
typedef NTSTATUS (*RECEIVE_CALLBACK)( PVOID Context, PUCHAR Buffer, ULONG BytesAvailible, PULONG BytesUsed );
typedef VOID (*EVENT_CALLBACK)( PVOID Context, ULONG Event );
//
// irda connection functions
//
NTSTATUS IrdaConnect( ULONG DeviceAddress, CHAR *ServiceName, BOOLEAN OutGoingConnection, IRDA_HANDLE *ConnectionHandle, RECEIVE_CALLBACK ReceiveCallBack, EVENT_CALLBACK EventCallBack, PVOID CallbackContext );
VOID FreeConnection( IRDA_HANDLE Handle );
typedef VOID (*CONNECTION_CALLBACK)( PVOID Context, PIRP Irp );
VOID SendOnConnection( IRDA_HANDLE Handle, PIRP Irp, CONNECTION_CALLBACK Callback, PVOID Context, ULONG Timeout );
VOID AbortSend( IRDA_HANDLE Handle );
VOID AccessUartState( IRDA_HANDLE Handle, PIRP Irp, CONNECTION_CALLBACK Callback, PVOID Context );
NTSTATUS QueueControlInfo( IRDA_HANDLE Handle, UCHAR PI, UCHAR PL, PUCHAR PV );
#if 0
NTSTATUS IrdaDiscoverDevices( PDEVICELIST pDevList, PULONG pDevListLen );
NTSTATUS IrdaIASStringQuery( ULONG DeviceID, PSTR ClassName, PSTR AttributeName, PWSTR *ReturnString );
NTSTATUS IrdaIASIntegerQuery( ULONG DeviceID, PSTR ClassName, PSTR AttributeName, LONG *ReturnValue );
NTSTATUS IrdaIASStringSet( HANDLE AddressHandle, PSTR ClassName, PSTR AttributeName, PSTR StringToSet ); #endif
NTSTATUS IndicateReceiveBufferSpaceAvailible( IRDA_HANDLE Handle );
#endif
|