' ########################################################################################
' Microsoft Windows
' File: sisbkup.inc
' Contents: External interface for the SIS Backup dll
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_sisbkup_PBI)
#DEFINE PBX_sisbkup_PBI
%EQUATE `SISBKUP_INC = 1
DECLARE FUNCTION SisCreateBackupStructure LIB "sisbkup.dll" ALIAS "SisCreateBackupStructure" ( BYREF volumeRoot AS WSTRINGZ , BYREF sisBackupStructure AS QUAD , BYREF commonStoreRootPathname AS QUAD , BYREF countOfCommonStoreFilesToBackup AS QUAD , BYREF commonStoreFilesToBackup AS QUAD ) AS LONG
DECLARE FUNCTION SisCSFilesToBackupForLink LIB "sisbkup.dll" ALIAS "SisCSFilesToBackupForLink" ( BYVAL sisBackupStructure AS QUAD
 , BYVAL reparseData AS DWORD
 , BYVAL reparseDataSize AS DWORD
 , BYVAL thisFileContext AS DWORD
 , BYREF matchingFileContext AS DWORD
 , BYREF countOfCommonStoreFilesToBackup AS DWORD
 , BYREF commonStoreFilesToBackup AS DWORD
 ) AS LONG
DECLARE FUNCTION SisFreeBackupStructure LIB "sisbkup.dll" ALIAS "SisFreeBackupStructure" ( BYVAL sisBackupStructure AS DWORD
 ) AS LONG
DECLARE FUNCTION SisCreateRestoreStructure LIB "sisbkup.dll" ALIAS "SisCreateRestoreStructure" ( BYREF volumeRoot AS WSTRINGZ
 , BYREF sisRestoreStructure AS DWORD
 , BYREF commonStoreRootPathname AS DWORD
 , BYREF countOfCommonStoreFilesToRestore AS DWORD
 , BYREF commonStoreFilesToRestore AS DWORD
 ) AS LONG
DECLARE FUNCTION SisRestoredLink LIB "sisbkup.dll" ALIAS "SisRestoredLink" ( BYVAL sisRestoreStructure AS DWORD
 , BYREF restoredFileName AS WSTRINGZ
 , BYVAL reparseData AS DWORD
 , BYVAL reparseDataSize AS DWORD
 , BYREF countOfCommonStoreFilesToRestore AS DWORD
 , BYREF commonStoreFilesToRestore AS DWORD
 ) AS LONG
DECLARE FUNCTION SisRestoredCommonStoreFile LIB "sisbkup.dll" ALIAS "SisRestoredCommonStoreFile" ( BYVAL sisRestoreStructure AS DWORD
 , BYREF commonStoreFileName AS WSTRINGZ
 ) AS LONG
DECLARE FUNCTION SisFreeRestoreStructure LIB "sisbkup.dll" ALIAS "SisFreeRestoreStructure" ( BYVAL sisRestoreStructure AS DWORD
 ) AS LONG
DECLARE SUB SisFreeAllocatedMemory LIB "sisbkup.dll" ALIAS "SisFreeAllocatedMemory" ( BYVAL allocatedSpace AS DWORD
 ) ' void
#ENDIF
