Linux内核API完全参考手册¶
Linux2.6 与当前 6.x 的内核差别很大,列出相关API旨在对内核API进行分类。
后续类比的学习 6.x 内核 API
目录
- 必备基础
- Linux内核模块机制API
- Linux进程管理内核API
- Linux进程调度内核 API
- __wake_up
- __wake_up_sync
- __wake_up_sync_key
- abort_exclusive_wait
- add_preempt_count
- add_wait_queue
- add_wait_queue_exclusive
- autoremove_wake_function
- complete
- complete_all
- complete_done
- current_thread_info
- default_wake_function
- do_exit
- finish_wait
- init_waitqueue_entry
- init_waitequeue_head
- interruptible_sleep_on
- interruptible_sleep_on_timeout
- preempt_notifier_register
- preempt_notifier_unregister
- prepare_to_wait
- prepare_to_wait_exclusive
- remove_wait_queue
- sched_setscheduler
- ste_cpus_allowed_ptr
- set_user_nice
- sleep_on
- sleep_on_timeout
- sub_preempt_count
- task_nice
- try_wait_for_completion
- wait_for_completion
- wait_for_complete_interruptible
- wait_for_completion_interruptible_timeout
- wait_for_completion_killable
- wait_for_completion_timeout
- wake_up_process
- yield
- Linux中断机制内核API
- __set_irq_handler
- __tasklet_hi_schedule
- __tasklet_schedule
- disable_irq
- disable_irq_nosync
- disable_irq_wake
- enable_irq
- enable_irq_wake
- free_irq
- kstat_irqs_cpu
- remove_irq
- request_irq
- request_threaded_irq
- set_irq_chained_handler
- set_irq_chip
- set_irq_chip_data
- set_irq_data
- set_irq_handler
- set_irq_type
- set_irq_wake
- setup_irq
- tasklet_disable
- tasklet_disable_nosync
- tasklet_enable
- tasklet_hi_enable
- tasklet_hi_schedule
- tasklet_init
- tasklet_kill
- tasklet_schedule
- tasklet_trylock
- tasklet_unlock
- Linux内存管理内核API
- __free_pages
- __get_free_pages
- __get_vm_area
- __krealloc
- alloc_pages
- alloc_pages_exact
- alloc_vm_area
- do_brk
- do_mmap
- do_mmap_pgoff
- do_munmap
- find_vma
- find_vma_intersection
- free_pages
- free_pages_exact
- free_vm_area
- get_unmapped_area
- get_user_pages
- get_user_pages_fast
- get_vm_area_size
- get_zeroed_page
- kcalloc
- kfree
- kmalloc
- kmap_high
- kmem_cache_alloc
- kmem_cache_create
- kmem_cache_destroy
- kmem_cache_free
- kmem_cache_zalloc
- kmemdup
- krealloc
- ksize
- kstrdup
- kstrndup
- kunmap_high
- kzalloc
- memdup_user
- mempool_alloc
- mempool_alloc_pages
- mempool_alloc_slab
- mempool_create
- mempool_create_kzalloc_pool
- mempool_destroy
- mempool_free
- mempool_free_pages
- mempool_free_slab
- mempool_kfree
- mempool_kmalloc
- mempool_kzalloc
- mempool_resize
- nr_free_buffer_pages
- page_address
- page_cache_get
- page_cache_release
- page_zone
- probe_kernel_address
- probe_kernel_read
- probe_kernel_write
- vfree
- vma_pages
- vmalloc
- vmalloc_to_page
- vmalloc_to_pfn
- vmalloc_user
- Linux内核定时机制API
- __round_jiffies
- __round_jiffies_relative
- __round_jiffies_up
- __round_jiffies_up_relative
- __timecompare_update
- add_timer
- current_kernel_time
- del_timer
- del_timer_sync
- do_gettimeofday
- do_settimeofday
- get_seconds
- getnstimeofday
- init_timer
- init_timer_deferrable
- init_timer_deferrable_key
- init_timer_key
- init_timer_on_stack
- init_timer_on_stack_key
- mktime
- mod_timer
- mod_timer_pending
- ns_to_timespec
- ns_to_timeval
- round_jiffies
- round_jiffies_relative
- round_jiffies_up
- set_normalized_timespec
- setup_timer
- setup_timer_key
- setup_timer_on_stack
- setup_timer_on_stack_key
- timecompare_offset
- timecompare_transform
- timecompare_update
- timer_pending
- timespac_add_ns
- timespec_compare
- timespec_equal
- timespec_sub
- timespec_to_ns
- timeval_compare
- timeval_to_ns
- try_to_del_timer_sync
- Linux内核同步机制API
- atomic_add
- atomic_add_negative
- atomic_add_return
- atomic_add_unless
- atomic_cmpxchg
- atomic_dec
- atomic_dec_and_test
- atomic_inc
- atomic_inc_and_test
- atomic_read
- atomic_set
- atomic_sub
- atomic_sub_and_test
- atomic_sub_return
- down
- down_interruptible
- down_killable
- down_read
- down_read_trylock
- down_timeout
- down_trylock
- down_write
- down_write_trylock
- downgrade_write
- init_rwsem
- read_lock
- read_seqbegin
- read_seqretry
- read_trylock
- read_unlock
- rwlock_init
- sema_init
- seqlock_init
- spin_can_lock
- spin_lock
- spin_lock_bh
- spin_lock_init
- spin_lock_irq
- spin_lock_irqsave
- spin_trylock
- spin_unlock
- spin_unlock_bh
- spin_unlock_irq
- spin_unlock_irqrestore
- spin_unlock_wait
- up
- up_read
- up_write
- write_lock
- write_seqlock
- write_sequnlock
- write_trylock
- write_unlock
- Linux 文件系统内核 API
- __mnt_is_readonly
- current_umask
- d_alloc
- d_alloc_root
- d_delete
- d_find_alias
- d_invalidate
- d_move
- d_validate
- dput
- fget
- find_inode_number
- generic_fillattr
- get_empty_filp
- get_fs_type
- get_max_files
- get_super
- get_unused_fd
- have_submounts
- I_BDEV
- iget_locked
- inode_add_bytes
- inode_get_bytes
- inode_needs_sync
- inode_set_bytes
- inode_setattr
- inode_sub_bytes
- invalidate_inodes
- is_bad_inode
- make_bad_inode
- may_umount
- may_umount_tree
- mnt_pin
- mnt_unpin
- mnt_want_write
- new_inode
- notify_change
- put_unused_fd
- register_filesystem
- unregister_filesystem
- unshare_fs_struct
- vfs_fstat
- vfs_getattr
- vfs_statfs
- Linux设备驱动及设备管理API
- __class_create
- __class_register
- cdev_add
- cdev_alloc
- cdev_del
- cdev_init
- class_create
- class_destroy
- class_register
- class_unregister
- device_add
- device_create
- device_del
- device_destroy
- device_initialize
- device_register
- device_rename
- device_unregister
- get_device
- put_device
- register_chrdev
- register_keyboard_notifier
- unregister_chrdev
- unregister_keyboard_notifier