On Mon, Jun 26, 2017 at 10:04:02AM +0800, JingPiao Chen wrote: > On Mon, Jun 26, 2017 at 02:56:59AM +0300, Dmitry V. Levin wrote: > > On Tue, Jun 20, 2017 at 05:23:54PM +0800, JingPiao Chen wrote: > > > * tests/nlattr_inet_diag.c: New file. > > > * tests/gen_tests.in (nlattr_inet_diag): New entry. > > > * tests/pure_executables.list: Add nlattr_inet_diag. > > > * tests/.gitignore: Likewise. > > > > This tests decoding of inet_diag_msg attributes only, please reflect it in > > commit message. If you are going to add tests for other inet diag > > attributes, maybe nlattr_inet_diag should be rather called > > nlattr_inet_diag_msg. [...] > > Please use different addresses for different fields. > > Ok, but I think this test is focus on attribute check.
OK, it's not important then.
[...]
> > > + dctcp = RTA_DATA(nla);
> > > + *dctcp = (struct tcp_dctcp_info) {
> > > + .dctcp_enabled = 0xfdac,
> > > + .dctcp_ce_state = 0xfadc,
> > > + .dctcp_alpha = 0xbdabcada,
> > > + .dctcp_ab_ecn = 0xbadbfafb,
> > > + .dctcp_ab_tot = 0xfdacdadf
> > > + };
> >
> > If you had a source copy of struct tcp_dctcp_info,
> > you'd be able to do a memcpy here, and ...
> >
> Do you mean that:
>
> struct tcp_dctcp_info dctcp;
> dctcp = (struct tcp_dctcp_info) {
> .dctcp_enabled = 0xfdac,
> .dctcp_ce_state = 0xfadc,
> .dctcp_alpha = 0xbdabcada,
> .dctcp_ab_ecn = 0xbadbfafb,
> .dctcp_ab_tot = 0xfdacdadf
> };
I mean
static const struct tcp_dctcp_info dctcp = {
.dctcp_enabled = 0xfdac,
.dctcp_ce_state = 0xfadc,
.dctcp_alpha = 0xbdabcada,
.dctcp_ab_ecn = 0xbadbfafb,
.dctcp_ab_tot = 0xfdacdadf
};
Here "static const" allows the compiler to place this object
into a readonly memory mapping.
> memcpy(RTA_DATA(nla), &dctcp, sizeof(dctcp));
>
> Other structures should be the same?
Whether to use a SET_STRUCT expression or this kind of initialization
depends on later use. If the structure is used later in a printf
expression, this helps to avoid duplication of magic constants and therefore
is more preferable.
--
ldv
signature.asc
Description: PGP signature
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________ Strace-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/strace-devel
