]> git.saurik.com Git - apple/icu.git/blame - icuSources/test/cintltst/nfsprep.h
ICU-511.25.tar.gz
[apple/icu.git] / icuSources / test / cintltst / nfsprep.h
CommitLineData
374ca955
A
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 */
30enum 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
38typedef 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 */
51int32_t
52nfs4_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 */
67int32_t
68nfs4_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 */
82int32_t
83nfs4_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 */
97int32_t
98nfs4_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 */