Windows: IOCTL_AFS_GET_DEBUG_TRACE
[openafs.git] / src / WINNT / afsrdr / kernel / fs / AFSCommSupport.cpp
index 614004b..b60ab7e 100644 (file)
@@ -435,9 +435,11 @@ AFSCheckIoctlPermissions( IN ULONG ControlCode)
             return STATUS_SUCCESS;
 
         case IOCTL_AFS_CONFIGURE_DEBUG_TRACE:
+       case IOCTL_AFS_GET_DEBUG_TRACE:
         case IOCTL_AFS_GET_TRACE_BUFFER:
         case IOCTL_AFS_FORCE_CRASH:
 
+
             //
             // Any admin can call these
             //
@@ -701,6 +703,31 @@ AFSProcessControlRequest( IN PIRP Irp)
                 break;
             }
 
+           case IOCTL_AFS_GET_DEBUG_TRACE:
+           {
+
+               AFSTraceConfigCB *pTraceInfo = (AFSTraceConfigCB *)Irp->AssociatedIrp.SystemBuffer;
+
+               if( pTraceInfo == NULL ||
+                   pIrpSp->Parameters.DeviceIoControl.OutputBufferLength < sizeof( AFSTraceConfigCB))
+               {
+
+                   ntStatus = STATUS_INVALID_PARAMETER;
+
+                   break;
+               }
+
+               ntStatus = AFSGetTraceConfig( pTraceInfo);
+
+               if ( NT_SUCCESS( ntStatus))
+               {
+
+                   Irp->IoStatus.Information = sizeof( AFSTraceConfigCB);
+               }
+
+               break;
+           }
+
             case IOCTL_AFS_GET_TRACE_BUFFER:
             {