Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1804358
  • 博文数量: 290
  • 博客积分: 10653
  • 博客等级: 上将
  • 技术积分: 3178
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-24 23:08
文章存档

2013年(6)

2012年(15)

2011年(25)

2010年(86)

2009年(52)

2008年(66)

2007年(40)

分类: LINUX

2010-05-26 16:43:41

The Linux Kernel API

This documentation is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

For more details see the file COPYING in the source distribution of Linux.


Table of Contents

— driver initialization entry point
— driver exit entry point
— read atomic variable
— set atomic variable
— add integer to atomic variable
— subtract the atomic variable
— subtract value from variable and test result
— increment atomic variable
— decrement atomic variable
— decrement and test
— increment and test
— add and test if negative
— add and return
— add unless the number is a given value
— get value from possibly mis-aligned location
— put value to a possibly mis-aligned location
— check that a task structure is not stale
— check if a task structure is init
— wake up threads blocked on a waitqueue.
— wake up threads blocked on a waitqueue.
— return the nice value of a given task.
— change the scheduling policy and/or RT priority of
— yield the current processor to other threads.
— function to round jiffies to a full second
— function to round jiffies to a full second
— function to round jiffies to a full second
— function to round jiffies to a full second
— initialize a timer.
— modify a timer's timeout
— deactive a timer.
— deactivate a timer and wait for the handler to finish.
— Returns the time of day in a timespec
— Returns the time of day in a timeval
— Sets the time of day
— sleep until timeout
— sleep safely even with waitqueue interruptions
— sleep waiting for signals
— Set a ktime_t variable from a seconds/nanoseconds value
— subtract two ktime_t variables
— add two ktime_t variables
— Add a scalar nanoseconds value to a ktime_t variable
— convert a timespec to ktime_t format
— convert a timeval to ktime_t format
— convert a ktime_t variable to timespec format
— convert a ktime_t variable to timeval format
— convert a ktime_t variable to scalar nanoseconds
— the basic hrtimer structure
— simple sleeper structure
— the timer base for a specific clock
— get the real (wall-) time in ktime_t format
— get the monotonic clock in timespec format
— (re)start an relative timer on the current CPU
— try to deactivate a timer
— cancel a timer and wait for the handler to finish.
— get remaining time for the timer
— initialize a timer to the given clock
— get the timer resolution for a clock
— run scheduled work synchronously
— queue work on a workqueue
— queue work on a workqueue after delay
— queue work on specific CPU after delay
— ensure that any scheduled work has run to completion.
— safely terminate a workqueue
— put work task in global workqueue
— put work task in global workqueue after delay
— queue work in global workqueue on CPU after delay
— reliably kill off a delayed
— reliably kill off a delayed keventd
execute_in_process_context — reliably execute the routine with user context
— Reparent the calling kernel thread to the init task
— send signal to one specific thread
— create and wake a thread.
— should this kthread return now?
— create a kthread.
— bind a just-created kthread to a cpu.
— stop a thread created by kthread_create.
— generate and return the path associated with a given kobj
— initialize object.
— add an object to the hierarchy.
— initialize and add an object.
— Set the name of an object
— unlink kobject from hierarchy.
— remove object from hierarchy and decrement refcount.
— increment refcount for object.
— decrement refcount for object.
— initialize and add a kset.
— remove a kset.
— register a subsystem.
— export sysfs attribute file.
— cast a member of a structure out to the containing structure
— print a kernel message
— lock the console system for exclusive use.
— unlock the console system
— yield the CPU if required
— caller-controlled printk ratelimiting
— halt the system
— Add notifier to an atomic notifier chain
— Remove notifier from an atomic notifier chain
— Call functions in an atomic notifier chain
— Add notifier to a blocking notifier chain
— Remove notifier from a blocking notifier chain
— Call functions in a blocking notifier chain
— Add notifier to a raw notifier chain
— Remove notifier from a raw notifier 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 function to be called at reboot time
— Unregister previously registered reboot notifier
— reboot the system
— reboot the system
— halt the system
— 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.
— add a new entry
— 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
— deletes entry from list.
list_del_rcu — deletes entry from list without re-initialization
— replace old entry by new one
list_replace_rcu — replace old entry by new one
— deletes entry from list and reinitialize it.
— delete from one list and add as another's head
— delete from one list and add as another's tail
— tests whether list is the last entry in list head
— tests whether a list is empty
— tests whether a list is empty and not being modified
— join two lists
— join two lists and reinitialise the emptied list.
— get the struct for this entry
— iterate over a list
— iterate over a list
— iterate over a list backwards
— iterate over a list safe against removal of list entry
— iterate over list of given type
— iterate backwards over list of given type.
— prepare a pos entry for use in list_for_each_entry_continue
— continue iteration over list of given type
— iterate over list of given type from the current point
— iterate over list of given type safe against removal of list entry
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
— iterate over list of given type
— iterate over a hlist continuing after current point
— iterate over a hlist continuing from current point
— iterate over list of given type safe against removal of list entry
hlist_for_each_entry_rcu — iterate over rcu list of given type
— convert a string to a signed long long
— convert a string to an unsigned long
— convert a string to a signed long
— convert a string to an unsigned long long
— Format a string and place it in a buffer
— Format a string and place it in a buffer
— Format a string and place it in a buffer
— Format a string and place it in a buffer
— Format a string and place it in a buffer
— Format a string and place it in a buffer
— Unformat a buffer into a list of arguments
— Unformat a buffer into a list of arguments
— Case insensitive, length-limited string comparison
— Copy a NUL terminated string
— Copy a length-limited, NUL-terminated string
— Copy a NUL terminated string into a sized buffer
— Append one NUL-terminated string to another
— Append a length-limited, NUL-terminated string to another
— Append a length-limited, NUL-terminated string to another
— Compare two strings
— Compare two length-limited strings
— Find the first occurrence of a character in a string
— Find the last occurrence of a character in a string
— Find a character in a length limited string
— Removes leading and trailing whitespace from s.
— Find the length of a string
— Find the length of a length-limited string
— Calculate the length of the initial substring of s which only
— Calculate the length of the initial substring of s which does
— Find the first occurrence of a set of characters
— Split a string into tokens
— Fill a region of memory with the given value
— Copy one area of memory to another
— Copy one area of memory to another
— Compare two areas of memory
— Find a character in an area of memory.
— Find the first substring in a NUL terminated string
— Find a character in an area of memory.
— Atomically set a bit in memory
— Set a bit in memory
— Clears a bit in memory
— Toggle a bit in memory
— Toggle a bit in memory
— Set a bit and return its old value
— Set a bit and return its old value
— Clear a bit and return its old value
— Clear a bit and return its old value
— Change a bit and return its old value
— Determine whether a bit is set
— find the first zero bit in a memory region
— find the first zero bit in a memory region
— find first bit in word.
— find the first set bit in a memory region
— find the first set bit in a memory region
— find first zero in word.
— find first bit set
— find last bit set
— convert bitmap to an ASCII hex string.
— convert an ASCII hex string into a bitmap.
— convert bitmap to list format ASCII string
— convert list format ASCII string to bitmap
— Apply map defined by a pair of bitmaps to another bitmap
— Apply map defined by a pair of bitmaps to a single bit
— find a contiguous aligned mem region
— release allocated bitmap region
— allocate bitmap region
— Parse integer from an option string
— Parse a string into a list of integers
— parse a string with mem suffixes into a number
— compute the CRC-16 for the data buffer
— Calculate bitwise little-endian Ethernet AUTODIN II CRC32
— Calculate bitwise big-endian Ethernet AUTODIN II CRC32
— recompute the CRC for the data buffer
— allocate memory for an array. The memory is set to zero.
— allocate memory
— allocate memory. The memory is set to zero.
— Create a cache.
— Shrink a cache.
— delete a cache
— Allocate an object
— Allocate an object. The memory is set to zero.
— Deallocate an object
— free previously allocated memory
— Checks if a user space pointer is valid
— Get a simple variable from user space.
— Write a simple value into user space.
— Get a simple variable from user space, with less checking.
— Write a simple value into user space, with less checking.
— Copy a block of data into user space, with less checking.
— Copy a block of data from user space, with less checking.
— Get the size of a string in user space.
— Copy a NUL terminated string from userspace, with less checking.
— Copy a NUL terminated string from userspace.
— Zero a block of memory in user space.
— Zero a block of memory in user space, with less checking.
— Get the size of a string in user space.
— Copy a block of data into user space.
— Copy a block of data from user space.
— duplicate pte mapping to a page
— populate an address space with some pages & start reads against them
— generic adaptive readahead
— mostly a non-blocking flush
— write and wait on all pages in the passed range
— wait for all under-writeback pages to complete
— add newly allocated pagecache pages
— unlock a locked page
— end writeback against a page
— get a lock on the page, assuming we need to sleep to get it
— find and get a page reference
— find and lock a page
— locate, pin and lock a pagecache page
— locate or add a pagecache page
— returns locked page at given index in given cache
— generic file read routine
— generic filesystem read routine
— read in file data for page fault handling
— read into page cache, fill it if needed
— release old fs-specific metadata on a page
— insert single page into user vma
— remap kernel memory to userspace
— unmap the portion of all mmaps
— unmap mappings “freed” by truncate syscall
— release memory allocated by vmalloc
— release virtual mapping obtained by vmap
— map an array of pages into virtually contiguous space
— allocate virtually contiguous memory
— allocate zeroed virtually contiguous memory for userspace
— allocate memory on a specific node
— allocate virtually contiguous memory (32bit addressable)
— allocate zeroed virtually contiguous 32bit memory
— map vmalloc pages to userspace
— find the next node that should appear in a given node's fallback list
— Call free_bootmem_node for each active range
— Call memory_present for each active range
— Push node boundaries to at least the requested boundary
— Return the start and end page frames for a node
— Return number of page frames in holes within a range
— Register a range of PFNs backed by physical memory
— Shrink an existing registered range of PFNs
— Remove all currently registered regions
— Find the minimum PFN registered
— Find the maximum PFN registered
— Initialise all pg_data_t and zone data
— set the specified number of pages reserved in the first zone
— called when min_free_kbytes changes.
— create a memory pool
— resize an existing memory pool
— deallocate a memory pool
— allocate an element from a specific memory pool
— return an element to the pool.
— balance dirty memory state
— walk the list of dirty pages of the given
— write out a single page and optionally wait on I/O
— truncate range of pages specified by start and
— truncate *all* the pages from an offset
— remove range of pages from an address_space
— remove all pages from an address_space
— initialise IPC subsystem
— initialise IPC identifiers
— Create a proc interface for sysipc types
— find a key in an ipc identifier set
— add an IPC identifier
— remove an IPC identifier
— allocate ipc space
— free ipc space
ipc_rcu_alloc — allocate ipc and rcu space
— free ipc + rcu space
— free ipc + rcu space
— check IPC permissions
— convert kernel ipc permissions to user
— convert old ipc permissions to new
— IPC call version
— removes the entire FIFO contents, no locking version
— removes the entire FIFO contents
— puts some data into the FIFO
— gets some data from the FIFO
— returns the number of bytes available in the FIFO, no locking version
— returns the number of bytes available in the FIFO
— allocates a new FIFO using a preallocated buffer
— allocates a new FIFO and its internal buffer
— frees the FIFO
— puts some data into the FIFO, no locking version
— gets some data from the FIFO, no locking version
— boolean, is the channel buffer empty?
— boolean, is the channel buffer full?
— reset the channel
— create a new relay channel
— switch to a new sub-buffer
— update the buffer's sub-buffers-consumed count
— close the channel
— close the channel
— mmap channel buffer to process address space
— allocate a channel buffer
— allocate and initialize a channel buffer
— free the channel struct
— destroy an rchan_buf struct and associated buffer
— remove a channel buffer
— wake up readers waiting on a channel
— reset a channel buffer
— close a channel buffer
— open file op for relay files
— mmap file op for relay files
— poll file op for relay files
— release file op for relay files
— return bytes available in sub-buffer
— find the first available byte to read
— return the new read position
阅读(1701) | 评论(0) | 转发(0) |
0

上一篇:HAL (简体中文)

下一篇:udev

给主人留下些什么吧!~~