Switch kernel header parsing to python libclang

Replace the tokenizer in cpp.py with libclang.

Bug: 18937958
Change-Id: I27630904c6d2849418cd5ca3d3c612ec3078686d
diff --git a/libc/kernel/uapi/linux/tcp.h b/libc/kernel/uapi/linux/tcp.h
index d57ad0c..3347bc1 100644
--- a/libc/kernel/uapi/linux/tcp.h
+++ b/libc/kernel/uapi/linux/tcp.h
@@ -23,188 +23,166 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #include <linux/socket.h>
 struct tcphdr {
- __be16 source;
- __be16 dest;
+  __be16 source;
+  __be16 dest;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be32 seq;
- __be32 ack_seq;
+  __be32 seq;
+  __be32 ack_seq;
 #ifdef __LITTLE_ENDIAN_BITFIELD
- __u16 res1:4,
+  __u16 res1 : 4, doff : 4, fin : 1, syn : 1, rst : 1, psh : 1, ack : 1, urg : 1, ece : 1, cwr : 1;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- doff:4,
- fin:1,
- syn:1,
- rst:1,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- psh:1,
- ack:1,
- urg:1,
- ece:1,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- cwr:1;
 #elif defined(__BIG_ENDIAN_BITFIELD)
- __u16 doff:4,
- res1:4,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- cwr:1,
- ece:1,
- urg:1,
- ack:1,
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- psh:1,
- rst:1,
- syn:1,
- fin:1;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  __u16 doff : 4, res1 : 4, cwr : 1, ece : 1, urg : 1, ack : 1, psh : 1, rst : 1, syn : 1, fin : 1;
 #else
 #error "Adjust your <asm/byteorder.h> defines"
-#endif
- __be16 window;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __sum16 check;
- __be16 urg_ptr;
+#endif
+  __be16 window;
+  __sum16 check;
+  __be16 urg_ptr;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 union tcp_word_hdr {
+  struct tcphdr hdr;
+  __be32 words[5];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- struct tcphdr hdr;
- __be32 words[5];
 };
-#define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3])
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+#define tcp_flag_word(tp) (((union tcp_word_hdr *) (tp))->words[3])
 enum {
- TCP_FLAG_CWR = __constant_cpu_to_be32(0x00800000),
- TCP_FLAG_ECE = __constant_cpu_to_be32(0x00400000),
- TCP_FLAG_URG = __constant_cpu_to_be32(0x00200000),
+  TCP_FLAG_CWR = __constant_cpu_to_be32(0x00800000),
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- TCP_FLAG_ACK = __constant_cpu_to_be32(0x00100000),
- TCP_FLAG_PSH = __constant_cpu_to_be32(0x00080000),
- TCP_FLAG_RST = __constant_cpu_to_be32(0x00040000),
- TCP_FLAG_SYN = __constant_cpu_to_be32(0x00020000),
+  TCP_FLAG_ECE = __constant_cpu_to_be32(0x00400000),
+  TCP_FLAG_URG = __constant_cpu_to_be32(0x00200000),
+  TCP_FLAG_ACK = __constant_cpu_to_be32(0x00100000),
+  TCP_FLAG_PSH = __constant_cpu_to_be32(0x00080000),
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- TCP_FLAG_FIN = __constant_cpu_to_be32(0x00010000),
- TCP_RESERVED_BITS = __constant_cpu_to_be32(0x0F000000),
- TCP_DATA_OFFSET = __constant_cpu_to_be32(0xF0000000)
+  TCP_FLAG_RST = __constant_cpu_to_be32(0x00040000),
+  TCP_FLAG_SYN = __constant_cpu_to_be32(0x00020000),
+  TCP_FLAG_FIN = __constant_cpu_to_be32(0x00010000),
+  TCP_RESERVED_BITS = __constant_cpu_to_be32(0x0F000000),
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  TCP_DATA_OFFSET = __constant_cpu_to_be32(0xF0000000)
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define TCP_MSS_DEFAULT 536U
 #define TCP_MSS_DESIRED 1220U
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define TCP_NODELAY 1
 #define TCP_MAXSEG 2
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define TCP_CORK 3
 #define TCP_KEEPIDLE 4
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define TCP_KEEPINTVL 5
 #define TCP_KEEPCNT 6
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define TCP_SYNCNT 7
 #define TCP_LINGER2 8
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define TCP_DEFER_ACCEPT 9
 #define TCP_WINDOW_CLAMP 10
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define TCP_INFO 11
 #define TCP_QUICKACK 12
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define TCP_CONGESTION 13
 #define TCP_MD5SIG 14
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define TCP_THIN_LINEAR_TIMEOUTS 16
 #define TCP_THIN_DUPACK 17
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define TCP_USER_TIMEOUT 18
 #define TCP_REPAIR 19
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define TCP_REPAIR_QUEUE 20
 #define TCP_QUEUE_SEQ 21
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define TCP_REPAIR_OPTIONS 22
 #define TCP_FASTOPEN 23
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define TCP_TIMESTAMP 24
 #define TCP_NOTSENT_LOWAT 25
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct tcp_repair_opt {
- __u32 opt_code;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u32 opt_val;
+  __u32 opt_code;
+  __u32 opt_val;
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 enum {
- TCP_NO_QUEUE,
+  TCP_NO_QUEUE,
+  TCP_RECV_QUEUE,
+  TCP_SEND_QUEUE,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- TCP_RECV_QUEUE,
- TCP_SEND_QUEUE,
- TCP_QUEUES_NR,
+  TCP_QUEUES_NR,
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define TCPI_OPT_TIMESTAMPS 1
 #define TCPI_OPT_SACK 2
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define TCPI_OPT_WSCALE 4
 #define TCPI_OPT_ECN 8
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define TCPI_OPT_ECN_SEEN 16
 #define TCPI_OPT_SYN_DATA 32
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 enum tcp_ca_state {
- TCP_CA_Open = 0,
+  TCP_CA_Open = 0,
+#define TCPF_CA_Open (1 << TCP_CA_Open)
+  TCP_CA_Disorder = 1,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define TCPF_CA_Open (1<<TCP_CA_Open)
- TCP_CA_Disorder = 1,
-#define TCPF_CA_Disorder (1<<TCP_CA_Disorder)
- TCP_CA_CWR = 2,
+#define TCPF_CA_Disorder (1 << TCP_CA_Disorder)
+  TCP_CA_CWR = 2,
+#define TCPF_CA_CWR (1 << TCP_CA_CWR)
+  TCP_CA_Recovery = 3,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define TCPF_CA_CWR (1<<TCP_CA_CWR)
- TCP_CA_Recovery = 3,
-#define TCPF_CA_Recovery (1<<TCP_CA_Recovery)
- TCP_CA_Loss = 4
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define TCPF_CA_Loss (1<<TCP_CA_Loss)
+#define TCPF_CA_Recovery (1 << TCP_CA_Recovery)
+  TCP_CA_Loss = 4
+#define TCPF_CA_Loss (1 << TCP_CA_Loss)
 };
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct tcp_info {
- __u8 tcpi_state;
+  __u8 tcpi_state;
+  __u8 tcpi_ca_state;
+  __u8 tcpi_retransmits;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 tcpi_ca_state;
- __u8 tcpi_retransmits;
- __u8 tcpi_probes;
- __u8 tcpi_backoff;
+  __u8 tcpi_probes;
+  __u8 tcpi_backoff;
+  __u8 tcpi_options;
+  __u8 tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 tcpi_options;
- __u8 tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
- __u32 tcpi_rto;
- __u32 tcpi_ato;
+  __u32 tcpi_rto;
+  __u32 tcpi_ato;
+  __u32 tcpi_snd_mss;
+  __u32 tcpi_rcv_mss;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u32 tcpi_snd_mss;
- __u32 tcpi_rcv_mss;
- __u32 tcpi_unacked;
- __u32 tcpi_sacked;
+  __u32 tcpi_unacked;
+  __u32 tcpi_sacked;
+  __u32 tcpi_lost;
+  __u32 tcpi_retrans;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u32 tcpi_lost;
- __u32 tcpi_retrans;
- __u32 tcpi_fackets;
- __u32 tcpi_last_data_sent;
+  __u32 tcpi_fackets;
+  __u32 tcpi_last_data_sent;
+  __u32 tcpi_last_ack_sent;
+  __u32 tcpi_last_data_recv;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u32 tcpi_last_ack_sent;
- __u32 tcpi_last_data_recv;
- __u32 tcpi_last_ack_recv;
- __u32 tcpi_pmtu;
+  __u32 tcpi_last_ack_recv;
+  __u32 tcpi_pmtu;
+  __u32 tcpi_rcv_ssthresh;
+  __u32 tcpi_rtt;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u32 tcpi_rcv_ssthresh;
- __u32 tcpi_rtt;
- __u32 tcpi_rttvar;
- __u32 tcpi_snd_ssthresh;
+  __u32 tcpi_rttvar;
+  __u32 tcpi_snd_ssthresh;
+  __u32 tcpi_snd_cwnd;
+  __u32 tcpi_advmss;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u32 tcpi_snd_cwnd;
- __u32 tcpi_advmss;
- __u32 tcpi_reordering;
- __u32 tcpi_rcv_rtt;
+  __u32 tcpi_reordering;
+  __u32 tcpi_rcv_rtt;
+  __u32 tcpi_rcv_space;
+  __u32 tcpi_total_retrans;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u32 tcpi_rcv_space;
- __u32 tcpi_total_retrans;
- __u64 tcpi_pacing_rate;
- __u64 tcpi_max_pacing_rate;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  __u64 tcpi_pacing_rate;
+  __u64 tcpi_max_pacing_rate;
 };
 #define TCP_MD5SIG_MAXKEYLEN 80
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct tcp_md5sig {
- struct __kernel_sockaddr_storage tcpm_addr;
+  struct __kernel_sockaddr_storage tcpm_addr;
+  __u16 __tcpm_pad1;
+  __u16 tcpm_keylen;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u16 __tcpm_pad1;
- __u16 tcpm_keylen;
- __u32 __tcpm_pad2;
- __u8 tcpm_key[TCP_MD5SIG_MAXKEYLEN];
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+  __u32 __tcpm_pad2;
+  __u8 tcpm_key[TCP_MD5SIG_MAXKEYLEN];
 };
 #endif
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */