github.com/endocode/docker@v1.4.2-0.20160113120958-46eb4700391e/daemon/execdriver/driver_windows.go (about)

     1  package execdriver
     2  
     3  import "github.com/docker/go-connections/nat"
     4  
     5  // Mount contains information for a mount operation.
     6  type Mount struct {
     7  	Source      string `json:"source"`
     8  	Destination string `json:"destination"`
     9  	Writable    bool   `json:"writable"`
    10  }
    11  
    12  // Resources contains all resource configs for a driver.
    13  // Currently these are all for cgroup configs.
    14  type Resources struct {
    15  	CommonResources
    16  
    17  	// Fields below here are platform specific
    18  }
    19  
    20  // ProcessConfig is the platform specific structure that describes a process
    21  // that will be run inside a container.
    22  type ProcessConfig struct {
    23  	CommonProcessConfig
    24  
    25  	// Fields below here are platform specific
    26  	ConsoleSize [2]int `json:"-"` // h,w of initial console size
    27  }
    28  
    29  // Network settings of the container
    30  type Network struct {
    31  	Interface   *NetworkInterface `json:"interface"`
    32  	ContainerID string            `json:"container_id"` // id of the container to join network.
    33  }
    34  
    35  // NetworkInterface contains network configs for a driver
    36  type NetworkInterface struct {
    37  	MacAddress string `json:"mac"`
    38  	Bridge     string `json:"bridge"`
    39  	IPAddress  string `json:"ip"`
    40  
    41  	// PortBindings is the port mapping between the exposed port in the
    42  	// container and the port on the host.
    43  	PortBindings nat.PortMap `json:"port_bindings"`
    44  }
    45  
    46  // Command wraps an os/exec.Cmd to add more metadata
    47  type Command struct {
    48  	CommonCommand
    49  
    50  	// Fields below here are platform specific
    51  
    52  	FirstStart  bool     `json:"first_start"`  // Optimisation for first boot of Windows
    53  	Hostname    string   `json:"hostname"`     // Windows sets the hostname in the execdriver
    54  	LayerFolder string   `json:"layer_folder"` // Layer folder for a command
    55  	LayerPaths  []string `json:"layer_paths"`  // Layer paths for a command
    56  	Isolation   string   `json:"isolation"`    // Isolation level for the container
    57  	ArgsEscaped bool     `json:"args_escaped"` // True if args are already escaped
    58  	HvPartition bool     `json:"hv_partition"` // True if it's an hypervisor partition
    59  }
    60  
    61  // ExitStatus provides exit reasons for a container.
    62  type ExitStatus struct {
    63  	// The exit code with which the container exited.
    64  	ExitCode int
    65  }