diff options
Diffstat (limited to 'src/include/win-mac.h')
-rw-r--r-- | src/include/win-mac.h | 173 |
1 files changed, 29 insertions, 144 deletions
diff --git a/src/include/win-mac.h b/src/include/win-mac.h index e2d37e0..27c5329 100644 --- a/src/include/win-mac.h +++ b/src/include/win-mac.h @@ -1,4 +1,8 @@ /* + * This file is now only used on Windows + */ + +/* * type functions split out of here to make things look nicer in the * various include files which need these definitions, as well as in * the util/ directories. @@ -7,10 +11,7 @@ #ifndef _KRB5_WIN_MAC_H #define _KRB5_WIN_MAC_H -#if (defined(_MSDOS) || defined(_WIN32)) -/* - * Machine-type definitions: PC Clone 386 running Microloss Windows - */ +#ifdef _WIN32 #define ID_READ_PWD_DIALOG 10000 #define ID_READ_PWD_PROMPT 10001 @@ -22,60 +23,27 @@ #define APSTUDIO_HIDDEN_SYMBOLS #include <windows.h> -#else - -#if defined(_MSDOS) - /* Windows 16 specific */ -#define BITS16 -#define SIZEOF_INT 2 -#define SIZEOF_SHORT 2 -#define SIZEOF_LONG 4 - -#ifndef KRB5_CALLCONV -#define KRB5_CALLCONV __far __export __pascal -#define KRB5_CALLCONV_C __far __export __cdecl -#define KRB5_EXPORTVAR __far __export -#define KRB5_DLLIMP -#endif /* !KRB5_CALLCONV */ - -#include <windows.h> - -/* - * The following defines are needed to make <windows.h> work - * in stdc mode (/Za flag). Winsock.h needs <windows.h>. - */ -#ifndef FAR -#define FAR __far -#define NEAR __near -#endif - -#ifndef _far -#define _far __far -#define _near __near -#define _pascal __pascal -#define _cdecl __cdecl -#define _huge __huge -#endif +#else /* ! RES_ONLY */ -#else - /* Windows 32 specific */ +/* Windows 32 specific */ #define SIZEOF_INT 4 #define SIZEOF_SHORT 2 #define SIZEOF_LONG 4 -#include <windows.h> /* always include this here, to get correct FAR and NEAR */ +/* always include this here, to get correct FAR and NEAR */ +#include <windows.h> #define HAVE_LABS #ifndef KRB5_CALLCONV -# ifdef _MSC_VER +# ifdef _MSC_VER # ifdef KRB5_DLL_FILE -# define KRB5_DLLIMP __declspec(dllexport) +# define KRB5_DLLIMP # else # define KRB5_DLLIMP __declspec(dllimport) # endif # ifdef GSS_DLL_FILE -# define GSS_DLLIMP __declspec(dllexport) +# define GSS_DLLIMP # else # define GSS_DLLIMP __declspec(dllimport) # endif @@ -85,11 +53,18 @@ # endif # define KRB5_CALLCONV __stdcall # define KRB5_CALLCONV_C __cdecl + +/* + * Use this to mark an incorrect calling convention that has been + * "immortalized" because it was incorrectly exported in a previous + * release. + */ + +# define KRB5_CALLCONV_WRONG KRB5_CALLCONV_C + # define KRB5_EXPORTVAR #endif /* !KRB5_CALLCONV */ -#endif /* _MSDOS */ - #ifndef KRB5_SYSTYPES__ #define KRB5_SYSTYPES__ #include <sys/types.h> @@ -180,31 +155,6 @@ typedef unsigned char u_char; #include <fcntl.h> #include <io.h> #include <process.h> -#define THREEPARAMOPEN(x,y,z) open(x,y,z) -#ifndef _WIN32 -#define O_RDONLY _O_RDONLY -#define O_WRONLY _O_WRONLY -#define O_RDWR _O_RDWR -#define O_APPEND _O_APPEND -#define O_CREAT _O_CREAT -#define O_TRUNC _O_TRUNC -#define O_EXCL _O_EXCL -#define O_TEXT _O_TEXT -#define O_BINARY _O_BINARY -#define O_NOINHERIT _O_NOINHERIT -#define stat _stat -#define unlink _unlink -#define lseek _lseek -#define write _write -#define open _open -#define close _close -#define read _read -#define fstat _fstat -#define mktemp _mktemp -#define dup _dup - -#define getpid _getpid -#endif #ifdef NEED_SYSERROR /* Only needed by util/et/error_message.c but let's keep the source clean */ @@ -222,91 +172,26 @@ HINSTANCE get_lib_instance(void); #endif /* !RES_ONLY */ -#endif /* _MSDOS || _WIN32 */ +#endif /* _WIN32 */ -#ifdef macintosh +#define THREEPARAMOPEN(x,y,z) open(x,y,z) +#ifndef KRB5_CALLCONV #define KRB5_CALLCONV -#define KRB5_CALLCONV_C -#define KRB5_DLLIMP -#define GSS_DLLIMP -#ifndef FAR -#define FAR -#endif -#ifndef NEAR -#define NEAR -#endif - -#define SIZEOF_INT 4 -#define SIZEOF_SHORT 2 -#define HAVE_SRAND -#define NO_PASSWORD -#define HAVE_LABS -/*#define ENOMEM 12*/ -#include <unix.h> -#include <ctype.h> - -#ifdef NEED_LOWLEVEL_IO -#include <fcntl.h> #endif -/* - * Which encryption routines libcrypto will provide is controlled by - * mac/libraries/KerberosHeaders.h. - */ - -/* there is no <stat.h> for mpw */ -#ifndef __MWERKS__ -typedef unsigned long size_t; -typedef unsigned long mode_t; -typedef unsigned long ino_t; -typedef unsigned long dev_t; -typedef short nlink_t; -typedef unsigned long uid_t; -typedef unsigned long gid_t; -typedef long off_t; - -struct stat -{ - mode_t st_mode; /* File mode; see #define's below */ - ino_t st_ino; /* File serial number */ - dev_t st_dev; /* ID of device containing this file */ - nlink_t st_nlink; /* Number of links */ - uid_t st_uid; /* User ID of the file's owner */ - gid_t st_gid; /* Group ID of the file's group */ - dev_t st_rdev; /* Device type */ - off_t st_size; /* File size in bytes */ - unsigned long st_atime; /* Time of last access */ - unsigned long st_mtime; /* Time of last data modification */ - unsigned long st_ctime; /* Time of last file status change */ - long st_blksize; /* Optimal blocksize */ - long st_blocks; /* blocks allocated for file */ -}; - -int stat(const char *path, struct stat *buf); +#ifndef KRB5_CALLCONV_C +#define KRB5_CALLCONV_C #endif -int fstat(int fildes, struct stat *buf); - -#define EFBIG 1000 - -#define NOFCHMOD 1 -#define NOCHMOD 1 -#define _MACSOCKAPI_ - -#define THREEPARAMOPEN(x,y,z) open(x,y) -#else /* macintosh */ -#define THREEPARAMOPEN(x,y,z) open(x,y,z) -#endif /* macintosh */ - -#ifndef KRB5_CALLCONV -#define KRB5_CALLCONV -#define KRB5_CALLCONV_C +#ifndef KRB5_DLLIMP #define KRB5_DLLIMP #endif + #ifndef FAR #define FAR #endif + #ifndef NEAR #define NEAR #endif |