2011-06-08 88 views
2

的Solaris相当于fcntl.h和share.hSH_DENY *相当于在Solaris中

我从Windows/VS to Solaris/Eclipse/gcc移植大C++项目。 Windows代码使用_SH_DENYNO等在Microsoft文件share.h中。太阳/usr/include/sys上的相同文件不包含这些文件,我也找不到其他文件。

我想他们在Solaris中有另一个名字。有人可以告诉我在哪里可以找到相应的东西吗Windows版本具有以下值:

#define _SH_DENYRW  0x10 /* deny read/write mode */ 
#define _SH_DENYWR  0x20 /* deny write mode */ 
#define _SH_DENYRD  0x30 /* deny read mode */ 
#define _SH_DENYNO  0x40 /* deny none mode */ 
#define _SH_SECURE  0x80 /* secure mode */ 

Solaris版本的值是否相同?

(很抱歉的大字体,它坚持)

+1

是什么让你觉得有Solaris版本? – 2011-06-08 07:44:47

+1

如果你解释他们的用途,你可能会从知道Solaris而不是Windows的人那里得到建议,就像你说问题的方式,只有知道两者的人才会回答。 – AProgrammer 2011-06-08 08:11:36

+2

>只有知道这两者的人可以回答 看上去很好,那正是我所希望的。它们是在共享模式下打开文件时使用的标志。 >是什么让你觉得有Solaris版本 那么,Windows的东西不编译,所以我希望有人能帮助我。如果我知道我在做什么,我不会问... 确实有人给我一个有用的答案,见下文。 – RedSonja 2011-06-10 06:32:26

回答

2

我认为Solaris中,像其他UNIX,总是_SH_DENYNO。您需要明确锁定文件,请尝试lockffcntl