// Code generated by gengoos.go using 'go generate'. DO NOT EDIT.

// +build solaris

package sys

const GOOS = `solaris`

const GoosAndroid = 0
const GoosDarwin = 0
const GoosDragonfly = 0
const GoosFreebsd = 0
const GoosJs = 0
const GoosLinux = 0
const GoosNacl = 0
const GoosNetbsd = 0
const GoosOpenbsd = 0
const GoosPlan9 = 0
const GoosSolaris = 1
const GoosWindows = 0
const GoosZos = 0
