If an error occurs,
tcgetpgrp returns -1 and the global variable
errno is set to indicate the error, as follows:
[EBADF]
The fd argument is not a valid file descriptor.
[ENOTTY]
The calling process does not have a controlling terminal or the underlying terminal device represented by fd is not the controlling terminal.