···20202121/// The command was used incorrectly (e.g. wrong number of arguments,
2222/// bad flag, bad syntax in a parameter, etc).
2323-pub const usage: u8 = metadata.base;
2323+pub const usage: u8 = 64;
24242525/// The input data was incorrect in some way. This should only be used
2626/// for user's data and not system files (which should use `os_file`
2727/// instead).
2828-pub const data_err: u8 = metadata.base + 1;
2828+pub const data_err: u8 = 65;
29293030/// An input file (not a system file, use `os_file` for that) did not
3131/// exist or was not readable.
3232-pub const no_input: u8 = metadata.base + 2;
3232+pub const no_input: u8 = 66;
33333434/// The user specified did not exist.
3535-pub const no_user: u8 = metadata.base + 3;
3535+pub const no_user: u8 = 67;
36363737/// The host specified did not exist. This is used in network requests.
3838-pub const no_host: u8 = metadata.base + 4;
3838+pub const no_host: u8 = 68;
39394040/// A service is unavailable. This can occur if a support program or
4141/// file does not exist. This can also be used as a catchall message
4242/// when something you wanted to do doesn't work, but you don't know
4343/// why.
4444-pub const unavailable: u8 = metadata.base + 5;
4444+pub const unavailable: u8 = 69;
45454646/// An internal software error has been detected. This should be limited
4747/// to non-operating system related errors if possible.
4848-pub const software: u8 = metadata.base + 6;
4848+pub const software: u8 = 70;
49495050/// An operating system error has been detected. This is intended to be
5151/// used for such things as "cannot fork", "cannot create pipe", etc.
5252-pub const os_err: u8 = metadata.base + 7;
5252+pub const os_err: u8 = 71;
53535454/// Some system file (e.g. /etc/passwd, /var/run/utmp, etc.) does not
5555/// exist, cannot be opened, or has some sort of error (e.g. syntax
5656/// error).
5757-pub const os_file: u8 = metadata.base + 8;
5757+pub const os_file: u8 = 72;
58585959/// A user-specified output file cannot be created.
6060-pub const cant_create: u8 = metadata.base + 9;
6060+pub const cant_create: u8 = 73;
61616262/// An error occurred while doing I/O on some file.
6363-pub const io_err: u8 = metadata.base + 10;
6363+pub const io_err: u8 = 74;
64646565/// Temporary failure, indicating something that is not really an error.
6666/// For example, if a connection could not be created and should be
6767/// reattempted later.
6868-pub const temp_fail: u8 = metadata.base + 11;
6868+pub const temp_fail: u8 = 75;
69697070/// The remote system returned something illegal during a protocol
7171/// exchange.
7272-pub const protocol: u8 = metadata.base + 12;
7272+pub const protocol: u8 = 76;
73737474/// You did not have sufficient permission to perform the operation.
7575/// This is not intended for filesystem problems, which should use
7676/// `no_input` or `cant_create`. but rather for higher level
7777/// permissions.
7878-pub const no_permission: u8 = metadata.base + 13;
7878+pub const no_permission: u8 = 77;
79798080/// Something was found in an unconfigured or misconfigured state.
8181-pub const config: u8 = metadata.base + 14;
8181+pub const config: u8 = 78;
82828383test "metadata matches BSD sysexits" {
8484 try testing.expectEqual(metadata.base, 64);