ICU 50.1.2  50.1.2
usprep.h
Go to the documentation of this file.
1 /*
2  *******************************************************************************
3  *
4  * Copyright (C) 2003-2010, International Business Machines
5  * Corporation and others. All Rights Reserved.
6  *
7  *******************************************************************************
8  * file name: usprep.h
9  * encoding: US-ASCII
10  * tab size: 8 (not used)
11  * indentation:4
12  *
13  * created on: 2003jul2
14  * created by: Ram Viswanadha
15  */
16 
17 #ifndef __USPREP_H__
18 #define __USPREP_H__
19 
25 #include "unicode/utypes.h"
26 #include "unicode/localpointer.h"
27 
60 #if !UCONFIG_NO_IDNA
61 
62 #include "unicode/parseerr.h"
63 
69 
70 
77 #define USPREP_DEFAULT 0x0000
78 
85 #define USPREP_ALLOW_UNASSIGNED 0x0001
86 
93 typedef enum UStringPrepProfileType {
166 
182 U_STABLE UStringPrepProfile* U_EXPORT2
183 usprep_open(const char* path,
184  const char* fileName,
185  UErrorCode* status);
186 
198 U_STABLE UStringPrepProfile* U_EXPORT2
200  UErrorCode* status);
201 
207 U_STABLE void U_EXPORT2
209 
210 #if U_SHOW_CPLUSPLUS_API
211 
213 
224 
226 
227 #endif
228 
258 U_STABLE int32_t U_EXPORT2
260  const UChar* src, int32_t srcLength,
261  UChar* dest, int32_t destCapacity,
262  int32_t options,
263  UParseError* parseError,
264  UErrorCode* status );
265 
266 
267 #endif /* #if !UCONFIG_NO_IDNA */
268 
269 #endif
RFC3530 nfs4_mixed_prep for suffix.
Definition: usprep.h:123
RFC3530 nfs4_mixed_prep for prefix.
Definition: usprep.h:118
RFC4013 SASLprep.
Definition: usprep.h:148
struct UStringPrepProfile UStringPrepProfile
StringPrep API implements the StingPrep framework as described by RFC 3454.
Definition: usprep.h:68
UStringPrepProfile * usprep_openByType(UStringPrepProfileType type, UErrorCode *status)
Creates a StringPrep profile for the specified profile type.
int32_t usprep_prepare(const UStringPrepProfile *prep, const UChar *src, int32_t srcLength, UChar *dest, int32_t destCapacity, int32_t options, UParseError *parseError, UErrorCode *status)
Prepare the input buffer for use in applications with the given profile.
"Smart pointer" class, closes a UStringPrepProfile via usprep_close().
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:129
RFC3530 nfs4_cs_prep.
Definition: usprep.h:103
#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction)
"Smart pointer" definition macro, deletes objects via the closeFunction.
Definition: localpointer.h:290
RFC4011 Policy MIB Stringprep.
Definition: usprep.h:143
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
RFC3530 nfs4_cs_prep with case insensitive option.
Definition: usprep.h:108
void usprep_close(UStringPrepProfile *profile)
Closes the profile.
RFC3530 nfs4_cis_prep.
Definition: usprep.h:113
RFC4518 LDAP.
Definition: usprep.h:158
uint16_t UChar
Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...
Definition: umachine.h:278
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:130
C API: Parse Error Information.
UStringPrepProfile * usprep_open(const char *path, const char *fileName, UErrorCode *status)
Creates a StringPrep profile from the data file.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
Definition: utypes.h:476
RFC3920 XMPP Nodeprep.
Definition: usprep.h:133
RFC3722 iSCSI.
Definition: usprep.h:128
A UParseError struct is used to returned detailed information about parsing errors.
Definition: parseerr.h:56
Basic definitions for ICU, for both C and C++ APIs.
RFC4505 trace.
Definition: usprep.h:153
RFC3920 XMPP Resourceprep.
Definition: usprep.h:138
UStringPrepProfileType
enums for the standard stringprep profile types supported by usprep_openByType.
Definition: usprep.h:93
RFC3491 Nameprep.
Definition: usprep.h:98
RFC4518 LDAP for case ignore, numeric and stored prefix matching rules.
Definition: usprep.h:164
#define U_STABLE
This is used to declare a function as a stable public ICU C API.
Definition: umachine.h:109