rtrequest 커널 서비스

용도

라우팅 테이블 변경 요청을 수행합니다.

구문

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/mbuf.h>
#include <net/if.h>
#include <net/af.h>
#include <net/route.h>
int rtrequest ( req,  
dst
,  
gateway
,  
netmask
,  
flags
,  ret_nrt)
int req;
struct sockaddr *dst, *gateway, *netmask;
int flags;
struct rtentry **ret_nrt;

매개변수

항목 설명
요구 경로를 추가하거나 삭제하기 위한 요청을 지정합니다.
일광 경로의 대상 부분을 지정합니다.
게이트웨이 경로의 게이트웨이 부분을 지정합니다.
netmask 경로에 적용할 네트워크 마스크를 지정합니다.
플래그 다음에 정의된 대로 라우팅 플래그를 식별합니다./usr/include/net/route.h 파일.
ret_nrt 결과 경로를 반환하도록 지정합니다.

설명

그만큼 요청 커널 서비스는 라우팅 테이블 변경 요청을 수행합니다. 인터페이스는 요청 라우팅 테이블 ioctl 작업에 대해 로컬 경로를 알리기 위해 부팅 시 서비스를 제공합니다. 인터페이스는 또한 요청 라우팅 리디렉션의 결과로 서비스가 제공됩니다. 요청은 추가(해당되는 경우) 중 하나입니다. 요구 매개변수의 값은 다음과 같습니다. RMT_ADD ) 또는 삭제( 요구 매개변수의 값은 다음과 같습니다. RMT_DELETE ) 경로.

실행 환경

그만큼 요청 커널 서비스는 다음 중 하나에서 호출될 수 있습니다. 프로세스 또는 방해하다 환경.

리턴 값

항목 설명
0 성공적인 작업을 나타냅니다.
ESRCH 삭제할 경로가 없음을 나타냅니다.
EEXIST 항목이 요청 추가하려는 서비스가 이미 존재합니다.
에네터치 다음을 나타냅니다. 요청 서비스가 경로에 대한 인터페이스를 찾을 수 없습니다.
ENOBUFS 다음을 나타냅니다. 요청 서비스를 얻을 수 없습니다 mbuf 항목을 추가하는 구조입니다.

라우팅 테이블 변경 요청을 수행하려면 요청 커널 서비스는 다음과 같습니다:

rtrequest(RTM_ADD, dst, gateway, netmask, flags, &rtp);