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 */ 114