2011-06-10 17:04:05 +04:00
/*
Unix SMB / CIFS implementation .
Name mangling interface
Copyright ( C ) Andrew Tridgell 2002
This program is free software ; you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation ; either version 3 of the License , or
( at your option ) any later version .
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
2002-07-15 14:35:28 +04:00
# ifndef _MANGLE_H_
# define _MANGLE_H_
2002-04-11 06:20:56 +04:00
/*
header for 8.3 name mangling interface
*/
struct mangle_fns {
void ( * reset ) ( void ) ;
2007-10-19 04:40:25 +04:00
bool ( * is_mangled ) ( const char * s , const struct share_params * p ) ;
bool ( * must_mangle ) ( const char * s , const struct share_params * p ) ;
bool ( * is_8_3 ) ( const char * fname , bool check_case , bool allow_wildcards ,
2006-07-11 22:01:26 +04:00
const struct share_params * p ) ;
2007-10-19 04:40:25 +04:00
bool ( * lookup_name_from_8_3 ) ( TALLOC_CTX * ctx ,
2007-09-08 00:57:01 +04:00
const char * in ,
char * * out , /* talloced on the given context. */
const struct share_params * p ) ;
2007-10-19 04:40:25 +04:00
bool ( * name_to_8_3 ) ( const char * in ,
2007-09-08 00:57:01 +04:00
char out [ 13 ] ,
2007-10-19 04:40:25 +04:00
bool cache83 ,
2007-09-08 00:57:01 +04:00
int default_case ,
const struct share_params * p ) ;
2002-04-11 06:20:56 +04:00
} ;
2002-07-15 14:35:28 +04:00
# endif /* _MANGLE_H_ */