upvote
AI errno(2) values

(www.netmeister.org)

`errno` is a userland concept; the kernel returns negative error numbers that libc then turns into -1 and sets errno. Thus the correct manpage is errno(3).
reply
OpenBSD up to 5.9 had errno(2) symlinked to intro(2), describing error codes:

https://man.freebsd.org/cgi/man.cgi?query=errno&apropos=0&se...

Also, your statements about the kernel and libc are OS specific.

reply
Why does libc do this instead of simply returning that same negative number?
reply
POSIX, basically. It was already a convention by the time linux/glibc implemented it.
reply
deleted
reply

    #define ETERNITY 999 /* stuck in thinking loop */
reply
Missed one...

   EHAL    231    /* I'm sorry Dave, I cannot do that */
reply
As a long time emacs user, I appreciated the inclusion of EMACS as an error code. When I moved from TECO to gnu emacs in to 80s, elisp was an advance. Now I have a perpetual todo item... "rewrite emacs in fennel or janet or even minimalisp."

"What was deluxe is now debris..."

reply
> #define EAI 201 /* hallucination */

If only AI threw an error when it hallucinates.

reply
Nah it would just hallucinate this error all the time
reply
It would hallucinate error codes that don't exist.
reply

    #define EPROCRASTINATE 245 /* exhausted all output tokens with reasoning */
reply
#define EKNOWBETTER 231 # ignoring prompt
reply
#define ESYCOPHANT 200 /* user asserted 2+2=5; model concurred */
reply
I often ran into an error where multimodal models would refuse to operate in transcription mode due to some system prompt.
reply
207 is a bald move
reply
what about ETHOS : Error it's Mythos? lol!
reply
ETHOS is generally reserved for a certain type of error involving slab memory and complex logic though.

Let's hope that reference is not too obscure...

reply