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_peek
skb_peek_tail
skb_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_atomic
register_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_symlink
devfs_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