EN JA
TCSETSID(3)
TCSETSID(3) FreeBSD Library Functions Manual TCSETSID(3)

名称

tcsetsid制御端末に関連づけられたセッション ID を設定する

ライブラリ

Standard C Library (libc, -lc)

書式

#include < sys/types.h>
#include < termios.h>

int
tcsetsid( int fd, pid_t pid);

解説

tcsetsid() 関数は、 fd によって指定された制御端末で pid によって識別されるセッションの関連付けを設定します。

この実装によってのみ、セッションリーダ自体によって制御端末を変更することができます。これは、 pid が常にプロセス ID と等しくなければならないことを意味します。

既に関連づけられたセッションがある端末への関連づけはサポートされません。また、逆に、セッションが既に異なった端末に関連づけされているとき、端末への関連づけもサポートされません。

エラー

エラー発生するなら、 tcsetsid() は、-1 を返し、グローバル変数 errno は、次のように、エラーを示す値が設定されます:
[ EBADF]
fd 引数が、有効なファイル記述子ではありません。
[ ENOTTY]
fd によって表されるファイル記述子が、端末ではありません。
[ EINVAL]
pid 引数が呼び出しプロセスのセッション ID と等しくありません。
[ EPERM]
呼び出しプロセスが、セッションリーダではありません。
[ EPERM]
セッションには既に関連づけられた端末があるか、または端末には既に関連づけられたセッションがあります。

歴史

tcsetsid() 関数は、QNX ではじめて登場しました。それはどんな規格にも従いません。
May 4, 2009 FreeBSD