Hi Andreas,
On Tue, May 19, 2009 at 03:40:38PM +0200, Andreas.Eversberg wrote:
let's get back to the patches. first, i decided to
use one big patch,
because the application interface requires almost all other parts to
work. what i can do is to provide single patches that will work
stand-allone, but some are dependant of earlier patches.
yes, the dependency is obviously there, don't worry about that. This is why
the order matters...
harald already did a list of parts in it's order:
* timer rename throughout the existing code
* llist header changes (why were they made? c++?)
* the transmit delay timer
* introduction of trau interface
* bsc_select_main(polling)
* paging extension with cbfn BTS pointer
* the actual MNCC interface
* installation of libbsc (this should be last, since before the other
changes it is of no use)
i will start this week to apply the changes to the latest SVN snapshot,
one by one. i will test it by calling from one mobile station to another
station. (i think that is enough.)
yes, you maybe don't even need to do that, but if you're diligent, do it :)
i will create a diff and announce it on the mailing
list. (i can also put it
on home.eversberg.eu or on the wiki, if you whish). after that i will
continue with the next step, test it and provide the next diff.
I think quilt might be the ideal tool to create this set of incremental
patches. And yes, please send each patch to the mailinglist. If you update a
patch, just send the new version.
also, i need to know about
"openbsc/openbsc.h" include file, i would
like to add. it shall only include functions and definitions relevant
for the application to use libbsc. because the application does not need
to know about libbsc internals, the pointer to the "struct gsm_net" is
of type "void". example in the first parameter of mncc_send():
int mncc_send(void *net, int msg_type, void *arg);
this header file contains structures that are used by application and
libbsc also, like:
enum gsm_bts_type
currently i copied the bootstrap code from bsc_hack.c into my LCR
application, so i need to incude more than openbsc.h there. in my case i
use a file called "bootstrap.c" which takes all the parameters to
initiate gsm network an controls bootstrapping. i think this should be
part ob libbsc in the future. if bootstrapping would be part of libbsc,
there is no need to include more than openbsc.h to use the MNCC
interface. what do you think?
My plan is to have the bootstrapping in libbsc (or whatever we will call it
in the future). Once the vty code has matured, we should be able to read and
write config files that contain the entire network setup with all its
parameters.
At least at that point, applications using libbsc (in your context, i.e. lcr
like applications) don't need to know any details, agreed.
The applications that I have in mind in fact need to know a lot more about the
details, on the other hand...
--
- Harald Welte <laforge(a)gnumonks.org>
http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)