diff --git a/include/ntddk.h b/include/ntddk.h
index 00500b50ab95edb24cf03adffa233ff95fbe3204..918699fbff8f5c90b47ebc36633ba2e011bb1e58 100644
--- a/include/ntddk.h
+++ b/include/ntddk.h
@@ -1027,6 +1027,31 @@ NTSTATUS WINAPI RtlEnterCriticalSection( RTL_CRITICAL_SECTION *crit );
 BOOL     WINAPI RtlTryEnterCriticalSection( RTL_CRITICAL_SECTION *crit );
 NTSTATUS WINAPI RtlLeaveCriticalSection( RTL_CRITICAL_SECTION *crit );
 
+/* file functions */
+
+/* flags for NtCreateFile and NtOpenFile */
+#define FILE_DIRECTORY_FLAG  0x00000001
+#define FILE_WRITE_THROUGH   0x00000002
+#define FILE_SEQUENTIAL_ONLY 0x00000004
+#define FILE_NO_INTERMEDIATE_BUFFERING 0x00000008
+#define FILE_SYNCHRONOUS_IO_ALERT    0x00000010
+#define FILE_SYNCHRONOUS_IO_NONALERT 0x00000020
+#define FILE_NON_DIRECTORY_FILE      0x00000040
+#define FILE_CREATE_TREE_CONNECTION  0x00000080
+
+/* status for NtCreateFile or NtOpenFile */
+#define FILE_SUPERSEDED  0x00000000
+#define FILE_OPENED      0x00000001
+#define FILE_CREATED     0x00000002
+#define FILE_OVERWRITTEN 0x00000003
+#define FILE_EXISTS      0x00000004
+#define FILE_DOES_NOT_EXIST 0x00000005
+
+NTSTATUS WINAPI NtCreateFile(PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PIO_STATUS_BLOCK, PLARGE_INTEGER, ULONG, ULONG, ULONG, ULONG, PVOID, ULONG);
+NTSTATUS WINAPI NtOpenFile(PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PIO_STATUS_BLOCK, ULONG, ULONG);
+NTSTATUS WINAPI NtReadFile(HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, PVOID, ULONG, PLARGE_INTEGER, PULONG);
+
+
 /* string functions */
 extern LPSTR _strlwr( LPSTR str );
 extern LPSTR _strupr( LPSTR str );