>> Read Reply from No. 14314 article  
RE: [질문]소스와 에러메시지가 있음니다. 보시구 답
변부탁여...

등록 2000-12-13 18:22:00     조회 1
이름 하늘    

		: 다음의 소스는 가상의 터미널(의사단말기)를
: 생성하는 소스입니다.
: 소스끝에 에러메시지가 있음다...
: 함 봐주시구여... 답변 부탁여...
:
: #include 		<stdio.h>
: #include		<fcntl.h>
: #include		<stropts.h>
:
: #define	PTY_MASTER	"/dev/ptmx"
:
: int
: pty_master()
: {
: 	int	master_fd;
:
: 	if ((master_fd = open (PTY_MASTER, O_RDWR)) < 0)
: 		return(-1);
:
: 	return(master_fd);
: }
:
:
: int
: pty_slave(master_fd)
: int	master_fd;
: {
: 	int	slave_fd;
: 	char	*slavename;
: 	int 	grantpt();
: 	int	unlockpt();
: 	char 	*ptsname();
:
: 	if (grantpt(master_fd) < 0) {
: 		close(master_fd);
: 		return(-1);
: 	}
:
: 	if (unlockpt(master_fd) < 0) {
: 		close(master_fd);
: 		return(-1);
: 	}
:
: 	slavename = ptsname(master_fd);
: 	if (slavename == NULL) {
: 		close(master_fd);
: 		return(-1);
: 	}
:
: 	slave_fd = open(slavename, O_RDWR);
: 	if (slave_fd < 0) {
: 		close(master_fd);
: 		return(-1);
:  	}
:
: 	if (ioctl(slave_fd, I_PUSH, "ptem") < 0) {
: 		close(master_fd);
: 		return(-1);
: 	}
: 	if (ioctl(slave_fd, I_PUSH, "ldterm") < 0 ) {
: 		close(master_fd);
: 		return(-1);
: 	}
:
: 	return(slave_fd);
: }
:
: main (argc, argv, envp)
: int	argc;
: char	**argv;
: char 	**envp;
: {
: 	int	master_fd, slave_fd, childpid;
:
: 	if (!isatty(0) || !isatty(1))
: 		err_quit("stdin and stdout must be a
: terminal");
:
: 	master_fd = pty_master();
: 	if (master_fd < 0)
: 		err_sys ("can't open master pty");
: 	if ((childpid = fork()) < 0)
: 		err_sys("can't fork");
: 	else if (childpid == 0) {
: 		slave_fd = pty_slave(master_fd);
: 		if (slave_fd < 0)
: 			err_sys("can't open pty slave");
: 		close(master_fd);
:
: 		exec_shell(slave_fd, argv, envp);
: 	}
:
: 	pass_all(master_fd, childpid);
: 	exit(0);
: }
:
:
: 위의 소스를 컴파일 시키면 다음과 같은 메시지가 나옵니다...
: 해결방법이 없을까여...???
: 도와주세여...
:
: [peter@host peter]$ gcc -o pty pty1.c
: /tmp/ccILuNss.o: In function `main':
: /tmp/ccILuNss.o(.text+0x18a): undefined reference to
: `err_quit'
: /tmp/ccILuNss.o(.text+0x1a7): undefined reference to `err_sys'
: /tmp/ccILuNss.o(.text+0x1c4): undefined reference to `err_sys'
: /tmp/ccILuNss.o(.text+0x1f3): undefined reference to `err_sys'
: /tmp/ccILuNss.o(.text+0x213): undefined reference to
: `exec_shell'
: /tmp/ccILuNss.o(.text+0x223): undefined reference to
: `pass_all'
: collect2: ld returned 1 exit status
:
: 원래의 프로그램이 유닉스용이구여 저는
: 알짜리눅스 6.1을 사용합니다....
: 알려주세여...
: 감솨여...
 유닉스와 리눅스는 완벽히 호환되지 않습니다..
위의 두 함수는 리눅스에는 없다는 말이지요...
err_sys는 대충 fprintf(ferror, " error message");로 바꿔주시면 되는
듯도 한데..
pass_all은 어떻게 처리해야 할지..--이 곳에 서명을 적어주십시오.
하늘은 언제나 푸르다 _._V
이름
암호


>> 관련글
14314 [질문]소스와 에러메시지가 있음니다. 보시구 답변부탁여...  송현호  2000.12.13  ....
  답장 RE: [질문]소스와 에러메시지가 있음니다. 보시구 답변부탁여...  하늘  2000.12.13  ....
Register [ localhost 목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 1.83 초 ] 작업시간: [ 0.11 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1789682384
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.