diff --git a/libc/kernel/uapi/scsi/scsi_bsg_fc.h b/libc/kernel/uapi/scsi/scsi_bsg_fc.h
index 2d76a05..8966f61 100644
--- a/libc/kernel/uapi/scsi/scsi_bsg_fc.h
+++ b/libc/kernel/uapi/scsi/scsi_bsg_fc.h
@@ -18,6 +18,7 @@
  ****************************************************************************/
 #ifndef SCSI_BSG_FC_H
 #define SCSI_BSG_FC_H
+#include <linux/types.h>
 #define FC_DEFAULT_BSG_TIMEOUT (10 * HZ)
 #define FC_BSG_CLS_MASK 0xF0000000
 #define FC_BSG_HST_MASK 0x80000000
@@ -30,16 +31,16 @@
 #define FC_BSG_RPT_ELS (FC_BSG_RPT_MASK | 0x00000001)
 #define FC_BSG_RPT_CT (FC_BSG_RPT_MASK | 0x00000002)
 struct fc_bsg_host_add_rport {
-  uint8_t reserved;
-  uint8_t port_id[3];
+  __u8 reserved;
+  __u8 port_id[3];
 };
 struct fc_bsg_host_del_rport {
-  uint8_t reserved;
-  uint8_t port_id[3];
+  __u8 reserved;
+  __u8 port_id[3];
 };
 struct fc_bsg_host_els {
-  uint8_t command_code;
-  uint8_t port_id[3];
+  __u8 command_code;
+  __u8 port_id[3];
 };
 #define FC_CTELS_STATUS_OK 0x00000000
 #define FC_CTELS_STATUS_REJECT 0x00000001
@@ -48,38 +49,38 @@
 #define FC_CTELS_STATUS_P_BSY 0x00000004
 #define FC_CTELS_STATUS_F_BSY 0x00000006
 struct fc_bsg_ctels_reply {
-  uint32_t status;
+  __u32 status;
   struct {
-    uint8_t action;
-    uint8_t reason_code;
-    uint8_t reason_explanation;
-    uint8_t vendor_unique;
+    __u8 action;
+    __u8 reason_code;
+    __u8 reason_explanation;
+    __u8 vendor_unique;
   } rjt_data;
 };
 struct fc_bsg_host_ct {
-  uint8_t reserved;
-  uint8_t port_id[3];
-  uint32_t preamble_word0;
-  uint32_t preamble_word1;
-  uint32_t preamble_word2;
+  __u8 reserved;
+  __u8 port_id[3];
+  __u32 preamble_word0;
+  __u32 preamble_word1;
+  __u32 preamble_word2;
 };
 struct fc_bsg_host_vendor {
-  uint64_t vendor_id;
-  uint32_t vendor_cmd[0];
+  __u64 vendor_id;
+  __u32 vendor_cmd[0];
 };
 struct fc_bsg_host_vendor_reply {
-  uint32_t vendor_rsp[0];
+  __u32 vendor_rsp[0];
 };
 struct fc_bsg_rport_els {
-  uint8_t els_code;
+  __u8 els_code;
 };
 struct fc_bsg_rport_ct {
-  uint32_t preamble_word0;
-  uint32_t preamble_word1;
-  uint32_t preamble_word2;
+  __u32 preamble_word0;
+  __u32 preamble_word1;
+  __u32 preamble_word2;
 };
 struct fc_bsg_request {
-  uint32_t msgcode;
+  __u32 msgcode;
   union {
     struct fc_bsg_host_add_rport h_addrport;
     struct fc_bsg_host_del_rport h_delrport;
@@ -91,8 +92,8 @@
   } rqst_data;
 } __attribute__((packed));
 struct fc_bsg_reply {
-  uint32_t result;
-  uint32_t reply_payload_rcv_len;
+  __u32 result;
+  __u32 reply_payload_rcv_len;
   union {
     struct fc_bsg_host_vendor_reply vendor_reply;
     struct fc_bsg_ctels_reply ctels_reply;
diff --git a/libc/kernel/uapi/scsi/scsi_netlink.h b/libc/kernel/uapi/scsi/scsi_netlink.h
index ad6e52f..2e1b6cf 100644
--- a/libc/kernel/uapi/scsi/scsi_netlink.h
+++ b/libc/kernel/uapi/scsi/scsi_netlink.h
@@ -24,12 +24,12 @@
 #define SCSI_NL_GRP_FC_EVENTS (1 << 2)
 #define SCSI_NL_GRP_CNT 3
 struct scsi_nl_hdr {
-  uint8_t version;
-  uint8_t transport;
-  uint16_t magic;
-  uint16_t msgtype;
-  uint16_t msglen;
-} __attribute__((aligned(sizeof(uint64_t))));
+  __u8 version;
+  __u8 transport;
+  __u16 magic;
+  __u16 msgtype;
+  __u16 msglen;
+} __attribute__((aligned(sizeof(__u64))));
 #define SCSI_NL_VERSION 1
 #define SCSI_NL_MAGIC 0xA1B2
 #define SCSI_NL_TRANSPORT 0
@@ -39,10 +39,10 @@
 #define SCSI_NL_MSGALIGN(len) (((len) + 7) & ~7)
 struct scsi_nl_host_vendor_msg {
   struct scsi_nl_hdr snlh;
-  uint64_t vendor_id;
-  uint16_t host_no;
-  uint16_t vmsg_datalen;
-} __attribute__((aligned(sizeof(uint64_t))));
+  __u64 vendor_id;
+  __u16 host_no;
+  __u16 vmsg_datalen;
+} __attribute__((aligned(sizeof(__u64))));
 #define SCSI_NL_VID_TYPE_SHIFT 56
 #define SCSI_NL_VID_TYPE_MASK ((__u64) 0xFF << SCSI_NL_VID_TYPE_SHIFT)
 #define SCSI_NL_VID_TYPE_PCI ((__u64) 0x01 << SCSI_NL_VID_TYPE_SHIFT)
diff --git a/libc/kernel/uapi/scsi/scsi_netlink_fc.h b/libc/kernel/uapi/scsi/scsi_netlink_fc.h
index 9b374c7..ff92877 100644
--- a/libc/kernel/uapi/scsi/scsi_netlink_fc.h
+++ b/libc/kernel/uapi/scsi/scsi_netlink_fc.h
@@ -18,17 +18,18 @@
  ****************************************************************************/
 #ifndef SCSI_NETLINK_FC_H
 #define SCSI_NETLINK_FC_H
+#include <linux/types.h>
 #include <scsi/scsi_netlink.h>
 #define FC_NL_ASYNC_EVENT 0x0100
 #define FC_NL_MSGALIGN(len) (((len) + 7) & ~7)
 struct fc_nl_event {
   struct scsi_nl_hdr snlh;
-  uint64_t seconds;
-  uint64_t vendor_id;
-  uint16_t host_no;
-  uint16_t event_datalen;
-  uint32_t event_num;
-  uint32_t event_code;
-  uint32_t event_data;
-} __attribute__((aligned(sizeof(uint64_t))));
+  __u64 seconds;
+  __u64 vendor_id;
+  __u16 host_no;
+  __u16 event_datalen;
+  __u32 event_num;
+  __u32 event_code;
+  __u32 event_data;
+} __attribute__((aligned(sizeof(__u64))));
 #endif
