PTY(4)

명칭
pty - 유사 단말 드라이버

서식
pseudo-device pty [count]

해설
pty 드라이버는 유사 단말 (으)로 불리는 디바이스대의 서포트를 제공합니다. 유사 단말이란, 마스터 디바이스와 슬레이브 디바이스라고 한다 한 벌의 캐릭터형 디바이스입니다. 슬레이브 디바이스는, tty(4) 에 기술되고 있는 것과 동일한 인터페이스를 프로세스에 제공합니다. 다만, tty(4) 에 기술되는 인터페이스를 제공하는 것 같은 다른 디바이스는 모두, 근저에 어떠한 하드웨어 디바이스를 가지는데 대해, 슬레이브 디바이스는 유사 단말의 마스터측을 통해서 다른 프로세스에 조작됩니다. 즉, 마스터 디바이스에 기입해진 내용은 모두 슬레이브 디바이스에 입력으로서 보내져 슬레이브 디바이스에 기입해진 내용은 모두 마스터 디바이스에 입력으로서 건네받습니다.

커널 설정 파일중의 지정에 옵션의 count (을)를 주면(자), 그 수만큼 유사 단말의 조가 구성됩니다. count 의 디폴트는 32 입니다.

다음에 든다 ioctl(2) 호출은 유사 단말에게만 적용할 수 있습니다:

TIOCSTOP
    단말에의 출력을 멈춥니다 (예를 들면 ‘^S’ (을)를 누르도록(듯이)). 파라미터는 취하지 않습니다.

TIOCSTART
    ( TIOCSTOP 인가 ‘^S’ (을)를 누르는 것으로 제지당하고 있었다 ) 출력을 재개합니다. 파라미터는 취하지 않습니다.

TIOCPKT
    패킷 모드를 유효/무효로 합니다. 패킷레벨은 비 0 의 파라미터를 지정 (참조 인도)하면(자) 유효하게 되어, 0 을 지정 (참조 인도)하면(자) 무효가 됩니다. 유사 단말의 마스터 측에 적용되었을 경우, 이후 단말로부터 read(2) (을)를 호출하면(자), 1 개의 0 바이트 (심볼 정의에서는 TIOCPKT_DATA )에 이어 유사 단말의 슬레이브 측에 기입해진 데이터가 돌려주어지는지, 혹은 제어 상태 정보를 나타내는 단일 바이트가 돌려주어지게 됩니다. 후자의 경우, 돌려주어지는 바이트는 다음의 비트의 0 개 이상의 화 (OR)가 됩니다:

    TIOCPKT_FLUSHREAD
        단말의 읽기 큐가 플래시 되었을 때

    TIOCPKT_FLUSHWRITE
        단말의 기입 큐가 플래시 되었을 때

    TIOCPKT_STOP
        단말에의 출력이 ‘^S’ (와)과 같이 해 제지당했을 때

    TIOCPKT_START
        단말에의 출력이 재개되었을 때

    TIOCPKT_DOSTOP
        t_stopc 하지만 ‘^S’ 그리고 t_startc 하지만 ‘^Q’ 되었을 때

    TIOCPKT_NOSTOP
        START 캐릭터, STOP 캐릭터가 ‘^S/^Q’ (이)가 아니게 되었을 때

        이 모드가 유효한 동안, 마스터측에서 읽히는 제어 상태 정보의 존재는 select(2) 그리고 예외 조건으로서 검출할 수 있습니다.

        rlogin(1) (이)나 rlogind(8) (은)는 이 모드를 이용해, 리모트측에서 에코 해 로컬측에서 ‘^S/^Q’ flow control 하는, 출력의 백 플래시가 적절히 행해진다 리모트 로그인 기구를 실장하고 있습니다. 그 외가 닮은 프로그램에서도 이 모드를 이용할 수 있습니다.

TIOCUCNTL
    소수의 단순한 유저 ioctl(2) 명령을, TIOCPKT (와)과 닮은 프로토콜을 이용해 유사 단말을 통해 건네줄 수 있는 모드를, 유효/무효로 합니다. TIOCUCNTL 모드와 TIOCPKT 모드는 서로 배타적입니다. 이 모드는 유사 단말의 마스터측으로부터 설정합니다. 비 0 의 파라미터를 지정 (참조 인도)하면(자) 유효하게 되어, 0 을 지정 (참조 인도)하면(자) 무효가 됩니다. 이후 마스터측으로부터 read(2) (을)를 호출하면(자), 1 개의 0 바이트에 이어 유사 단말의 슬레이브 측에 기입해진 데이터가 돌려주어지는지, 혹은 슬레이브측의 유저 제어 조작을 나타내는 단일의 바이트가 돌려주어지게 됩니다. 유저 제어 명령은, 데이터를 가지지 않는 특별한 ioctl(2) 조작으로 구성됩니다. 명령은 UIOCCMD(n) 의 형태로 건네줍니다. 여기서, n (은)는 1 에서 255 의 범위의 숫자입니다. 조작치 n (은)는, 마스터 측에서의 다음번의 read(2) 에 의해 단일 바이트로서 수취됩니다. ioctl(2) UIOCCMD(0) (은)는 아무것도 조작은 실시하지 않습니다만 (no-op), 이 기능의 유무를 조사하기 위해서(때문에) 사용할 수 있습니다. TIOCPKT 모드의 경우와 같이, 명령 조작은 select(2) 그리고 예외 조건으로서 검출할 수 있습니다.

TIOCREMOTE
    유사 단말의 마스터측용의 모드로, TIOCPKT (와)과는 독립입니다. 이 모드에서는 (단말의 모드에 관련되지 않고), 유사 단말에의 입력을 flow control 해, 입력 편집을 실시하지 않게 합니다. 제어 단말에 기입을 실시하면, 그 단말로부터 읽어들이는 프로세스를 위해서(때문에) 레코드 경계가 만들어집니다. 통상의 사용에서는, 데이터의 기입은 그 데이터가 단말로부터 행 입력된 것처럼 되어, 0 바이트의 기입은 파일 종료 캐릭터가 입력된 것처럼 됩니다. TIOCREMOTE (은)는, 윈도우 매니저로 리모트행 편집을 실시할 때나, 입력을 flow control 할 필요가 있을 때 이용할 수 있습니다.

관련 파일
/dev/pty[p-sP-S][0-9a-v]
    마스터 유사 단말
/dev/tty[p-sP-S][0-9a-v]
    슬레이브 유사 단말

진단
없습니다.

관련 항목
tty(4)

역사
pty 드라이버는 4.2BSD (으)로부터 등장했습니다.