1// Protocol Buffers for Go with Gadgets
2//
3// Copyright (c) 2013, The GoGo Authors. All rights reserved.
4// http://github.com/gogo/protobuf
5//
6// Redistribution and use in source and binary forms, with or without
7// modification, are permitted provided that the following conditions are
8// met:
9//
10//     * Redistributions of source code must retain the above copyright
11// notice, this list of conditions and the following disclaimer.
12//     * Redistributions in binary form must reproduce the above
13// copyright notice, this list of conditions and the following disclaimer
14// in the documentation and/or other materials provided with the
15// distribution.
16//
17// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29syntax = "proto2";
30package gogoproto;
31
32import "google/protobuf/descriptor.proto";
33
34option java_package = "com.google.protobuf";
35option java_outer_classname = "GoGoProtos";
36option go_package = "github.com/gogo/protobuf/gogoproto";
37
38extend google.protobuf.EnumOptions {
39	optional bool goproto_enum_prefix = 62001;
40	optional bool goproto_enum_stringer = 62021;
41	optional bool enum_stringer = 62022;
42	optional string enum_customname = 62023;
43	optional bool enumdecl = 62024;
44}
45
46extend google.protobuf.EnumValueOptions {
47	optional string enumvalue_customname = 66001;
48}
49
50extend google.protobuf.FileOptions {
51	optional bool goproto_getters_all = 63001;
52	optional bool goproto_enum_prefix_all = 63002;
53	optional bool goproto_stringer_all = 63003;
54	optional bool verbose_equal_all = 63004;
55	optional bool face_all = 63005;
56	optional bool gostring_all = 63006;
57	optional bool populate_all = 63007;
58	optional bool stringer_all = 63008;
59	optional bool onlyone_all = 63009;
60
61	optional bool equal_all = 63013;
62	optional bool description_all = 63014;
63	optional bool testgen_all = 63015;
64	optional bool benchgen_all = 63016;
65	optional bool marshaler_all = 63017;
66	optional bool unmarshaler_all = 63018;
67	optional bool stable_marshaler_all = 63019;
68
69	optional bool sizer_all = 63020;
70
71	optional bool goproto_enum_stringer_all = 63021;
72	optional bool enum_stringer_all = 63022;
73
74	optional bool unsafe_marshaler_all = 63023;
75	optional bool unsafe_unmarshaler_all = 63024;
76
77	optional bool goproto_extensions_map_all = 63025;
78	optional bool goproto_unrecognized_all = 63026;
79	optional bool gogoproto_import = 63027;
80	optional bool protosizer_all = 63028;
81	optional bool compare_all = 63029;
82    optional bool typedecl_all = 63030;
83    optional bool enumdecl_all = 63031;
84
85	optional bool goproto_registration = 63032;
86	optional bool messagename_all = 63033;
87
88	optional bool goproto_sizecache_all = 63034;
89	optional bool goproto_unkeyed_all = 63035;
90}
91
92extend google.protobuf.MessageOptions {
93	optional bool goproto_getters = 64001;
94	optional bool goproto_stringer = 64003;
95	optional bool verbose_equal = 64004;
96	optional bool face = 64005;
97	optional bool gostring = 64006;
98	optional bool populate = 64007;
99	optional bool stringer = 67008;
100	optional bool onlyone = 64009;
101
102	optional bool equal = 64013;
103	optional bool description = 64014;
104	optional bool testgen = 64015;
105	optional bool benchgen = 64016;
106	optional bool marshaler = 64017;
107	optional bool unmarshaler = 64018;
108	optional bool stable_marshaler = 64019;
109
110	optional bool sizer = 64020;
111
112	optional bool unsafe_marshaler = 64023;
113	optional bool unsafe_unmarshaler = 64024;
114
115	optional bool goproto_extensions_map = 64025;
116	optional bool goproto_unrecognized = 64026;
117
118	optional bool protosizer = 64028;
119	optional bool compare = 64029;
120
121	optional bool typedecl = 64030;
122
123	optional bool messagename = 64033;
124
125	optional bool goproto_sizecache = 64034;
126	optional bool goproto_unkeyed = 64035;
127}
128
129extend google.protobuf.FieldOptions {
130	optional bool nullable = 65001;
131	optional bool embed = 65002;
132	optional string customtype = 65003;
133	optional string customname = 65004;
134	optional string jsontag = 65005;
135	optional string moretags = 65006;
136	optional string casttype = 65007;
137	optional string castkey = 65008;
138	optional string castvalue = 65009;
139
140	optional bool stdtime = 65010;
141	optional bool stdduration = 65011;
142	optional bool wktpointer = 65012;
143
144}
145