diff --git a/libc/kernel/uapi/linux/ax25.h b/libc/kernel/uapi/linux/ax25.h
index 33a7638..83907c2 100644
--- a/libc/kernel/uapi/linux/ax25.h
+++ b/libc/kernel/uapi/linux/ax25.h
@@ -37,95 +37,95 @@
 #define AX25_IAMDIGI 12
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define AX25_KILL 99
-#define SIOCAX25GETUID (SIOCPROTOPRIVATE+0)
-#define SIOCAX25ADDUID (SIOCPROTOPRIVATE+1)
-#define SIOCAX25DELUID (SIOCPROTOPRIVATE+2)
+#define SIOCAX25GETUID (SIOCPROTOPRIVATE + 0)
+#define SIOCAX25ADDUID (SIOCPROTOPRIVATE + 1)
+#define SIOCAX25DELUID (SIOCPROTOPRIVATE + 2)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define SIOCAX25NOUID (SIOCPROTOPRIVATE+3)
-#define SIOCAX25OPTRT (SIOCPROTOPRIVATE+7)
-#define SIOCAX25CTLCON (SIOCPROTOPRIVATE+8)
-#define SIOCAX25GETINFOOLD (SIOCPROTOPRIVATE+9)
+#define SIOCAX25NOUID (SIOCPROTOPRIVATE + 3)
+#define SIOCAX25OPTRT (SIOCPROTOPRIVATE + 7)
+#define SIOCAX25CTLCON (SIOCPROTOPRIVATE + 8)
+#define SIOCAX25GETINFOOLD (SIOCPROTOPRIVATE + 9)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define SIOCAX25ADDFWD (SIOCPROTOPRIVATE+10)
-#define SIOCAX25DELFWD (SIOCPROTOPRIVATE+11)
-#define SIOCAX25DEVCTL (SIOCPROTOPRIVATE+12)
-#define SIOCAX25GETINFO (SIOCPROTOPRIVATE+13)
+#define SIOCAX25ADDFWD (SIOCPROTOPRIVATE + 10)
+#define SIOCAX25DELFWD (SIOCPROTOPRIVATE + 11)
+#define SIOCAX25DEVCTL (SIOCPROTOPRIVATE + 12)
+#define SIOCAX25GETINFO (SIOCPROTOPRIVATE + 13)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define AX25_SET_RT_IPMODE 2
 #define AX25_NOUID_DEFAULT 0
 #define AX25_NOUID_BLOCK 1
 typedef struct {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- char ax25_call[7];
+  char ax25_call[7];
 } ax25_address;
 struct sockaddr_ax25 {
- __kernel_sa_family_t sax25_family;
+  __kernel_sa_family_t sax25_family;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ax25_address sax25_call;
- int sax25_ndigis;
+  ax25_address sax25_call;
+  int sax25_ndigis;
 };
 #define sax25_uid sax25_ndigis
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct full_sockaddr_ax25 {
- struct sockaddr_ax25 fsa_ax25;
- ax25_address fsa_digipeater[AX25_MAX_DIGIS];
+  struct sockaddr_ax25 fsa_ax25;
+  ax25_address fsa_digipeater[AX25_MAX_DIGIS];
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct ax25_routes_struct {
- ax25_address port_addr;
- ax25_address dest_addr;
- unsigned char digi_count;
+  ax25_address port_addr;
+  ax25_address dest_addr;
+  unsigned char digi_count;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ax25_address digi_addr[AX25_MAX_DIGIS];
+  ax25_address digi_addr[AX25_MAX_DIGIS];
 };
 struct ax25_route_opt_struct {
- ax25_address port_addr;
+  ax25_address port_addr;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ax25_address dest_addr;
- int cmd;
- int arg;
+  ax25_address dest_addr;
+  int cmd;
+  int arg;
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct ax25_ctl_struct {
- ax25_address port_addr;
- ax25_address source_addr;
- ax25_address dest_addr;
+  ax25_address port_addr;
+  ax25_address source_addr;
+  ax25_address dest_addr;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- unsigned int cmd;
- unsigned long arg;
- unsigned char digi_count;
- ax25_address digi_addr[AX25_MAX_DIGIS];
+  unsigned int cmd;
+  unsigned long arg;
+  unsigned char digi_count;
+  ax25_address digi_addr[AX25_MAX_DIGIS];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct ax25_info_struct_deprecated {
- unsigned int n2, n2count;
- unsigned int t1, t1timer;
+  unsigned int n2, n2count;
+  unsigned int t1, t1timer;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- unsigned int t2, t2timer;
- unsigned int t3, t3timer;
- unsigned int idle, idletimer;
- unsigned int state;
+  unsigned int t2, t2timer;
+  unsigned int t3, t3timer;
+  unsigned int idle, idletimer;
+  unsigned int state;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- unsigned int rcv_q, snd_q;
+  unsigned int rcv_q, snd_q;
 };
 struct ax25_info_struct {
- unsigned int n2, n2count;
+  unsigned int n2, n2count;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- unsigned int t1, t1timer;
- unsigned int t2, t2timer;
- unsigned int t3, t3timer;
- unsigned int idle, idletimer;
+  unsigned int t1, t1timer;
+  unsigned int t2, t2timer;
+  unsigned int t3, t3timer;
+  unsigned int idle, idletimer;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- unsigned int state;
- unsigned int rcv_q, snd_q;
- unsigned int vs, vr, va, vs_max;
- unsigned int paclen;
+  unsigned int state;
+  unsigned int rcv_q, snd_q;
+  unsigned int vs, vr, va, vs_max;
+  unsigned int paclen;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- unsigned int window;
+  unsigned int window;
 };
 struct ax25_fwd_struct {
- ax25_address port_from;
+  ax25_address port_from;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ax25_address port_to;
+  ax25_address port_to;
 };
 #endif
