mirror of https://github.com/docker/cli.git
51 lines
2.7 KiB
Go
51 lines
2.7 KiB
Go
// Package computestorage is a wrapper around the HCS storage APIs. These are new storage APIs introduced
|
|
// separate from the original graphdriver calls intended to give more freedom around creating
|
|
// and managing container layers and scratch spaces.
|
|
package computestorage
|
|
|
|
import (
|
|
hcsschema "github.com/Microsoft/hcsshim/internal/schema2"
|
|
)
|
|
|
|
//go:generate go run ../mksyscall_windows.go -output zsyscall_windows.go storage.go
|
|
|
|
//sys hcsImportLayer(layerPath string, sourceFolderPath string, layerData string) (hr error) = computestorage.HcsImportLayer?
|
|
//sys hcsExportLayer(layerPath string, exportFolderPath string, layerData string, options string) (hr error) = computestorage.HcsExportLayer?
|
|
//sys hcsDestroyLayer(layerPath string) (hr error) = computestorage.HcsDestoryLayer?
|
|
//sys hcsSetupBaseOSLayer(layerPath string, handle windows.Handle, options string) (hr error) = computestorage.HcsSetupBaseOSLayer?
|
|
//sys hcsInitializeWritableLayer(writableLayerPath string, layerData string, options string) (hr error) = computestorage.HcsInitializeWritableLayer?
|
|
//sys hcsAttachLayerStorageFilter(layerPath string, layerData string) (hr error) = computestorage.HcsAttachLayerStorageFilter?
|
|
//sys hcsDetachLayerStorageFilter(layerPath string) (hr error) = computestorage.HcsDetachLayerStorageFilter?
|
|
//sys hcsFormatWritableLayerVhd(handle windows.Handle) (hr error) = computestorage.HcsFormatWritableLayerVhd?
|
|
//sys hcsGetLayerVhdMountPath(vhdHandle windows.Handle, mountPath **uint16) (hr error) = computestorage.HcsGetLayerVhdMountPath?
|
|
//sys hcsSetupBaseOSVolume(layerPath string, volumePath string, options string) (hr error) = computestorage.HcsSetupBaseOSVolume?
|
|
|
|
// LayerData is the data used to describe parent layer information.
|
|
type LayerData struct {
|
|
SchemaVersion hcsschema.Version `json:"SchemaVersion,omitempty"`
|
|
Layers []hcsschema.Layer `json:"Layers,omitempty"`
|
|
}
|
|
|
|
// ExportLayerOptions are the set of options that are used with the `computestorage.HcsExportLayer` syscall.
|
|
type ExportLayerOptions struct {
|
|
IsWritableLayer bool `json:"IsWritableLayer,omitempty"`
|
|
}
|
|
|
|
// OsLayerType is the type of layer being operated on.
|
|
type OsLayerType string
|
|
|
|
const (
|
|
// OsLayerTypeContainer is a container layer.
|
|
OsLayerTypeContainer OsLayerType = "Container"
|
|
// OsLayerTypeVM is a virtual machine layer.
|
|
OsLayerTypeVM OsLayerType = "Vm"
|
|
)
|
|
|
|
// OsLayerOptions are the set of options that are used with the `SetupBaseOSLayer` and
|
|
// `SetupBaseOSVolume` calls.
|
|
type OsLayerOptions struct {
|
|
Type OsLayerType `json:"Type,omitempty"`
|
|
DisableCiCacheOptimization bool `json:"DisableCiCacheOptimization,omitempty"`
|
|
SkipUpdateBcdForBoot bool `json:"SkipUpdateBcdForBoot,omitempty"`
|
|
}
|