RFC Errata
RFC 4506, "XDR: External Data Representation Standard", May 2006
Source of RFC: nfsv4 (wit)
Errata ID: 7101
Status: Reported
Type: Technical
Publication Format(s) : TEXT
Reported By: Dylan Allbee
Date Reported: 2022-08-21
Section 4.3 says:
Enumerations have the same representation as signed integers. Enumerations are handy for describing subsets of the integers. Enumerated data is declared as follows: enum { name-identifier = constant, ... } identifier; For example, the three colors red, yellow, and blue could be described by an enumerated type: enum { RED = 2, YELLOW = 3, BLUE = 5 } colors;
It should say:
... enum identifier { name-identifier = constant, ... } ; ^^^^^^^^^^ ... enum colors { RED = 2, YELLOW = 3, BLUE = 5 } ; ^^^^^^
Notes:
The grammar for this definition, as specified in 6.3, is:
type-def:
"typedef" declaration ";"
| "enum" identifier enum-body ";"
| "struct" identifier struct-body ";"
| "union" identifier union-body ";"
It is unclear whether the original intent was for identifies to precede or succeed the definition bodies. The example in section 7 shows: enum filekind { ... }
And several RFCs which depend on 4506 have also followed that pattern, such as this example from RFC 5531, section 8.2: enum auth_flavor { ... }