関数 | |
static void | mangle_init (void) |
void | mangle_reset_cache (void) |
void | mangle_change_to_posix (void) |
BOOL | mangle_is_mangled (const char *s, const struct share_params *p) |
BOOL | mangle_is_8_3 (const char *fname, BOOL check_case, const struct share_params *p) |
BOOL | mangle_is_8_3_wildcards (const char *fname, BOOL check_case, const struct share_params *p) |
BOOL | mangle_check_cache (char *s, size_t maxlen, const struct share_params *p) |
void | mangle_map (pstring OutName, BOOL need83, BOOL cache83, const struct share_params *p) |
変数 | |
static struct mangle_fns * | mangle_fns |
struct { | |
const char * name | |
mangle_fns *(* init_fn )(void) | |
} | mangle_backends [] |
static void mangle_init | ( | void | ) | [static] |
参照先 exit_server()・init_fn・mangle_backends・mangle_fns・name.
参照元 mangle_reset_cache().
00041 { 00042 int i; 00043 const char *method; 00044 00045 if (mangle_fns) 00046 return; 00047 00048 method = lp_mangling_method(); 00049 00050 /* find the first mangling method that manages to initialise and 00051 matches the "mangling method" parameter */ 00052 for (i=0; mangle_backends[i].name && !mangle_fns; i++) { 00053 if (!method || !*method || strcmp(method, mangle_backends[i].name) == 0) { 00054 mangle_fns = mangle_backends[i].init_fn(); 00055 } 00056 } 00057 00058 if (!mangle_fns) { 00059 DEBUG(0,("Failed to initialise mangling system '%s'\n", method)); 00060 exit_server("mangling init failed"); 00061 } 00062 }
void mangle_reset_cache | ( | void | ) |
参照先 mangle_fns・mangle_init()・mangle_fns::reset.
参照元 mangle_change_to_posix()・reload_services().
00069 { 00070 mangle_init(); 00071 mangle_fns->reset(); 00072 }
void mangle_change_to_posix | ( | void | ) |
参照先 mangle_fns・mangle_reset_cache().
00075 { 00076 mangle_fns = NULL; 00077 lp_set_mangling_method("posix"); 00078 mangle_reset_cache(); 00079 }
BOOL mangle_is_mangled | ( | const char * | s, | |
const struct share_params * | p | |||
) |
参照先 mangle_fns::is_mangled・mangle_fns.
参照元 call_trans2findnext()・rename_internals()・reply_copy()・scan_directory()・unix_convert()・unlink_internals().
00085 { 00086 return mangle_fns->is_mangled(s, p); 00087 }
BOOL mangle_is_8_3 | ( | const char * | fname, | |
BOOL | check_case, | |||
const struct share_params * | p | |||
) |
参照先 mangle_fns::is_8_3・mangle_fns.
参照元 call_trans2qfilepathinfo()・get_dir_entry()・get_lanman2_dir_entry()・rename_internals()・unix_convert().
00094 { 00095 return mangle_fns->is_8_3(fname, check_case, False, p); 00096 }
BOOL mangle_is_8_3_wildcards | ( | const char * | fname, | |
BOOL | check_case, | |||
const struct share_params * | p | |||
) |
参照先 mangle_fns::is_8_3・mangle_fns.
00100 { 00101 return mangle_fns->is_8_3(fname, check_case, True, p); 00102 }
BOOL mangle_check_cache | ( | char * | s, | |
size_t | maxlen, | |||
const struct share_params * | p | |||
) |
参照先 mangle_fns::check_cache・mangle_fns.
参照元 call_trans2findnext()・rename_internals()・reply_copy()・scan_directory()・unix_convert()・unlink_internals().
00112 { 00113 return mangle_fns->check_cache(s, maxlen, p); 00114 }
void mangle_map | ( | pstring | OutName, | |
BOOL | need83, | |||
BOOL | cache83, | |||
const struct share_params * | p | |||
) |
参照先 mangle_fns・mangle_map_filename()・mangle_fns::name_map・share_params::service・string_truncate().
参照元 call_trans2findfirst()・call_trans2qfilepathinfo()・get_dir_entry()・get_lanman2_dir_entry()・mangle_mask_match()・mangled_equal().
00122 { 00123 /* name mangling can be disabled for speed, in which case 00124 we just truncate the string */ 00125 if (!lp_manglednames(p)) { 00126 if (need83) { 00127 string_truncate(OutName, 12); 00128 } 00129 return; 00130 } 00131 00132 /* invoke the inane "mangled map" code */ 00133 mangle_map_filename(OutName, p); 00134 mangle_fns->name_map(OutName, need83, cache83, lp_defaultcase(p->service), p); 00135 }
struct mangle_fns* mangle_fns [static] |
struct mangle_fns*(* init_fn)(void) |
参照元 mangle_init().
struct { ... } mangle_backends[] [static] |
参照元 mangle_init().