diff options
| author | 李佳 <[email protected]> | 2024-07-10 06:58:33 +0000 |
|---|---|---|
| committer | lijia <[email protected]> | 2024-07-11 11:23:10 +0800 |
| commit | 4782225f29b6f80ee023297d0a0726c6c798e3d7 (patch) | |
| tree | 35e385984c8312daf1de3f479af5523928626f54 /include | |
Initial commitv1.0.1
Diffstat (limited to 'include')
| -rw-r--r-- | include/quic_decoder.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/include/quic_decoder.h b/include/quic_decoder.h new file mode 100644 index 0000000..a4a909b --- /dev/null +++ b/include/quic_decoder.h @@ -0,0 +1,33 @@ +#pragma once +#ifdef __cplusplus +extern "C" +{ +#endif +#include <stddef.h> + +enum quic_message_type +{ + QUIC_CLIENT_HELLO, + QUIC_SERVER_HELLO, + QUIC_PROTECTED_PAYLOAD, + QUIC_MSG_MAX, +}; + +#define QUIC_DECODER_TOPIC "QUIC_DECODER_MESSAGE" +struct quic_message; +enum quic_message_type quic_message_type_get(const struct quic_message *msg); + +/* + * 0 is reserved for version negotiation, will never represent a real protocol. + * https://www.rfc-editor.org/rfc/rfc9000.html#name-versions +*/ +unsigned int quic_message_version_get(const struct quic_message *msg); +const char *quic_message_readable_version_get0(const struct quic_message *msg); +const char *quic_message_readable_ja3hash_get0(const struct quic_message *msg); +void quic_message_sni_get0(const struct quic_message *msg, char **result, size_t *len); +void quic_message_user_agent_get0(const struct quic_message *msg, char **result, size_t *len); +void quic_message_protected_payload_get0(const struct quic_message *msg, char **result, size_t *len); + +#ifdef __cplusplus +} +#endif |
