Only definitions that are inside an implementation block actually have name
mangling occur.

So if you pull the function outside (or the forward reference definition
outside) then it won't be mangled and it should then work as you desire.

But do follow Michael's advise, you should be able to do reasonable mailing
list searching at mail-archive.com.

eric


2012/1/10 Anna Förster <[email protected]>

> Hi all,
>
> I am trying to implement a tinyos interface to a software library. The
> problem I am currently facing is that the NesC compiler re-names all
> functions like this:
>
> in BlinkC.nc I define for example MY_FUNCTION
> And then it is converted to BLINKC_MY_FUNCTION
>
> Well, what I am actually trying to do is the following simple scenario:
>
> An external C file uses an interface function, which needs to be defined
> in Tinyos, let's say interface_function(). To compile the C file, I have
> defined a INTERFACE.H file, where I only declare the function, but do not
> impelment it. Then, in the tinyos code, I want to implement it by putting
> exactly this fucntion into the implementation of the TinyOS component.
>
> What happens is that the linker cannot find the implementation of this
> fucntion, because NesC has renamed its implementation to
> BlinkC__interface_function().
>
> Any ideas of how to handle this?! Any other possibilities of how to
> implement a tinyos function and call it from an external file?
>
> Thanks a lot,
> Anna
> --
> Dr. Anna Förster
> PostDoctoral Researcher
> Networking Laboratory, SUPSI
> Via Cantonale, Galleria 2
> Manno, Switzerland
> Tel. + 41 58 666 6597
> http://www.dti.supsi.ch/~afoerste/
>
>
> _______________________________________________
> Tinyos-help mailing list
> [email protected]
> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>



-- 
Eric B. Decker
Senior (over 50 :-) Researcher
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to