<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML ><HEAD ><TITLE >The Linux Kernel API</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK REL="NEXT" TITLE="Driver Basics" HREF="c10.html"></HEAD ><BODY CLASS="BOOK" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="BOOK" ><A NAME="LINUXKERNELAPI" ></A ><DIV CLASS="TITLEPAGE" ><H1 CLASS="TITLE" ><A NAME="AEN2" ></A >The Linux Kernel API</H1 ><A HREF="ln4.html" >Legal Notice</A ><HR></DIV ><DIV CLASS="TOC" ><DL ><DT ><B >Table of Contents</B ></DT ><DT ><A HREF="c10.html" >Driver Basics</A ></DT ><DD ><DL ><DT ><A HREF="c10.html#AEN12" >Driver Entry and Exit points</A ></DT ><DD ><DL ><DT ><A HREF="r14.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >module_init</SPAN ></SPAN ></A > -- driver initialization entry point </DT ><DT ><A HREF="r44.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >module_exit</SPAN ></SPAN ></A > -- driver exit entry point </DT ></DL ></DD ><DT ><A HREF="x73.html" >Atomic and pointer manipulation</A ></DT ><DD ><DL ><DT ><A HREF="r75.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >atomic_read</SPAN ></SPAN ></A > -- read atomic variable </DT ><DT ><A HREF="r102.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >atomic_set</SPAN ></SPAN ></A > -- set atomic variable </DT ><DT ><A HREF="r137.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >atomic_add</SPAN ></SPAN ></A > -- add integer to atomic variable </DT ><DT ><A HREF="r172.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >atomic_sub</SPAN ></SPAN ></A > -- subtract the atomic variable </DT ><DT ><A HREF="r207.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >atomic_sub_and_test</SPAN ></SPAN ></A > -- subtract value from variable and test result </DT ><DT ><A HREF="r242.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >atomic_inc</SPAN ></SPAN ></A > -- increment atomic variable </DT ><DT ><A HREF="r269.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >atomic_dec</SPAN ></SPAN ></A > -- decrement atomic variable </DT ><DT ><A HREF="r296.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >atomic_dec_and_test</SPAN ></SPAN ></A > -- decrement and test </DT ><DT ><A HREF="r323.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >atomic_inc_and_test</SPAN ></SPAN ></A > -- increment and test </DT ><DT ><A HREF="r350.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >atomic_add_negative</SPAN ></SPAN ></A > -- add and test if negative </DT ><DT ><A HREF="r385.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >get_unaligned</SPAN ></SPAN ></A > -- get value from possibly mis-aligned location </DT ><DT ><A HREF="r412.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >put_unaligned</SPAN ></SPAN ></A > -- put value to a possibly mis-aligned location </DT ></DL ></DD ><DT ><A HREF="x446.html" >Delaying, scheduling, and timer routines</A ></DT ><DD ><DL ><DT ><A HREF="r448.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >schedule_timeout</SPAN ></SPAN ></A > -- sleep until timeout </DT ><DT ><A HREF="r488.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >reparent_to_init</SPAN ></SPAN ></A > -- Reparent the calling kernel thread to the init task. </DT ></DL ></DD ></DL ></DD ><DT ><A HREF="c518.html" >Data Types</A ></DT ><DD ><DL ><DT ><A HREF="c518.html#AEN520" >Doubly Linked Lists</A ></DT ><DD ><DL ><DT ><A HREF="r522.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >list_add</SPAN ></SPAN ></A > -- add a new entry </DT ><DT ><A HREF="r555.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >list_add_tail</SPAN ></SPAN ></A > -- add a new entry </DT ><DT ><A HREF="r588.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >list_del</SPAN ></SPAN ></A > -- deletes entry from list. </DT ><DT ><A HREF="r614.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >list_del_init</SPAN ></SPAN ></A > -- deletes entry from list and reinitialize it. </DT ><DT ><A HREF="r637.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >list_empty</SPAN ></SPAN ></A > -- tests whether a list is empty </DT ><DT ><A HREF="r660.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >list_splice</SPAN ></SPAN ></A > -- join two lists </DT ><DT ><A HREF="r690.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >list_entry</SPAN ></SPAN ></A > -- get the struct for this entry </DT ><DT ><A HREF="r727.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >list_for_each</SPAN ></SPAN ></A > -- iterate over a list </DT ><DT ><A HREF="r757.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >list_for_each_safe</SPAN ></SPAN ></A > -- iterate over a list safe against removal of list entry </DT ><DT ><A HREF="r794.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >list_for_each_prev</SPAN ></SPAN ></A > -- iterate over a list in reverse order </DT ></DL ></DD ></DL ></DD ><DT ><A HREF="c824.html" >Basic C Library Functions</A ></DT ><DD ><DL ><DT ><A HREF="c824.html#AEN827" >String Conversions</A ></DT ><DD ><DL ><DT ><A HREF="r829.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >simple_strtoll</SPAN ></SPAN ></A > -- convert a string to a signed long long </DT ><DT ><A HREF="r866.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >simple_strtoul</SPAN ></SPAN ></A > -- convert a string to an unsigned long </DT ><DT ><A HREF="r903.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >simple_strtol</SPAN ></SPAN ></A > -- convert a string to a signed long </DT ><DT ><A HREF="r940.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >simple_strtoull</SPAN ></SPAN ></A > -- convert a string to an unsigned long long </DT ><DT ><A HREF="r977.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >vsnprintf</SPAN ></SPAN ></A > -- Format a string and place it in a buffer </DT ><DT ><A HREF="r1024.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >snprintf</SPAN ></SPAN ></A > -- Format a string and place it in a buffer </DT ><DT ><A HREF="r1068.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >vsprintf</SPAN ></SPAN ></A > -- Format a string and place it in a buffer </DT ><DT ><A HREF="r1108.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >sprintf</SPAN ></SPAN ></A > -- Format a string and place it in a buffer </DT ><DT ><A HREF="r1145.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >vsscanf</SPAN ></SPAN ></A > -- Unformat a buffer into a list of arguments </DT ><DT ><A HREF="r1182.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >sscanf</SPAN ></SPAN ></A > -- Unformat a buffer into a list of arguments </DT ></DL ></DD ><DT ><A HREF="x1219.html" >String Manipulation</A ></DT ><DD ><DL ><DT ><A HREF="r1221.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >strcpy</SPAN ></SPAN ></A > -- Copy a <TT CLASS="CONSTANT" >NUL</TT > terminated string </DT ><DT ><A HREF="r1252.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >strncpy</SPAN ></SPAN ></A > -- Copy a length-limited, <TT CLASS="CONSTANT" >NUL-terminated</TT > string </DT ><DT ><A HREF="r1296.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >strcat</SPAN ></SPAN ></A > -- Append one <TT CLASS="CONSTANT" >NUL-terminated</TT > string to another </DT ><DT ><A HREF="r1327.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >strncat</SPAN ></SPAN ></A > -- Append a length-limited, <TT CLASS="CONSTANT" >NUL-terminated</TT > string to another </DT ><DT ><A HREF="r1368.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >strcmp</SPAN ></SPAN ></A > -- Compare two strings </DT ><DT ><A HREF="r1398.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >strncmp</SPAN ></SPAN ></A > -- Compare two length-limited strings </DT ><DT ><A HREF="r1435.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >strchr</SPAN ></SPAN ></A > -- Find the first occurrence of a character in a string </DT ><DT ><A HREF="r1465.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >strrchr</SPAN ></SPAN ></A > -- Find the last occurrence of a character in a string </DT ><DT ><A HREF="r1495.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >strlen</SPAN ></SPAN ></A > -- Find the length of a string </DT ><DT ><A HREF="r1518.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >strnlen</SPAN ></SPAN ></A > -- Find the length of a length-limited string </DT ><DT ><A HREF="r1548.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >strpbrk</SPAN ></SPAN ></A > -- Find the first occurrence of a set of characters </DT ><DT ><A HREF="r1578.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >strtok</SPAN ></SPAN ></A > -- Split a string into tokens </DT ><DT ><A HREF="r1611.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >memset</SPAN ></SPAN ></A > -- Fill a region of memory with the given value </DT ><DT ><A HREF="r1653.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >bcopy</SPAN ></SPAN ></A > -- Copy one area of memory to another </DT ><DT ><A HREF="r1699.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >memcpy</SPAN ></SPAN ></A > -- Copy one area of memory to another </DT ><DT ><A HREF="r1741.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >memmove</SPAN ></SPAN ></A > -- Copy one area of memory to another </DT ><DT ><A HREF="r1783.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >memcmp</SPAN ></SPAN ></A > -- Compare two areas of memory </DT ><DT ><A HREF="r1820.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >memscan</SPAN ></SPAN ></A > -- Find a character in an area of memory. </DT ><DT ><A HREF="r1862.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >strstr</SPAN ></SPAN ></A > -- Find the first substring in a <TT CLASS="CONSTANT" >NUL</TT > terminated string </DT ><DT ><A HREF="r1893.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >memchr</SPAN ></SPAN ></A > -- Find a character in an area of memory. </DT ></DL ></DD ><DT ><A HREF="x1936.html" >Bit Operations</A ></DT ><DD ><DL ><DT ><A HREF="r1938.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >set_bit</SPAN ></SPAN ></A > -- Atomically set a bit in memory </DT ><DT ><A HREF="r1973.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__set_bit</SPAN ></SPAN ></A > -- Set a bit in memory </DT ><DT ><A HREF="r2007.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >clear_bit</SPAN ></SPAN ></A > -- Clears a bit in memory </DT ><DT ><A HREF="r2043.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__change_bit</SPAN ></SPAN ></A > -- Toggle a bit in memory </DT ><DT ><A HREF="r2077.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >change_bit</SPAN ></SPAN ></A > -- Toggle a bit in memory </DT ><DT ><A HREF="r2112.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >test_and_set_bit</SPAN ></SPAN ></A > -- Set a bit and return its old value </DT ><DT ><A HREF="r2145.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__test_and_set_bit</SPAN ></SPAN ></A > -- Set a bit and return its old value </DT ><DT ><A HREF="r2178.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >test_and_clear_bit</SPAN ></SPAN ></A > -- Clear a bit and return its old value </DT ><DT ><A HREF="r2211.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__test_and_clear_bit</SPAN ></SPAN ></A > -- Clear a bit and return its old value </DT ><DT ><A HREF="r2244.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >test_and_change_bit</SPAN ></SPAN ></A > -- Change a bit and return its new value </DT ><DT ><A HREF="r2277.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >test_bit</SPAN ></SPAN ></A > -- Determine whether a bit is set </DT ><DT ><A HREF="r2307.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >find_first_zero_bit</SPAN ></SPAN ></A > -- find the first zero bit in a memory region </DT ><DT ><A HREF="r2340.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >find_next_zero_bit</SPAN ></SPAN ></A > -- find the first zero bit in a memory region </DT ><DT ><A HREF="r2377.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >ffz</SPAN ></SPAN ></A > -- find first zero in word. </DT ><DT ><A HREF="r2403.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >ffs</SPAN ></SPAN ></A > -- find first bit set </DT ><DT ><A HREF="r2429.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >hweight32</SPAN ></SPAN ></A > -- returns the hamming weight of a N-bit word </DT ></DL ></DD ></DL ></DD ><DT ><A HREF="c2455.html" >Memory Management in Linux</A ></DT ><DD ><DL ><DT ><A HREF="c2455.html#AEN2457" >The Slab Cache</A ></DT ><DD ><DL ><DT ><A HREF="r2459.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >kmem_cache_create</SPAN ></SPAN ></A > -- Create a cache. </DT ><DT ><A HREF="r2532.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >kmem_cache_shrink</SPAN ></SPAN ></A > -- Shrink a cache. </DT ><DT ><A HREF="r2558.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >kmem_cache_destroy</SPAN ></SPAN ></A > -- delete a cache </DT ><DT ><A HREF="r2587.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >kmem_cache_alloc</SPAN ></SPAN ></A > -- Allocate an object </DT ><DT ><A HREF="r2621.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >kmalloc</SPAN ></SPAN ></A > -- allocate memory </DT ><DT ><A HREF="r2664.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >kmem_cache_free</SPAN ></SPAN ></A > -- Deallocate an object </DT ><DT ><A HREF="r2697.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >kfree</SPAN ></SPAN ></A > -- free previously allocated memory </DT ></DL ></DD ></DL ></DD ><DT ><A HREF="c2724.html" >The proc filesystem</A ></DT ><DD ><DL ><DT ><A HREF="c2724.html#AEN2726" >sysctl interface</A ></DT ><DD ><DL ><DT ><A HREF="r2728.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >register_sysctl_table</SPAN ></SPAN ></A > -- register a sysctl hierarchy </DT ><DT ><A HREF="r2793.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >unregister_sysctl_table</SPAN ></SPAN ></A > -- unregister a sysctl table hierarchy </DT ><DT ><A HREF="r2819.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >proc_dostring</SPAN ></SPAN ></A > -- read a string sysctl </DT ><DT ><A HREF="r2876.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >proc_dointvec</SPAN ></SPAN ></A > -- read a vector of integers </DT ><DT ><A HREF="r2932.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >proc_dointvec_minmax</SPAN ></SPAN ></A > -- read a vector of integers with min/max values </DT ><DT ><A HREF="r2989.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >proc_doulongvec_minmax</SPAN ></SPAN ></A > -- read a vector of long integers with min/max values </DT ><DT ><A HREF="r3046.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >proc_doulongvec_ms_jiffies_minmax</SPAN ></SPAN ></A > -- read a vector of millisecond values with min/max values </DT ><DT ><A HREF="r3103.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >proc_dointvec_jiffies</SPAN ></SPAN ></A > -- read a vector of integers as seconds </DT ></DL ></DD ></DL ></DD ><DT ><A HREF="c3159.html" >The Linux VFS</A ></DT ><DD ><DL ><DT ><A HREF="c3159.html#AEN3161" >The Directory Cache</A ></DT ><DD ><DL ><DT ><A HREF="r3163.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >d_invalidate</SPAN ></SPAN ></A > -- invalidate a dentry </DT ><DT ><A HREF="r3190.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >d_find_alias</SPAN ></SPAN ></A > -- grab a hashed alias of inode </DT ><DT ><A HREF="r3216.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >prune_dcache</SPAN ></SPAN ></A > -- shrink the dcache </DT ><DT ><A HREF="r3243.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >shrink_dcache_sb</SPAN ></SPAN ></A > -- shrink dcache for a superblock </DT ><DT ><A HREF="r3269.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >have_submounts</SPAN ></SPAN ></A > -- check for mounts over a dentry </DT ><DT ><A HREF="r3295.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >shrink_dcache_parent</SPAN ></SPAN ></A > -- prune dcache </DT ><DT ><A HREF="r3321.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >d_alloc</SPAN ></SPAN ></A > -- allocate a dcache entry </DT ><DT ><A HREF="r3355.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >d_instantiate</SPAN ></SPAN ></A > -- fill in inode information for a dentry </DT ><DT ><A HREF="r3390.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >d_alloc_root</SPAN ></SPAN ></A > -- allocate root dentry </DT ><DT ><A HREF="r3419.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >d_lookup</SPAN ></SPAN ></A > -- search for a dentry </DT ><DT ><A HREF="r3453.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >d_validate</SPAN ></SPAN ></A > -- verify dentry provided from insecure source </DT ><DT ><A HREF="r3488.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >d_delete</SPAN ></SPAN ></A > -- delete a dentry </DT ><DT ><A HREF="r3514.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >d_rehash</SPAN ></SPAN ></A > -- add an entry back to the hash </DT ><DT ><A HREF="r3540.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >d_move</SPAN ></SPAN ></A > -- move a dentry </DT ><DT ><A HREF="r3573.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__d_path</SPAN ></SPAN ></A > -- return the path of a dentry </DT ><DT ><A HREF="r3638.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >is_subdir</SPAN ></SPAN ></A > -- is new dentry a subdirectory of old_dentry </DT ><DT ><A HREF="r3671.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >find_inode_number</SPAN ></SPAN ></A > -- check for dentry with name </DT ><DT ><A HREF="r3706.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >d_drop</SPAN ></SPAN ></A > -- drop a dentry </DT ><DT ><A HREF="r3735.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >d_add</SPAN ></SPAN ></A > -- add dentry to hash queues </DT ><DT ><A HREF="r3770.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >dget</SPAN ></SPAN ></A > -- get a reference to a dentry </DT ><DT ><A HREF="r3800.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >d_unhashed</SPAN ></SPAN ></A > -- is dentry hashed </DT ></DL ></DD ><DT ><A HREF="x3826.html" >Inode Handling</A ></DT ><DD ><DL ><DT ><A HREF="r3828.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__mark_inode_dirty</SPAN ></SPAN ></A > -- internal function </DT ><DT ><A HREF="r3858.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >write_inode_now</SPAN ></SPAN ></A > -- write an inode to disk </DT ><DT ><A HREF="r3891.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >clear_inode</SPAN ></SPAN ></A > -- clear an inode </DT ><DT ><A HREF="r3917.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >invalidate_inodes</SPAN ></SPAN ></A > -- discard the inodes on a device </DT ><DT ><A HREF="r3943.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >get_empty_inode</SPAN ></SPAN ></A > -- obtain an inode </DT ><DT ><A HREF="r3972.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >iunique</SPAN ></SPAN ></A > -- get a unique inode number </DT ><DT ><A HREF="r4008.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >insert_inode_hash</SPAN ></SPAN ></A > -- hash an inode </DT ><DT ><A HREF="r4034.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >remove_inode_hash</SPAN ></SPAN ></A > -- remove an inode from the hash </DT ><DT ><A HREF="r4060.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >iput</SPAN ></SPAN ></A > -- put an inode </DT ><DT ><A HREF="r4086.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >bmap</SPAN ></SPAN ></A > -- find a block number in a file </DT ><DT ><A HREF="r4119.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >update_atime</SPAN ></SPAN ></A > -- update the access time </DT ><DT ><A HREF="r4147.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >make_bad_inode</SPAN ></SPAN ></A > -- mark an inode bad due to an I/O error </DT ><DT ><A HREF="r4174.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >is_bad_inode</SPAN ></SPAN ></A > -- is an inode errored </DT ></DL ></DD ><DT ><A HREF="x4200.html" >Registration and Superblocks</A ></DT ><DD ><DL ><DT ><A HREF="r4202.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >register_filesystem</SPAN ></SPAN ></A > -- register a new filesystem </DT ><DT ><A HREF="r4229.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >unregister_filesystem</SPAN ></SPAN ></A > -- unregister a file system </DT ><DT ><A HREF="r4256.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >get_super</SPAN ></SPAN ></A > -- get the superblock of a device </DT ><DT ><A HREF="r4283.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >do_remount_sb</SPAN ></SPAN ></A > -- asks filesystem to change mount options. </DT ></DL ></DD ><DT ><A HREF="x4323.html" >File Locks</A ></DT ><DD ><DL ><DT ><A HREF="r4325.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >posix_lock_file</SPAN ></SPAN ></A > -- </DT ><DT ><A HREF="r4373.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__get_lease</SPAN ></SPAN ></A > -- revoke all outstanding leases on file </DT ><DT ><A HREF="r4410.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >lease_get_mtime</SPAN ></SPAN ></A > -- </DT ><DT ><A HREF="r4436.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >posix_block_lock</SPAN ></SPAN ></A > -- blocks waiting for a file lock </DT ><DT ><A HREF="r4469.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >posix_unblock_lock</SPAN ></SPAN ></A > -- stop waiting for a file lock </DT ><DT ><A HREF="r4495.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >lock_may_read</SPAN ></SPAN ></A > -- checks that the region is free of locks </DT ><DT ><A HREF="r4536.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >lock_may_write</SPAN ></SPAN ></A > -- checks that the region is free of locks </DT ><DT ><A HREF="r4577.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fcntl_getlease</SPAN ></SPAN ></A > -- Enquire what lease is currently active </DT ><DT ><A HREF="r4610.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fcntl_setlease</SPAN ></SPAN ></A > -- sets a lease on an open file </DT ><DT ><A HREF="r4651.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >sys_flock</SPAN ></SPAN ></A > -- <TT CLASS="FUNCTION" >flock</TT > system call. </DT ><DT ><A HREF="r4699.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >get_locks_status</SPAN ></SPAN ></A > -- reports lock usage in /proc/locks </DT ></DL ></DD ></DL ></DD ><DT ><A HREF="c4743.html" >Linux Networking</A ></DT ><DD ><DL ><DT ><A HREF="c4743.html#AEN4745" >Socket Buffer Functions</A ></DT ><DD ><DL ><DT ><A HREF="r4747.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_queue_empty</SPAN ></SPAN ></A > -- check if a queue is empty </DT ><DT ><A HREF="r4773.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_get</SPAN ></SPAN ></A > -- reference buffer </DT ><DT ><A HREF="r4799.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >kfree_skb</SPAN ></SPAN ></A > -- free an sk_buff </DT ><DT ><A HREF="r4825.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_cloned</SPAN ></SPAN ></A > -- is the buffer a clone </DT ><DT ><A HREF="r4852.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_shared</SPAN ></SPAN ></A > -- is the buffer shared </DT ><DT ><A HREF="r4878.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_share_check</SPAN ></SPAN ></A > -- check if buffer is shared and if so clone it </DT ><DT ><A HREF="r4912.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_unshare</SPAN ></SPAN ></A > -- make a copy of a shared buffer </DT ><DT ><A HREF="r4949.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_peek</SPAN ></SPAN ></A > -- </DT ><DT ><A HREF="r4977.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_peek_tail</SPAN ></SPAN ></A > -- </DT ><DT ><A HREF="r5005.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_queue_len</SPAN ></SPAN ></A > -- get queue length </DT ><DT ><A HREF="r5031.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__skb_queue_head</SPAN ></SPAN ></A > -- queue a buffer at the list head </DT ><DT ><A HREF="r5065.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_queue_head</SPAN ></SPAN ></A > -- queue a buffer at the list head </DT ><DT ><A HREF="r5099.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__skb_queue_tail</SPAN ></SPAN ></A > -- queue a buffer at the list tail </DT ><DT ><A HREF="r5133.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_queue_tail</SPAN ></SPAN ></A > -- queue a buffer at the list tail </DT ><DT ><A HREF="r5167.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__skb_dequeue</SPAN ></SPAN ></A > -- remove from the head of the queue </DT ><DT ><A HREF="r5194.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_dequeue</SPAN ></SPAN ></A > -- remove from the head of the queue </DT ><DT ><A HREF="r5221.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_insert</SPAN ></SPAN ></A > -- insert a buffer </DT ><DT ><A HREF="r5254.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_append</SPAN ></SPAN ></A > -- append a buffer </DT ><DT ><A HREF="r5287.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_unlink</SPAN ></SPAN ></A > -- remove a buffer from a list </DT ><DT ><A HREF="r5314.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__skb_dequeue_tail</SPAN ></SPAN ></A > -- remove from the tail of the queue </DT ><DT ><A HREF="r5341.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_dequeue_tail</SPAN ></SPAN ></A > -- remove from the head of the queue </DT ><DT ><A HREF="r5368.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_put</SPAN ></SPAN ></A > -- add data to a buffer </DT ><DT ><A HREF="r5401.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_push</SPAN ></SPAN ></A > -- add data to the start of a buffer </DT ><DT ><A HREF="r5434.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_pull</SPAN ></SPAN ></A > -- remove data from the start of a buffer </DT ><DT ><A HREF="r5467.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_headroom</SPAN ></SPAN ></A > -- bytes at buffer head </DT ><DT ><A HREF="r5493.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_tailroom</SPAN ></SPAN ></A > -- bytes at buffer end </DT ><DT ><A HREF="r5519.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_reserve</SPAN ></SPAN ></A > -- adjust headroom </DT ><DT ><A HREF="r5552.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_trim</SPAN ></SPAN ></A > -- remove end from a buffer </DT ><DT ><A HREF="r5585.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_orphan</SPAN ></SPAN ></A > -- orphan a buffer </DT ><DT ><A HREF="r5612.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_queue_purge</SPAN ></SPAN ></A > -- empty a list </DT ><DT ><A HREF="r5638.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__skb_queue_purge</SPAN ></SPAN ></A > -- empty a list </DT ><DT ><A HREF="r5664.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__dev_alloc_skb</SPAN ></SPAN ></A > -- allocate an skbuff for sending </DT ><DT ><A HREF="r5699.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >dev_alloc_skb</SPAN ></SPAN ></A > -- allocate an skbuff for sending </DT ><DT ><A HREF="r5727.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_cow</SPAN ></SPAN ></A > -- copy header of skb when it is required </DT ><DT ><A HREF="r5762.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_over_panic</SPAN ></SPAN ></A > -- private function </DT ><DT ><A HREF="r5803.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_under_panic</SPAN ></SPAN ></A > -- private function </DT ><DT ><A HREF="r5844.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >alloc_skb</SPAN ></SPAN ></A > -- allocate a network buffer </DT ><DT ><A HREF="r5881.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__kfree_skb</SPAN ></SPAN ></A > -- private function </DT ><DT ><A HREF="r5907.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_clone</SPAN ></SPAN ></A > -- duplicate an sk_buff </DT ><DT ><A HREF="r5944.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_copy</SPAN ></SPAN ></A > -- create private copy of an sk_buff </DT ><DT ><A HREF="r5980.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pskb_copy</SPAN ></SPAN ></A > -- create copy of an sk_buff with private head. </DT ><DT ><A HREF="r6014.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pskb_expand_head</SPAN ></SPAN ></A > -- reallocate header of <SPAN CLASS="STRUCTNAME" >sk_buff</SPAN > </DT ><DT ><A HREF="r6063.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >skb_copy_expand</SPAN ></SPAN ></A > -- copy and expand sk_buff </DT ><DT ><A HREF="r6114.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__pskb_pull_tail</SPAN ></SPAN ></A > -- advance tail of skb header </DT ></DL ></DD ><DT ><A HREF="x6151.html" >Socket Filter</A ></DT ><DD ><DL ><DT ><A HREF="r6153.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >sk_run_filter</SPAN ></SPAN ></A > -- run a filter on a socket </DT ><DT ><A HREF="r6193.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >sk_chk_filter</SPAN ></SPAN ></A > -- verify socket filter code </DT ></DL ></DD ></DL ></DD ><DT ><A HREF="c6227.html" >Network device support</A ></DT ><DD ><DL ><DT ><A HREF="c6227.html#AEN6229" >Driver Support</A ></DT ><DD ><DL ><DT ><A HREF="r6231.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >init_etherdev</SPAN ></SPAN ></A > -- Register ethernet device </DT ><DT ><A HREF="r6268.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >alloc_etherdev</SPAN ></SPAN ></A > -- Allocates and sets up an ethernet device </DT ><DT ><A HREF="r6296.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >init_fddidev</SPAN ></SPAN ></A > -- Register FDDI device </DT ><DT ><A HREF="r6333.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >alloc_fddidev</SPAN ></SPAN ></A > -- Register FDDI device </DT ><DT ><A HREF="r6361.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >init_hippi_dev</SPAN ></SPAN ></A > -- Register HIPPI device </DT ><DT ><A HREF="r6398.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >alloc_hippi_dev</SPAN ></SPAN ></A > -- Register HIPPI device </DT ><DT ><A HREF="r6426.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >init_trdev</SPAN ></SPAN ></A > -- Register token ring device </DT ><DT ><A HREF="r6463.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >alloc_trdev</SPAN ></SPAN ></A > -- Register token ring device </DT ><DT ><A HREF="r6491.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >init_fcdev</SPAN ></SPAN ></A > -- Register fibre channel device </DT ><DT ><A HREF="r6528.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >alloc_fcdev</SPAN ></SPAN ></A > -- Register fibre channel device </DT ><DT ><A HREF="r6556.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >dev_add_pack</SPAN ></SPAN ></A > -- add packet handler </DT ><DT ><A HREF="r6582.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >dev_remove_pack</SPAN ></SPAN ></A > -- remove packet handler </DT ><DT ><A HREF="r6609.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__dev_get_by_name</SPAN ></SPAN ></A > -- find a device by its name </DT ><DT ><A HREF="r6637.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >dev_get_by_name</SPAN ></SPAN ></A > -- find a device by its name </DT ><DT ><A HREF="r6665.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >dev_get</SPAN ></SPAN ></A > -- test if a device exists </DT ><DT ><A HREF="r6692.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__dev_get_by_index</SPAN ></SPAN ></A > -- find a device by its ifindex </DT ><DT ><A HREF="r6720.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >dev_get_by_index</SPAN ></SPAN ></A > -- find a device by its ifindex </DT ><DT ><A HREF="r6746.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >dev_alloc_name</SPAN ></SPAN ></A > -- allocate a name for a device </DT ><DT ><A HREF="r6781.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >dev_alloc</SPAN ></SPAN ></A > -- allocate a network device and name </DT ><DT ><A HREF="r6821.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >netdev_state_change</SPAN ></SPAN ></A > -- device changes state </DT ><DT ><A HREF="r6847.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >dev_load</SPAN ></SPAN ></A > -- load a network module </DT ><DT ><A HREF="r6873.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >dev_open</SPAN ></SPAN ></A > -- prepare an interface for use. </DT ><DT ><A HREF="r6901.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >dev_close</SPAN ></SPAN ></A > -- shutdown an interface. </DT ><DT ><A HREF="r6929.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >register_netdevice_notifier</SPAN ></SPAN ></A > -- register a network notifier block </DT ><DT ><A HREF="r6955.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >unregister_netdevice_notifier</SPAN ></SPAN ></A > -- unregister a network notifier block </DT ><DT ><A HREF="r6982.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >dev_queue_xmit</SPAN ></SPAN ></A > -- transmit a buffer </DT ><DT ><A HREF="r7009.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >netif_rx</SPAN ></SPAN ></A > -- post buffer to the network code </DT ><DT ><A HREF="r7038.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >net_call_rx_atomic</SPAN ></SPAN ></A > -- </DT ><DT ><A HREF="r7065.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >register_gifconf</SPAN ></SPAN ></A > -- register a SIOCGIF handler </DT ><DT ><A HREF="r7098.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >netdev_set_master</SPAN ></SPAN ></A > -- set up master/slave pair </DT ><DT ><A HREF="r7133.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >dev_set_promiscuity</SPAN ></SPAN ></A > -- update promiscuity count on a device </DT ><DT ><A HREF="r7166.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >dev_set_allmulti</SPAN ></SPAN ></A > -- update allmulti count on a device </DT ><DT ><A HREF="r7200.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >dev_ioctl</SPAN ></SPAN ></A > -- network device ioctl </DT ><DT ><A HREF="r7233.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >dev_new_index</SPAN ></SPAN ></A > -- allocate an ifindex </DT ><DT ><A HREF="r7260.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >netdev_finish_unregister</SPAN ></SPAN ></A > -- complete unregistration </DT ><DT ><A HREF="r7286.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >unregister_netdevice</SPAN ></SPAN ></A > -- remove device from the kernel </DT ></DL ></DD ><DT ><A HREF="x7314.html" >8390 Based Network Cards</A ></DT ><DD ><DL ><DT ><A HREF="r7316.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >ei_open</SPAN ></SPAN ></A > -- Open/initialize the board. </DT ><DT ><A HREF="r7342.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >ei_close</SPAN ></SPAN ></A > -- shut down network device </DT ><DT ><A HREF="r7370.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >ei_tx_timeout</SPAN ></SPAN ></A > -- handle transmit time out condition </DT ><DT ><A HREF="r7396.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >ei_interrupt</SPAN ></SPAN ></A > -- handle the interrupts from an 8390 </DT ><DT ><A HREF="r7436.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >ethdev_init</SPAN ></SPAN ></A > -- init rest of 8390 device struct </DT ><DT ><A HREF="r7462.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >NS8390_init</SPAN ></SPAN ></A > -- initialize 8390 hardware </DT ></DL ></DD ><DT ><A HREF="x7495.html" >Synchronous PPP</A ></DT ><DD ><DL ><DT ><A HREF="r7497.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >sppp_input</SPAN ></SPAN ></A > -- receive and process a WAN PPP frame </DT ><DT ><A HREF="r7532.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >sppp_close</SPAN ></SPAN ></A > -- close down a synchronous PPP or Cisco HDLC link </DT ><DT ><A HREF="r7558.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >sppp_open</SPAN ></SPAN ></A > -- open a synchronous PPP or Cisco HDLC link </DT ><DT ><A HREF="r7584.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >sppp_reopen</SPAN ></SPAN ></A > -- notify of physical link loss </DT ><DT ><A HREF="r7612.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >sppp_change_mtu</SPAN ></SPAN ></A > -- Change the link MTU </DT ><DT ><A HREF="r7645.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >sppp_do_ioctl</SPAN ></SPAN ></A > -- Ioctl handler for ppp/hdlc </DT ><DT ><A HREF="r7685.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >sppp_attach</SPAN ></SPAN ></A > -- attach synchronous PPP/HDLC to a device </DT ><DT ><A HREF="r7711.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >sppp_detach</SPAN ></SPAN ></A > -- release PPP resources from a device </DT ></DL ></DD ></DL ></DD ><DT ><A HREF="c7737.html" >Module Support</A ></DT ><DD ><DL ><DT ><A HREF="c7737.html#AEN7739" >Module Loading</A ></DT ><DD ><DL ><DT ><A HREF="r7741.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >request_module</SPAN ></SPAN ></A > -- try to load a kernel module </DT ><DT ><A HREF="r7768.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >call_usermodehelper</SPAN ></SPAN ></A > -- start a usermode application </DT ></DL ></DD ><DT ><A HREF="x7809.html" >Inter Module support</A ></DT ><DD ><DL ><DT ><A HREF="r7811.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >inter_module_register</SPAN ></SPAN ></A > -- register a new set of inter module data. </DT ><DT ><A HREF="r7851.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >inter_module_unregister</SPAN ></SPAN ></A > -- unregister a set of inter module data. </DT ><DT ><A HREF="r7877.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >inter_module_get</SPAN ></SPAN ></A > -- return arbitrary userdata from another module. </DT ><DT ><A HREF="r7903.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >inter_module_get_request</SPAN ></SPAN ></A > -- im get with automatic request_module. </DT ><DT ><A HREF="r7936.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >inter_module_put</SPAN ></SPAN ></A > -- release use of data from another module. </DT ></DL ></DD ></DL ></DD ><DT ><A HREF="c7962.html" >Hardware Interfaces</A ></DT ><DD ><DL ><DT ><A HREF="c7962.html#AEN7964" >Interrupt Handling</A ></DT ><DD ><DL ><DT ><A HREF="r7966.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >disable_irq_nosync</SPAN ></SPAN ></A > -- disable an irq without waiting </DT ><DT ><A HREF="r7994.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >disable_irq</SPAN ></SPAN ></A > -- disable an irq and wait for completion </DT ><DT ><A HREF="r8021.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >enable_irq</SPAN ></SPAN ></A > -- enable handling of an irq </DT ><DT ><A HREF="r8049.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >probe_irq_mask</SPAN ></SPAN ></A > -- scan a bitmap of interrupt lines </DT ></DL ></DD ><DT ><A HREF="x8078.html" >MTRR Handling</A ></DT ><DD ><DL ><DT ><A HREF="r8080.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >mtrr_add</SPAN ></SPAN ></A > -- Add a memory type region </DT ><DT ><A HREF="r8141.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >mtrr_del</SPAN ></SPAN ></A > -- delete a memory type region </DT ></DL ></DD ><DT ><A HREF="x8182.html" >PCI Support Library</A ></DT ><DD ><DL ><DT ><A HREF="r8184.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_find_slot</SPAN ></SPAN ></A > -- locate PCI device from a given PCI slot </DT ><DT ><A HREF="r8218.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_find_subsys</SPAN ></SPAN ></A > -- begin or continue searching for a PCI device by vendor/subvendor/device/subdevice id </DT ><DT ><A HREF="r8286.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_find_device</SPAN ></SPAN ></A > -- begin or continue searching for a PCI device by vendor/device id </DT ><DT ><A HREF="r8336.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_find_class</SPAN ></SPAN ></A > -- begin or continue searching for a PCI device by class </DT ><DT ><A HREF="r8376.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_find_capability</SPAN ></SPAN ></A > -- query for devices' capabilities </DT ><DT ><A HREF="r8422.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_find_parent_resource</SPAN ></SPAN ></A > -- return resource region of parent bus of given region </DT ><DT ><A HREF="r8455.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_set_power_state</SPAN ></SPAN ></A > -- Set the power state of a PCI device </DT ><DT ><A HREF="r8491.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_save_state</SPAN ></SPAN ></A > -- save the PCI configuration space of a device before suspending </DT ><DT ><A HREF="r8525.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_restore_state</SPAN ></SPAN ></A > -- Restore the saved state of a PCI device </DT ><DT ><A HREF="r8555.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_enable_device_bars</SPAN ></SPAN ></A > -- Initialize some of a device for use </DT ><DT ><A HREF="r8588.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_enable_device</SPAN ></SPAN ></A > -- Initialize device before it's used by a driver. </DT ><DT ><A HREF="r8614.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_disable_device</SPAN ></SPAN ></A > -- Disable PCI device after use </DT ><DT ><A HREF="r8640.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_enable_wake</SPAN ></SPAN ></A > -- enable device to generate PME# when suspended </DT ><DT ><A HREF="r8681.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_release_regions</SPAN ></SPAN ></A > -- Release reserved PCI I/O and memory resources </DT ><DT ><A HREF="r8707.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_request_regions</SPAN ></SPAN ></A > -- Reserved PCI I/O and memory resources </DT ><DT ><A HREF="r8744.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_match_device</SPAN ></SPAN ></A > -- Tell if a PCI device structure has a matching PCI device id structure </DT ><DT ><A HREF="r8778.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_register_driver</SPAN ></SPAN ></A > -- register a new pci driver </DT ><DT ><A HREF="r8804.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_unregister_driver</SPAN ></SPAN ></A > -- unregister a pci driver </DT ><DT ><A HREF="r8831.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_announce_device_to_drivers</SPAN ></SPAN ></A > -- tell the drivers a new device has appeared </DT ><DT ><A HREF="r8857.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_insert_device</SPAN ></SPAN ></A > -- insert a hotplug device </DT ><DT ><A HREF="r8890.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_remove_device</SPAN ></SPAN ></A > -- remove a hotplug device </DT ><DT ><A HREF="r8916.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_dev_driver</SPAN ></SPAN ></A > -- get the pci_driver of a device </DT ><DT ><A HREF="r8943.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_set_master</SPAN ></SPAN ></A > -- enables bus-mastering for device dev </DT ><DT ><A HREF="r8970.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pdev_set_mwi</SPAN ></SPAN ></A > -- arch helper function for pcibios_set_mwi </DT ><DT ><A HREF="r9000.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_set_mwi</SPAN ></SPAN ></A > -- enables memory-write-invalidate PCI transaction </DT ><DT ><A HREF="r9031.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_clear_mwi</SPAN ></SPAN ></A > -- disables Memory-Write-Invalidate for device dev </DT ><DT ><A HREF="r9057.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_setup_device</SPAN ></SPAN ></A > -- fill in class and map information of a device </DT ><DT ><A HREF="r9083.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_pool_create</SPAN ></SPAN ></A > -- Creates a pool of pci consistent memory blocks, for dma. </DT ><DT ><A HREF="r9148.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_pool_destroy</SPAN ></SPAN ></A > -- destroys a pool of pci memory blocks. </DT ><DT ><A HREF="r9174.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_pool_alloc</SPAN ></SPAN ></A > -- get a block of consistent memory </DT ><DT ><A HREF="r9214.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_pool_free</SPAN ></SPAN ></A > -- put block back into pci pool </DT ></DL ></DD ><DT ><A HREF="x9254.html" >PCI Hotplug Support Library</A ></DT ><DD ><DL ><DT ><A HREF="r9256.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_hp_register</SPAN ></SPAN ></A > -- register a hotplug_slot with the PCI hotplug subsystem </DT ><DT ><A HREF="r9283.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_hp_deregister</SPAN ></SPAN ></A > -- deregister a hotplug_slot with the PCI hotplug subsystem </DT ><DT ><A HREF="r9312.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_hp_change_slot_info</SPAN ></SPAN ></A > -- changes the slot's information structure in the core </DT ><DT ><A HREF="r9348.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_read_config_byte_nodev</SPAN ></SPAN ></A > -- read a byte from a pci device </DT ><DT ><A HREF="r9410.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_read_config_word_nodev</SPAN ></SPAN ></A > -- read a word from a pci device </DT ><DT ><A HREF="r9472.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_read_config_dword_nodev</SPAN ></SPAN ></A > -- read a dword from a pci device </DT ><DT ><A HREF="r9534.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_write_config_byte_nodev</SPAN ></SPAN ></A > -- write a byte to a pci device </DT ><DT ><A HREF="r9596.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_write_config_word_nodev</SPAN ></SPAN ></A > -- write a word to a pci device </DT ><DT ><A HREF="r9658.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pci_write_config_dword_nodev</SPAN ></SPAN ></A > -- write a dword to a pci device </DT ></DL ></DD ><DT ><A HREF="x9720.html" >MCA Architecture</A ></DT ><DD ><DL ><DT ><A HREF="x9720.html#AEN9722" >MCA Device Functions</A ></DT ><DT ><A HREF="x9720.html#AEN10136" >MCA Bus DMA</A ></DT ></DL ></DD ></DL ></DD ><DT ><A HREF="c10385.html" >The Device File System</A ></DT ><DD ><DL ><DT ><A HREF="r10387.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_put</SPAN ></SPAN ></A > -- Put (release) a reference to a devfs entry. </DT ><DT ><A HREF="r10410.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_register</SPAN ></SPAN ></A > -- Register a device entry. </DT ><DT ><A HREF="r10489.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_unregister</SPAN ></SPAN ></A > -- Unregister a device entry. </DT ><DT ><A HREF="r10515.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_mk_symlink</SPAN ></SPAN ></A > -- </DT ><DT ><A HREF="r10578.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_mk_dir</SPAN ></SPAN ></A > -- Create a directory in the devfs namespace. </DT ><DT ><A HREF="r10622.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_get_handle</SPAN ></SPAN ></A > -- Find the handle of a devfs entry. </DT ><DT ><A HREF="r10696.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_get_flags</SPAN ></SPAN ></A > -- Get the flags for a devfs entry. </DT ><DT ><A HREF="r10729.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_get_maj_min</SPAN ></SPAN ></A > -- Get the major and minor numbers for a devfs entry. </DT ><DT ><A HREF="r10771.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_get_handle_from_inode</SPAN ></SPAN ></A > -- Get the devfs handle for a VFS inode. </DT ><DT ><A HREF="r10798.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_generate_path</SPAN ></SPAN ></A > -- Generate a pathname for an entry, relative to the devfs root. </DT ><DT ><A HREF="r10838.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_get_ops</SPAN ></SPAN ></A > -- Get the device operations for a devfs entry. </DT ><DT ><A HREF="r10864.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_set_file_size</SPAN ></SPAN ></A > -- Set the file size for a devfs regular file. </DT ><DT ><A HREF="r10897.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_get_info</SPAN ></SPAN ></A > -- Get the info pointer written to private_data of <TT CLASS="PARAMETER" ><I >de</I ></TT > upon open. </DT ><DT ><A HREF="r10924.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_set_info</SPAN ></SPAN ></A > -- Set the info pointer written to private_data upon open. </DT ><DT ><A HREF="r10957.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_get_parent</SPAN ></SPAN ></A > -- Get the parent device entry. </DT ><DT ><A HREF="r10984.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_get_first_child</SPAN ></SPAN ></A > -- Get the first leaf node in a directory. </DT ><DT ><A HREF="r11011.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_get_next_sibling</SPAN ></SPAN ></A > -- Get the next sibling leaf node. for a device entry. </DT ><DT ><A HREF="r11038.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_auto_unregister</SPAN ></SPAN ></A > -- Configure a devfs entry to be automatically unregistered. </DT ><DT ><A HREF="r11069.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_get_unregister_slave</SPAN ></SPAN ></A > -- Get the slave entry which will be automatically unregistered. </DT ><DT ><A HREF="r11096.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_get_name</SPAN ></SPAN ></A > -- Get the name for a device entry in its parent directory. </DT ><DT ><A HREF="r11131.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_register_chrdev</SPAN ></SPAN ></A > -- Optionally register a conventional character driver. </DT ><DT ><A HREF="r11172.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_register_blkdev</SPAN ></SPAN ></A > -- Optionally register a conventional block driver. </DT ><DT ><A HREF="r11213.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_unregister_chrdev</SPAN ></SPAN ></A > -- Optionally unregister a conventional character driver. </DT ><DT ><A HREF="r11247.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >devfs_unregister_blkdev</SPAN ></SPAN ></A > -- Optionally unregister a conventional block driver. </DT ></DL ></DD ><DT ><A HREF="c11281.html" >Power Management</A ></DT ><DD ><DL ><DT ><A HREF="r11283.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pm_register</SPAN ></SPAN ></A > -- register a device with power management </DT ><DT ><A HREF="r11325.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pm_unregister</SPAN ></SPAN ></A > -- unregister a device with power management </DT ><DT ><A HREF="r11351.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pm_unregister_all</SPAN ></SPAN ></A > -- unregister all devices with matching callback </DT ><DT ><A HREF="r11377.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pm_send</SPAN ></SPAN ></A > -- send request to a single device </DT ><DT ><A HREF="r11425.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pm_send_all</SPAN ></SPAN ></A > -- send request to all managed devices </DT ><DT ><A HREF="r11466.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >pm_find</SPAN ></SPAN ></A > -- find a device </DT ></DL ></DD ><DT ><A HREF="c11504.html" >Block Devices</A ></DT ><DD ><DL ><DT ><A HREF="r11506.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >blk_cleanup_queue</SPAN ></SPAN ></A > -- release a <SPAN CLASS="STRUCTNAME" >request_queue_t</SPAN > when it is no longer needed </DT ><DT ><A HREF="r11537.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >blk_queue_headactive</SPAN ></SPAN ></A > -- indicate whether head of request queue may be active </DT ><DT ><A HREF="r11576.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >blk_queue_make_request</SPAN ></SPAN ></A > -- define an alternate make_request function for a device </DT ><DT ><A HREF="r11616.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >blk_init_queue</SPAN ></SPAN ></A > -- prepare a request queue for use with a block device </DT ><DT ><A HREF="r11663.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >generic_make_request</SPAN ></SPAN ></A > -- </DT ><DT ><A HREF="r11705.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >submit_bh</SPAN ></SPAN ></A > -- </DT ><DT ><A HREF="r11744.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >ll_rw_block</SPAN ></SPAN ></A > -- level access to block devices </DT ><DT ><A HREF="r11801.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >end_that_request_first</SPAN ></SPAN ></A > -- end I/O on one buffer. </DT ></DL ></DD ><DT ><A HREF="c11850.html" >Miscellaneous Devices</A ></DT ><DD ><DL ><DT ><A HREF="r11852.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >misc_register</SPAN ></SPAN ></A > -- register a miscellaneous device </DT ><DT ><A HREF="r11881.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >misc_deregister</SPAN ></SPAN ></A > -- unregister a miscellaneous device </DT ></DL ></DD ><DT ><A HREF="c11908.html" >Video4Linux</A ></DT ><DD ><DL ><DT ><A HREF="r11910.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >video_register_device</SPAN ></SPAN ></A > -- register video4linux devices </DT ><DT ><A HREF="r11961.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >video_unregister_device</SPAN ></SPAN ></A > -- unregister a video4linux device </DT ></DL ></DD ><DT ><A HREF="c11987.html" >Sound Devices</A ></DT ><DD ><DL ><DT ><A HREF="r11989.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >register_sound_special</SPAN ></SPAN ></A > -- register a special sound node </DT ><DT ><A HREF="r12022.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >register_sound_mixer</SPAN ></SPAN ></A > -- register a mixer device </DT ><DT ><A HREF="r12055.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >register_sound_midi</SPAN ></SPAN ></A > -- register a midi device </DT ><DT ><A HREF="r12088.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >register_sound_dsp</SPAN ></SPAN ></A > -- register a DSP device </DT ><DT ><A HREF="r12122.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >register_sound_synth</SPAN ></SPAN ></A > -- register a synth device </DT ><DT ><A HREF="r12155.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >unregister_sound_special</SPAN ></SPAN ></A > -- unregister a special sound device </DT ><DT ><A HREF="r12182.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >unregister_sound_mixer</SPAN ></SPAN ></A > -- unregister a mixer </DT ><DT ><A HREF="r12209.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >unregister_sound_midi</SPAN ></SPAN ></A > -- unregister a midi device </DT ><DT ><A HREF="r12236.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >unregister_sound_dsp</SPAN ></SPAN ></A > -- unregister a DSP device </DT ><DT ><A HREF="r12264.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >unregister_sound_synth</SPAN ></SPAN ></A > -- unregister a synth device </DT ><DT ><A HREF="r12291.html" >drivers/sound/sound_firmware.c</A > -- Document generation inconsistency </DT ></DL ></DD ><DT ><A HREF="c12300.html" >USB Devices</A ></DT ><DD ><DL ><DT ><A HREF="r12302.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >usb_register</SPAN ></SPAN ></A > -- register a USB driver </DT ><DT ><A HREF="r12328.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >usb_scan_devices</SPAN ></SPAN ></A > -- scans all unclaimed USB interfaces </DT ><DT ><A HREF="r12355.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >usb_deregister</SPAN ></SPAN ></A > -- unregister a USB driver </DT ><DT ><A HREF="r12381.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >usb_alloc_bus</SPAN ></SPAN ></A > -- creates a new USB host controller structure </DT ><DT ><A HREF="r12410.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >usb_free_bus</SPAN ></SPAN ></A > -- frees the memory used by a bus structure </DT ><DT ><A HREF="r12436.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >usb_register_bus</SPAN ></SPAN ></A > -- registers the USB host controller with the usb core </DT ><DT ><A HREF="r12462.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >usb_deregister_bus</SPAN ></SPAN ></A > -- deregisters the USB host controller </DT ><DT ><A HREF="r12488.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >usb_match_id</SPAN ></SPAN ></A > -- find first usb_device_id matching device or interface </DT ><DT ><A HREF="r12548.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >usb_alloc_urb</SPAN ></SPAN ></A > -- creates a new urb for a USB driver to use </DT ><DT ><A HREF="r12577.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >usb_free_urb</SPAN ></SPAN ></A > -- frees the memory used by a urb </DT ><DT ><A HREF="r12605.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >usb_control_msg</SPAN ></SPAN ></A > -- Builds a control urb, sends it off and waits for completion </DT ><DT ><A HREF="r12691.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >usb_bulk_msg</SPAN ></SPAN ></A > -- Builds a bulk urb, sends it off and waits for completion </DT ></DL ></DD ><DT ><A HREF="c12756.html" >16x50 UART Driver</A ></DT ><DD ><DL ><DT ><A HREF="r12758.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >register_serial</SPAN ></SPAN ></A > -- configure a 16x50 serial port at runtime </DT ><DT ><A HREF="r12786.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >unregister_serial</SPAN ></SPAN ></A > -- deconfigure a 16x50 serial port </DT ></DL ></DD ><DT ><A HREF="c12813.html" >Z85230 Support Library</A ></DT ><DD ><DL ><DT ><A HREF="r12815.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >z8530_interrupt</SPAN ></SPAN ></A > -- Handle an interrupt from a Z8530 </DT ><DT ><A HREF="r12856.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >z8530_sync_open</SPAN ></SPAN ></A > -- Open a Z8530 channel for PIO </DT ><DT ><A HREF="r12889.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >z8530_sync_close</SPAN ></SPAN ></A > -- Close a PIO Z8530 channel </DT ><DT ><A HREF="r12922.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >z8530_sync_dma_open</SPAN ></SPAN ></A > -- Open a Z8530 for DMA I/O </DT ><DT ><A HREF="r12955.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >z8530_sync_dma_close</SPAN ></SPAN ></A > -- Close down DMA I/O </DT ><DT ><A HREF="r12988.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >z8530_sync_txdma_open</SPAN ></SPAN ></A > -- Open a Z8530 for TX driven DMA </DT ><DT ><A HREF="r13021.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >z8530_sync_txdma_close</SPAN ></SPAN ></A > -- Close down a TX driven DMA channel </DT ><DT ><A HREF="r13054.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >z8530_describe</SPAN ></SPAN ></A > -- Uniformly describe a Z8530 port </DT ><DT ><A HREF="r13096.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >z8530_init</SPAN ></SPAN ></A > -- Initialise a Z8530 device </DT ><DT ><A HREF="r13124.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >z8530_shutdown</SPAN ></SPAN ></A > -- Shutdown a Z8530 device </DT ><DT ><A HREF="r13151.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >z8530_channel_load</SPAN ></SPAN ></A > -- Load channel data </DT ><DT ><A HREF="r13186.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >z8530_null_rx</SPAN ></SPAN ></A > -- Discard a packet </DT ><DT ><A HREF="r13219.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >z8530_queue_xmit</SPAN ></SPAN ></A > -- Queue a packet </DT ><DT ><A HREF="r13253.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >z8530_get_stats</SPAN ></SPAN ></A > -- Get network statistics </DT ></DL ></DD ><DT ><A HREF="c13280.html" >Frame Buffer Library</A ></DT ><DD ><DL ><DT ><A HREF="c13280.html#AEN13287" >Frame Buffer Memory</A ></DT ><DD ><DL ><DT ><A HREF="r13289.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >register_framebuffer</SPAN ></SPAN ></A > -- registers a frame buffer device </DT ><DT ><A HREF="r13317.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >unregister_framebuffer</SPAN ></SPAN ></A > -- releases a frame buffer device </DT ></DL ></DD ><DT ><A HREF="x13345.html" >Frame Buffer Console</A ></DT ><DD ><DL ><DT ><A HREF="r13347.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fbcon_redraw_clear</SPAN ></SPAN ></A > -- clear area of the screen </DT ><DT ><A HREF="r13408.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fbcon_redraw_bmove</SPAN ></SPAN ></A > -- copy area of screen to another area </DT ></DL ></DD ><DT ><A HREF="x13477.html" >Frame Buffer Colormap</A ></DT ><DD ><DL ><DT ><A HREF="r13479.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fb_alloc_cmap</SPAN ></SPAN ></A > -- allocate a colormap </DT ><DT ><A HREF="r13523.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fb_copy_cmap</SPAN ></SPAN ></A > -- copy a colormap </DT ><DT ><A HREF="r13576.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fb_get_cmap</SPAN ></SPAN ></A > -- get a colormap </DT ><DT ><A HREF="r13628.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fb_set_cmap</SPAN ></SPAN ></A > -- set the colormap </DT ><DT ><A HREF="r13680.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fb_default_cmap</SPAN ></SPAN ></A > -- get default colormap </DT ><DT ><A HREF="r13708.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fb_invert_cmaps</SPAN ></SPAN ></A > -- invert all defaults colormaps </DT ></DL ></DD ><DT ><A HREF="x13735.html" >Frame Buffer Generic Functions</A ></DT ><DD ><DL ><DT ><A HREF="r13737.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fbgen_get_fix</SPAN ></SPAN ></A > -- get fixed part of display </DT ><DT ><A HREF="r13781.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fbgen_get_var</SPAN ></SPAN ></A > -- get user defined part of display </DT ><DT ><A HREF="r13825.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fbgen_set_var</SPAN ></SPAN ></A > -- set the user defined part of display </DT ><DT ><A HREF="r13869.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fbgen_get_cmap</SPAN ></SPAN ></A > -- get the colormap </DT ><DT ><A HREF="r13921.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fbgen_set_cmap</SPAN ></SPAN ></A > -- set the colormap </DT ><DT ><A HREF="r13973.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fbgen_pan_display</SPAN ></SPAN ></A > -- pan or wrap the display </DT ><DT ><A HREF="r14018.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fbgen_do_set_var</SPAN ></SPAN ></A > -- change the video mode </DT ><DT ><A HREF="r14061.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fbgen_set_disp</SPAN ></SPAN ></A > -- set generic display </DT ><DT ><A HREF="r14096.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fbgen_install_cmap</SPAN ></SPAN ></A > -- install the current colormap </DT ><DT ><A HREF="r14131.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fbgen_update_var</SPAN ></SPAN ></A > -- update user defined part of display </DT ><DT ><A HREF="r14167.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fbgen_switch</SPAN ></SPAN ></A > -- switch to a different virtual console. </DT ><DT ><A HREF="r14203.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fbgen_blank</SPAN ></SPAN ></A > -- blank the screen </DT ></DL ></DD ><DT ><A HREF="x14237.html" >Frame Buffer Video Mode Database</A ></DT ><DD ><DL ><DT ><A HREF="r14239.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fb_find_mode</SPAN ></SPAN ></A > -- finds a valid video mode </DT ><DT ><A HREF="r14322.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >__fb_try_mode</SPAN ></SPAN ></A > -- test a video mode </DT ></DL ></DD ><DT ><A HREF="x14371.html" >Frame Buffer Macintosh Video Mode Database</A ></DT ><DD ><DL ><DT ><A HREF="r14373.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >console_getmode</SPAN ></SPAN ></A > -- get current mode </DT ><DT ><A HREF="r14402.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >console_setmode</SPAN ></SPAN ></A > -- sets current console mode </DT ><DT ><A HREF="r14439.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >console_setcmap</SPAN ></SPAN ></A > -- sets palette color map for console </DT ><DT ><A HREF="r14488.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >console_powermode</SPAN ></SPAN ></A > -- sets monitor power mode </DT ><DT ><A HREF="r14518.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >mac_vmode_to_var</SPAN ></SPAN ></A > -- converts vmode/cmode pair to var structure </DT ><DT ><A HREF="r14559.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >mac_var_to_vmode</SPAN ></SPAN ></A > -- convert var structure to MacOS vmode/cmode pair </DT ><DT ><A HREF="r14600.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >mac_map_monitor_sense</SPAN ></SPAN ></A > -- Convert monitor sense to vmode </DT ><DT ><A HREF="r14627.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >mac_find_mode</SPAN ></SPAN ></A > -- find a video mode </DT ></DL ></DD ><DT ><A HREF="x14679.html" >Frame Buffer Fonts</A ></DT ><DD ><DL ><DT ><A HREF="r14681.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fbcon_find_font</SPAN ></SPAN ></A > -- find a font </DT ><DT ><A HREF="r14710.html" ><SPAN CLASS="phrase" ><SPAN CLASS="PHRASE" >fbcon_get_default_font</SPAN ></SPAN ></A > -- get default font </DT ></DL ></DD ></DL ></DD ></DL ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" > </TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="c10.html" ACCESSKEY="N" >Next >>></A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" > </TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Driver Basics</TD ></TR ></TABLE ></DIV ></BODY ></HTML >