Programs

This section explains the RPC programs.

RPC programs are declared using the following syntax:

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
The time protocol is defined as follows:

/*
 * 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;
This file compiles into the following #define statements in the output header file:

#define TIMEPROG 44

#define TIMEVERS 1

#define TIMEGET 1

#define TIMESET 2