// tskdef.idl : IDL source for HSM engine task interface
//

// This file will be processed by the MIDL tool to
// produce the type library (task.tlb) and marshalling code.

import "oaidl.idl";

typedef [v1_enum] enum _TSK_RESULT_STATUS_ {
    TSK_RESULT_STATUS_NONE = 0
} TSK_RESULT_STATUS;

// The type of work for each work item.
typedef [v1_enum] enum _HSM_WORK_ITEM_TYPE_ {
    HSM_WORK_ITEM_NONE = 0,
    HSM_WORK_ITEM_FSA_WORK = 1,
    HSM_WORK_ITEM_FSA_DONE = 2,
    HSM_WORK_ITEM_MOVER_CANCELLED = 3
} HSM_WORK_ITEM_TYPE;

// The type of queue.
typedef [v1_enum] enum _HSM_WORK_QUEUE_TYPE_ {
    HSM_WORK_TYPE_NONE = 0,
    HSM_WORK_TYPE_FSA_MIGRATE = 1,
    HSM_WORK_TYPE_FSA_RECALL = 2,
    HSM_WORK_TYPE_FSA_VALIDATE = 3,
    HSM_WORK_TYPE_FSA_VALIDATE_FOR_TRUNCATE = 4,
    HSM_WORK_TYPE_FSA_DEMAND_RECALL = 5
} HSM_WORK_QUEUE_TYPE;

// The state of a work queue
typedef [v1_enum] enum _HSM_WORK_QUEUE_STATE_ {
    HSM_WORK_QUEUE_NONE         = 0,
    HSM_WORK_QUEUE_IDLE         = 1,
    HSM_WORK_QUEUE_WAITING      = 2,
    HSM_WORK_QUEUE_STARTING     = 3,
    HSM_WORK_QUEUE_STARTED      = 4,
    HSM_WORK_QUEUE_STOPPING     = 5,
    HSM_WORK_QUEUE_FULL         = 6
} HSM_WORK_QUEUE_STATE;

