Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

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 in Prozent
C=94 H=94 G=93

¤ Dauer der Verarbeitung: 0.16 Sekunden  (vorverarbeitet am  2026-06-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik