출처 : http://gnugeneration.com/books/linux/2.6.20/kernel-api/
Table of Contents
- 1. Driver Basics
- Driver Entry and Exit points
- module_init — driver initialization entry point
- module_exit — driver exit entry point
- Atomic and pointer manipulation
- atomic_read — read atomic variable
- atomic_set — set atomic variable
- atomic_add — add integer to atomic variable
- atomic_sub — subtract the atomic variable
- atomic_sub_and_test — subtract value from variable and test result
- atomic_inc — increment atomic variable
- atomic_dec — decrement atomic variable
- atomic_dec_and_test — decrement and test
- atomic_inc_and_test — increment and test
- atomic_add_negative — add and test if negative
- atomic_add_return — add and return
- atomic_add_unless — add unless the number is a given value
- get_unaligned — get value from possibly mis-aligned location
- put_unaligned — put value to a possibly mis-aligned location
- Delaying, scheduling, and timer routines
- pid_alive — check that a task structure is not stale
- is_init — check if a task structure is init
- __wake_up — wake up threads blocked on a waitqueue.
- __wake_up_sync — wake up threads blocked on a waitqueue.
- task_nice — return the nice value of a given task.
- sched_setscheduler — change the scheduling policy and/or RT priority of
- yield — yield the current processor to other threads.
- __round_jiffies — function to round jiffies to a full second
- __round_jiffies_relative — function to round jiffies to a full second
- round_jiffies — function to round jiffies to a full second
- round_jiffies_relative — function to round jiffies to a full second
- init_timer — initialize a timer.
- mod_timer — modify a timer's timeout
- del_timer — deactive a timer.
- del_timer_sync — deactivate a timer and wait for the handler to finish.
- getnstimeofday — Returns the time of day in a timespec
- do_gettimeofday — Returns the time of day in a timeval
- do_settimeofday — Sets the time of day
- schedule_timeout — sleep until timeout
- msleep — sleep safely even with waitqueue interruptions
- msleep_interruptible — sleep waiting for signals
- High-resolution timers
- ktime_set — Set a ktime_t variable from a seconds/nanoseconds value
- ktime_sub — subtract two ktime_t variables
- ktime_add — add two ktime_t variables
- ktime_add_ns — Add a scalar nanoseconds value to a ktime_t variable
- timespec_to_ktime — convert a timespec to ktime_t format
- timeval_to_ktime — convert a timeval to ktime_t format
- ktime_to_timespec — convert a ktime_t variable to timespec format
- ktime_to_timeval — convert a ktime_t variable to timeval format
- ktime_to_ns — convert a ktime_t variable to scalar nanoseconds
- struct hrtimer — the basic hrtimer structure
- struct hrtimer_sleeper — simple sleeper structure
- struct hrtimer_base — the timer base for a specific clock
- ktime_get_real — get the real (wall-) time in ktime_t format
- ktime_get_ts — get the monotonic clock in timespec format
- hrtimer_start — (re)start an relative timer on the current CPU
- hrtimer_try_to_cancel — try to deactivate a timer
- hrtimer_cancel — cancel a timer and wait for the handler to finish.
- hrtimer_get_remaining — get remaining time for the timer
- hrtimer_init — initialize a timer to the given clock
- hrtimer_get_res — get the timer resolution for a clock
- Workqueues and Kevents
- run_scheduled_work — run scheduled work synchronously
- queue_work — queue work on a workqueue
- queue_delayed_work — queue work on a workqueue after delay
- queue_delayed_work_on — queue work on specific CPU after delay
- flush_workqueue — ensure that any scheduled work has run to completion.
- destroy_workqueue — safely terminate a workqueue
- schedule_work — put work task in global workqueue
- schedule_delayed_work — put work task in global workqueue after delay
- schedule_delayed_work_on — queue work in global workqueue on CPU after delay
- cancel_rearming_delayed_workqueue — reliably kill off a delayed
- cancel_rearming_delayed_work — reliably kill off a delayed keventd
- execute_in_process_context — reliably execute the routine with user context
- Internal Functions
- reparent_to_init — Reparent the calling kernel thread to the init task
- sys_tgkill — send signal to one specific thread
- kthread_run — create and wake a thread.
- kthread_should_stop — should this kthread return now?
- kthread_create — create a kthread.
- kthread_bind — bind a just-created kthread to a cpu.
- kthread_stop — stop a thread created by
kthread_create
.
- Kernel objects manipulation
- kobject_get_path — generate and return the path associated with a given kobj
- kobject_init — initialize object.
- kobject_add — add an object to the hierarchy.
- kobject_register — initialize and add an object.
- kobject_set_name — Set the name of an object
- kobject_del — unlink kobject from hierarchy.
- kobject_unregister — remove object from hierarchy and decrement refcount.
- kobject_get — increment refcount for object.
- kobject_put — decrement refcount for object.
- kset_register — initialize and add a kset.
- kset_unregister — remove a kset.
- subsystem_register — register a subsystem.
- subsys_create_file — export sysfs attribute file.
- Kernel utility functions
- container_of — cast a member of a structure out to the containing structure
- printk — print a kernel message
- acquire_console_sem — lock the console system for exclusive use.
- release_console_sem — unlock the console system
- console_conditional_schedule — yield the CPU if required
- printk_timed_ratelimit — caller-controlled printk ratelimiting
- panic — halt the system
- atomic_notifier_chain_register — Add notifier to an atomic notifier chain
- atomic_notifier_chain_unregister — Remove notifier from an atomic notifier chain
- atomic_notifier_call_chain — Call functions in an atomic notifier chain
- blocking_notifier_chain_register — Add notifier to a blocking notifier chain
- blocking_notifier_chain_unregister — Remove notifier from a blocking notifier chain
- blocking_notifier_call_chain — Call functions in a blocking notifier chain
- raw_notifier_chain_register — Add notifier to a raw notifier chain
- raw_notifier_chain_unregister — Remove notifier from a raw notifier chain
- raw_notifier_call_chain — Call functions in a raw notifier chain
- srcu_notifier_chain_register — Add notifier to an SRCU notifier chain
- srcu_notifier_chain_unregister — Remove notifier from an SRCU notifier chain
- srcu_notifier_call_chain — Call functions in an SRCU notifier chain
- srcu_init_notifier_head — Initialize an SRCU notifier head
- register_reboot_notifier — Register function to be called at reboot time
- unregister_reboot_notifier — Unregister previously registered reboot notifier
- emergency_restart — reboot the system
- kernel_restart — reboot the system
- kernel_halt — halt the system
- kernel_power_off — power_off the system
- call_rcu — Queue an RCU callback for invocation after a grace period.
- call_rcu_bh — Queue an RCU for invocation after a quicker grace period.
- rcu_barrier — Wait until all the in-flight RCUs are complete.
- synchronize_rcu — wait until a grace period has elapsed.
- 2. Data Types
- Doubly Linked Lists
- list_add — add a new entry
- list_add_tail — add a new entry
- list_add_rcu — add a new entry to rcu-protected list
- list_add_tail_rcu — add a new entry to rcu-protected list
- list_del — deletes entry from list.
- list_del_rcu — deletes entry from list without re-initialization
- list_replace — replace old entry by new one
- list_replace_rcu — replace old entry by new one
- list_del_init — deletes entry from list and reinitialize it.
- list_move — delete from one list and add as another's head
- list_move_tail — delete from one list and add as another's tail
- list_is_last — tests whether
list
is the last entry in listhead
- list_empty — tests whether a list is empty
- list_empty_careful — tests whether a list is empty and not being modified
- list_splice — join two lists
- list_splice_init — join two lists and reinitialise the emptied list.
- list_entry — get the struct for this entry
- list_for_each — iterate over a list
- __list_for_each — iterate over a list
- list_for_each_prev — iterate over a list backwards
- list_for_each_safe — iterate over a list safe against removal of list entry
- list_for_each_entry — iterate over list of given type
- list_for_each_entry_reverse — iterate backwards over list of given type.
- list_prepare_entry — prepare a pos entry for use in list_for_each_entry_continue
- list_for_each_entry_continue — continue iteration over list of given type
- list_for_each_entry_from — iterate over list of given type from the current point
- list_for_each_entry_safe — iterate over list of given type safe against removal of list entry
- list_for_each_entry_safe_continue —
- list_for_each_entry_safe_from —
- list_for_each_entry_safe_reverse —
- list_for_each_rcu — iterate over an rcu-protected list
- list_for_each_safe_rcu —
- list_for_each_entry_rcu — iterate over rcu list of given type
- list_for_each_continue_rcu —
- hlist_del_rcu — deletes entry from hash list without re-initialization
- hlist_replace_rcu — replace old entry by new one
- hlist_add_head_rcu —
- hlist_add_before_rcu —
- hlist_add_after_rcu —
- hlist_for_each_entry — iterate over list of given type
- hlist_for_each_entry_continue — iterate over a hlist continuing after current point
- hlist_for_each_entry_from — iterate over a hlist continuing from current point
- hlist_for_each_entry_safe — iterate over list of given type safe against removal of list entry
- hlist_for_each_entry_rcu — iterate over rcu list of given type
- 3. Basic C Library Functions
- String Conversions
- simple_strtoll — convert a string to a signed long long
- simple_strtoul — convert a string to an unsigned long
- simple_strtol — convert a string to a signed long
- simple_strtoull — convert a string to an unsigned long long
- vsnprintf — Format a string and place it in a buffer
- vscnprintf — Format a string and place it in a buffer
- snprintf — Format a string and place it in a buffer
- scnprintf — Format a string and place it in a buffer
- vsprintf — Format a string and place it in a buffer
- sprintf — Format a string and place it in a buffer
- vsscanf — Unformat a buffer into a list of arguments
- sscanf — Unformat a buffer into a list of arguments
- String Manipulation
- strnicmp — Case insensitive, length-limited string comparison
- strcpy — Copy a
NUL
terminated string - strncpy — Copy a length-limited,
NUL-terminated
string - strlcpy — Copy a
NUL
terminated string into a sized buffer - strcat — Append one
NUL-terminated
string to another - strncat — Append a length-limited,
NUL-terminated
string to another - strlcat — Append a length-limited,
NUL-terminated
string to another - strcmp — Compare two strings
- strncmp — Compare two length-limited strings
- strchr — Find the first occurrence of a character in a string
- strrchr — Find the last occurrence of a character in a string
- strnchr — Find a character in a length limited string
- strstrip — Removes leading and trailing whitespace from
s
. - strlen — Find the length of a string
- strnlen — Find the length of a length-limited string
- strspn — Calculate the length of the initial substring of
s
which only - strcspn — Calculate the length of the initial substring of
s
which does - strpbrk — Find the first occurrence of a set of characters
- strsep — Split a string into tokens
- memset — Fill a region of memory with the given value
- memcpy — Copy one area of memory to another
- memmove — Copy one area of memory to another
- memcmp — Compare two areas of memory
- memscan — Find a character in an area of memory.
- strstr — Find the first substring in a
NUL
terminated string - memchr — Find a character in an area of memory.
- Bit Operations
- set_bit — Atomically set a bit in memory
- __set_bit — Set a bit in memory
- clear_bit — Clears a bit in memory
- __change_bit — Toggle a bit in memory
- change_bit — Toggle a bit in memory
- test_and_set_bit — Set a bit and return its old value
- __test_and_set_bit — Set a bit and return its old value
- test_and_clear_bit — Clear a bit and return its old value
- __test_and_clear_bit — Clear a bit and return its old value
- test_and_change_bit — Change a bit and return its old value
- test_bit — Determine whether a bit is set
- find_first_zero_bit — find the first zero bit in a memory region
- find_next_zero_bit — find the first zero bit in a memory region
- __ffs — find first bit in word.
- find_first_bit — find the first set bit in a memory region
- find_next_bit — find the first set bit in a memory region
- ffz — find first zero in word.
- ffs — find first bit set
- fls — find last bit set
- 4. Basic Kernel Library Functions
- Bitmap Operations
- bitmap_scnprintf — convert bitmap to an ASCII hex string.
- __bitmap_parse — convert an ASCII hex string into a bitmap.
- bitmap_parse_user —
- bitmap_scnlistprintf — convert bitmap to list format ASCII string
- bitmap_parselist — convert list format ASCII string to bitmap
- bitmap_remap — Apply map defined by a pair of bitmaps to another bitmap
- bitmap_bitremap — Apply map defined by a pair of bitmaps to a single bit
- bitmap_find_free_region — find a contiguous aligned mem region
- bitmap_release_region — release allocated bitmap region
- bitmap_allocate_region — allocate bitmap region
- bitmap_ord_to_pos —
- Command-line Parsing
- get_option — Parse integer from an option string
- get_options — Parse a string into a list of integers
- memparse — parse a string with mem suffixes into a number
- CRC Functions
- 5. Memory Management in Linux
- The Slab Cache
- kcalloc — allocate memory for an array. The memory is set to zero.
- kmalloc — allocate memory
- kzalloc — allocate memory. The memory is set to zero.
- kmem_cache_create — Create a cache.
- kmem_cache_shrink — Shrink a cache.
- kmem_cache_destroy — delete a cache
- kmem_cache_alloc — Allocate an object
- kmem_cache_zalloc — Allocate an object. The memory is set to zero.
- kmem_cache_free — Deallocate an object
- kfree — free previously allocated memory
- User Space Memory Access
- access_ok — Checks if a user space pointer is valid
- get_user — Get a simple variable from user space.
- put_user — Write a simple value into user space.
- __get_user — Get a simple variable from user space, with less checking.
- __put_user — Write a simple value into user space, with less checking.
- __copy_to_user — Copy a block of data into user space, with less checking.
- __copy_from_user — Copy a block of data from user space, with less checking.
- strlen_user — Get the size of a string in user space.
- __strncpy_from_user — Copy a NUL terminated string from userspace, with less checking.
- strncpy_from_user — Copy a NUL terminated string from userspace.
- clear_user — Zero a block of memory in user space.
- __clear_user — Zero a block of memory in user space, with less checking.
- strnlen_user — Get the size of a string in user space.
- copy_to_user — Copy a block of data into user space.
- copy_from_user — Copy a block of data from user space.
- More Memory Management Functions
- page_dup_rmap — duplicate pte mapping to a page
- read_cache_pages — populate an address space with some pages & start reads against them
- page_cache_readahead — generic adaptive readahead
- filemap_flush — mostly a non-blocking flush
- sync_page_range — write and wait on all pages in the passed range
- sync_page_range_nolock —
- filemap_fdatawait — wait for all under-writeback pages to complete
- add_to_page_cache — add newly allocated pagecache pages
- unlock_page — unlock a locked page
- end_page_writeback — end writeback against a page
- __lock_page — get a lock on the page, assuming we need to sleep to get it
- find_get_page — find and get a page reference
- find_trylock_page — find and lock a page
- find_lock_page — locate, pin and lock a pagecache page
- find_or_create_page — locate or add a pagecache page
- grab_cache_page_nowait — returns locked page at given index in given cache
- do_generic_mapping_read — generic file read routine
- generic_file_aio_read — generic filesystem read routine
- filemap_nopage — read in file data for page fault handling
- read_cache_page — read into page cache, fill it if needed
- try_to_release_page — release old fs-specific metadata on a page
- vm_insert_page — insert single page into user vma
- remap_pfn_range — remap kernel memory to userspace
- unmap_mapping_range — unmap the portion of all mmaps
- vmtruncate — unmap mappings “freed” by
truncate
syscall - vfree — release memory allocated by
vmalloc
- vunmap — release virtual mapping obtained by
vmap
- vmap — map an array of pages into virtually contiguous space
- vmalloc — allocate virtually contiguous memory
- vmalloc_user — allocate zeroed virtually contiguous memory for userspace
- vmalloc_node — allocate memory on a specific node
- vmalloc_32 — allocate virtually contiguous memory (32bit addressable)
- vmalloc_32_user — allocate zeroed virtually contiguous 32bit memory
- remap_vmalloc_range — map vmalloc pages to userspace
- find_next_best_node — find the next node that should appear in a given node's fallback list
- free_bootmem_with_active_regions — Call free_bootmem_node for each active range
- sparse_memory_present_with_active_regions — Call memory_present for each active range
- push_node_boundaries — Push node boundaries to at least the requested boundary
- get_pfn_range_for_nid — Return the start and end page frames for a node
- absent_pages_in_range — Return number of page frames in holes within a range
- add_active_range — Register a range of PFNs backed by physical memory
- shrink_active_range — Shrink an existing registered range of PFNs
- remove_all_active_ranges — Remove all currently registered regions
- find_min_pfn_with_active_regions — Find the minimum PFN registered
- find_max_pfn_with_active_regions — Find the maximum PFN registered
- free_area_init_nodes — Initialise all pg_data_t and zone data
- set_dma_reserve — set the specified number of pages reserved in the first zone
- setup_per_zone_pages_min — called when min_free_kbytes changes.
- mempool_create — create a memory pool
- mempool_resize — resize an existing memory pool
- mempool_destroy — deallocate a memory pool
- mempool_alloc — allocate an element from a specific memory pool
- mempool_free — return an element to the pool.
- balance_dirty_pages_ratelimited_nr — balance dirty memory state
- generic_writepages — walk the list of dirty pages of the given
- write_one_page — write out a single page and optionally wait on I/O
- truncate_inode_pages_range — truncate range of pages specified by start and
- truncate_inode_pages — truncate *all* the pages from an offset
- invalidate_inode_pages2_range — remove range of pages from an address_space
- invalidate_inode_pages2 — remove all pages from an address_space
- 6. Kernel IPC facilities
- IPC utilities
- ipc_init — initialise IPC subsystem
- ipc_init_ids — initialise IPC identifiers
- ipc_init_proc_interface — Create a proc interface for sysipc types
- ipc_findkey — find a key in an ipc identifier set
- ipc_addid — add an IPC identifier
- ipc_rmid — remove an IPC identifier
- ipc_alloc — allocate ipc space
- ipc_free — free ipc space
- ipc_rcu_alloc — allocate ipc and rcu space
- ipc_schedule_free — free ipc + rcu space
- ipc_immediate_free — free ipc + rcu space
- ipcperms — check IPC permissions
- kernel_to_ipc64_perm — convert kernel ipc permissions to user
- ipc64_perm_to_ipc_perm — convert old ipc permissions to new
- ipc_parse_version — IPC call version
- 7. FIFO Buffer
- kfifo interface
- __kfifo_reset — removes the entire FIFO contents, no locking version
- kfifo_reset — removes the entire FIFO contents
- kfifo_put — puts some data into the FIFO
- kfifo_get — gets some data from the FIFO
- __kfifo_len — returns the number of bytes available in the FIFO, no locking version
- kfifo_len — returns the number of bytes available in the FIFO
- kfifo_init — allocates a new FIFO using a preallocated buffer
- kfifo_alloc — allocates a new FIFO and its internal buffer
- kfifo_free — frees the FIFO
- __kfifo_put — puts some data into the FIFO, no locking version
- __kfifo_get — gets some data from the FIFO, no locking version
- 8. relay interface support
- relay interface
- relay_buf_empty — boolean, is the channel buffer empty?
- relay_buf_full — boolean, is the channel buffer full?
- relay_reset — reset the channel
- relay_open — create a new relay channel
- relay_switch_subbuf — switch to a new sub-buffer
- relay_subbufs_consumed — update the buffer's sub-buffers-consumed count
- relay_close — close the channel
- relay_flush — close the channel
- relay_mmap_buf — mmap channel buffer to process address space
- relay_alloc_buf — allocate a channel buffer
- relay_create_buf — allocate and initialize a channel buffer
- relay_destroy_channel — free the channel struct
- relay_destroy_buf — destroy an rchan_buf struct and associated buffer
- relay_remove_buf — remove a channel buffer
- wakeup_readers — wake up readers waiting on a channel
- __relay_reset — reset a channel buffer
- relay_close_buf — close a channel buffer
- relay_file_open — open file op for relay files
- relay_file_mmap — mmap file op for relay files
- relay_file_poll — poll file op for relay files
- relay_file_release — release file op for relay files
- relay_file_read_subbuf_avail — return bytes available in sub-buffer
- relay_file_read_start_pos — find the first available byte to read
- relay_file_read_end_pos — return the new read position
- 9. Linux Networking
- Networking Base Types
- enum sock_type — Socket types
- struct socket — general BSD socket
- Socket Buffer Functions
- struct sk_buff — socket buffer
- skb_queue_empty — check if a queue is empty
- skb_get — reference buffer
- skb_cloned — is the buffer a clone
- skb_header_cloned — is the header a clone
- skb_header_release — release reference to header
- skb_shared — is the buffer shared
- skb_share_check — check if buffer is shared and if so clone it
- skb_unshare — make a copy of a shared buffer
- skb_peek —
- skb_peek_tail —
- skb_queue_len — get queue length
- __skb_queue_after — queue a buffer at the list head
- 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
- pskb_trim_unique — remove end from a paged unique (not cloned) buffer
- skb_orphan — orphan a buffer
- __dev_alloc_skb — allocate an skbuff for receiving
- dev_alloc_skb — allocate an skbuff for receiving
- netdev_alloc_skb — allocate an skbuff for rx on a specific device
- skb_cow — copy header of skb when it is required
- skb_padto — pad an skbuff up to a minimal size
- skb_linearize — convert paged skb to linear one
- skb_linearize_cow — make sure skb is linear and writable
- skb_postpull_rcsum — update checksum for received skb after pull
- pskb_trim_rcsum — trim received skb and update checksum
- skb_get_timestamp — get timestamp from a skb
- skb_set_timestamp — set timestamp of a skb
- skb_checksum_complete — Calculate checksum of an entire packet
- struct sock_common — minimal network layer representation of sockets
- struct sock — network layer representation of sockets
- sk_filter — run a packet through a socket filter
- sk_filter_rcu_free —
- sk_filter_release —
- sk_eat_skb — Release a skb if it is no longer needed
- move_addr_to_kernel — copy a socket address into kernel space
- move_addr_to_user — copy an address to user space
- sockfd_lookup — Go from a file number to its socket slot
- sock_release — close a socket
- sock_register — add a socket protocol handler
- sock_unregister — remove a protocol handler
- skb_over_panic — private function
- skb_under_panic — private function
- __alloc_skb — allocate a network buffer
- __netdev_alloc_skb — allocate an skbuff for rx on a specific device
- __kfree_skb — private function
- kfree_skb — free an sk_buff
- skb_clone — duplicate an sk_buff
- skb_copy — create private copy of an sk_buff
- pskb_copy — create copy of an sk_buff with private head.
- pskb_expand_head — reallocate header of &sk_buff
- skb_copy_expand — copy and expand sk_buff
- skb_pad — zero pad the tail of an skb
- __pskb_pull_tail — advance tail of skb header
- skb_store_bits — store bits from kernel buffer to skb
- skb_dequeue — remove from the head of the queue
- skb_dequeue_tail — remove from the tail of the queue
- skb_queue_purge — empty a list
- skb_queue_head — queue a buffer at the list head
- skb_queue_tail — queue a buffer at the list tail
- skb_unlink — remove a buffer from a list
- skb_append — append a buffer
- skb_insert — insert a buffer
- skb_split — Split fragmented skb to two parts at length len.
- skb_prepare_seq_read — Prepare a sequential read of skb data
- skb_seq_read — Sequentially read skb data
- skb_abort_seq_read — Abort a sequential read of skb data
- skb_find_text — Find a text pattern in skb data
- skb_append_datato_frags — append the user data to a skb
- skb_pull_rcsum — pull skb and update receive checksum
- skb_segment — Perform protocol segmentation on skb.
- sk_alloc — All socket objects are allocated here
- sk_wait_data — wait for data to arrive at sk_receive_queue
- skb_recv_datagram — Receive a datagram skbuff
- skb_kill_datagram — Free a datagram skbuff forcibly
- skb_copy_datagram_iovec — Copy a datagram to an iovec.
- skb_copy_and_csum_datagram_iovec — Copy and checkum skb to user iovec.
- datagram_poll — generic datagram poll
- sk_stream_write_space — stream socket write_space callback.
- sk_stream_wait_connect — Wait for a socket to get into the connected state
- sk_stream_wait_memory — Wait for more memory for a socket
- Socket Filter
- sk_run_filter — run a filter on a socket
- sk_chk_filter — verify socket filter code
- Generic Network Statistics
- struct gnet_stats_basic — byte/packet throughput statistics
- struct gnet_stats_rate_est — rate estimator
- struct gnet_stats_queue — queuing statistics
- struct gnet_estimator — rate estimator configuration
- gnet_stats_start_copy_compat — start dumping procedure in compatibility mode
- gnet_stats_start_copy — start dumping procedure in compatibility mode
- gnet_stats_copy_basic — copy basic statistics into statistic TLV
- gnet_stats_copy_rate_est — copy rate estimator statistics into statistics TLV
- gnet_stats_copy_queue — copy queue statistics into statistics TLV
- gnet_stats_copy_app — copy application specific statistics into statistics TLV
- gnet_stats_finish_copy — finish dumping procedure
- gen_new_estimator — create a new rate estimator
- gen_kill_estimator — remove a rate estimator
- gen_replace_estimator — replace rate estimator configruation
- SUN RPC subsystem
- xdr_encode_opaque_fixed — Encode fixed length opaque data
- xdr_encode_opaque — Encode variable length opaque data
- xdr_init_encode — Initialize a struct xdr_stream for sending data.
- xdr_reserve_space — Reserve buffer space for sending
- xdr_write_pages — Insert a list of pages into an XDR buffer for sending
- xdr_init_decode — Initialize an xdr_stream for decoding data.
- xdr_inline_decode — Retrieve non-page XDR data to decode
- xdr_read_pages — Ensure page-based XDR data to decode is aligned at current pointer position
- xdr_enter_page — decode data from the XDR page
- svc_reserve — change the space reserved for the reply to a request.
- rpc_wake_up — wake up all rpc_tasks
- rpc_wake_up_status — wake up all rpc_tasks and set their status value.
- rpc_run_task — Allocate a new RPC task, then run rpc_execute against it
- 10. Network device support
- Driver Support
- dev_add_pack — add packet handler
- __dev_remove_pack — remove packet handler
- dev_remove_pack — remove packet handler
- netdev_boot_setup_check — check boot time settings
- __dev_get_by_name — find a device by its name
- dev_get_by_name — find a device by its name
- __dev_get_by_index — find a device by its ifindex
- dev_get_by_index — find a device by its ifindex
- dev_getbyhwaddr — find a device by its hardware address
- dev_get_by_flags — find any device with given flags
- dev_valid_name — check if name is okay for network device
- dev_alloc_name — allocate a name for a device
- netdev_features_change — device changes features
- 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
- skb_gso_segment — Perform segmentation on skb.
- dev_queue_xmit — transmit a buffer
- netif_rx — post buffer to the network code
- 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
- register_netdevice — register a network device
- register_netdev — register a network device
- alloc_netdev — allocate network device
- free_netdev — free network device
- unregister_netdevice — remove device from the kernel
- unregister_netdev — remove device from the kernel
- eth_type_trans — determine the packet's protocol ID.
- ether_setup — setup Ethernet network device
- alloc_etherdev — Allocates and sets up an Ethernet device
- is_zero_ether_addr — Determine if give Ethernet address is all zeros.
- is_multicast_ether_addr — Determine if the Ethernet address is a multicast.
- is_broadcast_ether_addr — Determine if the Ethernet address is broadcast
- is_valid_ether_addr — Determine if the given Ethernet address is valid
- random_ether_addr — Generate software assigned random Ethernet address
- compare_ether_addr — Compare two Ethernet addresses
- Synchronous PPP
- 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_do_ioctl — Ioctl handler for ppp/hdlc
- sppp_attach — attach synchronous PPP/HDLC to a device
- sppp_detach — release PPP resources from a device
- 11. Module Support
- Module Loading
- request_module — try to load a kernel module
- call_usermodehelper_keys — start a usermode application
- Inter Module support
- 12. Hardware Interfaces
- Interrupt Handling
- synchronize_irq — wait for pending IRQ handlers (on other CPUs)
- disable_irq_nosync — disable an irq without waiting
- disable_irq — disable an irq and wait for completion
- enable_irq — enable handling of an irq
- set_irq_wake — control irq power management wakeup
- free_irq — free an interrupt
- request_irq — allocate an interrupt line
- DMA Channels
- request_dma — request and reserve a system DMA channel
- free_dma — free a reserved system DMA channel
- Resources Management
- insert_resource — Inserts a resource in the resource tree
- request_resource — request and reserve an I/O or memory resource
- ____request_resource — reserve a resource, with resource conflict returned
- release_resource — release a previously reserved resource
- allocate_resource — allocate empty slot in the resource tree given range & alignment
- adjust_resource — modify a resource's start and size
- __request_region — create a new busy resource region
- __check_region — check if a resource region is busy or free
- __release_region — release a previously reserved resource region
- MTRR Handling
- PCI Support Library
- pci_bus_max_busnr — returns maximum PCI bus number of given bus' children
- pci_find_capability — query for devices' capabilities
- pci_bus_find_capability — query for devices' capabilities
- pci_find_ext_capability — Find an extended capability
- pci_find_next_ht_capability — query a device's Hypertransport capabilities
- pci_find_ht_capability — query a device's Hypertransport capabilities
- pci_find_parent_resource — return resource region of parent bus of given region
- pci_restore_bars — restore a devices BAR values (e.g. after wake-up)
- pci_set_power_state — Set the power state of a PCI device
- pci_choose_state — Choose the power state of a PCI device
- pci_save_state — save the PCI configuration space of a device before suspending
- pci_restore_state — Restore the saved state of a PCI device
- pci_enable_device_bars — Initialize some of a device for use
- pci_enable_device — Initialize device before it's used by a driver.
- pci_disable_device — Disable PCI device after use
- pci_enable_wake — enable device to generate PME# when suspended
- pci_release_region — Release a PCI bar
- pci_request_region — Reserved PCI I/O and memory resource
- pci_release_regions — Release reserved PCI I/O and memory resources
- pci_request_regions — Reserved PCI I/O and memory resources
- pci_set_master — enables bus-mastering for device dev
- pci_set_mwi — enables memory-write-invalidate PCI transaction
- pci_clear_mwi — disables Memory-Write-Invalidate for device dev
- pci_intx — enables/disables PCI INTx for device dev
- pci_match_id — See if a pci device matches a given pci_id table
- pci_match_device — Tell if a PCI device structure has a matching PCI device id structure
- __pci_register_driver — register a new pci driver
- pci_unregister_driver — unregister a pci driver
- pci_dev_driver — get the pci_driver of a device
- pci_dev_get — increments the reference count of the pci device structure
- pci_dev_put — release a use of the pci device structure
- pci_remove_bus_device — remove a PCI device and any children
- pci_remove_behind_bridge — remove all devices behind a PCI bridge
- pci_stop_bus_device — stop a PCI device and any children
- pci_osc_support_set — register OS support to Firmware
- pci_osc_control_set — commit requested control to Firmware
- pci_find_bus — locate PCI bus from a given domain and bus number
- pci_find_next_bus — begin or continue searching for a PCI bus
- pci_find_slot — locate PCI device from a given PCI slot
- pci_get_slot — locate PCI device for a given PCI slot
- pci_get_bus_and_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_get_subsys — begin or continue searching for a PCI device by vendor/subvendor/device/subdevice id
- pci_get_device — begin or continue searching for a PCI device by vendor/device id
- pci_get_device_reverse — begin or continue searching for a PCI device by vendor/device id
- pci_find_device_reverse — begin or continue searching for a PCI device by vendor/device id
- pci_get_class — begin or continue searching for a PCI device by class
- pci_dev_present — Returns 1 if device matching the device list is present, 0 if not.
- pci_enable_msi — configure device's MSI capability structure
- pci_enable_msix — configure device's MSI-X capability structure
- pci_bus_alloc_resource — allocate a resource from a parent bus
- pci_bus_add_device —
- pci_bus_add_devices — insert newly discovered PCI devices
- pci_scan_slot — scan a PCI slot on a bus for devices.
- pci_map_rom — map a PCI ROM to kernel space
- pci_map_rom_copy — map a PCI ROM to kernel space, create a copy
- pci_unmap_rom — unmap the ROM from kernel space
- pci_remove_rom — disable the ROM and remove its sysfs attribute
- PCI Hotplug Support Library
- pci_hp_register — register a hotplug_slot with the PCI hotplug subsystem
- pci_hp_deregister — deregister a hotplug_slot with the PCI hotplug subsystem
- pci_hp_change_slot_info — changes the slot's information structure in the core
- MCA Architecture
- 13. Firmware Interfaces
- DMI Interfaces
- dmi_check_system — check system DMI data
- dmi_get_system_info — return DMI data value
- dmi_name_in_vendors — Check if string is anywhere in the DMI vendor information.
- dmi_find_device — find onboard device by type/name
- 14. Security Framework
- register_security — registers a security framework with the kernel
- unregister_security — unregisters a security framework with the kernel
- mod_reg_security — allows security modules to be “stacked”
- mod_unreg_security — allows a security module registered with
mod_reg_security
to be unloaded
- 15. Audit Interfaces
- audit_log_start — obtain an audit buffer
- audit_log_format — format a message into the audit buffer.
- audit_log_end — end one audit record
- audit_log — Log an audit record
- audit_alloc — allocate an audit context block for a task
- audit_free — free a per-task audit context
- audit_syscall_entry — fill in an audit record at syscall entry
- audit_syscall_exit — deallocate audit context after a system call
- __audit_getname — add a name to the list
- __audit_inode — store the inode and device from a lookup
- __audit_inode_child — collect inode info for created/removed objects
- __audit_inode_update — update inode info for last collected name
- auditsc_get_stamp — get local copies of audit_context values
- audit_set_loginuid — set a task's audit_context loginuid
- __audit_mq_open — record audit data for a POSIX MQ open
- __audit_mq_timedsend — record audit data for a POSIX MQ timed send
- __audit_mq_timedreceive — record audit data for a POSIX MQ timed receive
- __audit_mq_notify — record audit data for a POSIX MQ notify
- __audit_mq_getsetattr — record audit data for a POSIX MQ get/set attribute
- __audit_ipc_obj — record audit data for ipc object
- __audit_ipc_set_perm — record audit data for new ipc permissions
- audit_socketcall — record audit data for sys_socketcall
- audit_sockaddr — record audit data for sys_bind, sys_connect, sys_sendto
- audit_avc_path — record the granting or denial of permissions
- __audit_signal_info — record signal info for shutting down audit subsystem
- audit_receive_filter — apply all rules to the specified message type
- 16. Accounting Framework
- sys_acct — enable/disable process accounting
- acct_auto_close_mnt — turn off a filesystem's accounting if it is on
- acct_auto_close — turn off a filesystem's accounting if it is on
- acct_init_pacct — initialize a new pacct_struct
- acct_collect — collect accounting information into pacct_struct
- acct_process — now just a wrapper around do_acct_process
- 17. Power Management
- pm_register — register a device with power management
- pm_send_all — send request to all managed devices
- 18. Device drivers infrastructure
- Device Drivers Base
- driver_for_each_device — Iterator for devices bound to a driver.
- driver_find_device — device iterator for locating a particular device.
- driver_create_file — create sysfs file for driver.
- driver_remove_file — remove sysfs file for driver.
- get_driver — increment driver reference count.
- put_driver — decrement driver's refcount.
- driver_register — register driver with bus
- driver_unregister — remove driver from system.
- driver_find — locate driver on a bus by its name.
- dev_driver_string — Return a device's driver name, if at all possible
- device_create_file — create sysfs attribute file for device.
- device_remove_file — remove sysfs attribute file.
- device_create_bin_file — create sysfs binary attribute file for device.
- device_remove_bin_file — remove sysfs binary attribute file
- device_initialize — init device structure.
- device_add — add device to device hierarchy.
- device_register — register a device with the system.
- get_device — increment reference count for device.
- put_device — decrement reference count.
- device_del — delete device from system.
- device_unregister — unregister device from system.
- device_for_each_child — device child iterator.
- device_find_child — device iterator for locating a particular device.
- device_create — creates a device and registers it with sysfs
- device_destroy — removes a device that was created with
device_create
- device_move — moves a device to a new parent
- class_create — create a struct class structure
- class_destroy — destroys a struct class structure
- class_device_create — creates a class device and registers it with sysfs
- class_device_destroy — removes a class device that was created with
class_device_create
- request_firmware — send firmware request and wait for it
- release_firmware — release the resource associated with a firmware image
- request_firmware_nowait —
- transport_class_register — register an initial transport class
- transport_class_unregister — unregister a previously registered class
- anon_transport_class_register — register an anonymous class
- anon_transport_class_unregister — unregister an anon class
- transport_setup_device — declare a new dev for transport class association
- transport_add_device — declare a new dev for transport class association
- transport_configure_device — configure an already set up device
- transport_remove_device — remove the visibility of a device
- transport_destroy_device — destroy a removed device
- dma_pool_create — Creates a pool of consistent memory blocks, for dma.
- dma_pool_destroy — destroys a pool of dma memory blocks.
- dma_pool_alloc — get a block of consistent memory
- dma_pool_free — put block back into dma pool
- sysdev_driver_register — Register auxillary driver
- sysdev_driver_unregister — Remove an auxillary driver.
- sysdev_register — add a system device to the tree
- platform_get_resource — get a resource for a device
- platform_get_irq — get an IRQ for a device
- platform_get_resource_byname — get a resource for a device by name
- platform_get_irq_byname — get an IRQ for a device
- platform_add_devices — add a numbers of platform devices
- platform_device_put —
- platform_device_alloc —
- platform_device_add_resources —
- platform_device_add_data —
- platform_device_add — add a platform device to device hierarchy
- platform_device_del — remove a platform-level device
- platform_device_register — add a platform-level device
- platform_device_unregister — unregister a platform-level device
- platform_device_register_simple —
- platform_driver_register —
- platform_driver_unregister —
- platform_driver_probe — register driver for non-hotpluggable device
- bus_for_each_dev — device iterator.
- bus_find_device — device iterator for locating a particular device.
- bus_for_each_drv — driver iterator
- bus_rescan_devices — rescan devices on the bus for possible drivers
- device_reprobe — remove driver for a device and probe for a new driver
- bus_register — register a bus with the system.
- bus_unregister — remove a bus from the system
- Device Drivers Power Management
- device_pm_set_parent — Specify power dependency.
- device_resume — Restore state of each device in system.
- device_power_up — Turn on all devices that need special attention.
- device_suspend — Save state and stop all devices in system.
- device_power_down — Shut down special devices.
- Device Drivers ACPI Support
- acpi_bus_register_driver — register a driver with the ACPI bus
- acpi_bus_unregister_driver — unregisters a driver with the APIC bus
- setup_sys_fs_device_files — sets up the device files under device namespace
- acpi_bus_match — match device IDs to driver's supported IDs
- acpi_bus_driver_init — add a device to a driver
- acpi_bus_find_driver — check if there is a driver installed for the device
- Device drivers PnP support
- pnp_register_protocol — adds a pnp protocol to the pnp layer
- pnp_unregister_protocol — removes a pnp protocol from the pnp layer
- pnp_remove_device — removes a pnp device from the pnp layer
- pnp_add_card_id — adds an EISA id to the specified card
- pnp_add_card — adds a PnP card to the PnP Layer
- pnp_remove_card — removes a PnP card from the PnP Layer
- pnp_add_card_device — adds a device to the specified card
- pnp_remove_card_device — removes a device from the specified card
- pnp_request_card_device — Searches for a PnP device under the specified card
- pnp_release_card_device — call this when the driver no longer needs the device
- pnp_register_card_driver — registers a PnP card driver with the PnP Layer
- pnp_unregister_card_driver — unregisters a PnP card driver from the PnP Layer
- pnp_add_id — adds an EISA id to the specified device
- pnp_init_resource_table — Resets a resource table to default values.
- pnp_manual_config_dev — Disables Auto Config and Manually sets the resource table
- pnp_auto_config_dev — automatically assigns resources to a device
- pnp_start_dev — low-level start of the PnP device
- pnp_stop_dev — low-level disable of the PnP device
- pnp_activate_dev — activates a PnP device for use
- pnp_disable_dev — disables device
- pnp_resource_change — change one resource
- pnp_is_active — Determines if a device is active based on its current resources
- 19. Block Devices
- blk_get_backing_dev_info — get the address of a queue's backing_dev_info
- blk_queue_prep_rq — set a prepare_request function for queue
- blk_queue_merge_bvec — set a merge_bvec function for queue
- blk_queue_make_request — define an alternate make_request function for a device
- blk_queue_ordered — does this queue support ordered writes
- blk_queue_issue_flush_fn — set function for issuing a flush
- blk_queue_bounce_limit — set bounce buffer limit for queue
- blk_queue_max_sectors — set max sectors for a request for this queue
- blk_queue_max_phys_segments — set max phys segments for a request for this queue
- blk_queue_max_hw_segments — set max hw segments for a request for this queue
- blk_queue_max_segment_size — set max segment size for blk_rq_map_sg
- blk_queue_hardsect_size — set hardware sector size for the queue
- blk_queue_stack_limits — inherit underlying queue limits for stacked drivers
- blk_queue_segment_boundary — set boundary rules for segment merging
- blk_queue_dma_alignment — set dma length and memory alignment
- blk_queue_find_tag — find a request by its tag and queue
- blk_free_tags — release a given set of tag maintenance info
- blk_queue_free_tags — release tag maintenance info
- blk_init_tags — initialize the tag info for an external tag map
- blk_queue_init_tags — initialize the queue tag info
- blk_queue_resize_tags — change the queueing depth
- blk_queue_end_tag — end tag operations for a request
- blk_queue_start_tag — find a free tag and assign it
- blk_queue_invalidate_tags — invalidate all pending tags
- generic_unplug_device — fire a request queue
- blk_start_queue — restart a previously stopped queue
- blk_stop_queue — stop a queue
- blk_sync_queue — cancel any pending callbacks on a queue
- blk_run_queue — run a single device queue
- blk_init_queue — prepare a request queue for use with a block device
- blk_start_queueing — initiate dispatch of requests to device
- blk_requeue_request — put a request back on queue
- blk_insert_request — insert a special request in to a request queue
- blk_rq_map_user — map user data to a request, for REQ_BLOCK_PC usage
- blk_rq_map_user_iov — map user data to a request, for REQ_BLOCK_PC usage
- blk_rq_unmap_user — unmap a request with user data
- blk_rq_map_kern — map kernel data to a request, for REQ_BLOCK_PC usage
- blk_execute_rq_nowait — insert a request into queue for execution
- blk_execute_rq — insert a request into queue for execution
- blkdev_issue_flush — queue a flush
- blk_end_sync_rq — executes a completion event on a request
- generic_make_request —
- submit_bio —
- end_that_request_first — end I/O on a request
- end_that_request_chunk — end I/O on a request
- blk_complete_request — end I/O on a request
- 20. Char devices
- register_chrdev_region — register a range of device numbers
- alloc_chrdev_region — register a range of char device numbers
- register_chrdev — Register a major number for character devices.
- unregister_chrdev_region — return a range of device numbers
- cdev_add — add a char device to the system
- cdev_del — remove a cdev from the system
- cdev_alloc — allocate a cdev structure
- cdev_init — initialize a cdev structure
- 21. Miscellaneous Devices
- misc_register — register a miscellaneous device
- misc_deregister — unregister a miscellaneous device
- 22. Parallel Port Devices
- parport_yield — relinquish a parallel port temporarily
- parport_yield_blocking — relinquish a parallel port temporarily
- parport_wait_event — wait for an event on a parallel port
- parport_wait_peripheral — wait for status lines to change in 35ms
- parport_negotiate — negotiate an IEEE 1284 mode
- parport_write — write a block of data to a parallel port
- parport_read — read a block of data from a parallel port
- parport_set_timeout — set the inactivity timeout for a device
- parport_register_driver — register a parallel port device driver
- parport_unregister_driver — deregister a parallel port device driver
- parport_get_port — increment a port's reference count
- parport_put_port — decrement a port's reference count
- parport_register_port — register a parallel port
- parport_announce_port — tell device drivers about a parallel port
- parport_remove_port — deregister a parallel port
- parport_register_device — register a device on a parallel port
- parport_unregister_device — deregister a device on a parallel port
- parport_find_number — find a parallel port by number
- parport_find_base — find a parallel port by base address
- parport_claim — claim access to a parallel port device
- parport_claim_or_block — claim access to a parallel port device
- parport_release — give up access to a parallel port device
- parport_open — find a device by canonical device number
- parport_close — close a device opened with
parport_open
- parport_device_num — convert device coordinates
- 23. Message-based devices
- Fusion message devices
- mpt_register — Register protocol-specific main callback handler.
- mpt_deregister — Deregister a protocol drivers resources.
- mpt_event_register — Register protocol-specific event callback
- mpt_event_deregister — Deregister protocol-specific event callback
- mpt_reset_register — Register protocol-specific IOC reset handler.
- mpt_reset_deregister — Deregister protocol-specific IOC reset handler.
- mpt_device_driver_register — Register device driver hooks
- mpt_device_driver_deregister — DeRegister device driver hooks
- mpt_get_msg_frame — Obtain a MPT request frame from the pool (of 1024)
- mpt_put_msg_frame — Send a protocol specific MPT request frame
- mpt_free_msg_frame — Place MPT request frame back on FreeQ.
- mpt_add_sge — Place a simple SGE at address pAddr.
- mpt_send_handshake_request — Send MPT request via doorbell handshake method.
- mpt_verify_adapter — Given IOC identifier, set pointer to its adapter structure.
- mpt_attach — Install a PCI intelligent MPT adapter.
- mpt_detach — Remove a PCI intelligent MPT adapter.
- mpt_suspend — Fusion MPT base driver suspend routine.
- mpt_resume — Fusion MPT base driver resume routine.
- mpt_GetIocState — Get the current state of a MPT adapter.
- mpt_alloc_fw_memory — allocate firmware memory
- mpt_free_fw_memory — free firmware memory
- mptbase_sas_persist_operation — Perform operation on SAS Persistent Table
- mpt_findImVolumes — Identify IDs of hidden disks and RAID Volumes
- mpt_config — Generic function to issue config message
- mpt_print_ioc_summary — Write ASCII summary of IOC to a buffer.
- mpt_HardResetHandler — Generic reset handler
- mpt_interrupt — MPT adapter (IOC) specific interrupt handler.
- mpt_base_reply — MPT base driver's callback routine
- mpt_host_page_access_control — control the IOC's Host Page Buffer access
- mpt_host_page_alloc — allocate system memory for the fw
- mpt_do_ioc_recovery — Initialize or recover MPT adapter.
- mpt_detect_bound_ports — Search for matching PCI bus/dev_function
- mpt_adapter_disable — Disable misbehaving MPT adapter.
- mpt_adapter_dispose — Free all resources associated with an MPT adapter
- MptDisplayIocCapabilities — Disply IOC's capabilities.
- MakeIocReady — Get IOC to a READY state, using KickStart if needed.
- GetIocFacts — Send IOCFacts request to MPT adapter.
- GetPortFacts — Send PortFacts request to MPT adapter.
- SendIocInit — Send IOCInit request to MPT adapter.
- SendPortEnable — Send PortEnable request to MPT adapter port.
- mpt_do_upload — Construct and Send FWUpload request to MPT adapter port.
- mpt_downloadboot — DownloadBoot code
- KickStart — Perform hard reset of MPT adapter.
- mpt_diag_reset — Perform hard reset of the adapter.
- SendIocReset — Send IOCReset request to MPT adapter.
- initChainBuffers — Allocate memory for and initialize chain buffers
- PrimeIocFifos — Initialize IOC request and reply FIFOs.
- mpt_handshake_req_reply_wait — Send MPT request to and receive reply
- WaitForDoorbellAck — Wait for IOC doorbell handshake acknowledge
- WaitForDoorbellInt — Wait for IOC to set its doorbell interrupt bit
- WaitForDoorbellReply — Wait for and capture an IOC handshake reply.
- GetLanConfigPages — Fetch LANConfig pages.
- GetIoUnitPage2 — Retrieve BIOS version and boot order information.
- mpt_GetScsiPortSettings — read SCSI Port Page 0 and 2
- mpt_readScsiDevicePageHeaders — save version and length of SDP1
- SendEventNotification — Send EventNotification (on or off) request to adapter
- SendEventAck — Send EventAck request to MPT adapter.
- mpt_timer_expired — Callback for timer process.
- mpt_ioc_reset — Base cleanup for hard reset
- procmpt_create — Create
MPT_PROCFS_MPTBASEDIR
entries. - procmpt_destroy — Tear down
MPT_PROCFS_MPTBASEDIR
entries. - procmpt_summary_read — Handle read request of a summary file
- procmpt_version_read — Handle read request from /proc/mpt/version.
- procmpt_iocinfo_read — Handle read request from /proc/mpt/iocN/info.
- ProcessEventNotification — Route EventNotificationReply to all event handlers
- mpt_fc_log_info — Log information returned from Fibre Channel IOC.
- mpt_spi_log_info — Log information returned from SCSI Parallel IOC.
- mpt_sas_log_info — Log information returned from SAS IOC.
- mpt_sp_ioc_info — IOC information returned from SCSI Parallel IOC.
- fusion_init — Fusion MPT base driver initialization routine.
- fusion_exit — Perform driver unload cleanup.
- mptscsih_info — Return information about MPT adapter
- mptscsih_proc_info — Return information about MPT adapter
- mptscsih_qcmd — Primary Fusion MPT SCSI initiator IO start routine.
- mptscsih_abort — Abort linux scsi_cmnd routine, new_eh variant
- mptscsih_dev_reset — Perform a SCSI TARGET_RESET! new_eh variant
- mptscsih_bus_reset — Perform a SCSI BUS_RESET! new_eh variant
- mptscsih_host_reset — Perform a SCSI host adapter RESET (new_eh variant)
- mptscsih_taskmgmt_complete — Registered with Fusion MPT base driver
- mptscsih_add_sge — Place a simple SGE at address pAddr.
- mptscsih_add_chain — Place a chain SGE at address pAddr.
- mptscsih_tm_pending_wait — wait for pending task management request to complete
- mptscsih_tm_wait_for_completion — wait for completion of TM task
- mptscsih_do_cmd — Do internal command.
- mptscsih_synchronize_cache — Send SYNCHRONIZE_CACHE to all disks.
- mptctl_syscall_down — Down the MPT adapter syscall semaphore.
- mptspi_init — Register MPT adapter(s) as SCSI host(s) with SCSI mid-layer.
- mptspi_exit — Unregisters MPT adapter(s)
- mptfc_init — Register MPT adapter(s) as SCSI host(s) with SCSI mid-layer.
- mptfc_remove — Remove fc infrastructure for devices
- mptfc_exit — Unregisters MPT adapter(s)
- lan_reply — Handle all data sent from the hardware.
- I2O message devices
- i2o_sg_tablesize — Calculate the maximum number of elements in a SGL
- i2o_dma_map_single — Map pointer to controller and fill in I2O message.
- i2o_dma_map_sg — Map a SG List to controller and fill in I2O message.
- i2o_dma_alloc — Allocate DMA memory
- i2o_dma_free — Free DMA memory
- i2o_dma_realloc — Realloc DMA memory
- i2o_driver_notify_controller_add — Send notification of added controller
- i2o_driver_notify_controller_remove — Send notification of removed controller
- i2o_driver_notify_device_add — Send notification of added device
- i2o_driver_notify_device_remove — Send notification of removed device
- i2o_msg_out_to_virt — Turn an I2O message to a virtual address
- i2o_msg_in_to_virt — Turn an I2O message to a virtual address
- i2o_msg_get — obtain an I2O message from the IOP
- i2o_msg_post — Post I2O message to I2O controller
- i2o_msg_post_wait — Post and wait a message and wait until return
- i2o_msg_nop_mfa — Returns a fetched MFA back to the controller
- i2o_msg_nop — Returns a message which is not used
- i2o_flush_reply — Flush reply from I2O controller
- i2o_iop_free — Free the i2o_controller struct
- i2o_msg_get_wait — obtain an I2O message from the IOP
- i2o_cntxt_list_add — Append a pointer to context list and return a id
- i2o_cntxt_list_remove — Remove a pointer from the context list
- i2o_cntxt_list_get — Get a pointer from the context list and remove it
- i2o_cntxt_list_get_ptr — Get a context id from the context list
- i2o_find_iop — Find an I2O controller by id
- i2o_iop_find_device — Find a I2O device on an I2O controller
- i2o_status_get — Get the status block from the I2O controller
- i2o_event_register — Turn on/off event notification for a I2O device
- i2o_iop_quiesce — quiesce controller
- i2o_iop_enable — move controller from ready to OPERATIONAL
- i2o_iop_quiesce_all — Quiesce all I2O controllers on the system
- i2o_iop_enable_all — Enables all controllers on the system
- i2o_iop_clear — Bring I2O controller into HOLD state
- i2o_iop_init_outbound_queue — setup the outbound message queue
- i2o_iop_reset — reset an I2O controller
- i2o_iop_activate — Bring controller up to HOLD
- i2o_iop_systab_set — Set the I2O System Table of the specified IOP
- i2o_iop_online — Bring a controller online into OPERATIONAL state.
- i2o_iop_remove — Remove the I2O controller from the I2O core
- i2o_systab_build — Build system table
- i2o_parse_hrt — Parse the hardware resource table.
- i2o_iop_release — release the memory for a I2O controller
- i2o_iop_alloc — Allocate and initialize a i2o_controller struct
- i2o_iop_add — Initialize the I2O controller and add him to the I2O core
- i2o_iop_init — I2O main initialization function
- i2o_iop_exit — I2O main exit function
- i2o_config_init — Configuration OSM initialization function
- i2o_config_exit — Configuration OSM exit function
- i2o_msg_post_wait_mem — Post and wait a message with DMA buffers
- i2o_exec_lct_get — Get the IOP's Logical Configuration Table
- i2o_exec_wait_alloc — Allocate a i2o_exec_wait struct an initialize it
- i2o_exec_wait_free — Free an i2o_exec_wait struct
- i2o_msg_post_wait_complete — Reply to a i2o_msg_post request from IOP
- i2o_exec_show_vendor_id — Displays Vendor ID of controller
- i2o_exec_show_product_id — Displays Product ID of controller
- i2o_exec_probe — Called if a new I2O device (executive class) appears
- i2o_exec_remove — Called on I2O device removal
- i2o_exec_lct_modified — Called on LCT NOTIFY reply
- i2o_exec_reply — I2O Executive reply handler
- i2o_exec_event — Event handling function
- i2o_exec_lct_notify — Send a asynchronus LCT NOTIFY request
- i2o_exec_init — Registers the Exec OSM
- i2o_exec_exit — Removes the Exec OSM
- i2o_bus_scan — Scan the bus for new devices
- i2o_bus_store_scan — Scan the I2O Bus Adapter
- i2o_bus_probe — verify if dev is a I2O Bus Adapter device and install it
- i2o_bus_remove — remove the I2O Bus Adapter device from the system again
- i2o_bus_init — Bus Adapter OSM initialization function
- i2o_bus_exit — Bus Adapter OSM exit function
- i2o_device_claim — claim a device for use by an OSM
- i2o_device_claim_release — release a device that the OSM is using
- i2o_device_issue_claim — claim or release a device
- i2o_device_release — release the memory for a I2O device
- i2o_device_show_class_id — Displays class id of I2O device
- i2o_device_show_tid — Displays TID of I2O device
- i2o_device_alloc — Allocate a I2O device and initialize it
- i2o_device_add — allocate a new I2O device and add it to the IOP
- i2o_device_remove — remove an I2O device from the I2O core
- i2o_device_parse_lct — Parse a previously fetched LCT and create devices
- i2o_bus_match — Tell if I2O device class id matches the class ids of the I2O driver (OSM)
- i2o_driver_dispatch — dispatch an I2O reply message
- i2o_driver_init — initialize I2O drivers (OSMs)
- i2o_driver_exit — clean up I2O drivers (OSMs)
- i2o_pci_free — Frees the DMA memory for the I2O controller
- i2o_pci_alloc — Allocate DMA memory, map IO memory for I2O controller
- i2o_pci_interrupt — Interrupt handler for I2O controller
- i2o_pci_irq_enable — Allocate interrupt for I2O controller
- i2o_pci_irq_disable — Free interrupt for I2O controller
- i2o_pci_probe — Probe the PCI device for an I2O controller
- i2o_pci_remove — Removes a I2O controller from the system
- i2o_pci_init — registers I2O PCI driver in PCI subsystem
- i2o_pci_exit — unregisters I2O PCI driver from PCI subsystem
- i2o_block_device_free — free the memory of the I2O Block device
- i2o_block_remove — remove the I2O Block device from the system again
- i2o_block_device_flush — Flush all dirty data of I2O device dev
- i2o_block_issue_flush — device-flush interface for block-layer
- i2o_block_device_mount — Mount (load) the media of device dev
- i2o_block_device_lock — Locks the media of device dev
- i2o_block_device_unlock — Unlocks the media of device dev
- i2o_block_device_power — Power management for device dev
- i2o_block_request_alloc — Allocate an I2O block request struct
- i2o_block_request_free — Frees a I2O block request
- i2o_block_sglist_alloc — Allocate the SG list and map it
- i2o_block_sglist_free — Frees the SG list
- i2o_block_prep_req_fn — Allocates I2O block device specific struct
- i2o_block_delayed_request_fn — delayed request queue function
- i2o_block_end_request — Post-processing of completed commands
- i2o_block_reply — Block OSM reply handler.
- i2o_block_open — Open the block device
- i2o_block_release — Release the I2O block device
- i2o_block_ioctl — Issue device specific ioctl calls.
- i2o_block_media_changed — Have we seen a media change?
- i2o_block_transfer — Transfer a request to/from the I2O controller
- i2o_block_request_fn — request queue handling function
- i2o_block_device_alloc — Allocate memory for a I2O Block device
- i2o_block_probe — verify if dev is a I2O Block device and install it
- i2o_block_init — Block OSM initialization function
- i2o_block_exit — Block OSM exit function
- i2o_scsi_get_host — Get an I2O SCSI host
- i2o_scsi_remove — Remove I2O device from SCSI core
- i2o_scsi_probe — verify if dev is a I2O SCSI device and install it
- i2o_scsi_reply — SCSI OSM message reply handler
- i2o_scsi_notify_device_add — Retrieve notifications of added devices
- i2o_scsi_notify_device_remove — Retrieve notifications of removed devices
- i2o_scsi_notify_controller_add — Retrieve notifications of added controllers
- i2o_scsi_notify_controller_remove — Retrieve notifications of removed controllers
- i2o_scsi_queuecommand — queue a SCSI command
- i2o_scsi_abort — abort a running command
- i2o_scsi_bios_param — Invent disk geometry
- i2o_scsi_init — SCSI OSM initialization function
- i2o_scsi_exit — SCSI OSM exit function
- i2o_get_class_name — do i2o class name lookup
- i2o_proc_create_entries — Creates proc dir entries
- i2o_proc_subdir_remove — Remove child entries from a proc entry
- i2o_proc_device_add — Add an I2O device to the proc dir
- i2o_proc_iop_add — Add an I2O controller to the i2o proc tree
- i2o_proc_iop_remove — Removes an I2O controller from the i2o proc tree
- i2o_proc_fs_create — Create the i2o proc fs.
- i2o_proc_fs_destroy — Cleanup the all i2o proc entries
- i2o_proc_init — Init function for procfs
- i2o_proc_exit — Exit function for procfs
- 24. Sound Devices
- snd_printk — printk wrapper
- snd_printd — debug printk
- snd_assert — run-time assertion macro
- snd_printdd — debug printk
- register_sound_special_device — 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
- 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
- snd_pcm_playback_ready — check whether the playback buffer is available
- snd_pcm_capture_ready — check whether the capture buffer is available
- snd_pcm_playback_data — check whether any data exists on the playback buffer
- snd_pcm_playback_empty — check whether the playback buffer is empty
- snd_pcm_capture_empty — check whether the capture buffer is empty
- snd_pcm_format_cpu_endian — Check the PCM format is CPU-endian
- snd_pcm_new_stream — create a new PCM stream
- snd_pcm_new — create a new PCM instance
- snd_device_new — create an ALSA device component
- snd_device_free — release the device from the card
- snd_device_register — register the device
- snd_iprintf — printf on the procfs buffer
- snd_info_get_line — read one line from the procfs buffer
- snd_info_get_str — parse a string token
- snd_info_create_module_entry — create an info entry for the given module
- snd_info_create_card_entry — create an info entry for the given card
- snd_card_proc_new — create an info entry for the given card
- snd_info_free_entry — release the info entry
- snd_info_register — register the info entry
- snd_rawmidi_receive — receive the input data from the device
- snd_rawmidi_transmit_empty — check whether the output buffer is empty
- snd_rawmidi_transmit_peek — copy data from the internal buffer
- snd_rawmidi_transmit_ack — acknowledge the transmission
- snd_rawmidi_transmit — copy from the buffer to the device
- snd_rawmidi_new — create a rawmidi instance
- snd_rawmidi_set_ops — set the rawmidi operators
- snd_request_card — try to load the card module
- snd_lookup_minor_data — get user data of a registered device
- snd_register_device — Register the ALSA device file for the card
- snd_unregister_device — unregister the device on the given card
- copy_to_user_fromio — copy data from mmio-space to user-space
- copy_from_user_toio — copy data from user-space to mmio-space
- snd_pcm_lib_preallocate_free_for_all — release all pre-allocated buffers on the pcm
- snd_pcm_lib_preallocate_pages — pre-allocation for the given DMA type
- snd_pcm_lib_preallocate_pages_for_all — pre-allocation for continous memory type (all substreams)
- snd_pcm_sgbuf_ops_page — get the page struct at the given offset
- snd_pcm_lib_malloc_pages — allocate the DMA buffer
- snd_pcm_lib_free_pages — release the allocated DMA buffer.
- snd_card_new — create and initialize a soundcard structure
- snd_card_disconnect — disconnect all APIs from the file-operations (user space)
- snd_card_register — register the soundcard
- snd_component_add — add a component string
- snd_card_file_add — add the file to the file list of the card
- snd_card_file_remove — remove the file from the file list
- snd_power_wait — wait until the power-state is changed.
- snd_dma_program — program an ISA DMA transfer
- snd_dma_disable — stop the ISA DMA transfer
- snd_dma_pointer — return the current pointer to DMA transfer buffer in bytes
- snd_ctl_new — create a control instance from the template
- snd_ctl_new1 — create a control instance from the template
- snd_ctl_free_one — release the control instance
- snd_ctl_add — add the control instance to the card
- snd_ctl_remove — remove the control from the card and release it
- snd_ctl_remove_id — remove the control of the given id and release it
- snd_ctl_rename_id — replace the id of a control on the card
- snd_ctl_find_numid — find the control instance with the given number-id
- snd_ctl_find_id — find the control instance with the given id
- snd_pcm_set_ops — set the PCM operators
- snd_pcm_set_sync — set the PCM sync id
- snd_interval_refine — refine the interval value of configurator
- snd_interval_ratnum — refine the interval value
- snd_interval_list — refine the interval value from the list
- snd_pcm_hw_rule_add — add the hw-constraint rule
- snd_pcm_hw_constraint_integer —
- snd_pcm_hw_constraint_minmax —
- snd_pcm_hw_constraint_list —
- snd_pcm_hw_constraint_ratnums —
- snd_pcm_hw_constraint_ratdens —
- snd_pcm_hw_constraint_msbits —
- snd_pcm_hw_constraint_step —
- snd_pcm_hw_constraint_pow2 —
- snd_pcm_hw_param_value —
- snd_pcm_hw_param_first —
- snd_pcm_hw_param_last —
- snd_pcm_lib_ioctl — a generic PCM ioctl callback
- snd_pcm_period_elapsed — update the pcm status for the next period
- snd_hwdep_new — create a new hwdep instance
- snd_pcm_stop —
- snd_pcm_suspend —
- snd_pcm_suspend_all —
- snd_malloc_pages — allocate pages with the given size
- snd_free_pages — release the pages
- snd_dma_alloc_pages — allocate the buffer area according to the given type
- snd_dma_alloc_pages_fallback — allocate the buffer area according to the given type with fallback
- snd_dma_free_pages — release the allocated buffer
- snd_dma_get_reserved_buf — get the reserved buffer for the given device
- snd_dma_reserve_buf — reserve the buffer
- 25. 16x50 UART Driver
- uart_handle_dcd_change — handle a change of carrier detect state
- uart_handle_cts_change — handle a change of clear-to-send state
- uart_update_timeout — update per-port FIFO timeout.
- uart_get_baud_rate — return baud rate for a particular port
- uart_get_divisor — return uart clock divisor
- uart_register_driver — register a driver with the uart core layer
- uart_unregister_driver — remove a driver from the uart core layer
- uart_add_one_port — attach a driver-defined port structure
- uart_remove_one_port — detach a driver defined port structure
- serial8250_suspend_port — suspend one serial port
- serial8250_resume_port — resume one serial port
- serial8250_register_port — register a serial port
- serial8250_unregister_port — remove a 16x50 serial port at runtime
- 26. 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
- 27. Frame Buffer Library
- Frame Buffer Memory
- register_framebuffer — registers a frame buffer device
- unregister_framebuffer — releases a frame buffer device
- fb_set_suspend — low level driver signals suspend
- fb_get_options — get kernel boot parameters
- Frame Buffer Colormap
- fb_alloc_cmap — allocate a colormap
- fb_dealloc_cmap — deallocate a colormap
- fb_copy_cmap — copy a colormap
- fb_set_cmap — set the colormap
- fb_default_cmap — get default colormap
- fb_invert_cmaps — invert all defaults colormaps
- Frame Buffer Video Mode Database
- fb_try_mode — test a video mode
- fb_delete_videomode —
- fb_destroy_modelist —
- fb_find_mode — finds a valid video mode
- fb_var_to_videomode — convert fb_var_screeninfo to fb_videomode
- fb_videomode_to_var — convert fb_videomode to fb_var_screeninfo
- fb_mode_is_equal — compare 2 videomodes
- fb_find_best_mode — find best matching videomode
- fb_find_nearest_mode — find closest videomode
- fb_match_mode — find a videomode which exactly matches the timings in var
- fb_add_videomode —
- fb_videomode_to_modelist —
- Frame Buffer Macintosh Video Mode Database
- mac_vmode_to_var — converts vmode/cmode pair to var structure
- mac_map_monitor_sense — Convert monitor sense to vmode
- mac_find_mode — find a video mode
- Frame Buffer Fonts
- 28. Input Subsystem
- struct ff_replay — defines scheduling of the force-feedback effect
- struct ff_trigger — defines what triggers the force-feedback effect
- struct ff_envelope — generic force-feedback effect envelope
- struct ff_constant_effect — defines parameters of a constant force-feedback effect
- struct ff_ramp_effect — defines parameters of a ramp force-feedback effect
- struct ff_condition_effect — defines a spring or friction force-feedback effect
- struct ff_periodic_effect — defines parameters of a periodic force-feedback effect
- struct ff_rumble_effect — defines parameters of a periodic force-feedback effect
- struct ff_effect — defines force feedback effect
- struct input_handler — implements one of interfaces for input devices
- struct ff_device — force-feedback part of an input device
- input_event — report new input event
- input_inject_event — send input event from input handler
- input_allocate_device — allocate memory for new input device
- input_free_device — free memory occupied by input_dev structure
- input_ff_upload — upload effect into force-feedback device
- input_ff_erase — erase a force-feedback effect from device
- input_ff_event — generic handler for force-feedback events
- input_ff_create — create force-feedback device
- input_ff_destroy — frees force feedback portion of input device
- input_ff_create_memless — create memoryless force-feedback device
'IT > Linux' 카테고리의 다른 글
Fedora12 root 로그인 (0) | 2010.08.27 |
---|