smp_errno_t
extern smp_errno_t smp_errno(void);
extern smp_errno_t smp_errcode(const char *);
extern const char *smp_strerror(smp_errno_t);
extern const char *smp_errname(smp_errno_t);
extern int smp_set_errno(smp_errno_t);
extern int smp_verror(smp_errno_t, const char *, va_list);
extern int smp_error(smp_errno_t, const char *, ...);
smp_error(smp_errno_t err, const char *fmt, ...)
smp_errno_t
__thread smp_errno_t _smp_errno;
smp_set_errno(smp_errno_t err)
smp_verror(smp_errno_t err, const char *fmt, va_list ap)