Hi,
On Sat, Nov 2, 2013 at 11:35 PM, lx <[email protected]> wrote: > hi all: > the codes of functions is: > > 51 <http://lxr.oss.org.cn/source/include/asm-sh/posix_types.h?v=2.6.16#L51> > #undef __FD_SET <http://lxr.oss.org.cn/ident?v=2.6.16;i=__FD_SET> > 52 <http://lxr.oss.org.cn/source/include/asm-sh/posix_types.h?v=2.6.16#L52> > static __inline__ void __FD_SET > <http://lxr.oss.org.cn/ident?v=2.6.16;i=__FD_SET>(unsigned long __fd, > __kernel_fd_set <http://lxr.oss.org.cn/ident?v=2.6.16;i=__kernel_fd_set> > *__fdsetp) > 53 <http://lxr.oss.org.cn/source/include/asm-sh/posix_types.h?v=2.6.16#L53> { > 54 <http://lxr.oss.org.cn/source/include/asm-sh/posix_types.h?v=2.6.16#L54> > unsigned long __tmp = __fd / __NFDBITS > <http://lxr.oss.org.cn/ident?v=2.6.16;i=__NFDBITS>; > 55 <http://lxr.oss.org.cn/source/include/asm-sh/posix_types.h?v=2.6.16#L55> > unsigned long __rem = __fd % __NFDBITS > <http://lxr.oss.org.cn/ident?v=2.6.16;i=__NFDBITS>; > 56 <http://lxr.oss.org.cn/source/include/asm-sh/posix_types.h?v=2.6.16#L56> > __fdsetp->fds_bits[__tmp] |= (1UL<<__rem); > 57 <http://lxr.oss.org.cn/source/include/asm-sh/posix_types.h?v=2.6.16#L57> } > > > I can't understand the usage of __rem,How to understand it? thank you. > fds_bits is an array of entries which are each __NFDBITS long (in your example, each entry is 32-bits). __tmp gives you the index into the array. __rem is the remainder of the division, and gets you the bit number within the 32-bit entry. -- Dave Hylands Shuswap, BC, Canada http://www.davehylands.com
_______________________________________________ Kernelnewbies mailing list [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
