xref: /freebsd-src/crypto/heimdal/include/krb5-types.cross (revision 6a068746777241722b2b32c5d0bc443a2a64d80b)
1*ae771770SStanislav Sedov/*
2*ae771770SStanislav Sedov * generic krb5-types.h for cross compiling, assume system is posix/sus
3*ae771770SStanislav Sedov */
4*ae771770SStanislav Sedov
5*ae771770SStanislav Sedov#ifndef __krb5_types_h__
6*ae771770SStanislav Sedov#define __krb5_types_h__
7*ae771770SStanislav Sedov
8*ae771770SStanislav Sedov#include <inttypes.h>
9*ae771770SStanislav Sedov#include <sys/types.h>
10*ae771770SStanislav Sedov#include <sys/socket.h>
11*ae771770SStanislav Sedov
12*ae771770SStanislav Sedovtypedef socklen_t krb5_socklen_t;
13*ae771770SStanislav Sedov#include <unistd.h>
14*ae771770SStanislav Sedovtypedef ssize_t krb5_ssize_t;
15*ae771770SStanislav Sedov
16*ae771770SStanislav Sedov#if !defined(__has_extension)
17*ae771770SStanislav Sedov#define __has_extension(x) 0
18*ae771770SStanislav Sedov#endif
19*ae771770SStanislav Sedov
20*ae771770SStanislav Sedov#define KRB5TYPES_REQUIRE_GNUC(m,n,p) \
21*ae771770SStanislav Sedov    (((__GNUC__ * 10000) + (__GNUC_MINOR__ * 100) + __GNUC_PATCHLEVEL__) >= \
22*ae771770SStanislav Sedov     (((m) * 10000) + ((n) * 100) + (p)))
23*ae771770SStanislav Sedov
24*ae771770SStanislav Sedov
25*ae771770SStanislav Sedov#ifndef HEIMDAL_DEPRECATED
26*ae771770SStanislav Sedov#if __has_extension(deprecated) || KRB5TYPES_REQUIRE_GNUC(3,1,0)
27*ae771770SStanislav Sedov#define HEIMDAL_DEPRECATED __attribute__((deprecated))
28*ae771770SStanislav Sedov#elif defined(_MSC_VER) && (_MSC_VER>1200)
29*ae771770SStanislav Sedov#define HEIMDAL_DEPRECATED __declspec(deprecated)
30*ae771770SStanislav Sedov#else
31*ae771770SStanislav Sedov#define HEIMDAL_DEPRECATED
32*ae771770SStanislav Sedov#endif
33*ae771770SStanislav Sedov#endif
34*ae771770SStanislav Sedov
35*ae771770SStanislav Sedov#ifndef HEIMDAL_PRINTF_ATTRIBUTE
36*ae771770SStanislav Sedov#if __has_extension(format) || KRB5TYPES_REQUIRE_GNUC(3,1,0)
37*ae771770SStanislav Sedov#define HEIMDAL_PRINTF_ATTRIBUTE(x) __attribute__((format x))
38*ae771770SStanislav Sedov#else
39*ae771770SStanislav Sedov#define HEIMDAL_PRINTF_ATTRIBUTE(x)
40*ae771770SStanislav Sedov#endif
41*ae771770SStanislav Sedov#endif
42*ae771770SStanislav Sedov
43*ae771770SStanislav Sedov#ifndef HEIMDAL_NORETURN_ATTRIBUTE
44*ae771770SStanislav Sedov#if __has_extension(noreturn) || KRB5TYPES_REQUIRE_GNUC(3,1,0)
45*ae771770SStanislav Sedov#define HEIMDAL_NORETURN_ATTRIBUTE __attribute__((noreturn))
46*ae771770SStanislav Sedov#else
47*ae771770SStanislav Sedov#define HEIMDAL_NORETURN_ATTRIBUTE
48*ae771770SStanislav Sedov#endif
49*ae771770SStanislav Sedov#endif
50*ae771770SStanislav Sedov
51*ae771770SStanislav Sedov#ifndef HEIMDAL_UNUSED_ATTRIBUTE
52*ae771770SStanislav Sedov#if __has_extension(unused) || KRB5TYPES_REQUIRE_GNUC(3,1,0)
53*ae771770SStanislav Sedov#define HEIMDAL_UNUSED_ATTRIBUTE __attribute__((unused))
54*ae771770SStanislav Sedov#else
55*ae771770SStanislav Sedov#define HEIMDAL_UNUSED_ATTRIBUTE
56*ae771770SStanislav Sedov#endif
57*ae771770SStanislav Sedov#endif
58*ae771770SStanislav Sedov
59*ae771770SStanislav Sedovtypedef int krb5_socket_t;
60*ae771770SStanislav Sedov
61*ae771770SStanislav Sedov#endif /* __krb5_types_h__ */
62