Hi all. I've bowed my head in shame a few weeks ago, and what can I say, BeOS is like a drug which (once addicted) is a habit hard to break. Elate isn't as much fun as I thought it would be, and I'm slowly becoming aware that there may be a possibility that I'll come crawling back to the lovin' OpenBeOS arms (if you'll take me back :-) What does the OpenBeOS networking team need to implement? 1) The Network Kit front end. This is the API presented to the user. User applications use the interface by referencing BeAPI header files and Posix header files. The network team needs to re-implement the following frontend (from the BeBook): a)- BNetAddress class (convert net addresses to generic internal type) - easy b)- BNetBuffer class (allocate buffer and append/delete data) - easy c)- BNetDebug class (debug info) - piece of cake d)- BNetEndpoint (object oriented socket - wrapper for socket calls) - slightly moderate e)- network sockets - moderate to time consuming (the meat of the kit). - socket() - bind() - getsockname() - getpeername() - recvfrom() - sendto() - send() - recv() - listen() - accept() - connect() - closesocket() - shutdown() - setsockopt() - select() f)- BSD network database interface - easy - gethostbyname() - gethostbyaddr() - getservbyname() - herror() - inet_addr() - inet_ntoa() - gethostname() - getusername() - getpassword() g)- Network settings - easy - findnetsettings() - setnetsettings() Thats all we need to be source compatible. h) - additions to the API (wish list) From the OSI layered model point of view, the front end could corrolate to the Transport and Session layers. 2) The Network Kit back end This is the actual net_server which interfaces with the kernel/hardware. From the OSI perspective, it provides the functionality of the Data-Link and Network layers. The average developer writing a network application considers the back end to be a black box. Until I finish reading the FreeBSD design book, I cannot comment on the structure of the black box. Marcus Overhaggen from the Media Kit team did an excellent job of demonstrating how to convert the B header files into a dummy C program with pluggin functions - empty pluggin functions for now (a single debug printf() to show status), but functions which will be filled in as the team progresses. Marcus honestly believes that binary compatibility is possible, and so far he can get 3rd party apps to link without errors (of course, they dont run yet). I think that a couple of members of the Networking team (a couple and no more) can attempt the same with the above front end. This will show progress to the rest of the OpenBeOS teams, and will allow the very first files to be checked into CVS. As far as everyone else is concerned, the black box can be a rip off of the FreeBSD networking implementation (hey, nothing to be ashamed of, its one of the best in the industry), and all they really want is source level (100% possible) and even better, binary compatibility (possible). Anyway, I'm prepared to take the challenge of preparing the header/pluggin files. Is that OK with you Jean (glorious team leader)? Any thoughts, suggestions? ---------------------- CONFIDENTIALITY NOTICE ---------------------- This email is intended only to be read or used by the addressee. The information contained in this e-mail message may be confidential information. If you are not the intended recipient, any use, interference with, distribution, disclosure or copying of this material is unauthorised and prohibited. Confidentiality attached to this communication is not waived or lost by reason of the mistaken delivery to you. If you have received this message in error, please delete it and notify us by return e-mail or telephone Aristocrat Technologies Australia Pty Limited on +61 2 9413 6300.