diff options
Diffstat (limited to 'unix/tclUnixPort.h')
| -rw-r--r-- | unix/tclUnixPort.h | 78 | 
1 files changed, 47 insertions, 31 deletions
| diff --git a/unix/tclUnixPort.h b/unix/tclUnixPort.h index fd396f7..f64d453 100644 --- a/unix/tclUnixPort.h +++ b/unix/tclUnixPort.h @@ -21,10 +21,6 @@  #ifndef _TCLUNIXPORT  #define _TCLUNIXPORT - -#ifndef MODULE_SCOPE -#define MODULE_SCOPE	extern -#endif  /*   *--------------------------------------------------------------------------- @@ -78,7 +74,42 @@ typedef off_t		Tcl_SeekOffset;  #   define TclOSopen		open  #endif -#ifdef HAVE_STRUCT_STAT64 +#ifdef __CYGWIN__ + +    /* Make some symbols available without including <windows.h> */ +#   define DWORD unsigned int +#   define CP_UTF8 65001 +#   define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 0x00000004 +#   define HANDLE void * +#   define HINSTANCE void * +#   define SOCKET unsigned int +#   define WSAEWOULDBLOCK 10035 +    typedef unsigned short WCHAR; +    __declspec(dllimport) extern __stdcall int GetModuleHandleExW(unsigned int, const char *, void *); +    __declspec(dllimport) extern __stdcall int GetModuleFileNameW(void *, const char *, int); +    __declspec(dllimport) extern __stdcall int WideCharToMultiByte(int, int, const char *, int, +	    const char *, int, const char *, const char *); +    __declspec(dllimport) extern __stdcall int MultiByteToWideChar(int, int, const char *, int, +	    WCHAR *, int); +    __declspec(dllimport) extern __stdcall void OutputDebugStringW(const WCHAR *); +    __declspec(dllimport) extern __stdcall int IsDebuggerPresent(); +    __declspec(dllimport) extern __stdcall int GetLastError(); +    __declspec(dllimport) extern __stdcall int GetFileAttributesW(const WCHAR *); +    __declspec(dllimport) extern __stdcall int SetFileAttributesW(const WCHAR *, int); + +    __declspec(dllimport) extern int cygwin_conv_path(int, const void *, void *, int); +    __declspec(dllimport) extern int cygwin_conv_path_list(int, const void *, void *, int); +#   define USE_PUTENV 1 +#   define USE_PUTENV_FOR_UNSET 1 +/* On Cygwin, the environment is imported from the Cygwin DLL. */ +#ifndef __x86_64__ +#   define environ __cygwin_environ +    extern char **__cygwin_environ; +#endif +#   define timezone _timezone +    extern int TclOSstat(const char *name, void *statBuf); +    extern int TclOSlstat(const char *name, void *statBuf); +#elif defined(HAVE_STRUCT_STAT64) && !defined(__APPLE__)  #   define TclOSstat		stat64  #   define TclOSlstat		lstat64  #else @@ -127,7 +158,7 @@ typedef off_t		Tcl_SeekOffset;  #   include "../compat/unistd.h"  #endif -MODULE_SCOPE int	TclUnixSetBlockingMode(int fd, int mode); +extern int TclUnixSetBlockingMode(int fd, int mode);  #include <utime.h> @@ -287,7 +318,7 @@ MODULE_SCOPE int	TclUnixSetBlockingMode(int fd, int mode);  #endif  #ifdef GETTOD_NOT_DECLARED -MODULE_SCOPE int	gettimeofday(struct timeval *tp, +extern int	gettimeofday(struct timeval *tp,  			    struct timezone *tzp);  #endif @@ -552,19 +583,6 @@ extern char **		environ;  /*   *--------------------------------------------------------------------------- - * The termios configure test program relies on the configure script being run - * from a terminal, which is not the case e.g., when configuring from Xcode. - * Since termios is known to be present on all Mac OS X releases since 10.0, - * override the configure defines for serial API here. [Bug 497147] - *--------------------------------------------------------------------------- - */ - -#   define USE_TERMIOS 1 -#   undef USE_TERMIO -#   undef USE_SGTTY - -/* - *---------------------------------------------------------------------------   * Include AvailabilityMacros.h here (when available) to ensure any symbolic   * MAC_OS_X_VERSION_* constants passed on the command line are translated.   *--------------------------------------------------------------------------- @@ -663,7 +681,6 @@ typedef int socklen_t;   *---------------------------------------------------------------------------   */ -#define TclpGetPid(pid)		((unsigned long) (pid))  #define TclpReleaseFile(file)	/* Nothing. */  /* @@ -685,8 +702,7 @@ typedef int socklen_t;  #define TclpExit	exit  #ifdef TCL_THREADS -#   undef inet_ntoa -#   define inet_ntoa(x)	TclpInetNtoa(x) +#   include <pthread.h>  #endif /* TCL_THREADS */  /* FIXME - Hyper-enormous platform assumption! */ @@ -705,15 +721,15 @@ typedef int socklen_t;  #include <pwd.h>  #include <grp.h> -MODULE_SCOPE struct passwd *	TclpGetPwNam(const char *name); -MODULE_SCOPE struct group *	TclpGetGrNam(const char *name); -MODULE_SCOPE struct passwd *	TclpGetPwUid(uid_t uid); -MODULE_SCOPE struct group *	TclpGetGrGid(gid_t gid); -MODULE_SCOPE struct hostent *	TclpGetHostByName(const char *name); -MODULE_SCOPE struct hostent *	TclpGetHostByAddr(const char *addr, +extern struct passwd *	TclpGetPwNam(const char *name); +extern struct group *	TclpGetGrNam(const char *name); +extern struct passwd *	TclpGetPwUid(uid_t uid); +extern struct group *	TclpGetGrGid(gid_t gid); +extern struct hostent *	TclpGetHostByName(const char *name); +extern struct hostent *	TclpGetHostByAddr(const char *addr,  				    int length, int type); -MODULE_SCOPE Tcl_Channel	TclpMakeTcpClientChannelMode( -				    ClientData tcpSocket, int mode); +extern void *TclpMakeTcpClientChannelMode( +				    void *tcpSocket, int mode);  #endif /* _TCLUNIXPORT */ | 
