Now v2.0 is out, and I got rid of the open, read, and close subcommands of smb and replaced them with channel-based commands. Now smb open returns a handle which you can use read, gets, fcopy, etc. on and it integrates with the tcl socket and file channels. Enjoy! BTW -- now writing to smb shares is supported, too! Version 3.0 will be based on the more modern samba-2.0 branch instead of samba-1.9.18pl10, and will sport a configure script, and probably some new features, like remote registry access and other cool samba 2.0 stuff. Heres the old README file: ---------------------------------------------------------------------------- Well, this is my samba tcl extension based on samba-1.9.18pl10 for tcl 8.0. Heres a brief summary of files contained in here: samba-tcl.so The extension tcl-nmblookup nmblookup implemented in tcl tcl-smbclient smbclient (partially) implemented in tcl clientgen.c clientgen that comes with samba, i have modified it to do directory and share enumerations. All of the other files are original samba-1.9.18pl10 files that were made by the samba team. see README.samba for more info on samba. Here are some commands for tcl-smbclient: connect server\\share ?username? ?password? Connects to 'share' on 'server' ls ?filespec? Lists the directory rm filename Removes 'filename' cd dirname Changes directory to 'dirname' rmdir dirname Removes 'dirname' mkdir dirname Makes 'dirname' get filename Copies remote 'filename' to local file pwd Prints working directory disconnect Disconnects from the current server shares server ?username? ?password? Lists the shares on 'server' net server ?username? ?password? Lists the network neighborhood on 'server' lookup name Looks up 'name' exit Exits dump Dumps the current connections To make the extension, edit the makefile to match your computers' settings, and then run "make". Here is a summary of the commands implemented in the extension: nmb lookup Do a nmb lookup on a name nmb status Do a nmb status request on a name smb connect Connect to a host using smb smb disconnect Disconnect smb browse shares Browse the shares list on a server smb browse net Browse the host list on a server smb ls List files on a server smb mkdir Make a directory on a server smb unlink Remove a file on a server smb rmdir Remove a directory on a server smb open Open a file on a server smb read Read from a file on a server (right now this only works for text files) smb close Close a file one a server tcl-nmblookup and tcl-smbclient are probably the best documentation for this extension. Well, sorry for not documenting this better, but enjoy! Email me at phil@zork.net if need any help, or want to contribute code, or just want to tell me that you are using this ;).