NT4/private/ntos/bowser/mailslot.h
2020-09-30 17:12:29 +02:00

105 lines
1.9 KiB
C
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*++
Copyright (c) 1991 Microsoft Corporation
Module Name:
mailslot.c
Abstract:
This module implements the routines needed to process incoming mailslot
requests.
Author:
Larry Osterman (larryo) 18-Oct-1991
Revision History:
18-Oct-1991 larryo
Created
--*/
#ifndef _MAILSLOT_
#define _MAILSLOT_
//
// The MAILSLOTBUFFER structure is a structure that is prepended to a mailslot
// message to facilitate the transfer of the data between the FSD and the FSP.
//
typedef struct _MAILSLOT_BUFFER {
CSHORT Signature;
CSHORT Size;
union {
LIST_ENTRY NextBuffer; // Pointer to next buffer.
WORK_QUEUE_ITEM WorkHeader; // Executive Worker item header.
} Overlay;
ULONG BufferSize;
LARGE_INTEGER TimeReceived; // Time message was received
PTRANSPORT_NAME TransportName; // Transport address receiving DG
CHAR ClientAddress[max(NETBIOS_NAME_LEN, SMB_IPX_NAME_LENGTH)]; // Name of client initiating receive.
ULONG ReceiveLength; // # of bytes received.
CHAR Buffer[1]; // Buffer
} MAILSLOT_BUFFER, *PMAILSLOT_BUFFER;
NTSTATUS
NetlogonMailslotEnable (
IN PLMDR_REQUEST_PACKET InputBuffer
);
NTSTATUS
NetlogonMailslotRead (
IN PIRP Irp,
IN ULONG OutputBufferLength
);
VOID
BowserNetlogonDeleteTransportFromMessageQueue (
PTRANSPORT Transport
);
VOID
BowserProcessMailslotWrite (
IN PVOID WorkHeader
);
PMAILSLOT_BUFFER
BowserAllocateMailslotBuffer(
IN PTRANSPORT_NAME TransportName,
IN ULONG BufferSize
);
VOID
BowserFreeMailslotBuffer(
IN PMAILSLOT_BUFFER Buffer
);
VOID
BowserFreeMailslotBufferHighIrql(
IN PMAILSLOT_BUFFER Buffer
);
VOID
BowserpInitializeMailslot (
VOID
);
VOID
BowserpUninitializeMailslot (
VOID
);
#endif // _MAILSLOT_