o indicate success).</p>

<p>Due to the above variations in behaviour it is important to check the documentation for each function for information about how to interpret the return value for it.</p>

<p>It is sometimes necessary to get further information about the cause of a failure (e.g. for debugging or logging purposes). Many (but not all) functions will add further information about a failure to the OpenSSL error stack. By using the error stack you can find out information such as a reason code/string 