Import 2.1.122pre3
[davej-history.git] / kernel / ksyms.c
blob1b3fb7fc94a00a84a419bf00bf5927824d157345
1 /*
2 * Herein lies all the functions/variables that are "exported" for linkage
3 * with dynamically loaded kernel modules.
4 * Jon.
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/module.h>
14 #include <linux/kernel.h>
15 #include <linux/fs.h>
16 #include <linux/blkdev.h>
17 #include <linux/cdrom.h>
18 #include <linux/sched.h>
19 #include <linux/kernel_stat.h>
20 #include <linux/mm.h>
21 #include <linux/malloc.h>
22 #include <linux/slab.h>
23 #include <linux/vmalloc.h>
24 #include <linux/ptrace.h>
25 #include <linux/sys.h>
26 #include <linux/utsname.h>
27 #include <linux/interrupt.h>
28 #include <linux/ioport.h>
29 #include <linux/timer.h>
30 #include <linux/binfmts.h>
31 #include <linux/personality.h>
32 #include <linux/termios.h>
33 #include <linux/tqueue.h>
34 #include <linux/tty.h>
35 #include <linux/serial.h>
36 #include <linux/locks.h>
37 #include <linux/string.h>
38 #include <linux/delay.h>
39 #include <linux/sem.h>
40 #include <linux/minix_fs.h>
41 #include <linux/ext2_fs.h>
42 #include <linux/random.h>
43 #include <linux/reboot.h>
44 #include <linux/mount.h>
45 #include <linux/pagemap.h>
46 #include <linux/sysctl.h>
47 #include <linux/hdreg.h>
48 #include <linux/skbuff.h>
49 #include <linux/genhd.h>
50 #include <linux/swap.h>
51 #include <linux/ctype.h>
52 #include <linux/file.h>
53 #include <linux/console.h>
54 #include <linux/time.h>
56 extern unsigned char aux_device_present, pckbd_read_mask;
58 #if defined(CONFIG_PROC_FS)
59 #include <linux/proc_fs.h>
60 #endif
61 #ifdef CONFIG_KMOD
62 #include <linux/kmod.h>
63 #endif
64 #include <asm/irq.h>
65 #ifdef __SMP__
66 #include <linux/smp.h>
67 #endif
69 extern char *get_options(char *str, int *ints);
70 extern void set_device_ro(kdev_t dev,int flag);
71 extern struct file_operations * get_blkfops(unsigned int);
72 extern int blkdev_release(struct inode * inode);
73 #if !defined(CONFIG_NFSD) && defined(CONFIG_NFSD_MODULE)
74 extern int (*do_nfsservctl)(int, void *, void *);
75 #endif
77 extern void *sys_call_table;
79 extern int sys_tz;
80 extern int request_dma(unsigned int dmanr, char * deviceID);
81 extern void free_dma(unsigned int dmanr);
83 #ifdef MODVERSIONS
84 const struct module_symbol __export_Using_Versions
85 __attribute__((section("__ksymtab"))) = {
86 1 /* Version version */, "Using_Versions"
88 #endif
91 #ifdef CONFIG_KMOD
92 EXPORT_SYMBOL(request_module);
93 #endif
95 #ifdef CONFIG_MODULES
96 EXPORT_SYMBOL(get_module_symbol);
97 #endif
98 EXPORT_SYMBOL(get_options);
100 /* process memory management */
101 EXPORT_SYMBOL(do_mmap);
102 EXPORT_SYMBOL(do_munmap);
103 EXPORT_SYMBOL(exit_mm);
104 EXPORT_SYMBOL(exit_files);
105 EXPORT_SYMBOL(exit_fs);
106 EXPORT_SYMBOL(exit_sighand);
108 /* internal kernel memory management */
109 EXPORT_SYMBOL(__get_free_pages);
110 EXPORT_SYMBOL(free_pages);
111 EXPORT_SYMBOL(__free_page);
112 EXPORT_SYMBOL(kmem_find_general_cachep);
113 EXPORT_SYMBOL(kmem_cache_create);
114 EXPORT_SYMBOL(kmem_cache_shrink);
115 EXPORT_SYMBOL(kmem_cache_alloc);
116 EXPORT_SYMBOL(kmem_cache_free);
117 EXPORT_SYMBOL(kmalloc);
118 EXPORT_SYMBOL(kfree);
119 EXPORT_SYMBOL(kfree_s);
120 EXPORT_SYMBOL(vmalloc);
121 EXPORT_SYMBOL(vfree);
122 EXPORT_SYMBOL(mem_map);
123 EXPORT_SYMBOL(remap_page_range);
124 EXPORT_SYMBOL(max_mapnr);
125 EXPORT_SYMBOL(high_memory);
126 EXPORT_SYMBOL(update_vm_cache);
127 EXPORT_SYMBOL(vmtruncate);
129 /* filesystem internal functions */
130 EXPORT_SYMBOL(update_atime);
131 EXPORT_SYMBOL(get_super);
132 EXPORT_SYMBOL(getname);
133 EXPORT_SYMBOL(putname);
134 EXPORT_SYMBOL(__fput);
135 EXPORT_SYMBOL(iget);
136 EXPORT_SYMBOL(iput);
137 EXPORT_SYMBOL(__namei);
138 EXPORT_SYMBOL(lookup_dentry);
139 EXPORT_SYMBOL(open_namei);
140 EXPORT_SYMBOL(sys_close);
141 EXPORT_SYMBOL(d_alloc_root);
142 EXPORT_SYMBOL(d_delete);
143 EXPORT_SYMBOL(d_validate);
144 EXPORT_SYMBOL(d_add);
145 EXPORT_SYMBOL(d_move);
146 EXPORT_SYMBOL(d_instantiate);
147 EXPORT_SYMBOL(d_alloc);
148 EXPORT_SYMBOL(d_lookup);
149 EXPORT_SYMBOL(d_path);
150 EXPORT_SYMBOL(__mark_inode_dirty);
151 EXPORT_SYMBOL(get_empty_filp);
152 EXPORT_SYMBOL(init_private_file);
153 EXPORT_SYMBOL(insert_file_free);
154 EXPORT_SYMBOL(check_disk_change);
155 EXPORT_SYMBOL(invalidate_buffers);
156 EXPORT_SYMBOL(invalidate_inodes);
157 EXPORT_SYMBOL(invalidate_inode_pages);
158 EXPORT_SYMBOL(truncate_inode_pages);
159 EXPORT_SYMBOL(fsync_dev);
160 EXPORT_SYMBOL(permission);
161 EXPORT_SYMBOL(inode_setattr);
162 EXPORT_SYMBOL(inode_change_ok);
163 EXPORT_SYMBOL(write_inode_now);
164 EXPORT_SYMBOL(notify_change);
165 EXPORT_SYMBOL(get_hardblocksize);
166 EXPORT_SYMBOL(set_blocksize);
167 EXPORT_SYMBOL(getblk);
168 EXPORT_SYMBOL(bread);
169 EXPORT_SYMBOL(breada);
170 EXPORT_SYMBOL(__brelse);
171 EXPORT_SYMBOL(__bforget);
172 EXPORT_SYMBOL(ll_rw_block);
173 EXPORT_SYMBOL(__wait_on_buffer);
174 EXPORT_SYMBOL(mark_buffer_uptodate);
175 EXPORT_SYMBOL(add_blkdev_randomness);
176 EXPORT_SYMBOL(generic_file_read);
177 EXPORT_SYMBOL(generic_file_write);
178 EXPORT_SYMBOL(generic_file_mmap);
179 EXPORT_SYMBOL(generic_readpage);
180 EXPORT_SYMBOL(file_lock_table);
181 EXPORT_SYMBOL(posix_lock_file);
182 EXPORT_SYMBOL(posix_test_lock);
183 EXPORT_SYMBOL(posix_block_lock);
184 EXPORT_SYMBOL(posix_unblock_lock);
185 EXPORT_SYMBOL(locks_remove_flock);
186 EXPORT_SYMBOL(dput);
187 EXPORT_SYMBOL(get_cached_page);
188 EXPORT_SYMBOL(put_cached_page);
189 EXPORT_SYMBOL(is_root_busy);
190 EXPORT_SYMBOL(prune_dcache);
191 EXPORT_SYMBOL(shrink_dcache_sb);
192 EXPORT_SYMBOL(shrink_dcache_parent);
193 EXPORT_SYMBOL(find_inode_number);
194 EXPORT_SYMBOL(is_subdir);
196 #if !defined(CONFIG_NFSD) && defined(CONFIG_NFSD_MODULE)
197 EXPORT_SYMBOL(do_nfsservctl);
198 #endif
200 /* device registration */
201 EXPORT_SYMBOL(register_chrdev);
202 EXPORT_SYMBOL(unregister_chrdev);
203 EXPORT_SYMBOL(register_blkdev);
204 EXPORT_SYMBOL(unregister_blkdev);
205 EXPORT_SYMBOL(tty_register_driver);
206 EXPORT_SYMBOL(tty_unregister_driver);
207 EXPORT_SYMBOL(tty_std_termios);
209 /* block device driver support */
210 EXPORT_SYMBOL(block_read);
211 EXPORT_SYMBOL(block_write);
212 EXPORT_SYMBOL(block_fsync);
213 EXPORT_SYMBOL(wait_for_request);
214 EXPORT_SYMBOL(blksize_size);
215 EXPORT_SYMBOL(hardsect_size);
216 EXPORT_SYMBOL(blk_size);
217 EXPORT_SYMBOL(blk_dev);
218 EXPORT_SYMBOL(is_read_only);
219 EXPORT_SYMBOL(set_device_ro);
220 EXPORT_SYMBOL(bmap);
221 EXPORT_SYMBOL(sync_dev);
222 EXPORT_SYMBOL(get_blkfops);
223 EXPORT_SYMBOL(blkdev_open);
224 EXPORT_SYMBOL(blkdev_release);
225 EXPORT_SYMBOL(gendisk_head);
226 EXPORT_SYMBOL(resetup_one_dev);
227 EXPORT_SYMBOL(unplug_device);
228 EXPORT_SYMBOL(make_request);
229 EXPORT_SYMBOL(tq_disk);
230 EXPORT_SYMBOL(find_buffer);
231 EXPORT_SYMBOL(init_buffer);
232 EXPORT_SYMBOL(max_sectors);
233 EXPORT_SYMBOL(max_readahead);
235 /* tty routines */
236 EXPORT_SYMBOL(tty_hangup);
237 EXPORT_SYMBOL(tty_wait_until_sent);
238 EXPORT_SYMBOL(tty_check_change);
239 EXPORT_SYMBOL(tty_hung_up_p);
240 EXPORT_SYMBOL(tty_flip_buffer_push);
241 EXPORT_SYMBOL(tty_get_baud_rate);
242 EXPORT_SYMBOL(do_SAK);
243 EXPORT_SYMBOL(console_print);
245 /* filesystem registration */
246 EXPORT_SYMBOL(register_filesystem);
247 EXPORT_SYMBOL(unregister_filesystem);
249 /* executable format registration */
250 EXPORT_SYMBOL(register_binfmt);
251 EXPORT_SYMBOL(unregister_binfmt);
252 EXPORT_SYMBOL(search_binary_handler);
253 EXPORT_SYMBOL(prepare_binprm);
254 EXPORT_SYMBOL(compute_creds);
255 EXPORT_SYMBOL(remove_arg_zero);
257 /* execution environment registration */
258 EXPORT_SYMBOL(lookup_exec_domain);
259 EXPORT_SYMBOL(register_exec_domain);
260 EXPORT_SYMBOL(unregister_exec_domain);
262 /* sysctl table registration */
263 EXPORT_SYMBOL(register_sysctl_table);
264 EXPORT_SYMBOL(unregister_sysctl_table);
265 EXPORT_SYMBOL(sysctl_string);
266 EXPORT_SYMBOL(sysctl_intvec);
267 EXPORT_SYMBOL(proc_dostring);
268 EXPORT_SYMBOL(proc_dointvec);
269 EXPORT_SYMBOL(proc_dointvec_jiffies);
270 EXPORT_SYMBOL(proc_dointvec_minmax);
272 /* interrupt handling */
273 EXPORT_SYMBOL(request_irq);
274 EXPORT_SYMBOL(free_irq);
275 EXPORT_SYMBOL(probe_irq_on);
276 EXPORT_SYMBOL(probe_irq_off);
277 EXPORT_SYMBOL(bh_active);
278 EXPORT_SYMBOL(bh_mask);
279 EXPORT_SYMBOL(bh_mask_count);
280 EXPORT_SYMBOL(bh_base);
281 EXPORT_SYMBOL(add_timer);
282 EXPORT_SYMBOL(del_timer);
283 EXPORT_SYMBOL(mod_timer);
284 EXPORT_SYMBOL(tq_timer);
285 EXPORT_SYMBOL(tq_immediate);
286 EXPORT_SYMBOL(tq_scheduler);
287 EXPORT_SYMBOL(timer_active);
288 EXPORT_SYMBOL(timer_table);
290 #ifdef __SMP__
291 /* Various random spinlocks we want to export */
292 EXPORT_SYMBOL(tqueue_lock);
293 EXPORT_SYMBOL(waitqueue_lock);
294 #endif
296 /* autoirq from drivers/net/auto_irq.c */
297 EXPORT_SYMBOL(autoirq_setup);
298 EXPORT_SYMBOL(autoirq_report);
300 /* dma handling */
301 EXPORT_SYMBOL(request_dma);
302 EXPORT_SYMBOL(free_dma);
303 #ifdef HAVE_DISABLE_HLT
304 EXPORT_SYMBOL(disable_hlt);
305 EXPORT_SYMBOL(enable_hlt);
306 #endif
308 /* IO port handling */
309 EXPORT_SYMBOL(check_region);
310 EXPORT_SYMBOL(request_region);
311 EXPORT_SYMBOL(release_region);
313 /* process management */
314 EXPORT_SYMBOL(__wake_up);
315 EXPORT_SYMBOL(sleep_on);
316 EXPORT_SYMBOL(interruptible_sleep_on);
317 EXPORT_SYMBOL(schedule);
318 EXPORT_SYMBOL(jiffies);
319 EXPORT_SYMBOL(xtime);
320 EXPORT_SYMBOL(do_gettimeofday);
321 EXPORT_SYMBOL(loops_per_sec);
322 EXPORT_SYMBOL(kstat);
324 /* misc */
325 EXPORT_SYMBOL(panic);
326 EXPORT_SYMBOL(printk);
327 EXPORT_SYMBOL(sprintf);
328 EXPORT_SYMBOL(vsprintf);
329 EXPORT_SYMBOL(kdevname);
330 EXPORT_SYMBOL(simple_strtoul);
331 EXPORT_SYMBOL(system_utsname); /* UTS data */
332 EXPORT_SYMBOL(uts_sem); /* UTS semaphore */
333 EXPORT_SYMBOL(sys_call_table);
334 EXPORT_SYMBOL(machine_restart);
335 EXPORT_SYMBOL(machine_halt);
336 EXPORT_SYMBOL(machine_power_off);
337 EXPORT_SYMBOL(register_reboot_notifier);
338 EXPORT_SYMBOL(unregister_reboot_notifier);
339 EXPORT_SYMBOL(_ctype);
340 EXPORT_SYMBOL(secure_tcp_sequence_number);
341 EXPORT_SYMBOL(get_random_bytes);
342 EXPORT_SYMBOL(securebits);
344 /* Program loader interfaces */
345 EXPORT_SYMBOL(setup_arg_pages);
346 EXPORT_SYMBOL(copy_strings);
347 EXPORT_SYMBOL(do_execve);
348 EXPORT_SYMBOL(flush_old_exec);
349 EXPORT_SYMBOL(open_dentry);
350 EXPORT_SYMBOL(read_exec);
352 /* Miscellaneous access points */
353 EXPORT_SYMBOL(si_meminfo);
355 /* Added to make file system as module */
356 EXPORT_SYMBOL(set_writetime);
357 EXPORT_SYMBOL(sys_tz);
358 EXPORT_SYMBOL(__wait_on_super);
359 EXPORT_SYMBOL(file_fsync);
360 EXPORT_SYMBOL(clear_inode);
361 EXPORT_SYMBOL(refile_buffer);
362 EXPORT_SYMBOL(nr_async_pages);
363 EXPORT_SYMBOL(___strtok);
364 EXPORT_SYMBOL(init_fifo);
365 EXPORT_SYMBOL(fifo_inode_operations);
366 EXPORT_SYMBOL(chrdev_inode_operations);
367 EXPORT_SYMBOL(blkdev_inode_operations);
368 EXPORT_SYMBOL(read_ahead);
369 EXPORT_SYMBOL(get_hash_table);
370 EXPORT_SYMBOL(get_empty_inode);
371 EXPORT_SYMBOL(insert_inode_hash);
372 EXPORT_SYMBOL(remove_inode_hash);
373 EXPORT_SYMBOL(make_bad_inode);
374 EXPORT_SYMBOL(is_bad_inode);
375 EXPORT_SYMBOL(event);
376 EXPORT_SYMBOL(__down);
377 EXPORT_SYMBOL(__up);
379 /* all busmice */
380 EXPORT_SYMBOL(add_mouse_randomness);
381 EXPORT_SYMBOL(fasync_helper);
383 #ifdef CONFIG_PSMOUSE_MODULE
384 /* psaux mouse */
385 EXPORT_SYMBOL(aux_device_present);
386 #ifdef CONFIG_VT
387 EXPORT_SYMBOL(pckbd_read_mask);
388 #endif
389 #endif
391 #ifdef CONFIG_BLK_DEV_MD
392 EXPORT_SYMBOL(disk_name); /* for md.c */
393 #endif
395 /* binfmt_aout */
396 EXPORT_SYMBOL(get_write_access);
397 EXPORT_SYMBOL(put_write_access);
399 /* dynamic registering of consoles */
400 EXPORT_SYMBOL(register_console);
401 EXPORT_SYMBOL(unregister_console);
403 /* time */
404 EXPORT_SYMBOL(get_fast_time);
406 /* library functions */
407 EXPORT_SYMBOL(strnicmp);