ESP-IDF
Select one of the symbols to view example projects that use it.
Symbol previews are coming soon...
Outline
#define PROTOBUF_C_session_2eproto__INCLUDED
#include <protobuf-c/protobuf-c.h>
#include "sec0.pb-c.h"
#include "sec1.pb-c.h"
#include "sec2.pb-c.h"
SessionData
_SecSchemeVersion
SEC_SCHEME_VERSION__SecScheme0
SEC_SCHEME_VERSION__SecScheme1
SEC_SCHEME_VERSION__SecScheme2
_SEC_SCHEME_VERSION_IS_INT_SIZE
SessionData__ProtoCase
SESSION_DATA__PROTO__NOT_SET
SESSION_DATA__PROTO_SEC0
SESSION_DATA__PROTO_SEC1
SESSION_DATA__PROTO_SEC2
_SESSION_DATA__PROTO__CASE_IS_INT_SIZE
SessionData
base
sec_ver
proto_case
<anonymous>
<anonymous union>
<anonymous union>::sec0
<anonymous union>::sec1
<anonymous union>::sec2
session_data__init(SessionData *);
session_data__get_packed_size(const SessionData *);
session_data__pack(const SessionData *, uint8_t *);
session_data__pack_to_buffer(const SessionData *, ProtobufCBuffer *);
session_data__unpack(ProtobufCAllocator *, size_t, const uint8_t *);
session_data__free_unpacked(SessionData *, ProtobufCAllocator *);
SessionData_Closure
sec_scheme_version__descriptor;
session_data__descriptor;
Files
loading...
SourceVu
ESP-IDF Framework and Examples
ESP-IDF
components/protocomm/proto-c/session.pb-c.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
/* Generated by the protocol buffer compiler. DO NOT EDIT! */
/* Generated from: session.proto */
#ifndef
PROTOBUF_C_session_2eproto__INCLUDED
#define
PROTOBUF_C_session_2eproto__INCLUDED
#include
<
protobuf-c
/
protobuf-c.h>
PROTOBUF_C__BEGIN_DECLS
#if
PROTOBUF_C_VERSION_NUMBER
<
1003000
# error
This
file
was
generated
by
a
newer
version
of
protoc
-
c
which
is
incompatible
with
your
libprotobuf
-
c
headers
.
Please
update
your
headers
.
#elif
1004000
<
PROTOBUF_C_MIN_COMPILER_VERSION
# error
This
file
was
generated
by
an
older
version
of
protoc
-
c
which
is
incompatible
with
your
libprotobuf
-
c
headers
.
Please
regenerate
this
file
with
a
newer
version
of
protoc
-
c
.
#endif
#include
"
sec0.pb-c.h"
#include
"
sec1.pb-c.h"
#include
"
sec2.pb-c.h"
typedef
struct
SessionData
SessionData
;
/* --- enums --- */
/*
* Allowed values for the type of security
* being used in a protocomm session
*/
/* ... */
typedef
enum
_SecSchemeVersion
{
/*
*!< Unsecured - plaintext communication
*/
/* ... */
SEC_SCHEME_VERSION__SecScheme0
=
0
,
/*
*!< Security scheme 1 - Curve25519 + AES-256-CTR
*/
/* ... */
SEC_SCHEME_VERSION__SecScheme1
=
1
,
/*
*!< Security scheme 2 - SRP6a + AES-256-GCM
*/
/* ... */
SEC_SCHEME_VERSION__SecScheme2
=
2
PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE
(
SEC_SCHEME_VERSION
)
}
{ ... }
SecSchemeVersion
;
/* --- messages --- */
typedef
enum
{
SESSION_DATA__PROTO__NOT_SET
=
0
,
SESSION_DATA__PROTO_SEC0
=
10
,
SESSION_DATA__PROTO_SEC1
=
11
,
SESSION_DATA__PROTO_SEC2
=
12
PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE
(
SESSION_DATA__PROTO__CASE
)
}
{ ... }
SessionData__ProtoCase
;
/*
* Data structure exchanged when establishing
* secure session between Host and Client
*/
/* ... */
struct
SessionData
{
ProtobufCMessage
base
;
/*
*!< Type of security
*/
/* ... */
SecSchemeVersion
sec_ver
;
SessionData__ProtoCase
proto_case
;
union
{
/*
*!< Payload data in case of security 0
*/
/* ... */
Sec0Payload
*
sec0
;
/*
*!< Payload data in case of security 1
*/
/* ... */
Sec1Payload
*
sec1
;
/*
*!< Payload data in case of security 2
*/
/* ... */
Sec2Payload
*
sec2
;
}
{ ... }
;
}
{ ... }
;
#define
SESSION_DATA__INIT
\
{
PROTOBUF_C_MESSAGE_INIT
(
&
session_data__descriptor
)
\
,
SEC_SCHEME_VERSION__SecScheme0
,
SESSION_DATA__PROTO__NOT_SET
,
{
0
}
}
{...}
...
/* SessionData methods */
void
session_data__init
(
SessionData
*
message
)
;
size_t
session_data__get_packed_size
(
const
SessionData
*
message
)
;
size_t
session_data__pack
(
const
SessionData
*
message
,
uint8_t
*
out
)
;
size_t
session_data__pack_to_buffer
(
const
SessionData
*
message
,
ProtobufCBuffer
*
buffer
)
;
SessionData
*
session_data__unpack
(
ProtobufCAllocator
*
allocator
,
size_t
len
,
const
uint8_t
*
data
)
;
void
session_data__free_unpacked
(
SessionData
*
message
,
ProtobufCAllocator
*
allocator
)
;
/* --- per-message closures --- */
typedef
void
(
*
SessionData_Closure
)
(
const
SessionData
*
message
,
void
*
closure_data
)
;
/* --- services --- */
/* --- descriptors --- */
extern
const
ProtobufCEnumDescriptor
sec_scheme_version__descriptor
;
extern
const
ProtobufCMessageDescriptor
session_data__descriptor
;
PROTOBUF_C__END_DECLS
/* ... */
#endif
/* PROTOBUF_C_session_2eproto__INCLUDED */
Details
Show:
from
Types:
Columns:
All items filtered out
All items filtered out
This file uses the notable symbols shown below. Click anywhere in the file to view more details.
session_data__free_unpacked()
session_data__init()
session_data__get_packed_size()
session_data__pack()
session_data__unpack()
session_data__pack_to_buffer()
SessionData
PROTOBUF_C_MESSAGE_INIT
PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE
SessionData::sec_ver
PROTOBUF_C__BEGIN_DECLS
PROTOBUF_C_VERSION_NUMBER
PROTOBUF_C__END_DECLS
PROTOBUF_C_MIN_COMPILER_VERSION
SessionData::proto_case
SessionData::
::sec1
SessionData::
::sec2
session_data__descriptor
_SecSchemeVersion
SessionData__ProtoCase
SessionData::base
SessionData::
::sec0
session_data__free_unpacked()::message
session_data__get_packed_size()::message
session_data__pack()::message
session_data__pack_to_buffer()::message
_SecSchemeVersion::SEC_SCHEME_VERSION__SecScheme2
SessionData__ProtoCase::SESSION_DATA__PROTO_SEC1
SessionData__ProtoCase::SESSION_DATA__PROTO_SEC2
session_data__init()::message
session_data__pack()::out
session_data__pack_to_buffer()::buffer
session_data__unpack()::allocator
session_data__unpack()::len
session_data__unpack()::data
session_data__free_unpacked()::allocator
sec_scheme_version__descriptor
_SecSchemeVersion::SEC_SCHEME_VERSION__SecScheme0
SessionData__ProtoCase::SESSION_DATA__PROTO__NOT_SET
SessionData__ProtoCase::SESSION_DATA__PROTO_SEC0
SESSION_DATA__INIT
PROTOBUF_C_session_2eproto__INCLUDED
_SecSchemeVersion::SEC_SCHEME_VERSION__SecScheme1
SessionData_Closure
SessionData
SecSchemeVersion
SessionData__ProtoCase
ProtobufCMessage
Sec0Payload
Sec1Payload
Sec2Payload
ProtobufCBuffer
ProtobufCAllocator
ProtobufCEnumDescriptor
ProtobufCMessageDescriptor