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