關於 ioctl 的 FIONREAD 引數

2021-09-06 18:51:47 字數 613 閱讀 2718

ioctl 是用來設定硬體控制暫存器,或者讀取硬體狀態暫存器的數值之類的。而read,write 是把資料丟入緩衝區,硬體的驅動從緩衝區讀取資料乙個個傳送或者把接收的資料送入緩衝區。

ioctl(keyfd, fionread, &b)

得到緩衝區裡有多少位元組要被讀取,然後將位元組數放入b裡面。

接下來就能夠用read了。

read(keyfd, &b, sizeof(b))

清單 - 讀取序列port輸入緩衝區中的位元組數 

#include

#include

int fd; 

int bytes; 

ioctl(fd, fionread, &bytes);  

******************************===

fionread,就是返回緩衝區有多少位元組。

輸入有個輸入緩衝區,用

ioctl(0,fionread,&nread);

能得到緩衝區裡面有多少位元組要被讀取。值放在 nread裡面了

然後就能夠 read 了。nread = read(0,buffer,nread);

關於 ioctl 的 FIONREAD 引數

ioctl 是用來設定硬體控制暫存器,或者讀取硬體狀態暫存器的數值之類的。而read,write 是把資料丟入緩衝區,硬體的驅動從緩衝區讀取資料乙個個傳送或者把接收的資料送入緩衝區。ioctl keyfd,fionread,b 得到緩衝區裡有多少位元組要被讀取,然後將位元組數放入b裡面。接下來就可以...

關於 ioctl 的 FIONREAD 引數

ioctl 是用來設定硬體控制暫存器,或者讀取硬體狀態暫存器的數值之類的。而read,write 是把資料丟入緩衝區,硬體的驅動從緩衝區讀取資料乙個個傳送或者把接收的資料送入緩衝區。ioctl keyfd,fionread,b 得到緩衝區裡有多少位元組要被讀取,然後將位元組數放入b裡面。接下來就能夠...

關於 ioctl 的 FIONREAD 引數

ioctl 是用來設定硬體控制暫存器,或者讀取硬體狀態暫存器的數值之類的。而read,write 是把資料丟入緩衝區,硬體的驅動從緩衝區讀取資料乙個個傳送或者把接收的資料送入緩衝區。ioctl keyfd,fionread,b 得到緩衝區裡有多少位元組要被讀取,然後將位元組數放入b裡面。接下來就能夠...