code: func (r *SetSystemBootOptionsRequest) UnmarshalBinary(buf []byte) error {
  	if len(buf) < 2 {
  		return ErrShortPacket
  	}
  	r.Param = buf[0]
  	r.Data = buf[1:]
  	if l, ok := validSetBootOptionsDataLength[r.Param]; ok {
  		if len(r.Data) < l {
  			return ErrShortPacket
  		}
  	}
  	return nil
  }
docs: // UnmarshalBinary implementation to handle variable length Data