[olsr-dev] Re: Socket parser and HNA routes' update [QUESTIONS]

Andreas Tønnesen (spam-protected)
Tue May 15 19:06:19 CEST 2007


>From version 0.4.10 all symbols are exported to the shared libraries. This
means there is no need for a fetch function since allfunctions/data can be
accessed directly.
You can not(and you could not with the old interface either) replace any
functions per se. The only way to "override" functions is if a callback
registration scheme is not used(such as in the scheduler) where functions
are registered/deregistrerd runtime.

- Andreas

> Can someone at least tell me where the implementation of
> olsr_plugin_io has been moved to? plugin.c is disappeared from 0.5.0
> sources (in 0.4.9 there are plugin.c and olsr_plugin_io.h where all
> the constants that are used to specify which function we want to
> replace are defined)..
> I noticed that in the changelog here [1], about 0.4.10, it is said
> "Plugin interface changes. Olsrd now exports all symbols mening that
> plugins can access all olsrd functions easily."
>
> Does this "only" mean that plugins can access all the functions of
> olsrd or does it mean also that they can replace whatever function
> they want? If the last one, how?
>
> Gianni
>
> On 5/14/07, Gianni Costanzi <(spam-protected)> wrote:
>> Hi,
>> I have the following questions for you:
>> 1) Can a plugin obtain a file descriptor on a character device and
>> then register to the socket parser a function to be called when there
>> is available data on it? I think it is possible, even if the socket
>> parser is meant to call functions when there is some data on one of
>> the sockets it's controlling, since the socket parser simply invokes
>> the select syscall on a set of file descriptors..
>>
>> 2) Is it possible for a plugin to replace those functions that update
>> the routing table with the entries related to "out-of-the-mesh"
>> networks and that are propagated through HNA messages? I was reading
>> the Andreas' thesis on OLSRd and I saw that a plugin can invoke
>> "olsr_plugin_io" (for which I find the prototype in
>> src/plugin_loader.h but I can not find the implementation...) and
>> specify the olsrd function for which it wants to set or get a pointer
>> through some constants like GETF__GET_MSG_SEQNO (example shown in the
>> thesis).. where are this constants defined? Where is the
>> implementation of olsr_plugin_io? I'm looking at the 0.5.0 sources.
>>
>> Thank you in advance for any suggestion. :)
>>
>> Gianni
>>
>> --
>> --------------------------------------------------------------------------------------------------------------
>> |  Gianni Costanzi ((spam-protected))
>> |       (http://utenti.lycos.it/giannicostanzi/)
>> |
>> |  Gentoo Documentation Project (GDP) Member - Italian Translator
>> |       (http://www.gentoo.org/proj/en/gdp/)
>> |
>> |  Free Software Foundation Member #3844 (www.fsf.org)
>> |       "Free Software is a matter of Liberty not price"
>> |
>> |  Sun Valley in Rock Staff Member (www.sunvalleyinrock.net/forum)
>> --------------------------------------------------------------------------------------------------------------
>>
>
>
> --
> --------------------------------------------------------------------------------------------------------------
> |  Gianni Costanzi ((spam-protected))
> |       (http://utenti.lycos.it/giannicostanzi/)
> |
> |  Gentoo Documentation Project (GDP) Member - Italian Translator
> |       (http://www.gentoo.org/proj/en/gdp/)
> |
> |  Free Software Foundation Member #3844 (www.fsf.org)
> |       "Free Software is a matter of Liberty not price"
> |
> |  Sun Valley in Rock Staff Member (www.sunvalleyinrock.net/forum)
> --------------------------------------------------------------------------------------------------------------
>
> _______________________________________________
> olsr-dev mailing list
> (spam-protected)
> https://www.olsr.org/mailman/listinfo/olsr-dev
>






More information about the Olsr-dev mailing list