ReactOS 0.4.16-dev-822-gbcedb53
corecrt_internal_mbstring.h File Reference
#include <corecrt_internal.h>
#include <mbctype.h>
#include <mbstring.h>
#include <uchar.h>
Include dependency graph for corecrt_internal_mbstring.h:

Go to the source code of this file.

Namespaces

namespace  __crt_mbstring
 

Macros

#define NUM_ULINFO   6
 
#define _mbbisupper(_c)   ((_mbctype.value()[(_c) + 1] & _SBUP) == _SBUP)
 
#define _mbbislower(_c)   ((_mbctype.value()[(_c) + 1] & _SBLOW) == _SBLOW)
 
#define _mbbtolower(_c)   (_mbbisupper(_c) ? _mbcasemap.value()[_c] : _c)
 
#define _mbbtoupper(_c)   (_mbbislower(_c) ? _mbcasemap.value()[_c] : _c)
 
#define _ismbbtruelead_l(_lb, _ch, p)   (!(_lb) && _ismbblead_l((_ch), p))
 
#define _mbbisupper_l(_c, p)   ((p->mbcinfo->mbctype[(_c) + 1] & _SBUP) == _SBUP)
 
#define _mbbislower_l(_c, p)   ((p->mbcinfo->mbctype[(_c) + 1] & _SBLOW) == _SBLOW)
 
#define _mbbtolower_l(_c, p)   (_mbbisupper_l(_c, p) ? p->mbcinfo->mbcasemap[_c] : _c)
 
#define _mbbtoupper_l(_c, p)   (_mbbislower_l(_c, p) ? p->mbcinfo->mbcasemap[_c] : _c)
 
#define _MBUPPERLOW1_MT(p)   p->mbcinfo->mbulinfo[0]
 
#define _MBUPPERHIGH1_MT(p)   p->mbcinfo->mbulinfo[1]
 
#define _MBCASEDIFF1_MT(p)   p->mbcinfo->mbulinfo[2]
 
#define _MBUPPERLOW2_MT(p)   p->mbcinfo->mbulinfo[3]
 
#define _MBUPPERHIGH2_MT(p)   p->mbcinfo->mbulinfo[4]
 
#define _MBCASEDIFF2_MT(p)   p->mbcinfo->mbulinfo[5]
 
#define _MBHIRALOW   0x829f
 
#define _MBHIRAHIGH   0x82f1
 
#define _MBKATALOW   0x8340
 
#define _MBKATAHIGH   0x8396
 
#define _MBKATAEXCEPT   0x837f
 
#define _MBKIGOULOW   0x8141
 
#define _MBKIGOUHIGH   0x81ac
 
#define _MBKIGOUEXCEPT   0x817f
 
#define _ismbbalnum_l(_c, pt)
 
#define _ismbbalpha_l(_c, pt)
 
#define _ismbbgraph_l(_c, pt)
 
#define _ismbbprint_l(_c, pt)
 
#define _ismbbpunct_l(_c, pt)
 
#define _ismbbblank_l(_c, pt)
 
#define _ismbblead_l(_c, p)   ((p->mbcinfo->mbctype + 1)[_c] & _M1)
 
#define _ismbbtrail_l(_c, p)   ((p->mbcinfo->mbctype + 1)[_c] & _M2)
 

Functions

