__SONW
if ((fp->_flags & (__SONW|__SOWD)) == 0 && mode != 0)
fp->_flags |= (mode > 0 ? __SOWD : __SONW);
(fp->_flags & __SONW) ? -1 : 0;
if (((fp)->_flags & (__SONW|__SOWD)) == 0) \
(fp)->_flags |= ((mode) > 0 ? __SOWD : __SONW); \