my_hostname.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /*
  2. * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License, version 2.0,
  6. * as published by the Free Software Foundation.
  7. *
  8. * This program is also distributed with certain software (including
  9. * but not limited to OpenSSL) that is licensed under separate terms,
  10. * as designated in a particular file or component or in included license
  11. * documentation. The authors of MySQL hereby grant you an additional
  12. * permission to link the program and your derivative works with the
  13. * separately licensed software that they have included with MySQL.
  14. *
  15. * This program is distributed in the hope that it will be useful,
  16. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. * GNU General Public License, version 2.0, for more details.
  19. *
  20. * You should have received a copy of the GNU General Public License
  21. * along with this program; if not, write to the Free Software
  22. * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  23. */
  24. /**
  25. @file include/my_hostname.h
  26. Common definition used by mysys, performance schema and server & client.
  27. */
  28. #ifndef MY_HOSTNAME_INCLUDED
  29. #define MY_HOSTNAME_INCLUDED
  30. /*
  31. Note that this is the actual length available, and that room
  32. for a trailing '\0' is not included in this size.
  33. The metadata columns storing hostname use single byte character
  34. as they are using ASCII character set.
  35. pre 8.0.17: 60 characters
  36. */
  37. static constexpr int HOSTNAME_LENGTH = 255;
  38. /*
  39. Number of characters that a port number can have.
  40. As per rfc6335 section 6, the range is 0 to 65535.
  41. */
  42. static constexpr int PORTNUMBER_LENGTH = 5;
  43. /**
  44. Number of bytes required to hold "hostname:portnumber"
  45. */
  46. static constexpr int HOST_AND_PORT_LENGTH =
  47. (HOSTNAME_LENGTH + 1 + PORTNUMBER_LENGTH + 1);
  48. #endif /* MY_HOSTNAME_INCLUDED */