Reformat of source only.
[tprouty/samba.git] / docs / manpages-3 / libsmbclient.7.xml
1 <?xml version="1.0" encoding="iso-8859-1"?>
2 <!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
3 <refentry id="libsmbclient.7">
4
5 <refmeta>
6         <refentrytitle>libsmbclient</refentrytitle>
7         <manvolnum>7</manvolnum>
8 </refmeta>
9
10
11 <refnamediv>
12         <refname>libsmbclient</refname>
13         <refpurpose>An extension library for browsers and that can be used as a generic browsing API.</refpurpose>
14 </refnamediv>
15
16 <refsynopsisdiv>
17         <cmdsynopsis>
18                 <command>Browser URL:</command>
19         <para>
20         smb://[[[domain:]user[:password@]]server[/share[/path[/file]]]] [?options]
21     </para>
22         </cmdsynopsis>
23 </refsynopsisdiv>
24
25
26 <refsect1>
27         <title>DESCRIPTION</title>
28
29         <para>
30         This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
31         <manvolnum>7</manvolnum></citerefentry> suite.
32         </para>
33
34         <para>
35         <command>libsmbclient</command> is a library toolset that permits applications to manipulate CIFS/SMB network
36         resources using many of the standards POSIX functions available for manipulating local UNIX/Linux files. It
37         permits much more than just browsing, files can be opened and read or written, permissions changed, file times
38         modified, attributes and ACL's can be manipulated, and so on. Of course, its functionality includes all the
39         capabilities commonly called browsing.
40         </para>
41
42         <para>
43         <command>libsmbclient</command> can not be used directly from the command line, instead it provides an
44         extension of the capabilities of tools such as file managers and browsers.  This man page describes the
45         configuration options for this tool so that the user may obtain greatest utility of use.
46         </para>
47 </refsect1>
48
49 <refsect1>
50         <title>OPTIONS</title>
51
52         <para>
53         What the URLs mean:
54         </para>
55
56         <variablelist>
57                 <varlistentry>
58                         <term>smb://</term>
59                         <listitem><para>
60                         Shows all workgroups or domains that are visible in the network. The behavior matches
61                         that of the Microsoft Windows Explorer.
62                         </para>
63
64                         <para>
65                         The method of locating the list of workgroups (domains also) varies depending on the setting of
66                         the context variable <literal>(context-&gt;options.browse_max_lmb_count)</literal>. It is the
67                         responsibility of the application that calls this library to set this to a sensible value.  This
68                         is a compile-time option. This value determines the maximum number of local master browsers to
69                         query for the list of workgroups.  In order to ensure that the list is complete for those present
70                         on the network, all master browsers must be querried. If there are a large number of workgroups
71                         on the network, the time spent querying will be significant. For small networks (just a few
72                         workgroups), it is suggested to set this value to 0, instructing libsmbclient to query all local
73                         master browsers. In an environment that has many workgroups a more reasonable setting may be around 3.
74                         </para></listitem>
75                 </varlistentry>
76
77                 <varlistentry>
78                         <term>smb://name/</term>
79                         <listitem><para>
80                         This command causes libsmbclient to perform a name look-up. If the NAME&lt;1D&gt; or
81                         NAME&lt;1B&gt; exists (workgroup name), libsmbclient will list all servers in the
82                         workgroup (or domain). Otherwise, a name look-up for the NAME&lt;20&gt; (machine name)
83                         will be performed, and the list of shared resources on the server will be displayed.
84                         </para></listitem>
85                 </varlistentry>
86         </variablelist>
87
88         <para>
89         When libsmbclient is invoked by an application it searches for a directory called
90         <filename>.smb</filename> in the $HOME directory that is specified in the users shell
91         environment. It then searches for a file called <filename>smb.conf</filename> which,
92         if present, will fully over-ride the system <filename>/etc/samba/smb.conf</filename> file. If
93         instead libsmbclient finds a file called <filename>~/.smb/smb.conf.append</filename>,
94         it will read the system <filename>/etc/samba/smb.conf</filename> and then append the
95         contents of the <filename>~/.smb/smb.conf.append</filename> to it.
96         </para>
97
98         <para>
99         <command>libsmbclient</command> will check the users shell environment for the <literal>USER</literal>
100         parameter and will use its value when if the <literal>user</literal> parameter was not included
101         in the URL.
102         </para>
103
104 </refsect1>
105
106 <refsect1>
107         <title>PROGRAMMERS GUIDE</title>
108
109         <para>
110         Watch this space for future updates.
111         </para>
112
113 </refsect1>
114
115 <refsect1>
116         <title>VERSION</title>
117
118         <para>
119         This man page is correct for version 3.0 of the Samba suite.
120         </para>
121 </refsect1>
122
123 <refsect1>
124         <title>AUTHOR</title>
125
126         <para>
127         The original Samba software and related utilities were created by Andrew Tridgell.
128         Samba is now developed by the Samba Team as an Open Source project similar to the way
129         the Linux kernel is developed.
130         </para> 
131
132         <para>
133         The libsmbclient manpage page was written by John H Terpstra.
134         </para>
135 </refsect1>
136
137 </refentry>