_Check_return_wat_ errno_t __cdecl _wctomb_internal (_Out_opt_ int *_SizeConverted, _Out_writes_opt_z_(_SizeInBytes) char *_MbCh, _In_ size_t _SizeInBytes, _In_ wchar_t _WCh, _Inout_ __crt_cached_ptd_host &_Ptd)
 
 _Success_ (return !=-1) extern "C" int __cdecl _mbtowc_internal(_Pre_notnull_ _Post_z_ wchar_t *_DstCh
 
 _In_reads_or_z_opt_ (_SrcSizeInBytes) char const *_SrcCh
 
size_t __cdecl __crt_mbstring::__c16rtomb_utf8 (char *s, char16_t c16, mbstate_t *ps, __crt_cached_ptd_host &ptd)
 
size_t __cdecl __crt_mbstring::__c32rtomb_utf8 (char *s, char32_t c32, mbstate_t *ps, __crt_cached_ptd_host &ptd)
 
size_t __cdecl __crt_mbstring::__mbrtoc16_utf8 (char16_t *pc32, const char *s, size_t n, mbstate_t *ps, __crt_cached_ptd_host &ptd)
 
size_t __cdecl __crt_mbstring::__mbrtoc32_utf8 (char32_t *pc32, const char *s, size_t n, mbstate_t *ps, __crt_cached_ptd_host &ptd)
 
size_t __cdecl __crt_mbstring::__mbrtowc_utf8 (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps, __crt_cached_ptd_host &ptd)
 
size_t __cdecl __crt_mbstring::__mbsrtowcs_utf8 (wchar_t *dst, const char **src, size_t len, mbstate_t *ps, __crt_cached_ptd_host &ptd)
 
size_t __cdecl __crt_mbstring::__wcsrtombs_utf8 (char *dst, const wchar_t **src, size_t len, mbstate_t *ps, __crt_cached_ptd_host &ptd)
 
size_t __crt_mbstring::return_illegal_sequence (mbstate_t *ps, __crt_cached_ptd_host &ptd)
 
size_t __crt_mbstring::reset_and_return (size_t retval, mbstate_t *ps)
 

Variables

_In_ size_t _SrcSizeInBytes
 
_In_ size_t _Inout_ __crt_cached_ptd_host & _Ptd
 
constexpr size_t __crt_mbstring::INVALID = static_cast<size_t>(-1)
 
constexpr size_t __crt_mbstring::INCOMPLETE = static_cast<size_t>(-2)
 

Macro Definition Documentation

◆ _ismbbalnum_l

#define _ismbbalnum_l (   _c,
  pt 
)
Value:
((((pt)->locinfo->_public._locale_pctype)[_c] & \
(_ALPHA|_DIGIT)) || \
(((pt)->mbcinfo->mbctype+1)[_c] & _MS))
#define pt(x, y)
Definition: drawing.c:79
#define _ALPHA
Definition: ctype.h:76
#define _DIGIT
Definition: ctype.h:67
#define _MS
Definition: msvcrt.h:815
else locinfo
Definition: scanf.h:159

Definition at line 60 of file corecrt_internal_mbstring.h.

◆ _ismbbalpha_l

#define _ismbbalpha_l (   _c,
  pt 
)
Value:
((((pt)->locinfo->_public._locale_pctype)[_c] & \
(_ALPHA)) || \
(((pt)->mbcinfo->mbctype+1)[_c] & _MS))

Definition at line 63 of file corecrt_internal_mbstring.h.

◆ _ismbbblank_l

#define _ismbbblank_l (   _c,
  pt 
)
Value:
(((_c) == '\t') ? _BLANK : (((pt)->locinfo->_public._locale_pctype)[_c] & _BLANK) || \
(((pt)->mbcinfo->mbctype+1)[_c] & _MP))
#define _BLANK
Definition: ctype.h:72
#define _MP
Definition: msvcrt.h:816

Definition at line 74 of file corecrt_internal_mbstring.h.

◆ _ismbbgraph_l

#define _ismbbgraph_l (   _c,
  pt 
)
Value:
((((pt)->locinfo->_public._locale_pctype)[_c] & \
(((pt)->mbcinfo->mbctype+1)[_c] & (_MS|_MP)))
#define _PUNCT
Definition: ctype.h:70

Definition at line 66 of file corecrt_internal_mbstring.h.

◆ _ismbblead_l

#define _ismbblead_l (   _c,
  p 
)    ((p->mbcinfo->mbctype + 1)[_c] & _M1)

Definition at line 78 of file corecrt_internal_mbstring.h.

◆ _ismbbprint_l

#define _ismbbprint_l (   _c,
  pt 
)
Value:
((((pt)->locinfo->_public._locale_pctype)[_c] & \
(((pt)->mbcinfo->mbctype + 1)[_c] & (_MS|_MP)))

Definition at line 69 of file corecrt_internal_mbstring.h.

◆ _ismbbpunct_l

#define _ismbbpunct_l (   _c,
  pt 
)
Value:
((((pt)->locinfo->_public._locale_pctype)[_c] & _PUNCT) || \
(((pt)->mbcinfo->mbctype+1)[_c] & _MP))

Definition at line 72 of file corecrt_internal_mbstring.h.

◆ _ismbbtrail_l

#define _ismbbtrail_l (   _c,
  p 
)    ((p->mbcinfo->mbctype + 1)[_c] & _M2)

Definition at line 79 of file corecrt_internal_mbstring.h.

◆ _ismbbtruelead_l

#define _ismbbtruelead_l (   _lb,
  _ch,
  p 
)    (!(_lb) && _ismbblead_l((_ch), p))

Definition at line 30 of file corecrt_internal_mbstring.h.

◆ _mbbislower

#define _mbbislower (   _c)    ((_mbctype.value()[(_c) + 1] & _SBLOW) == _SBLOW)

Definition at line 25 of file corecrt_internal_mbstring.h.

◆ _mbbislower_l

#define _mbbislower_l (   _c,
  p 
)    ((p->mbcinfo->mbctype[(_c) + 1] & _SBLOW) == _SBLOW)

