Use upper-case ASSERT macros.
[reactos.git] / reactos / ntoskrnl / io / mailslot.c
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * FILE: ntoskrnl/ke/bug.c
5 * PURPOSE: Graceful system shutdown if a bug is detected
6 * PROGRAMMER: David Welch (welch@mcmail.com)
7 * UPDATE HISTORY:
8 * Created 22/05/98
9 Changed NtCreateMailslotFile
10 */
11
12 /* INCLUDES *****************************************************************/
13
14 #include <ntoskrnl.h>
15 #define NDEBUG
16 #include <internal/debug.h>
17
18 /* FUNCTIONS *****************************************************************/
19
20 NTSTATUS STDCALL
21 NtCreateMailslotFile(OUT PHANDLE FileHandle,
22 IN ACCESS_MASK DesiredAccess,
23 IN POBJECT_ATTRIBUTES ObjectAttributes,
24 OUT PIO_STATUS_BLOCK IoStatusBlock,
25 IN ULONG CreateOptions,
26 IN ULONG Param, /* FIXME: ??? */
27 IN ULONG MaxMessageSize,
28 IN PLARGE_INTEGER TimeOut)
29 {
30 IO_MAILSLOT_CREATE_BUFFER Buffer;
31
32 DPRINT("NtCreateMailslotFile(FileHandle %x, DesiredAccess %x, "
33 "ObjectAttributes %x ObjectAttributes->ObjectName->Buffer %S)\n",
34 FileHandle,DesiredAccess,ObjectAttributes,
35 ObjectAttributes->ObjectName->Buffer);
36
37 ASSERT_IRQL(PASSIVE_LEVEL);
38
39 if (TimeOut != NULL)
40 {
41 Buffer.TimeOut.QuadPart = TimeOut->QuadPart;
42 }
43 else
44 {
45 Buffer.TimeOut.QuadPart = 0;
46 }
47 Buffer.Param = Param; /* FIXME: ??? */
48 Buffer.MaxMessageSize = MaxMessageSize;
49
50 return IoCreateFile(FileHandle,
51 DesiredAccess,
52 ObjectAttributes,
53 IoStatusBlock,
54 NULL,
55 FILE_ATTRIBUTE_NORMAL,
56 FILE_SHARE_READ | FILE_SHARE_WRITE,
57 FILE_CREATE,
58 CreateOptions,
59 NULL,
60 0,
61 CreateFileTypeMailslot,
62 (PVOID)&Buffer,
63 0);
64 }
65
66 /* EOF */