ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Суббота
4 июля
/992494
Топик полностью
SciFi (07.04.2020 10:08, просмотров: 203) в ответ на Например в BLE стеке от NXP, который только для IAR полно подобного - автор: Andreas
lwip использует упаковку структур повсеместно. Там это всё завёрнуто в сколько-то слоёв, чтобы на любом компиляторе могло работать. 

http://git.savannah.nongnu.org/cgit/lwip.git/tree/src/include/lwip/prot/tcp.h

/* Fields are (of course) in network byte order.
 * Some fields are converted to host byte order in tcp_input().
 */
#ifdef PACK_STRUCT_USE_INCLUDES
#  include "arch/bpstruct.h"
#endif
PACK_STRUCT_BEGIN
struct tcp_hdr {
  PACK_STRUCT_FIELD(u16_t src);
  PACK_STRUCT_FIELD(u16_t dest);
  PACK_STRUCT_FIELD(u32_t seqno);
  PACK_STRUCT_FIELD(u32_t ackno);
  PACK_STRUCT_FIELD(u16_t _hdrlen_rsvd_flags);
  PACK_STRUCT_FIELD(u16_t wnd);
  PACK_STRUCT_FIELD(u16_t chksum);
  PACK_STRUCT_FIELD(u16_t urgp);
} PACK_STRUCT_STRUCT;
PACK_STRUCT_END
#ifdef PACK_STRUCT_USE_INCLUDES
#  include "arch/epstruct.h"
#endif
Ответить
Ответы