AIX命令参考大全,卷 4,n - r - rpcgen 命令

[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]

AIX命令参考大全,卷 4,n - r

rpcgen 命令

用途

生成 C 代码来实现 RPC 协议。

语法

为一个文件生成四种类型的输出文件

/usr/bin/rpcgen InputFile

为一个文件生成指定的输出文件

rpcgen-c | -h | -l | -m } [ -o OutputFile ] [ InputFile ]

为 TCP 或 UDP 生成一个服务器端文件

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_ 到未定义的类型名的例程存在。

注:
  1. 不支持嵌套。作为一种变通方法,可以在顶级声明其名字在其它结构中使用的结构来达到相同的效果。
  2. 由于表面的作用域未真正的应用,所以当使用程序定义时可能发生名称冲突。通过给出程序的唯一的名称、版本、过程和类型可以避免大部分的冲突。
  3. 使用 tirpcgen 命令来编程到 TIRPC 接口和允许使用多线程的 RPC 应用程序。还需要在 Makefile 以及 libtli.a-ltli)规范中定义预处理器变量 _AIX_TIRPCtirpcgen 是将在更高版本的操作系统中替换 rpcgen 的新的 rpcgen 命令的临时名称。

标志

-c 编译到 XDR 例程。
-h 编译到 C 数据定义(头文件)。
-l 编译到客户机端存根。
-m 编译到服务器端存根,但是不生成主例程。本选项对于做回调例程和写主例程来初始化很有用。
-o OutputFile 指定输出文件名。如果不指定则使用标准输出。
-s Transport 使用给定的传输编译到服务器端存根。支持的传输形式为 udptcp。本标志可被运行多次来编译提供多传输服务的服务器。

相关信息

cpp 命令。

《AIX 5L V5.2 系统管理指南:通信与网络》中的『系统管理网络文件系统(NFS)概述』

Remote Procedure Call (RPC) Overview for ProgrammingAIX 5L Version 5.2 Communications Programming Concepts

NFS 命令列表

[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]