- Result code descriptions and IDs (strings) are now defined in
lib/isc/result_<class>.c.in source files. See lib/isc/result_*.c.in
for examples.
- To create a new result class, check isc/resultclass.h and follow
documentation in there.
- Error codes are now defined in the following fashion:
ISC_RESULTCODE_<CLASS>(number), old style was
ISC_RESULTCLASS_<CLASS> + number.
Following is an example of the old style converted to the new one,
file lib/dns/result_dst.h.in:
;; Old style
#define DST_R_NOCRYPTO (ISC_RESULTCLASS_DST + 2)
;; New Style
#define DST_R_NOCRYPTO ISC_RESULTCODE_DST(2)
- To use error codes, same as before:
isc_result_t code = DST_R_NOCRYPTO;
isr_result_t rc = some_call(..)
if (rc == ISC_R_SUCCESS) ...
- isc_result_totext() does not lock anymore, since all result data from
all classes are available at compile time.
All relevant source files were updated to use the new result API
interface.