2 * Copyright (c) 2019 Cisco and/or its affiliates.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at:
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
16 #ifndef __included_vpp_quic_crypto_h__
17 #define __included_vpp_quic_crypto_h__
22 struct quic_rx_packet_ctx_t;
23 struct quic_crypto_batch_ctx_t;
25 extern ptls_cipher_suite_t *quic_crypto_cipher_suites[];
27 int quic_encrypt_ticket_cb (ptls_encrypt_ticket_t * _self, ptls_t * tls,
28 int is_encrypt, ptls_buffer_t * dst,
30 void quic_crypto_decrypt_packet (quic_ctx_t * qctx,
31 quic_rx_packet_ctx_t * pctx);
32 void quic_crypto_batch_tx_packets (quic_crypto_batch_ctx_t * batch_ctx);
33 void quic_crypto_batch_rx_packets (quic_crypto_batch_ctx_t * batch_ctx);
34 void quic_crypto_finalize_send_packet (quicly_datagram_t * packet);
37 quic_crypto_finalize_send_packet_cb (struct st_quicly_crypto_engine_t *engine,
39 ptls_cipher_context_t * hp,
40 ptls_aead_context_t * aead,
41 quicly_datagram_t * packet,
43 size_t payload_from, int coalesced);
45 #endif /* __included_vpp_quic_crypto_h__ */
48 * fd.io coding-style-patch-verification: ON
51 * eval: (c-set-style "gnu")