The Linux Kernel API

Table of Contents
1. The Linux VFS
The Directory Cache
d_invalidate — invalidate a dentry d_find_alias — grab a hashed alias of inode prune_dcache — shrink the dcache shrink_dcache_sb — shrink dcache for a superblock have_submounts — check for mounts over a dentry shrink_dcache_parent — prune dcache d_alloc — allocate a dcache entry d_instantiate — fill in inode information for a dentry d_alloc_root — allocate root dentry d_lookup — search for a dentry d_validate — verify dentry provided from insecure source d_delete — delete a dentry d_rehash — add an entry back to the hash d_move — move a dentry __d_path — return the path of a dentry is_subdir — is new dentry a subdirectory of old_dentry find_inode_number — check for dentry with name d_drop — drop a dentry d_add — add dentry to hash queues dget — get a reference to a dentry d_unhashed — is dentry hashed
Inode Handling
__mark_inode_dirty — internal function write_inode_now — write an inode to disk clear_inode — clear an inode invalidate_inodes — discard the inodes on a device get_empty_inode — obtain an inode iunique — get a unique inode number insert_inode_hash — hash an inode remove_inode_hash — remove an inode from the hash iput — put an inode bmap — find a block number in a file update_atime — update the access time make_bad_inode — mark an inode bad due to an I/O error is_bad_inode — is an inode errored
Registration and Superblocks
register_filesystem — register a new filesystem unregister_filesystem — unregister a file system __wait_on_super — wait on a superblock get_super — get the superblock of a device get_empty_super — find empty superblocks
2. Linux Networking
Socket Buffer Functions
skb_queue_empty — check if a queue is empty skb_get — reference buffer kfree_skb — free an sk_buff skb_cloned — is the buffer a clone skb_shared — is the buffer shared skb_unshare — make a copy of a shared buffer skb_peekskb_peek_tailskb_queue_len — get queue length __skb_queue_head — queue a buffer at the list head skb_queue_head — queue a buffer at the list head __skb_queue_tail — queue a buffer at the list tail skb_queue_tail — queue a buffer at the list tail __skb_dequeue — remove from the head of the queue skb_dequeue — remove from the head of the queue skb_insert — insert a buffer skb_append — append a buffer skb_unlink — remove a buffer from a list __skb_dequeue_tail — remove from the tail of the queue skb_dequeue_tail — remove from the head of the queue skb_put — add data to a buffer skb_push — add data to the start of a buffer skb_pull — remove data from the start of a buffer skb_headroom — bytes at buffer head skb_tailroom — bytes at buffer end skb_reserve — adjust headroom skb_trim — remove end from a buffer skb_orphan — orphan a buffer skb_queue_purge — empty a list __skb_queue_purge — empty a list dev_alloc_skb — allocate an skbuff for sending skb_cow — copy a buffer if need be skb_over_panic — private function skb_under_panic — private function alloc_skb — allocate a network buffer __kfree_skb — private function skb_clone — duplicate an sk_buff skb_copy — copy an sk_buff skb_copy_expand — copy and expand sk_buff
Socket Filter
sk_run_filter — run a filter on a socket
3. Network device support
Driver Support
init_etherdev — Register ethernet device dev_add_pack — add packet handler dev_remove_pack — remove packet handler __dev_get_by_name — find a device by its name dev_get_by_name — find a device by its name dev_get — test if a device exists __dev_get_by_index — find a device by its ifindex dev_get_by_index — find a device by its ifindex dev_alloc_name — allocate a name for a device dev_alloc — allocate a network device and name netdev_state_change — device changes state dev_load — load a network module dev_open — prepare an interface for use. dev_close — shutdown an interface. register_netdevice_notifier — register a network notifier block unregister_netdevice_notifier — unregister a network notifier block dev_queue_xmit — transmit a buffer netif_rx — post buffer to the network code net_call_rx_atomicregister_gifconf — register a SIOCGIF handler netdev_set_master — set up master/slave pair dev_set_promiscuity — update promiscuity count on a device dev_set_allmulti — update allmulti count on a device dev_ioctl — network device ioctl dev_new_index — allocate an ifindex register_netdevice — register a network device netdev_finish_unregister — complete unregistration unregister_netdevice — remove device from the kernel
8390 Based Network Cards
ei_open — Open/initialize the board. ei_close — shut down network device ei_interrupt — handle the interrupts from an 8390 ethdev_init — init rest of 8390 device struct NS8390_init — initialize 8390 hardware
Synchronous PPP
sppp_input — receive and process a WAN PPP frame sppp_close — close down a synchronous PPP or Cisco HDLC link sppp_open — open a synchronous PPP or Cisco HDLC link sppp_reopen — notify of physical link loss sppp_change_mtu — Change the link MTU sppp_do_ioctl — Ioctl handler for ppp/hdlc sppp_attach — attach synchronous PPP/HDLC to a device sppp_detach — release PPP resources from a device
4. Module Loading
request_module — try to load a kernel module
5. Hardware Interfaces
Interrupt Handling
disable_irq_nosync — disable an irq without waiting disable_irq — disable an irq and wait for completion enable_irq — enable interrupt handling on an irq probe_irq_mask — scan a bitmap of interrupt lines
MTRR Handling
mtrr_add — Add a memory type region mtrr_del — delete a memory type region
PCI Support Library
pci_find_slot — locate PCI device from a given PCI slot pci_find_device — begin or continue searching for a PCI device by vendor/device id pci_find_class — begin or continue searching for a PCI device by class pci_find_parent_resource — return resource region of parent bus of given region pci_set_power_state — Set power management state of a device. pci_enable_device — Initialize device before it's used by a driver.
MCA Architecture
MCA Device Functions MCA Bus DMA
6. The Device File System
devfs_register — Register a device entry. devfs_unregister — Unregister a device entry. devfs_mk_symlinkdevfs_mk_dir — Create a directory in the devfs namespace. devfs_find_handle — Find the handle of a devfs entry. devfs_get_flags — Get the flags for a devfs entry. devfs_get_maj_min — Get the major and minor numbers for a devfs entry. devfs_get_handle_from_inode — Get the devfs handle for a VFS inode. devfs_generate_path — Generate a pathname for an entry, relative to the devfs root. devfs_get_ops — Get the device operations for a devfs entry. devfs_set_file_size — Set the file size for a devfs regular file. devfs_get_info — Get the info pointer written to private_data of @de upon open. devfs_set_info — Set the info pointer written to private_data upon open. devfs_get_parent — Get the parent device entry. devfs_get_first_child — Get the first leaf node in a directory. devfs_get_next_sibling — Get the next sibling leaf node. for a device entry. devfs_auto_unregister — Configure a devfs entry to be automatically unregistered. devfs_get_unregister_slave — Get the slave entry which will be automatically unregistered. devfs_register_chrdev — Optionally register a conventional character driver. devfs_register_blkdev — Optionally register a conventional block driver. devfs_unregister_chrdev — Optionally unregister a conventional character driver. devfs_unregister_blkdev — Optionally unregister a conventional block driver.
7. Power Management
pm_register — register a device with power management pm_unregister — unregister a device with power management pm_unregister_all — unregister all devices with matching callback pm_send — send request to a single device pm_send_all — send request to all managed devices pm_find — find a device
8. Miscellaneous Devices
misc_register — register a miscellaneous device misc_deregister — unregister a miscellaneous device
9. Video4Linux
video_register_device — register video4linux devices video_unregister_device — unregister a video4linux device
10. Sound Devices
register_sound_special — register a special sound node register_sound_mixer — register a mixer device register_sound_midi — register a midi device register_sound_dsp — register a DSP device register_sound_synth — register a synth device unregister_sound_special — unregister a special sound device unregister_sound_mixer — unregister a mixer unregister_sound_midi — unregister a midi device unregister_sound_dsp — unregister a DSP device unregister_sound_synth — unregister a synth device
11. 16x50 UART Driver
register_serial — configure a 16x50 serial port at runtime unregister_serial — deconfigure a 16x50 serial port
12. Z85230 Support Library
z8530_interrupt — Handle an interrupt from a Z8530 z8530_sync_open — Open a Z8530 channel for PIO z8530_sync_close — Close a PIO Z8530 channel z8530_sync_dma_open — Open a Z8530 for DMA I/O z8530_sync_dma_close — Close down DMA I/O z8530_sync_txdma_open — Open a Z8530 for TX driven DMA z8530_sync_txdma_close — Close down a TX driven DMA channel z8530_describe — Uniformly describe a Z8530 port z8530_init — Initialise a Z8530 device z8530_shutdown — Shutdown a Z8530 device z8530_channel_load — Load channel data z8530_null_rx — Discard a packet z8530_queue_xmit — Queue a packet z8530_get_stats — Get network statistics
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值