Definition at line 32 of file corecrt_internal_mbstring.h.

◆ _mbbisupper

#define _mbbisupper (   _c)    ((_mbctype.value()[(_c) + 1] & _SBUP) == _SBUP)

Definition at line 24 of file corecrt_internal_mbstring.h.

◆ _mbbisupper_l

#define _mbbisupper_l (   _c,
  p 
)    ((p->mbcinfo->mbctype[(_c) + 1] & _SBUP) == _SBUP)

Definition at line 31 of file corecrt_internal_mbstring.h.

◆ _mbbtolower

#define _mbbtolower (   _c)    (_mbbisupper(_c) ? _mbcasemap.value()[_c] : _c)

Definition at line 27 of file corecrt_internal_mbstring.h.

◆ _mbbtolower_l

#define _mbbtolower_l (   _c,
  p 
)    (_mbbisupper_l(_c, p) ? p->mbcinfo->mbcasemap[_c] : _c)

Definition at line 33 of file corecrt_internal_mbstring.h.

◆ _mbbtoupper

#define _mbbtoupper (   _c)    (_mbbislower(_c) ? _mbcasemap.value()[_c] : _c)

Definition at line 28 of file corecrt_internal_mbstring.h.

◆ _mbbtoupper_l

#define _mbbtoupper_l (   _c,
  p 
)    (_mbbislower_l(_c, p) ? p->mbcinfo->mbcasemap[_c] : _c)

Definition at line 34 of file corecrt_internal_mbstring.h.

◆ _MBCASEDIFF1_MT

#define _MBCASEDIFF1_MT (   p)    p->mbcinfo->mbulinfo[2]

Definition at line 40 of file corecrt_internal_mbstring.h.

◆ _MBCASEDIFF2_MT

#define _MBCASEDIFF2_MT (   p)    p->mbcinfo->mbulinfo[5]

Definition at line 44 of file corecrt_internal_mbstring.h.

◆ _MBHIRAHIGH

#define _MBHIRAHIGH   0x82f1

Definition at line 48 of file corecrt_internal_mbstring.h.

◆ _MBHIRALOW

#define _MBHIRALOW   0x829f

Definition at line 47 of file corecrt_internal_mbstring.h.

◆ _MBKATAEXCEPT

#define _MBKATAEXCEPT   0x837f

Definition at line 52 of file corecrt_internal_mbstring.h.

◆ _MBKATAHIGH

#define _MBKATAHIGH   0x8396

Definition at line 51 of file corecrt_internal_mbstring.h.

◆ _MBKATALOW

#define _MBKATALOW   0x8340

Definition at line 50 of file corecrt_internal_mbstring.h.

◆ _MBKIGOUEXCEPT

#define _MBKIGOUEXCEPT   0x817f

Definition at line 56 of file corecrt_internal_mbstring.h.

◆ _MBKIGOUHIGH

#define _MBKIGOUHIGH   0x81ac

Definition at line 55 of file corecrt_internal_mbstring.h.

◆ _MBKIGOULOW

#define _MBKIGOULOW   0x8141

Definition at line 54 of file corecrt_internal_mbstring.h.

◆ _MBUPPERHIGH1_MT

#define _MBUPPERHIGH1_MT (   p)    p->mbcinfo->mbulinfo[1]

Definition at line 39 of file corecrt_internal_mbstring.h.

◆ _MBUPPERHIGH2_MT

#define _MBUPPERHIGH2_MT (   p)    p->mbcinfo->mbulinfo[4]

Definition at line 43 of file corecrt_internal_mbstring.h.

◆ _MBUPPERLOW1_MT

#define _MBUPPERLOW1_MT (   p)    p->mbcinfo->mbulinfo[0]

Definition at line 38 of file corecrt_internal_mbstring.h.

◆ _MBUPPERLOW2_MT

#define _MBUPPERLOW2_MT (   p)    p->mbcinfo->mbulinfo[3]

Definition at line 42 of file corecrt_internal_mbstring.h.

◆ NUM_ULINFO

#define NUM_ULINFO   6

Definition at line 21 of file corecrt_internal_mbstring.h.

Function Documentation

◆ _In_reads_or_z_opt_()

_In_reads_or_z_opt_ ( _SrcSizeInBytes  ) const

◆ _Success_()

_Success_ ( return = -1)

Definition at line 1028 of file fsctrl.c.

