s3:libads: Fix creating machine account using LDAP
[bbaumbach/samba-autobuild/.git] / source3 / include / mangle.h
1 /*
2    Unix SMB/CIFS implementation.
3    Name mangling interface
4    Copyright (C) Andrew Tridgell 2002
5
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 3 of the License, or
9    (at your option) any later version.
10
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 */
19
20 #ifndef _MANGLE_H_
21 #define _MANGLE_H_
22 /*
23   header for 8.3 name mangling interface 
24 */
25
26 struct mangle_fns {
27         void (*reset)(void);
28         bool (*is_mangled)(const char *s, const struct share_params *p);
29         bool (*must_mangle)(const char *s, const struct share_params *p);
30         bool (*is_8_3)(const char *fname, bool check_case, bool allow_wildcards,
31                        const struct share_params *p);
32         bool (*lookup_name_from_8_3)(TALLOC_CTX *ctx,
33                                 const char *in,
34                                 char **out, /* talloced on the given context. */
35                                 const struct share_params *p);
36         bool (*name_to_8_3)(const char *in,
37                         char out[13],
38                         bool cache83,
39                         int default_case,
40                         const struct share_params *p);
41 };
42 #endif /* _MANGLE_H_ */