But when I try to dig in further and i read the page related to ExitCode, it confuses me a bit.
ExitCode is a struct, therefore it behaves like a type with many fields which define the types contained in the struct.
I cannot really understand what's the point of this type.. I don't see any fields defined in the struct and this part confuses me a lot:
The standard library provides the canonical SUCCESS and FAILURE exit codes as well as From<u8> for ExitCode for constructing other arbitrary exit codes.
I even thought this meant it was an enum which had the SUCCESS, FAILURE etc as variants, but this does not seem the case.
Can you help me to understand how this specific structs work, what exactly does it do and how I should read library pages like this one?
In addition to the other comment about the exit code, you might be interested in the exitcode crate, which offers up a BSD convention for those exit codes.
They are, essentially, just numbers on unixes and don't really have as much standardization as e.g. HTTP codes afaik. Various programs may have their own local conventions as to what an exit code means.