3189{
3191
3192 PVPB Vpb = Vcb->Vpb;
3193 PVPB OldVpb;
3194
3195 BOOLEAN Remount = FALSE;
3196
3197 PAGED_CODE();
3198
3199 UNREFERENCED_PARAMETER( IrpContext );
3200
3201 //
3202 // Check whether we are looking for a device only Mvcb.
3203 //
3204
3205 for (Link = CdData.VcbQueue.Flink;
3206 Link != &CdData.VcbQueue;
3207 Link = Link->Flink) {
3208
3209 *OldVcb = CONTAINING_RECORD( Link, VCB, VcbLinks );
3210
3211 //
3212 // Skip ourselves.
3213 //
3214
3215 if (Vcb == *OldVcb) { continue; }
3216
3217 //
3218 // Look at the Vpb and state of the previous Vcb.
3219 //
3220
3221 OldVpb = (*OldVcb)->Vpb;
3222
3223 if ((OldVpb != Vpb) &&
3224 (OldVpb->RealDevice == Vpb->RealDevice) &&
3225 ((*OldVcb)->VcbCondition == VcbNotMounted)) {
3226
3227 //
3228 // If the current disk is a raw disk then it can match a previous music or
3229 // raw disk.
3230 //
3231
3232 if (FlagOn( Vcb->VcbState, VCB_STATE_AUDIO_DISK)) {
3233
3234 if (FlagOn( (*OldVcb)->VcbState, VCB_STATE_AUDIO_DISK )) {
3235
3236 //
3237 // If we have both TOC then fail the remount if the lengths
3238 // are different or they don't match.
3239 //
3240
3241 if ((Vcb->TocLength != (*OldVcb)->TocLength) ||
3242 ((Vcb->TocLength != 0) &&
3243 !RtlEqualMemory( Vcb->CdromToc,
3244 (*OldVcb)->CdromToc,
3245 Vcb->TocLength ))) {
3246
3247 continue;
3248 }
3249
3250 Remount = TRUE;
3251 break;
3252 }
3253
3254 //
3255 // The current disk is not a raw disk. Go ahead and compare
3256 // serial numbers, volume label and TOC.
3257 //
3258
3259 }
3260 else if ((OldVpb->SerialNumber == Vpb->SerialNumber) &&
3261 (Vcb->TocLength == (*OldVcb)->TocLength) &&
3262 ((Vcb->TocLength == 0) || RtlEqualMemory( Vcb->CdromToc,
3263 (*OldVcb)->CdromToc,
3264 Vcb->TocLength )) &&
3265 (Vpb->VolumeLabelLength == OldVpb->VolumeLabelLength) &&
3266 (RtlEqualMemory( OldVpb->VolumeLabel,
3267 Vpb->VolumeLabel,
3268 Vpb->VolumeLabelLength ))) {
3269 //
3270 // Remember the old Vcb. Then set the return value to
3271 // TRUE and break.
3272 //
3273
3274 Remount = TRUE;
3275 break;
3276 }
3277 }
3278 }
3279
3280 return Remount;
3281}
#define PAGED_CODE()
unsigned char BOOLEAN
CD_DATA CdData
Definition: cddata.c:42
#define VCB_STATE_AUDIO_DISK
Definition: cdstruc.h:712
@ VcbNotMounted
Definition: cdstruc.h:490
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define FlagOn(_F, _SF)
Definition: ext2fs.h:179
IN OUT PVCB IN PDEVICE_OBJECT IN PVPB Vpb
Definition: fatprocs.h:1676
#define RtlEqualMemory(dst, src, len)
Definition: kdvm.h:18
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:325
#define Vcb
Definition: cdprocs.h:1415
LIST_ENTRY VcbQueue
Definition: cdstruc.h:334
Definition: typedefs.h:120
struct _LIST_ENTRY * Flink
Definition: typedefs.h:121
Definition: cdstruc.h:498
Definition: iotypes.h:189
WCHAR VolumeLabel[MAXIMUM_VOLUME_LABEL_LENGTH/sizeof(WCHAR)]
Definition: iotypes.h:198
USHORT VolumeLabelLength
Definition: iotypes.h:193
ULONG SerialNumber
Definition: iotypes.h:196
struct _DEVICE_OBJECT * RealDevice
Definition: iotypes.h:195
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260
static int Link(const char **args)
Definition: vfdcmd.c:2414

◆ _wctomb_internal()

_Check_return_wat_ errno_t __cdecl _wctomb_internal ( _Out_opt_ int _SizeConverted,
_Out_writes_opt_z_(_SizeInBytes) char _MbCh,
_In_ size_t  _SizeInBytes,
_In_ wchar_t  _WCh,
_Inout_ __crt_cached_ptd_host &  _Ptd 
)

Variable Documentation

◆ _Ptd

_In_ size_t _Inout_ __crt_cached_ptd_host& _Ptd

Definition at line 131 of file corecrt_internal_mbstring.h.

◆ _SrcSizeInBytes

_In_ size_t _SrcSizeInBytes

Definition at line 130 of file corecrt_internal_mbstring.h.