[openbeosnetteam] Re: Moving stuffs to a new place: where to put things?

> with the move (why waste time to fix current Makefiles !?)
Please simply remove any makefiles that still exist.

> b) /net_kit/source/apps/
> 
>   arp/*   -> /current/src/apps/arp/*
>   ifconfig/* -> /current/src/apps/ifconfig/*
>   ping/* -> /current/src/apps/ping/* 
>   route/* -> /current/src/apps/route/*
>   traceroute/* -> /current/src/apps/traceroute/* 
>   ppp/* -> /current/src/apps/pppconfig/*
> 

I think we wanted to have non-GUI apps in /current/src/apps/bin
Unfortunately, the net_kit apps were misplaced when the move
happend, as well some preferences things that are now in
current/src/apps

I suggest we clean this up now

   arp/*   -> /current/src/apps/bin/arp/*
   ifconfig/* -> /current/src/apps/bin/ifconfig/*
   ping/* -> /current/src/apps/bin/ping/* 
   route/* -> /current/src/apps/bin/route/*
   traceroute/* -> /current/src/apps/bin/traceroute/* 
   ppp/* -> /current/src/apps/bin/pppconfig/*

>   I suggest we rename into "pppconfig" to escape possible 
>   confusion with the "ppp" protocol module below...
Ok

>   net_stack_driver.c ->
>     /current/src/add-ons/kernel/drivers/net/stack/net_stack_driver.c
>   net_userstack_driver.c ->
>     /current/src/add-ons/kernel/drivers/net/stack/net_userstack_driver.c
Ok

>   Makefile -> /current/src/add-ons/kernel/drivers/net/stack/Makefile
NO! We can add a jamfile, but please do not place a makefile there.

>   net_stack_driver.h -> /current/headers/private/net/net_stack_driver.h
Ok

> 
> d) /net_kit/source/libnet/
> 
>   * -> /current/src/kits/net/*
> 
>   Or do we need to have one sub-directory for libnet.so, one for 
>   our future libnetapi.so implementation, etc ? I'm not sure 
>   (please anyone correct me!) but can't we build all (even BNet* 
>   classes) in one single libnet.so and "fake" libnetapi.so by a 
>   symlink targetting libnet.so? 
I don't think thst this is a good idea. You would force C programs
to be linked with  a C++ library.

>   I'll like having a single libnet.so, it's more BeOS old time-way 
>   of doing (one kit, one library).
I disagree.

libnet.so includes the C/posix/socket stuff, while libnetapi.so includes
the C++ classes. I would like to keep it this way, and suggest: 

/net_kit/source/libnet/*  -> /current/src/kits/net/net/*
future libnetapi.so -> /current/src/kits/net/netapi/*

OR:

/net_kit/source/libnet/*  -> /current/src/kits/net/libnet/*
future libnetapi.so -> /current/src/kits/net/libnetapi/*


> 
> e) /net_kit/source/server/ (misnamed directory now)
> 
>   userland_ipc.c -> /current/src/servers/net/userland_ipc.c
>   userland_server.c -> /current/src/servers/net/userland_server.c
Ok

>   
>   net_server/* -> /current/src/add-ons/kernel/network/core/*
Currently, BeOS does not have /add-ons/kernel/network,
but I guess this is the right location, since the network core
is a module, so it doesn't belong into drivers.

>   arp/* -> /current/src/add-ons/kernel/network/protocols/arp/*
>   icmp/* -> /current/src/add-ons/kernel/network/protocols/icmp/*
>   ipv4/* -> /current/src/add-ons/kernel/network/protocols/ipv4/*
>   raw/* -> /current/src/add-ons/kernel/network/protocols/raw/*
>   route/* -> /current/src/add-ons/kernel/network/protocols/route/*
>   tcp/* -> /current/src/add-ons/kernel/network/protocols/tcp/*
>   udp/* -> /current/src/add-ons/kernel/network/protocols/udp/*
ok

 
>   ethernet/* ->  /current/src/add-ons/kernel/network/interfaces/
> ethernet/*
>   loop/* -> /current/src/add-ons/kernel/network/interfaces/loopback/*
ok

> 
>   For PPP modules, I'm not sure to have a good overview of what ppp sub
> -module 
>   do what so it's difficult. However, based on what I've understand so 
> far :
> 
>   ppp/* -> /current/src/add-ons/kernel/network/protocols/ppp/*
>   ppp/serial_ppp/* -> /current/src/add-ons/kernel/network/interfaces/
> serial_ppp/*
Don't know, but I guess it's ol

>   We may should in the future reconsider how to dispatch them between 
>   "private", "os" and "posix" kind, but I guess we can say we don't 
> care yet about this.
>   I suggest this because I'm a little lost between posix'ish ones and 
> specifics (but private?) 
private are the headers that are only used by different modules, drivers or
support applications of the net kit, but not to be used by any normal
BeOS application. Everything not part of the public BeOS api goes there.
"os" is for the headers that describe classes from libnetapi.so
"posix" should be for everything else that is posix api like sockets
(assumed that posix really describes the socket api. if sockets are
not posix (but BSD), we may put it elsewhere)

> So, what do you think?
I think it is good that you ask :)

BTW, the layout of the CVS tree should match the long time goal of a kernel
stack. The compiled userland stack files can be placed in their correct
locations easily by modifying the jamfiles

Marcus



Other related posts: