22#define MINIRDR__NAME "Value is ignored, only fact of definition"
32#if defined(__REACTOS__) && (NTDDI_VERSION < NTDDI_WIN7)
34 ULONG *utf8_bytes_written,
37 ULONG *uni_bytes_written,
53#ifdef INCLUDE_TIMESTAMPS
85#ifdef INCLUDE_TIMESTAMPS
123 for(
j = 0,
k = 0;
j <
len;
j++,
k++) {
126 if (((
k+1) % 30 == 0 &&
k > 0))
137 DbgP(
"IRP_MJ_FILE_SYSTEM_CONTROL\n");
140 DbgP(
"IRP_MJ_DEVICE_CONTROL\n");
143 DbgP(
"IRP_MJ_INTERNAL_DEVICE_CONTROL\n");
146 DbgP(
"UNKNOWN MJ IRP %d\n",
op);
155 DbgP(
"IOCTL_NFS41_INVALCACHE\n");
158 DbgP(
"IOCTL_NFS41_UPCALL\n");
161 DbgP(
"IOCTL_NFS41_DOWNCALL\n");
164 DbgP(
"IOCTL_NFS41_ADDCONN\n");
167 DbgP(
"IOCTL_NFS41_DELCONN\n");
170 DbgP(
"IOCTL_NFS41_GETSTATE\n");
173 DbgP(
"IOCTL_NFS41_START\n");
176 DbgP(
"IOCTL_NFS41_STOP\n");
179 DbgP(
"UNKNOWN FS IOCTL %d\n",
op);
187 DbgP(
"NFS41_START_DRIVER_STARTABLE\n");
190 DbgP(
"NFS41_START_DRIVER_STOPPED\n");
193 DbgP(
"NFS41_START_DRIVER_START_IN_PROGRESS\n");
196 DbgP(
"NFS41_START_DRIVER_STARTED\n");
199 DbgP(
"UNKNOWN DRIVER STATE %d\n",
state);
207 DbgP(
"BASIC_INFO: Create=%lx Access=%lx Write=%lx Change=%lx Attr=%x\n",
208 info->CreationTime.QuadPart,
info->LastAccessTime.QuadPart,
209 info->LastWriteTime.QuadPart,
info->ChangeTime.QuadPart,
210 info->FileAttributes);
215 DbgP(
"STD_INFO: Type=%s #Links=%d Alloc=%lx EOF=%lx Delete=%d\n",
216 info->Directory?
"DIR":
"FILE",
info->NumberOfLinks,
217 info->AllocationSize.QuadPart,
info->EndOfFile.QuadPart,
218 info->DeletePending);
224 DbgP(
"FULL_EA_INFO: NextOffset=%d Flags=%x EaNameLength=%d "
225 "ExValueLength=%x EaName=%s\n",
info->NextEntryOffset,
info->Flags,
227 if (
info->EaValueLength)
229 (
unsigned char *)
info->EaName +
info->EaNameLength + 1,
230 info->EaValueLength);
235 if (!on || !
info)
return;
236 DbgP(
"GET_EA_INFO: NextOffset=%d EaNameLength=%d EaName=%s\n",
237 info->NextEntryOffset,
info->EaNameLength,
info->EaName);
243 DbgP(
"PMRX_SRV_CALL %p\n",
p);
245 DbgP(
"\tNodeReferenceCount %ld\n",
p->NodeReferenceCount);
254 DbgP(
"*****************\n");
261 DbgP(
"PMRX_NET_ROOT %p\n",
p);
263 DbgP(
"\tNodeReferenceCount %ld\n",
p->NodeReferenceCount);
264 DbgP(
"\tpSrvCall %p\n",
p->pSrvCall);
268 DbgP(
"\tNumberOfFcbs %ld\n",
p->NumberOfFcbs);
269 DbgP(
"\tNumberofSrvOpens %ld\n",
p->NumberOfSrvOpens);
275 DbgP(
"*****************\n");
282 DbgP(
"PMRX_V_NET_ROOT %p\n",
p);
284 DbgP(
"\tNodeReferenceCount %ld\n",
p->NodeReferenceCount);
285 DbgP(
"\tpNetRoot %p\n",
p->pNetRoot);
289 DbgP(
"\tNumberofOpens %ld\n",
p->NumberOfOpens);
290 DbgP(
"\tNumberofFobxs %ld\n",
p->NumberOfFobxs);
298 DbgP(
"*****************\n");
305 DbgP(
"FsContext %p FsContext2 %p\n",
file->FsContext,
file->FsContext2);
306 DbgP(
"DeletePending %d ReadAccess %d WriteAccess %d DeleteAccess %d\n",
307 file->DeletePending,
file->WriteAccess,
file->DeleteAccess);
308 DbgP(
"SharedRead %d SharedWrite %d SharedDelete %d Flags %x\n",
315 if (
c->pFcb &&
c->pRelevantSrvOpen)
316 DbgP(
"OpenCount %d FCB %p SRV %p FOBX %p VNET %p NET %p\n",
317 c->pFcb->OpenCount,
c->pFcb,
c->pRelevantSrvOpen,
c->pFobx,
318 c->pRelevantSrvOpen->pVNetRoot,
c->pFcb->pNetRoot);
324 DbgP(
"PMRX_FCB %p OpenCount %d\n",
p,
p->OpenCount);
326 DbgP(
"\tNodeReferenceCount %ld\n",
p->NodeReferenceCount);
327 DbgP(
"\tpNetRoot %p\n",
p->pNetRoot);
333 DbgP(
"\tOpenCount %ld\n",
p->OpenCount);
343 DbgP(
"*****************\n");
350 DbgP(
"PMRX_SRV_OPEN %p\n",
p);
352 DbgP(
"\tNodeReferenceCount %ld\n",
p->NodeReferenceCount);
353 DbgP(
"\tpFcb %p\n",
p->pFcb);
354 DbgP(
"\tpVNetRoot %p\n",
p->pVNetRoot);
360 DbgP(
"\tOpenCount %ld\n",
p->OpenCount);
368 DbgP(
"*****************\n");
375 DbgP(
"PMRX_FOBX %p\n",
p);
377 DbgP(
"\tNodeReferenceCount %ld\n",
p->NodeReferenceCount);
378 DbgP(
"\tpSrvOpen %p\n",
p->pSrvOpen);
379 DbgP(
"\tAssociatedFileObject %p\n",
p->AssociatedFileObject);
383 DbgP(
"*****************\n");
391 DbgP(
"IRP FLAGS: 0x%x %s %s %s %s %s %s %s %s %s %s %s %s %s %s\n",
413 DbgP(
"IRPSP FLAGS 0x%x %s %s %s %s\n", irps->
Flags,
422 if (
params.FileAttributes)
423 DbgP(
"File attributes %x: %s %s %s %s %s %s %s %s %s %s %s %s %s %s\n",
441 DbgP(
"Create Dispositions: FILE_SUPERSEDE\n");
443 DbgP(
"Create Dispositions: FILE_CREATE\n");
445 DbgP(
"Create Dispositions: FILE_OPEN\n");
447 DbgP(
"Create Dispositions: FILE_OPEN_IF\n");
449 DbgP(
"Create Dispositions: FILE_OVERWRITE\n");
451 DbgP(
"Create Dispositions: FILE_OVERWRITE_IF\n");
453 DbgP(
"Create Attributes: 0x%x %s %s %s %s %s %s %s %s %s %s %s %s %s %s "
454 "%s %s\n",
params.CreateOptions,
472 DbgP(
"Share Access: %s %s %s\n",
477 DbgP(
"Desired Access: 0x%x %s %s %s %s %s %s %s %s %s %s %s\n",
502 return (
unsigned char *)
"FileBothDirectoryInformation";
504 return (
unsigned char *)
"FileDirectoryInformation";
506 return (
unsigned char *)
"FileFullDirectoryInformation";
508 return (
unsigned char *)
"FileIdBothDirectoryInformation";
510 return (
unsigned char *)
"FileIdFullDirectoryInformation";
512 return (
unsigned char *)
"FileNamesInformation";
514 return (
unsigned char *)
"FileObjectIdInformation";
516 return (
unsigned char *)
"FileQuotaInformation";
518 return (
unsigned char *)
"FileReparsePointInformation";
520 return (
unsigned char *)
"FileAllInformation";
522 return (
unsigned char *)
"FileAttributeTagInformation";
524 return (
unsigned char *)
"FileBasicInformation";
526 return (
unsigned char *)
"FileCompressionInformation";
528 return (
unsigned char *)
"FileEaInformation";
530 return (
unsigned char *)
"FileInternalInformation";
532 return (
unsigned char *)
"FileNameInformation";
534 return (
unsigned char *)
"FileNetworkOpenInformation";
536 return (
unsigned char *)
"FilePositionInformation";
538 return (
unsigned char *)
"FileStandardInformation";
540 return (
unsigned char *)
"FileStreamInformation";
542 return (
unsigned char *)
"FileAllocationInformation";
544 return (
unsigned char *)
"FileDispositionInformation";
546 return (
unsigned char *)
"FileEndOfFileInformation";
548 return (
unsigned char *)
"FileLinkInformation";
550 return (
unsigned char *)
"FileRenameInformation";
552 return (
unsigned char *)
"FileValidDataLengthInformation";
554 return (
unsigned char *)
"UNKNOWN";
562 return (
unsigned char *)
"FileFsAttributeInformation";
564 return (
unsigned char *)
"FileFsControlInformation";
566 return (
unsigned char *)
"FileFsDeviceInformation";
568 return (
unsigned char *)
"FileFsDriverPathInformation";
570 return (
unsigned char *)
"FileFsFullSizeInformation";
572 return (
unsigned char *)
"FileFsObjectIdInformation";
574 return (
unsigned char *)
"FileFsSizeInformation";
576 return (
unsigned char *)
"FileFsVolumeInformation";
578 return (
unsigned char *)
"UNKNOWN";
587 DbgP(
"enable_caching: DISABLE_CACHING %wZ\n",
name);
590 DbgP(
"enable_caching: ENABLE_READ_CACHING %wZ\n",
name);
593 DbgP(
"enable_caching: ENABLE_WRITE_CACHING %wZ\n",
name);
596 DbgP(
"enable_caching: ENABLE_READWRITE_CACHING %wZ\n",
name);
622 default:
return "UNKNOWN";
629 DbgP(
"Security query: %s %s %s\n",
641 DbgP(
"[ERROR] nfs41_Create: STATUS_ACCESS_DENIED\n");
644 DbgP(
"[ERROR] nfs41_Create: STATUS_NETWORK_ACCESS_DENIED\n");
647 DbgP(
"[ERROR] nfs41_Create: STATUS_OBJECT_NAME_INVALID\n");
650 DbgP(
"[ERROR] nfs41_Create: STATUS_OBJECT_NAME_COLLISION\n");
653 DbgP(
"[ERROR] nfs41_Create: STATUS_FILE_INVALID\n");
656 DbgP(
"[ERROR] nfs41_Create: STATUS_OBJECT_NAME_NOT_FOUND\n");
659 DbgP(
"[ERROR] nfs41_Create: STATUS_NAME_TOO_LONG\n");
662 DbgP(
"[ERROR] nfs41_Create: STATUS_OBJECT_PATH_NOT_FOUND\n");
665 DbgP(
"[ERROR] nfs41_Create: STATUS_BAD_NETWORK_PATH\n");
668 DbgP(
"[ERROR] nfs41_Create: STATUS_SHARING_VIOLATION\n");
671 DbgP(
"[ERROR] nfs41_Create: STATUS_REPARSE\n");
674 DbgP(
"[ERROR] nfs41_Create: STATUS_TOO_MANY_LINKS\n");
677 DbgP(
"[ERROR] nfs41_Create: STATUS_FILE_IS_A_DIRECTORY\n");
680 DbgP(
"[ERROR] nfs41_Create: STATUS_NOT_A_DIRECTORY\n");
683 DbgP(
"[ERROR] nfs41_Create: STATUS_INSUFFICIENT_RESOURCES\n");
695 DbgP(
"%s Got a wakeup call, finishing %s entry=%p xid=%lld\n",
698 DbgP(
"%s Got a wakeup call\n", prefix);
701 DbgP(
"%s KeWaitForSingleObject returned STATUS_USER_APC\n", prefix);
704 DbgP(
"%s KeWaitForSingleObject returned STATUS_ALERTED\n", prefix);
707 DbgP(
"%s KeWaitForSingleObject returned %d\n", prefix,
status);
720 #define TEMP_BUFFER_SIZE 1024
740 "RtlStringCbVPrintfA failed %x \n",
status);
#define FILE_ATTRIBUTE_VIRTUAL
#define DPFLTR_ERROR_LEVEL
#define FILE_DIRECTORY_FILE
#define FILE_NON_DIRECTORY_FILE
#define FILE_COMPLETE_IF_OPLOCKED
#define FILE_DELETE_ON_CLOSE
#define NT_SUCCESS(StatCode)
#define FILE_ATTRIBUTE_NORMAL
static DOUBLE local_time(DOUBLE time, DateInstance *date)
BOOLEAN RtlTimeToTimeFields(IN PLARGE_INTEGER Time, IN PTIME_FIELDS TimeFields)
#define KeQuerySystemTime(t)
#define ExSystemTimeToLocalTime(SysTime, LocTime)
#define FILE_OPEN_BY_FILE_ID
@ FilePositionInformation
@ FileEndOfFileInformation
@ FileCompressionInformation
@ FileInternalInformation
@ FileAttributeTagInformation
@ FileDirectoryInformation
@ FileReparsePointInformation
@ FileObjectIdInformation
@ FileIdBothDirectoryInformation
@ FileValidDataLengthInformation
@ FileAllocationInformation
@ FileFullDirectoryInformation
@ FileNetworkOpenInformation
@ FileDispositionInformation
@ FileBothDirectoryInformation
@ FileIdFullDirectoryInformation
#define FILE_OVERWRITE_IF
#define FILE_OPEN_REPARSE_POINT
#define FILE_NO_EA_KNOWLEDGE
#define FILE_RESERVE_OPFILTER
#define FILE_SYNCHRONOUS_IO_NONALERT
@ FileFsControlInformation
@ FileFsDeviceInformation
@ FileFsAttributeInformation
@ FileFsVolumeInformation
#define FILE_NO_INTERMEDIATE_BUFFERING
#define FILE_RANDOM_ACCESS
#define FILE_WRITE_THROUGH
#define FILE_SEQUENTIAL_ONLY
#define FILE_SYNCHRONOUS_IO_ALERT
#define FILE_CREATE_TREE_CONNECTION
#define FILE_OPEN_FOR_BACKUP_INTENT
GLenum const GLfloat * params
GLenum GLuint GLenum GLsizei const GLchar * buf
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean flag
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
#define DbgPrintEx(cmpid, lvl, fmt,...)
NTSTATUS NTAPI RtlUnicodeToUTF8N(CHAR *utf8_dest, ULONG utf8_bytes_max, ULONG *utf8_bytes_written, const WCHAR *uni_src, ULONG uni_bytes)
#define FILE_ATTRIBUTE_DEVICE
DWORD SECURITY_INFORMATION
void print_fo_all(int on, PRX_CONTEXT c)
unsigned char * print_file_information_class(int InfoClass)
VOID print_srv_call(int on, IN PMRX_SRV_CALL p)
void print_ioctl(int on, int op)
void print_driver_state(int state)
void print_get_ea(int on, PFILE_GET_EA_INFORMATION info)
void print_irps_flags(int on, PIO_STACK_LOCATION irps)
VOID print_fobx(int on, IN PMRX_FOBX p)
VOID print_net_root(int on, IN PMRX_NET_ROOT p)
VOID print_irp_flags(int on, PIRP irp)
VOID print_v_net_root(int on, IN PMRX_V_NET_ROOT p)
void print_fs_ioctl(int on, int op)
const char * opcode2string(int opcode)
void print_open_error(int on, int status)
void print_acl_args(SECURITY_INFORMATION info)
ULONG __cdecl print_error(IN PCCH fmt,...)
void print_nt_create_params(int on, NT_CREATE_PARAMETERS params)
void print_file_object(int on, PFILE_OBJECT file)
void print_std_info(int on, PFILE_STANDARD_INFORMATION info)
ULONG dprintk(IN PCHAR func, IN ULONG flags, IN PCHAR format,...)
VOID print_fcb(int on, IN PMRX_FCB p)
void print_hexbuf(int on, unsigned char *title, unsigned char *buf, int len)
VOID print_srv_open(int on, IN PMRX_SRV_OPEN p)
unsigned char * print_fs_information_class(int InfoClass)
void print_ea_info(int on, PFILE_FULL_EA_INFORMATION info)
void print_basic_info(int on, PFILE_BASIC_INFORMATION info)
void print_wait_status(int on, const char *prefix, NTSTATUS status, const char *opcode, PVOID entry, LONGLONG xid)
void print_caching_level(int on, ULONG flag, PUNICODE_STRING name)
#define IOCTL_NFS41_INVALCACHE
#define IOCTL_NFS41_WRITE
#define IOCTL_NFS41_ADDCONN
#define IOCTL_NFS41_START
@ NFS41_START_DRIVER_STARTABLE
@ NFS41_START_DRIVER_START_IN_PROGRESS
@ NFS41_START_DRIVER_STARTED
@ NFS41_START_DRIVER_STOPPED
#define IOCTL_NFS41_GETSTATE
#define IOCTL_NFS41_DELCONN
#define FILE_ATTRIBUTE_READONLY
#define FILE_ATTRIBUTE_COMPRESSED
#define FILE_READ_ATTRIBUTES
#define FILE_LIST_DIRECTORY
#define FILE_ATTRIBUTE_HIDDEN
#define FILE_ATTRIBUTE_SYSTEM
#define FILE_SHARE_DELETE
#define STANDARD_RIGHTS_READ
#define FILE_WRITE_ATTRIBUTES
#define FILE_ATTRIBUTE_ARCHIVE
#define FILE_ATTRIBUTE_DIRECTORY
#define FILE_ATTRIBUTE_TEMPORARY
#define FILE_ATTRIBUTE_ENCRYPTED
#define FILE_ATTRIBUTE_SPARSE_FILE
#define FILE_ATTRIBUTE_REPARSE_POINT
#define FileFsDriverPathInformation
#define FileFsFullSizeInformation
#define FileFsObjectIdInformation
#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
PEPROCESS NTAPI IoGetCurrentProcess(VOID)
HANDLE NTAPI PsGetCurrentProcessId(VOID)
#define STATUS_NETWORK_ACCESS_DENIED
#define STATUS_BAD_NETWORK_PATH
#define STATUS_FILE_INVALID
#define STATUS_NAME_TOO_LONG
NTSTRSAFEAPI RtlStringCbVPrintfA(_Out_writes_bytes_(cbDest) _Always_(_Post_z_) NTSTRSAFE_PSTR pszDest, _In_ size_t cbDest, _In_ _Printf_format_string_ NTSTRSAFE_PCSTR pszFormat, _In_ va_list argList)
#define IRP_MJ_DEVICE_CONTROL
#define RtlUTF8ToUnicodeN
#define FileStandardInformation
#define STATUS_ACCESS_DENIED
#define STATUS_OBJECT_PATH_NOT_FOUND
#define STATUS_OBJECT_NAME_COLLISION
#define STATUS_SHARING_VIOLATION
#define STATUS_OBJECT_NAME_INVALID
#define STATUS_OBJECT_NAME_NOT_FOUND
#define ERROR_TOO_MANY_LINKS
#define ERROR_BAD_FILE_TYPE
#define SL_OPEN_PAGING_FILE
#define IRP_DEALLOCATE_BUFFER
#define IRP_CLOSE_OPERATION
#define IRP_SYNCHRONOUS_API
#define IRP_INPUT_OPERATION
#define IRP_MJ_FILE_SYSTEM_CONTROL
#define SL_FORCE_ACCESS_CHECK
#define IRP_WRITE_OPERATION
#define IRP_MOUNT_COMPLETION
#define IRP_CREATE_OPERATION
#define IRP_DEFER_IO_COMPLETION
#define IRP_ASSOCIATED_IRP
#define IRP_READ_OPERATION
#define IRP_MJ_INTERNAL_DEVICE_CONTROL
#define IRP_SYNCHRONOUS_PAGING_IO
#define SL_OPEN_TARGET_DIRECTORY
#define SL_CASE_SENSITIVE
#define DACL_SECURITY_INFORMATION
#define OWNER_SECURITY_INFORMATION
#define GROUP_SECURITY_INFORMATION
#define SACL_SECURITY_INFORMATION