Thanks for the feedback, everybody, gist updated:
  https://gist.github.com/gavinandresen/7079034

Categories are:

0x01-0x0f Protocol syntax errors
0x10-0x1f Protocol semantic errors
0x40-0x4fServer policy rule


RE: why not a varint:  because we're never ever going to run out of reject codes.  Eight are defined right now, if we ever defined eight more I'd be surprised.

RE: why not use HTTP codes directly: because we'd be fitting round pegs into square holes.

--
--
Gavin Andresen