-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
- * vim:expandtab:shiftwidth=8:tabstop=8:
+/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil; -*-
+ * vim:expandtab:shiftwidth=4:tabstop=4:
*
* GPL HEADER START
*
#endif
#ifdef __KERNEL__
-
-#include <libcfs/libcfs.h>
-#include <lnet/lib-lnet.h>
-
-/*
- * tdilnd routines
- */
-
-
-PUCHAR
-KsNtStatusToString (IN NTSTATUS Status);
-
-
-VOID
-KsPrintf(
- IN LONG DebugPrintLevel,
- IN PCHAR DebugMessage,
- IN ...
- );
-
-
-ksock_mdl_t *
-ks_lock_iovs(
- IN struct iovec *iov,
- IN int niov,
- IN int recv,
- IN int * len
- );
-
-ksock_mdl_t *
-ks_lock_kiovs(
- IN lnet_kiov_t * kiov,
- IN int nkiov,
- IN int recv,
- IN int * len
- );
-
-int
-ks_send_mdl(
- ksock_tconn_t * tconn,
- void * tx,
- ksock_mdl_t * mdl,
- int len,
- int flags
- );
-
-int
-ks_query_data(
- ksock_tconn_t * tconn,
- size_t * size,
- int bIsExpedited);
+#include <lnet/types.h>
int
-ks_recv_mdl(
- ksock_tconn_t * tconn,
- ksock_mdl_t * mdl,
- int size,
- int flags
- );
+ks_query_iovs_length(struct iovec *iov, int niov);
int
-ks_get_tcp_option (
- ksock_tconn_t * tconn,
- ULONG ID,
- PVOID OptionValue,
- PULONG Length
- );
-
-NTSTATUS
-ks_set_tcp_option (
- ksock_tconn_t * tconn,
- ULONG ID,
- PVOID OptionValue,
- ULONG Length
- );
+ks_query_kiovs_length(lnet_kiov_t *kiov, int nkiov);
int
-ks_bind_tconn (
- ksock_tconn_t * tconn,
- ksock_tconn_t * parent,
- ulong_ptr addr,
- unsigned short port
- );
+ks_send_buf(ks_tconn_t *, char *, int, int, int);
int
-ks_build_tconn(
- ksock_tconn_t * tconn,
- ulong_ptr addr,
- unsigned short port
- );
+ks_recv_buf(ks_tconn_t *, char *, int, int, int);
int
-ks_disconnect_tconn(
- ksock_tconn_t * tconn,
- ulong_ptr flags
- );
-
-void
-ks_abort_tconn(
- ksock_tconn_t * tconn
- );
+ks_send_iovs(ks_tconn_t *, struct iovec *, int, int, int);
int
-ks_query_local_ipaddr(
- ksock_tconn_t * tconn
- );
+ks_recv_iovs(ks_tconn_t *, struct iovec *, int, int, int);
int
-ks_tconn_write (ksock_tconn_t *tconn, void *buffer, int nob);
+ks_send_kiovs(ks_tconn_t *, lnet_kiov_t *, int, int, int);
int
-ks_tconn_read (ksock_tconn_t * tconn, void *buffer, int nob);
-
-NTSTATUS
-KsTcpCompletionRoutine(
- IN PDEVICE_OBJECT DeviceObject,
- IN PIRP Irp,
- IN PVOID Context
- );
-
-NTSTATUS
-KsDisconectCompletionRoutine (
- IN PDEVICE_OBJECT DeviceObject,
- IN PIRP Irp,
- IN PVOID Context
- );
-
-NTSTATUS
-KsTcpReceiveCompletionRoutine(
- IN PIRP Irp,
- IN PKS_TCP_COMPLETION_CONTEXT Context
- );
-
-NTSTATUS
-KsTcpSendCompletionRoutine(
- IN PIRP Irp,
- IN PKS_TCP_COMPLETION_CONTEXT Context
- );
-
-NTSTATUS
-KsAcceptCompletionRoutine(
- IN PDEVICE_OBJECT DeviceObject,
- IN PIRP Irp,
- IN PVOID Context
- );
-
-
-NTSTATUS
-KsConnectEventHandler(
- IN PVOID TdiEventContext,
- IN LONG RemoteAddressLength,
- IN PVOID RemoteAddress,
- IN LONG UserDataLength,
- IN PVOID UserData,
- IN LONG OptionsLength,
- IN PVOID Options,
- OUT CONNECTION_CONTEXT * ConnectionContext,
- OUT PIRP * AcceptIrp
- );
-
-NTSTATUS
-KsDisconnectEventHandler(
- IN PVOID TdiEventContext,
- IN CONNECTION_CONTEXT ConnectionContext,
- IN LONG DisconnectDataLength,
- IN PVOID DisconnectData,
- IN LONG DisconnectInformationLength,
- IN PVOID DisconnectInformation,
- IN ULONG DisconnectFlags
- );
-
-NTSTATUS
-KsTcpReceiveEventHandler(
- IN PVOID TdiEventContext,
- IN CONNECTION_CONTEXT ConnectionContext,
- IN ULONG ReceiveFlags,
- IN ULONG BytesIndicated,
- IN ULONG BytesAvailable,
- OUT ULONG * BytesTaken,
- IN PVOID Tsdu,
- OUT PIRP * IoRequestPacket
- );
-
-NTSTATUS
-KsTcpReceiveExpeditedEventHandler(
- IN PVOID TdiEventContext,
- IN CONNECTION_CONTEXT ConnectionContext,
- IN ULONG ReceiveFlags,
- IN ULONG BytesIndicated,
- IN ULONG BytesAvailable,
- OUT ULONG * BytesTaken,
- IN PVOID Tsdu,
- OUT PIRP * IoRequestPacket
- );
-
-NTSTATUS
-KsTcpChainedReceiveEventHandler (
- IN PVOID TdiEventContext, // the event context
- IN CONNECTION_CONTEXT ConnectionContext,
- IN ULONG ReceiveFlags,
- IN ULONG ReceiveLength,
- IN ULONG StartingOffset, // offset of start of client data in TSDU
- IN PMDL Tsdu, // TSDU data chain
- IN PVOID TsduDescriptor // for call to TdiReturnChainedReceives
- );
-
-NTSTATUS
-KsTcpChainedReceiveExpeditedEventHandler (
- IN PVOID TdiEventContext, // the event context
- IN CONNECTION_CONTEXT ConnectionContext,
- IN ULONG ReceiveFlags,
- IN ULONG ReceiveLength,
- IN ULONG StartingOffset, // offset of start of client data in TSDU
- IN PMDL Tsdu, // TSDU data chain
- IN PVOID TsduDescriptor // for call to TdiReturnChainedReceives
- );
-
-
-
-VOID
-KsDisconnectHelper(PKS_DISCONNECT_WORKITEM WorkItem);
-
-
-ULONG
-ks_tdi_send_flags(ULONG SockFlags);
-
-PIRP
-KsBuildTdiIrp(
- IN PDEVICE_OBJECT DeviceObject
- );
-
-NTSTATUS
-KsSubmitTdiIrp(
- IN PDEVICE_OBJECT DeviceObject,
- IN PIRP Irp,
- IN BOOLEAN bSynchronous,
- OUT PULONG Information
- );
-
-NTSTATUS
-KsOpenControl(
- IN PUNICODE_STRING DeviceName,
- OUT HANDLE * Handle,
- OUT PFILE_OBJECT * FileObject
- );
-
-NTSTATUS
-KsCloseControl(
- IN HANDLE Handle,
- IN PFILE_OBJECT FileObject
- );
-
-NTSTATUS
-KsOpenAddress(
- IN PUNICODE_STRING DeviceName,
- IN PTRANSPORT_ADDRESS pAddress,
- IN ULONG AddressLength,
- OUT HANDLE * Handle,
- OUT PFILE_OBJECT * FileObject
- );
-
-NTSTATUS
-KsCloseAddress(
- IN HANDLE Handle,
- IN PFILE_OBJECT FileObject
- );
-
-NTSTATUS
-KsOpenConnection(
- IN PUNICODE_STRING DeviceName,
- IN CONNECTION_CONTEXT ConnectionContext,
- OUT HANDLE * Handle,
- OUT PFILE_OBJECT * FileObject
- );
-
-NTSTATUS
-KsCloseConnection(
- IN HANDLE Handle,
- IN PFILE_OBJECT FileObject
- );
-
-NTSTATUS
-KsAssociateAddress(
- IN HANDLE AddressHandle,
- IN PFILE_OBJECT ConnectionObject
- );
-
-
-NTSTATUS
-KsDisassociateAddress(
- IN PFILE_OBJECT ConnectionObject
- );
-
-
-NTSTATUS
-KsSetEventHandlers(
- IN PFILE_OBJECT AddressObject,
- IN PVOID EventContext,
- IN PKS_EVENT_HANDLERS Handlers
- );
-
-
-NTSTATUS
-KsQueryProviderInfo(
- PWSTR TdiDeviceName,
- PTDI_PROVIDER_INFO ProviderInfo
- );
-
-NTSTATUS
-KsQueryAddressInfo(
- IN PFILE_OBJECT FileObject,
- OUT PTDI_ADDRESS_INFO AddressInfo,
- OUT PULONG AddressSize
- );
-
-NTSTATUS
-KsQueryConnectionInfo(
- IN PFILE_OBJECT ConnectionObject,
- OUT PTDI_CONNECTION_INFO ConnectionInfo,
- OUT PULONG ConnectionSize
- );
-
-ULONG
-KsInitializeTdiAddress(
- IN OUT PTA_IP_ADDRESS pTransportAddress,
- IN ULONG IpAddress,
- IN USHORT IpPort
- );
-
-ULONG
-KsQueryMdlsSize (IN PMDL Mdl);
-
-
-ULONG
-KsQueryTdiAddressLength(
- OUT PTRANSPORT_ADDRESS pTransportAddress
- );
-
-NTSTATUS
-KsQueryIpAddress(
- IN PFILE_OBJECT FileObject,
- OUT PVOID TdiAddress,
- OUT ULONG* AddressLength
- );
-
-
-NTSTATUS
-KsErrorEventHandler(
- IN PVOID TdiEventContext,
- IN NTSTATUS Status
- );
-
-int
-ks_set_handlers(
- ksock_tconn_t * tconn
- );
-
-
-VOID
-KsPrintProviderInfo(
- PWSTR DeviceName,
- PTDI_PROVIDER_INFO ProviderInfo
- );
-
-ksock_tconn_t *
-ks_create_tconn();
-
-void
-ks_free_tconn(
- ksock_tconn_t * tconn
- );
-
-void
-ks_init_listener(
- ksock_tconn_t * tconn
- );
-
-void
-ks_init_sender(
- ksock_tconn_t * tconn
- );
-
-void
-ks_init_child(
- ksock_tconn_t * tconn
- );
-
-void
-ks_get_tconn(
- ksock_tconn_t * tconn
- );
-
-void
-ks_put_tconn(
- ksock_tconn_t * tconn
- );
-
-int
-ks_reset_handlers(
- ksock_tconn_t * tconn
- );
-
-void
-ks_destroy_tconn(
- ksock_tconn_t * tconn
- );
-
-
-PKS_TSDU
-KsAllocateKsTsdu();
-
-VOID
-KsPutKsTsdu(
- PKS_TSDU KsTsdu
- );
-
-VOID
-KsFreeKsTsdu(
- PKS_TSDU KsTsdu
- );
-
-VOID
-KsInitializeKsTsdu(
- PKS_TSDU KsTsdu,
- ULONG Length
- );
-
-
-VOID
-KsInitializeKsTsduMgr(
- PKS_TSDUMGR TsduMgr
- );
-
-VOID
-KsInitializeKsChain(
- PKS_CHAIN KsChain
- );
-
-NTSTATUS
-KsCleanupTsduMgr(
- PKS_TSDUMGR KsTsduMgr
- );
-
-NTSTATUS
-KsCleanupKsChain(
- PKS_CHAIN KsChain
- );
-
-NTSTATUS
-KsCleanupTsdu(
- ksock_tconn_t * tconn
- );
-
-NTSTATUS
-KsCopyMdlChainToMdlChain(
- IN PMDL SourceMdlChain,
- IN ULONG SourceOffset,
- IN PMDL DestinationMdlChain,
- IN ULONG DestinationOffset,
- IN ULONG BytesTobecopied,
- OUT PULONG BytesCopied
- );
-
-ULONG
-KsQueryMdlsSize (PMDL Mdl);
-
-NTSTATUS
-KsLockUserBuffer (
- IN PVOID UserBuffer,
- IN BOOLEAN bPaged,
- IN ULONG Length,
- IN LOCK_OPERATION Operation,
- OUT PMDL * pMdl
- );
-
-PVOID
-KsMapMdlBuffer (PMDL Mdl);
-
-VOID
-KsReleaseMdl ( IN PMDL Mdl,
- IN int Paged );
-
-int
-ks_lock_buffer (
- void * buffer,
- int paged,
- int length,
- LOCK_OPERATION access,
- ksock_mdl_t ** kmdl
- );
-
-void *
-ks_map_mdl (ksock_mdl_t * mdl);
-
-void
-ks_release_mdl (ksock_mdl_t *mdl, int paged);
+ks_recv_kiovs(ks_tconn_t *, lnet_kiov_t *, int, int, int);
#endif /* __KERNEL__ */
-
#endif