// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. /// Exit code constants. /// /// [Source](https://www.freebsd.org/cgi/man.cgi?query=sysexits). class ExitCode { /// Command completed successfully. static const success = ExitCode._(0, 'success'); /// Command was used incorrectly. /// /// This may occur if the wrong number of arguments was used, a bad flag, or /// bad syntax in a parameter. static const usage = ExitCode._(64, 'usage'); /// Input data was used incorrectly. /// /// This should occur only for user data (not system files). static const data = ExitCode._(65, 'data'); /// An input file (not a system file) did not exist or was not readable. static const noInput = ExitCode._(66, 'noInput'); /// User specified did not exist. static const noUser = ExitCode._(67, 'noUser'); /// Host specified did not exist. static const noHost = ExitCode._(68, 'noHost'); /// A service is unavailable. /// /// This may occur if a support program or file does not exist. This may also /// be used as a catch-all error when something you wanted to do does not /// work, but you do not know why. static const unavailable = ExitCode._(69, 'unavailable'); /// An internal software error has been detected. /// /// This should be limited to non-operating system related errors as possible. static const software = ExitCode._(70, 'software'); /// An operating system error has been detected. /// /// This intended to be used for such thing as `cannot fork` or `cannot pipe`. static const osError = ExitCode._(71, 'osError'); /// Some system file (e.g. `/etc/passwd`) does not exist or could not be read. static const osFile = ExitCode._(72, 'osFile'); /// A (user specified) output file cannot be created. static const cantCreate = ExitCode._(73, 'cantCreate'); /// An error occurred doing I/O on some file. static const ioError = ExitCode._(74, 'ioError'); /// Temporary failure, indicating something is not really an error. /// /// In some cases, this can be re-attempted and will succeed later. static const tempFail = ExitCode._(75, 'tempFail'); /// You did not have sufficient permissions to perform the operation. /// /// This is not intended for file system problems, which should use [noInput] /// or [cantCreate], but rather for higher-level permissions. static const noPerm = ExitCode._(77, 'noPerm'); /// Something was found in an unconfigured or misconfigured state. static const config = ExitCode._(78, 'config'); /// Exit code value. final int code; /// Name of the exit code. final String _name; const ExitCode._(this.code, this._name); @override String toString() => '$_name: $code'; }