def __init__(self):
        vstruct.VStruct.__init__(self)
        self.InterfaceVersion = v_uint8()
        self.ForceIdle = v_uint8()
        self.EstimateIdleDuration = v_uint8()
        self.ExitLatencyTraceEnabled = v_uint8()
        self.NonInterruptibleTransition = v_uint8()
        self._pad0008 = v_bytes(size=3)
        self.ExitLatencyCountdown = v_uint32()
        self.TargetState = v_uint32()
        self.ActualState = v_uint32()
        self.OldState = v_uint32()
        self.OverrideIndex = v_uint32()
        self.ProcessorIdleCount = v_uint32()
        self.Type = v_uint32()
        self.ReasonFlags = v_uint16()
        self._pad0028 = v_bytes(size=2)
        self.InitiateWakeStamp = v_uint64()
        self.PreviousStatus = v_uint32()
        self.PreviousCancelReason = v_uint32()
        self.PrimaryProcessorMask = KAFFINITY_EX()
        self.SecondaryProcessorMask = KAFFINITY_EX()
        self.IdlePrepare = v_ptr32()
        self.IdleExecute = v_ptr32()
        self.IdlePreselect = v_ptr32()
        self.IdleTest = v_ptr32()
        self.IdleComplete = v_ptr32()
        self.IdleCancel = v_ptr32()
        self.IdleIsHalted = v_ptr32()
        self.IdleInitiateWake = v_ptr32()
        self.QueryPlatformStateResidency = v_ptr32()
        self._pad0078 = v_bytes(size=4)
        self.PrepareInfo = PROCESSOR_IDLE_PREPARE_INFO()
        self.Tracing = v_ptr32()
        self.State = vstruct.VArray([ PPM_IDLE_STATE() for i in xrange(1) ])
        self._pad0110 = v_bytes(size=4)