tcsetsid()

Make a terminal device a controlling device

Synopsis:

#include <termios.h>

int tcsetsid( const int fildes,
              const pid_t pid );

Arguments:

fildes
A file descriptor that's associated with the device that you want to make a controlling device.
pid
The ID of the process that you want to associate with the controlling device.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The tcsetsid() function makes the terminal device associated with the file descriptor argument fildes into a controlling terminal that's associated with the process pid. If successful, this call causes subsequent hangup conditions on the terminal device fildes to generate a SIGHUP signal on the given process.

This call is equivalent to calling ioctl( fildes, TIOCSCTTY ) to set the controlling terminal to the current process. You can clear the controlling terminal by passing -1 as fildes.

Returns:

0
Success.
-1
Failure; errno is set.

Errors:

EBADF
Invalid file descriptor.
EINVAL
The argument pid is invalid.
ENOSYS, ENOTTY
The argument fildes isn't associated with a terminal device.

Classification:

QNX Neutrino

Safety:  
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes