VirtualBox

Changeset 95975 in vbox


Ignore:
Timestamp:
Aug 2, 2022 12:55:08 AM (2 years ago)
Author:
vboxsync
Message:

include/iprt/nocrt: Prototyped a whole bunch of things to make mesa (almost) compile. bugref:10261

Location:
trunk/include/iprt/nocrt
Files:
16 added
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/nocrt/ctype.h

    r93115 r95975  
    3030#endif
    3131
     32#include <iprt/ctype.h>
     33
     34#define isspace(a_ch)       RT_C_IS_SPACE(a_ch)
     35#define isblank(a_ch)       RT_C_IS_BLANK(a_ch)
     36#define isdigit(a_ch)       RT_C_IS_DIGIT(a_ch)
     37#define isxdigit(a_ch)      RT_C_IS_XDIGIT(a_ch)
     38#define isalpha(a_ch)       RT_C_IS_ALPHA(a_ch)
     39#define isalnum(a_ch)       RT_C_IS_ALNUM(a_ch)
     40#define iscntrl(a_ch)       RT_C_IS_CNTRL(a_ch)
     41#define isgraph(a_ch)       RT_C_IS_GRAPH(a_ch)
     42#define ispunct(a_ch)       RT_C_IS_PUNCT(a_ch)
     43#define isprint(a_ch)       RT_C_IS_PRINT(a_ch)
     44#define isupper(a_ch)       RT_C_IS_UPPER(a_ch)
     45#define islower(a_ch)       RT_C_IS_LOWER(a_ch)
     46
    3247#endif /* !IPRT_INCLUDED_nocrt_ctype_h */
    3348
  • trunk/include/iprt/nocrt/exception

    r95922 r95975  
    3939public:
    4040    exception() RT_NOEXCEPT
     41#ifdef _MSC_VER
     42        : m_pszWhat(NULL)
     43#endif
    4144    { }
    4245
    43     exception(const exception &) RT_NOEXCEPT
    44     { }
     46    exception(const exception &a_rThat) RT_NOEXCEPT
     47#ifdef _MSC_VER
     48        : m_pszWhat(a_rThat.m_pszWhat)
     49#endif
     50    {
     51        RT_NOREF(a_rThat);
     52    }
     53
     54#ifdef _MSC_VER
     55    exception(const char *a_pszWhat, int a_iIgnored = 0) RT_NOEXCEPT
     56        : m_pszWhat(a_pszWhat)
     57    { RT_NOREF(a_iIgnored); }
     58#endif
    4559
    4660    virtual ~exception() RT_NOEXCEPT
     
    4963    virtual const char *what() const RT_NOEXCEPT
    5064    {
     65#ifdef _MSC_VER
     66        if (m_pszWhat)
     67            return m_pszWhat;
     68#endif
    5169        return "unknown exception";
    5270    }
     71#ifdef _MSC_VER
     72protected:
     73        const char *m_pszWhat;
     74#endif
    5375};
    5476
  • trunk/include/iprt/nocrt/float.h

    r95859 r95975  
    3232#include <iprt/types.h>
    3333
     34/*
     35 * Common.
     36 */
     37#define FLT_RADIX       2
     38
     39
     40/*
     41 * float
     42 */
     43#if defined(RT_ARCH_X86) || defined(RT_ARCH_AMD64) || defined(RT_ARCH_ARM64)
     44
     45# define FLT_MAX        (3.40282347E+38F)
     46# define FLT_MIN        (1.17549435E-38F)
     47# define FLT_MAX_EXP    (128)
     48# define FLT_MIN_EXP    (-125)
     49# define FLT_EPSILON    (1.192092896E-07F)
     50
     51#endif
     52
     53/*
     54 * double
     55 */
     56#if defined(RT_ARCH_X86) || defined(RT_ARCH_AMD64) || defined(RT_ARCH_ARM64)
     57
     58# define DBL_MAX        (1.7976931348623157E+308)
     59# define DBL_MIN        (2.2250738585072014E-308)
     60# define DBL_MAX_EXP    (1024)
     61# define DBL_MIN_EXP    (-1021)
     62# define DBL_EPSILON    (2.2204460492503131E-16)
     63
     64#endif
     65
     66/*
     67 * long double
     68 */
     69#if (defined(RT_ARCH_X86) || defined(RT_ARCH_AMD64)) && defined(RT_OS_WINDOWS)
     70# define LDBL_MAX        DBL_MAX
     71# define LDBL_MIN        DBL_MIN
     72# define LDBL_MAX_EXP    DBL_MAX_EXP
     73# define LDBL_MIN_EXP    DBL_MIN_EXP
     74# define LDBL_EPSIOLON   DBL_EPSIOLON
     75#endif
     76
    3477
    3578#endif /* !IPRT_INCLUDED_nocrt_float_h */
  • trunk/include/iprt/nocrt/inttypes.h

    r93115 r95975  
    3232#include <iprt/types.h>
    3333
     34#define PRId8  "RI8"
     35#define PRIi8  "RI8"
     36#define PRIx8  "RX8"
     37#define PRIu8  "RU8"
     38#define PRIo8  huh? anyone using this? great!
     39
     40#define PRId16 "RI16"
     41#define PRIi16 "RI16"
     42#define PRIx16 "RX16"
     43#define PRIu16 "RU16"
     44#define PRIo16 huh? anyone using this? great!
     45
    3446#define PRId32 "RI32"
     47#define PRIi32 "RI32"
    3548#define PRIx32 "RX32"
    3649#define PRIu32 "RU32"
     
    3851
    3952#define PRId64 "RI64"
     53#define PRIi64 "RI64"
    4054#define PRIx64 "RX64"
    4155#define PRIu64 "RU64"
    4256#define PRIo64 huh? anyone using this? great!
    4357
     58#define PRIdMAX "RI64"
     59#define PRIiMAX "RI64"
     60#define PRIxMAX "RX64"
     61#define PRIuMAX "RU64"
     62#define PRIoMAX huh? anyone using this? great!
     63
    4464#endif /* !IPRT_INCLUDED_nocrt_inttypes_h */
    4565
  • trunk/include/iprt/nocrt/limits.h

    r93115 r95975  
    7676# define SIZE_T_MAX     0xffffffffU
    7777# define SSIZE_MAX      0x7fffffff
     78# define INTPTR_MAX     0x7fffffff
     79# define UINTPTR_MAX    0xffffffffU
    7880#elif ARCH_BITS == 64
    7981# define SIZE_T_MAX     UINT64_C(0xffffffffffffffff)
     82# define SIZE_T_MAX     UINT64_C(0xffffffffffffffff)
    8083# define SSIZE_MAX      INT64_C(0x7fffffffffffffff)
     84# define INTPTR_MAX     INT64_C(0x7fffffffffffffff)
     85# define UINTPTR_MAX    UINT64_C(0xffffffffffffffff)
    8186#else
    8287# error "huh?"
    8388#endif
     89#define SIZE_MAX        SIZE_T_MAX
    8490
    8591/*#define OFF_MAX         __OFF_MAX
  • trunk/include/iprt/nocrt/math.h

    r95923 r95975  
    8787#endif
    8888
    89 #if 1 && !defined(_MSC_VER) /* __ISO_C_VISIBLE >= 1999*/ /** @todo Adjust section for MSC */
     89#if 1 /* __ISO_C_VISIBLE >= 1999*/
    9090#define FP_ILOGB0   (-__INT_MAX)
    9191#define FP_ILOGBNAN __INT_MAX
     
    103103#endif /* __MATH_BUILTIN_CONSTANTS */
    104104
     105#ifndef IPRT_NO_CRT
    105106#define MATH_ERRNO  1
     107#endif
    106108#define MATH_ERREXCEPT  2
    107109#define math_errhandling    MATH_ERREXCEPT
  • trunk/include/iprt/nocrt/new

    r95885 r95975  
    8383void *RT_NEW_DELETE_CDECL operator new(RT_NEW_DELETE_SIZE_T cb) RT_NEW_DELETE_THROWS_BAD_ALLOC;
    8484void *RT_NEW_DELETE_CDECL operator new(RT_NEW_DELETE_SIZE_T cb, const std::nothrow_t &) RT_NEW_DELETE_NOTHROW;
     85void *RT_NEW_DELETE_CDECL operator new(RT_NEW_DELETE_SIZE_T cb, void *pvPlacment) RT_NEW_DELETE_NOTHROW;
    8586void RT_NEW_DELETE_CDECL operator delete(void *pv) RT_NEW_DELETE_NOTHROW;
    8687#ifdef __cpp_sized_deallocation
     
    9293void *RT_NEW_DELETE_CDECL operator new[](RT_NEW_DELETE_SIZE_T cb) RT_NEW_DELETE_THROWS_BAD_ALLOC;
    9394void *RT_NEW_DELETE_CDECL operator new[](RT_NEW_DELETE_SIZE_T cb, const std::nothrow_t &) RT_NEW_DELETE_NOTHROW;
     95void *RT_NEW_DELETE_CDECL operator new[](RT_NEW_DELETE_SIZE_T cb, void *pvPlacement) RT_NEW_DELETE_NOTHROW;
    9496void RT_NEW_DELETE_CDECL operator delete[](void * pv) RT_NEW_DELETE_NOTHROW;
    9597#ifdef __cpp_sized_deallocation
  • trunk/include/iprt/nocrt/stddef.h

    r93115 r95975  
    3232#include <iprt/types.h>
    3333
     34#define offsetof(a_Type, a_Member) RT_OFFSETOF(a_Type, a_Member)
     35
    3436#endif /* !IPRT_INCLUDED_nocrt_stddef_h */
  • trunk/include/iprt/nocrt/stdlib.h

    r95818 r95975  
    3030#endif
    3131
    32 #include <iprt/types.h>
     32#include <iprt/assert.h>
     33#include <iprt/env.h>
    3334#include <iprt/mem.h>
     35#include <limits.h>
    3436
    3537RT_C_DECLS_BEGIN
     38
     39#define EXIT_SUCCESS    RTEXITCODE_SUCCESS
     40#define EXIT_FAILURE    RTEXITCODE_FAILURE
     41
    3642
    3743typedef void FNRTNOCRTATEXITCALLBACK(void) /*RT_NOEXCEPT*/;
     
    7480}
    7581
     82DECLINLINE(const char *) RT_NOCRT(getenv)(const char *pszVar)
     83{
     84    return RTEnvGet(pszVar);
     85}
     86
     87void       *RT_NOCRT(bsearch)(const void *pvKey, const void *pvBase, size_t cEntries, size_t cbEntry,
     88                              int (*pfnCompare)(const void *pv1, const void *pv2));
     89void        RT_NOCRT(qsort)(void *pvBase, size_t cEntries, size_t cbEntry,
     90                            int (*pfnCompare)(const void *pv1, const void *pv2));
     91void        RT_NOCRT(qsort_r)(void *pvBase, size_t cEntries, size_t cbEntry,
     92                              int (*pfnCompare)(const void *pv1, const void *pv2, void *pvUser), void *pvUser);
     93
     94/* Map exit & abort onto fatal assert. */
     95DECL_NO_RETURN(DECLINLINE(void)) RT_NOCRT(exit)(int iExitCode) { AssertMsgFailed(("exit: iExitCode=%d\n", iExitCode)); }
     96DECL_NO_RETURN(DECLINLINE(void)) RT_NOCRT(abort)(void) { AssertMsgFailed(("abort\n")); }
     97
     98/*
     99 * Underscored versions:
     100 */
     101DECLINLINE(void *) RT_NOCRT(_malloc)(size_t cb)
     102{
     103    return RTMemAlloc(cb);
     104}
     105
     106DECLINLINE(void *) RT_NOCRT(_calloc)(size_t cItems, size_t cbItem)
     107{
     108    return RTMemAllocZ(cItems * cbItem); /* caller responsible for overflow issues. */
     109}
     110
     111DECLINLINE(void *) RT_NOCRT(_realloc)(void *pvOld, size_t cbNew)
     112{
     113    return RTMemRealloc(pvOld, cbNew);
     114}
     115
     116DECLINLINE(void) RT_NOCRT(_free)(void *pv)
     117{
     118    RTMemFree(pv);
     119}
     120
     121DECLINLINE(const char *) RT_NOCRT(_getenv)(const char *pszVar)
     122{
     123    return RTEnvGet(pszVar);
     124}
     125
     126void       *RT_NOCRT(_bsearch)(const void *pvKey, const void *pvBase, size_t cEntries, size_t cbEntry,
     127                               int (*pfnCompare)(const void *pv1, const void *pv2));
     128void        RT_NOCRT(_qsort)(void *pvBase, size_t cEntries, size_t cbEntry,
     129                             int (*pfnCompare)(const void *pv1, const void *pv2));
     130void        RT_NOCRT(_qsort_r)(void *pvBase, size_t cEntries, size_t cbEntry,
     131                               int (*pfnCompare)(const void *pv1, const void *pv2, void *pvUser), void *pvUser);
     132
     133/* Map exit & abort onto fatal assert. */
     134DECL_NO_RETURN(DECLINLINE(void)) RT_NOCRT(_exit)(int iExitCode) { AssertMsgFailed(("_exit: iExitCode=%d\n", iExitCode)); }
     135DECL_NO_RETURN(DECLINLINE(void)) RT_NOCRT(_abort)(void) { AssertMsgFailed(("_abort\n")); }
     136
     137/* Some windows CRT error control functions we totally ignore (only underscored): */
     138# define _set_error_mode(a_Mode)                    (0)
     139# define _set_abort_behavior(a_fFlags, a_fMask)     (0)
     140
     141/*
     142 * No-CRT aliases.
     143 */
    76144# if !defined(RT_WITHOUT_NOCRT_WRAPPERS) && !defined(RT_WITHOUT_NOCRT_WRAPPER_ALIASES)
    77145#  define malloc    RT_NOCRT(malloc)
     
    79147#  define realloc   RT_NOCRT(realloc)
    80148#  define free      RT_NOCRT(free)
     149#  define getenv    RT_NOCRT(getenv)
     150#  define bsearch   RT_NOCRT(bsearch)
     151#  define exit      RT_NOCRT(exit)
     152#  define abort     RT_NOCRT(abort)
     153
     154#  define _malloc   RT_NOCRT(malloc)
     155#  define _calloc   RT_NOCRT(calloc)
     156#  define _realloc  RT_NOCRT(realloc)
     157#  define _free     RT_NOCRT(free)
     158#  define _getenv   RT_NOCRT(getenv)
     159#  define _bsearch  RT_NOCRT(bsearch)
     160#  define _exit     RT_NOCRT(exit)
     161#  define _abort    RT_NOCRT(abort)
    81162# endif
    82163
  • trunk/include/iprt/nocrt/string.h

    r95799 r95975  
    3434RT_C_DECLS_BEGIN
    3535
    36 void *  RT_NOCRT(memchr)(const void *pv, int ch, size_t cb);
    37 int     RT_NOCRT(memcmp)(const void *pv1, const void *pv2, size_t cb);
    38 void *  RT_NOCRT(memcpy)(void *pvDst, const void *pvSrc, size_t cb);
    39 void *  RT_NOCRT(mempcpy)(void *pvDst, const void *pvSrc, size_t cb);
    40 void *  RT_NOCRT(memrchr)(const void *pv, int ch, size_t cb);
    41 void *  RT_NOCRT(memmove)(void *pvDst, const void *pvSrc, size_t cb);
    42 void *  RT_NOCRT(memset)(void *pvDst, int ch, size_t cb);
    43 
    44 char *  RT_NOCRT(strcat)(char *pszDst, const char *pszSrc);
    45 char *  RT_NOCRT(strncat)(char *pszDst, const char *pszSrc, size_t cch);
    46 char *  RT_NOCRT(strchr)(const char *psz, int ch);
    47 char *  RT_NOCRT(strrchr)(const char *psz, int ch);
    48 int     RT_NOCRT(strcmp)(const char *psz1, const char *psz2);
    49 int     RT_NOCRT(strncmp)(const char *psz1, const char *psz2, size_t cch);
    50 int     RT_NOCRT(stricmp)(const char *psz1, const char *psz2);
    51 int     RT_NOCRT(strnicmp)(const char *psz1, const char *psz2, size_t cch);
    52 char *  RT_NOCRT(strcpy)(char *pszDst, const char *pszSrc);
    53 char *  RT_NOCRT(strncpy)(char *pszDst, const char *pszSrc, size_t cch);
    54 char *  RT_NOCRT(strcat)(char *pszDst, const char *pszSrc);
    55 char *  RT_NOCRT(strncat)(char *pszDst, const char *pszSrc, size_t cch);
    56 size_t  RT_NOCRT(strlen)(const char *psz);
    57 size_t  RT_NOCRT(strnlen)(const char *psz, size_t cch);
    58 size_t  RT_NOCRT(strcspn)(const char *psz, const char *pszBreakChars);
    59 char *  RT_NOCRT(strpbrk)(const char *psz, const char *pszBreakChars);
    60 char *  RT_NOCRT(strstr)(const char *psz, const char *pszSub);
    61 
    62 size_t  RT_NOCRT(wcslen)(const wchar_t *pwsz);
    63 wchar_t *RT_NOCRT(wcscat)(wchar_t *pwszDst, const wchar_t *pwszSrc);
    64 wchar_t *RT_NOCRT(wcschr)(const wchar_t *pwszDst, wchar_t wc);
    65 wchar_t *RT_NOCRT(wcscpy)(wchar_t *pwszDst, const wchar_t *pwszSrc);
    66 int     RT_NOCRT(_wcsicmp)(const wchar_t *pwsz1, const wchar_t *pwsz2);
    67 size_t  RT_NOCRT(wcstombs)(char *pszDst, const wchar_t *pszSrc, size_t cbDst);
     36void       *RT_NOCRT(memchr)(const void *pv, int ch, size_t cb);
     37int         RT_NOCRT(memcmp)(const void *pv1, const void *pv2, size_t cb);
     38void       *RT_NOCRT(memcpy)(void *pvDst, const void *pvSrc, size_t cb);
     39void       *RT_NOCRT(mempcpy)(void *pvDst, const void *pvSrc, size_t cb);
     40void       *RT_NOCRT(memrchr)(const void *pv, int ch, size_t cb);
     41void       *RT_NOCRT(memmove)(void *pvDst, const void *pvSrc, size_t cb);
     42void       *RT_NOCRT(memset)(void *pvDst, int ch, size_t cb);
     43
     44char       *RT_NOCRT(strcat)(char *pszDst, const char *pszSrc);
     45char       *RT_NOCRT(strncat)(char *pszDst, const char *pszSrc, size_t cch);
     46char       *RT_NOCRT(strchr)(const char *psz, int ch);
     47char       *RT_NOCRT(strrchr)(const char *psz, int ch);
     48int         RT_NOCRT(strcmp)(const char *psz1, const char *psz2);
     49int         RT_NOCRT(strncmp)(const char *psz1, const char *psz2, size_t cch);
     50int         RT_NOCRT(stricmp)(const char *psz1, const char *psz2);
     51int         RT_NOCRT(strnicmp)(const char *psz1, const char *psz2, size_t cch);
     52int         RT_NOCRT(strcmpcase)(const char *psz1, const char *psz2, size_t cch);
     53int         RT_NOCRT(strcoll)(const char *psz1, const char *psz2);
     54char       *RT_NOCRT(strcpy)(char *pszDst, const char *pszSrc);
     55char       *RT_NOCRT(strncpy)(char *pszDst, const char *pszSrc, size_t cch);
     56char       *RT_NOCRT(strcat)(char *pszDst, const char *pszSrc);
     57char       *RT_NOCRT(strncat)(char *pszDst, const char *pszSrc, size_t cch);
     58size_t      RT_NOCRT(strlen)(const char *psz);
     59size_t      RT_NOCRT(strnlen)(const char *psz, size_t cch);
     60size_t      RT_NOCRT(strspn)(const char *psz, const char *pszBreakChars);
     61size_t      RT_NOCRT(strcspn)(const char *psz, const char *pszBreakChars);
     62char       *RT_NOCRT(strpbrk)(const char *psz, const char *pszBreakChars);
     63char       *RT_NOCRT(strstr)(const char *psz, const char *pszSub);
     64char       *RT_NOCRT(strtok)(char *psz, const char *pszDelim);
     65char       *RT_NOCRT(strtok_r)(char *psz, const char *pszDelim, char **ppszSave);
     66#if 0 /* C++11:  */
     67char       *RT_NOCRT(strtok_s)(char *psz, /*rsize_t*/ size_t cchMax, const char *pszDelim, char **ppszSave);
     68#else /* Microsoft: */
     69char       *RT_NOCRT(strtok_s)(char *psz, const char *pszDelim, char **ppszSave);
     70#endif
     71size_t      RT_NOCRT(strxfrm)(char *pszDst, const char *pszSrc, size_t cch);
     72long        RT_NOCRT(strtol)(const char *pszDst, char **ppszNext, int iBase);
     73long long   RT_NOCRT(strtoll)(const char *pszDst, char **ppszNext, int iBase);
     74unsigned long RT_NOCRT(strtoul)(const char *pszDst, char **ppszNext, int iBase);
     75unsigned long long RT_NOCRT(strtoull)(const char *pszDst, char **ppszNext, int iBase);
     76
     77size_t      RT_NOCRT(wcslen)(const wchar_t *pwsz);
     78wchar_t    *RT_NOCRT(wcscat)(wchar_t *pwszDst, const wchar_t *pwszSrc);
     79wchar_t    *RT_NOCRT(wcschr)(const wchar_t *pwszDst, wchar_t wc);
     80wchar_t    *RT_NOCRT(wcscpy)(wchar_t *pwszDst, const wchar_t *pwszSrc);
     81int         RT_NOCRT(wcsicmp)(const wchar_t *pwsz1, const wchar_t *pwsz2);
     82size_t      RT_NOCRT(wcstombs)(char *pszDst, const wchar_t *pszSrc, size_t cbDst);
     83
     84
     85/* Underscored versions for MSC compatibility (mesa #defines regular to _regular
     86   a lot, which is why we really need these prototypes). */
     87void       *RT_NOCRT(_memchr)(const void *pv, int ch, size_t cb);
     88int         RT_NOCRT(_memcmp)(const void *pv1, const void *pv2, size_t cb);
     89void       *RT_NOCRT(_memcpy)(void *pvDst, const void *pvSrc, size_t cb);
     90void       *RT_NOCRT(_mempcpy)(void *pvDst, const void *pvSrc, size_t cb);
     91void       *RT_NOCRT(_memrchr)(const void *pv, int ch, size_t cb);
     92void       *RT_NOCRT(_memmove)(void *pvDst, const void *pvSrc, size_t cb);
     93void       *RT_NOCRT(_memset)(void *pvDst, int ch, size_t cb);
     94
     95char       *RT_NOCRT(_strcat)(char *pszDst, const char *pszSrc);
     96char       *RT_NOCRT(_strncat)(char *pszDst, const char *pszSrc, size_t cch);
     97char       *RT_NOCRT(_strchr)(const char *psz, int ch);
     98char       *RT_NOCRT(_strrchr)(const char *psz, int ch);
     99int         RT_NOCRT(_strcmp)(const char *psz1, const char *psz2);
     100int         RT_NOCRT(_strncmp)(const char *psz1, const char *psz2, size_t cch);
     101int         RT_NOCRT(_stricmp)(const char *psz1, const char *psz2);
     102int         RT_NOCRT(_strnicmp)(const char *psz1, const char *psz2, size_t cch);
     103int         RT_NOCRT(_strcmpcase)(const char *psz1, const char *psz2, size_t cch);
     104int         RT_NOCRT(_strcoll)(const char *psz1, const char *psz2);
     105char       *RT_NOCRT(_strcpy)(char *pszDst, const char *pszSrc);
     106char       *RT_NOCRT(_strncpy)(char *pszDst, const char *pszSrc, size_t cch);
     107char       *RT_NOCRT(_strcat)(char *pszDst, const char *pszSrc);
     108char       *RT_NOCRT(_strncat)(char *pszDst, const char *pszSrc, size_t cch);
     109size_t      RT_NOCRT(_strlen)(const char *psz);
     110size_t      RT_NOCRT(_strnlen)(const char *psz, size_t cch);
     111size_t      RT_NOCRT(_strspn)(const char *psz, const char *pszBreakChars);
     112size_t      RT_NOCRT(_strcspn)(const char *psz, const char *pszBreakChars);
     113char       *RT_NOCRT(_strpbrk)(const char *psz, const char *pszBreakChars);
     114char       *RT_NOCRT(_strstr)(const char *psz, const char *pszSub);
     115char       *RT_NOCRT(_strtok)(char *psz, const char *pszDelim);
     116char       *RT_NOCRT(_strtok_r)(char *psz, const char *pszDelim, char **ppszSave);
     117#if 0 /* C++11:  */
     118char       *RT_NOCRT(_strtok_s)(char *psz, /*rsize_t*/ size_t cchMax, const char *pszDelim, char **ppszSave);
     119#else /* Microsoft: */
     120char       *RT_NOCRT(_strtok_s)(char *psz, const char *pszDelim, char **ppszSave);
     121#endif
     122size_t      RT_NOCRT(_strxfrm)(char *pszDst, const char *pszSrc, size_t cch);
     123long        RT_NOCRT(_strtol)(const char *pszDst, char **ppszNext, int iBase);
     124long long   RT_NOCRT(_strtoll)(const char *pszDst, char **ppszNext, int iBase);
     125unsigned long RT_NOCRT(_strtoul)(const char *pszDst, char **ppszNext, int iBase);
     126unsigned long long RT_NOCRT(_strtoull)(const char *pszDst, char **ppszNext, int iBase);
     127
     128size_t      RT_NOCRT(_wcslen)(const wchar_t *pwsz);
     129wchar_t    *RT_NOCRT(_wcscat)(wchar_t *pwszDst, const wchar_t *pwszSrc);
     130wchar_t    *RT_NOCRT(_wcschr)(const wchar_t *pwszDst, wchar_t wc);
     131wchar_t    *RT_NOCRT(_wcscpy)(wchar_t *pwszDst, const wchar_t *pwszSrc);
     132int         RT_NOCRT(_wcsicmp)(const wchar_t *pwsz1, const wchar_t *pwsz2);
     133size_t      RT_NOCRT(_wcstombs)(char *pszDst, const wchar_t *pszSrc, size_t cbDst);
     134
    68135
    69136#if !defined(RT_WITHOUT_NOCRT_WRAPPERS) && !defined(RT_WITHOUT_NOCRT_WRAPPER_ALIASES)
    70 # define memchr   RT_NOCRT(memchr)
    71 # define memcmp   RT_NOCRT(memcmp)
    72 # define memcpy   RT_NOCRT(memcpy)
    73 # define mempcpy  RT_NOCRT(mempcpy)
    74 # define memrchr  RT_NOCRT(memrchr)
    75 # define memmove  RT_NOCRT(memmove)
    76 # define memset   RT_NOCRT(memset)
    77 
    78 # define strcat   RT_NOCRT(strcat)
    79 # define strncat  RT_NOCRT(strncat)
    80 # define strchr   RT_NOCRT(strchr)
    81 # define strrchr  RT_NOCRT(strrchr)
    82 # define strcmp   RT_NOCRT(strcmp)
    83 # define strncmp  RT_NOCRT(strncmp)
    84 # define stricmp  RT_NOCRT(stricmp)
    85 # define strnicmp RT_NOCRT(strnicmp)
    86 # define strcpy   RT_NOCRT(strcpy)
    87 # define strncpy  RT_NOCRT(strncpy)
    88 # define strcat   RT_NOCRT(strcat)
    89 # define strncat  RT_NOCRT(strncat)
    90 # define strlen   RT_NOCRT(strlen)
    91 # define strnlen  RT_NOCRT(strnlen)
    92 # define strcspn  RT_NOCRT(strcspn)
    93 # define strpbrk  RT_NOCRT(strpbrk)
    94 # define strstr   RT_NOCRT(strstr)
    95 
    96 # define wcslen   RT_NOCRT(wcslen)
    97 # define wcscat   RT_NOCRT(wcscat)
    98 # define wcschr   RT_NOCRT(wcschr)
    99 # define wcscpy   RT_NOCRT(wcscpy)
    100 # define _wcsicmp RT_NOCRT(_wcsicmp)
    101 # define wcstombs RT_NOCRT(wcstombs)
    102 #endif
     137# define memchr         RT_NOCRT(memchr)
     138# define memcmp         RT_NOCRT(memcmp)
     139# define memcpy         RT_NOCRT(memcpy)
     140# define mempcpy        RT_NOCRT(mempcpy)
     141# define memrchr        RT_NOCRT(memrchr)
     142# define memmove        RT_NOCRT(memmove)
     143# define memset         RT_NOCRT(memset)
     144
     145# define strcat         RT_NOCRT(strcat)
     146# define strncat        RT_NOCRT(strncat)
     147# define strchr         RT_NOCRT(strchr)
     148# define strrchr        RT_NOCRT(strrchr)
     149# define strcmp         RT_NOCRT(strcmp)
     150# define strncmp        RT_NOCRT(strncmp)
     151# define stricmp        RT_NOCRT(stricmp)
     152# define strnicmp       RT_NOCRT(strnicmp)
     153# define strcmpcase     RT_NOCRT(strcmpcase)
     154# define strcoll        RT_NOCRT(strcoll)
     155# define strcpy         RT_NOCRT(strcpy)
     156# define strncpy        RT_NOCRT(strncpy)
     157# define strcat         RT_NOCRT(strcat)
     158# define strncat        RT_NOCRT(strncat)
     159# define strlen         RT_NOCRT(strlen)
     160# define strnlen        RT_NOCRT(strnlen)
     161# define strspn         RT_NOCRT(strspn)
     162# define strcspn        RT_NOCRT(strcspn)
     163# define strpbrk        RT_NOCRT(strpbrk)
     164# define strstr         RT_NOCRT(strstr)
     165# define strtok         RT_NOCRT(strtok)
     166# define strtok_r       RT_NOCRT(strtok_r)
     167# define strtok_s       RT_NOCRT(strtok_s)
     168# define strxfrm        RT_NOCRT(strxfrm)
     169# define strtol         RT_NOCRT(strtol)
     170# define strtoll        RT_NOCRT(strtoll)
     171# define strtoul        RT_NOCRT(strtoul)
     172# define strtoull       RT_NOCRT(strtoull)
     173
     174# define wcslen         RT_NOCRT(wcslen)
     175# define wcscat         RT_NOCRT(wcscat)
     176# define wcschr         RT_NOCRT(wcschr)
     177# define wcscpy         RT_NOCRT(wcscpy)
     178# define wcsicmp        RT_NOCRT(wcsicmp)
     179# define wcstombs       RT_NOCRT(wcstombs)
     180
     181/* Underscored: */
     182# define _memchr        RT_NOCRT(memchr)
     183# define _memcmp        RT_NOCRT(memcmp)
     184# define _memcpy        RT_NOCRT(memcpy)
     185# define _mempcpy       RT_NOCRT(mempcpy)
     186# define _memrchr       RT_NOCRT(memrchr)
     187# define _memmove       RT_NOCRT(memmove)
     188# define _memset        RT_NOCRT(memset)
     189
     190# define _strcat        RT_NOCRT(strcat)
     191# define _strncat       RT_NOCRT(strncat)
     192# define _strchr        RT_NOCRT(strchr)
     193# define _strrchr       RT_NOCRT(strrchr)
     194# define _strcmp        RT_NOCRT(strcmp)
     195# define _strncmp       RT_NOCRT(strncmp)
     196# define _stricmp       RT_NOCRT(stricmp)
     197# define _strnicmp      RT_NOCRT(strnicmp)
     198# define _strcmpcase    RT_NOCRT(strcmpcase)
     199# define _strcoll       RT_NOCRT(strcoll)
     200# define _strcpy        RT_NOCRT(strcpy)
     201# define _strncpy       RT_NOCRT(strncpy)
     202# define _strcat        RT_NOCRT(strcat)
     203# define _strncat       RT_NOCRT(strncat)
     204# define _strlen        RT_NOCRT(strlen)
     205# define _strnlen       RT_NOCRT(strnlen)
     206# define _strspn        RT_NOCRT(strspn)
     207# define _strcspn       RT_NOCRT(strcspn)
     208# define _strpbrk       RT_NOCRT(strpbrk)
     209# define _strstr        RT_NOCRT(strstr)
     210# define _strtok        RT_NOCRT(strtok)
     211# define _strtok_r      RT_NOCRT(strtok_r)
     212# define _strtok_s      RT_NOCRT(strtok_s)
     213# define _strxfrm       RT_NOCRT(strxfrm)
     214# define _strtol        RT_NOCRT(strtol)
     215# define _strtoll       RT_NOCRT(strtoll)
     216# define _strtoul       RT_NOCRT(strtoul)
     217# define _strtoull      RT_NOCRT(strtoull)
     218
     219# define _wcslen        RT_NOCRT(wcslen)
     220# define _wcscat        RT_NOCRT(wcscat)
     221# define _wcschr        RT_NOCRT(wcschr)
     222# define _wcscpy        RT_NOCRT(wcscpy)
     223# define _wcsicmp       RT_NOCRT(wcsicmp)
     224# define _wcstombs      RT_NOCRT(wcstombs)
     225#endif
     226
     227
     228#ifdef IPRT_NO_CRT_FOR_3RD_PARTY
     229/*
     230 * Only for external libraries and such.
     231 */
     232
     233const char *RT_NOCRT(strerror)(int iErrNo);
     234char       *RT_NOCRT(strdup)(const char *pszSrc);
     235
     236/* Underscored: */
     237const char *RT_NOCRT(_strerror)(int iErrNo);
     238char       *RT_NOCRT(_strdup)(const char *pszSrc);
     239
     240# if !defined(RT_WITHOUT_NOCRT_WRAPPERS) && !defined(RT_WITHOUT_NOCRT_WRAPPER_ALIASES)
     241#  define strerror  RT_NOCRT(strerror)
     242#  define strdup    RT_NOCRT(strdup)
     243
     244/* Underscored: */
     245#  define _strerror RT_NOCRT(strerror)
     246#  define _strdup   RT_NOCRT(strdup)
     247# endif
     248
     249#endif /* IPRT_NO_CRT_FOR_3RD_PARTY */
    103250
    104251RT_C_DECLS_END
  • trunk/include/iprt/nocrt/sys/types.h

    r95801 r95975  
    3232#include <iprt/types.h>
    3333
     34typedef RTDEV   dev_t;
     35typedef RTINODE ino_t;
     36
    3437#endif /* !IPRT_INCLUDED_nocrt_sys_types_h */
    3538
  • trunk/include/iprt/nocrt/time.h

    r95838 r95975  
    3737typedef int64_t time_t;
    3838#endif
     39#ifdef _MSC_VER
     40typedef int64_t __time64_t;
     41#endif
     42
     43struct timespec
     44{
     45    time_t tv_sec;
     46    long   tv_nsec;
     47};
     48
     49struct tm
     50{
     51    int tm_sec, tm_min, tm_hour, tm_mday, tm_mon, tm_year;
     52    int tm_wday, tm_yday, tm_isdst, tm_gmtoff;
     53    const char *tm_zone;
     54};
     55
     56struct tm *RT_NOCRT(localtime_r)(const time_t *, struct tm *);
     57
    3958
    4059#endif /* !IPRT_INCLUDED_nocrt_time_h */
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette