RE: EXPORT_SYMBOL Vs extern?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



EXPORT_SYMBOL macro creates a new kernel symbol entry (address of the symbol, symbol) based on the value you specify and puts it in a special section of the kernel image, in __ksymtab section. When modules are loaded dynamically, the loader resolves the symbols during run time by parsing the entries of this section.

Extern can be used for non-static functions that are statically linked during compile time.

HTH,

Ani


>-----Original Message-----
>From: kernelnewbies-bounce@xxxxxxxxxxxx [mailto:kernelnewbies-
>bounce@xxxxxxxxxxxx] On Behalf Of pradeep singh
>Sent: Sunday, May 04, 2008 10:38 PM
>To: Kernel List
>Subject: EXPORT_SYMBOL Vs extern?
>
>Hi All,
>
>A Quick but perhaps dumbass query,
>
>1. int function_A(...)
>    {
>         ...;
>    }
>
>2. int function_B(...)
>    {
>         ...;
>    }
>    EXPORT_SYMBOL(function_B);
>
>Okay i understand I should use the EXPORT_SYMBOL way if i want
>function_B to be used by rest of the kernel.
>
>Now I have a doubt -
>
>Is it a compulsion for a function which need to be used in any other
>source file, exported through EXPORT_SYMBOL only?
>Does this means all the places in kernel(and there are loads of them),
>where a function is non-static and is used in other source files
>should actually be using EXPORT_SYMBOL?
>
>Thanks,
>     ~Pradeep
>--
>play the game
>
>--
>To unsubscribe from this list: send an email with
>"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
>Please read the FAQ at http://kernelnewbies.org/FAQ

��.n��������+%����w�j)p���{.n����z�ޖw�n'���q���b�������v��m�����Y�����


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux