sctp6_var.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /*-
  2. * SPDX-License-Identifier: BSD-3-Clause
  3. *
  4. * Copyright (c) 2001-2007, by Cisco Systems, Inc. All rights reserved.
  5. * Copyright (c) 2008-2012, by Randall Stewart. All rights reserved.
  6. * Copyright (c) 2008-2012, by Michael Tuexen. All rights reserved.
  7. *
  8. * Redistribution and use in source and binary forms, with or without
  9. * modification, are permitted provided that the following conditions are met:
  10. *
  11. * a) Redistributions of source code must retain the above copyright notice,
  12. * this list of conditions and the following disclaimer.
  13. *
  14. * b) Redistributions in binary form must reproduce the above copyright
  15. * notice, this list of conditions and the following disclaimer in
  16. * the documentation and/or other materials provided with the distribution.
  17. *
  18. * c) Neither the name of Cisco Systems, Inc. nor the names of its
  19. * contributors may be used to endorse or promote products derived
  20. * from this software without specific prior written permission.
  21. *
  22. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  23. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
  24. * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  25. * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  26. * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  27. * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  28. * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  29. * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  30. * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  31. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  32. * THE POSSIBILITY OF SUCH DAMAGE.
  33. */
  34. #if defined(__FreeBSD__) && !defined(__Userspace__)
  35. #include <sys/cdefs.h>
  36. __FBSDID("$FreeBSD$");
  37. #endif
  38. #ifndef _NETINET6_SCTP6_VAR_H_
  39. #define _NETINET6_SCTP6_VAR_H_
  40. #if defined(__Userspace__)
  41. #ifdef INET
  42. extern void in6_sin6_2_sin(struct sockaddr_in *, struct sockaddr_in6 *);
  43. extern void in6_sin6_2_sin_in_sock(struct sockaddr *);
  44. extern void in6_sin_2_v4mapsin6(const struct sockaddr_in *, struct sockaddr_in6 *);
  45. #endif
  46. #endif
  47. #if defined(_KERNEL)
  48. #if !defined(__Userspace__)
  49. SYSCTL_DECL(_net_inet6_sctp6);
  50. extern struct pr_usrreqs sctp6_usrreqs;
  51. #else
  52. int sctp6_usrreq(struct socket *, int, struct mbuf *, struct mbuf *, struct mbuf *);
  53. #endif
  54. #if defined(__APPLE__) && !defined(__Userspace__)
  55. int sctp6_input(struct mbuf **, int *);
  56. int sctp6_input_with_port(struct mbuf **, int *, uint16_t);
  57. #else
  58. int sctp6_input(struct mbuf **, int *, int);
  59. int sctp6_input_with_port(struct mbuf **, int *, uint16_t);
  60. #endif
  61. int sctp6_output(struct sctp_inpcb *, struct mbuf *, struct sockaddr *,
  62. struct mbuf *, struct proc *);
  63. #if defined(__APPLE__) && !defined(__Userspace__) && !defined(APPLE_LEOPARD) && !defined(APPLE_SNOWLEOPARD) && !defined(APPLE_LION) && !defined(APPLE_MOUNTAINLION) && !defined(APPLE_ELCAPITAN)
  64. void sctp6_ctlinput(int, struct sockaddr *, void *, struct ifnet * SCTP_UNUSED);
  65. #else
  66. void sctp6_ctlinput(int, struct sockaddr *, void *);
  67. #endif
  68. #if !((defined(__FreeBSD__) || defined(__APPLE__)) && !defined(__Userspace__))
  69. extern void in6_sin_2_v4mapsin6(struct sockaddr_in *, struct sockaddr_in6 *);
  70. extern void in6_sin6_2_sin(struct sockaddr_in *, struct sockaddr_in6 *);
  71. extern void in6_sin6_2_sin_in_sock(struct sockaddr *);
  72. #endif
  73. void sctp6_notify(struct sctp_inpcb *, struct sctp_tcb *, struct sctp_nets *,
  74. uint8_t, uint8_t, uint32_t);
  75. #endif
  76. #endif