If the process has a controlling terminal, the
tcsetpgrp function sets the foreground process group ID associated with the terminal device to
pgrp_id. The terminal device associated with
fd must be the controlling terminal of the calling process and the controlling terminal must be currently associated with the session of the calling process. The value of
pgrp_id must be the same as the process group ID of a process in the same session as the calling process.
Upon successful completion,
tcsetpgrp returns a value of zero.