EBADFD
é um código de erro que pode ser retornado na variável errno
por algumas chamadas do sistema no Linux. Qualquer coisa que você use no exit 123
ou exit(123)
de um shell em um programa C define o status de saída do seu programa.
Esses não são os mesmos, geralmente um programa não sai com o código de erro de uma chamada de sistema, mas algo mais genérico, como apenas 1
, ou com um valor definido pelo próprio programa. Por exemplo. O GNU ls retorna 2 se houver um erro com os arquivos nomeados na linha de comando, e um 1 se houver um erro com outros arquivos encontrados; sox
por outro lado, retornará 1 se os argumentos da linha de comando estiverem com erro e 2 se Enfrenta um erro com arquivos.
Quanto a EBADFD
, ele não parece ser muito comum, usado principalmente em alguns drivers, com drivers de som aparentemente sendo um usuário um tanto proeminente ( veja aqui ). ( EBADF
seria comum, claro.)