00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __USPREP_H__
00018 #define __USPREP_H__
00019
00025 #include "unicode/utypes.h"
00058 #if !UCONFIG_NO_IDNA
00059
00060 #include "unicode/parseerr.h"
00061
00066 typedef struct UStringPrepProfile UStringPrepProfile;
00067
00068
00075 #define USPREP_DEFAULT 0x0000
00076
00083 #define USPREP_ALLOW_UNASSIGNED 0x0001
00084
00091 typedef enum UStringPrepProfileType {
00096 USPREP_RFC3491_NAMEPREP,
00101 USPREP_RFC3530_NFS4_CS_PREP,
00106 USPREP_RFC3530_NFS4_CS_PREP_CI,
00111 USPREP_RFC3530_NFS4_CIS_PREP,
00116 USPREP_RFC3530_NFS4_MIXED_PREP_PREFIX,
00121 USPREP_RFC3530_NFS4_MIXED_PREP_SUFFIX,
00126 USPREP_RFC3722_ISCSI,
00131 USPREP_RFC3920_NODEPREP,
00136 USPREP_RFC3920_RESOURCEPREP,
00141 USPREP_RFC4011_MIB,
00146 USPREP_RFC4013_SASLPREP,
00151 USPREP_RFC4505_TRACE,
00156 USPREP_RFC4518_LDAP,
00162 USPREP_RFC4518_LDAP_CI
00163 } UStringPrepProfileType;
00164
00180 U_STABLE UStringPrepProfile* U_EXPORT2
00181 usprep_open(const char* path,
00182 const char* fileName,
00183 UErrorCode* status);
00184
00196 U_DRAFT UStringPrepProfile* U_EXPORT2
00197 usprep_openByType(UStringPrepProfileType type,
00198 UErrorCode* status);
00199
00205 U_STABLE void U_EXPORT2
00206 usprep_close(UStringPrepProfile* profile);
00207
00208
00238 U_STABLE int32_t U_EXPORT2
00239 usprep_prepare( const UStringPrepProfile* prep,
00240 const UChar* src, int32_t srcLength,
00241 UChar* dest, int32_t destCapacity,
00242 int32_t options,
00243 UParseError* parseError,
00244 UErrorCode* status );
00245
00246
00247 #endif
00248
00249 #endif