封面
版权信息
前言
第1章 Linux内核API分析必备知识
1.1 Linux内核编程注意事项
1.2 本书中模块编译Makefile模板
1.3 内核调试函数printk
1.4 内核编译与定制
1.4.1 获得Linux内核与补丁
1.4.2 准备编译需要的工具
1.4.3 解压内核
1.4.4 给内核打补丁
1.4.5 设定编译选项
1.4.6 编译与安装内核
1.4.7 创建initramfs
1.4.8 设置grub
1.4.9 启动选项
1.5 温馨提示
本章参考文献
第2章 内核模块机制API
2.1 函数:__module_address( )
2.2 函数:__module_text_address( )
2.3 函数:__print_symbol( )
2.4 函数:__symbol_get( )
2.5 函数:__symbol_put( )
2.6 函数:find_module( )
2.7 函数:find_symbol( )
2.8 函数:module_is_live( )
2.9 函数:module_put( )
2.10 函数:module_refcount( )
2.11 函数:sprint_symbol( )
2.12 函数:symbol_put_addr( )
2.13 函数:try_module_get( )
本章参考文献
第3章 Linux进程管理内核API
3.1 函数:__task_pid_nr_ns( )
3.2 函数:find_get_pid( )
3.3 函数:find_pid_ns( )
3.4 函数:find_vpid( )
3.5 函数:get_pid( )
3.6 函数:get_task_mm( )
3.7 函数:mmput( )
3.8 函数:ns_of_pid( )
3.9 函数:pid_nr( )
3.10 函数:pid_task( )
3.11 函数:pid_vnr( )
3.12 函数:put_pid( )
3.13 函数:task_active_pid_ns( )
3.14 函数:task_tgid_nr_ns( )
本章参考文献
第4章 Linux进程调度内核API
4.1 函数:__wake_up( )
4.2 函数:__wake_up_sync( )
4.3 函数:__wake_up_sync_key( )
4.4 函数:abort_exclusive_wait( )
4.5 函数:add_wait_queue( )
4.6 函数:add_wait_queue_exclusive( )
4.7 函数:autoremove_wake_function( )
4.8 函数:complete( )
4.9 函数:complete_all( )
4.10 函数:completion_done( )
4.11 函数:current_thread_info( )
4.12 函数:default_wake_function( )
4.13 函数:do_exit( )
4.14 函数:finish_wait( )
4.15 函数:init_waitqueue_entry( )
4.16 函数:init_waitqueue_head( )
4.17 函数:kthread_create_on_node( )
4.18 函数:kthread_stop( )
4.19 函数:prepare_to_wait( )
4.20 函数:prepare_to_wait_exclusive( )
4.21 函数:remove_wait_queue( )
4.22 函数:sched_setscheduler( )
4.23 函数:set_cpus_allowed_ptr( )
4.24 函数:set_user_nice( )
4.25 函数:task_nice( )
4.26 函数:try_wait_for_completion( )
4.27 函数:wait_for_completion( )
4.28 函数:wait_for_completion_interruptible_timeout( )
4.29 函数:wait_for_completion_killable( )
4.30 函数:wait_for_completion_timeout( )
4.31 函数:wake_up_process( )
4.32 函数:yield( )
本章参考文献
第5章 Linux中断机制内核API
5.1 函数:__tasklet_hi_schedule( )
5.2 函数:__tasklet_schedule( )
5.3 函数:disable_irq( )
5.4 函数:disable_irq_nosync( )
5.5 函数:disable_irq_wake( )
5.6 函数:enable_irq( )
5.7 函数:enable_irq_wake( )
5.8 函数:free_irq( )
5.9 函数:irq_set_chip( )
5.10 函数:irq_set_chip_data( )
5.11 函数:irq_set_irq_type( )
5.12 函数:irq_set_irq_wake( )
5.13 函数:remove_irq( )
5.14 函数:request_irq( )
5.15 函数:request_threaded_irq( )
5.16 函数:setup_irq( )
5.17 函数:tasklet_disable( )
5.18 函数:tasklet_disable_nosync( )
5.19 函数:tasklet_enable( )
5.20 函数:tasklet_hi_schedule( )
5.21 函数:tasklet_init( )
5.22 函数:tasklet_kill( )
5.23 函数:tasklet_schedule( )
5.24 函数:tasklet_trylock( )
5.25 函数:tasklet_unlock( )
本章参考文献
第6章 Linux内存管理内核API
6.1 函数:__free_pages( )
6.2 函数:__get_free_pages( )
6.3 函数:__get_vm_area( )
6.4 函数:__krealloc( )
6.5 函数:alloc_pages( )
6.6 函数:alloc_pages_exact( )
6.7 函数:find_vma( )
6.8 函数:find_vma_intersection( )
6.9 函数:free_pages( )
6.10 函数:free_pages_exact( )
6.11 函数:get_unmapped_area( )
6.12 函数:get_zeroed_page( )
6.13 函数:kcalloc( )
6.14 函数:kfree( )
6.15 函数:kmalloc( )
6.16 函数:kmem_cache_alloc( )
6.17 函数:kmem_cache_create( )
6.18 函数:kmem_cache_destroy( )
6.19 函数:kmem_cache_free( )
6.20 函数:kmem_cache_zalloc( )
6.21 函数:kmemdup( )
6.22 函数:ksize( )
6.23 函数:kstrdup( )
6.24 函数:kstrndup( )
6.25 函数:kzalloc( )
6.26 函数:memdup_user( )
6.27 函数:mempool_alloc( )
6.28 函数:mempool_alloc_pages( )
6.29 函数:mempool_alloc_slab( )
6.30 函数:mempool_create( )
6.31 函数:mempool_destroy( )
6.32 函数:mempool_free( )
6.33 函数:mempool_free_pages( )
6.34 函数:mempool_free_slab( )
6.35 函数:mempool_kfree( )
6.36 函数:mempool_kmalloc( )
6.37 函数:mempool_resize( )
6.38 函数:nr_free_buffer_pages( )
6.39 宏:page_address( )
6.40 宏:page_cache_get( )
6.41 宏:page_cache_release( )
6.42 函数:page_zone( )
6.43 宏:probe_kernel_address( )
6.44 函数:probe_kernel_read( )
6.45 函数:vfree( )
6.46 函数:vma_pages( )
6.47 函数:vmalloc( )
6.48 函数:vmalloc_to_page( )
6.49 函数:vmalloc_to_pfn( )
6.50 函数:vmalloc_user( )
本章参考文献
第7章 Linux内核定时机制API
7.1 函数:__round_jiffies( )
7.2 函数:__round_jiffies_relative( )
7.3 函数:__round_jiffies_up( )
7.4 函数:__round_jiffies_up_relative( )
7.5 函数:add_timer( )
7.6 函数:current_kernel_time( )
7.7 函数:del_timer( )
7.8 函数:del_timer_sync( )
7.9 函数:do_gettimeofday( )
7.10 函数:do_settimeofday( )
7.11 函数:get_seconds( )
7.12 函数:getnstimeofday( )
7.13 函数:init_timer( )
7.14 函数:init_timer_deferrable( )
7.15 函数:init_timer_key( )
7.16 函数:init_timer_on_stack( )
7.17 函数:init_timer_on_stack_key( )
7.18 函数:mktime( )
7.19 函数:mod_timer( )
7.20 函数:mod_timer_pending( )
7.21 函数:ns_to_timespec( )
7.22 函数:ns_to_timeval( )
7.23 函数:round_jiffies( )
7.24 函数:round_jiffies_relative( )
7.25 函数:round_jiffies_up( )
7.26 函数:round_jiffies_up_relative( )
7.27 函数:set_normalized_timespec( )
7.28 函数:setup_timer( )
7.29 函数:setup_timer_on_stack( )
7.30 函数:timer_pending( )
7.31 函数:timespec_add_ns( )
7.32 函数:timespec_compare( )
7.33 函数:timespec_equal( )
7.34 函数:timespec_sub( )
7.35 函数:timespec_to_ns( )
7.36 函数:timeval_compare( )
7.37 函数:timeval_to_ns( )
7.38 函数:try_to_del_timer_sync( )
本章参考文献
第8章 Linux内核定时机制API
8.1 函数:atomic_add( )
8.2 函数:atomic_add_negative( )
8.3 函数:atomic_add_return( )
8.4 函数:atomic_add_unless( )
8.5 函数:atomic_cmpxchg( )
8.6 函数:atomic_dec( )
8.7 函数:atomic_dec_and_test( )
8.8 函数:atomic_inc( )
8.9 函数:atomic_inc_and_test( )
8.10 函数:atomic_read( )
8.11 函数:atomic_set( )
8.12 函数:atomic_sub( )
8.13 函数:atomic_sub_and_test( )
8.14 函数:atomic_sub_return( )
8.15 函数:down( )
8.16 函数:down_interruptible( )
8.17 函数:down_killable( )
8.18 函数:down_read( )
8.19 函数:down_read_trylock( )
8.20 函数:down_timeout( )
8.21 函数:down_trylock( )
8.22 函数:down_write( )
8.23 函数:down_write_trylock( )
8.24 函数:downgrade_write( )
8.25 宏:init_rwsem( )
8.26 函数:read_seqbegin( )
8.27 函数:read_seqretry( )
8.28 函数:sema_init( )
8.29 宏:seqlock_init( )
8.30 函数:up( )
8.31 函数:up_read( )
8.32 函数:up_write( )
8.33 函数:write_seqlock( )
8.34 函数:write_sequnlock( )
本章参考文献
第9章 Linux文件系统内核API
9.1 函数:__mnt_is_readonly( )
9.2 函数:current_umask( )
9.3 函数:d_alloc( )
9.4 函数:d_find_alias( )
9.5 函数:dput( )
9.6 函数:fget( )
9.7 函数:generic_fillattr( )
9.8 函数:get_fs_type( )
9.9 函数:get_max_files( )
9.10 函数:get_super( )
9.11 函数:have_submounts( )
9.12 函数:I_BDEV( )
9.13 函数:inode_add_bytes( )
9.14 函数:inode_get_bytes( )
9.15 函数:inode_set_bytes( )
9.16 函数:inode_sub_bytes( )
9.17 函数:is_bad_inode( )
9.18 函数:make_bad_inode( )
9.19 函数:may_umount( )
9.20 函数:may_umount_tree( )
9.21 函数:mnt_want_write( )
9.22 函数:notify_change( )
9.23 函数:put_unused_fd( )
9.24 函数:unshare_fs_struct( )
9.25 函数:vfs_fstat( )
9.26 函数:vfs_getattr( )
9.27 函数:vfs_statfs( )
本章参考文献
第10章 Linux 设备驱动及设备 管理API
10.1 函数:__class_create( )
10.2 函数:__class_register( )
10.3 函数:cdev_add( )
10.4 函数:cdev_alloc( )
10.5 函数:cdev_del( )
10.6 函数:cdev_init( )
10.7 宏:class_create( )
10.8 函数:class_destroy( )
10.9 宏:class_register( )
10.10 函数:class_unregister( )
10.11 函数:device_add( )
10.12 函数:device_create( )
10.13 函数:device_del( )
10.14 函数:device_destroy( )
10.15 函数:device_initialize( )
10.16 函数:device_register( )
10.17 函数:device_rename( )
10.18 函数:device_unregister( )
10.19 函数:get_device( )
10.20 函数:put_device( )
10.21 函数:register_chrdev( )
10.22 函数:unregister_chrdev( )
10.23 部分相关函数说明
本章参考文献
更新时间:2019-01-04 14:56:24