| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 | /******************************* (C) LiteMesh ********************************** * @module  template * @file    template.h * @version 1.0.0 * @date    XX.XX.XXXX * $brief   template ******************************************************************************* * @history     Version  Author         Comment * XX.XX.XXXX   1.0.0    Telenkov D.A.  First release. ******************************************************************************* *//* Define to prevent recursive  ----------------------------------------------*/#ifndef __RADIUS_CONFIG_H#define __RADIUS_CONFIG_H#include <stdint.h>#include <string.h>//#include "sockets.h"//#define RC_LOG#define STDC_HEADERS#define HAVE_RAND       //  Рандом генератор//#define HAVE_GETENTROPY // ?// some unix defines#define LOG_CRIT    0#define LOG_ERR     0#define LOG_WARNING 0//typedef unsigned int size_t;// some unix structs/* * Desired design of maximum size and alignment (see RFC2553) */#define _K_SS_MAXSIZE	128	/* Implementation specific max size */#define _K_SS_ALIGNSIZE	(__alignof__ (struct sockaddr *))				/* Implementation specific desired alignment */typedef unsigned short __kernel_sa_family_t;struct __kernel_sockaddr_storage {	__kernel_sa_family_t	ss_family;		/* address family */	/* Following field(s) are implementation specific */	char		data[_K_SS_MAXSIZE - sizeof(unsigned short)];				/* space to achieve desired size, */				/* _SS_MAXSIZE value minus size of ss_family */} ;	/* force desired alignment */// -----------------------------------------------------------------------------typedef __kernel_sa_family_t	sa_family_t2;// -----------------------------------------------------------------------------/*struct sockaddr {	char	sa_len;			// total length 	char	sa_family;		// address family 	char	sa_data[14];	// actually longer; address value };*/#define _SS_MAXSIZE    128  /* Implementation specific max size */#define _SS_ALIGNSIZE  (sizeof (int64_t))#define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof(sa_family_t2))#define _SS_PAD2SIZE (_SS_MAXSIZE - (sizeof(sa_family_t2)+ \                      _SS_PAD1SIZE + _SS_ALIGNSIZE))struct sockaddr_storage {    sa_family_t2  ss_family;  /* Address family. *//* *  Following fields are implementation-defined. */    char _ss_pad1[_SS_PAD1SIZE];        /* 6-byte pad; this is to make implementation-defined           pad up to alignment field that follows explicit in           the data structure. */    int64_t _ss_align;  /* Field to force desired structure                           storage alignment. */    char _ss_pad2[_SS_PAD2SIZE];        /* 112-byte pad to achieve desired size,           _SS_MAXSIZE value minus size of ss_family           __ss_pad1, __ss_align fields is 112. */};struct addrinfo {    int              ai_flags;     // AI_PASSIVE, AI_CANONNAME, etc.    int              ai_family;    // AF_INET, AF_INET6, AF_UNSPEC    int              ai_socktype;  // SOCK_STREAM, SOCK_DGRAM    int              ai_protocol;  // use 0 for "any"    size_t           ai_addrlen;   // size of ai_addr in bytes    struct sockaddr *ai_addr;      // struct sockaddr_in or _in6    char            *ai_canonname; // full canonical hostname    struct addrinfo *ai_next;      // linked list, next node};#endif /* #ifndef __RADIUS_CONFIG_H *//****************************** (C) LiteMesh ***************** end of file ****/
 |