radius_config.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. /******************************* (C) LiteMesh **********************************
  2. * @module template
  3. * @file template.h
  4. * @version 1.0.0
  5. * @date XX.XX.XXXX
  6. * $brief template
  7. *******************************************************************************
  8. * @history Version Author Comment
  9. * XX.XX.XXXX 1.0.0 Telenkov D.A. First release.
  10. *******************************************************************************
  11. */
  12. /* Define to prevent recursive ----------------------------------------------*/
  13. #ifndef __RADIUS_CONFIG_H
  14. #define __RADIUS_CONFIG_H
  15. #include <stdint.h>
  16. #include <string.h>
  17. #include "sockets.h"
  18. //#define RC_LOG
  19. #define STDC_HEADERS
  20. #define HAVE_RAND // Рандом генератор
  21. //#define HAVE_GETENTROPY // ?
  22. // some unix defines
  23. #define LOG_CRIT 0
  24. #define LOG_ERR 0
  25. #define LOG_WARNING 0
  26. //typedef unsigned int size_t;
  27. // some unix structs
  28. /*
  29. * Desired design of maximum size and alignment (see RFC2553)
  30. */
  31. #define _K_SS_MAXSIZE 128 /* Implementation specific max size */
  32. #define _K_SS_ALIGNSIZE (__alignof__ (struct sockaddr *))
  33. /* Implementation specific desired alignment */
  34. typedef unsigned short __kernel_sa_family_t;
  35. struct __kernel_sockaddr_storage {
  36. __kernel_sa_family_t ss_family; /* address family */
  37. /* Following field(s) are implementation specific */
  38. char data[_K_SS_MAXSIZE - sizeof(unsigned short)];
  39. /* space to achieve desired size, */
  40. /* _SS_MAXSIZE value minus size of ss_family */
  41. } ; /* force desired alignment */
  42. // -----------------------------------------------------------------------------
  43. typedef __kernel_sa_family_t sa_family_t2;
  44. // -----------------------------------------------------------------------------
  45. #define _SS_MAXSIZE 128 /* Implementation specific max size */
  46. #define _SS_ALIGNSIZE (sizeof (int64_t))
  47. #define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof(sa_family_t2))
  48. #define _SS_PAD2SIZE (_SS_MAXSIZE - (sizeof(sa_family_t2)+ \
  49. _SS_PAD1SIZE + _SS_ALIGNSIZE))
  50. #if 0
  51. struct sockaddr_storage {
  52. sa_family_t2 ss_family; /* Address family. */
  53. /*
  54. * Following fields are implementation-defined.
  55. */
  56. char _ss_pad1[_SS_PAD1SIZE];
  57. /* 6-byte pad; this is to make implementation-defined
  58. pad up to alignment field that follows explicit in
  59. the data structure. */
  60. int64_t _ss_align; /* Field to force desired structure
  61. storage alignment. */
  62. char _ss_pad2[_SS_PAD2SIZE];
  63. /* 112-byte pad to achieve desired size,
  64. _SS_MAXSIZE value minus size of ss_family
  65. __ss_pad1, __ss_align fields is 112. */
  66. };
  67. #endif
  68. #if 0
  69. struct addrinfo {
  70. int ai_flags; // AI_PASSIVE, AI_CANONNAME, etc.
  71. int ai_family; // AF_INET, AF_INET6, AF_UNSPEC
  72. int ai_socktype; // SOCK_STREAM, SOCK_DGRAM
  73. int ai_protocol; // use 0 for "any"
  74. size_t ai_addrlen; // size of ai_addr in bytes
  75. struct sockaddr *ai_addr; // struct sockaddr_in or _in6
  76. char *ai_canonname; // full canonical hostname
  77. struct addrinfo *ai_next; // linked list, next node
  78. };
  79. #endif
  80. #endif /* #ifndef __RADIUS_CONFIG_H */
  81. /****************************** (C) LiteMesh ***************** end of file ****/