Source code of Windows XP (NT5)
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.

84 lines
1.8 KiB

  1. #define IPXSID_INDEX(id) (USHORT)( (id) & 0x0FFF )
  2. #define IPXSID_SEQUENCE(id) (USHORT)( (id) >> 12 )
  3. #define MAKE_IPXSID(index, sequence) (USHORT)( ((sequence) << 12) | (index) )
  4. #define INCREMENT_IPXSID_SEQUENCE(id) (id) = (USHORT)(( (id) + 1 ) & 0xF);
  5. //
  6. // Name claim routine
  7. //
  8. NTSTATUS
  9. SrvIpxClaimServerName (
  10. IN PENDPOINT Endpoint,
  11. IN PVOID NetbiosName
  12. );
  13. //
  14. // Transport Receive Datagram indication handlers
  15. //
  16. NTSTATUS
  17. SrvIpxServerDatagramHandler (
  18. IN PVOID TdiEventContext,
  19. IN int SourceAddressLength,
  20. IN PVOID SourceAddress,
  21. IN int OptionsLength,
  22. IN PVOID Options,
  23. IN ULONG ReceiveDatagramFlags,
  24. IN ULONG BytesIndicated,
  25. IN ULONG BytesAvailable,
  26. OUT ULONG *BytesTaken,
  27. IN PVOID Tsdu,
  28. OUT PIRP *IoRequestPacket
  29. );
  30. NTSTATUS
  31. SrvIpxServerChainedDatagramHandler (
  32. IN PVOID TdiEventContext,
  33. IN int SourceAddressLength,
  34. IN PVOID SourceAddress,
  35. IN int OptionsLength,
  36. IN PVOID Options,
  37. IN ULONG ReceiveDatagramFlags,
  38. IN ULONG ReceiveDatagramLength,
  39. IN ULONG StartingOffset,
  40. IN PMDL Tsdu,
  41. IN PVOID TransportContext
  42. );
  43. NTSTATUS
  44. SrvIpxNameDatagramHandler (
  45. IN PVOID TdiEventContext,
  46. IN int SourceAddressLength,
  47. IN PVOID SourceAddress,
  48. IN int OptionsLength,
  49. IN PVOID Options,
  50. IN ULONG ReceiveDatagramFlags,
  51. IN ULONG BytesIndicated,
  52. IN ULONG BytesAvailable,
  53. OUT ULONG *BytesTaken,
  54. IN PVOID Tsdu,
  55. OUT PIRP *IoRequestPacket
  56. );
  57. //
  58. // Datagram send routine
  59. //
  60. VOID
  61. SrvIpxStartSend (
  62. IN OUT PWORK_CONTEXT WorkContext,
  63. IN PIO_COMPLETION_ROUTINE SendCompletionRoutine
  64. );
  65. //
  66. // Routine called by IPX smart accelerator card when a read is complete
  67. //
  68. VOID
  69. SrvIpxSmartCardReadComplete(
  70. IN PVOID Context,
  71. IN PFILE_OBJECT FileObject,
  72. IN PMDL Mdl OPTIONAL,
  73. IN ULONG Length
  74. );