GETTTYENT(3)

명칭
getttyent, getttynam, setttyent, endttyent - ttys 파일 엔트리를 취득 isdialuptty, isnettty - 파일 엔트리로부터 tty 타입을 결정한다

프로그램 라이브러리
libc

서식
<ttyent.h> struct ttyent * getttyent(void) struct ttyent * getttynam(const char *name) int setttyent(void) int endttyent(void) int isdialuptty(const char *name) int isnettty(const char *name)

해설
getttyent() 및 getttynam() 함수는 각각, 다음에 나타내는 구조체를 가진다 오브젝트의 포인터를 돌려줍니다. 구조체에는, tty 기술 파일에 있는 행의 내역 필드가 포함됩니다.

    struct ttyent {
    	char	*ty_name;	/* 단말 디바이스명 */
    	char	*ty_getty;	/* 실행하는 명령, 통상은 getty */
    	char	*ty_type;	/* termcap 의 단말 타입 */
    #define TTY_ON          0x01	/* 로그인 유효화 (ty_getty 프로그램 개시) */
    #define TTY_SECURE	0x02	/* uid 0 에서의 로그인 허가 */
    #define TTY_DIALUP	0x04	/* 다이얼 업 tty */
    #define TTY_NETWORK	0x08	/* 네트워크 tty */
    	int	ty_status;	/* 스테이터스 플래그 */
    	char	*ty_window;	/* 윈도우 매니저 기동 명령 */
    	char	*ty_comment;	/* 코멘트 필드 */
    	char	*ty_group;	/* tty 그룹명 */
    };

필드는 다음과 같습니다.

ty_name
    캐릭터 특수 파일명.

ty_getty
    tty 회선 특성의 초기화를 위해, init(8) 에 의해 호출한다 명령명.

ty_type
    이 tty 회선에 접속된 디폴트 단말의 타입명.

ty_status
    이 tty 회선으로 용서되는 다양한 기능을 나타내는, 비트 필드의 마스크. 가능한 플래그는 다음과 같습니다.

    TTY_ON
        로그인을 유효화합니다 (즉, 이 엔트리의 ty_getty 그리고 참조되는 명령을, init(8) 하지만 기동합니다).

    TTY_SECURE
        유저는 uid 0 으로 이 단말에 로그인할 수 있습니다.

    TTY_DIALUP
        유저는 uid 0 그리고 이 단말에 로그인할 수 있습니다.

    TTY_DIALUP
        tty (을)를 직접 통화 회선으로서 식별합니다. 이 플래그가 설정되면(자), isdialuptty() (은)는 비 0 치를 돌려줍니다.

    TTY_NETWORK
        네트워크 접속에 사용되었다 tty (을)를 식별합니다. 이 플래그가 설정되면(자), isnettty() (은)는 비 0 치를 돌려줍니다.

ty_window
    회선에 관련하는 윈도우 시스템을 실행하는 명령입니다.

ty_group
    tty 하지만 소속하는 그룹명입니다. ttys 기술 파일에 그룹의 지정이 없는 경우는,"none" (으)로 불리는 무명 그룹에 그 tty 하지만 놓여집니다.

ty_comment
    종단의 코멘트 필드이며, 선두의 해시 마크 (``#'')와 margin는 모두 제거됩니다.

캐릭터 string를 나타내는 필드가 미지정의 경우, 그것들은 모두 누르포인타로서 돌아갑니다. 지정된 플래그치가 없는 경우, 필드 ty_status (은)는 0 이 됩니다.

이 필드의 의미 및 용법의 상세한 설명에 대해서는, ttys(5) (을)를 참조해 주세요.

getttyent() 함수는, 필요하면 오픈해 ttys 파일의 다음의 행을 읽어들입니다. setttyent() 함수는, 파일이 오픈되고 있으면 되감기 해, 오픈되어 있지 않으면 오픈합니다. endttyent() 함수는, 오픈되고 있는 파일을 모두 클로우즈 합니다.

getttynam() 함수는, 적합한다 name 하지만 발견된다 (가마타는 EOF (을)를 만난다) 까지, 파일을 최초부터 검색합니다.

반환값
routine getttyent() 및 getttynam() (은)는, EOF 또는 에러로 모두 누르포인타를 돌려줍니다. setttyent() 함수 및 endttyent() 함수는, 모두 실패했을 경우는 0 을, 성공했을 경우는 1 을 돌려줍니다.

routine isdialuptty() 및 isnettty() (은)는, 파라미터에 의해 지명되었다 tty 에 관련한다 tty 엔트리에, 다이얼 업 또는 네트워크 플래그가 설정되어 있지 않으면 비 0 을 돌려주어, 그 외의 경우는 0 을 돌려줍니다.

관련 파일
/etc/ttys

관련 항목
login(1), ttyslot(3), gettytab(5), termcap(5), ttys(5), getty(8), init(8)

역사
함수 getttyent(), getttynam(), setttyent(), endttyent() 하 4.3BSD 그리고 처음 등장했습니다.

버그
이러한 함수는 정적 데이터 기억역을 사용합니다. 다음에 사용하는 데이터의 경우는, 이후의 호출로 덧쓰기하기 전에 데이터를 카피해 보존할 필요가 있습니다.