生成 C 代码来实现 RPC 协议。
/usr/bin/rpcgen InputFile
rpcgen { -c | -h | -l | -m } [ -o OutputFile ] [ InputFile ]
rpcgen { -s Transport ... } [ -o OutputFile ] [ InputFile ]
rpcgen 命令生成 C 代码来实现远程过程调用(RPC)协议。rpcgen 命令的输入为类似于 C 语言的称为 RPC 语言的语言。
第一个语法结构是将一个输入文件生成为四个输出文件的 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_ 到未定义的类型名的例程存在。
注:
cpp 命令。
《AIX 5L V5.2 系统管理指南:通信与网络》中的『系统管理网络文件系统(NFS)概述』。
Remote Procedure Call (RPC) Overview for ProgrammingAIX 5L Version 5.2 Communications Programming Concepts。