I'm having slight problems reading the used format in an Internet-Draft: TokenBindingProtocol#Section6
here
enum {
provided_token_binding(0), referred_token_binding(1), (255)
} TokenBindingType;
im not sure what the 255 stands for. I assume that these enum values are in the range from 0...255 i.e. represented by an 8 bit value?
struct {
TokenBindingID tokenbindingid;
opaque signature<0..2^16-1>;
Extension extensions<0..2^16-1>;
} TokenBinding;
here its absolutely not clear how to interpet the <0..2^16-1> suffix. I think it is some kind of size indicator, i.e. the value of signature can have a maximum length of 2^16-1 but am not sure... Also for the extensions field which references the struct Extension it's unclear. In my eyes it could mean the extensions field references 0 up to 2^16-1 extensions, or the sum of all extension data is up to 2^16-1
Also I could not find any document explaining this format. Is it like well known pseudo-code or are there any resources?