xref: /aosp_15_r20/external/grpc-grpc/third_party/upb/upb/mini_table/extension.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 #ifndef UPB_MINI_TABLE_EXTENSION_H_
9 #define UPB_MINI_TABLE_EXTENSION_H_
10 
11 #include <stdint.h>
12 
13 #include "upb/base/descriptor_constants.h"
14 #include "upb/mini_table/internal/extension.h"
15 #include "upb/mini_table/message.h"
16 
17 // Must be last.
18 #include "upb/port/def.inc"
19 
20 typedef struct upb_MiniTableExtension upb_MiniTableExtension;
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 UPB_API_INLINE upb_CType
upb_MiniTableExtension_CType(const upb_MiniTableExtension * e)27 upb_MiniTableExtension_CType(const upb_MiniTableExtension* e) {
28   return UPB_PRIVATE(_upb_MiniTableExtension_CType)(e);
29 }
30 
31 UPB_API_INLINE uint32_t
upb_MiniTableExtension_Number(const upb_MiniTableExtension * e)32 upb_MiniTableExtension_Number(const upb_MiniTableExtension* e) {
33   return UPB_PRIVATE(_upb_MiniTableExtension_Number)(e);
34 }
35 
upb_MiniTableExtension_GetSubMessage(const upb_MiniTableExtension * e)36 UPB_API_INLINE const upb_MiniTable* upb_MiniTableExtension_GetSubMessage(
37     const upb_MiniTableExtension* e) {
38   return UPB_PRIVATE(_upb_MiniTableExtension_GetSubMessage)(e);
39 }
40 
upb_MiniTableExtension_SetSubMessage(upb_MiniTableExtension * e,const upb_MiniTable * m)41 UPB_API_INLINE void upb_MiniTableExtension_SetSubMessage(
42     upb_MiniTableExtension* e, const upb_MiniTable* m) {
43   UPB_PRIVATE(_upb_MiniTableExtension_SetSubMessage)(e, m);
44 }
45 
46 #ifdef __cplusplus
47 } /* extern "C" */
48 #endif
49 
50 #include "upb/port/undef.inc"
51 
52 #endif /* UPB_MINI_TABLE_EXTENSION_H_ */
53