[Samba] Guide to porting to non-unix like systems?

Thomas McNeely Thomas.McNeely at wwu.edu
Fri Apr 27 23:16:09 GMT 2007


This book might be completely useless to you, or it might be just what you need:

Implementing CIFS: The Common Internet File System

by Christopher R. Hertel (a member of the Samba team)

Prentice Hall

ISBN: 0-13-047116-X

>From the introduction, "This book is aimed at developers who want to add CIFS compatibility to their products.... This is a technical book, and knowledge of programming and TCP/IP networking is assumed. The protocol descriptions, however, start with the basics and build up, so very little previous knowledge of CIFS is expected. For the programmer, there are several code examples. They have all been tested under Debian GNU/Linux, but you may need to do a little work to get them to run elsewhere. The code is intended to be illustrative rather than functional. It works, but it is not production-quality. That's okay, since part of the purpose of this book is to help you write your own code -- if that's where your interests lie."

The book is available in print and it also has a web site where you can read it online at: http://www.ubiqx.org/cifs/

It can also be downloaded as PDF from: http://www.phptr.com/content/images/013047116X/downloads/013047116X_pdf.zip

I think it's linked to from the Samba.org web site too.



From: samba-bounces+thomas.mcneely=wwu.edu at lists.samba.org on behalf of Andreas Fredriksson
Sent: Fri 4/27/2007 3:43 PM
To: samba at lists.samba.org
Subject: [Samba] Guide to porting to non-unix like systems?

I'd like to get a rough idea on how much work it would be to port
Samba to a non-unix platform. My plan was to use a slimmed-down samba
to read and write files on a particularly unfriendly piece of
proprietary hardware we use at work. I'm fine with a minimalistic
samba as this port would be for internal, single-developer use and not
intended for file serving in general.

Here are some things I'm wondering about, given the background:

1) Is fork() required, or could it be emulated via threads?

2) Could nmdb and smbd share a single process w.r.t 1) or is even
possible to drop nmdb and just serve stuff slowly with a single smbd

3) Is Samba very tightly tied to the POSIX file/directory APIs? My
intended target system has a rich I/O API (including async
capabilities and various bells and whistles) but the APIs are fairly
exotic and don't map well to e.g. DIR and file descriptors.

4) Is there a checklist somewhere of stuff a target system for
smbd/nmbd would have to support to make a port feasible?

To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba

More information about the samba mailing list