Shall becomes May, and May becomes Will only when you can't deal with it or Must if it's on your side of the agreement.
Slight addition. This field is Reserved means Look back through at least six years of specs to see what it used to mean, then honour it. It's bad enough when a field in mmc3 is reserved and was only deprecated in mmc2, but some of these things are STILL required by applications after being deprecated in atapi4. Gah.
Not always. Sometimes "This field is reserved" means "We have no use for it now, but we don't want someone else to find a use for it because then we won't be able to use it later". Viz about 40 Java bytecodes.
Oh yes, but you still have to go LOOK and find out which it is, because it would be FAR too useful for the spec to tell you. And, of course, you have to work out whether it is going to be the "any value other than zero means you should reject it with some kind of 'format too new for me' error" kind, or the "just ignore values in this field" type.
If it's an IETF spec, then "This field is reserved" usually means "set this to zero, it will never be used for anything". -- Senji
Hah. I *wish*. There's things that have been marked reserved in every spec for the last eight years - but if you don't fill them out with (for example) your currrent transfer rate, then no application on earth will work correctly. IETF may be legendary for its slowness, but at least it maintains backwards compatibility explicitly rather than letting its users munge all previous revisions together. SCSI isjust utterly utterly evil. --Vitenka goes back to work.