Added header to aid porting and include tchar.h here as it's the only unique thing...
authorRobert Dickenson <robd@reactos.org>
Sun, 24 Nov 2002 18:14:19 +0000 (18:14 +0000)
committerRobert Dickenson <robd@reactos.org>
Sun, 24 Nov 2002 18:14:19 +0000 (18:14 +0000)
svn path=/trunk/; revision=3777

reactos/include/msvcrt/crttypes.h [new file with mode: 0644]
reactos/include/msvcrt/tchar.h [new file with mode: 0644]

diff --git a/reactos/include/msvcrt/crttypes.h b/reactos/include/msvcrt/crttypes.h
new file mode 100644 (file)
index 0000000..bf38c06
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * COPYRIGHT:       See COPYING in the top level directory
+ * PROJECT:         ReactOS kernel
+ * FILE:            include/msvcrt/crttypes.h
+ * PURPOSE:         
+ * PROGRAMMER:      
+ * UPDATE HISTORY: 
+ *                
+ */
+
+#ifndef __CRT_TYPES__
+#define __CRT_TYPES__
+
+
+#ifdef  __GNUC__
+
+#define HAVE_LONGLONG
+#define LONGLONG_DEFINED
+#define LONGLONG    long long
+#define ULONGLONG   unsigned long long
+
+#else
+
+#define LONGLONG_DEFINED
+#define LONGLONG    long
+#define ULONGLONG   unsigned long
+#define PLONGLONG   long*
+#define PULONGLONG  unsigned long*
+#define __attribute__(a)
+#define __volatile
+
+#ifndef _DEBUG
+#pragma function(_disable,_enable)
+#pragma function(_inp,_inpw,_outp,_outpw)
+#pragma function(_lrotl,_lrotr,_rotl,_rotr)
+#pragma function(abs,fabs,labs)
+#pragma function(memcpy,memcmp,memset)
+#pragma function(strcat,strcmp,strcpy,strlen,_strset)
+#pragma function(fmod,sqrt)
+#pragma function(log,log10,pow,exp)
+#pragma function(tan,atan,atan2,tanh)
+#pragma function(cos,acos,cosh)
+#pragma function(sin,asin,sinh)
+#endif
+
+#endif /*__GNUC__*/
+
+
+#endif /* __CRT_TYPES__ */
diff --git a/reactos/include/msvcrt/tchar.h b/reactos/include/msvcrt/tchar.h
new file mode 100644 (file)
index 0000000..72569d0
--- /dev/null
@@ -0,0 +1,231 @@
+/* 
+ * tchar.h
+ *
+ * Unicode mapping layer for the standard C library. By including this
+ * file and using the 't' names for string functions
+ * (eg. _tprintf) you can make code which can be easily adapted to both
+ * Unicode and non-unicode environments. In a unicode enabled compile define
+ * _UNICODE before including tchar.h, otherwise the standard non-unicode
+ * library functions will be used.
+ *
+ * Note that you still need to include string.h or stdlib.h etc. to define
+ * the appropriate functions. Also note that there are several defines
+ * included for non-ANSI functions which are commonly available (but using
+ * the convention of prepending an underscore to non-ANSI library function
+ * names).
+ *
+ * This file is part of the Mingw32 package.
+ *
+ * Contributors:
+ *  Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
+ *
+ *  THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ *  This source code is offered for use in the public domain. You may
+ *  use, modify or distribute it freely.
+ *
+ *  This code is distributed in the hope that it will be useful but
+ *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ *  DISCLAMED. This includes but is not limited to warranties of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * $Revision: 1.1 $
+ * $Author: robd $
+ * $Date: 2002/11/24 18:14:19 $
+ *
+ */
+
+#ifndef        _TCHAR_H_
+#define _TCHAR_H_
+
+/*
+ * NOTE: This tests _UNICODE, which is different from the UNICODE define
+ *       used to differentiate Win32 API calls.
+ */
+#ifdef _UNICODE
+
+
+/*
+ * Use TCHAR instead of char or wchar_t. It will be appropriately translated
+ * if _UNICODE is correctly defined (or not).
+ */
+#ifndef _TCHAR_DEFINED
+#ifndef RC_INVOKED
+typedef        wchar_t TCHAR;
+#endif /* Not RC_INVOKED */
+#define _TCHAR_DEFINED
+#endif
+
+
+/*
+ * Enclose constant strings and literal characters in the _TEXT and _T macro to make
+ * them unicode constant strings when _UNICODE is defined.
+ */
+#define        _TEXT(x)        L ## x
+#define        _T(x)           L ## x
+
+/*
+ * Unicode functions
+ */
+
+#define        _tprintf                wprintf
+#define        _ftprintf               fwprintf
+#define        _stprintf               swprintf
+#define        _sntprintf      _snwprintf
+#define        _vtprintf               vwprintf
+#define        _vftprintf      vfwprintf
+#define        _vstprintf      vswprintf
+#define        _vsntprintf     _vsnwprintf
+#define        _tscanf         wscanf
+#define        _ftscanf                fwscanf
+#define        _stscanf                swscanf
+#define        _fgettc         fgetwc
+#define        _fgettchar      _fgetwchar
+#define        _fgetts         fgetws
+#define        _fputtc         fputwc
+#define        _fputtchar      _fputwchar
+#define        _fputts         fputws
+#define        _gettc          getwc
+#define        _getts          getws
+#define        _puttc          putwc
+#define        _putts          putws
+#define        _ungettc        ungetwc
+#define        _tcstod         wcstod
+#define        _tcstol         wcstol
+#define        _tcstoul                wcstoul
+#define        _tcscat         wcscat
+#define        _tcschr         wcschr
+#define        _tcscmp         wcscmp
+#define        _tcscpy         wcscpy
+#define        _tcscspn        wcscspn
+#define        _tcslen         wcslen
+#define        _tcsncat                wcsncat
+#define        _tcsncmp        wcsncmp
+#define        _tcsncpy        wcsncpy
+#define        _tcspbrk                wcspbrk
+#define        _tcsrchr                wcsrchr
+#define        _tcsspn         wcsspn
+#define        _tcsstr         wcsstr
+#define        _tcstok         wcstok
+#define        _tcsdup         _wcsdup
+#define        _tcsicmp        _wcsicmp
+#define        _tcsnicmp       _wcsnicmp
+#define        _tcsnset                _wcsnset
+#define        _tcsrev         _wcsrev
+#define        _tcsset         _wcsset
+#define        _tcslwr         _wcslwr
+#define        _tcsupr         _wcsupr
+#define        _tcsxfrm                wcsxfrm
+#define        _tcscoll                wcscoll
+#define        _tcsicoll               _wcsicoll
+#define        _istalpha       iswalpha
+#define        _istupper       iswupper
+#define        _istlower       iswlower
+#define        _istdigit               iswdigit
+#define        _istxdigit      iswxdigit
+#define        _istspace       iswspace
+#define        _istpunct       iswpunct
+#define        _istalnum       iswalnum
+#define        _istprint               iswprint
+#define        _istgraph       iswgraph
+#define        _istcntrl               iswcntrl
+#define        _istascii               iswascii
+#define        _totupper       towupper
+#define        _totlower       towlower
+#define        _ttoi           _wtoi
+#define        _tcsftime       wcsftime
+
+#else  /* Not _UNICODE */
+
+/*
+ * TCHAR, the type you should use instead of char.
+ */
+#ifndef _TCHAR_DEFINED
+#ifndef RC_INVOKED
+typedef char   TCHAR;
+#endif
+#define _TCHAR_DEFINED
+#endif
+
+/*
+ * Enclose constant strings and characters in the _TEXT and _T macro.
+ */
+#define        _TEXT(x)        x
+#define        _T(x)           x
+
+
+/*
+ * Non-unicode (standard) functions
+ */
+
+#define        _tprintf        printf
+#define _ftprintf      fprintf
+#define        _stprintf       sprintf
+#define        _sntprintf      _snprintf
+#define        _vtprintf       vprintf
+#define        _vftprintf      vfprintf
+#define _vstprintf     vsprintf
+#define        _vsntprintf     _vsnprintf
+#define        _tscanf         scanf
+#define        _ftscanf        fscanf
+#define        _stscanf        sscanf
+#define        _fgettc         fgetc
+#define        _fgettchar      _fgetchar
+#define        _fgetts         fgets
+#define        _fputtc         fputc
+#define        _fputtchar      _fputchar
+#define        _fputts         fputs
+#define        _gettc          getc
+#define        _getts          gets
+#define        _puttc          putc
+#define        _putts          puts
+#define        _ungettc        ungetc
+#define        _tcstod         strtod
+#define        _tcstol         strtol
+#define _tcstoul       strtoul
+#define        _tcscat         strcat
+#define _tcschr                strchr
+#define _tcscmp                strcmp
+#define _tcscpy                strcpy
+#define _tcscspn       strcspn
+#define        _tcslen         strlen
+#define        _tcsncat        strncat
+#define        _tcsncmp        strncmp
+#define        _tcsncpy        strncpy
+#define        _tcspbrk        strpbrk
+#define        _tcsrchr        strrchr
+#define _tcsspn                strspn
+#define        _tcsstr         strstr
+#define _tcstok                strtok
+#define        _tcsdup         _strdup
+#define        _tcsicmp        _stricmp
+#define        _tcsnicmp       _strnicmp
+#define        _tcsnset        _strnset
+#define        _tcsrev         _strrev
+#define _tcsset                _strset
+#define        _tcslwr         _strlwr
+#define        _tcsupr         _strupr
+#define        _tcsxfrm        strxfrm
+#define        _tcscoll        strcoll
+#define        _tcsicoll       _stricoll
+#define        _istalpha       isalpha
+#define        _istupper       isupper
+#define        _istlower       islower
+#define        _istdigit       isdigit
+#define        _istxdigit      isxdigit
+#define        _istspace       isspace
+#define        _istpunct       ispunct
+#define        _istalnum       isalnum
+#define        _istprint       isprint
+#define        _istgraph       isgraph
+#define        _istcntrl       iscntrl
+#define        _istascii       isascii
+#define _totupper      toupper
+#define        _totlower       tolower
+#define        _ttoi           atoi
+#define _tcsftime      strftime
+
+#endif /* Not _UNICODE */
+
+#endif /* Not _TCHAR_H_ */
+