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/xen/evtchn.h b/libc/kernel/uapi/xen/evtchn.h
index d235f6a..2dd23be 100644
--- a/libc/kernel/uapi/xen/evtchn.h
+++ b/libc/kernel/uapi/xen/evtchn.h
@@ -18,31 +18,31 @@
  ****************************************************************************/
 #ifndef __LINUX_PUBLIC_EVTCHN_H__
 #define __LINUX_PUBLIC_EVTCHN_H__
-#define IOCTL_EVTCHN_BIND_VIRQ   _IOC(_IOC_NONE, 'E', 0, sizeof(struct ioctl_evtchn_bind_virq))
+#define IOCTL_EVTCHN_BIND_VIRQ _IOC(_IOC_NONE, 'E', 0, sizeof(struct ioctl_evtchn_bind_virq))
 struct ioctl_evtchn_bind_virq {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- unsigned int virq;
+  unsigned int virq;
 };
-#define IOCTL_EVTCHN_BIND_INTERDOMAIN   _IOC(_IOC_NONE, 'E', 1, sizeof(struct ioctl_evtchn_bind_interdomain))
+#define IOCTL_EVTCHN_BIND_INTERDOMAIN _IOC(_IOC_NONE, 'E', 1, sizeof(struct ioctl_evtchn_bind_interdomain))
 struct ioctl_evtchn_bind_interdomain {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- unsigned int remote_domain, remote_port;
+  unsigned int remote_domain, remote_port;
 };
-#define IOCTL_EVTCHN_BIND_UNBOUND_PORT   _IOC(_IOC_NONE, 'E', 2, sizeof(struct ioctl_evtchn_bind_unbound_port))
+#define IOCTL_EVTCHN_BIND_UNBOUND_PORT _IOC(_IOC_NONE, 'E', 2, sizeof(struct ioctl_evtchn_bind_unbound_port))
 struct ioctl_evtchn_bind_unbound_port {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- unsigned int remote_domain;
+  unsigned int remote_domain;
 };
-#define IOCTL_EVTCHN_UNBIND   _IOC(_IOC_NONE, 'E', 3, sizeof(struct ioctl_evtchn_unbind))
+#define IOCTL_EVTCHN_UNBIND _IOC(_IOC_NONE, 'E', 3, sizeof(struct ioctl_evtchn_unbind))
 struct ioctl_evtchn_unbind {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- unsigned int port;
+  unsigned int port;
 };
-#define IOCTL_EVTCHN_NOTIFY   _IOC(_IOC_NONE, 'E', 4, sizeof(struct ioctl_evtchn_notify))
+#define IOCTL_EVTCHN_NOTIFY _IOC(_IOC_NONE, 'E', 4, sizeof(struct ioctl_evtchn_notify))
 struct ioctl_evtchn_notify {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- unsigned int port;
+  unsigned int port;
 };
-#define IOCTL_EVTCHN_RESET   _IOC(_IOC_NONE, 'E', 5, 0)
+#define IOCTL_EVTCHN_RESET _IOC(_IOC_NONE, 'E', 5, 0)
 #endif
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
diff --git a/libc/kernel/uapi/xen/gntalloc.h b/libc/kernel/uapi/xen/gntalloc.h
index 2076843..1710f4a 100644
--- a/libc/kernel/uapi/xen/gntalloc.h
+++ b/libc/kernel/uapi/xen/gntalloc.h
@@ -18,30 +18,30 @@
  ****************************************************************************/
 #ifndef __LINUX_PUBLIC_GNTALLOC_H__
 #define __LINUX_PUBLIC_GNTALLOC_H__
-#define IOCTL_GNTALLOC_ALLOC_GREF  _IOC(_IOC_NONE, 'G', 5, sizeof(struct ioctl_gntalloc_alloc_gref))
+#define IOCTL_GNTALLOC_ALLOC_GREF _IOC(_IOC_NONE, 'G', 5, sizeof(struct ioctl_gntalloc_alloc_gref))
 struct ioctl_gntalloc_alloc_gref {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint16_t domid;
- uint16_t flags;
- uint32_t count;
- uint64_t index;
+  uint16_t domid;
+  uint16_t flags;
+  uint32_t count;
+  uint64_t index;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint32_t gref_ids[1];
+  uint32_t gref_ids[1];
 };
 #define GNTALLOC_FLAG_WRITABLE 1
