API's and the such

Christopher R. Hertel crh at nts.umn.edu
Mon Oct 2 03:08:09 GMT 2000

Samba was designed as a monolith.  Andrew and I have talked about it a 
few times.  For the main goals of Samba, I agree with Tridge and others 
that this makes sense.

Still, the need for other code architectures has been raised several
times.  My own solutions are:

- I am working on documenting the implementation of CIFS.  There will be
  code examples.  The work is slow but I've just freed up some time by 
  giving up a second job.  We'll see.

- We've got a project going to implement CIFS client functionality in
  Java.  The project is moving to a new server and, during the transition,
  things are a bit broken.  Try http://jcifs.samba.org/ in a week or two. 

If you want to write a library in C rather than C++, don't worry about 
TNG vs. 2.2., etc.  Start by teasing out the basics.  Start with the 
NetBIOS name service, then datagrams, then sessions.  Once that's done 
start with SMB.  Keep it clean so that it can run over NetBIOS *or* 
native over port 445 (a la Win2K native mode).

Pull stuff out of Samba as you need it, but build the library as you 
build your understanding.  You'll be amazed how much clean-up you'll wind 
up doing.

Chris -)-----

> On Sun, 01 Oct 2000, you wrote:
> > Something i have been wondering more and more about recently is about an
> > API.  Is there an API as such for Samba, which would give us (programmers
> > of other utilities) the ability to have functions such as thoes listed in
> > MSDN, i am refering to mainly the Net* Calls.
> > Currently, i have had to do nasty little hacks and get link to the samba
> > shared objects ... so is there another layer of abstraction out there ? if
> > not, would anyone be intereseted in such a thing ? if there is a reason why
> > this hasnt been done ( i am thinking of technical reasons of sound standing
> > here ), then please let us know.
> Well I'm looking for something usefull too. There's this libsmb++ project : 
> http://libsmb.sourceforge.net, but it's not completely finished :(
> I've been thinking about building a lib myself (in C), which would have 
> generic open/read/close etc functions, however, I'm not quite sure whether to 
> use the samba_2_2 branch or the SAMBA_TNG branch. There a problems with both 
> :(
> Well, let me know what your ideas are,
> Jelmer Feenstra

Christopher R. Hertel -)-----                   University of Minnesota
crh at nts.umn.edu              Networking and Telecommunications Services

    Ideals are like stars; you will not succeed in touching them
    with your hands...you choose them as your guides, and following
    them you will reach your destiny.  --Carl Schultz

More information about the samba-technical mailing list