1*a3cefe7fSPierre Pronchery /* 2*a3cefe7fSPierre Pronchery * stdinc.h 3*a3cefe7fSPierre Pronchery * pull in standard headers (including portability hacks) 4*a3cefe7fSPierre Pronchery * 5*a3cefe7fSPierre Pronchery * Copyright (c) 2012 pkgconf authors (see AUTHORS). 6*a3cefe7fSPierre Pronchery * 7*a3cefe7fSPierre Pronchery * Permission to use, copy, modify, and/or distribute this software for any 8*a3cefe7fSPierre Pronchery * purpose with or without fee is hereby granted, provided that the above 9*a3cefe7fSPierre Pronchery * copyright notice and this permission notice appear in all copies. 10*a3cefe7fSPierre Pronchery * 11*a3cefe7fSPierre Pronchery * This software is provided 'as is' and without any warranty, express or 12*a3cefe7fSPierre Pronchery * implied. In no event shall the authors be liable for any damages arising 13*a3cefe7fSPierre Pronchery * from the use of this software. 14*a3cefe7fSPierre Pronchery */ 15*a3cefe7fSPierre Pronchery 16*a3cefe7fSPierre Pronchery #ifndef LIBPKGCONF_STDINC_H 17*a3cefe7fSPierre Pronchery #define LIBPKGCONF_STDINC_H 18*a3cefe7fSPierre Pronchery 19*a3cefe7fSPierre Pronchery #include <ctype.h> 20*a3cefe7fSPierre Pronchery #include <stdio.h> 21*a3cefe7fSPierre Pronchery #include <stdlib.h> 22*a3cefe7fSPierre Pronchery #include <stddef.h> 23*a3cefe7fSPierre Pronchery #include <stdbool.h> 24*a3cefe7fSPierre Pronchery #include <stdarg.h> 25*a3cefe7fSPierre Pronchery #include <string.h> 26*a3cefe7fSPierre Pronchery #include <sys/types.h> 27*a3cefe7fSPierre Pronchery #include <stdint.h> 28*a3cefe7fSPierre Pronchery #include <errno.h> 29*a3cefe7fSPierre Pronchery 30*a3cefe7fSPierre Pronchery #ifdef _WIN32 31*a3cefe7fSPierre Pronchery # define WIN32_LEAN_AND_MEAN 32*a3cefe7fSPierre Pronchery # include <windows.h> 33*a3cefe7fSPierre Pronchery # include <malloc.h> 34*a3cefe7fSPierre Pronchery # define PATH_DEV_NULL "nul" 35*a3cefe7fSPierre Pronchery # ifdef _WIN64 36*a3cefe7fSPierre Pronchery # ifndef __MINGW32__ 37*a3cefe7fSPierre Pronchery # define SIZE_FMT_SPECIFIER "%I64u" 38*a3cefe7fSPierre Pronchery # else 39*a3cefe7fSPierre Pronchery # define SIZE_FMT_SPECIFIER "%llu" 40*a3cefe7fSPierre Pronchery # endif 41*a3cefe7fSPierre Pronchery # else 42*a3cefe7fSPierre Pronchery # define SIZE_FMT_SPECIFIER "%u" 43*a3cefe7fSPierre Pronchery # endif 44*a3cefe7fSPierre Pronchery # ifndef ssize_t 45*a3cefe7fSPierre Pronchery # ifndef __MINGW32__ 46*a3cefe7fSPierre Pronchery # include <BaseTsd.h> 47*a3cefe7fSPierre Pronchery # else 48*a3cefe7fSPierre Pronchery # include <basetsd.h> 49*a3cefe7fSPierre Pronchery # endif 50*a3cefe7fSPierre Pronchery # define ssize_t SSIZE_T 51*a3cefe7fSPierre Pronchery # endif 52*a3cefe7fSPierre Pronchery # ifndef __MINGW32__ 53*a3cefe7fSPierre Pronchery # include "win-dirent.h" 54*a3cefe7fSPierre Pronchery # else 55*a3cefe7fSPierre Pronchery # include <dirent.h> 56*a3cefe7fSPierre Pronchery # endif 57*a3cefe7fSPierre Pronchery # define PKGCONF_ITEM_SIZE (_MAX_PATH + 1024) 58*a3cefe7fSPierre Pronchery #else 59*a3cefe7fSPierre Pronchery # define PATH_DEV_NULL "/dev/null" 60*a3cefe7fSPierre Pronchery # define SIZE_FMT_SPECIFIER "%zu" 61*a3cefe7fSPierre Pronchery # ifdef __HAIKU__ 62*a3cefe7fSPierre Pronchery # include <FindDirectory.h> 63*a3cefe7fSPierre Pronchery # endif 64*a3cefe7fSPierre Pronchery # include <dirent.h> 65*a3cefe7fSPierre Pronchery # include <unistd.h> 66*a3cefe7fSPierre Pronchery # include <limits.h> 67*a3cefe7fSPierre Pronchery # include <strings.h> 68*a3cefe7fSPierre Pronchery # ifdef PATH_MAX 69*a3cefe7fSPierre Pronchery # define PKGCONF_ITEM_SIZE (PATH_MAX + 1024) 70*a3cefe7fSPierre Pronchery # else 71*a3cefe7fSPierre Pronchery # define PKGCONF_ITEM_SIZE (4096 + 1024) 72*a3cefe7fSPierre Pronchery # endif 73*a3cefe7fSPierre Pronchery #endif 74*a3cefe7fSPierre Pronchery 75*a3cefe7fSPierre Pronchery #endif 76