_open的参数是什么意思? _S_IWRITE,该如何处理

_open的参数是什么意思? _S_IWRITE
gFileHandle[iNowPort] = _open(csFile, _O_CREAT | _O_BINARY | _O_WRONLY | _O_TRUNC, _S_IREAD | _S_IWRITE);
这句话是什么意思呢?  
查了下 说_O_WRONLY是可写, 后面那个_S_IWRITE也是可写? 这句话到底什么意思呢?
有正确答案马上结贴。 


------解决方案--------------------
_S_IWRITE|_S_IREAD是创建新文件的属性
如果目标文件不存在,_O_CREAT标志会主动创建一个新的文件. 新的文件由_S_IWRITE|_S_IREAD指定为可读写的.如果不加,那创建出来的文件就是只读的.