对已接受请求的回复
本部分说明了对已接受请求的回复。
网络服务器接受的请求的 RPC 应答消息具有以下结构:
struct accepted_reply areply {
opaque_auth verf;
union switch (enum accept_stat stat) {
case SUCCESS:
opaque results {0};
/* procedure specific results start here */
case PROG_MISMATCH:
struct {
unsigned int low;
unsigned int high;
} mismatch_info;
default:
void;
} reply_data;
};
已接受的应答中的结构为:
| 项 | 描述 |
|---|---|
| opaque_auth verf | 由服务器生成的认证验证器,用于向调用者标识自身。 |
| enum accept_stat | 在 SUCCESS ,进步不匹配和其他适当条件之间充当开关的判别。 |
accept_stat 枚举数据类型具有以下定义:
enum accept_stat {
SUCCESS = 0, /* RPC executed successfully */
PROG_UNAVAIL = 1, /* remote has not exported program */
PROG_MISMATCH = 2, /* remote cannot support version # */
PROC_UNAVAIL = 3, /* program cannot support procedure */
GARBAGE_ARGS = 4, /* procedure cannot decode params */
};
accept_stat 枚举数据类型中的结构定义如下:
| 项 | 描述 |
|---|---|
| SUCCESS | RPC 调用成功。 |
| PROG_UNAVAIL | 远程服务器尚未导出程序。 |
| PROG_MISMATCH | 远程服务器无法支持客户机的版本号。 返回服务器支持的远程程序的最低版本号和最高版本号。 |
| PROC_UNAVAIL | 程序无法支持所请求的过程。 |
| GARBAGE_ARGS | 该过程无法对调用中指定的参数进行解码。 |
注: 即使服务器接受调用消息,也可能存在错误情况。