Files
86Box/src/network/networkmessage.pb.h
Jasmine Iwanek 2dc28d39b1 Network Switch support
Co-Authored-By: Alexander Babikov <2708460+lemondrops@users.noreply.github.com>
Co-Authored-By: cold-brewed <47337035+cold-brewed@users.noreply.github.com>
2025-08-02 16:18:09 -04:00

141 lines
4.8 KiB
C

/* Automatically generated nanopb header */
/* Generated by nanopb-0.4.8-dev */
#ifndef PB_NETWORKMESSAGE_PB_H_INCLUDED
#define PB_NETWORKMESSAGE_PB_H_INCLUDED
#include "pb.h"
#if PB_PROTO_HEADER_VERSION != 40
#error Regenerate this file with the current version of nanopb generator.
#endif
/* Enum definitions */
typedef enum _MessageType {
MessageType_MESSAGE_TYPE_UNSPECIFIED = 0,
MessageType_MESSAGE_TYPE_DATA = 1,
MessageType_MESSAGE_TYPE_JOIN = 2,
MessageType_MESSAGE_TYPE_LEAVE = 3,
MessageType_MESSAGE_TYPE_KEEPALIVE = 4,
MessageType_MESSAGE_TYPE_FRAGMENT = 5,
MessageType_MESSAGE_TYPE_ACK = 6,
MessageType_MESSAGE_TYPE_CONNECT_REQUEST = 7,
MessageType_MESSAGE_TYPE_CONNECT_REPLY = 8
} MessageType;
/* Struct definitions */
typedef struct _Fragment {
uint32_t id;
uint32_t sequence;
uint32_t total;
} Fragment;
typedef struct _Ack {
uint32_t id;
uint32_t history;
} Ack;
typedef struct _NetworkMessage {
MessageType message_type;
uint32_t client_id;
pb_bytes_array_t *mac;
pb_bytes_array_t *frame;
uint32_t flags;
uint32_t version;
bool has_ack;
Ack ack;
bool has_fragment;
Fragment fragment;
int64_t timestamp;
uint32_t sequence;
} NetworkMessage;
#ifdef __cplusplus
extern "C" {
#endif
/* Helper constants for enums */
#define _MessageType_MIN MessageType_MESSAGE_TYPE_UNSPECIFIED
#define _MessageType_MAX MessageType_MESSAGE_TYPE_CONNECT_REPLY
#define _MessageType_ARRAYSIZE ((MessageType)(MessageType_MESSAGE_TYPE_CONNECT_REPLY+1))
#define NetworkMessage_message_type_ENUMTYPE MessageType
/* Initializer values for message structs */
#define Fragment_init_default {0, 0, 0}
#define Ack_init_default {0, 0}
#define NetworkMessage_init_default {_MessageType_MIN, 0, NULL, NULL, 0, 0, false, Ack_init_default, false, Fragment_init_default, 0, 0}
#define Fragment_init_zero {0, 0, 0}
#define Ack_init_zero {0, 0}
#define NetworkMessage_init_zero {_MessageType_MIN, 0, NULL, NULL, 0, 0, false, Ack_init_zero, false, Fragment_init_zero, 0, 0}
/* Field tags (for use in manual encoding/decoding) */
#define Fragment_id_tag 1
#define Fragment_sequence_tag 2
#define Fragment_total_tag 3
#define Ack_id_tag 1
#define Ack_history_tag 2
#define NetworkMessage_message_type_tag 1
#define NetworkMessage_client_id_tag 2
#define NetworkMessage_mac_tag 3
#define NetworkMessage_frame_tag 4
#define NetworkMessage_flags_tag 5
#define NetworkMessage_version_tag 6
#define NetworkMessage_ack_tag 7
#define NetworkMessage_fragment_tag 8
#define NetworkMessage_timestamp_tag 9
#define NetworkMessage_sequence_tag 10
/* Struct field encoding specification for nanopb */
#define Fragment_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, id, 1) \
X(a, STATIC, SINGULAR, UINT32, sequence, 2) \
X(a, STATIC, SINGULAR, UINT32, total, 3)
#define Fragment_CALLBACK NULL
#define Fragment_DEFAULT NULL
#define Ack_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UINT32, id, 1) \
X(a, STATIC, SINGULAR, UINT32, history, 2)
#define Ack_CALLBACK NULL
#define Ack_DEFAULT NULL
#define NetworkMessage_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UENUM, message_type, 1) \
X(a, STATIC, SINGULAR, UINT32, client_id, 2) \
X(a, POINTER, SINGULAR, BYTES, mac, 3) \
X(a, POINTER, SINGULAR, BYTES, frame, 4) \
X(a, STATIC, SINGULAR, UINT32, flags, 5) \
X(a, STATIC, SINGULAR, UINT32, version, 6) \
X(a, STATIC, OPTIONAL, MESSAGE, ack, 7) \
X(a, STATIC, OPTIONAL, MESSAGE, fragment, 8) \
X(a, STATIC, SINGULAR, INT64, timestamp, 9) \
X(a, STATIC, SINGULAR, UINT32, sequence, 10)
#define NetworkMessage_CALLBACK NULL
#define NetworkMessage_DEFAULT NULL
#define NetworkMessage_ack_MSGTYPE Ack
#define NetworkMessage_fragment_MSGTYPE Fragment
extern const pb_msgdesc_t Fragment_msg;
extern const pb_msgdesc_t Ack_msg;
extern const pb_msgdesc_t NetworkMessage_msg;
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define Fragment_fields &Fragment_msg
#define Ack_fields &Ack_msg
#define NetworkMessage_fields &NetworkMessage_msg
/* Maximum encoded size of messages (where known) */
/* NetworkMessage_size depends on runtime parameters */
#define Ack_size 12
#define Fragment_size 18
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif