如何检查TCP结构中的标志是否已设置?

我正在使用pcap C库来读取数据包。 目前,我使用以下内容来检查并查看struct tcphdr的标志(此结构是否在netinet/tcp.h库中定义)是否已设置:

 struct tcphdr *tcp = .... if(tcp->th_flags & TH_SYN) { //SYN FLAG IS SET? } 

这总是可以用于检查结构中是否设置了特定的标志? 或者,还有更好的方法? 非常感谢任何建议/提示:)

这看起来很好。 TH_SYN是单个位,因此如果在th_flags设置该位,则表达式将为真(非零)。