-#define IOCTL_GNTALLOC_DEALLOC_GREF  _IOC(_IOC_NONE, 'G', 6, sizeof(struct ioctl_gntalloc_dealloc_gref))
+#define IOCTL_GNTALLOC_DEALLOC_GREF _IOC(_IOC_NONE, 'G', 6, sizeof(struct ioctl_gntalloc_dealloc_gref))
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct ioctl_gntalloc_dealloc_gref {
- uint64_t index;
- uint32_t count;
+  uint64_t index;
+  uint32_t count;
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define IOCTL_GNTALLOC_SET_UNMAP_NOTIFY  _IOC(_IOC_NONE, 'G', 7, sizeof(struct ioctl_gntalloc_unmap_notify))
+#define IOCTL_GNTALLOC_SET_UNMAP_NOTIFY _IOC(_IOC_NONE, 'G', 7, sizeof(struct ioctl_gntalloc_unmap_notify))
 struct ioctl_gntalloc_unmap_notify {
- uint64_t index;
- uint32_t action;
+  uint64_t index;
+  uint32_t action;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint32_t event_channel_port;
+  uint32_t event_channel_port;
 };
 #define UNMAP_NOTIFY_CLEAR_BYTE 0x1
 #define UNMAP_NOTIFY_SEND_EVENT 0x2
diff --git a/libc/kernel/uapi/xen/gntdev.h b/libc/kernel/uapi/xen/gntdev.h
index 28a2a3a..c00e5ab 100644
--- a/libc/kernel/uapi/xen/gntdev.h
+++ b/libc/kernel/uapi/xen/gntdev.h
@@ -19,46 +19,46 @@
 #ifndef __LINUX_PUBLIC_GNTDEV_H__
 #define __LINUX_PUBLIC_GNTDEV_H__
 struct ioctl_gntdev_grant_ref {
- uint32_t domid;
+  uint32_t domid;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint32_t ref;
+  uint32_t ref;
 };
-#define IOCTL_GNTDEV_MAP_GRANT_REF  _IOC(_IOC_NONE, 'G', 0, sizeof(struct ioctl_gntdev_map_grant_ref))
+#define IOCTL_GNTDEV_MAP_GRANT_REF _IOC(_IOC_NONE, 'G', 0, sizeof(struct ioctl_gntdev_map_grant_ref))
 struct ioctl_gntdev_map_grant_ref {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint32_t count;
- uint32_t pad;
- uint64_t index;
- struct ioctl_gntdev_grant_ref refs[1];
+  uint32_t count;
+  uint32_t pad;
+  uint64_t index;
+  struct ioctl_gntdev_grant_ref refs[1];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
-#define IOCTL_GNTDEV_UNMAP_GRANT_REF  _IOC(_IOC_NONE, 'G', 1, sizeof(struct ioctl_gntdev_unmap_grant_ref))
+#define IOCTL_GNTDEV_UNMAP_GRANT_REF _IOC(_IOC_NONE, 'G', 1, sizeof(struct ioctl_gntdev_unmap_grant_ref))
 struct ioctl_gntdev_unmap_grant_ref {
- uint64_t index;
+  uint64_t index;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint32_t count;
- uint32_t pad;
+  uint32_t count;
+  uint32_t pad;
 };
-#define IOCTL_GNTDEV_GET_OFFSET_FOR_VADDR  _IOC(_IOC_NONE, 'G', 2, sizeof(struct ioctl_gntdev_get_offset_for_vaddr))
+#define IOCTL_GNTDEV_GET_OFFSET_FOR_VADDR _IOC(_IOC_NONE, 'G', 2, sizeof(struct ioctl_gntdev_get_offset_for_vaddr))
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct ioctl_gntdev_get_offset_for_vaddr {
- uint64_t vaddr;
- uint64_t offset;
- uint32_t count;
+  uint64_t vaddr;
+  uint64_t offset;
+  uint32_t count;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint32_t pad;
+  uint32_t pad;
 };
-#define IOCTL_GNTDEV_SET_MAX_GRANTS  _IOC(_IOC_NONE, 'G', 3, sizeof(struct ioctl_gntdev_set_max_grants))
+#define IOCTL_GNTDEV_SET_MAX_GRANTS _IOC(_IOC_NONE, 'G', 3, sizeof(struct ioctl_gntdev_set_max_grants))
 struct ioctl_gntdev_set_max_grants {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint32_t count;
+  uint32_t count;
 };
-#define IOCTL_GNTDEV_SET_UNMAP_NOTIFY  _IOC(_IOC_NONE, 'G', 7, sizeof(struct ioctl_gntdev_unmap_notify))
+#define IOCTL_GNTDEV_SET_UNMAP_NOTIFY _IOC(_IOC_NONE, 'G', 7, sizeof(struct ioctl_gntdev_unmap_notify))
 struct ioctl_gntdev_unmap_notify {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint64_t index;
- uint32_t action;
- uint32_t event_channel_port;
+  uint64_t index;
+  uint32_t action;
+  uint32_t event_channel_port;
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define UNMAP_NOTIFY_CLEAR_BYTE 0x1
diff --git a/libc/kernel/uapi/xen/privcmd.h b/libc/kernel/uapi/xen/privcmd.h
index ee20544..10c0c47 100644
--- a/libc/kernel/uapi/xen/privcmd.h
+++ b/libc/kernel/uapi/xen/privcmd.h
@@ -23,44 +23,44 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #include <xen/interface/xen.h>
 struct privcmd_hypercall {
- __u64 op;
- __u64 arg[5];
+  __u64 op;
+  __u64 arg[5];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct privcmd_mmap_entry {
- __u64 va;
- __u64 mfn;
+  __u64 va;
+  __u64 mfn;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u64 npages;
+  __u64 npages;
 };
 struct privcmd_mmap {
- int num;
+  int num;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- domid_t dom;
- struct privcmd_mmap_entry __user *entry;
+  domid_t dom;
+  struct privcmd_mmap_entry __user * entry;
 };
 struct privcmd_mmapbatch {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- int num;
- domid_t dom;
- __u64 addr;
- xen_pfn_t __user *arr;
+  int num;
+  domid_t dom;
+  __u64 addr;
+  xen_pfn_t __user * arr;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 #define PRIVCMD_MMAPBATCH_MFN_ERROR 0xf0000000U
 #define PRIVCMD_MMAPBATCH_PAGED_ERROR 0x80000000U
 struct privcmd_mmapbatch_v2 {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- unsigned int num;
- domid_t dom;
- __u64 addr;
- const xen_pfn_t __user *arr;
+  unsigned int num;
+  domid_t dom;
+  __u64 addr;
+  const xen_pfn_t __user * arr;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- int __user *err;
+  int __user * err;
 };
-#define IOCTL_PRIVCMD_HYPERCALL   _IOC(_IOC_NONE, 'P', 0, sizeof(struct privcmd_hypercall))
-#define IOCTL_PRIVCMD_MMAP   _IOC(_IOC_NONE, 'P', 2, sizeof(struct privcmd_mmap))
+#define IOCTL_PRIVCMD_HYPERCALL _IOC(_IOC_NONE, 'P', 0, sizeof(struct privcmd_hypercall))
+#define IOCTL_PRIVCMD_MMAP _IOC(_IOC_NONE, 'P', 2, sizeof(struct privcmd_mmap))
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define IOCTL_PRIVCMD_MMAPBATCH   _IOC(_IOC_NONE, 'P', 3, sizeof(struct privcmd_mmapbatch))
-#define IOCTL_PRIVCMD_MMAPBATCH_V2   _IOC(_IOC_NONE, 'P', 4, sizeof(struct privcmd_mmapbatch_v2))
+#define IOCTL_PRIVCMD_MMAPBATCH _IOC(_IOC_NONE, 'P', 3, sizeof(struct privcmd_mmapbatch))
+#define IOCTL_PRIVCMD_MMAPBATCH_V2 _IOC(_IOC_NONE, 'P', 4, sizeof(struct privcmd_mmapbatch_v2))
 #endif