有没有办法以编程方式关闭VxWorks中的设备/套接字?
意思是说我有设备/tyco/0
,/tyco/1
和/tyco/2
,我想关闭/关闭/tyco/1
和/tyco/2
。
我想做remove("/tyco/1")
之类的事情。甚至会阻止代码中的open("/tyco/1")
调用或外部源代码打开套接字的内容。
答案 0 :(得分:0)
VxWorks可用的所有设备都是设备列表的一部分。可以使用iosLib访问设备列表。
为了测试我的程序,我经常使用以下代码删除设备以产生错误:
DEV_HDR *pDevice;
pDevice = iosDevFind("/xyz", NULL);
if (pDevice != NULL)
{
iosDevDelete(pDevice);
}
这适用于devs
命令列出的所有设备,在您的情况下,这些设备也适用于"/tyco"
。我怀疑您是否可以阻止对"/tyco/1"
和"/tyco/2"
的公开来电,但允许使用该方法拨打"/tyco/0"
,因为它适用于“设备”。
如果"/tyco/0"
是VxWorks shell的串行接口,那么上面的方法将起作用。因为从设备列表中删除设备会导致对该设备的所有后续open
次呼叫失败,但不会关闭已打开的设备......