xmlsrv_plat/cxml_library_api/inc/nw_string_char.h
author hgs
Mon, 13 Sep 2010 13:16:40 +0530
changeset 34 c7e9f1c97567
parent 24 74f0b3eb154c
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
24
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description: 
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
/** ----------------------------------------------------------------------- **
hgs
parents:
diff changeset
    21
    @package:     NW_String
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
    @synopsis:    default
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
    @description: default
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
 ** ----------------------------------------------------------------------- **/
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
#ifndef NW_STRING_CHARACTER_H
hgs
parents:
diff changeset
    30
#define NW_STRING_CHARACTER_H
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
#include <xml/cxml/cxml_proj.h>
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
#ifdef __cplusplus
hgs
parents:
diff changeset
    35
extern "C" {
hgs
parents:
diff changeset
    36
#endif /* __cplusplus */
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
#define HTTP_iso_10646_ucs_2        0x03E8
hgs
parents:
diff changeset
    39
#define HTTP_iso_8859_1             0x04
hgs
parents:
diff changeset
    40
#define HTTP_us_ascii               0x03
hgs
parents:
diff changeset
    41
#define HTTP_utf_8                  0x6A
hgs
parents:
diff changeset
    42
#define HTTP_utf_16                 1015
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
hgs
parents:
diff changeset
    45
/** ----------------------------------------------------------------------- **
hgs
parents:
diff changeset
    46
    @struct:       NW_String_UCS2Buff
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
    @synopsis:    A ucs2 character as stored in a ucs2 string.
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
    @scope:       public
hgs
parents:
diff changeset
    51
    @variables:
hgs
parents:
diff changeset
    52
       NW_Byte bytes[2]
hgs
parents:
diff changeset
    53
                  default
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
    @description: A ucs2 character as stored in a ucs2 string. This is 
hgs
parents:
diff changeset
    56
                  different from a NW_Ucs2 which is a 16 bit unsigned 
hgs
parents:
diff changeset
    57
                  quantity stored in the platform's native integer 
hgs
parents:
diff changeset
    58
                  representation.  NW_UCS2Buff_t stores bytes in 
hgs
parents:
diff changeset
    59
                  native-endian format.
hgs
parents:
diff changeset
    60
hgs
parents:
diff changeset
    61
 ** ----------------------------------------------------------------------- **/
hgs
parents:
diff changeset
    62
typedef struct NW_String_UCS2Buff_s {
hgs
parents:
diff changeset
    63
  NW_Byte bytes[2];
hgs
parents:
diff changeset
    64
} NW_String_UCS2Buff_t;
hgs
parents:
diff changeset
    65
hgs
parents:
diff changeset
    66
hgs
parents:
diff changeset
    67
/** ----------------------------------------------------------------------- **
hgs
parents:
diff changeset
    68
    @function:    NW_String_charsetValid
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
    @synopsis:    Checks if charset is valid.
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
    @scope:       public
hgs
parents:
diff changeset
    73
hgs
parents:
diff changeset
    74
    @parameters:
hgs
parents:
diff changeset
    75
       [in] NW_Uint32 encoding
hgs
parents:
diff changeset
    76
                  default
hgs
parents:
diff changeset
    77
hgs
parents:
diff changeset
    78
    @description: Checks if charset is valid.
hgs
parents:
diff changeset
    79
hgs
parents:
diff changeset
    80
    @returns:     NW_Status_t
hgs
parents:
diff changeset
    81
                  Status of operation.
hgs
parents:
diff changeset
    82
hgs
parents:
diff changeset
    83
       [NW_STAT_SUCCESS]
hgs
parents:
diff changeset
    84
                  Valid charset.
hgs
parents:
diff changeset
    85
hgs
parents:
diff changeset
    86
       [NW_STAT_WBXML_ERROR_CHARSET_UNSUPPORTED]
hgs
parents:
diff changeset
    87
                  Invalid charset.
hgs
parents:
diff changeset
    88
hgs
parents:
diff changeset
    89
 ** ----------------------------------------------------------------------- **/
hgs
parents:
diff changeset
    90
NW_Status_t 
hgs
parents:
diff changeset
    91
NW_String_charsetValid (NW_Uint32 encoding);
hgs
parents:
diff changeset
    92
hgs
parents:
diff changeset
    93
hgs
parents:
diff changeset
    94
/** ----------------------------------------------------------------------- **
hgs
parents:
diff changeset
    95
    @function:    NW_String_valid
hgs
parents:
diff changeset
    96
hgs
parents:
diff changeset
    97
    @synopsis:    Validate string storage.
hgs
parents:
diff changeset
    98
hgs
parents:
diff changeset
    99
    @scope:       public
hgs
parents:
diff changeset
   100
hgs
parents:
diff changeset
   101
    @parameters:
hgs
parents:
diff changeset
   102
       [in] NW_Byte* storage
hgs
parents:
diff changeset
   103
                  The storage.
hgs
parents:
diff changeset
   104
hgs
parents:
diff changeset
   105
       [in] NW_Uint32 length
hgs
parents:
diff changeset
   106
                  The length.
hgs
parents:
diff changeset
   107
hgs
parents:
diff changeset
   108
       [in] NW_Uint32 encoding
hgs
parents:
diff changeset
   109
                  The encoding.
hgs
parents:
diff changeset
   110
hgs
parents:
diff changeset
   111
    @description: Validate string storage.
hgs
parents:
diff changeset
   112
hgs
parents:
diff changeset
   113
    @returns:     NW_Int32
hgs
parents:
diff changeset
   114
                  1 if storage is specified encoding, otherwise 0.
hgs
parents:
diff changeset
   115
hgs
parents:
diff changeset
   116
 ** ----------------------------------------------------------------------- **/
hgs
parents:
diff changeset
   117
NW_Int32 
hgs
parents:
diff changeset
   118
NW_String_valid(NW_Byte* storage, NW_Uint32 length, NW_Uint32 encoding);
hgs
parents:
diff changeset
   119
hgs
parents:
diff changeset
   120
hgs
parents:
diff changeset
   121
/** ----------------------------------------------------------------------- **
hgs
parents:
diff changeset
   122
    @function:    NW_String_writeUTF8Char
hgs
parents:
diff changeset
   123
hgs
parents:
diff changeset
   124
    @synopsis:    Write chars to storage in UTF8 format.
hgs
parents:
diff changeset
   125
hgs
parents:
diff changeset
   126
    @scope:       public
hgs
parents:
diff changeset
   127
hgs
parents:
diff changeset
   128
    @parameters:
hgs
parents:
diff changeset
   129
       [in] NW_Ucs2 c
hgs
parents:
diff changeset
   130
                  Character to write.
hgs
parents:
diff changeset
   131
hgs
parents:
diff changeset
   132
       [in-out] NW_Byte* buff
hgs
parents:
diff changeset
   133
                  Buffer to write into.default
hgs
parents:
diff changeset
   134
hgs
parents:
diff changeset
   135
    @description: Write a NW_Ucs2 into a buffer as UTF8. Returns number of 
hgs
parents:
diff changeset
   136
                  bytes written.
hgs
parents:
diff changeset
   137
hgs
parents:
diff changeset
   138
    @returns:     NW_Uint32
hgs
parents:
diff changeset
   139
                  Number of bytes written.
hgs
parents:
diff changeset
   140
hgs
parents:
diff changeset
   141
 ** ----------------------------------------------------------------------- **/
hgs
parents:
diff changeset
   142
NW_Uint32 
hgs
parents:
diff changeset
   143
NW_String_writeUTF8Char (NW_Ucs2 c, NW_Byte* buff);
hgs
parents:
diff changeset
   144
hgs
parents:
diff changeset
   145
hgs
parents:
diff changeset
   146
/** ----------------------------------------------------------------------- **
hgs
parents:
diff changeset
   147
    @function:    NW_String_readChar
hgs
parents:
diff changeset
   148
hgs
parents:
diff changeset
   149
    @synopsis:    Read chars from storage.
hgs
parents:
diff changeset
   150
hgs
parents:
diff changeset
   151
    @scope:       public
hgs
parents:
diff changeset
   152
hgs
parents:
diff changeset
   153
    @parameters:
hgs
parents:
diff changeset
   154
       [in] NW_Byte* buff
hgs
parents:
diff changeset
   155
                  default
hgs
parents:
diff changeset
   156
hgs
parents:
diff changeset
   157
       [out] NW_Ucs2* c
hgs
parents:
diff changeset
   158
                  default
hgs
parents:
diff changeset
   159
hgs
parents:
diff changeset
   160
       [in] NW_Uint32 encoding
hgs
parents:
diff changeset
   161
                  default
hgs
parents:
diff changeset
   162
hgs
parents:
diff changeset
   163
    @description: Read one character of some encoding, returning the
hgs
parents:
diff changeset
   164
                  NW_Ucs2 equivalent and the count of raw bytes read.
hgs
parents:
diff changeset
   165
hgs
parents:
diff changeset
   166
    @returns:     NW_Int32
hgs
parents:
diff changeset
   167
                  Number of characters read or -1 if invalid encoding.
hgs
parents:
diff changeset
   168
hgs
parents:
diff changeset
   169
 ** ----------------------------------------------------------------------- **/
hgs
parents:
diff changeset
   170
IMPORT_C NW_Int32 
hgs
parents:
diff changeset
   171
NW_String_readChar (NW_Byte* buff, NW_Ucs2* c, NW_Uint32 encoding);
hgs
parents:
diff changeset
   172
hgs
parents:
diff changeset
   173
hgs
parents:
diff changeset
   174
/** ----------------------------------------------------------------------- **
hgs
parents:
diff changeset
   175
    @function:    NW_String_charBuffGetLength
hgs
parents:
diff changeset
   176
hgs
parents:
diff changeset
   177
    @synopsis:    String length of input character buffer.
hgs
parents:
diff changeset
   178
hgs
parents:
diff changeset
   179
    @scope:       public
hgs
parents:
diff changeset
   180
hgs
parents:
diff changeset
   181
    @parameters:
hgs
parents:
diff changeset
   182
       [in] void* buffer
hgs
parents:
diff changeset
   183
                  default
hgs
parents:
diff changeset
   184
hgs
parents:
diff changeset
   185
       [in] NW_Uint32 encoding
hgs
parents:
diff changeset
   186
                  default
hgs
parents:
diff changeset
   187
hgs
parents:
diff changeset
   188
       [out] NW_Uint32* byte_count
hgs
parents:
diff changeset
   189
                  default
hgs
parents:
diff changeset
   190
hgs
parents:
diff changeset
   191
    @description: Get the length of a character string in some
hgs
parents:
diff changeset
   192
                  encoding. Returns the number of characters (less the
hgs
parents:
diff changeset
   193
                  terminating char). The out param byte_count returns
hgs
parents:
diff changeset
   194
                  the number of bytes of storage scanned (including the
hgs
parents:
diff changeset
   195
                  terminating char).  Note that there is NO validity
hgs
parents:
diff changeset
   196
                  check here. This should be done first if needed.
hgs
parents:
diff changeset
   197
hgs
parents:
diff changeset
   198
    @returns:     NW_Int32
hgs
parents:
diff changeset
   199
                  Returns number of characters read.
hgs
parents:
diff changeset
   200
hgs
parents:
diff changeset
   201
 ** ----------------------------------------------------------------------- **/
hgs
parents:
diff changeset
   202
IMPORT_C NW_Int32 
hgs
parents:
diff changeset
   203
NW_String_charBuffGetLength (void* buffer, NW_Uint32 encoding, NW_Uint32* byte_count);
hgs
parents:
diff changeset
   204
hgs
parents:
diff changeset
   205
hgs
parents:
diff changeset
   206
/* ----------------------------------------------------------------------- **
hgs
parents:
diff changeset
   207
   Conversions
hgs
parents:
diff changeset
   208
** ----------------------------------------------------------------------- **/
hgs
parents:
diff changeset
   209
hgs
parents:
diff changeset
   210
hgs
parents:
diff changeset
   211
/** ----------------------------------------------------------------------- **
hgs
parents:
diff changeset
   212
    @function:    NW_String_charToUCS2Buff
hgs
parents:
diff changeset
   213
hgs
parents:
diff changeset
   214
    @synopsis:    Convert to UCS2 buffer.
hgs
parents:
diff changeset
   215
hgs
parents:
diff changeset
   216
    @scope:       public
hgs
parents:
diff changeset
   217
hgs
parents:
diff changeset
   218
    @parameters:
hgs
parents:
diff changeset
   219
       [in] NW_Byte* s
hgs
parents:
diff changeset
   220
                  Characters to convert.
hgs
parents:
diff changeset
   221
hgs
parents:
diff changeset
   222
       [in] NW_Uint32 encoding
hgs
parents:
diff changeset
   223
                  Initial encoding.
hgs
parents:
diff changeset
   224
hgs
parents:
diff changeset
   225
    @description: Conversions among character strings of various types
hgs
parents:
diff changeset
   226
                  and ucs2.  These functions assume that the length in
hgs
parents:
diff changeset
   227
                  characters of the input buffer has been
hgs
parents:
diff changeset
   228
                  pre-calculated, so that this operation doesn't have to
hgs
parents:
diff changeset
   229
                  be performed for every conversion. This works well for
hgs
parents:
diff changeset
   230
                  String_t which store the character count.
hgs
parents:
diff changeset
   231
hgs
parents:
diff changeset
   232
    @returns:     NW_String_UCS2Buff_t*
hgs
parents:
diff changeset
   233
                  New UCS2 buffer or NULL if failed.
hgs
parents:
diff changeset
   234
hgs
parents:
diff changeset
   235
 ** ----------------------------------------------------------------------- **/
hgs
parents:
diff changeset
   236
NW_String_UCS2Buff_t*
hgs
parents:
diff changeset
   237
NW_String_charToUCS2Buff (NW_Byte* s, NW_Uint32 encoding);
hgs
parents:
diff changeset
   238
hgs
parents:
diff changeset
   239
hgs
parents:
diff changeset
   240
/** ----------------------------------------------------------------------- **
hgs
parents:
diff changeset
   241
    @function:    NW_String_UTF8ToUCS2Buff
hgs
parents:
diff changeset
   242
hgs
parents:
diff changeset
   243
    @synopsis:    Convert UTF8 to UCS2 buffer.
hgs
parents:
diff changeset
   244
hgs
parents:
diff changeset
   245
    @scope:       public
hgs
parents:
diff changeset
   246
hgs
parents:
diff changeset
   247
    @parameters:
hgs
parents:
diff changeset
   248
       [in] NW_Byte* s
hgs
parents:
diff changeset
   249
                  Characters to convert.
hgs
parents:
diff changeset
   250
hgs
parents:
diff changeset
   251
    @description: Convert UTF8 to UCS2 buffer.
hgs
parents:
diff changeset
   252
hgs
parents:
diff changeset
   253
    @returns:     NW_String_UCS2Buff_t*
hgs
parents:
diff changeset
   254
                  Converted buffer or NULL if failed.
hgs
parents:
diff changeset
   255
hgs
parents:
diff changeset
   256
 ** ----------------------------------------------------------------------- **/
hgs
parents:
diff changeset
   257
NW_String_UCS2Buff_t*
hgs
parents:
diff changeset
   258
NW_String_UTF8ToUCS2Buff (NW_Byte* s);
hgs
parents:
diff changeset
   259
hgs
parents:
diff changeset
   260
hgs
parents:
diff changeset
   261
/** ----------------------------------------------------------------------- **
hgs
parents:
diff changeset
   262
    @function:    NW_String_ISO88591ToUCS2Buff
hgs
parents:
diff changeset
   263
hgs
parents:
diff changeset
   264
    @synopsis:    Convert ISO88591 to UCS2 buffer.
hgs
parents:
diff changeset
   265
hgs
parents:
diff changeset
   266
    @scope:       public
hgs
parents:
diff changeset
   267
hgs
parents:
diff changeset
   268
    @parameters:
hgs
parents:
diff changeset
   269
       [in] NW_Byte* s
hgs
parents:
diff changeset
   270
                  Characters to convert.
hgs
parents:
diff changeset
   271
hgs
parents:
diff changeset
   272
    @description: Convert ISO88591 to UCS2 buffer.
hgs
parents:
diff changeset
   273
hgs
parents:
diff changeset
   274
    @returns:     NW_String_UCS2Buff_t*
hgs
parents:
diff changeset
   275
                  Converted buffer or NULL if failed.
hgs
parents:
diff changeset
   276
hgs
parents:
diff changeset
   277
 ** ----------------------------------------------------------------------- **/
hgs
parents:
diff changeset
   278
NW_String_UCS2Buff_t*
hgs
parents:
diff changeset
   279
NW_String_ISO88591ToUCS2Buff (NW_Byte* s);
hgs
parents:
diff changeset
   280
hgs
parents:
diff changeset
   281
hgs
parents:
diff changeset
   282
/** ----------------------------------------------------------------------- **
hgs
parents:
diff changeset
   283
    @function:    NW_String_UCS2ToUTF8
hgs
parents:
diff changeset
   284
hgs
parents:
diff changeset
   285
    @synopsis:    Convert UCS2 to UTF8.
hgs
parents:
diff changeset
   286
hgs
parents:
diff changeset
   287
    @scope:       public
hgs
parents:
diff changeset
   288
hgs
parents:
diff changeset
   289
    @parameters:
hgs
parents:
diff changeset
   290
       [in] NW_String_UCS2Buff_t* s
hgs
parents:
diff changeset
   291
                  Characters to convert.
hgs
parents:
diff changeset
   292
hgs
parents:
diff changeset
   293
       [in] NW_Uint32 length
hgs
parents:
diff changeset
   294
                  Number of characters.
hgs
parents:
diff changeset
   295
hgs
parents:
diff changeset
   296
    @description: Convert UCS2 to UTF8.
hgs
parents:
diff changeset
   297
hgs
parents:
diff changeset
   298
    @returns:     NW_Byte*
hgs
parents:
diff changeset
   299
                  Converted buffer or NULL if failed.
hgs
parents:
diff changeset
   300
hgs
parents:
diff changeset
   301
 ** ----------------------------------------------------------------------- **/
hgs
parents:
diff changeset
   302
NW_Byte*
hgs
parents:
diff changeset
   303
NW_String_UCS2ToUTF8 (NW_String_UCS2Buff_t* s, NW_Uint32 length);
hgs
parents:
diff changeset
   304
hgs
parents:
diff changeset
   305
hgs
parents:
diff changeset
   306
/** ----------------------------------------------------------------------- **
hgs
parents:
diff changeset
   307
    @function:    NW_String_UCS2ToISO88591
hgs
parents:
diff changeset
   308
hgs
parents:
diff changeset
   309
    @synopsis:    Convert UCS2 to ISO88591.
hgs
parents:
diff changeset
   310
hgs
parents:
diff changeset
   311
    @scope:       public
hgs
parents:
diff changeset
   312
hgs
parents:
diff changeset
   313
    @parameters:
hgs
parents:
diff changeset
   314
       [in] NW_String_UCS2Buff_t* s
hgs
parents:
diff changeset
   315
                  Characters to convert.
hgs
parents:
diff changeset
   316
hgs
parents:
diff changeset
   317
       [in] NW_Uint32 length
hgs
parents:
diff changeset
   318
                  Number of characters.
hgs
parents:
diff changeset
   319
hgs
parents:
diff changeset
   320
    @description: Convert UCS2 to ISO88591.
hgs
parents:
diff changeset
   321
hgs
parents:
diff changeset
   322
    @returns:     NW_Byte*
hgs
parents:
diff changeset
   323
                  Converted buffer or NULL if failed.
hgs
parents:
diff changeset
   324
hgs
parents:
diff changeset
   325
 ** ----------------------------------------------------------------------- **/
hgs
parents:
diff changeset
   326
NW_Byte*
hgs
parents:
diff changeset
   327
NW_String_UCS2ToISO88591 (NW_String_UCS2Buff_t* s, NW_Uint32 length);
hgs
parents:
diff changeset
   328
hgs
parents:
diff changeset
   329
hgs
parents:
diff changeset
   330
/** ----------------------------------------------------------------------- **
hgs
parents:
diff changeset
   331
    @function:    NW_String_UCS2BuffCmp
hgs
parents:
diff changeset
   332
hgs
parents:
diff changeset
   333
    @synopsis:    Ordered comparison of ucs2 strings.
hgs
parents:
diff changeset
   334
hgs
parents:
diff changeset
   335
    @scope:       public
hgs
parents:
diff changeset
   336
hgs
parents:
diff changeset
   337
    @parameters:
hgs
parents:
diff changeset
   338
       [in] NW_String_UCS2Buff_t* s1
hgs
parents:
diff changeset
   339
                  The character buffer.
hgs
parents:
diff changeset
   340
hgs
parents:
diff changeset
   341
       [in] NW_String_UCS2Buff_t* s2
hgs
parents:
diff changeset
   342
                  The other character buffer.
hgs
parents:
diff changeset
   343
hgs
parents:
diff changeset
   344
       [in] NW_Bool matchCase
hgs
parents:
diff changeset
   345
                  If NW_TRUE then case sensitive comparison.
hgs
parents:
diff changeset
   346
hgs
parents:
diff changeset
   347
    @description: Ordered comparison of ucs2 strings.
hgs
parents:
diff changeset
   348
hgs
parents:
diff changeset
   349
    @returns:     NW_Int32
hgs
parents:
diff changeset
   350
                  Return 0 if equal, -1 if s1 comes before s2 otherwise 1.
hgs
parents:
diff changeset
   351
hgs
parents:
diff changeset
   352
 ** ----------------------------------------------------------------------- **/
hgs
parents:
diff changeset
   353
NW_Int32
hgs
parents:
diff changeset
   354
NW_String_UCS2BuffCmp (NW_String_UCS2Buff_t* s1, 
hgs
parents:
diff changeset
   355
                       NW_String_UCS2Buff_t* s2,
hgs
parents:
diff changeset
   356
                       NW_Bool matchCase);
hgs
parents:
diff changeset
   357
hgs
parents:
diff changeset
   358
hgs
parents:
diff changeset
   359
/** ----------------------------------------------------------------------- **
hgs
parents:
diff changeset
   360
    @function:    NW_String_CmpToNativeAlignedUCS2
hgs
parents:
diff changeset
   361
hgs
parents:
diff changeset
   362
    @synopsis:    Compare to native aligned UCS2.
hgs
parents:
diff changeset
   363
hgs
parents:
diff changeset
   364
    @scope:       public
hgs
parents:
diff changeset
   365
hgs
parents:
diff changeset
   366
    @parameters:
hgs
parents:
diff changeset
   367
       [in] NW_Uint32 encoding
hgs
parents:
diff changeset
   368
                  The encoding.
hgs
parents:
diff changeset
   369
hgs
parents:
diff changeset
   370
       [in] NW_Uint32 charCount
hgs
parents:
diff changeset
   371
                  The charcount.
hgs
parents:
diff changeset
   372
hgs
parents:
diff changeset
   373
       [in] NW_Uint8* s1
hgs
parents:
diff changeset
   374
                  The character buffer.
hgs
parents:
diff changeset
   375
hgs
parents:
diff changeset
   376
       [in] NW_Uint16* s2
hgs
parents:
diff changeset
   377
                  The other character buffer.
hgs
parents:
diff changeset
   378
hgs
parents:
diff changeset
   379
       [out] NW_Int32* r
hgs
parents:
diff changeset
   380
                  Result of comparison.
hgs
parents:
diff changeset
   381
hgs
parents:
diff changeset
   382
    @description: Compare to native aligned UCS2. Assumes s2 is null 
hgs
parents:
diff changeset
   383
                  terminated, native byte order and aligned for 
hgs
parents:
diff changeset
   384
                  16-bit access.
hgs
parents:
diff changeset
   385
hgs
parents:
diff changeset
   386
    @returns:     NW_Status_t
hgs
parents:
diff changeset
   387
                  Status of operation.
hgs
parents:
diff changeset
   388
hgs
parents:
diff changeset
   389
       [NW_STAT_SUCCESS]
hgs
parents:
diff changeset
   390
                  Valid string.
hgs
parents:
diff changeset
   391
hgs
parents:
diff changeset
   392
       [NW_STAT_FAILURE]
hgs
parents:
diff changeset
   393
                  Invalid string.
hgs
parents:
diff changeset
   394
hgs
parents:
diff changeset
   395
 ** ----------------------------------------------------------------------- **/
hgs
parents:
diff changeset
   396
NW_Status_t
hgs
parents:
diff changeset
   397
NW_String_CmpToNativeAlignedUCS2 (NW_Uint32 encoding, NW_Uint32 charCount,
hgs
parents:
diff changeset
   398
                                  NW_Uint8* s1, NW_Uint16* s2,
hgs
parents:
diff changeset
   399
                                  NW_Int32* r);
hgs
parents:
diff changeset
   400
hgs
parents:
diff changeset
   401
#ifdef __cplusplus
hgs
parents:
diff changeset
   402
} /* extern "C" { */
hgs
parents:
diff changeset
   403
#endif /* __cplusplus */
hgs
parents:
diff changeset
   404
hgs
parents:
diff changeset
   405
#endif  /* NW_STRING_CHARACTER_H */