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";
36
37extend google.protobuf.EnumOptions {
38	optional bool goproto_enum_prefix = 62001;
39	optional bool goproto_enum_stringer = 62021;
40	optional bool enum_stringer = 62022;
41	optional string enum_customname = 62023;
42	optional bool enumdecl = 62024;
43}
44
45extend google.protobuf.EnumValueOptions {
46	optional string enumvalue_customname = 66001;
47}
48
49extend google.protobuf.FileOptions {
50	optional bool goproto_getters_all = 63001;
51	optional bool goproto_enum_prefix_all = 63002;
52	optional bool goproto_stringer_all = 63003;
53	optional bool verbose_equal_all = 63004;
54	optional bool face_all = 63005;
55	optional bool gostring_all = 63006;
56	optional bool populate_all = 63007;
57	optional bool stringer_all = 63008;
58	optional bool onlyone_all = 63009;
59
60	optional bool equal_all = 63013;
61	optional bool description_all = 63014;
62	optional bool testgen_all = 63015;
63	optional bool benchgen_all = 63016;
64	optional bool marshaler_all = 63017;
65	optional bool unmarshaler_all = 63018;
66	optional bool stable_marshaler_all = 63019;
67
68	optional bool sizer_all = 63020;
69
70	optional bool goproto_enum_stringer_all = 63021;
71	optional bool enum_stringer_all = 63022;
72
73	optional bool unsafe_marshaler_all = 63023;
74	optional bool unsafe_unmarshaler_all = 63024;
75
76	optional bool goproto_extensions_map_all = 63025;
77	optional bool goproto_unrecognized_all = 63026;
78	optional bool gogoproto_import = 63027;
79	optional bool protosizer_all = 63028;
80	optional bool compare_all = 63029;
81    optional bool typedecl_all = 63030;
82    optional bool enumdecl_all = 63031;
83
84	optional bool goproto_registration = 63032;
85}
86
87extend google.protobuf.MessageOptions {
88	optional bool goproto_getters = 64001;
89	optional bool goproto_stringer = 64003;
90	optional bool verbose_equal = 64004;
91	optional bool face = 64005;
92	optional bool gostring = 64006;
93	optional bool populate = 64007;
94	optional bool stringer = 67008;
95	optional bool onlyone = 64009;
96
97	optional bool equal = 64013;
98	optional bool description = 64014;
99	optional bool testgen = 64015;
100	optional bool benchgen = 64016;
101	optional bool marshaler = 64017;
102	optional bool unmarshaler = 64018;
103	optional bool stable_marshaler = 64019;
104
105	optional bool sizer = 64020;
106
107	optional bool unsafe_marshaler = 64023;
108	optional bool unsafe_unmarshaler = 64024;
109
110	optional bool goproto_extensions_map = 64025;
111	optional bool goproto_unrecognized = 64026;
112
113	optional bool protosizer = 64028;
114	optional bool compare = 64029;
115
116	optional bool typedecl = 64030;
117}
118
119extend google.protobuf.FieldOptions {
120	optional bool nullable = 65001;
121	optional bool embed = 65002;
122	optional string customtype = 65003;
123	optional string customname = 65004;
124	optional string jsontag = 65005;
125	optional string moretags = 65006;
126	optional string casttype = 65007;
127	optional string castkey = 65008;
128	optional string castvalue = 65009;
129
130	optional bool stdtime = 65010;
131	optional bool stdduration = 65011;
132}
133