| HOME / 정보공유 / AIX 명령어 모음

rpcgen
rpcgen rpcgen 명령 목적 RPC(원격 프로시저 호출) 프로토콜 구현을 위해 C 코드를 만듭니다. 구문
파일에 대해 네가지 유형의 결과 파일을 작성하려면:
/usr/bin/rpcgen InputFile
파일에 대해 특정 결과 파일을 작성하려면:
rpcgen { -c | -h | -l | -m } [ -o OutputFile ] [ InputFile ]
TCP 또는 UDP용의 서버쪽 파일을 작성하려면:
rpcgen { -s Transport ... } [ -o OutputFile ] [ InputFile ]
설명
rpcgen 명령은 원격 프로시저 호출(RPC) 프로토콜을 구현할 C 코드를 작성합니다. rpcgen 명령에 대한 입력은 RPC 언어로 알려진 C 언어와 유사한 언어입니다.
최초 구문 구조는 rpcgen 명령에 대해 가장 일반적으로 사용되는 양식이며, 이 명령은 입력 파일을 가져와 네 개의 출력 파일을 작성합니다. 예를 들면, InputFile 매개변수가 proto.x이면, rpcgen 명령은 다음을 작성합니다.
proto.h 헤더 파일
proto_xdr.c XDR 루틴
proto_svc.c 서버쪽 스터브
proto_clnt.c 클라이언트쪽 스터브
네개의 모든 결과 파일이 아닌 특별한 결과 파일을 작성하려면, 다른 구문 구조를 사용하십시오.
cpp 명령, C 프리프로세서는 rpcgen 명령에 의해 실제로 해석되기 전에 모든 입력 파일에서 수행됩니다. 따라서 모든 cpp 디렉토리는 rpcgen 입력 파일 내에서 적합합니다. 각 출력 파일 유형마다, rpcgen 명령은 rpcgen 프로그래머용으로 특수 cpp 기호를 정의합니다.
RPC_HDR 헤더 파일로 컴파일될 때 정의됩니다.
RPC_XDR XDR 루틴으로 컴파일될 때 정의됩니다.
RPC_SVC 서버쪽 스터브로 컴파일될 때 정의됩니다.
RPC_CLNT 클라이언트쪽 스터브로 컴파일될 때 정의됩니다.
또한, rpcgen 명령은 그 고유의 몇 가지 선행 처리를 수행합니다. %(퍼센트 부호)로 시작하는 모든 행은 rpcgen 명령으로 해석되지 않고 출력 파일로 직접 패스됩니다.
자체 XDR 루틴을 작성하려면, 데이터 유형을 정의하지 말고 그대로 두십시오. 정의되지 않은 모든 데이터 유형에 대해, rpcgen 명령은 루틴이 xdr_를 정의되지 않은 유형 이름으로 지정하여 종료한다고 가정합니다.
주:
중첩이 지원되지 않습니다. 구조는 다른 구조 내에서 사용되는 이름으로 같은 효과를 내도록 최상위에서 선언될 수 있습니다.
실제로는 분명한 유효범위 지정이 적용되지 않기 때문에 프로그램 정의를 사용할 때 이름 충돌이 발생할 수 있습니다. 대부분은 프로그램, 버전, 프로시저 및 유형에 대해 유일한 이름을 지정하여 피할 수 있습니다.
TIRPC 인터페이스에 맞게 프로그래밍하고 다중 스레드 RPC(원격 프로시저 호출) 응용프로그램을 사용하려면 tirpcgen 명령을 사용하십시오. 또한 libtli.a(-ltli) 사양뿐 아니라 Makefile에서도 프리프로세서 변수 _AIX_TIRPC를 정의해야 합니다. tirpcgen은 운영 시스템의 나중 버전에서 rpcgen을 대체할 새로운 rpcgen 명령의 임시 이름입니다.
파일
-c XDR 루틴으로 컴파일합니다.
-h C-데이터 정의로(헤더 파일) 컴파일합니다.
-l 클라이언트쪽 스터브로 컴파일합니다.
-m 서버쪽 스터브로 컴파일하지만 메인 루틴을 작성하지 않습니다. 이 옵션은 확인 루틴을 수행하거나 초기화를 위해 메인 루틴을 기록하는데 유용합니다.
-o OutputFile 결과 파일의 이름을 지정합니다. 지정되지 않으면, 표준 출력이 사용됩니다.
-s전송 주어진 전송 수단을 사용하여 서버쪽 스터브로 컴파일합니다. 지원되는 전송 수단은 udp와 tcp입니다. 이 플래그는 다중 전송 수단을 지원하는 서버를 컴파일하기 위해 한번 이상 수행될 수 있습니다.
관련 정보
cpp 명령.