시스템 콜 함수의 소스코드를 보고싶습니다..
글쓴이: hanna / 작성시간: 수, 2003/10/01 - 10:47오후
sendto 함수가 실제로 어떻게 구현되어 있나 보려고 glibc-2.3 소스크드를 풀어서 sendto.c 파일을 열어밨습니다.. 이렇게 되어 있던데..
알맹이는 어디있죠? 제가 삽질을 하고 있는것인가요?
ssize_t __sendto (fd, buf, n, flags, addr, addr_len) int fd; __const __ptr_t buf; size_t n; int flags; __CONST_SOCKADDR_ARG addr; socklen_t addr_len; { __set_errno (ENOSYS); return -1; } weak_alias (__sendto, sendto) stub_warning (sendto) #include <stub-tag.h>
Forums:
socket 관련 sendto 만 말씀하시는건가요?
아마...
리눅스 kernel 의
net/socket.c
를 참조하시면 좋을거 같네요.
socket 관련 시스템 콜을 처리하는 부분이니까요.
마지막 부분에 보면, syscall 을 어떻게 socket의 세세한 fn 으로 fetch하는지 볼 수 있습니다.
그리고 그것이 실제 protocol-specific 한 operation 으로 바뀌고요.
inet 같은 경우에는
socket.c -> net/ipv4/af_inet.c -> net/ipv4/tcp.c
정도가 될거 같네요.
as simple as possible
Jae-wan Jang
http://camars.kaist.ac.kr/~jwjang
참고를...
스티븐스 책의 일러스트레이트 볼륨2권에 소켓에 관한 시스템 콜 소스가
나와 있습니다
참고하세요
승자는 자기보다 우월한 사람을 보면 존경심을 갖고 그로부터 배울 점을 찾지만 패자는 자기보다 우월한 사람을 만나면 질투심을 갖고 어디 구멍난 곳이 없는지 찾는다.
- 하비스
댓글 달기