関数 | |
static char * | capencode (char *to, const char *from) |
static char * | capdecode (char *to, const char *from) |
static SMB_BIG_UINT | cap_disk_free (vfs_handle_struct *handle, const char *path, BOOL small_query, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize) |
static SMB_STRUCT_DIR * | cap_opendir (vfs_handle_struct *handle, const char *fname, const char *mask, uint32 attr) |
static SMB_STRUCT_DIRENT * | cap_readdir (vfs_handle_struct *handle, SMB_STRUCT_DIR *dirp) |
static int | cap_mkdir (vfs_handle_struct *handle, const char *path, mode_t mode) |
static int | cap_rmdir (vfs_handle_struct *handle, const char *path) |
static int | cap_open (vfs_handle_struct *handle, const char *fname, files_struct *fsp, int flags, mode_t mode) |
static int | cap_rename (vfs_handle_struct *handle, const char *oldname, const char *newname) |
static int | cap_stat (vfs_handle_struct *handle, const char *fname, SMB_STRUCT_STAT *sbuf) |
static int | cap_lstat (vfs_handle_struct *handle, const char *path, SMB_STRUCT_STAT *sbuf) |
static int | cap_unlink (vfs_handle_struct *handle, const char *path) |
static int | cap_chmod (vfs_handle_struct *handle, const char *path, mode_t mode) |
static int | cap_chown (vfs_handle_struct *handle, const char *path, uid_t uid, gid_t gid) |
static int | cap_chdir (vfs_handle_struct *handle, const char *path) |
static int | cap_ntimes (vfs_handle_struct *handle, const char *path, const struct timespec ts[2]) |
static BOOL | cap_symlink (vfs_handle_struct *handle, const char *oldpath, const char *newpath) |
static BOOL | cap_readlink (vfs_handle_struct *handle, const char *path, char *buf, size_t bufsiz) |
static int | cap_link (vfs_handle_struct *handle, const char *oldpath, const char *newpath) |
static int | cap_mknod (vfs_handle_struct *handle, const char *path, mode_t mode, SMB_DEV_T dev) |
static char * | cap_realpath (vfs_handle_struct *handle, const char *path, char *resolved_path) |
static BOOL | cap_set_nt_acl (vfs_handle_struct *handle, files_struct *fsp, const char *name, uint32 security_info_sent, struct security_descriptor_info *psd) |
static int | cap_chmod_acl (vfs_handle_struct *handle, const char *name, mode_t mode) |
static SMB_ACL_T | cap_sys_acl_get_file (vfs_handle_struct *handle, const char *path_p, SMB_ACL_TYPE_T type) |
static int | cap_sys_acl_set_file (vfs_handle_struct *handle, const char *name, SMB_ACL_TYPE_T acltype, SMB_ACL_T theacl) |
static int | cap_sys_acl_delete_def_file (vfs_handle_struct *handle, const char *path) |
static ssize_t | cap_getxattr (vfs_handle_struct *handle, const char *path, const char *name, void *value, size_t size) |
static ssize_t | cap_lgetxattr (vfs_handle_struct *handle, const char *path, const char *name, void *value, size_t size) |
static ssize_t | cap_fgetxattr (vfs_handle_struct *handle, struct files_struct *fsp, int fd, const char *name, void *value, size_t size) |
static ssize_t | cap_listxattr (vfs_handle_struct *handle, const char *path, char *list, size_t size) |
static ssize_t | cap_llistxattr (vfs_handle_struct *handle, const char *path, char *list, size_t size) |
static int | cap_removexattr (vfs_handle_struct *handle, const char *path, const char *name) |
static int | cap_lremovexattr (vfs_handle_struct *handle, const char *path, const char *name) |
static int | cap_fremovexattr (vfs_handle_struct *handle, struct files_struct *fsp, int fd, const char *name) |
static int | cap_setxattr (vfs_handle_struct *handle, const char *path, const char *name, const void *value, size_t size, int flags) |
static int | cap_lsetxattr (vfs_handle_struct *handle, const char *path, const char *name, const void *value, size_t size, int flags) |
static int | cap_fsetxattr (vfs_handle_struct *handle, struct files_struct *fsp, int fd, const char *name, const void *value, size_t size, int flags) |
NTSTATUS | vfs_cap_init (void) |
変数 | |
static vfs_op_tuple | cap_op_tuples [] |
static unsigned char | hex2bin_table [256] |
static unsigned char | bin2hex_table [256] = "0123456789abcdef" |
static char * capencode | ( | char * | to, | |
const char * | from | |||
) | [static] |
参照元 cap_chdir()・cap_chmod()・cap_chmod_acl()・cap_chown()・cap_disk_free()・cap_fgetxattr()・cap_fremovexattr()・cap_fsetxattr()・cap_getxattr()・cap_lgetxattr()・cap_link()・cap_listxattr()・cap_llistxattr()・cap_lremovexattr()・cap_lsetxattr()・cap_lstat()・cap_mkdir()・cap_mknod()・cap_ntimes()・cap_open()・cap_opendir()・cap_readlink()・cap_realpath()・cap_removexattr()・cap_rename()・cap_rmdir()・cap_set_nt_acl()・cap_setxattr()・cap_stat()・cap_symlink()・cap_sys_acl_delete_def_file()・cap_sys_acl_get_file()・cap_sys_acl_set_file()・cap_unlink().
00403 { 00404 pstring cvtbuf; 00405 char *out; 00406 00407 if (to == from) { 00408 from = pstrcpy ((char *) cvtbuf, from); 00409 } 00410 00411 for (out = to; *from && (out - to < sizeof(pstring)-7);) { 00412 /* buffer husoku error */ 00413 if ((unsigned char)*from >= 0x80) { 00414 *out++ = hex_tag; 00415 *out++ = bin2hex (((*from)>>4)&0x0f); 00416 *out++ = bin2hex ((*from)&0x0f); 00417 from++; 00418 } 00419 else { 00420 *out++ = *from++; 00421 } 00422 } 00423 *out = '\0'; 00424 return to; 00425 }
static char * capdecode | ( | char * | to, | |
const char * | from | |||
) | [static] |
参照元 cap_readdir().
00432 { 00433 pstring cvtbuf; 00434 char *out; 00435 00436 if (to == from) { 00437 from = pstrcpy ((char *) cvtbuf, from); 00438 } 00439 for (out = to; *from && (out - to < sizeof(pstring)-3);) { 00440 if (is_hex(from)) { 00441 *out++ = (hex2bin (from[1])<<4) | (hex2bin (from[2])); 00442 from += 3; 00443 } else { 00444 *out++ = *from++; 00445 } 00446 } 00447 *out = '\0'; 00448 return to; 00449 }
static SMB_BIG_UINT cap_disk_free | ( | vfs_handle_struct * | handle, | |
const char * | path, | |||
BOOL | small_query, | |||
SMB_BIG_UINT * | bsize, | |||
SMB_BIG_UINT * | dfree, | |||
SMB_BIG_UINT * | dsize | |||
) | [static] |
static SMB_STRUCT_DIR* cap_opendir | ( | vfs_handle_struct * | handle, | |
const char * | fname, | |||
const char * | mask, | |||
uint32 | attr | |||
) | [static] |
static SMB_STRUCT_DIRENT* cap_readdir | ( | vfs_handle_struct * | handle, | |
SMB_STRUCT_DIR * | dirp | |||
) | [static] |
参照先 capdecode()・handle・result.
00049 { 00050 SMB_STRUCT_DIRENT *result; 00051 DEBUG(3,("cap: cap_readdir\n")); 00052 result = SMB_VFS_NEXT_READDIR(handle, dirp); 00053 if (result) { 00054 DEBUG(3,("cap: cap_readdir: %s\n", result->d_name)); 00055 capdecode(result->d_name, result->d_name); 00056 } 00057 return result; 00058 }
static int cap_mkdir | ( | vfs_handle_struct * | handle, | |
const char * | path, | |||
mode_t | mode | |||
) | [static] |
static int cap_rmdir | ( | vfs_handle_struct * | handle, | |
const char * | path | |||
) | [static] |
static int cap_open | ( | vfs_handle_struct * | handle, | |
const char * | fname, | |||
files_struct * | fsp, | |||
int | flags, | |||
mode_t | mode | |||
) | [static] |
static int cap_rename | ( | vfs_handle_struct * | handle, | |
const char * | oldname, | |||
const char * | newname | |||
) | [static] |
static int cap_stat | ( | vfs_handle_struct * | handle, | |
const char * | fname, | |||
SMB_STRUCT_STAT * | sbuf | |||
) | [static] |
static int cap_lstat | ( | vfs_handle_struct * | handle, | |
const char * | path, | |||
SMB_STRUCT_STAT * | sbuf | |||
) | [static] |
static int cap_unlink | ( | vfs_handle_struct * | handle, | |
const char * | path | |||
) | [static] |
static int cap_chmod | ( | vfs_handle_struct * | handle, | |
const char * | path, | |||
mode_t | mode | |||
) | [static] |
static int cap_chown | ( | vfs_handle_struct * | handle, | |
const char * | path, | |||
uid_t | uid, | |||
gid_t | gid | |||
) | [static] |
static int cap_chdir | ( | vfs_handle_struct * | handle, | |
const char * | path | |||
) | [static] |
static int cap_ntimes | ( | vfs_handle_struct * | handle, | |
const char * | path, | |||
const struct timespec | ts[2] | |||
) | [static] |
static BOOL cap_symlink | ( | vfs_handle_struct * | handle, | |
const char * | oldpath, | |||
const char * | newpath | |||
) | [static] |
static BOOL cap_readlink | ( | vfs_handle_struct * | handle, | |
const char * | path, | |||
char * | buf, | |||
size_t | bufsiz | |||
) | [static] |
static int cap_link | ( | vfs_handle_struct * | handle, | |
const char * | oldpath, | |||
const char * | newpath | |||
) | [static] |
static int cap_mknod | ( | vfs_handle_struct * | handle, | |
const char * | path, | |||
mode_t | mode, | |||
SMB_DEV_T | dev | |||
) | [static] |
static char* cap_realpath | ( | vfs_handle_struct * | handle, | |
const char * | path, | |||
char * | resolved_path | |||
) | [static] |
static BOOL cap_set_nt_acl | ( | vfs_handle_struct * | handle, | |
files_struct * | fsp, | |||
const char * | name, | |||
uint32 | security_info_sent, | |||
struct security_descriptor_info * | psd | |||
) | [static] |
static int cap_chmod_acl | ( | vfs_handle_struct * | handle, | |
const char * | name, | |||
mode_t | mode | |||
) | [static] |
参照先 capencode()・errno・handle.
00188 { 00189 pstring capname; 00190 capencode(capname, name); 00191 00192 /* If the underlying VFS doesn't have ACL support... */ 00193 if (!handle->vfs_next.ops.chmod_acl) { 00194 errno = ENOSYS; 00195 return -1; 00196 } 00197 return SMB_VFS_NEXT_CHMOD_ACL(handle, capname, mode); 00198 }
static SMB_ACL_T cap_sys_acl_get_file | ( | vfs_handle_struct * | handle, | |
const char * | path_p, | |||
SMB_ACL_TYPE_T | type | |||
) | [static] |
static int cap_sys_acl_set_file | ( | vfs_handle_struct * | handle, | |
const char * | name, | |||
SMB_ACL_TYPE_T | acltype, | |||
SMB_ACL_T | theacl | |||
) | [static] |
static int cap_sys_acl_delete_def_file | ( | vfs_handle_struct * | handle, | |
const char * | path | |||
) | [static] |
static ssize_t cap_getxattr | ( | vfs_handle_struct * | handle, | |
const char * | path, | |||
const char * | name, | |||
void * | value, | |||
size_t | size | |||
) | [static] |
static ssize_t cap_lgetxattr | ( | vfs_handle_struct * | handle, | |
const char * | path, | |||
const char * | name, | |||
void * | value, | |||
size_t | size | |||
) | [static] |
static ssize_t cap_fgetxattr | ( | vfs_handle_struct * | handle, | |
struct files_struct * | fsp, | |||
int | fd, | |||
const char * | name, | |||
void * | value, | |||
size_t | size | |||
) | [static] |
static ssize_t cap_listxattr | ( | vfs_handle_struct * | handle, | |
const char * | path, | |||
char * | list, | |||
size_t | size | |||
) | [static] |
static ssize_t cap_llistxattr | ( | vfs_handle_struct * | handle, | |
const char * | path, | |||
char * | list, | |||
size_t | size | |||
) | [static] |
static int cap_removexattr | ( | vfs_handle_struct * | handle, | |
const char * | path, | |||
const char * | name | |||
) | [static] |
static int cap_lremovexattr | ( | vfs_handle_struct * | handle, | |
const char * | path, | |||
const char * | name | |||
) | [static] |
static int cap_fremovexattr | ( | vfs_handle_struct * | handle, | |
struct files_struct * | fsp, | |||
int | fd, | |||
const char * | name | |||
) | [static] |
static int cap_setxattr | ( | vfs_handle_struct * | handle, | |
const char * | path, | |||
const char * | name, | |||
const void * | value, | |||
size_t | size, | |||
int | flags | |||
) | [static] |
static int cap_lsetxattr | ( | vfs_handle_struct * | handle, | |
const char * | path, | |||
const char * | name, | |||
const void * | value, | |||
size_t | size, | |||
int | flags | |||
) | [static] |
static int cap_fsetxattr | ( | vfs_handle_struct * | handle, | |
struct files_struct * | fsp, | |||
int | fd, | |||
const char * | name, | |||
const void * | value, | |||
size_t | size, | |||
int | flags | |||
) | [static] |
NTSTATUS vfs_cap_init | ( | void | ) |
参照先 cap_op_tuples・smb_register_vfs().
00367 { 00368 return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "cap", cap_op_tuples); 00369 }
vfs_op_tuple cap_op_tuples[] [static] |
unsigned char hex2bin_table[256] [static] |
初期値:
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0, 0000, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0000, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
unsigned char bin2hex_table[256] = "0123456789abcdef" [static] |