เออร์โน.h คือไฟล์ส่วนหัว (.h of header) จากไลบรารีภาษา C มาตรฐานที่กำหนดมาโครเพื่อแสดงข้อผิดพลาด ผู้ที่รู้ C จะรู้เกี่ยวกับเรื่องนี้และจะรู้ว่าการแสดงรหัสข้อผิดพลาดที่เกิดจากระบบบนหน้าจอมีประโยชน์เพียงใดพร้อมกับคำอธิบายที่เกี่ยวข้องกับข้อผิดพลาด
ตัวแปร errno บอกเราว่าการเรียกระบบใดล้มเหลว (ระบบโทร). ตัวอย่างเช่น:
#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;
}
ความจริงก็คือ errno.h เป็นเพียงข้ออ้างในการแนะนำย่อหน้าต่อไปนี้ที่ฉันเขียนตอนนี้ และเป็นที่ที่หลายคนจะจำสงครามของ SCO กับ Linuxเนื่องจาก บริษัท SCO เนื่องจากการต่อสู้ของ ใบอนุญาต Unixเปิดสงครามครูเสดกับ IBM, Novell และอื่น ๆ โดยกล่าวหาว่าพวกเขาโอนรหัส Unix ไปยังเคอร์เนล Linux
SCO เมื่อวันที่ 19 ธันวาคม 2003 ได้ออกประกาศให้กับ บริษัท บางแห่งโดยอ้างว่าไฟล์ errno.h ถูกคัดลอกแบบคำต่อคำจาก Unix เพื่อใช้บน Linux โดยไม่ได้รับอนุญาตที่เหมาะสม เหมือน Linus Torvalds เขาปฏิเสธสิ่งนี้และระบุว่าเขาเขียนโค้ดใหม่สำหรับ errno.h เวอร์ชัน Linux
ไม่ว่าจะเป็นเรื่องจริงหรือไม่ SCO ก็แพ้คดีที่ถูกฟ้องร้องในศาลทีละคดีและจบลงด้วยการปิดคดีที่เปิดอยู่เพื่อสนับสนุน บริษัท ที่ใช้ระบบปฏิบัติการลินุกซ์ บริษัท ที่เกี่ยวข้องเป็นคนบาปตามที่ SCO มีการถ่ายโอนบางส่วนของรหัส Unix (โดยเฉพาะของ AT&T Unix System V) ไปยัง Linux
อยากรู้อยากเห็นและน่าสงสัยเกี่ยวกับการโจมตีเหล่านี้โดยเฉพาะอย่างยิ่งเมื่อพิจารณาถึงสิ่งนั้น ไมโครซอฟท์ เป็นเจ้าของ 25% ของ SCO เป็นเวลาสองสามปีเนื่องจาก Microsoft มอบระบบปฏิบัติการ Xenix (เวอร์ชัน Unix ที่ได้รับอนุญาตจาก Microsoft) ให้กับ SCO และในบรรดาข้อตกลงคือการซื้อหุ้น ในความเป็นจริงมีอีเมลที่ถูกดักฟังระหว่างสอง บริษัท ที่แจ้งเตือน Microsoft ถึงศักยภาพที่ดีของ Linux และภัยคุกคามที่เป็นตัวแทน