linux内核api书,(特价书)Linux内核API完全参考手册

前言

本书使用方法

第1章 Linux内核API分析必备知识1

Linux内核编程注意事项1

本书中模块编译Makefile模板1

内核调试函数printk2

内核编译与定制4

温馨提示10

参考文献11

第2章 Linux内核模块机制API12

函数:__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进程管理内核API45

函数:__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进程调度内核API84

函数:__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中断机制内核API189

函数:__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内存管理内核API258

函数:__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内核定时机制API368

函数:__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内核同步机制API457

函数: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文件系统内核API539

函数:__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设备驱动及设备管理API614

函数:__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

你可能感兴趣的:(linux内核api书)