/*-------------------------------------------------------------*/ #define netwib_pkt_append_uint8(data,u) *data++=(netwib_uint8)(u); #define netwib_pkt_append_uint16(data,u) *data++=netwib_c2_uint16_0(u);*data++=netwib_c2_uint16_1(u); #define netwib_pkt_append_uint32(data,u) *data++=netwib_c2_uint32_0(u);*data++=netwib_c2_uint32_1(u);*data++=netwib_c2_uint32_2(u);*data++=netwib_c2_uint32_3(u); /*-------------------------------------------------------------*/ #define netwib_pkt_decode_uint8(data,u) u=*data++; #define netwib_pkt_decode_uint16(data,u) u=*data++;u=(netwib_uint16)(u<<8|*data++); #define netwib_pkt_decode_uint32(data,u) u=*data++;u=u<<8|*data++;u=u<<8|*data++;u=u<<8|*data++; #define netwib_pkt_decode_uint8t(data,u,t) u=(t)(*data++); #define netwib_pkt_decode_uint16t(data,u,t) u=(t)(*data++);u=(t)(u<<8|*data++); #define netwib_pkt_decode_uint32t(data,u,t) u=(t)(*data++);u=(t)(u<<8|*data++);u=(t)(u<<8|*data++);u=(t)(u<<8|*data++); /*-------------------------------------------------------------*/ netwib_err netwib_priv_pkt_convert(netwib_device_dlttype dlttypein, netwib_constbuf *ppktin, netwib_pkt_newfield newfieldopt, netwib_pkt_newfield newfieldreq, netwib_ip *pgw, /* NULL if unknown */ netwib_device_dlttype dlttypeout, netwib_linkhdr *plinkhdrout, netwib_bufext *ppktout, netwib_bool *pdevnumset, netwib_uint32 *pdevnum); /*-------------------------------------------------------------*/ netwib_err netwib_priv_pkt_decode_ip_srcdst(netwib_constbuf *ppkt, netwib_iptype *piptype, netwib_ip *psrc, netwib_ip *pdst);