srtp.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /*
  2. * Copyright 2011-2016 The OpenSSL Project Authors. All Rights Reserved.
  3. *
  4. * Licensed under the Apache License 2.0 (the "License"). You may not use
  5. * this file except in compliance with the License. You can obtain a copy
  6. * in the file LICENSE in the source distribution or at
  7. * https://www.openssl.org/source/license.html
  8. */
  9. /*
  10. * DTLS code by Eric Rescorla <ekr@rtfm.com>
  11. *
  12. * Copyright (C) 2006, Network Resonance, Inc. Copyright (C) 2011, RTFM, Inc.
  13. */
  14. #ifndef OPENSSL_SRTP_H
  15. # define OPENSSL_SRTP_H
  16. # pragma once
  17. # include <openssl/macros.h>
  18. # if !OPENSSL_API_3
  19. # define HEADER_D1_SRTP_H
  20. # endif
  21. # include <openssl/ssl.h>
  22. #ifdef __cplusplus
  23. extern "C" {
  24. #endif
  25. # define SRTP_AES128_CM_SHA1_80 0x0001
  26. # define SRTP_AES128_CM_SHA1_32 0x0002
  27. # define SRTP_AES128_F8_SHA1_80 0x0003
  28. # define SRTP_AES128_F8_SHA1_32 0x0004
  29. # define SRTP_NULL_SHA1_80 0x0005
  30. # define SRTP_NULL_SHA1_32 0x0006
  31. /* AEAD SRTP protection profiles from RFC 7714 */
  32. # define SRTP_AEAD_AES_128_GCM 0x0007
  33. # define SRTP_AEAD_AES_256_GCM 0x0008
  34. # ifndef OPENSSL_NO_SRTP
  35. __owur int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *ctx, const char *profiles);
  36. __owur int SSL_set_tlsext_use_srtp(SSL *ssl, const char *profiles);
  37. __owur STACK_OF(SRTP_PROTECTION_PROFILE) *SSL_get_srtp_profiles(SSL *ssl);
  38. __owur SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s);
  39. # endif
  40. #ifdef __cplusplus
  41. }
  42. #endif
  43. #endif