xref: /aosp_15_r20/external/grpc-grpc/third_party/upb/upb/reflection/common.h (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2023 Google LLC.  All rights reserved.
3 //
4 // Use of this source code is governed by a BSD-style
5 // license that can be found in the LICENSE file or at
6 // https://developers.google.com/open-source/licenses/bsd
7 
8 // IWYU pragma: private, include "upb/reflection/def.h"
9 
10 // Declarations common to all public def types.
11 
12 #ifndef UPB_REFLECTION_COMMON_H_
13 #define UPB_REFLECTION_COMMON_H_
14 
15 // begin:google_only
16 // #ifndef UPB_BOOTSTRAP_STAGE0
17 // #include "net/proto2/proto/descriptor.upb.h"
18 // #else
19 // #include "google/protobuf/descriptor.upb.h"
20 // #endif
21 // end:google_only
22 
23 // begin:github_only
24 #include "google/protobuf/descriptor.upb.h"
25 // end:github_only
26 
27 typedef enum {
28   kUpb_Syntax_Proto2 = 2,
29   kUpb_Syntax_Proto3 = 3,
30   kUpb_Syntax_Editions = 99
31 } upb_Syntax;
32 
33 // Forward declarations for circular references.
34 typedef struct upb_DefPool upb_DefPool;
35 typedef struct upb_EnumDef upb_EnumDef;
36 typedef struct upb_EnumReservedRange upb_EnumReservedRange;
37 typedef struct upb_EnumValueDef upb_EnumValueDef;
38 typedef struct upb_ExtensionRange upb_ExtensionRange;
39 typedef struct upb_FieldDef upb_FieldDef;
40 typedef struct upb_FileDef upb_FileDef;
41 typedef struct upb_MessageDef upb_MessageDef;
42 typedef struct upb_MessageReservedRange upb_MessageReservedRange;
43 typedef struct upb_MethodDef upb_MethodDef;
44 typedef struct upb_OneofDef upb_OneofDef;
45 typedef struct upb_ServiceDef upb_ServiceDef;
46 
47 // EVERYTHING BELOW THIS LINE IS INTERNAL - DO NOT USE /////////////////////////
48 
49 typedef struct upb_DefBuilder upb_DefBuilder;
50 
51 #endif /* UPB_REFLECTION_COMMON_H_ */
52