Mostly because it allows to differentiate between errors in tests. ENFILE was a poor choice. What about ERANGE ?