1 /* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
2 * vim:expandtab:shiftwidth=8:tabstop=8:
4 #ifndef __LNET_LINUX_LNET_H__
5 #define __LNET_LINUX_LNET_H__
8 #error Do not #include this file directly. #include <lnet/lnet.h> instead
13 #include <libcfs/libcfs.h>
14 #include <lnet/lib-lnet.h>
22 KsNtStatusToString (IN NTSTATUS Status);
27 IN LONG DebugPrintLevel,
28 IN PCHAR DebugMessage,
43 IN lnet_kiov_t * kiov,
51 ksock_tconn_t * tconn,
60 ksock_tconn_t * tconn,
66 ksock_tconn_t * tconn,
74 ksock_tconn_t * tconn,
82 ksock_tconn_t * tconn,
90 ksock_tconn_t * tconn,
91 ksock_tconn_t * parent,
98 ksock_tconn_t * tconn,
105 ksock_tconn_t * tconn,
111 ksock_tconn_t * tconn
115 ks_query_local_ipaddr(
116 ksock_tconn_t * tconn
120 ks_tconn_write (ksock_tconn_t *tconn, void *buffer, int nob);
123 ks_tconn_read (ksock_tconn_t * tconn, void *buffer, int nob);
126 KsTcpCompletionRoutine(
127 IN PDEVICE_OBJECT DeviceObject,
133 KsDisconectCompletionRoutine (
134 IN PDEVICE_OBJECT DeviceObject,
140 KsTcpReceiveCompletionRoutine(
142 IN PKS_TCP_COMPLETION_CONTEXT Context
146 KsTcpSendCompletionRoutine(
148 IN PKS_TCP_COMPLETION_CONTEXT Context
152 KsAcceptCompletionRoutine(
153 IN PDEVICE_OBJECT DeviceObject,
160 KsConnectEventHandler(
161 IN PVOID TdiEventContext,
162 IN LONG RemoteAddressLength,
163 IN PVOID RemoteAddress,
164 IN LONG UserDataLength,
166 IN LONG OptionsLength,
168 OUT CONNECTION_CONTEXT * ConnectionContext,
173 KsDisconnectEventHandler(
174 IN PVOID TdiEventContext,
175 IN CONNECTION_CONTEXT ConnectionContext,
176 IN LONG DisconnectDataLength,
177 IN PVOID DisconnectData,
178 IN LONG DisconnectInformationLength,
179 IN PVOID DisconnectInformation,
180 IN ULONG DisconnectFlags
184 KsTcpReceiveEventHandler(
185 IN PVOID TdiEventContext,
186 IN CONNECTION_CONTEXT ConnectionContext,
187 IN ULONG ReceiveFlags,
188 IN ULONG BytesIndicated,
189 IN ULONG BytesAvailable,
190 OUT ULONG * BytesTaken,
192 OUT PIRP * IoRequestPacket
196 KsTcpReceiveExpeditedEventHandler(
197 IN PVOID TdiEventContext,
198 IN CONNECTION_CONTEXT ConnectionContext,
199 IN ULONG ReceiveFlags,
200 IN ULONG BytesIndicated,
201 IN ULONG BytesAvailable,
202 OUT ULONG * BytesTaken,
204 OUT PIRP * IoRequestPacket
208 KsTcpChainedReceiveEventHandler (
209 IN PVOID TdiEventContext, // the event context
210 IN CONNECTION_CONTEXT ConnectionContext,
211 IN ULONG ReceiveFlags,
212 IN ULONG ReceiveLength,
213 IN ULONG StartingOffset, // offset of start of client data in TSDU
214 IN PMDL Tsdu, // TSDU data chain
215 IN PVOID TsduDescriptor // for call to TdiReturnChainedReceives
219 KsTcpChainedReceiveExpeditedEventHandler (
220 IN PVOID TdiEventContext, // the event context
221 IN CONNECTION_CONTEXT ConnectionContext,
222 IN ULONG ReceiveFlags,
223 IN ULONG ReceiveLength,
224 IN ULONG StartingOffset, // offset of start of client data in TSDU
225 IN PMDL Tsdu, // TSDU data chain
226 IN PVOID TsduDescriptor // for call to TdiReturnChainedReceives
232 KsDisconnectHelper(PKS_DISCONNECT_WORKITEM WorkItem);
236 ks_tdi_send_flags(ULONG SockFlags);
240 IN PDEVICE_OBJECT DeviceObject
245 IN PDEVICE_OBJECT DeviceObject,
247 IN BOOLEAN bSynchronous,
248 OUT PULONG Information
253 IN PUNICODE_STRING DeviceName,
255 OUT PFILE_OBJECT * FileObject
261 IN PFILE_OBJECT FileObject
266 IN PUNICODE_STRING DeviceName,
267 IN PTRANSPORT_ADDRESS pAddress,
268 IN ULONG AddressLength,
270 OUT PFILE_OBJECT * FileObject
276 IN PFILE_OBJECT FileObject
281 IN PUNICODE_STRING DeviceName,
282 IN CONNECTION_CONTEXT ConnectionContext,
284 OUT PFILE_OBJECT * FileObject
290 IN PFILE_OBJECT FileObject
295 IN HANDLE AddressHandle,
296 IN PFILE_OBJECT ConnectionObject
301 KsDisassociateAddress(
302 IN PFILE_OBJECT ConnectionObject
308 IN PFILE_OBJECT AddressObject,
309 IN PVOID EventContext,
310 IN PKS_EVENT_HANDLERS Handlers
317 PTDI_PROVIDER_INFO ProviderInfo
322 IN PFILE_OBJECT FileObject,
323 OUT PTDI_ADDRESS_INFO AddressInfo,
324 OUT PULONG AddressSize
328 KsQueryConnectionInfo(
329 IN PFILE_OBJECT ConnectionObject,
330 OUT PTDI_CONNECTION_INFO ConnectionInfo,
331 OUT PULONG ConnectionSize
335 KsInitializeTdiAddress(
336 IN OUT PTA_IP_ADDRESS pTransportAddress,
342 KsQueryMdlsSize (IN PMDL Mdl);
346 KsQueryTdiAddressLength(
347 OUT PTRANSPORT_ADDRESS pTransportAddress
352 IN PFILE_OBJECT FileObject,
353 OUT PVOID TdiAddress,
354 OUT ULONG* AddressLength
360 IN PVOID TdiEventContext,
366 ksock_tconn_t * tconn
373 PTDI_PROVIDER_INFO ProviderInfo
381 ksock_tconn_t * tconn
386 ksock_tconn_t * tconn
391 ksock_tconn_t * tconn
396 ksock_tconn_t * tconn
401 ksock_tconn_t * tconn
406 ksock_tconn_t * tconn
411 ksock_tconn_t * tconn
416 ksock_tconn_t * tconn
441 KsInitializeKsTsduMgr(
452 PKS_TSDUMGR KsTsduMgr
462 ksock_tconn_t * tconn
466 KsCopyMdlChainToMdlChain(
467 IN PMDL SourceMdlChain,
468 IN ULONG SourceOffset,
469 IN PMDL DestinationMdlChain,
470 IN ULONG DestinationOffset,
471 IN ULONG BytesTobecopied,
472 OUT PULONG BytesCopied
476 KsQueryMdlsSize (PMDL Mdl);
483 IN LOCK_OPERATION Operation,
488 KsMapMdlBuffer (PMDL Mdl);
491 KsReleaseMdl ( IN PMDL Mdl,
499 LOCK_OPERATION access,
504 ks_map_mdl (ksock_mdl_t * mdl);
507 ks_release_mdl (ksock_mdl_t *mdl, int paged);
509 #endif /* __KERNEL__ */