Errno.h este un fișier antet (.h al antetului) din biblioteca de limbaj C standard în care sunt definite macro-uri pentru a afișa erori. Cei care cunosc C vor ști despre asta și vor ști cât de util este să afișeze pe ecran codurile de eroare produse de sistem, împreună cu o descriere asociată erorii.
Variabila errno ne spune dacă un apel de sistem a eșuat (apel de sistem). De exemplu:
#include <stdio.h&>
#include <fcntl.h&>
#include <stdlib.h>
#include <string.h>
#include <errno.h> //Cabeceras de bibliotecas includes en el programa
const char *NOM_FICHERO= “/tmp/ejemplo.txt”; //Supuesto fichero que no existe
int main (int argc, char **argv)
{
int fd = 0;
printf(“Abriendo %s…\n”, NOM_FICHERO);
fd = open(NOM_FICHERO, O_RDONLY, 0644);
if (fd<0) {
perror(“Error abriendo fichero”); //Nos muestra los mensajes de error
printf(“Error abriendo fichero: %s\n”, strerror(errno));
}
return EXIT_SUCCESS;
}
Adevărul este că errno.h este doar o scuză pentru a introduce următoarele paragrafe pe care le scriu acum. Și mulți își vor aminti războaiele din SCO vs. Linux, de la compania SCO, din cauza luptelor din Licențe Unix, a deschis o cruciadă împotriva IBM, Novell etc., acuzându-i că au transferat codul Unix în nucleul Linux.
SCO la 19 decembrie 2003 a emis notificări către anumite companii susținând că fișierul errno.h a fost copiat textual de la Unix pentru a fi utilizat pe Linux fără autorizația corespunzătoare. aceeași Linus Torvalds a negat acest lucru și a indicat că el însuși a rescris codul pentru versiunea Linux a errno.h.
Fie că este adevărat sau nu, SCO a pierdut procesele judecătorești impuse în instanță unul câte unul și a ajuns să închidă dosarele deschise în favoarea companiilor pro-Linux. Companiile implicate au păcătuit, potrivit SCO, că au transferat părți din codul Unix (în special din AT&T Unix System V) la Linux.
Curios, precum și suspect de aceste atacuri, mai ales având în vedere acest lucru Microsoft a fost proprietarul a 25% din SCO timp de câțiva ani, de când Microsoft a dat sistemului său de operare Xenix (versiunea Unix licențiată de Microsoft) către SCO și printre acorduri a fost achiziționarea de acțiuni. De fapt, există e-mailuri care au fost interceptate între cele două companii care avertizau Microsoft cu privire la potențialul mare al Linux și la amenințarea pe care o reprezenta.