summaryrefslogtreecommitdiffstats
path: root/private/ntos/ndis/madge/driver/head_mod/drv_rxtx.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/ntos/ndis/madge/driver/head_mod/drv_rxtx.h')
-rw-r--r--private/ntos/ndis/madge/driver/head_mod/drv_rxtx.h201
1 files changed, 201 insertions, 0 deletions
diff --git a/private/ntos/ndis/madge/driver/head_mod/drv_rxtx.h b/private/ntos/ndis/madge/driver/head_mod/drv_rxtx.h
new file mode 100644
index 000000000..38576fb7b
--- /dev/null
+++ b/private/ntos/ndis/madge/driver/head_mod/drv_rxtx.h
@@ -0,0 +1,201 @@
+/****************************************************************************/
+/****************************************************************************/
+/* */
+/* 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 **************************************/