vfstest: Convert cmd_pathfunc to synthetic_smb_fname
[Samba/id10ts.git] / source3 / include / mangle.h
blob7c4602b4eba7379f3e27bfd6aed23271ec46f58e
1 /*
2 Unix SMB/CIFS implementation.
3 Name mangling interface
4 Copyright (C) Andrew Tridgell 2002
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.
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.
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/>.
20 #ifndef _MANGLE_H_
21 #define _MANGLE_H_
23 header for 8.3 name mangling interface
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);
42 #endif /* _MANGLE_H_ */