제목 그대로입니다.
같은 결과를 낼 수 있는 내부함수가 있는지 해서요
exec 류를 사용안할려고 하거든요.
답변 기다릴게요
좋은 하루 되세요
========================================================================================================
ifconfig, route 모두 ioctl을 사용하여 필요한 값들을 변경합니다.
google에서 ioctl 관련 검색하시면, ifconfig, route에서 필요한 ioctl 인자값을 찾으실 수 있습니다.
이런거 하실때는 소스 보시는게 가장 좋은 방법 입니다.
다 아시겠지만, ifconfig, route는 net-tool 패키지에 있습니다.
보다 간결한 소스를 원하시면 busybox의 ifconfig및 route 부분을 보시면
찾고자 하는 해답을 찾으실 수 있습니다.
========================================================================================================
네트워크 자료마다 커널과 통신하는 방법이 다릅니다.
네트워크 인터페이스의 경우, PF_INET 타입으로 socket 을 만든후, ioctl 함수를 사용하면 됩니다. 그런데 ioctl 의 경우, 해당하는 자료의 입출력에 대해서 일일이 정의를 해야하니 유연성이 떨어지게 됩니다.
그래서 라우팅에 관련된 정보는, 이광우님 말씀처럼 PF_NETLINK 타입의 socket 을 만든후, netlink protocol 에 따라서 자료를 주고 받게 되죠. 이 경우에는 ioctl 을 따로 만들필요없이 recv, send 함수를 사용하시면 됩니다.
참고로, 패킷필터링을 하는 경우는 PF_PACKET 타입의 socket 을 사용하게 됩니다.
출처 : http://kldp.org/node/22842
'QnA' 카테고리의 다른 글
커널에 있는 함수는 어떻게 사용하죠.. (0) | 2009.07.28 |
---|---|
데몬을 제작해야 하는데요.. (0) | 2009.07.28 |
signal함수의 프로토타입은 왜 함수포인터로 되어 있을까요? (0) | 2009.07.28 |
cat /dev/null > a.txt 2>&1 (0) | 2009.07.27 |
Re: rs_init() (0) | 2009.07.26 |
WRITTEN BY
- RootFriend
개인적으로... 나쁜 기억력에 도움되라고 만들게되었습니다.