¿Cómo verificar si se establece la bandera en la estructura TCP?

Estoy usando la biblioteca pcap C para leer paquetes. Actualmente, uso lo siguiente para verificar y ver si hay una marca en elstruct tcphdr (esta estructura se define en elnetinet/tcp.h biblioteca) se establece:

struct tcphdr *tcp = ....

if(tcp->th_flags & TH_SYN) {
        //SYN FLAG IS SET?
    }

¿Funcionará esto siempre para verificar si se establece un indicador en particular en la estructura? ¿O hay un mejor camino? Agradecería mucho cualquier consejo / consejos :)

Respuestas a la pregunta(1)

Su respuesta a la pregunta