2 * Herein lies all the functions/variables that are "exported" for linkage
3 * with dynamically loaded kernel modules.
6 * - Stacked module support and unified symbol table added (June 1994)
7 * - External symbol table support added (December 1994)
8 * - Versions on symbols added (December 1994)
9 * by Bjorn Ekwall <bj0rn@blox.se>
12 #include <linux/config.h>
13 #include <linux/slab.h>
14 #include <linux/module.h>
15 #include <linux/blkdev.h>
16 #include <linux/cdrom.h>
17 #include <linux/kernel_stat.h>
18 #include <linux/vmalloc.h>
19 #include <linux/sys.h>
20 #include <linux/utsname.h>
21 #include <linux/interrupt.h>
22 #include <linux/ioport.h>
23 #include <linux/serial.h>
24 #include <linux/delay.h>
25 #include <linux/random.h>
26 #include <linux/reboot.h>
27 #include <linux/pagemap.h>
28 #include <linux/sysctl.h>
29 #include <linux/hdreg.h>
30 #include <linux/skbuff.h>
31 #include <linux/genhd.h>
32 #include <linux/blkpg.h>
33 #include <linux/swap.h>
34 #include <linux/pagevec.h>
35 #include <linux/ctype.h>
36 #include <linux/file.h>
37 #include <linux/console.h>
38 #include <linux/poll.h>
39 #include <linux/mmzone.h>
41 #include <linux/capability.h>
42 #include <linux/highuid.h>
43 #include <linux/uio.h>
44 #include <linux/tty.h>
45 #include <linux/in6.h>
46 #include <linux/binfmts.h>
47 #include <linux/namei.h>
48 #include <linux/buffer_head.h>
49 #include <linux/root_dev.h>
50 #include <linux/percpu.h>
51 #include <linux/smp_lock.h>
52 #include <linux/dnotify.h>
53 #include <linux/mount.h>
54 #include <linux/ptrace.h>
55 #include <linux/time.h>
56 #include <linux/backing-dev.h>
57 #include <linux/percpu_counter.h>
58 #include <asm/checksum.h>
60 #if defined(CONFIG_PROC_FS)
61 #include <linux/proc_fs.h>
64 #include <linux/kmod.h>
67 extern struct timezone sys_tz
;
69 extern int panic_timeout
;
71 /* process memory management */
72 EXPORT_SYMBOL(do_mmap_pgoff
);
73 EXPORT_SYMBOL(do_munmap
);
74 EXPORT_SYMBOL(do_brk
);
75 EXPORT_SYMBOL(exit_mm
);
76 EXPORT_SYMBOL_GPL(exit_fs
);
77 EXPORT_SYMBOL_GPL(copy_fs_struct
);
79 /* internal kernel memory management */
80 EXPORT_SYMBOL(__alloc_pages
);
81 EXPORT_SYMBOL(__get_free_pages
);
82 EXPORT_SYMBOL(get_zeroed_page
);
83 EXPORT_SYMBOL(__page_cache_release
);
84 EXPORT_SYMBOL(__pagevec_lru_add
);
85 EXPORT_SYMBOL(__free_pages
);
86 EXPORT_SYMBOL(free_pages
);
87 EXPORT_SYMBOL(num_physpages
);
88 EXPORT_SYMBOL(kmem_find_general_cachep
);
89 EXPORT_SYMBOL(kmem_cache_create
);
90 EXPORT_SYMBOL(kmem_cache_destroy
);
91 EXPORT_SYMBOL(kmem_cache_shrink
);
92 EXPORT_SYMBOL(kmem_cache_alloc
);
93 EXPORT_SYMBOL(kmem_cache_free
);
94 EXPORT_SYMBOL(kmem_cache_size
);
95 EXPORT_SYMBOL(set_shrinker
);
96 EXPORT_SYMBOL(remove_shrinker
);
97 EXPORT_SYMBOL(malloc_sizes
);
98 EXPORT_SYMBOL(__kmalloc
);
101 EXPORT_SYMBOL(__alloc_percpu
);
102 EXPORT_SYMBOL(free_percpu
);
103 EXPORT_SYMBOL(percpu_counter_mod
);
105 EXPORT_SYMBOL(vfree
);
106 EXPORT_SYMBOL(__vmalloc
);
107 EXPORT_SYMBOL(vmalloc
);
108 EXPORT_SYMBOL(vmalloc_32
);
110 EXPORT_SYMBOL(vunmap
);
111 EXPORT_SYMBOL(vmalloc_to_page
);
112 EXPORT_SYMBOL(remap_page_range
);
113 #ifndef CONFIG_DISCONTIGMEM
114 EXPORT_SYMBOL(contig_page_data
);
115 EXPORT_SYMBOL(mem_map
);
116 EXPORT_SYMBOL(max_mapnr
);
118 EXPORT_SYMBOL(high_memory
);
119 EXPORT_SYMBOL(vmtruncate
);
120 EXPORT_SYMBOL(find_vma
);
121 EXPORT_SYMBOL(get_unmapped_area
);
122 EXPORT_SYMBOL(init_mm
);
123 EXPORT_SYMBOL(blk_queue_bounce
);
124 EXPORT_SYMBOL(blk_congestion_wait
);
125 #ifdef CONFIG_HIGHMEM
126 EXPORT_SYMBOL(kmap_high
);
127 EXPORT_SYMBOL(kunmap_high
);
128 EXPORT_SYMBOL(highmem_start_page
);
129 EXPORT_SYMBOL(kmap_prot
);
130 EXPORT_SYMBOL(kmap_pte
);
132 #ifdef HASHED_PAGE_VIRTUAL
133 EXPORT_SYMBOL(page_address
);
135 EXPORT_SYMBOL(get_user_pages
);
137 /* filesystem internal functions */
138 EXPORT_SYMBOL(dcache_lock
);
139 EXPORT_SYMBOL(invalidate_inode_pages
);
140 EXPORT_SYMBOL_GPL(invalidate_inode_pages2
);
141 EXPORT_SYMBOL(truncate_inode_pages
);
142 EXPORT_SYMBOL(file_ra_state_init
);
143 EXPORT_SYMBOL(ROOT_DEV
);
144 EXPORT_SYMBOL(read_cache_pages
);
145 EXPORT_SYMBOL(mark_page_accessed
);
147 /* for stackable file systems (lofs, wrapfs, cryptfs, etc.) */
148 EXPORT_SYMBOL(lock_page
);
150 /* device registration */
151 EXPORT_SYMBOL(register_blkdev
);
152 EXPORT_SYMBOL(unregister_blkdev
);
153 EXPORT_SYMBOL(tty_register_driver
);
154 EXPORT_SYMBOL(tty_unregister_driver
);
155 EXPORT_SYMBOL(tty_std_termios
);
157 /* block device driver support */
158 EXPORT_SYMBOL_GPL(default_backing_dev_info
);
161 EXPORT_SYMBOL(tty_wait_until_sent
);
162 EXPORT_SYMBOL(tty_flip_buffer_push
);
164 /* interrupt handling */
165 EXPORT_SYMBOL(request_irq
);
166 EXPORT_SYMBOL(free_irq
);
168 /* waitqueue handling */
169 EXPORT_SYMBOL(add_wait_queue
);
170 EXPORT_SYMBOL(add_wait_queue_exclusive
);
171 EXPORT_SYMBOL(remove_wait_queue
);
172 EXPORT_SYMBOL(prepare_to_wait
);
173 EXPORT_SYMBOL(prepare_to_wait_exclusive
);
174 EXPORT_SYMBOL(finish_wait
);
175 EXPORT_SYMBOL(autoremove_wake_function
);
177 /* The notion of irq probe/assignment is foreign to S/390 */
179 #if !defined(CONFIG_ARCH_S390)
180 EXPORT_SYMBOL(probe_irq_on
);
181 EXPORT_SYMBOL(probe_irq_off
);
185 EXPORT_SYMBOL(del_timer_sync
);
187 EXPORT_SYMBOL(del_timer
);
188 EXPORT_SYMBOL(mod_timer
);
189 EXPORT_SYMBOL(__mod_timer
);
191 #ifdef HAVE_DISABLE_HLT
192 EXPORT_SYMBOL(disable_hlt
);
193 EXPORT_SYMBOL(enable_hlt
);
196 /* resource handling */
197 EXPORT_SYMBOL(request_resource
);
198 EXPORT_SYMBOL(release_resource
);
199 EXPORT_SYMBOL(allocate_resource
);
200 EXPORT_SYMBOL(__request_region
);
201 EXPORT_SYMBOL(__check_region
);
202 EXPORT_SYMBOL(__release_region
);
203 EXPORT_SYMBOL(ioport_resource
);
204 EXPORT_SYMBOL(iomem_resource
);
206 /* process management */
207 EXPORT_SYMBOL(complete_and_exit
);
208 EXPORT_SYMBOL(schedule_timeout
);
209 #if defined(CONFIG_SMP) || defined(CONFIG_PREEMPT)
210 EXPORT_SYMBOL(kernel_flag
);
212 EXPORT_SYMBOL(jiffies
);
213 EXPORT_SYMBOL(jiffies_64
);
214 EXPORT_SYMBOL(xtime
);
215 EXPORT_SYMBOL(xtime_lock
);
216 EXPORT_SYMBOL(do_gettimeofday
);
217 EXPORT_SYMBOL(do_settimeofday
);
218 #if (BITS_PER_LONG < 64)
219 EXPORT_SYMBOL(get_jiffies_64
);
221 #if !defined(__ia64__)
222 EXPORT_SYMBOL(loops_per_jiffy
);
226 EXPORT_SYMBOL(panic
);
227 EXPORT_SYMBOL(panic_notifier_list
);
228 EXPORT_SYMBOL(panic_timeout
);
229 EXPORT_SYMBOL(sprintf
);
230 EXPORT_SYMBOL(snprintf
);
231 EXPORT_SYMBOL(sscanf
);
232 EXPORT_SYMBOL(vsprintf
);
233 EXPORT_SYMBOL(vsnprintf
);
234 EXPORT_SYMBOL(vsscanf
);
235 EXPORT_SYMBOL(simple_strtoull
);
236 EXPORT_SYMBOL(simple_strtoul
);
237 EXPORT_SYMBOL(simple_strtol
);
238 EXPORT_SYMBOL(system_utsname
); /* UTS data */
239 EXPORT_SYMBOL(uts_sem
); /* UTS semaphore */
240 EXPORT_SYMBOL(machine_restart
);
241 EXPORT_SYMBOL(machine_halt
);
242 EXPORT_SYMBOL(machine_power_off
);
243 EXPORT_SYMBOL(_ctype
);
244 EXPORT_SYMBOL(secure_tcp_sequence_number
);
245 EXPORT_SYMBOL(get_random_bytes
);
246 EXPORT_SYMBOL(securebits
);
247 EXPORT_SYMBOL(cap_bset
);
248 EXPORT_SYMBOL(daemonize
);
249 EXPORT_SYMBOL(csum_partial
); /* for networking and md */
251 /* Miscellaneous access points */
252 EXPORT_SYMBOL(si_meminfo
);
254 /* Added to make file system as module */
255 EXPORT_SYMBOL(sys_tz
);
258 EXPORT_SYMBOL(overflowuid
);
259 EXPORT_SYMBOL(overflowgid
);
261 EXPORT_SYMBOL(fs_overflowuid
);
262 EXPORT_SYMBOL(fs_overflowgid
);
264 /* library functions */
265 EXPORT_SYMBOL(strnicmp
);
266 EXPORT_SYMBOL(strspn
);
267 EXPORT_SYMBOL(strsep
);
269 /* software interrupts */
270 EXPORT_SYMBOL(tasklet_init
);
271 EXPORT_SYMBOL(tasklet_kill
);
272 EXPORT_SYMBOL(do_softirq
);
273 EXPORT_SYMBOL(raise_softirq
);
274 EXPORT_SYMBOL(open_softirq
);
275 EXPORT_SYMBOL(raise_softirq_irqoff
);
276 EXPORT_SYMBOL(__tasklet_schedule
);
277 EXPORT_SYMBOL(__tasklet_hi_schedule
);
279 /* init task, for moving kthread roots - ought to export a function ?? */
280 EXPORT_SYMBOL(init_task
);
282 EXPORT_SYMBOL(tasklist_lock
);
283 EXPORT_SYMBOL(find_task_by_pid
);
284 EXPORT_SYMBOL(next_thread
);
285 #if defined(CONFIG_SMP) && defined(__GENERIC_PER_CPU)
286 EXPORT_SYMBOL(__per_cpu_offset
);
290 EXPORT_SYMBOL(dump_stack
);
291 EXPORT_SYMBOL(ptrace_notify
);
292 EXPORT_SYMBOL(console_printk
);
294 EXPORT_SYMBOL(current_kernel_time
);