📄 pipe.c
字号:
/*从shell里面 ->sp start
->sp writepipe */
#include "vxworks.h"
#include "fcntl.h"
#define PIPEHI "/pipe/highpipe"
#define PIPELOW "/pipe/lowpipe"
#define MAXNUM 10
#define MAXSIZE 100
char fds[2];
STATUS start()
{
struct fd_set readFds;
int width,i;
char buf[MAXSIZE];
pipeDevCreate(PIPEHI,MAXNUM,MAXSIZE);
pipeDevCreate(PIPELOW,MAXNUM,MAXSIZE);
if(fds[0]=open(PIPEHI,O_RDONLY,0)==ERROR)
close(fds[0]);
if(fds[1]=open(PIPELOW,O_RDONLY,0)==ERROR)
{
close(fds[0]);
close(fds[1]);
return ERROR;
}
FOREVER
{
FD_ZERO(&readFds);
FD_SET(fds[0],&readFds);
FD_SET(fds[1],&readFds);
fds[1]=1;
width=(fds[0]>fds[1])?fds[0]:fds[1];
width++;
if(select(width,&readFds,NULL,NULL,NULL)==ERROR)
{
close(fds[0]);
close(fds[1]);
return ERROR;
}
for(i=0;i<2;i++)
{
if(FD_ISSET(fds[i],&readFds)==1)
{
read(fds[i],buf,MAXSIZE);
printf("read message from pipe %s:%s",(i==0)?PIPEHI:PIPELOW,buf);
}
}
}
}
void writepipe()
{
write(fds[0],"Howdy",6);
write(fds[1],"Urgent",7);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -