220 lines
3.7 KiB
C
220 lines
3.7 KiB
C
/*++
|
|
Copyright (C) Microsoft Corporation, 1996 - 1999
|
|
|
|
Module Name:
|
|
|
|
CLI.H
|
|
|
|
Abstract:
|
|
|
|
This module defines the prototype for the Command Line Interface
|
|
for HSM. These are interfaces the parse module of the CLI would
|
|
call
|
|
|
|
Author:
|
|
|
|
Ravisankar Pudipeddi (ravisp) 2/23/00
|
|
|
|
Environment:
|
|
|
|
User Mode
|
|
|
|
--*/
|
|
|
|
#ifndef _RSCLI_
|
|
#define _RSCLI_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef enum _HSM_JOB_TYPE {
|
|
InvalidJobType = 0,
|
|
CopyFiles,
|
|
CreateFreeSpace,
|
|
Validate,
|
|
Unmanage
|
|
} HSM_JOB_TYPE;
|
|
|
|
typedef enum _HSM_JOB_FREQUENCY {
|
|
InvalidJobFrequency = 0,
|
|
Daily,
|
|
Weekly,
|
|
Monthly,
|
|
Once,
|
|
SystemStartup,
|
|
Login,
|
|
WhenIdle
|
|
} HSM_JOB_FREQUENCY;
|
|
|
|
|
|
typedef struct _HSM_JOB_SCHEDULE {
|
|
HSM_JOB_FREQUENCY Frequency;
|
|
union {
|
|
struct {
|
|
SYSTEMTIME Time;
|
|
DWORD Occurrence;
|
|
} Daily;
|
|
struct {
|
|
SYSTEMTIME Time;
|
|
DWORD Occurrence;
|
|
} Weekly;
|
|
struct {
|
|
SYSTEMTIME Time;
|
|
} Monthly;
|
|
struct {
|
|
SYSTEMTIME Time;
|
|
} Once;
|
|
struct {
|
|
} SystemStartup;
|
|
struct {
|
|
} Login;
|
|
struct {
|
|
DWORD Occurrence;
|
|
} WhenIdle;
|
|
} Parameters;
|
|
} HSM_JOB_SCHEDULE, *PHSM_JOB_SCHEDULE;
|
|
|
|
#define INVALID_DWORD_ARG ((DWORD) -1)
|
|
#define INVALID_POINTER_ARG NULL
|
|
#define CLI_ALL_STR L"*"
|
|
|
|
#ifdef CLI_IMPL
|
|
#define CLI_EXPORT __declspec(dllexport)
|
|
#else
|
|
#define CLI_EXPORT __declspec(dllimport)
|
|
#endif
|
|
|
|
CLI_EXPORT HRESULT
|
|
AdminSet(
|
|
IN DWORD RecallLimit,
|
|
IN DWORD AdminExempt,
|
|
IN DWORD MediaCopies,
|
|
IN DWORD Concurrency,
|
|
IN PVOID Schedule
|
|
);
|
|
|
|
|
|
CLI_EXPORT HRESULT
|
|
AdminShow(
|
|
IN BOOL RecallLimit,
|
|
IN BOOL AdminExempt,
|
|
IN BOOL MediaCopies,
|
|
IN BOOL Concurrency,
|
|
IN BOOL Schedule,
|
|
IN BOOL General,
|
|
IN BOOL Manageables,
|
|
IN BOOL Managed,
|
|
IN BOOL Media
|
|
);
|
|
|
|
CLI_EXPORT HRESULT
|
|
AdminJob(
|
|
IN BOOL Enable
|
|
);
|
|
|
|
CLI_EXPORT HRESULT
|
|
VolumeManage(
|
|
IN LPWSTR *Volumes,
|
|
IN DWORD NumberOfVolumes,
|
|
IN DWORD Dfs,
|
|
IN DWORD Size,
|
|
IN DWORD Access,
|
|
IN LPWSTR RulePath,
|
|
IN LPWSTR RuleFileSpec,
|
|
IN BOOL Include,
|
|
IN BOOL Recursive
|
|
);
|
|
|
|
CLI_EXPORT HRESULT
|
|
VolumeUnmanage(
|
|
IN LPWSTR *Volumes,
|
|
IN DWORD NumberOfVolumes,
|
|
IN BOOL Full
|
|
);
|
|
|
|
CLI_EXPORT HRESULT
|
|
VolumeSet(
|
|
IN LPWSTR *Volumes,
|
|
IN DWORD NumberOfVolumes,
|
|
IN DWORD Dfs,
|
|
IN DWORD Size,
|
|
IN DWORD Access,
|
|
IN LPWSTR RulePath,
|
|
IN LPWSTR RuleFileSpec,
|
|
IN BOOL Include,
|
|
IN BOOL Recursive
|
|
);
|
|
|
|
CLI_EXPORT HRESULT
|
|
VolumeShow(
|
|
IN LPWSTR *Volumes,
|
|
IN DWORD NumberOfVolumes,
|
|
IN BOOL Dfs,
|
|
IN BOOL Size,
|
|
IN BOOL Access,
|
|
IN BOOL Rules,
|
|
IN BOOL Statistics
|
|
);
|
|
|
|
CLI_EXPORT HRESULT
|
|
VolumeDeleteRule(
|
|
IN LPWSTR *Volumes,
|
|
IN DWORD NumberOfVolumes,
|
|
IN LPWSTR RulePath,
|
|
IN LPWSTR RuleFileSpec
|
|
);
|
|
|
|
CLI_EXPORT HRESULT
|
|
VolumeJob(
|
|
IN LPWSTR *Volumes,
|
|
IN DWORD NumberOfVolumes,
|
|
IN HSM_JOB_TYPE Job,
|
|
IN BOOL RunOrCancel,
|
|
IN BOOL Synchronous
|
|
);
|
|
|
|
CLI_EXPORT HRESULT
|
|
FileRecall(
|
|
IN LPWSTR *FileSpecs,
|
|
IN DWORD NumberOfFileSpecs
|
|
);
|
|
|
|
CLI_EXPORT HRESULT
|
|
MediaSynchronize(
|
|
IN DWORD CopySetNumber,
|
|
IN BOOL Synchronous
|
|
);
|
|
|
|
CLI_EXPORT HRESULT
|
|
MediaRecreateMaster(
|
|
IN LPWSTR MediaName,
|
|
IN DWORD CopySetNumber,
|
|
IN BOOL Synchronous
|
|
);
|
|
|
|
CLI_EXPORT HRESULT
|
|
MediaDelete(
|
|
IN LPWSTR *MediaNames,
|
|
IN DWORD NumberOfMedia,
|
|
IN DWORD CopySetNumber
|
|
);
|
|
|
|
CLI_EXPORT HRESULT
|
|
MediaShow(
|
|
IN LPWSTR *MediaNames,
|
|
IN DWORD NumberOfMedia,
|
|
IN BOOL Name,
|
|
IN BOOL Status,
|
|
IN BOOL Capacity,
|
|
IN BOOL FreeSpace,
|
|
IN BOOL Version,
|
|
IN BOOL Copies
|
|
);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // _RSCLI_
|