1/* Exim: OS-specific C header file for Cygwin */ 2 3/* This code was supplied by Pierre A. Humblet <Pierre.Humblet@ieee.org> 4 December 2002. Updated Jan 2015. */ 5 6/* Redefine the set*id calls to run when faking root */ 7#include <unistd.h> /* Do not redefine in unitsd.h */ 8int cygwin_setuid(uid_t uid ); 9int cygwin_setgid(gid_t gid ); 10#define setuid cygwin_setuid 11#define setgid cygwin_setgid 12 13#define os_strsignal strsignal 14#define OS_STRSIGNAL 15#define BASE_62 36 /* Windows aliases lower and upper cases in filenames. 16 Consider reducing MAX_LOCALHOST_NUMBER */ 17#define CRYPT_H 18#define HAVE_MMAP 19#define HAVE_SYS_VFS_H 20#define NO_IP_VAR_H 21#define NO_IP_OPTIONS 22/* Defining LOAD_AVG_NEEDS_ROOT causes an initial 23 call to os_getloadavg. In our case this is beneficial 24 because it initializes the counts */ 25#define LOAD_AVG_NEEDS_ROOT 26 27typedef struct flock flock_t; 28 29/* Macro to define variable length SID structures */ 30#define SID(n, name, sid...) \ 31struct { \ 32 BYTE Revision; \ 33 BYTE SubAuthorityCount; \ 34 SID_IDENTIFIER_AUTHORITY IdentifierAuthority; \ 35 DWORD SubAuthority[n]; \ 36} name = { SID_REVISION, n, {SECURITY_NT_AUTHORITY}, {sid}} 37 38/* default is non-const */ 39#define ICONV_ARG2_TYPE const char ** 40 41/* End */ 42