<refsect1>
	<title>Exit Status</title>
		<para>
			Zero on success, or non-zero on error. If the connection is refused
			by the broker at the MQTT level, then the exit code is the CONNACK
			reason code. If another error occurs, the exit code is a
			libmosquitto return value.
		</para>

		<para>MQTT v3.1.1 CONNACK codes:</para>
		<itemizedlist mark="circle">
			<listitem><para><option>0</option> Success</para></listitem>
			<listitem><para><option>1</option> Connection refused: Bad protocol version</para></listitem>
			<listitem><para><option>2</option> Connection refused: Identifier rejected</para></listitem>
			<listitem><para><option>3</option> Connection refused: Server unavailable</para></listitem>
			<listitem><para><option>4</option> Connection refused: Bad username/password</para></listitem>
			<listitem><para><option>5</option> Connection refused: Not authorized</para></listitem>
		</itemizedlist>

		<para>MQTT v5 CONNACK codes:</para>
		<itemizedlist>
			<listitem><para><option>0</option> Success</para></listitem>
			<listitem><para><option>128</option> Unspecified error</para></listitem>
			<listitem><para><option>129</option> Malformed packet</para></listitem>
			<listitem><para><option>130</option> Protocol error</para></listitem>
			<listitem><para><option>131</option> Implementation specific error</para></listitem>
			<listitem><para><option>132</option> Unsupported protocol version</para></listitem>
			<listitem><para><option>133</option> Client ID not valid</para></listitem>
			<listitem><para><option>134</option> Bad username or password</para></listitem>
			<listitem><para><option>135</option> Not authorized</para></listitem>
			<listitem><para><option>136</option> Server unavailable</para></listitem>
			<listitem><para><option>137</option> Server busy</para></listitem>
			<listitem><para><option>138</option> Banned</para></listitem>
			<listitem><para><option>139</option> Server shutting down</para></listitem>
			<listitem><para><option>140</option> Bad authentication method</para></listitem>
			<listitem><para><option>141</option> Keep alive timeout</para></listitem>
			<listitem><para><option>142</option> Session taken over</para></listitem>
			<listitem><para><option>143</option> Topic filter invalid</para></listitem>
			<listitem><para><option>144</option> Topic name invalid</para></listitem>
			<listitem><para><option>147</option> Receive maximum exceeded</para></listitem>
			<listitem><para><option>148</option> Topic alias invalid</para></listitem>
			<listitem><para><option>149</option> Packet too large</para></listitem>
			<listitem><para><option>148</option> Message rate too high</para></listitem>
			<listitem><para><option>151</option> Quota exceeded</para></listitem>
			<listitem><para><option>152</option> Administrative action</para></listitem>
			<listitem><para><option>153</option> Payload format invalid</para></listitem>
			<listitem><para><option>154</option> Retain not supported</para></listitem>
			<listitem><para><option>155</option> QoS not supported</para></listitem>
			<listitem><para><option>156</option> Use another server</para></listitem>
			<listitem><para><option>157</option> Server moved</para></listitem>
			<listitem><para><option>158</option> Shared subscriptions not supported</para></listitem>
			<listitem><para><option>159</option> Connection rate exceeded</para></listitem>
			<listitem><para><option>160</option> Maximum connect time</para></listitem>
			<listitem><para><option>161</option> Subscription IDs not supported</para></listitem>
			<listitem><para><option>162</option> Wildcard subscriptions not supported</para></listitem>
		</itemizedlist>

		<para>Other codes:</para>
		<itemizedlist>
			<listitem><para><option>27</option> Timed out waiting for message</para></listitem>
		</itemizedlist>
</refsect1>
