1cca6fc52SDaniel Fojt /* $OpenBSD: tls13_handshake.h,v 1.5 2020/04/22 17:05:07 jsing Exp $ */
2cca6fc52SDaniel Fojt /*
3cca6fc52SDaniel Fojt  * Copyright (c) 2019 Theo Buehler <tb@openbsd.org>
4cca6fc52SDaniel Fojt  *
5cca6fc52SDaniel Fojt  * Permission to use, copy, modify, and/or distribute this software for any
6cca6fc52SDaniel Fojt  * purpose with or without fee is hereby granted, provided that the above
7cca6fc52SDaniel Fojt  * copyright notice and this permission notice appear in all copies.
8cca6fc52SDaniel Fojt  *
9cca6fc52SDaniel Fojt  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10cca6fc52SDaniel Fojt  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11cca6fc52SDaniel Fojt  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
12cca6fc52SDaniel Fojt  * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13cca6fc52SDaniel Fojt  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
14cca6fc52SDaniel Fojt  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
15cca6fc52SDaniel Fojt  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16cca6fc52SDaniel Fojt  */
17cca6fc52SDaniel Fojt 
18cca6fc52SDaniel Fojt #ifndef HEADER_TLS13_HANDSHAKE_H
19cca6fc52SDaniel Fojt #define HEADER_TLS13_HANDSHAKE_H
20cca6fc52SDaniel Fojt 
21cca6fc52SDaniel Fojt #include <stddef.h>	/* for NULL */
22cca6fc52SDaniel Fojt 
23cca6fc52SDaniel Fojt __BEGIN_HIDDEN_DECLS
24cca6fc52SDaniel Fojt 
25cca6fc52SDaniel Fojt #define INITIAL			0x00
26cca6fc52SDaniel Fojt #define NEGOTIATED		0x01
27cca6fc52SDaniel Fojt #define WITHOUT_HRR		0x02
28cca6fc52SDaniel Fojt #define WITHOUT_CR		0x04
29cca6fc52SDaniel Fojt #define WITH_PSK		0x08
30cca6fc52SDaniel Fojt #define WITH_CCV		0x10
31cca6fc52SDaniel Fojt #define WITH_0RTT		0x20
32cca6fc52SDaniel Fojt 
33cca6fc52SDaniel Fojt enum tls13_message_type {
34cca6fc52SDaniel Fojt 	INVALID,
35cca6fc52SDaniel Fojt 	CLIENT_HELLO,
36cca6fc52SDaniel Fojt 	SERVER_HELLO_RETRY_REQUEST,
37cca6fc52SDaniel Fojt 	CLIENT_HELLO_RETRY,
38cca6fc52SDaniel Fojt 	SERVER_HELLO,
39cca6fc52SDaniel Fojt 	SERVER_ENCRYPTED_EXTENSIONS,
40cca6fc52SDaniel Fojt 	SERVER_CERTIFICATE_REQUEST,
41cca6fc52SDaniel Fojt 	SERVER_CERTIFICATE,
42cca6fc52SDaniel Fojt 	SERVER_CERTIFICATE_VERIFY,
43cca6fc52SDaniel Fojt 	SERVER_FINISHED,
44cca6fc52SDaniel Fojt 	CLIENT_END_OF_EARLY_DATA,
45cca6fc52SDaniel Fojt 	CLIENT_CERTIFICATE,
46cca6fc52SDaniel Fojt 	CLIENT_CERTIFICATE_VERIFY,
47cca6fc52SDaniel Fojt 	CLIENT_FINISHED,
48cca6fc52SDaniel Fojt 	APPLICATION_DATA,
49cca6fc52SDaniel Fojt 	TLS13_NUM_MESSAGE_TYPES,
50cca6fc52SDaniel Fojt };
51cca6fc52SDaniel Fojt 
52cca6fc52SDaniel Fojt __END_HIDDEN_DECLS
53cca6fc52SDaniel Fojt 
54cca6fc52SDaniel Fojt #endif /* !HEADER_TLS13_HANDSHAKE_H */
55