mirror of https://github.com/lianthony/NT4.0
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.
201 lines
7.9 KiB
201 lines
7.9 KiB
/****************************************************************************/
|
|
/****************************************************************************/
|
|
/* */
|
|
/* DRIVER/USER INTERFACE PROCEDURE DEFINITIONS */
|
|
/* =========================================== */
|
|
/* */
|
|
/* DRV_RXTX.H : Part of the FASTMAC TOOL-KIT (FTK) */
|
|
/* */
|
|
/* Copyright (c) Madge Networks Ltd. 1991-1994 */
|
|
/* CONFIDENTIAL */
|
|
/* */
|
|
/* */
|
|
/****************************************************************************/
|
|
/* */
|
|
/* The first section contains all the function definitions of routines that */
|
|
/* must be supplied by the user to receive frames plus information on */
|
|
/* completed SRBs. */
|
|
/* */
|
|
/* The next sections contain function prototypes for the transmit and */
|
|
/* receive functions the user must provide. Eaxmples of these functions can */
|
|
/* be found in the TRANSMIT.C and RECEIVE.C modules of the DOS demonstration*/
|
|
/* programs. */
|
|
/* */
|
|
/****************************************************************************/
|
|
|
|
/****************************************************************************/
|
|
/* */
|
|
/* VERSION_NUMBER of FTK to which this DRV_RXTX.H belongs : */
|
|
/* */
|
|
|
|
#define FTK_VERSION_NUMBER_DRV_RXTX_H 221
|
|
|
|
/****************************************************************************/
|
|
/* */
|
|
/* FUNCTION PROTOTYPES */
|
|
/* */
|
|
/****************************************************************************/
|
|
|
|
/****************************************************************************/
|
|
/* */
|
|
/* WARNING: Depending on the implementation, the receive side processing may*/
|
|
/* require a USER_RECEIVE_FRAME routine, but this is implementation*/
|
|
/* dependent. A fixed interface does not fit well with FastmacPlus.*/
|
|
/* */
|
|
|
|
extern void user_schedule_receive_process(
|
|
|
|
ADAPTER_HANDLE adapter_handle
|
|
);
|
|
|
|
extern void user_handle_adapter_check(
|
|
|
|
ADAPTER_HANDLE adapter_handle
|
|
);
|
|
|
|
extern void user_completed_srb(
|
|
|
|
ADAPTER_HANDLE adapter_handle,
|
|
WBOOLEAN srb_completed_successfully
|
|
);
|
|
|
|
extern void user_transmit_completion(
|
|
|
|
ADAPTER_HANDLE adapter_handle,
|
|
DWORD identifier
|
|
);
|
|
|
|
extern WORD user_receive_frame(
|
|
|
|
ADAPTER_HANDLE adapter_handle,
|
|
BYTE FAR * rx_frame_addr,
|
|
WORD rx_frame_len
|
|
);
|
|
|
|
extern void user_adapter_removed(
|
|
|
|
ADAPTER_HANDLE adapter_handle
|
|
);
|
|
|
|
|
|
/****************************************************************************/
|
|
/* */
|
|
/* These are the function prototypes that the FastMAC Plus user must */
|
|
/* provide to handle transmission. Note that rxtx_irq_completion_check */
|
|
/* is only needed for the FTK_TX_WITH_COMPLETION transmit method. */
|
|
/* */
|
|
|
|
#ifdef FMPLUS
|
|
|
|
extern WBOOLEAN rxtx_transmit_frame(
|
|
|
|
ADAPTER_HANDLE adapter_handle,
|
|
DWORD tx_frame_identifier,
|
|
WORD tx_frame_length,
|
|
WORD tx_flags
|
|
);
|
|
|
|
extern void rxtx_irq_tx_completion_check(
|
|
|
|
ADAPTER_HANDLE adapter_handle,
|
|
ADAPTER * adapter
|
|
);
|
|
|
|
extern WBOOLEAN rxtx_allocate_tx_buffers(
|
|
|
|
ADAPTER * adapter,
|
|
WORD max_frame_size,
|
|
WORD number_of_slots
|
|
);
|
|
|
|
extern void rxtx_setup_tx_buffers(
|
|
|
|
ADAPTER * adapter,
|
|
WBOOLEAN use_physical_addresses,
|
|
WORD number_of_slots
|
|
);
|
|
|
|
extern void rxtx_free_tx_buffers(
|
|
|
|
ADAPTER * adapter,
|
|
WORD max_frame_size,
|
|
WORD number_of_slots
|
|
);
|
|
#endif
|
|
|
|
|
|
/****************************************************************************/
|
|
/* */
|
|
/* These are the function prototypes that the FastMAC Plus user must */
|
|
/* provide to handle receiving. */
|
|
/* */
|
|
|
|
#ifdef FMPLUS
|
|
|
|
extern void rxtx_irq_rx_frame_handler(
|
|
|
|
ADAPTER_HANDLE adapter_handle,
|
|
ADAPTER * adapter
|
|
);
|
|
|
|
extern WBOOLEAN rxtx_allocate_rx_buffers(
|
|
|
|
ADAPTER * adapter,
|
|
WORD max_frame_size,
|
|
WORD number_of_slots
|
|
);
|
|
|
|
extern void rxtx_setup_rx_buffers(
|
|
|
|
ADAPTER * adapter,
|
|
WBOOLEAN use_physical_addresses,
|
|
WORD number_of_slots
|
|
);
|
|
|
|
extern void rxtx_free_rx_buffers(
|
|
|
|
ADAPTER * adapter,
|
|
WORD max_frame_size,
|
|
WORD number_of_slots
|
|
);
|
|
|
|
#endif
|
|
|
|
|
|
/****************************************************************************/
|
|
/* */
|
|
/* These are the function prototypes that the FastMAC user must */
|
|
/* provide to handle transmission. */
|
|
/* */
|
|
|
|
#ifndef FMPLUS
|
|
|
|
extern WBOOLEAN rxtx_transmit_frame(
|
|
|
|
ADAPTER_HANDLE adapter_handle,
|
|
DWORD tx_frame_identifier,
|
|
WORD tx_frame_length,
|
|
WORD tx_flags
|
|
);
|
|
|
|
#endif
|
|
|
|
|
|
/****************************************************************************/
|
|
/* */
|
|
/* These are the function prototypes that the FastMAC user must */
|
|
/* provide to handle receiving. */
|
|
/* */
|
|
|
|
#ifndef FMPLUS
|
|
|
|
extern void rxtx_irq_rx_frame_handler(
|
|
|
|
ADAPTER_HANDLE adapter_handle,
|
|
ADAPTER * adapter
|
|
);
|
|
|
|
|
|
#endif
|
|
|
|
/************** End of DRV_RXTX.H file **************************************/
|