This guide describes how to use the protocol buffer language to structure your protocol buffer data, including .proto file syntax and how to generate data access classes from your .proto files. It covers the proto2 revision of the protocol buffers language. For information on editions syntax, see the Protobuf Editions Language Guide. For information on proto3 syntax, see the Proto3 Language Guide. This is a reference guide – for a step by step example that uses many of the features described in this document, see the tutorial for your chosen language.