データ構造 | |
| struct | smbc_dirent |
| Structure that represents a directory entry. [詳細] | |
| struct | print_job_info |
| Structure that represents a print job. [詳細] | |
| struct | _SMBCCTX |
| Structure that contains a client context information This structure is know as SMBCCTX [詳細] | |
| struct | _SMBCCTX::_smbc_callbacks |
| struct | _SMBCCTX::_smbc_options |
| user options selections that apply to this session [詳細] | |
型定義 | |
| typedef _SMBCSRV | SMBCSRV |
| Server handle | |
| typedef _SMBCFILE | SMBCFILE |
| File or directory handle | |
| typedef _SMBCCTX | SMBCCTX |
| File or directory handle | |
| typedef void(*) | smbc_get_auth_data_fn (const char *srv, const char *shr, char *wg, int wglen, char *un, int unlen, char *pw, int pwlen) |
| Authentication callback function type (traditional method) | |
| typedef void(*) | smbc_get_auth_data_with_context_fn (SMBCCTX *c, const char *srv, const char *shr, char *wg, int wglen, char *un, int unlen, char *pw, int pwlen) |
| Authentication callback function type (method that includes context) | |
| typedef void(*) | smbc_list_print_job_fn (struct print_job_info *i) |
| Print job info callback function type. | |
| typedef int(*) | smbc_check_server_fn (SMBCCTX *c, SMBCSRV *srv) |
| Check if a server is still good | |
| typedef int(*) | smbc_remove_unused_server_fn (SMBCCTX *c, SMBCSRV *srv) |
| Remove a server if unused | |
| typedef int(*) | smbc_add_cached_srv_fn (SMBCCTX *c, SMBCSRV *srv, const char *server, const char *share, const char *workgroup, const char *username) |
| Add a server to the cache system | |
| typedef SMBCSRV *(*) | smbc_get_cached_srv_fn (SMBCCTX *c, const char *server, const char *share, const char *workgroup, const char *username) |
| Look up a server in the cache system | |
| typedef int(*) | smbc_remove_cached_srv_fn (SMBCCTX *c, SMBCSRV *srv) |
| Check if a server is still good | |
| typedef int(*) | smbc_purge_cached_fn (SMBCCTX *c) |
| Try to remove all servers from the cache system and disconnect | |
列挙型 | |
| enum | smbc_share_mode { SMBC_SHAREMODE_DENY_DOS = 0, SMBC_SHAREMODE_DENY_ALL = 1, SMBC_SHAREMODE_DENY_WRITE = 2, SMBC_SHAREMODE_DENY_READ = 3, SMBC_SHAREMODE_DENY_NONE = 4, SMBC_SHAREMODE_DENY_FCB = 7 } |
関数 | |
| SMBCCTX * | smbc_new_context (void) |
| Create a new SBMCCTX (a context). | |
| int | smbc_free_context (SMBCCTX *context, int shutdown_ctx) |
| Delete a SBMCCTX (a context) acquired from smbc_new_context(). | |
| void | smbc_option_set (SMBCCTX *context, char *option_name,...) |
| Each time the context structure is changed, we have binary backward compatibility issues. | |
| void * | smbc_option_get (SMBCCTX *context, char *option_name) |
| SMBCCTX * | smbc_init_context (SMBCCTX *context) |
| Initialize a SBMCCTX (a context). | |
| int | smbc_init (smbc_get_auth_data_fn fn, int debug) |
| Initialize the samba client library. | |
| SMBCCTX * | smbc_set_context (SMBCCTX *new_context) |
| Set or retrieve the compatibility library's context pointer | |
| int | smbc_open (const char *furl, int flags, mode_t mode) |
| Open a file on an SMB server. | |
| int | smbc_creat (const char *furl, mode_t mode) |
| Create a file on an SMB server. | |
| ssize_t | smbc_read (int fd, void *buf, size_t bufsize) |
| Read from a file using an opened file handle. | |
| ssize_t | smbc_write (int fd, void *buf, size_t bufsize) |
| Write to a file using an opened file handle. | |
| off_t | smbc_lseek (int fd, off_t offset, int whence) |
| Seek to a specific location in a file. | |
| int | smbc_close (int fd) |
| Close an open file handle. | |
| int | smbc_unlink (const char *furl) |
| Unlink (delete) a file or directory. | |
| int | smbc_rename (const char *ourl, const char *nurl) |
| Rename or move a file or directory. | |
| int | smbc_opendir (const char *durl) |
| Open a directory used to obtain directory entries. | |
| int | smbc_closedir (int dh) |
| Close a directory handle opened by smbc_opendir(). | |
| int | smbc_getdents (unsigned int dh, struct smbc_dirent *dirp, int count) |
| Get multiple directory entries. | |
| smbc_dirent * | smbc_readdir (unsigned int dh) |
| Get a single directory entry. | |
| off_t | smbc_telldir (int dh) |
| Get the current directory offset. | |
| int | smbc_lseekdir (int fd, off_t offset) |
| lseek on directories. | |
| int | smbc_mkdir (const char *durl, mode_t mode) |
| Create a directory. | |
| int | smbc_rmdir (const char *durl) |
| Remove a directory. | |
| int | smbc_stat (const char *url, struct stat *st) |
| Get information about a file or directory. | |
| int | smbc_fstat (int fd, struct stat *st) |
| Get file information via an file descriptor. | |
| int | smbc_chown (const char *url, uid_t owner, gid_t group) |
| Change the ownership of a file or directory. | |
| int | smbc_chmod (const char *url, mode_t mode) |
| Change the permissions of a file. | |
| int | smbc_utimes (const char *url, struct timeval *tbuf) |
| Change the last modification time on a file | |
| int | smbc_utime (const char *fname, struct utimbuf *utbuf) |
| Change the last modification time on a file | |
| int | smbc_setxattr (const char *url, const char *name, const void *value, size_t size, int flags) |
| Set extended attributes for a file. | |
| int | smbc_lsetxattr (const char *url, const char *name, const void *value, size_t size, int flags) |
| Set extended attributes for a file. | |
| int | smbc_fsetxattr (int fd, const char *name, const void *value, size_t size, int flags) |
| Set extended attributes for a file. | |
| int | smbc_getxattr (const char *url, const char *name, const void *value, size_t size) |
| Get extended attributes for a file. | |
| int | smbc_lgetxattr (const char *url, const char *name, const void *value, size_t size) |
| Get extended attributes for a file. | |
| int | smbc_fgetxattr (int fd, const char *name, const void *value, size_t size) |
| Get extended attributes for a file. | |
| int | smbc_removexattr (const char *url, const char *name) |
| Remove extended attributes for a file. | |
| int | smbc_lremovexattr (const char *url, const char *name) |
| Remove extended attributes for a file. | |
| int | smbc_fremovexattr (int fd, const char *name) |
| Remove extended attributes for a file. | |
| int | smbc_listxattr (const char *url, char *list, size_t size) |
| List the supported extended attribute names associated with a file | |
| int | smbc_llistxattr (const char *url, char *list, size_t size) |
| List the supported extended attribute names associated with a file The POSIX function which this maps to would act on a symbolic link rather than acting on what the symbolic link points to, but with no symbolic links in SMB file systems, this function is functionally identical to smbc_listxattr(). | |
| int | smbc_flistxattr (int fd, char *list, size_t size) |
| List the supported extended attribute names associated with a file | |
| int | smbc_print_file (const char *fname, const char *printq) |
| Print a file given the name in fname. | |
| int | smbc_open_print_job (const char *fname) |
| Open a print file that can be written to by other calls. | |
| int | smbc_list_print_jobs (const char *purl, smbc_list_print_job_fn fn) |
| List the print jobs on a print share, for the moment, pass a callback | |
| int | smbc_unlink_print_job (const char *purl, int id) |
| Delete a print job | |
| int | smbc_remove_unused_server (SMBCCTX *context, SMBCSRV *srv) |
| Remove a server from the cached server list it's unused. | |
| int | smbc_urldecode (char *dest, char *src, size_t max_dest_len) |
| Convert strings of xx to their single character equivalent. | |
| int | smbc_urlencode (char *dest, char *src, int max_dest_len) |
| const char * | smbc_version (void) |
| Return the version of the linked Samba code, and thus the version of the libsmbclient code. | |
| enum smbc_share_mode |
| SMBC_SHAREMODE_DENY_DOS | |
| SMBC_SHAREMODE_DENY_ALL | |
| SMBC_SHAREMODE_DENY_WRITE | |
| SMBC_SHAREMODE_DENY_READ | |
| SMBC_SHAREMODE_DENY_NONE | |
| SMBC_SHAREMODE_DENY_FCB |
libsmbclient.h の 148 行で定義されています。
00149 { 00150 SMBC_SHAREMODE_DENY_DOS = 0, 00151 SMBC_SHAREMODE_DENY_ALL = 1, 00152 SMBC_SHAREMODE_DENY_WRITE = 2, 00153 SMBC_SHAREMODE_DENY_READ = 3, 00154 SMBC_SHAREMODE_DENY_NONE = 4, 00155 SMBC_SHAREMODE_DENY_FCB = 7 00156 } smbc_share_mode;
| void* smbc_option_get | ( | SMBCCTX * | context, | |
| char * | option_name | |||
| ) |
libsmbclient.c の 6450 行で定義されています。
参照先 smbc_internal_data::_auth_fn_with_context・smbc_internal_data::_debug_stderr・smbc_internal_data::_full_time_names・smbc_internal_data::_user_data・_SMBCCTX::internal.
06452 { 06453 if (strcmp(option_name, "debug_stderr") == 0) { 06454 /* 06455 * Log to standard error instead of standard output. 06456 */ 06457 #if defined(__intptr_t_defined) || defined(HAVE_INTPTR_T) 06458 return (void *) (intptr_t) context->internal->_debug_stderr; 06459 #else 06460 return (void *) context->internal->_debug_stderr; 06461 #endif 06462 } else if (strcmp(option_name, "full_time_names") == 0) { 06463 /* 06464 * Use new-style time attribute names, e.g. WRITE_TIME rather 06465 * than the old-style names such as M_TIME. This allows also 06466 * setting/getting CREATE_TIME which was previously 06467 * unimplemented. (Note that the old C_TIME was supposed to 06468 * be CHANGE_TIME but was confused and sometimes referred to 06469 * CREATE_TIME.) 06470 */ 06471 #if defined(__intptr_t_defined) || defined(HAVE_INTPTR_T) 06472 return (void *) (intptr_t) context->internal->_full_time_names; 06473 #else 06474 return (void *) context->internal->_full_time_names; 06475 #endif 06476 06477 } else if (strcmp(option_name, "auth_function") == 0) { 06478 /* 06479 * Use the new-style authentication function which includes 06480 * the context. 06481 */ 06482 return (void *) context->internal->_auth_fn_with_context; 06483 } else if (strcmp(option_name, "user_data") == 0) { 06484 /* 06485 * Save a user data handle which may be retrieved by the user 06486 * with smbc_option_get() 06487 */ 06488 return context->internal->_user_data; 06489 } 06490 06491 return NULL; 06492 }
| int smbc_chown | ( | const char * | url, | |
| uid_t | owner, | |||
| gid_t | group | |||
| ) |
Change the ownership of a file or directory.
| url | The smb url of the file or directory to change ownership of. | |
| owner | I have no idea? | |
| group | I have not idea? |
| int smbc_urlencode | ( | char * | dest, | |
| char * | src, | |||
| int | max_dest_len | |||
| ) |
libsmbclient.c の 203 行で定義されています。
00204 { 00205 char hex[] = "0123456789ABCDEF"; 00206 00207 for (; *src != '\0' && max_dest_len >= 3; src++) { 00208 00209 if ((*src < '0' && 00210 *src != '-' && 00211 *src != '.') || 00212 (*src > '9' && 00213 *src < 'A') || 00214 (*src > 'Z' && 00215 *src < 'a' && 00216 *src != '_') || 00217 (*src > 'z')) { 00218 *dest++ = '%'; 00219 *dest++ = hex[(*src >> 4) & 0x0f]; 00220 *dest++ = hex[*src & 0x0f]; 00221 max_dest_len -= 3; 00222 } else { 00223 *dest++ = *src; 00224 max_dest_len--; 00225 } 00226 } 00227 00228 *dest++ = '\0'; 00229 max_dest_len--; 00230 00231 return max_dest_len; 00232 }
1.4.7