linux驱动程序中怎么做api函数供应用程序调用

linux驱动程序中怎么做api函数供应用程序调用,第1张

linux驱动是不是让设备的功能能正常使用,并且提供api函数供应用函数调用? 这个api函数是怎么提供的,应用程序又是怎么调用的呢? 最常见的是ioctl 能说的清楚带你吗?比喻ioctl这个函数,驱动程序中,怎么来实现它的? 很多内核空间的函数都有同名的系统调用。ioctl提供了对硬件的控制。 在用户空间: intioctl(intfd,unsignedlongcmd,...)在驱动程序里面: int(*ioctl)(structinode*inode,structfile*filp,unsignedintcmd,unsignedlongarg)linux所有的设备以文件方式让用户使用,一般都在/dev目录下,要 *** 作一个设备就直接读写该设备的文件。 那些文件 *** 作,如open,close,ioctl,read,write,poll等就是驱动提供给用户的接口,编写驱动就是实现这些函数的功能。 我是问怎么在自己的驱动里,写自己的函数,供用户使用 不太懂,帮顶 引用5楼xuexi000000的回复: 我是问怎么在自己的驱动里,写自己的函数,供用户使用 1、在driver里实现了函数功能,通过ioctl参数判断要调用哪一个功能 2、也可导出属性到/sys目录下进行调用 open,close,ioct

4. linux 用户API (内核API,请参考Linux内核API完全手)

一、进程控制:

fork 创建一个新进程

clone 按指定条件创建子进程

execve 运行可执行文件

exit 中止进程

_exit 立即中止当前进程

getdtablesize 进程所能打开的最大文件数

getpgid 获取指定进程组标识号

setpgid 设置指定进程组标志号

getpgrp 获取当前进程组标识号

setpgrp 设置当前进程组标志号

getpid 获取进程标识号

getppid 获取父进程标识号

getpriority 获取调度优先级

setpriority 设置调度优先级

modify_ldt 读写进程的本地描述表

nanosleep 使进程睡眠指定的时间

nice 改变分时进程的优先级

pause 挂起进程,等待信号

personality 设置进程运行域

prctl 对进程进行特定 *** 作

ptrace 进程跟踪

sched_get_priority_max 取得静态优先级的上限

sched_get_priority_min 取得静态优先级的下限

sched_getparam 取得进程的调度参数

sched_getscheduler 取得指定进程的调度策略

sched_rr_get_interval 取得按RR算法调度的实时进程的时间片长度

sched_setparam 设置进程的调度参数

sched_setscheduler 设置指定进程的调度策略和参数

sched_yield 进程主动让出处理器,并将自己等候调度队列队尾

vfork 创建一个子进程,以供执行新程序,常与execve等同时使用

wait 等待子进程终止

wait3 参见wait

waitpid 等待指定子进程终止

wait4 参见waitpid

capget 获取进程权限

capset 设置进程权限

getsid 获取会晤标识号

setsid 设置会晤标识号


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7604969.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存