1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-05 09:18:06 +03:00
samba-mirror/examples/libsmbclient/smbwrapper
Derrell Lipman 296a6783fb Replace GetTimeOfDay() with gettimeofday() in example program.
GetTimeOfDay() seems to no longer be exported.  For the smbsh example, just
use the native gettimeofday() for now.
2008-01-16 14:37:40 +00:00
..
bsd-strlcat.c r12759: r12128@cabra: derrell | 2006-01-07 15:34:01 -0500 2007-10-10 11:06:03 -05:00
bsd-strlcpy.c r12759: r12128@cabra: derrell | 2006-01-07 15:34:01 -0500 2007-10-10 11:06:03 -05:00
bsd-strlfunc.h r12759: r12128@cabra: derrell | 2006-01-07 15:34:01 -0500 2007-10-10 11:06:03 -05:00
Makefile Fix compile and linking errors since last this code was tested 2008-01-13 12:07:18 -05:00
opendir_smbsh.c r6108: Added smbsh/smbwrapper for Linux to example/libsmbclient tree; provided more complete libsmbclient testbrowse utility 2007-10-10 10:56:22 -05:00
README r6108: Added smbsh/smbwrapper for Linux to example/libsmbclient tree; provided more complete libsmbclient testbrowse utility 2007-10-10 10:56:22 -05:00
select.c Replace GetTimeOfDay() with gettimeofday() in example program. 2008-01-16 14:37:40 +00:00
smbsh.c r23785: use the GPLv3 boilerplate as recommended by the FSF and the license text 2007-10-10 12:28:23 -05:00
smbw_dir.c r23785: use the GPLv3 boilerplate as recommended by the FSF and the license text 2007-10-10 12:28:23 -05:00
smbw_stat.c r23785: use the GPLv3 boilerplate as recommended by the FSF and the license text 2007-10-10 12:28:23 -05:00
smbw.c r23785: use the GPLv3 boilerplate as recommended by the FSF and the license text 2007-10-10 12:28:23 -05:00
smbw.h r23785: use the GPLv3 boilerplate as recommended by the FSF and the license text 2007-10-10 12:28:23 -05:00
wrapper.c Fix compile and linking errors since last this code was tested 2008-01-13 12:07:18 -05:00
wrapper.h r23785: use the GPLv3 boilerplate as recommended by the FSF and the license text 2007-10-10 12:28:23 -05:00

To create "smbsh" on Linux, just type "make".

If you execute "smbsh" in *this* directory (so that it can find the required
shared library), you'll find yourself in a new shell.  You can then issue
commands referencing the "/smb" pseudo-filesystem:

  ls /smb
  ls /smb/WORKGROUP_OR_DOMAIN
  ls /smb/SERVER
  ls /smb/SERVER/SHARE
  ls /smb/SERVER/SHARE/PATH

Note that WORKGROUP_OR_DOMAIN is *not* used other than at that level.  This is
consistent with the smb:// URI definition.

Usage:
  smbsh [-L <path to find smbwrapper.so>]
        [-p <library to load before smbwrapper.so>]
        [-a <library to load after smbwrapper.so>]
        [-d <debug value for libsmbclient>]
        [-n]                                    (do not ask for username/password)
        [-W <workgroup>]
        [-U <username%password]
        [command]

So to list the contents of \\MYDESK\C$ where a username (adventure) and password
(xyzzy) are required, and with smbwrapper.so installed in /usr/share/samba, you
could try:

  smbsh -L /usr/share/samba -U adventure%xyzzy ls '/smb/MYDESK/C$'

(It's a good idea to get in the habit of surrounding windows paths in single
quotes, since they often contain spaces and other characters that'll give you
headaches when not escaped.)

This smbsh seems to work quite well on Linux 2.4 and 2.6.  The biggest problem it
has is in tracking your current working directory.  I haven't had the time to
track that down and fix it.

Derrell Lipman