溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux內(nèi)核開發(fā)常用函數(shù)及其頭文件是什么

發(fā)布時間:2021-10-13 11:33:57 來源:億速云 閱讀:131 作者:柒染 欄目:編程語言

Linux內(nèi)核開發(fā)常用函數(shù)及其頭文件是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

一、protocol

//protocol

//-----include/linux/in.h
IPPROTO_UDP
INADDR_ANY
struct sockaddr_in

//-----include/linux/ip.h 
struct iphdr
ip_hdr()

//-----include/linux/udp.h              
struct udphdr
udp_hdr()

//-----include/linux/tcp.h                      
struct tcphdr
tcp_hdr()

二、sk_buff

//sk_buff

//-----include/linux/skbuff.h
struct sk_buff

三、memory

//memory

//-----include/linux/slab_def.h
kmalloc()

//-----include/linux/slab.h
kfree()
ksize()

//-----include/linux/gfp.h
GFP_KERNEL

四、string

//string

//-----include/linux/string.h
strcmp()
strim()
strrchr()
strsep()
strpbrk()
memset()
memcpy()
memmove()

五、byteorder

//byteorder

//-----include/linux/byteorder/generic.h
ntohs()
__be16_to_cpu()

六、output

//output

//-----include/linux/kernel.h
printk()

//-----lib/vsprintf.c                                  
sprintf()
snprintf()

七、process

//process

//-----include/linux/sched.h
struct task_struct
TASK_RUNNING
set_task_state()
set_current_state()

//-----include/asm-generic/current.h
current

//-----include/linux/thread_info.h                          
set_need_resched()
clear_need_resched()

//-----arch/x86/include/asm/thread_info.h                       
struct thread_info

八、thread

//thread

//-----include/linux/kthread.h
kthread_create()
kthread_stop() 

//-----include/linux/sched.h
wake_up_process

九、wait queue

//wait queue

//-----include/linux/wait.h
wait_queue_head_t
init_waitqueue_head()
wake_up()
wait_event()

十、lock

//lock

//-----include/asm-generic/atomic.h
atomic_inc()

//-----include/linux/spinlock.h                                 
spin_lock()
spin_lock_bh()

//-----include/linux/rcupdate.h                      
rcu_read_lock()
synchronize_rcu()

十一、time

//time

//-----include/linux/raid/pq.h
HZ/jiffies

//-----include/linux/time.h                                       
struct timespec
get_seconds()
current_kernel_time()
mktime()

//-----include/linux/timer.h
struct timer_list
init_timer()
mod_timer()
add_timer()
del_timer()

//-----include/linux/jiffies.h
time_before()
time_after_eq()
jiffies_to_msecs()

十二、cpu

//cpu

//-----include/linux/cpumask.h
num_online_cpus()
for_each_possible_cpu()

//-----include/linux/smp.h
smp_processor_id()
get_cpu()

//-----include/linux/percpu.h
get_cpu_var()
//-----include/asm-generic/percpu.h   
per_cpu()
__get_cpu_var()

//  
DEFINE_PER_CPU

十三、proc file

//proc file

//-----include/linux/sysctl.h
struct ctl_table
struct ctl_table_header
register_sysctl_table()
register_sysctl_table()
proc_dointvec()
proc_doulongvec_minmax()
proc_dostring()

十四、uio

//uio

//-----include/linux/platform_device.h
struct platform_device
platform_device_register_simple()
platform_device_unregister()

//-----include/linux/device.h
struct device_driver
driver_register()
driver_unregister()

//-----include/linux/uio_driver.h
struct uio_info
UIO_IRQ_NONE
uio_register_device()
uio_unregister_device()

十五、random

//random

//-----include/linux/random.h
random32()

十六、device

//device

//-----include/linux/netdevice.h
struct net_device

//-----include/linux/pci.h
struct pci_driver

//-----include/linux/mod_devicetable.h
struct pci_device_id

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI