2011-06-08 87 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