程序

本节说明 RPC 程序。

使用以下语法声明 RPC 程序:

program-definition:
      "program" program-ident "{"
           version-list
      "}" "=" value

version-list:
      version ";"
      version ";" version-list

version:
      "version" version-ident "{"
           procedure-list
      "}" "=" value

procedure-list:
      procedure ";"
      procedure ";" procedure-list

procedure:
      type-ident procedure-ident "(" type-ident ")" "=" value
时间协议定义如下:

/*
 * time.x: Get or set the time. Time is represented as number
 * of seconds since 0:00, January 1, 1970.
 */
program TIMEPROG {
     version TIMEVERS {
          unsigned int TIMEGET (void) = 1;
          void TIMESET (unsigned) = 2;
     } = 1;
} = 44;
此文件编译为输出头文件中的以下 #define 语句:

#define TIMEPROG 44

#define TIMEVERS 1

#define TIMEGET 1

#define TIMESET 2