/*++ 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_