/*++ Copyright(c) 1998,99 Microsoft Corporation Module Name: prot.h Abstract: Windows Load Balancing Service (WLBS) Driver - lower-level (protocol) layer of intermediate miniport Author: kyrilf --*/ #ifndef _Prot_h_ #define _Prot_h_ #include #include "main.h" #include "util.h" /* PROCEDURES */ /* required NDIS protocol handlers */ extern VOID Prot_bind ( PNDIS_STATUS statusp, NDIS_HANDLE bind_handle, PNDIS_STRING device_name, PVOID reg_path, PVOID reserved); /* Bind to underlying adapter returns VOID: function: */ extern VOID Prot_unbind ( PNDIS_STATUS statusp, NDIS_HANDLE bind_handle, NDIS_HANDLE unbind_handle); /* Unbind from underlying adapter returns VOID: function: */ extern VOID Prot_close_complete ( NDIS_HANDLE bind_handle, NDIS_STATUS statusp); /* Completion handler for NdisCloseAdapter call returns VOID: function: */ extern VOID Prot_open_complete ( NDIS_HANDLE bind_handle, NDIS_STATUS statusp, NDIS_STATUS errorp); /* Completion handler for NdisOpenAdapter call returns VOID: function: */ extern NDIS_STATUS Prot_recv_indicate ( NDIS_HANDLE bind_handle, NDIS_HANDLE recv_handle, PVOID head_buf, UINT head_len, PVOID look_buf, UINT look_len, UINT packet_len); /* Process lookahead of a new packet returns NDIS_STATUS: function: */ extern VOID Prot_recv_complete ( NDIS_HANDLE bind_handle); /* Handle post-receive operations when timing is relaxed returns VOID: function: */ extern INT Prot_packet_recv ( NDIS_HANDLE bind_handle, PNDIS_PACKET packet); /* Receive entire new packet returns INT: function: */ extern VOID Prot_request_complete ( NDIS_HANDLE bind_handle, PNDIS_REQUEST request, NDIS_STATUS status); /* Completion handler for NdisRequest call returns VOID: function: */ extern VOID Prot_reset_complete ( NDIS_HANDLE bind_handle, NDIS_STATUS status); /* Completion handler for NdisReset call returns VOID: function: */ extern VOID Prot_send_complete ( NDIS_HANDLE bind_handle, PNDIS_PACKET packet, NDIS_STATUS status); /* Completion handler for NdiSendPackets or NdisSend calls returns VOID: function: */ extern NDIS_STATUS Prot_PNP_handle ( NDIS_HANDLE ctxtp, PNET_PNP_EVENT pnp_event); /* PNP handler returns NDIS_STATUS: function: */ extern VOID Prot_status ( NDIS_HANDLE bind_handle, NDIS_STATUS get_status, PVOID stat_buf, UINT stat_len); /* Status indication from adapter handler returns VOID: function: */ extern VOID Prot_status_complete ( NDIS_HANDLE bind_handle); /* Status indication from adapter completion handler returns VOID: function: */ extern VOID Prot_transfer_complete ( NDIS_HANDLE bind_handle, PNDIS_PACKET packet, NDIS_STATUS status, UINT xferred); /* Completion handler for NdiTransferDate calls returns VOID: function: */ /* helpers for nic layer */ extern NDIS_STATUS Prot_close ( PMAIN_ADAPTER adapterp); /* Close underlying connection and free context returns NDIS_STATUS: function: */ extern NDIS_STATUS Prot_request ( PMAIN_CTXT ctxtp, PMAIN_ACTION actp, ULONG slave); /* NdisRequest wrapper returns NDIS_STATUS: function: */ extern NDIS_STATUS Prot_reset ( PMAIN_CTXT ctxtp); /* NdisRequest wrapper returns NDIS_STATUS: function: */ extern VOID Prot_packets_send ( PMAIN_CTXT ctxtp, PPNDIS_PACKET packets, UINT num); /* NdisSendPackets wrapper returns NDIS_STATUS: function: */ extern VOID Prot_return ( PMAIN_CTXT ctxtp, PNDIS_PACKET packet); /* NdisReturnPackets wrapper returns NDIS_STATUS: function: */ /* Added from old code for NT 5.1 - ramkrish */ extern NDIS_STATUS Prot_transfer ( PMAIN_CTXT ctxtp, NDIS_HANDLE recv_handle, PNDIS_PACKET packet, UINT offset, UINT len, PUINT xferred); /* NdisTransferData wrapper returns NDIS_STATUS: function: */ /* This helper function added for using NDIS51 flag */ extern VOID Prot_cancel_send_packets ( PMAIN_CTXT ctxtp, PVOID cancel_id); /* NdisCancelSendPackets wrapper returns: function: */ #if 0 /* old code */ extern NDIS_STATUS Prot_send ( PMAIN_CTXT ctxtp, PNDIS_PACKET packet, UINT flags); /* NdisSend wrapper returns NDIS_STATUS: function: */ #endif #endif /* _Prot_h_ */