Use upper-case ASSERT macros.
[reactos.git] / reactos / ntoskrnl / io / npipe.c
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * FILE: ntoskrnl/io/npipe.c
5 * PURPOSE: Named pipe helper function
6 * PROGRAMMER: David Welch (welch@mcmail.com)
7 * UPDATE HISTORY:
8 * Created 22/05/98
9 */
10
11 /* INCLUDES *****************************************************************/
12
13 #include <ntoskrnl.h>
14 #define NDEBUG
15 #include <internal/debug.h>
16
17 /* FUNCTIONS *****************************************************************/
18
19 NTSTATUS STDCALL
20 NtCreateNamedPipeFile(PHANDLE FileHandle,
21 ACCESS_MASK DesiredAccess,
22 POBJECT_ATTRIBUTES ObjectAttributes,
23 PIO_STATUS_BLOCK IoStatusBlock,
24 ULONG ShareAccess,
25 ULONG CreateDisposition,
26 ULONG CreateOptions,
27 BOOLEAN WriteModeMessage,
28 BOOLEAN ReadModeMessage,
29 BOOLEAN NonBlocking,
30 ULONG MaxInstances,
31 ULONG InBufferSize,
32 ULONG OutBufferSize,
33 PLARGE_INTEGER TimeOut)
34 {
35 IO_PIPE_CREATE_BUFFER Buffer;
36
37 DPRINT("NtCreateNamedPipeFile(FileHandle %x, DesiredAccess %x, "
38 "ObjectAttributes %x ObjectAttributes->ObjectName->Buffer %S)\n",
39 FileHandle,DesiredAccess,ObjectAttributes,
40 ObjectAttributes->ObjectName->Buffer);
41
42 ASSERT_IRQL(PASSIVE_LEVEL);
43
44 if (TimeOut != NULL)
45 {
46 Buffer.TimeOut.QuadPart = TimeOut->QuadPart;
47 }
48 else
49 {
50 Buffer.TimeOut.QuadPart = 0;
51 }
52 Buffer.WriteModeMessage = WriteModeMessage;
53 Buffer.ReadModeMessage = ReadModeMessage;
54 Buffer.NonBlocking = NonBlocking;
55 Buffer.MaxInstances = MaxInstances;
56 Buffer.InBufferSize = InBufferSize;
57 Buffer.OutBufferSize = OutBufferSize;
58
59 return IoCreateFile(FileHandle,
60 DesiredAccess,
61 ObjectAttributes,
62 IoStatusBlock,
63 NULL,
64 FILE_ATTRIBUTE_NORMAL,
65 ShareAccess,
66 CreateDisposition,
67 CreateOptions,
68 NULL,
69 0,
70 CreateFileTypeNamedPipe,
71 (PVOID)&Buffer,
72 0);
73 }
74
75 /* EOF */