Linux内核API

      突然想了解下LInux内核提供了哪些函数,于是搜索一番,发现《Linux内核API参考手册》目录正是我想要的,

API已经分类,方便查阅。

前言
本书使用方法
第1 章Linux内核API 分析必备知识………1
Linux内核编程注意事项……………………1
本书中模块编译Makefile模板………………1
内核调试函数printk …………………………2
内核编译与定制 ……………………………4
温馨提示……………………………………10
参考文献……………………………………11
第2 章Linux内核模块机制API ……………12
函数:__module_address ( ) ………………12
函数:__module_ref_addr ( ) ………………14
函数:__module_text_address ( )……………16
函数:__print_symbol ( ) …………………18
函数:__symbol_get ( ) ……………………20
函数:__symbol_put ( ) ……………………22
函数:find_module ( ) ………………………24
函数:find_symbol ( ) ………………………27
函数:module_is_live ( ) ……………………30
函数:module_put ( )………………………32
函数:module_refcount ( ) …………………34
函数:sprint_symbol ( ) ……………………36
函数:symbol_put_addr ( ) …………………38
函数:try_module_get ( ) …………………40
函数:use_module ( ) ………………………42
参考文献……………………………………44
第3 章Linux进程管理内核API ……………45
函数:__task_pid_nr_ns( ) …………………45
函数:find_get_pid( ) ………………………47
函数:find_pid _ns( ) ………………………49
函数:find_task_by_pid_ns( ) ………………51
函数:find_task_by_pid_type _ns( ) ………53
函数:find_task_by_vpid( ) …………………55
函数:find_vpid( ) …………………………57
函数:get_pid( )……………………………59
函数:get_task_mm( ) ………………………60
函数:is_container_init( ) …………………63
函数:kernel_thread( ) ……………………65
函数:mmput( ) ……………………………67
函数:ns_of_pid( ) …………………………69
函数:pid_nr( ) ……………………………71
函数:pid_task( ) …………………………73
函数:pid_vnr( )……………………………75
函数:put_pid( )……………………………77
函数:task_active_pid_ns( ) ………………79
函数:task_tgid_nr_ns( ) ……………………81
参考文献……………………………………83
第4 章Linux进程调度内核API ……………84
函数:__wake_up( ) ………………………84
函数:__wake_up_sync( ) …………………87
函数:__wake_up_sync_key( ) ……………89
函数:abort_exclusive_wait( )………………91
函数:add_preempt_count( ) ………………95
函数:add_wait_queue( ) …………………97
函数:add_wait_queue_exclusive( ) ………100
函数:autoremove_wake_function( ) ………102
函数:complete( ) …………………………106
函数:complete_all( ) ……………………108
函数:complete_done( ) ……………………111
函数:current_thread_info( ) ………………113
函数:default_wake_function( ) ……………115
函数:do_exit( ) …………………………118
函数:finish_wait( ) ………………………120
函数:init_waitqueue_entry( ) ……………123
函数:init_waitqueue_head( ) ……………125
函数:interruptible_sleep_on( ) ……………127
函数:interruptible_sleep_on_timeout( ) …130
函数:preempt_notifier_register ( ) ………133
函数:preempt_notifier_unregister ( ) ……136
函数:prepare_to_wait( ) …………………139
函数:prepare_to_wait_exclusive( ) ………142
函数:remove_wait_queue( ) ………………146
函数:sched_setscheduler( ) ………………149
函数:set_cpus_allowed_ptr( ) ……………152
函数:set_user_nice( ) ……………………155
函数:sleep_on( ) …………………………158
函数:sleep_on_timeout( ) …………………160
函数:sub_preempt_count( ) ………………162
函数:task_nice( ) …………………………164
函数:try_wait_for_completion( ) …………166
函数:wait_for_completion( ) ……………169
函数:wait_for_completion_interruptible( )…172
函数:wait_for_completion_interruptible_timeout( ) …………………………175
函数:wait_for_completion_killable( ) ……179
函数:wait_for_completion_timeout( ) ……182
函数:wake_up_process( )…………………184
函数:yield( ) ……………………………187
参考文献…………………………………188
第5 章Linux中断机制内核API …………189
函数:__set_irq_handler( ) ………………189
函数:__tasklet_hi_schedule( ) ……………191
函数:__tasklet_schedule( ) ………………194
函数:disable_irq( ) ………………………196
函数:disable_irq_nosync( ) ………………196
函数:disable_irq_wake( )…………………198
函数:enable_irq( ) ………………………201
函数:enable_irq_wake( ) …………………203
函数:free_irq( ) …………………………205
函数:kstat_irqs_cpu( )……………………207
函数:remove_irq( ) ………………………209
函数:request_irq( ) ………………………213
函数:request_threaded_irq( ) ……………216
函数:set_irq_chained_handler( ) …………219
函数:set_irq_chip( ) ……………………221
函数:set_irq_chip_data( ) ………………225
函数:set_irq_data( )………………………227
函数:set_irq_handler( ) …………………229
函数:set_irq_type( ) ……………………232
函数:set_irq_wake( ) ……………………234
函数:setup_irq( ) …………………………237
函数:tasklet_disable( ) ……………………239
函数:tasklet_disable_nosync( ) …………241
函数:tasklet_enable( ) ……………………243
函数:tasklet_hi_enable( ) …………………244
函数:tasklet_hi_schedule( ) ………………246
函数:tasklet_init( ) ………………………248
函数:tasklet_kill( ) ………………………250
函数:tasklet_shedule( ) …………………252
函数:tasklet_trylock( ) ……………………254
函数:tasklet_unlock( ) ……………………255
参考文献…………………………………257
第6 章Linux内存管理内核API …………258
函数:__free_pages( ) ……………………258
函数:__get_free_pages( )…………………258
函数:__get_vm_area( ) …………………260
函数:__krealloc( ) ………………………262
函数:alloc_pages( ) ………………………265
函数:alloc_pages_exact( ) ………………268
函数:alloc_vm_area( )……………………270
函数:do_brk( ) …………………………272
函数:do_mmap( ) ………………………273
函数:do_mmap_pgoff( ) …………………276
函数:do_munmap( )………………………279
函数:find_vma( ) …………………………281
函数:find_vma_intersection( ) ……………284
函数:free_pages( ) ………………………286
函数:free_pages_exact( ) …………………287
函数:free_vm_area( ) ……………………288
函数:get_unmapped_area( ) ………………288
函数:get_user_pages( ) …………………290
函数:get_user_pages_fast( ) ………………292
函数:get_vm_area_size( ) ………………294
函数:get_zeroed_page( )…………………295
函数:kcalloc( ) …………………………297
函数:kfree( ) ……………………………299
函数:kmalloc( ) …………………………299
函数:kmap_high( ) ………………………301
函数:kmem_cache_alloc( ) ………………303
函数:kmem_cache_create( ) ………………305
函数:kmem_cache_destroy( ) ……………308
函数:kmem_cache_free( ) ………………308
函数:kmem_cache_zalloc( ) ………………309
函数:kmemdup( ) ………………………311
函数:krealloc( ) …………………………313
函数:ksize( ) ……………………………315
函数:kstrdup( ) …………………………318
函数:kstrndup( ) …………………………319
函数:kunmap_high( ) ……………………321
函数:kzalloc( ) …………………………321
函数:memdup_user( ) ……………………323
函数:mempool_alloc( ) …………………325
函数:mempool_alloc_pages( )……………327
函数:mempool_alloc_slab( ) ……………329
函数:mempool_create( ) …………………331
函数:mempool_create_kzalloc_pool ( ) …333
函数:mempool_destroy( ) ………………334
函数:mempool_free( )……………………335
函数:mempool_free_pages( )……………335
函数:mempool_free_slab( )………………336
函数:mempool_kfree( ) …………………336
函数:mempool_kmalloc( ) ………………337
函数:mempool_kzalloc( ) ………………339
函数:mempool_resize( ) …………………341
函数:nr_free_buffer_pages( ) ……………343
宏:page_address( ) ………………………345
宏:page_cache_get( ) ……………………346
宏:page_cache_release( ) …………………348
函数:page_zone( ) ………………………349
宏:probe_kernel_address( ) ………………352
函数:probe_kernel_read( ) ………………354
函数:probe_kernel_write( ) ………………355
函数:vfree( ) ……………………………357
函数:vma_pages( ) ………………………358
函数:vmalloc( ) …………………………359
函数:vmalloc_to_page( )…………………361
函数:vmalloc_to_pfn( ) …………………363
函数:vmalloc_user( ) ……………………365
参考文献…………………………………366
第7 章Linux内核定时机制API …………368
函数:__round_jiffies( ) …………………368
函数:__round_jiffies_relative( ) …………369
函数:__round_jiffies_up( ) ………………371
函数:__round_jiffies_up_relative( ) ………373
函数:__timecompare_update( ) …………375
函数:add_timer( ) ………………………377
函数:current_kernel_time( ) ………………378
函数:del_timer( )…………………………380
函数:del_timer_sync( ) …………………382
函数:do_gettimeofday( )…………………384
函数:do_settimeofday( ) …………………386
函数:get_seconds( )………………………388
函数:getnstimeofday( ) …………………390
函数:init_timer( ) ………………………391
函数:init_timer_deferrable( ) ……………393
函数:init_timer_deferrable_key( ) ………395
函数:init_timer_key( ) ……………………398
函数:init_timer_on_stack( ) ………………400
函数:init_timer_on_stack_key( ) …………402
函数:mktime( ) …………………………404
函数:mod_timer( ) ………………………406
函数:mod_timer_pending( )………………408
函数:ns_to_timespec( ) …………………410
函数:ns_to_timeval( ) ……………………412
函数:round_jiffies( ) ……………………414
函数:round_jiffies_relative( ) ……………416
函数:round_jiffies_up( ) …………………418
函数:round_jiffies_up_relative( ) …………420
函数:set_normalized_timespec( ) …………422
函数:setup_timer( ) ………………………424
函数:setup_timer_key( ) …………………426
函数:setup_timer_on_stack( ) ……………428
函数:setup_timer_on_stack_key( ) ………430
函数:timecompare_offset( ) ………………432
函数:timecompare_transform( ) …………435
函数:timecompare_update( ) ……………436
函数:timer_pending( ) ……………………439
函数:timespec_add_ns( ) …………………441
函数:timespec_compare( ) ………………442
函数:timespec_equal( ) …………………444
函数:timespec_sub( ) ……………………446
函数:timespec_to_ns( ) …………………448
函数:timeval_compare( ) …………………450
函数:timeval_to_ns( ) ……………………452
函数:try_to_del_timer_sync( ) ……………453
参考文献…………………………………456
第8 章Linux内核同步机制API …………457
函数:atomic_add( ) ………………………457
函数:atomic_add_negative( ) ……………458
函数:atomic_add_return( ) ………………460
函数:atomic_add_unless( ) ………………461
宏:atomic_cmpxchg( )……………………463
函数:atomic_dec( ) ………………………464
函数:atomic_dec_and_test( ) ……………466
函数:atomic_inc( ) ………………………467
函数:atomic_inc_and_test( ) ……………469
宏:atomic_read( ) ………………………470
宏:atomic_set( ) …………………………471
函数:atomic_sub( ) ………………………472
函数:atomic_sub_and_test( ) ……………474
函数:atomic_sub_return( ) ………………475
函数:down( ) ……………………………477
函数:down_interruptible( ) ………………479
函数:down_killable( )……………………481
函数:down_read( ) ………………………483
函数:down_read_trylock( ) ………………485
函数:down_timeout( )……………………487
函数:down_trylock( ) ……………………489
函数:down_write( ) ………………………491
函数:down_write_trylock( ) ………………492
函数:downgrade_write( )…………………494
宏:init_rwsem( ) …………………………496
宏:read_lock( ) …………………………498
函数:read_seqbegin( ) ……………………499
函数:read_seqretry( ) ……………………500
宏:read_trylock( ) ………………………503
宏:read_unlock( ) ………………………504
宏:rwlock_init( ) …………………………505
函数:sema_init( ) ………………………508
宏:seqlock_init( ) ………………………509
宏:spin_can_lock( )………………………511
宏:spin_lock( ) …………………………513
宏:spin_lock_bh( ) ………………………514
宏:spin_lock_init ( ) ……………………516
宏:spin_lock_irq( ) ………………………518
宏:spin_lock_irqsave( ) …………………520
宏:spin_trylock( ) ………………………522
宏:spin_unlock( ) ………………………525
宏:spin_unlock_bh( ) ……………………526
宏:spin_unlock_irq( ) ……………………526
宏:spin_unlock_irqrestore( ) ……………527
宏:spin_unlock_wait( ) …………………527
函数:up( ) ………………………………529
函数:up_read( ) …………………………531
函数:up_write( ) …………………………532
宏:write_lock( ) …………………………532
函数:write_seqlock( ) ……………………534
函数:write_sequnlock( ) …………………534
宏:write_trylock( ) ………………………535
宏:write_unlock( ) ………………………537
参考文献…………………………………537
第9 章Linux文件系统内核API …………539
函数:__mnt_is_readonly( ) ………………539
函数:current_umask( )……………………541
函数:d_alloc( ) …………………………542
函数:d_alloc_root( ) ……………………544
函数:d_delete( ) …………………………547
函数:d_find_alias( ) ……………………547
函数:d_invalidate( ) ……………………549
函数:d_move( ) …………………………550
函数:d_validate( ) ………………………551
函数:dput( ) ……………………………553
函数:fget( ) ………………………………554
函数:find_inode_number( ) ………………557
函数:generic_fillattr( )……………………559
函数:get_empty_filp( ) …………………561
函数:get_fs_type( ) ………………………563
函数:get_max_files( ) ……………………565
函数:get_super( ) ………………………566
函数:get_unused_fd( )……………………569
函数:have_submounts( )…………………570
函数:I_BDEV( ) …………………………572
函数:iget_locked( ) ………………………573
函数:inode_add_bytes( ) …………………575
函数:inode_get_bytes( ) …………………576
函数:inode_needs_sync( ) ………………578
函数:inode_set_bytes( ) …………………580
函数:inode_setattr( ) ……………………581
函数:inode_sub_bytes( ) …………………584
函数:invalidate_inodes( ) …………………586
函数:is_bad_inode( ) ……………………587
函数:make_bad_inode( )…………………588
函数:may_umount( ) ……………………590
函数:may_umount_tree( ) ………………591
函数:mnt_pin( ) …………………………593
函数:mnt_unpin( ) ………………………594
函数:mnt_want_write( ) …………………596
函数:new_inode( ) ………………………596
函数:notify_change( )……………………598
函数:put_unused_fd( )……………………600
函数:register_filesystem( ) ………………602
函数:unregister_filesystem( ) ……………604
函数:unshare_fs_struct( )…………………604
函数:vfs_fstat( ) …………………………606
函数:vfs_getattr( ) ………………………608
函数:vfs_statfs( )…………………………610
参考文献…………………………………613
第10章 Linux设备驱动及设备管理API 614
函数:__class_create( )……………………614
函数:__class_register( ) …………………615
函数:cdev_add( ) …………………………616
函数:cdev_alloc( ) ………………………617
函数:cdev_del( ) …………………………619
函数:cdev_init( ) …………………………624
宏:class_create( ) ………………………628
函数:class_destroy( ) ……………………629
宏:class_register( ) ………………………631
函数:class_unregister( ) …………………632
函数:device_add( ) ………………………637
函数:device_create( ) ……………………638
函数:device_del( ) ………………………640
函数:device_destroy( ) …………………640
函数:device_initialize( ) …………………646
函数:device_register( ) …………………652
函数:device_rename( ) …………………652
函数:device_unregister( ) ………………657
函数:get_device( ) ………………………663
函数:put_device( ) ………………………663
函数:register_chrdev( ) …………………667
函数:register_keyboard_notifier( ) ………668
函数:unregister_chrdev( ) ………………669
函数:unregister_keyboard_notifier( ) ……675
部分相关函数说明 ………………………679
参考文献…………………………………679
附录Linux内核API快速检索表…………680



  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值