/* * Wrapper to allow for building in non-GNU systems such as Alpine Linux's musl * libc, while checking strerror_r() return to avoid having to check this in * all places calling it.
*/ char *libbpf_strerror_r(int err, char *dst, int len)
{ int ret = strerror_r(err < 0 ? -err : err, dst, len); /* on glibc <2.13, ret == -1 and errno is set, if strerror_r() can't * handle the error, on glibc >=2.13 *positive* (errno-like) error * code is returned directly
*/ if (ret == -1)
ret = errno; if (ret) { if (ret == EINVAL) /* strerror_r() doesn't recognize this specific error */
snprintf(dst, len, "unknown error (%d)", err < 0 ? err : -err); else
snprintf(dst, len, "ERROR: strerror_r(%d)=%d", err, ret);
} return dst;
}
switch (err) { case -E2BIG: return"-E2BIG"; case -EACCES: return"-EACCES"; case -EADDRINUSE: return"-EADDRINUSE"; case -EADDRNOTAVAIL: return"-EADDRNOTAVAIL"; case -EAGAIN: return"-EAGAIN"; case -EALREADY: return"-EALREADY"; case -EBADF: return"-EBADF"; case -EBADFD: return"-EBADFD"; case -EBUSY: return"-EBUSY"; case -ECANCELED: return"-ECANCELED"; case -ECHILD: return"-ECHILD"; case -EDEADLK: return"-EDEADLK"; case -EDOM: return"-EDOM"; case -EEXIST: return"-EEXIST"; case -EFAULT: return"-EFAULT"; case -EFBIG: return"-EFBIG"; case -EILSEQ: return"-EILSEQ"; case -EINPROGRESS: return"-EINPROGRESS"; case -EINTR: return"-EINTR"; case -EINVAL: return"-EINVAL"; case -EIO: return"-EIO"; case -EISDIR: return"-EISDIR"; case -ELOOP: return"-ELOOP"; case -EMFILE: return"-EMFILE"; case -EMLINK: return"-EMLINK"; case -EMSGSIZE: return"-EMSGSIZE"; case -ENAMETOOLONG: return"-ENAMETOOLONG"; case -ENFILE: return"-ENFILE"; case -ENODATA: return"-ENODATA"; case -ENODEV: return"-ENODEV"; case -ENOENT: return"-ENOENT"; case -ENOEXEC: return"-ENOEXEC"; case -ENOLINK: return"-ENOLINK"; case -ENOMEM: return"-ENOMEM"; case -ENOSPC: return"-ENOSPC"; case -ENOTBLK: return"-ENOTBLK"; case -ENOTDIR: return"-ENOTDIR"; case -ENOTSUPP: return"-ENOTSUPP"; case -ENOTTY: return"-ENOTTY"; case -ENXIO: return"-ENXIO"; case -EOPNOTSUPP: return"-EOPNOTSUPP"; case -EOVERFLOW: return"-EOVERFLOW"; case -EPERM: return"-EPERM"; case -EPIPE: return"-EPIPE"; case -EPROTO: return"-EPROTO"; case -EPROTONOSUPPORT: return"-EPROTONOSUPPORT"; case -ERANGE: return"-ERANGE"; case -EROFS: return"-EROFS"; case -ESPIPE: return"-ESPIPE"; case -ESRCH: return"-ESRCH"; case -ETXTBSY: return"-ETXTBSY"; case -EUCLEAN: return"-EUCLEAN"; case -EXDEV: return"-EXDEV"; default:
snprintf(buf, sizeof(buf), "%d", err); return buf;
}
}
Messung V0.5
¤ Dauer der Verarbeitung: 0.27 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.