]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/cintltst/nfsprep.h
ICU-6.2.14.tar.gz
[apple/icu.git] / icuSources / test / cintltst / nfsprep.h
1 /*
2 *******************************************************************************
3 *
4 * Copyright (C) 2003, International Business Machines
5 * Corporation and others. All Rights Reserved.
6 *
7 *******************************************************************************
8 * file name: nfsprep.h
9 * encoding: US-ASCII
10 * tab size: 8 (not used)
11 * indentation:4
12 *
13 * created on: 2003jul11
14 * created by: Ram Viswanadha
15 */
16 #ifndef _NFSPREP_H
17 #define _NFSPREP_H
18
19 #include "unicode/utypes.h"
20
21 #if !UCONFIG_NO_IDNA
22
23 #include "unicode/ustring.h"
24 #include "unicode/usprep.h"
25 #include <stdlib.h>
26 #include <string.h>
27
28
29 /* this enum must be kept in syn with NFS4DataFileNames array in nfsprep.c */
30 enum NFS4ProfileState{
31 NFS4_CS_PREP_CS,
32 NFS4_CS_PREP_CI,
33 NFS4_CIS_PREP,
34 NFS4_MIXED_PREP_PREFIX,
35 NFS4_MIXED_PREP_SUFFIX
36 };
37
38 typedef enum NFS4ProfileState NFS4ProfileState;
39
40 /**
41 * Prepares the source UTF-8 string for use in file names and
42 * returns UTF-8 string on output.
43 * @param src
44 * @param srcLen
45 * @param dest
46 * @param destCapacity
47 * @param state
48 * @param parseError
49 * @param status
50 */
51 int32_t
52 nfs4_prepare(const char* src, int32_t srcLength,
53 char* dest, int32_t destCapacity,
54 NFS4ProfileState state,
55 UParseError* parseError,
56 UErrorCode* status);
57
58 /**
59 * @param dest
60 * @param destCapacity
61 * @param src
62 * @param srcLen
63 * @param state
64 * @param parseError
65 * @param status
66 */
67 int32_t
68 nfs4_mixed_prepare( const char* src, int32_t srcLength,
69 char* dest, int32_t destCapacity,
70 UParseError* parseError,
71 UErrorCode* status);
72
73 /**
74 * @param dest
75 * @param destCapacity
76 * @param src
77 * @param srcLen
78 * @param state
79 * @param parseError
80 * @param status
81 */
82 int32_t
83 nfs4_cis_prepare( const char* src, int32_t srcLength,
84 char* dest, int32_t destCapacity,
85 UParseError* parseError,
86 UErrorCode* status);
87
88 /**
89 * @param dest
90 * @param destCapacity
91 * @param src
92 * @param srcLen
93 * @param state
94 * @param parseError
95 * @param status
96 */
97 int32_t
98 nfs4_cs_prepare( const char* src, int32_t srcLength,
99 char* dest, int32_t destCapacity,
100 UBool isCaseSensitive,
101 UParseError* parseError,
102 UErrorCode* status);
103 #endif
104
105 #endif
106 /*
107 * Hey, Emacs, please set the following:
108 *
109 * Local Variables:
110 * indent-tabs-mode: nil
111 * End:
112 *
113 */