windows-unicode-support-20080509
[openafs.git] / src / WINNT / afsd / cm_utils.h
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  * 
5  * This software has been released under the terms of the IBM Public
6  * License.  For details, see the LICENSE file in the top-level source
7  * directory or online at http://www.openafs.org/dl/license10.html
8  */
9
10 #ifndef __CM_UTILS_H_ENV__
11 #define __CM_UTILS_H_ENV__ 1
12
13 #define CM_UTILS_SPACESIZE              8192    /* space to allocate */
14 typedef struct cm_space {
15         char data[CM_UTILS_SPACESIZE];
16         struct cm_space *nextp;
17 } cm_space_t;
18
19 /* error code hack */
20 #define ERROR_TABLE_BASE_VL     (363520L)
21 #define VL_NOENT                (363524L)
22
23 extern cm_space_t *cm_GetSpace(void);
24
25 extern void cm_FreeSpace(cm_space_t *);
26
27 extern long cm_MapRPCError(long error, cm_req_t *reqp);
28 extern long cm_MapRPCErrorRmdir(long error, cm_req_t *reqp);
29 extern long cm_MapVLRPCError(long error, cm_req_t *reqp);
30
31 extern long cm_InitNormalization(void);
32 extern long cm_NormalizeUtf16StringToUtf8(const wchar_t * src, int cch_src,
33                                           char * adest, int cch_adest);
34 extern long cm_NormalizeUtf8String(const char * src, int cch_src,
35                                    char * adest, int cch_adest);
36 #endif /*  __CM_UTILS_H_ENV__ */