On Thu, Oct 11, 2001 at 03:11:11PM +0800, wanghg wrote: > Sorry, I don't know if it is appropriate to ask such question here. > > (((*((__u32 *)&((__sk)->dport)))== (__ports)) > > In above code, what is difference if I replace ( * ( (__u32 *) &( > (__sk)->dport) ) ) > > with ((__u32*)(__sk->dport)) Umm, it doesn't work? :-) What the first does, takes the address of (__sk)->dport and casts it to __u32. Then it de-ref's that address and stores __ports in it. The second just casts the address *in* __sk->dport to be the place where it writes. -- Mark Zealey (aka JALH on irc.openprojects.net: #zealos and many more) mark@zealos.org mark@itsolve.co.uk UL++++>$ G!>(GCM/GCS/GS/GM) dpu? s:-@ a16! C++++>$ P++++>+++++$ L+++>+++++$ !E---? W+++>$ N- !o? !w--- O? !M? !V? !PS !PE--@ PGP+? r++ !t---?@ !X---? !R- b+ !tv b+ DI+ D+? G+++ e>+++++ !h++* r!-- y-- (www.geekcode.com) - Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ IRC Channel: irc.openprojects.net / #kernelnewbies Web Page: http://www.kernelnewbies.org/