On Wed, Jun 28, 2017 at 10:08:46AM +0800, JingPiao Chen wrote: > * netlink_sock_diag.c: Include "xlat/inet_diag_bytecodes.h". > (inet_diag_req_nla_decoders): New array. > (decode_inet_diag_req_compat, decode_inet_diag_req_v2): Use it. > * linux/inet_diag.h (inet_diag_bc_op, inet_diag_hostcond, > inet_diag_markcond): New structures. > (INET_DIAG_BC_*): New enum. > * xlat/inet_diag_bytecodes.in: New file. > --- > linux/inet_diag.h | 32 ++++++++ > netlink_sock_diag.c | 176 > +++++++++++++++++++++++++++++++++++++++++++- > xlat/inet_diag_bytecodes.in | 11 +++ > 3 files changed, 217 insertions(+), 2 deletions(-) > create mode 100644 xlat/inet_diag_bytecodes.in > > diff --git a/linux/inet_diag.h b/linux/inet_diag.h > index 24302db..ec6356c 100644 > --- a/linux/inet_diag.h > +++ b/linux/inet_diag.h > @@ -39,6 +39,38 @@ enum { > INET_DIAG_REQ_BYTECODE, > }; > > +struct inet_diag_bc_op { > + unsigned char code; > + unsigned char yes; > + unsigned short no; > +}; > + > +enum { > + INET_DIAG_BC_NOP, > + INET_DIAG_BC_JMP, > + INET_DIAG_BC_S_GE, > + INET_DIAG_BC_S_LE, > + INET_DIAG_BC_D_GE, > + INET_DIAG_BC_D_LE, > + INET_DIAG_BC_AUTO, > + INET_DIAG_BC_S_COND, > + INET_DIAG_BC_D_COND, > + INET_DIAG_BC_DEV_COND, /* u32 ifindex */ > + INET_DIAG_BC_MARK_COND, > +}; > + > +struct inet_diag_hostcond { > + uint8_t family; > + uint8_t prefix_len; > + int port; > + uint32_t addr[0]; > +}; > + > +struct inet_diag_markcond { > + uint32_t mark; > + uint32_t mask; > +}; > + > /* Info structure */ > struct inet_diag_msg { > uint8_t idiag_family; [...] > diff --git a/xlat/inet_diag_bytecodes.in b/xlat/inet_diag_bytecodes.in > new file mode 100644 > index 0000000..e75f424 > --- /dev/null > +++ b/xlat/inet_diag_bytecodes.in > @@ -0,0 +1,11 @@ > +INET_DIAG_BC_NOP 0 > +INET_DIAG_BC_JMP 1 > +INET_DIAG_BC_S_GE 2 > +INET_DIAG_BC_S_LE 3 > +INET_DIAG_BC_D_GE 4 > +INET_DIAG_BC_D_LE 5 > +INET_DIAG_BC_AUTO 6 > +INET_DIAG_BC_S_COND 7 > +INET_DIAG_BC_D_COND 8 > +INET_DIAG_BC_DEV_COND 9 > +INET_DIAG_BC_MARK_COND 10
Haven't these constants just been defined in local linux/inet_diag.h? -- 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 Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel