Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/tools/lib/bpf/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 3 kB image not shown  

Quelle  str_error.c   Sprache: C

 
// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)
#undef _GNU_SOURCE
#include <string.h>
#include <stdio.h>
#include <errno.h>
#include "str_error.h"

#ifndef ENOTSUPP
#define ENOTSUPP 524
#endif

/* make sure libbpf doesn't use kernel-only integer typedefs */
#pragma GCC poison u8 u16 u32 u64 s8 s16 s32 s64

/*
 * 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;
}

const char *libbpf_errstr(int err)
{
 static __thread char buf[12];

 if (err > 0)
  err = -err;

 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
C=96 H=100 G=97

¤ Dauer der Verarbeitung: 0.27 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.