isastream消失了?

系统中找不到这个函数,ace中有
我写了个小函数

int isastream_main(const char* path){ 
    int fd=ACE_OS::open(path,O_RDONLY); 
    if(fd<0) 
    ACE_ERROR_RETURN((LM_ERROR,ACE_TEXT("打开失败%s失败:%m\n"), 
    path),-1); 
    if(ACE_OS::isastream(fd)==0) 
    std::cout<<path<<"不是流设备"<<std::endl; 
    else 
    std::cout<<path<<"是流设备"<<std::endl; 
}

结果测试发现所有文件都返回是。
和apue中写的不一样。
自己写一个实现

int isastream(int fd){ 
    return (ioctl(fd,I_CANPUT,0)!=-1); 
}

isastream.cpp:38: error: `I_CANPUT' undeclared (first use this function)
更不用说putmsg,getmsg了,都消失了~哎!

此博客中的热门博文

少写代码,多读别人写的代码

在windows下使用llvm+clang

tensorflow distributed runtime初窥