1233294Sstas/* 2233294Sstas * generic krb5-types.h for cross compiling, assume system is posix/sus 3233294Sstas */ 456067Smarkm 572450Sassar/* $FreeBSD$ */ 672450Sassar 756067Smarkm#ifndef __krb5_types_h__ 856067Smarkm#define __krb5_types_h__ 956067Smarkm 10102649Snectar#include <inttypes.h> 1156067Smarkm#include <sys/types.h> 12102649Snectar#include <sys/socket.h> 1356067Smarkm 14102649Snectartypedef socklen_t krb5_socklen_t; 15102649Snectar#include <unistd.h> 16102649Snectartypedef ssize_t krb5_ssize_t; 17102649Snectar 18233294Sstas#if !defined(__has_extension) 19233294Sstas#define __has_extension(x) 0 20233294Sstas#endif 21233294Sstas 22233294Sstas#define KRB5TYPES_REQUIRE_GNUC(m,n,p) \ 23233294Sstas (((__GNUC__ * 10000) + (__GNUC_MINOR__ * 100) + __GNUC_PATCHLEVEL__) >= \ 24233294Sstas (((m) * 10000) + ((n) * 100) + (p))) 25233294Sstas 26233294Sstas 27233294Sstas#ifndef HEIMDAL_DEPRECATED 28233294Sstas#if __has_extension(deprecated) || KRB5TYPES_REQUIRE_GNUC(3,1,0) 29233294Sstas#define HEIMDAL_DEPRECATED __attribute__((deprecated)) 30233294Sstas#elif defined(_MSC_VER) && (_MSC_VER>1200) 31233294Sstas#define HEIMDAL_DEPRECATED __declspec(deprecated) 32233294Sstas#else 33233294Sstas#define HEIMDAL_DEPRECATED 34233294Sstas#endif 35233294Sstas#endif 36233294Sstas 37233294Sstas#ifndef HEIMDAL_PRINTF_ATTRIBUTE 38233294Sstas#if __has_extension(format) || KRB5TYPES_REQUIRE_GNUC(3,1,0) 39233294Sstas#define HEIMDAL_PRINTF_ATTRIBUTE(x) __attribute__((format x)) 40233294Sstas#else 41233294Sstas#define HEIMDAL_PRINTF_ATTRIBUTE(x) 42233294Sstas#endif 43233294Sstas#endif 44233294Sstas 45233294Sstas#ifndef HEIMDAL_NORETURN_ATTRIBUTE 46233294Sstas#if __has_extension(noreturn) || KRB5TYPES_REQUIRE_GNUC(3,1,0) 47233294Sstas#define HEIMDAL_NORETURN_ATTRIBUTE __attribute__((noreturn)) 48233294Sstas#else 49233294Sstas#define HEIMDAL_NORETURN_ATTRIBUTE 50233294Sstas#endif 51233294Sstas#endif 52233294Sstas 53233294Sstas#ifndef HEIMDAL_UNUSED_ATTRIBUTE 54233294Sstas#if __has_extension(unused) || KRB5TYPES_REQUIRE_GNUC(3,1,0) 55233294Sstas#define HEIMDAL_UNUSED_ATTRIBUTE __attribute__((unused)) 56233294Sstas#else 57233294Sstas#define HEIMDAL_UNUSED_ATTRIBUTE 58233294Sstas#endif 59233294Sstas#endif 60233294Sstas 61233294Sstastypedef int krb5_socket_t; 62233294Sstas 6356067Smarkm#endif /* __krb5_types_h__ */ 64