diff --git a/libc/kernel/uapi/scsi/fc/fc_els.h b/libc/kernel/uapi/scsi/fc/fc_els.h
index 4e2a920..c1f9e94 100644
--- a/libc/kernel/uapi/scsi/fc/fc_els.h
+++ b/libc/kernel/uapi/scsi/fc/fc_els.h
@@ -21,152 +21,153 @@
 #include <linux/types.h>
 enum fc_els_cmd {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_LS_RJT = 0x01,
- ELS_LS_ACC = 0x02,
- ELS_PLOGI = 0x03,
- ELS_FLOGI = 0x04,
+  ELS_LS_RJT = 0x01,
+  ELS_LS_ACC = 0x02,
+  ELS_PLOGI = 0x03,
+  ELS_FLOGI = 0x04,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_LOGO = 0x05,
- ELS_ABTX = 0x06,
- ELS_RCS = 0x07,
- ELS_RES = 0x08,
+  ELS_LOGO = 0x05,
+  ELS_ABTX = 0x06,
+  ELS_RCS = 0x07,
+  ELS_RES = 0x08,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_RSS = 0x09,
- ELS_RSI = 0x0a,
- ELS_ESTS = 0x0b,
- ELS_ESTC = 0x0c,
+  ELS_RSS = 0x09,
+  ELS_RSI = 0x0a,
+  ELS_ESTS = 0x0b,
+  ELS_ESTC = 0x0c,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_ADVC = 0x0d,
- ELS_RTV = 0x0e,
- ELS_RLS = 0x0f,
- ELS_ECHO = 0x10,
+  ELS_ADVC = 0x0d,
+  ELS_RTV = 0x0e,
+  ELS_RLS = 0x0f,
+  ELS_ECHO = 0x10,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_TEST = 0x11,
- ELS_RRQ = 0x12,
- ELS_REC = 0x13,
- ELS_SRR = 0x14,
+  ELS_TEST = 0x11,
+  ELS_RRQ = 0x12,
+  ELS_REC = 0x13,
+  ELS_SRR = 0x14,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_PRLI = 0x20,
- ELS_PRLO = 0x21,
- ELS_SCN = 0x22,
- ELS_TPLS = 0x23,
+  ELS_PRLI = 0x20,
+  ELS_PRLO = 0x21,
+  ELS_SCN = 0x22,
+  ELS_TPLS = 0x23,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_TPRLO = 0x24,
- ELS_LCLM = 0x25,
- ELS_GAID = 0x30,
- ELS_FACT = 0x31,
+  ELS_TPRLO = 0x24,
+  ELS_LCLM = 0x25,
+  ELS_GAID = 0x30,
+  ELS_FACT = 0x31,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_FDACDT = 0x32,
- ELS_NACT = 0x33,
- ELS_NDACT = 0x34,
- ELS_QOSR = 0x40,
+  ELS_FDACDT = 0x32,
+  ELS_NACT = 0x33,
+  ELS_NDACT = 0x34,
+  ELS_QOSR = 0x40,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_RVCS = 0x41,
- ELS_PDISC = 0x50,
- ELS_FDISC = 0x51,
- ELS_ADISC = 0x52,
+  ELS_RVCS = 0x41,
+  ELS_PDISC = 0x50,
+  ELS_FDISC = 0x51,
+  ELS_ADISC = 0x52,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_RNC = 0x53,
- ELS_FARP_REQ = 0x54,
- ELS_FARP_REPL = 0x55,
- ELS_RPS = 0x56,
+  ELS_RNC = 0x53,
+  ELS_FARP_REQ = 0x54,
+  ELS_FARP_REPL = 0x55,
+  ELS_RPS = 0x56,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_RPL = 0x57,
- ELS_RPBC = 0x58,
- ELS_FAN = 0x60,
- ELS_RSCN = 0x61,
+  ELS_RPL = 0x57,
+  ELS_RPBC = 0x58,
+  ELS_FAN = 0x60,
+  ELS_RSCN = 0x61,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_SCR = 0x62,
- ELS_RNFT = 0x63,
- ELS_CSR = 0x68,
- ELS_CSU = 0x69,
+  ELS_SCR = 0x62,
+  ELS_RNFT = 0x63,
+  ELS_CSR = 0x68,
+  ELS_CSU = 0x69,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_LINIT = 0x70,
- ELS_LSTS = 0x72,
- ELS_RNID = 0x78,
- ELS_RLIR = 0x79,
+  ELS_LINIT = 0x70,
+  ELS_LSTS = 0x72,
+  ELS_RNID = 0x78,
+  ELS_RLIR = 0x79,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_LIRR = 0x7a,
- ELS_SRL = 0x7b,
- ELS_SBRP = 0x7c,
- ELS_RPSC = 0x7d,
+  ELS_LIRR = 0x7a,
+  ELS_SRL = 0x7b,
+  ELS_SBRP = 0x7c,
+  ELS_RPSC = 0x7d,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_QSA = 0x7e,
- ELS_EVFP = 0x7f,
- ELS_LKA = 0x80,
- ELS_AUTH_ELS = 0x90,
+  ELS_QSA = 0x7e,
+  ELS_EVFP = 0x7f,
+  ELS_LKA = 0x80,
+  ELS_AUTH_ELS = 0x90,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
-#define FC_ELS_CMDS_INIT {   [ELS_LS_RJT] = "LS_RJT",   [ELS_LS_ACC] = "LS_ACC",   [ELS_PLOGI] = "PLOGI",   [ELS_FLOGI] = "FLOGI",   [ELS_LOGO] = "LOGO",   [ELS_ABTX] = "ABTX",   [ELS_RCS] = "RCS",   [ELS_RES] = "RES",   [ELS_RSS] = "RSS",   [ELS_RSI] = "RSI",   [ELS_ESTS] = "ESTS",   [ELS_ESTC] = "ESTC",   [ELS_ADVC] = "ADVC",   [ELS_RTV] = "RTV",   [ELS_RLS] = "RLS",   [ELS_ECHO] = "ECHO",   [ELS_TEST] = "TEST",   [ELS_RRQ] = "RRQ",   [ELS_REC] = "REC",   [ELS_SRR] = "SRR",   [ELS_PRLI] = "PRLI",   [ELS_PRLO] = "PRLO",   [ELS_SCN] = "SCN",   [ELS_TPLS] = "TPLS",   [ELS_TPRLO] = "TPRLO",   [ELS_LCLM] = "LCLM",   [ELS_GAID] = "GAID",   [ELS_FACT] = "FACT",   [ELS_FDACDT] = "FDACDT",   [ELS_NACT] = "NACT",   [ELS_NDACT] = "NDACT",   [ELS_QOSR] = "QOSR",   [ELS_RVCS] = "RVCS",   [ELS_PDISC] = "PDISC",   [ELS_FDISC] = "FDISC",   [ELS_ADISC] = "ADISC",   [ELS_RNC] = "RNC",   [ELS_FARP_REQ] = "FARP_REQ",   [ELS_FARP_REPL] = "FARP_REPL",   [ELS_RPS] = "RPS",   [ELS_RPL] = "RPL",   [ELS_RPBC] = "RPBC",   [ELS_FAN] = "FAN",   [ELS_RSCN] = "RSCN",   [ELS_SCR] = "SCR",   [ELS_RNFT] = "RNFT",   [ELS_CSR] = "CSR",   [ELS_CSU] = "CSU",   [ELS_LINIT] = "LINIT",   [ELS_LSTS] = "LSTS",   [ELS_RNID] = "RNID",   [ELS_RLIR] = "RLIR",   [ELS_LIRR] = "LIRR",   [ELS_SRL] = "SRL",   [ELS_SBRP] = "SBRP",   [ELS_RPSC] = "RPSC",   [ELS_QSA] = "QSA",   [ELS_EVFP] = "EVFP",   [ELS_LKA] = "LKA",   [ELS_AUTH_ELS] = "AUTH_ELS",  }
+#define FC_ELS_CMDS_INIT {[ELS_LS_RJT] = "LS_RJT",[ELS_LS_ACC] = "LS_ACC",[ELS_PLOGI] = "PLOGI",[ELS_FLOGI] = "FLOGI",[ELS_LOGO] = "LOGO",[ELS_ABTX] = "ABTX",[ELS_RCS] = "RCS",[ELS_RES] = "RES",[ELS_RSS] = "RSS",[ELS_RSI] = "RSI",[ELS_ESTS] = "ESTS",[ELS_ESTC] = "ESTC",[ELS_ADVC] = "ADVC",[ELS_RTV] = "RTV",[ELS_RLS] = "RLS",[ELS_ECHO] = "ECHO",[ELS_TEST] = "TEST",[ELS_RRQ] = "RRQ",[ELS_REC] = "REC",[ELS_SRR] = "SRR",[ELS_PRLI] = "PRLI",[ELS_PRLO] = "PRLO",[ELS_SCN] = "SCN",[ELS_TPLS] = "TPLS",[ELS_TPRLO] = "TPRLO",[ELS_LCLM] = "LCLM",[ELS_GAID] = "GAID",[ELS_FACT] = "FACT",[ELS_FDACDT] = "FDACDT",[ELS_NACT] = "NACT",[ELS_NDACT] = "NDACT",[ELS_QOSR] = "QOSR",[ELS_RVCS] = "RVCS",[ELS_PDISC] = "PDISC",[ELS_FDISC] = "FDISC",[ELS_ADISC] = "ADISC",[ELS_RNC] = "RNC",[ELS_FARP_REQ] = "FARP_REQ",[ELS_FARP_REPL] = "FARP_REPL",[ELS_RPS] = "RPS",[ELS_RPL] = "RPL",[ELS_RPBC] = "RPBC",[ELS_FAN] = "FAN",[ELS_RSCN] = "RSCN",[ELS_SCR] = "SCR",[ELS_RNFT] = "RNFT",[ELS_CSR] = "CSR",[ELS_CSU] = "CSU",[ELS_LINIT] = "LINIT",[ELS_LSTS] = "LSTS",[ELS_RNID] = "RNID",[ELS_RLIR] = "RLIR",[ELS_LIRR] = "LIRR",[ELS_SRL] = "SRL",[ELS_SBRP] = "SBRP",[ELS_RPSC] = "RPSC",[ELS_QSA] = "QSA",[ELS_EVFP] = "EVFP",[ELS_LKA] = "LKA",[ELS_AUTH_ELS] = "AUTH_ELS", \
+}
 struct fc_els_ls_acc {
- __u8 la_cmd;
+  __u8 la_cmd;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 la_resv[3];
+  __u8 la_resv[3];
 };
 struct fc_els_ls_rjt {
- __u8 er_cmd;
+  __u8 er_cmd;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 er_resv[4];
- __u8 er_reason;
- __u8 er_explan;
- __u8 er_vendor;
+  __u8 er_resv[4];
+  __u8 er_reason;
+  __u8 er_explan;
+  __u8 er_vendor;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 enum fc_els_rjt_reason {
- ELS_RJT_NONE = 0,
- ELS_RJT_INVAL = 0x01,
+  ELS_RJT_NONE = 0,
+  ELS_RJT_INVAL = 0x01,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_RJT_LOGIC = 0x03,
- ELS_RJT_BUSY = 0x05,
- ELS_RJT_PROT = 0x07,
- ELS_RJT_UNAB = 0x09,
+  ELS_RJT_LOGIC = 0x03,
+  ELS_RJT_BUSY = 0x05,
+  ELS_RJT_PROT = 0x07,
+  ELS_RJT_UNAB = 0x09,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_RJT_UNSUP = 0x0b,
- ELS_RJT_INPROG = 0x0e,
- ELS_RJT_FIP = 0x20,
- ELS_RJT_VENDOR = 0xff,
+  ELS_RJT_UNSUP = 0x0b,
+  ELS_RJT_INPROG = 0x0e,
+  ELS_RJT_FIP = 0x20,
+  ELS_RJT_VENDOR = 0xff,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 enum fc_els_rjt_explan {
- ELS_EXPL_NONE = 0x00,
- ELS_EXPL_SPP_OPT_ERR = 0x01,
+  ELS_EXPL_NONE = 0x00,
+  ELS_EXPL_SPP_OPT_ERR = 0x01,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_EXPL_SPP_ICTL_ERR = 0x03,
- ELS_EXPL_AH = 0x11,
- ELS_EXPL_AH_REQ = 0x13,
- ELS_EXPL_SID = 0x15,
+  ELS_EXPL_SPP_ICTL_ERR = 0x03,
+  ELS_EXPL_AH = 0x11,
+  ELS_EXPL_AH_REQ = 0x13,
+  ELS_EXPL_SID = 0x15,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_EXPL_OXID_RXID = 0x17,
- ELS_EXPL_INPROG = 0x19,
- ELS_EXPL_PLOGI_REQD = 0x1e,
- ELS_EXPL_INSUF_RES = 0x29,
+  ELS_EXPL_OXID_RXID = 0x17,
+  ELS_EXPL_INPROG = 0x19,
+  ELS_EXPL_PLOGI_REQD = 0x1e,
+  ELS_EXPL_INSUF_RES = 0x29,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_EXPL_UNAB_DATA = 0x2a,
- ELS_EXPL_UNSUPR = 0x2c,
- ELS_EXPL_INV_LEN = 0x2d,
- ELS_EXPL_NOT_NEIGHBOR = 0x62,
+  ELS_EXPL_UNAB_DATA = 0x2a,
+  ELS_EXPL_UNSUPR = 0x2c,
+  ELS_EXPL_INV_LEN = 0x2d,
+  ELS_EXPL_NOT_NEIGHBOR = 0x62,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_els_csp {
- __u8 sp_hi_ver;
- __u8 sp_lo_ver;
+  __u8 sp_hi_ver;
+  __u8 sp_lo_ver;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be16 sp_bb_cred;
- __be16 sp_features;
- __be16 sp_bb_data;
- union {
+  __be16 sp_bb_cred;
+  __be16 sp_features;
+  __be16 sp_bb_data;
+  union {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- struct {
- __be16 _sp_tot_seq;
- __be16 _sp_rel_off;
- } sp_plogi;
+    struct {
+      __be16 _sp_tot_seq;
+      __be16 _sp_rel_off;
+    } sp_plogi;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- struct {
- __be32 _sp_r_a_tov;
- } sp_flogi_acc;
- } sp_u;
+    struct {
+      __be32 _sp_r_a_tov;
+    } sp_flogi_acc;
+  } sp_u;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be32 sp_e_d_tov;
+  __be32 sp_e_d_tov;
 };
 #define sp_tot_seq sp_u.sp_plogi._sp_tot_seq
 #define sp_rel_off sp_u.sp_plogi._sp_rel_off
@@ -201,17 +202,17 @@
 #define FC_SP_FT_PAYL 0x0001
 struct fc_els_cssp {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be16 cp_class;
- __be16 cp_init;
- __be16 cp_recip;
- __be16 cp_rdfs;
+  __be16 cp_class;
+  __be16 cp_init;
+  __be16 cp_recip;
+  __be16 cp_rdfs;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be16 cp_con_seq;
- __be16 cp_ee_cred;
- __u8 cp_resv1;
- __u8 cp_open_seq;
+  __be16 cp_con_seq;
+  __be16 cp_ee_cred;
+  __u8 cp_resv1;
+  __u8 cp_open_seq;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 _cp_resv2[2];
+  __u8 _cp_resv2[2];
 };
 #define FC_CPC_VALID 0x8000
 #define FC_CPC_IMIX 0x4000
@@ -223,26 +224,26 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define FC_CPR_CSYN 0x0008
 struct fc_els_flogi {
- __u8 fl_cmd;
- __u8 _fl_resvd[3];
+  __u8 fl_cmd;
+  __u8 _fl_resvd[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- struct fc_els_csp fl_csp;
- __be64 fl_wwpn;
- __be64 fl_wwnn;
- struct fc_els_cssp fl_cssp[4];
+  struct fc_els_csp fl_csp;
+  __be64 fl_wwpn;
+  __be64 fl_wwnn;
+  struct fc_els_cssp fl_cssp[4];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 fl_vend[16];
+  __u8 fl_vend[16];
 } __attribute__((__packed__));
 struct fc_els_spp {
- __u8 spp_type;
+  __u8 spp_type;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 spp_type_ext;
- __u8 spp_flags;
- __u8 _spp_resvd;
- __be32 spp_orig_pa;
+  __u8 spp_type_ext;
+  __u8 spp_flags;
+  __u8 _spp_resvd;
+  __be32 spp_orig_pa;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be32 spp_resp_pa;
- __be32 spp_params;
+  __be32 spp_resp_pa;
+  __be32 spp_params;
 };
 #define FC_SPP_OPA_VAL 0x80
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
@@ -251,125 +252,125 @@
 #define FC_SPP_RESP_MASK 0x0f
 enum fc_els_spp_resp {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_SPP_RESP_ACK = 1,
- FC_SPP_RESP_RES = 2,
- FC_SPP_RESP_INIT = 3,
- FC_SPP_RESP_NO_PA = 4,
+  FC_SPP_RESP_ACK = 1,
+  FC_SPP_RESP_RES = 2,
+  FC_SPP_RESP_INIT = 3,
+  FC_SPP_RESP_NO_PA = 4,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_SPP_RESP_CONF = 5,
- FC_SPP_RESP_COND = 6,
- FC_SPP_RESP_MULT = 7,
- FC_SPP_RESP_INVL = 8,
+  FC_SPP_RESP_CONF = 5,
+  FC_SPP_RESP_COND = 6,
+  FC_SPP_RESP_MULT = 7,
+  FC_SPP_RESP_INVL = 8,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_els_rrq {
- __u8 rrq_cmd;
- __u8 rrq_zero[3];
+  __u8 rrq_cmd;
+  __u8 rrq_zero[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 rrq_resvd;
- __u8 rrq_s_id[3];
- __be16 rrq_ox_id;
- __be16 rrq_rx_id;
+  __u8 rrq_resvd;
+  __u8 rrq_s_id[3];
+  __be16 rrq_ox_id;
+  __be16 rrq_rx_id;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_els_rec {
- __u8 rec_cmd;
- __u8 rec_zero[3];
+  __u8 rec_cmd;
+  __u8 rec_zero[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 rec_resvd;
- __u8 rec_s_id[3];
- __be16 rec_ox_id;
- __be16 rec_rx_id;
+  __u8 rec_resvd;
+  __u8 rec_s_id[3];
+  __be16 rec_ox_id;
+  __be16 rec_rx_id;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_els_rec_acc {
- __u8 reca_cmd;
- __u8 reca_zero[3];
+  __u8 reca_cmd;
+  __u8 reca_zero[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be16 reca_ox_id;
- __be16 reca_rx_id;
- __u8 reca_resvd1;
- __u8 reca_ofid[3];
+  __be16 reca_ox_id;
+  __be16 reca_rx_id;
+  __u8 reca_resvd1;
+  __u8 reca_ofid[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 reca_resvd2;
- __u8 reca_rfid[3];
- __be32 reca_fc4value;
- __be32 reca_e_stat;
+  __u8 reca_resvd2;
+  __u8 reca_rfid[3];
+  __be32 reca_fc4value;
+  __be32 reca_e_stat;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_els_prli {
- __u8 prli_cmd;
- __u8 prli_spp_len;
+  __u8 prli_cmd;
+  __u8 prli_spp_len;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be16 prli_len;
+  __be16 prli_len;
 };
 struct fc_els_prlo {
- __u8 prlo_cmd;
+  __u8 prlo_cmd;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 prlo_obs;
- __be16 prlo_len;
+  __u8 prlo_obs;
+  __be16 prlo_len;
 };
 struct fc_els_adisc {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 adisc_cmd;
- __u8 adisc_resv[3];
- __u8 adisc_resv1;
- __u8 adisc_hard_addr[3];
+  __u8 adisc_cmd;
+  __u8 adisc_resv[3];
+  __u8 adisc_resv1;
+  __u8 adisc_hard_addr[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be64 adisc_wwpn;
- __be64 adisc_wwnn;
- __u8 adisc_resv2;
- __u8 adisc_port_id[3];
+  __be64 adisc_wwpn;
+  __be64 adisc_wwnn;
+  __u8 adisc_resv2;
+  __u8 adisc_port_id[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 } __attribute__((__packed__));
 struct fc_els_logo {
- __u8 fl_cmd;
- __u8 fl_zero[3];
+  __u8 fl_cmd;
+  __u8 fl_zero[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 fl_resvd;
- __u8 fl_n_port_id[3];
- __be64 fl_n_port_wwn;
+  __u8 fl_resvd;
+  __u8 fl_n_port_id[3];
+  __be64 fl_n_port_wwn;
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct fc_els_rtv {
- __u8 rtv_cmd;
- __u8 rtv_zero[3];
+  __u8 rtv_cmd;
+  __u8 rtv_zero[3];
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct fc_els_rtv_acc {
- __u8 rtv_cmd;
- __u8 rtv_zero[3];
- __be32 rtv_r_a_tov;
+  __u8 rtv_cmd;
+  __u8 rtv_zero[3];
+  __be32 rtv_r_a_tov;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be32 rtv_e_d_tov;
- __be32 rtv_toq;
+  __be32 rtv_e_d_tov;
+  __be32 rtv_toq;
 };
 #define FC_ELS_RTV_EDRES (1 << 26)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define FC_ELS_RTV_RTTOV (1 << 19)
 struct fc_els_scr {
- __u8 scr_cmd;
- __u8 scr_resv[6];
+  __u8 scr_cmd;
+  __u8 scr_resv[6];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 scr_reg_func;
+  __u8 scr_reg_func;
 };
 enum fc_els_scr_func {
- ELS_SCRF_FAB = 1,
+  ELS_SCRF_FAB = 1,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_SCRF_NPORT = 2,
- ELS_SCRF_FULL = 3,
- ELS_SCRF_CLEAR = 255,
+  ELS_SCRF_NPORT = 2,
+  ELS_SCRF_FULL = 3,
+  ELS_SCRF_CLEAR = 255,
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct fc_els_rscn {
- __u8 rscn_cmd;
- __u8 rscn_page_len;
- __be16 rscn_plen;
+  __u8 rscn_cmd;
+  __u8 rscn_page_len;
+  __be16 rscn_plen;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_els_rscn_page {
- __u8 rscn_page_flags;
- __u8 rscn_fid[3];
+  __u8 rscn_page_flags;
+  __u8 rscn_fid[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 #define ELS_RSCN_EV_QUAL_BIT 2
@@ -378,298 +379,298 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define ELS_RSCN_ADDR_FMT_MASK 0x3
 enum fc_els_rscn_ev_qual {
- ELS_EV_QUAL_NONE = 0,
- ELS_EV_QUAL_NS_OBJ = 1,
+  ELS_EV_QUAL_NONE = 0,
+  ELS_EV_QUAL_NS_OBJ = 1,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_EV_QUAL_PORT_ATTR = 2,
- ELS_EV_QUAL_SERV_OBJ = 3,
- ELS_EV_QUAL_SW_CONFIG = 4,
- ELS_EV_QUAL_REM_OBJ = 5,
+  ELS_EV_QUAL_PORT_ATTR = 2,
+  ELS_EV_QUAL_SERV_OBJ = 3,
+  ELS_EV_QUAL_SW_CONFIG = 4,
+  ELS_EV_QUAL_REM_OBJ = 5,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 enum fc_els_rscn_addr_fmt {
- ELS_ADDR_FMT_PORT = 0,
- ELS_ADDR_FMT_AREA = 1,
+  ELS_ADDR_FMT_PORT = 0,
+  ELS_ADDR_FMT_AREA = 1,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_ADDR_FMT_DOM = 2,
- ELS_ADDR_FMT_FAB = 3,
+  ELS_ADDR_FMT_DOM = 2,
+  ELS_ADDR_FMT_FAB = 3,
 };
 struct fc_els_rnid {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 rnid_cmd;
- __u8 rnid_resv[3];
- __u8 rnid_fmt;
- __u8 rnid_resv2[3];
+  __u8 rnid_cmd;
+  __u8 rnid_resv[3];
+  __u8 rnid_fmt;
+  __u8 rnid_resv2[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 enum fc_els_rnid_fmt {
- ELS_RNIDF_NONE = 0,
- ELS_RNIDF_GEN = 0xdf,
+  ELS_RNIDF_NONE = 0,
+  ELS_RNIDF_GEN = 0xdf,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_els_rnid_resp {
- __u8 rnid_cmd;
- __u8 rnid_resv[3];
+  __u8 rnid_cmd;
+  __u8 rnid_resv[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 rnid_fmt;
- __u8 rnid_cid_len;
- __u8 rnid_resv2;
- __u8 rnid_sid_len;
+  __u8 rnid_fmt;
+  __u8 rnid_cid_len;
+  __u8 rnid_resv2;
+  __u8 rnid_sid_len;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_els_rnid_cid {
- __be64 rnid_wwpn;
- __be64 rnid_wwnn;
+  __be64 rnid_wwpn;
+  __be64 rnid_wwnn;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_els_rnid_gen {
- __u8 rnid_vend_id[16];
- __be32 rnid_atype;
+  __u8 rnid_vend_id[16];
+  __be32 rnid_atype;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be32 rnid_phys_port;
- __be32 rnid_att_nodes;
- __u8 rnid_node_mgmt;
- __u8 rnid_ip_ver;
+  __be32 rnid_phys_port;
+  __be32 rnid_att_nodes;
+  __u8 rnid_node_mgmt;
+  __u8 rnid_ip_ver;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be16 rnid_prot_port;
- __be32 rnid_ip_addr[4];
- __u8 rnid_resvd[2];
- __be16 rnid_vend_spec;
+  __be16 rnid_prot_port;
+  __be32 rnid_ip_addr[4];
+  __u8 rnid_resvd[2];
+  __be16 rnid_vend_spec;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 enum fc_els_rnid_atype {
- ELS_RNIDA_UNK = 0x01,
- ELS_RNIDA_OTHER = 0x02,
+  ELS_RNIDA_UNK = 0x01,
+  ELS_RNIDA_OTHER = 0x02,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_RNIDA_HUB = 0x03,
- ELS_RNIDA_SWITCH = 0x04,
- ELS_RNIDA_GATEWAY = 0x05,
- ELS_RNIDA_CONV = 0x06,
+  ELS_RNIDA_HUB = 0x03,
+  ELS_RNIDA_SWITCH = 0x04,
+  ELS_RNIDA_GATEWAY = 0x05,
+  ELS_RNIDA_CONV = 0x06,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_RNIDA_HBA = 0x07,
- ELS_RNIDA_PROXY = 0x08,
- ELS_RNIDA_STORAGE = 0x09,
- ELS_RNIDA_HOST = 0x0a,
+  ELS_RNIDA_HBA = 0x07,
+  ELS_RNIDA_PROXY = 0x08,
+  ELS_RNIDA_STORAGE = 0x09,
+  ELS_RNIDA_HOST = 0x0a,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_RNIDA_SUBSYS = 0x0b,
- ELS_RNIDA_ACCESS = 0x0e,
- ELS_RNIDA_NAS = 0x11,
- ELS_RNIDA_BRIDGE = 0x12,
+  ELS_RNIDA_SUBSYS = 0x0b,
+  ELS_RNIDA_ACCESS = 0x0e,
+  ELS_RNIDA_NAS = 0x11,
+  ELS_RNIDA_BRIDGE = 0x12,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_RNIDA_VIRT = 0x13,
- ELS_RNIDA_MF = 0xff,
- ELS_RNIDA_MF_HUB = 1UL << 31,
- ELS_RNIDA_MF_SW = 1UL << 30,
+  ELS_RNIDA_VIRT = 0x13,
+  ELS_RNIDA_MF = 0xff,
+  ELS_RNIDA_MF_HUB = 1UL << 31,
+  ELS_RNIDA_MF_SW = 1UL << 30,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_RNIDA_MF_GW = 1UL << 29,
- ELS_RNIDA_MF_ST = 1UL << 28,
- ELS_RNIDA_MF_HOST = 1UL << 27,
- ELS_RNIDA_MF_SUB = 1UL << 26,
+  ELS_RNIDA_MF_GW = 1UL << 29,
+  ELS_RNIDA_MF_ST = 1UL << 28,
+  ELS_RNIDA_MF_HOST = 1UL << 27,
+  ELS_RNIDA_MF_SUB = 1UL << 26,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_RNIDA_MF_ACC = 1UL << 25,
- ELS_RNIDA_MF_WDM = 1UL << 24,
- ELS_RNIDA_MF_NAS = 1UL << 23,
- ELS_RNIDA_MF_BR = 1UL << 22,
+  ELS_RNIDA_MF_ACC = 1UL << 25,
+  ELS_RNIDA_MF_WDM = 1UL << 24,
+  ELS_RNIDA_MF_NAS = 1UL << 23,
+  ELS_RNIDA_MF_BR = 1UL << 22,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_RNIDA_MF_VIRT = 1UL << 21,
+  ELS_RNIDA_MF_VIRT = 1UL << 21,
 };
 enum fc_els_rnid_mgmt {
- ELS_RNIDM_SNMP = 0,
+  ELS_RNIDM_SNMP = 0,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_RNIDM_TELNET = 1,
- ELS_RNIDM_HTTP = 2,
- ELS_RNIDM_HTTPS = 3,
- ELS_RNIDM_XML = 4,
+  ELS_RNIDM_TELNET = 1,
+  ELS_RNIDM_HTTP = 2,
+  ELS_RNIDM_HTTPS = 3,
+  ELS_RNIDM_XML = 4,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 enum fc_els_rnid_ipver {
- ELS_RNIDIP_NONE = 0,
- ELS_RNIDIP_V4 = 1,
+  ELS_RNIDIP_NONE = 0,
+  ELS_RNIDIP_V4 = 1,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_RNIDIP_V6 = 2,
+  ELS_RNIDIP_V6 = 2,
 };
 struct fc_els_rpl {
- __u8 rpl_cmd;
+  __u8 rpl_cmd;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 rpl_resv[5];
- __be16 rpl_max_size;
- __u8 rpl_resv1;
- __u8 rpl_index[3];
+  __u8 rpl_resv[5];
+  __be16 rpl_max_size;
+  __u8 rpl_resv1;
+  __u8 rpl_index[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_els_pnb {
- __be32 pnb_phys_pn;
- __u8 pnb_resv;
+  __be32 pnb_phys_pn;
+  __u8 pnb_resv;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 pnb_port_id[3];
- __be64 pnb_wwpn;
+  __u8 pnb_port_id[3];
+  __be64 pnb_wwpn;
 };
 struct fc_els_rpl_resp {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 rpl_cmd;
- __u8 rpl_resv1;
- __be16 rpl_plen;
- __u8 rpl_resv2;
+  __u8 rpl_cmd;
+  __u8 rpl_resv1;
+  __be16 rpl_plen;
+  __u8 rpl_resv2;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 rpl_llen[3];
- __u8 rpl_resv3;
- __u8 rpl_index[3];
- struct fc_els_pnb rpl_pnb[1];
+  __u8 rpl_llen[3];
+  __u8 rpl_resv3;
+  __u8 rpl_index[3];
+  struct fc_els_pnb rpl_pnb[1];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_els_lesb {
- __be32 lesb_link_fail;
- __be32 lesb_sync_loss;
+  __be32 lesb_link_fail;
+  __be32 lesb_sync_loss;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be32 lesb_sig_loss;
- __be32 lesb_prim_err;
- __be32 lesb_inv_word;
- __be32 lesb_inv_crc;
+  __be32 lesb_sig_loss;
+  __be32 lesb_prim_err;
+  __be32 lesb_inv_word;
+  __be32 lesb_inv_crc;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_els_rps {
- __u8 rps_cmd;
- __u8 rps_resv[2];
+  __u8 rps_cmd;
+  __u8 rps_resv[2];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 rps_flag;
- __be64 rps_port_spec;
+  __u8 rps_flag;
+  __be64 rps_port_spec;
 };
 enum fc_els_rps_flag {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_ELS_RPS_DID = 0x00,
- FC_ELS_RPS_PPN = 0x01,
- FC_ELS_RPS_WWPN = 0x02,
+  FC_ELS_RPS_DID = 0x00,
+  FC_ELS_RPS_PPN = 0x01,
+  FC_ELS_RPS_WWPN = 0x02,
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct fc_els_rps_resp {
- __u8 rps_cmd;
- __u8 rps_resv[2];
- __u8 rps_flag;
+  __u8 rps_cmd;
+  __u8 rps_resv[2];
+  __u8 rps_flag;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 rps_resv2[2];
- __be16 rps_status;
- struct fc_els_lesb rps_lesb;
+  __u8 rps_resv2[2];
+  __be16 rps_status;
+  struct fc_els_lesb rps_lesb;
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 enum fc_els_rps_resp_flag {
- FC_ELS_RPS_LPEV = 0x01,
+  FC_ELS_RPS_LPEV = 0x01,
 };
 enum fc_els_rps_resp_status {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_ELS_RPS_PTP = 1 << 5,
- FC_ELS_RPS_LOOP = 1 << 4,
- FC_ELS_RPS_FAB = 1 << 3,
- FC_ELS_RPS_NO_SIG = 1 << 2,
+  FC_ELS_RPS_PTP = 1 << 5,
+  FC_ELS_RPS_LOOP = 1 << 4,
+  FC_ELS_RPS_FAB = 1 << 3,
+  FC_ELS_RPS_NO_SIG = 1 << 2,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_ELS_RPS_NO_SYNC = 1 << 1,
- FC_ELS_RPS_RESET = 1 << 0,
+  FC_ELS_RPS_NO_SYNC = 1 << 1,
+  FC_ELS_RPS_RESET = 1 << 0,
 };
 struct fc_els_lirr {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 lirr_cmd;
- __u8 lirr_resv[3];
- __u8 lirr_func;
- __u8 lirr_fmt;
+  __u8 lirr_cmd;
+  __u8 lirr_resv[3];
+  __u8 lirr_func;
+  __u8 lirr_fmt;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 lirr_resv2[2];
+  __u8 lirr_resv2[2];
 };
 enum fc_els_lirr_func {
- ELS_LIRR_SET_COND = 0x01,
+  ELS_LIRR_SET_COND = 0x01,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_LIRR_SET_UNCOND = 0x02,
- ELS_LIRR_CLEAR = 0xff
+  ELS_LIRR_SET_UNCOND = 0x02,
+  ELS_LIRR_CLEAR = 0xff
 };
 struct fc_els_srl {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 srl_cmd;
- __u8 srl_resv[3];
- __u8 srl_flag;
- __u8 srl_flag_param[3];
+  __u8 srl_cmd;
+  __u8 srl_resv[3];
+  __u8 srl_flag;
+  __u8 srl_flag_param[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 enum fc_els_srl_flag {
- FC_ELS_SRL_ALL = 0x00,
- FC_ELS_SRL_ONE = 0x01,
+  FC_ELS_SRL_ALL = 0x00,
+  FC_ELS_SRL_ONE = 0x01,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_ELS_SRL_EN_PER = 0x02,
- FC_ELS_SRL_DIS_PER = 0x03,
+  FC_ELS_SRL_EN_PER = 0x02,
+  FC_ELS_SRL_DIS_PER = 0x03,
 };
 struct fc_els_rls {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 rls_cmd;
- __u8 rls_resv[4];
- __u8 rls_port_id[3];
+  __u8 rls_cmd;
+  __u8 rls_resv[4];
+  __u8 rls_port_id[3];
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct fc_els_rls_resp {
- __u8 rls_cmd;
- __u8 rls_resv[3];
- struct fc_els_lesb rls_lesb;
+  __u8 rls_cmd;
+  __u8 rls_resv[3];
+  struct fc_els_lesb rls_lesb;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_els_rlir {
- __u8 rlir_cmd;
- __u8 rlir_resv[3];
+  __u8 rlir_cmd;
+  __u8 rlir_resv[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 rlir_fmt;
- __u8 rlir_clr_len;
- __u8 rlir_cld_len;
- __u8 rlir_slr_len;
+  __u8 rlir_fmt;
+  __u8 rlir_clr_len;
+  __u8 rlir_cld_len;
+  __u8 rlir_slr_len;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_els_clir {
- __be64 clir_wwpn;
- __be64 clir_wwnn;
+  __be64 clir_wwpn;
+  __be64 clir_wwnn;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 clir_port_type;
- __u8 clir_port_id[3];
- __be64 clir_conn_wwpn;
- __be64 clir_conn_wwnn;
+  __u8 clir_port_type;
+  __u8 clir_port_id[3];
+  __be64 clir_conn_wwpn;
+  __be64 clir_conn_wwnn;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be64 clir_fab_name;
- __be32 clir_phys_port;
- __be32 clir_trans_id;
- __u8 clir_resv[3];
+  __be64 clir_fab_name;
+  __be32 clir_phys_port;
+  __be32 clir_trans_id;
+  __u8 clir_resv[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 clir_ts_fmt;
- __be64 clir_timestamp;
+  __u8 clir_ts_fmt;
+  __be64 clir_timestamp;
 };
 enum fc_els_clir_ts_fmt {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_CLIR_TS_UNKNOWN = 0,
- ELS_CLIR_TS_SEC_FRAC = 1,
- ELS_CLIR_TS_CSU = 2,
+  ELS_CLIR_TS_UNKNOWN = 0,
+  ELS_CLIR_TS_SEC_FRAC = 1,
+  ELS_CLIR_TS_CSU = 2,
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct fc_els_clid {
- __u8 clid_iq;
- __u8 clid_ic;
- __be16 clid_epai;
+  __u8 clid_iq;
+  __u8 clid_ic;
+  __be16 clid_epai;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 enum fc_els_clid_iq {
- ELS_CLID_SWITCH = 0x20,
- ELS_CLID_E_PORT = 0x10,
+  ELS_CLID_SWITCH = 0x20,
+  ELS_CLID_E_PORT = 0x10,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_CLID_SEV_MASK = 0x0c,
- ELS_CLID_SEV_INFO = 0x00,
- ELS_CLID_SEV_INOP = 0x08,
- ELS_CLID_SEV_DEG = 0x04,
+  ELS_CLID_SEV_MASK = 0x0c,
+  ELS_CLID_SEV_INFO = 0x00,
+  ELS_CLID_SEV_INOP = 0x08,
+  ELS_CLID_SEV_DEG = 0x04,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_CLID_LASER = 0x02,
- ELS_CLID_FRU = 0x01,
+  ELS_CLID_LASER = 0x02,
+  ELS_CLID_FRU = 0x01,
 };
 enum fc_els_clid_ic {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_CLID_IC_IMPL = 1,
- ELS_CLID_IC_BER = 2,
- ELS_CLID_IC_LOS = 3,
- ELS_CLID_IC_NOS = 4,
+  ELS_CLID_IC_IMPL = 1,
+  ELS_CLID_IC_BER = 2,
+  ELS_CLID_IC_LOS = 3,
+  ELS_CLID_IC_NOS = 4,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- ELS_CLID_IC_PST = 5,
- ELS_CLID_IC_INVAL = 6,
- ELS_CLID_IC_LOOP_TO = 7,
- ELS_CLID_IC_LIP = 8,
+  ELS_CLID_IC_PST = 5,
+  ELS_CLID_IC_INVAL = 6,
+  ELS_CLID_IC_LOOP_TO = 7,
+  ELS_CLID_IC_LIP = 8,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 #endif
diff --git a/libc/kernel/uapi/scsi/fc/fc_fs.h b/libc/kernel/uapi/scsi/fc/fc_fs.h
index 62b7f4a..bdc617e 100644
--- a/libc/kernel/uapi/scsi/fc/fc_fs.h
+++ b/libc/kernel/uapi/scsi/fc/fc_fs.h
@@ -21,20 +21,20 @@
 #include <linux/types.h>
 struct fc_frame_header {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 fh_r_ctl;
- __u8 fh_d_id[3];
- __u8 fh_cs_ctl;
- __u8 fh_s_id[3];
+  __u8 fh_r_ctl;
+  __u8 fh_d_id[3];
+  __u8 fh_cs_ctl;
+  __u8 fh_s_id[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 fh_type;
- __u8 fh_f_ctl[3];
- __u8 fh_seq_id;
- __u8 fh_df_ctl;
+  __u8 fh_type;
+  __u8 fh_f_ctl[3];
+  __u8 fh_seq_id;
+  __u8 fh_df_ctl;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be16 fh_seq_cnt;
- __be16 fh_ox_id;
- __be16 fh_rx_id;
- __be32 fh_parm_offset;
+  __be16 fh_seq_cnt;
+  __be16 fh_ox_id;
+  __be16 fh_rx_id;
+  __be32 fh_parm_offset;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 #define FC_FRAME_HEADER_LEN 24
@@ -44,65 +44,66 @@
 #define FC_MAX_FRAME (FC_MAX_PAYLOAD + FC_FRAME_HEADER_LEN)
 #define FC_MIN_MAX_FRAME (FC_MIN_MAX_PAYLOAD + FC_FRAME_HEADER_LEN)
 enum fc_rctl {
- FC_RCTL_DD_UNCAT = 0x00,
+  FC_RCTL_DD_UNCAT = 0x00,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_RCTL_DD_SOL_DATA = 0x01,
- FC_RCTL_DD_UNSOL_CTL = 0x02,
- FC_RCTL_DD_SOL_CTL = 0x03,
- FC_RCTL_DD_UNSOL_DATA = 0x04,
+  FC_RCTL_DD_SOL_DATA = 0x01,
+  FC_RCTL_DD_UNSOL_CTL = 0x02,
+  FC_RCTL_DD_SOL_CTL = 0x03,
+  FC_RCTL_DD_UNSOL_DATA = 0x04,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_RCTL_DD_DATA_DESC = 0x05,
- FC_RCTL_DD_UNSOL_CMD = 0x06,
- FC_RCTL_DD_CMD_STATUS = 0x07,
+  FC_RCTL_DD_DATA_DESC = 0x05,
+  FC_RCTL_DD_UNSOL_CMD = 0x06,
+  FC_RCTL_DD_CMD_STATUS = 0x07,
 #define FC_RCTL_ILS_REQ FC_RCTL_DD_UNSOL_CTL
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define FC_RCTL_ILS_REP FC_RCTL_DD_SOL_CTL
- FC_RCTL_ELS_REQ = 0x22,
- FC_RCTL_ELS_REP = 0x23,
- FC_RCTL_ELS4_REQ = 0x32,
+  FC_RCTL_ELS_REQ = 0x22,
+  FC_RCTL_ELS_REP = 0x23,
+  FC_RCTL_ELS4_REQ = 0x32,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_RCTL_ELS4_REP = 0x33,
- FC_RCTL_VFTH = 0x50,
- FC_RCTL_IFRH = 0x51,
- FC_RCTL_ENCH = 0x52,
+  FC_RCTL_ELS4_REP = 0x33,
+  FC_RCTL_VFTH = 0x50,
+  FC_RCTL_IFRH = 0x51,
+  FC_RCTL_ENCH = 0x52,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_RCTL_BA_NOP = 0x80,
- FC_RCTL_BA_ABTS = 0x81,
- FC_RCTL_BA_RMC = 0x82,
- FC_RCTL_BA_ACC = 0x84,
+  FC_RCTL_BA_NOP = 0x80,
+  FC_RCTL_BA_ABTS = 0x81,
+  FC_RCTL_BA_RMC = 0x82,
+  FC_RCTL_BA_ACC = 0x84,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_RCTL_BA_RJT = 0x85,
- FC_RCTL_BA_PRMT = 0x86,
- FC_RCTL_ACK_1 = 0xc0,
- FC_RCTL_ACK_0 = 0xc1,
+  FC_RCTL_BA_RJT = 0x85,
+  FC_RCTL_BA_PRMT = 0x86,
+  FC_RCTL_ACK_1 = 0xc0,
+  FC_RCTL_ACK_0 = 0xc1,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_RCTL_P_RJT = 0xc2,
- FC_RCTL_F_RJT = 0xc3,
- FC_RCTL_P_BSY = 0xc4,
- FC_RCTL_F_BSY = 0xc5,
+  FC_RCTL_P_RJT = 0xc2,
+  FC_RCTL_F_RJT = 0xc3,
+  FC_RCTL_P_BSY = 0xc4,
+  FC_RCTL_F_BSY = 0xc5,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_RCTL_F_BSYL = 0xc6,
- FC_RCTL_LCR = 0xc7,
- FC_RCTL_END = 0xc9,
+  FC_RCTL_F_BSYL = 0xc6,
+  FC_RCTL_LCR = 0xc7,
+  FC_RCTL_END = 0xc9,
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define FC_RCTL_NAMES_INIT {   [FC_RCTL_DD_UNCAT] = "uncat",   [FC_RCTL_DD_SOL_DATA] = "sol data",   [FC_RCTL_DD_UNSOL_CTL] = "unsol ctl",   [FC_RCTL_DD_SOL_CTL] = "sol ctl/reply",   [FC_RCTL_DD_UNSOL_DATA] = "unsol data",   [FC_RCTL_DD_DATA_DESC] = "data desc",   [FC_RCTL_DD_UNSOL_CMD] = "unsol cmd",   [FC_RCTL_DD_CMD_STATUS] = "cmd status",   [FC_RCTL_ELS_REQ] = "ELS req",   [FC_RCTL_ELS_REP] = "ELS rep",   [FC_RCTL_ELS4_REQ] = "FC-4 ELS req",   [FC_RCTL_ELS4_REP] = "FC-4 ELS rep",   [FC_RCTL_BA_NOP] = "BLS NOP",   [FC_RCTL_BA_ABTS] = "BLS abort",   [FC_RCTL_BA_RMC] = "BLS remove connection",   [FC_RCTL_BA_ACC] = "BLS accept",   [FC_RCTL_BA_RJT] = "BLS reject",   [FC_RCTL_BA_PRMT] = "BLS dedicated connection preempted",   [FC_RCTL_ACK_1] = "LC ACK_1",   [FC_RCTL_ACK_0] = "LC ACK_0",   [FC_RCTL_P_RJT] = "LC port reject",   [FC_RCTL_F_RJT] = "LC fabric reject",   [FC_RCTL_P_BSY] = "LC port busy",   [FC_RCTL_F_BSY] = "LC fabric busy to data frame",   [FC_RCTL_F_BSYL] = "LC fabric busy to link control frame",  [FC_RCTL_LCR] = "LC link credit reset",   [FC_RCTL_END] = "LC end",  }
+#define FC_RCTL_NAMES_INIT {[FC_RCTL_DD_UNCAT] = "uncat",[FC_RCTL_DD_SOL_DATA] = "sol data",[FC_RCTL_DD_UNSOL_CTL] = "unsol ctl",[FC_RCTL_DD_SOL_CTL] = "sol ctl/reply",[FC_RCTL_DD_UNSOL_DATA] = "unsol data",[FC_RCTL_DD_DATA_DESC] = "data desc",[FC_RCTL_DD_UNSOL_CMD] = "unsol cmd",[FC_RCTL_DD_CMD_STATUS] = "cmd status",[FC_RCTL_ELS_REQ] = "ELS req",[FC_RCTL_ELS_REP] = "ELS rep",[FC_RCTL_ELS4_REQ] = "FC-4 ELS req",[FC_RCTL_ELS4_REP] = "FC-4 ELS rep",[FC_RCTL_BA_NOP] = "BLS NOP",[FC_RCTL_BA_ABTS] = "BLS abort",[FC_RCTL_BA_RMC] = "BLS remove connection",[FC_RCTL_BA_ACC] = "BLS accept",[FC_RCTL_BA_RJT] = "BLS reject",[FC_RCTL_BA_PRMT] = "BLS dedicated connection preempted",[FC_RCTL_ACK_1] = "LC ACK_1",[FC_RCTL_ACK_0] = "LC ACK_0",[FC_RCTL_P_RJT] = "LC port reject",[FC_RCTL_F_RJT] = "LC fabric reject",[FC_RCTL_P_BSY] = "LC port busy",[FC_RCTL_F_BSY] = "LC fabric busy to data frame",[FC_RCTL_F_BSYL] = "LC fabric busy to link control frame",[FC_RCTL_LCR] = "LC link credit reset",[FC_RCTL_END] = "LC end", \
+}
 enum fc_well_known_fid {
- FC_FID_NONE = 0x000000,
- FC_FID_BCAST = 0xffffff,
+  FC_FID_NONE = 0x000000,
+  FC_FID_BCAST = 0xffffff,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_FID_FLOGI = 0xfffffe,
- FC_FID_FCTRL = 0xfffffd,
- FC_FID_DIR_SERV = 0xfffffc,
- FC_FID_TIME_SERV = 0xfffffb,
+  FC_FID_FLOGI = 0xfffffe,
+  FC_FID_FCTRL = 0xfffffd,
+  FC_FID_DIR_SERV = 0xfffffc,
+  FC_FID_TIME_SERV = 0xfffffb,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_FID_MGMT_SERV = 0xfffffa,
- FC_FID_QOS = 0xfffff9,
- FC_FID_ALIASES = 0xfffff8,
- FC_FID_SEC_KEY = 0xfffff7,
+  FC_FID_MGMT_SERV = 0xfffffa,
+  FC_FID_QOS = 0xfffff9,
+  FC_FID_ALIASES = 0xfffff8,
+  FC_FID_SEC_KEY = 0xfffff7,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_FID_CLOCK = 0xfffff6,
- FC_FID_MCAST_SERV = 0xfffff5,
+  FC_FID_CLOCK = 0xfffff6,
+  FC_FID_MCAST_SERV = 0xfffff5,
 };
 #define FC_FID_WELL_KNOWN_MAX 0xffffff
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
@@ -113,16 +114,17 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define FC_FID_LINK 2
 enum fc_fh_type {
- FC_TYPE_BLS = 0x00,
- FC_TYPE_ELS = 0x01,
+  FC_TYPE_BLS = 0x00,
+  FC_TYPE_ELS = 0x01,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_TYPE_IP = 0x05,
- FC_TYPE_FCP = 0x08,
- FC_TYPE_CT = 0x20,
- FC_TYPE_ILS = 0x22,
+  FC_TYPE_IP = 0x05,
+  FC_TYPE_FCP = 0x08,
+  FC_TYPE_CT = 0x20,
+  FC_TYPE_ILS = 0x22,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
-#define FC_TYPE_NAMES_INIT {   [FC_TYPE_BLS] = "BLS",   [FC_TYPE_ELS] = "ELS",   [FC_TYPE_IP] = "IP",   [FC_TYPE_FCP] = "FCP",   [FC_TYPE_CT] = "CT",   [FC_TYPE_ILS] = "ILS",  }
+#define FC_TYPE_NAMES_INIT {[FC_TYPE_BLS] = "BLS",[FC_TYPE_ELS] = "ELS",[FC_TYPE_IP] = "IP",[FC_TYPE_FCP] = "FCP",[FC_TYPE_CT] = "CT",[FC_TYPE_ILS] = "ILS", \
+}
 #define FC_XID_UNKNOWN 0xffff
 #define FC_XID_MIN 0x0
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
@@ -156,97 +158,97 @@
 #define FC_FC_FILL(i) ((i) & 3)
 struct fc_ba_acc {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 ba_seq_id_val;
+  __u8 ba_seq_id_val;
 #define FC_BA_SEQ_ID_VAL 0x80
- __u8 ba_seq_id;
- __u8 ba_resvd[2];
+  __u8 ba_seq_id;
+  __u8 ba_resvd[2];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be16 ba_ox_id;
- __be16 ba_rx_id;
- __be16 ba_low_seq_cnt;
- __be16 ba_high_seq_cnt;
+  __be16 ba_ox_id;
+  __be16 ba_rx_id;
+  __be16 ba_low_seq_cnt;
+  __be16 ba_high_seq_cnt;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_ba_rjt {
- __u8 br_resvd;
- __u8 br_reason;
+  __u8 br_resvd;
+  __u8 br_reason;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 br_explan;
- __u8 br_vendor;
+  __u8 br_explan;
+  __u8 br_vendor;
 };
 enum fc_ba_rjt_reason {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_BA_RJT_NONE = 0,
- FC_BA_RJT_INVL_CMD = 0x01,
- FC_BA_RJT_LOG_ERR = 0x03,
- FC_BA_RJT_LOG_BUSY = 0x05,
+  FC_BA_RJT_NONE = 0,
+  FC_BA_RJT_INVL_CMD = 0x01,
+  FC_BA_RJT_LOG_ERR = 0x03,
+  FC_BA_RJT_LOG_BUSY = 0x05,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_BA_RJT_PROTO_ERR = 0x07,
- FC_BA_RJT_UNABLE = 0x09,
- FC_BA_RJT_VENDOR = 0xff,
+  FC_BA_RJT_PROTO_ERR = 0x07,
+  FC_BA_RJT_UNABLE = 0x09,
+  FC_BA_RJT_VENDOR = 0xff,
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 enum fc_ba_rjt_explan {
- FC_BA_RJT_EXP_NONE = 0x00,
- FC_BA_RJT_INV_XID = 0x03,
- FC_BA_RJT_ABT = 0x05,
+  FC_BA_RJT_EXP_NONE = 0x00,
+  FC_BA_RJT_INV_XID = 0x03,
+  FC_BA_RJT_ABT = 0x05,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_pf_rjt {
- __u8 rj_action;
- __u8 rj_reason;
+  __u8 rj_action;
+  __u8 rj_reason;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 rj_resvd;
- __u8 rj_vendor;
+  __u8 rj_resvd;
+  __u8 rj_vendor;
 };
 enum fc_pf_rjt_reason {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_RJT_NONE = 0,
- FC_RJT_INVL_DID = 0x01,
- FC_RJT_INVL_SID = 0x02,
- FC_RJT_P_UNAV_T = 0x03,
+  FC_RJT_NONE = 0,
+  FC_RJT_INVL_DID = 0x01,
+  FC_RJT_INVL_SID = 0x02,
+  FC_RJT_P_UNAV_T = 0x03,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_RJT_P_UNAV = 0x04,
- FC_RJT_CLS_UNSUP = 0x05,
- FC_RJT_DEL_USAGE = 0x06,
- FC_RJT_TYPE_UNSUP = 0x07,
+  FC_RJT_P_UNAV = 0x04,
+  FC_RJT_CLS_UNSUP = 0x05,
+  FC_RJT_DEL_USAGE = 0x06,
+  FC_RJT_TYPE_UNSUP = 0x07,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_RJT_LINK_CTL = 0x08,
- FC_RJT_R_CTL = 0x09,
- FC_RJT_F_CTL = 0x0a,
- FC_RJT_OX_ID = 0x0b,
+  FC_RJT_LINK_CTL = 0x08,
+  FC_RJT_R_CTL = 0x09,
+  FC_RJT_F_CTL = 0x0a,
+  FC_RJT_OX_ID = 0x0b,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_RJT_RX_ID = 0x0c,
- FC_RJT_SEQ_ID = 0x0d,
- FC_RJT_DF_CTL = 0x0e,
- FC_RJT_SEQ_CNT = 0x0f,
+  FC_RJT_RX_ID = 0x0c,
+  FC_RJT_SEQ_ID = 0x0d,
+  FC_RJT_DF_CTL = 0x0e,
+  FC_RJT_SEQ_CNT = 0x0f,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_RJT_PARAM = 0x10,
- FC_RJT_EXCH_ERR = 0x11,
- FC_RJT_PROTO = 0x12,
- FC_RJT_LEN = 0x13,
+  FC_RJT_PARAM = 0x10,
+  FC_RJT_EXCH_ERR = 0x11,
+  FC_RJT_PROTO = 0x12,
+  FC_RJT_LEN = 0x13,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_RJT_UNEXP_ACK = 0x14,
- FC_RJT_FAB_CLASS = 0x15,
- FC_RJT_LOGI_REQ = 0x16,
- FC_RJT_SEQ_XS = 0x17,
+  FC_RJT_UNEXP_ACK = 0x14,
+  FC_RJT_FAB_CLASS = 0x15,
+  FC_RJT_LOGI_REQ = 0x16,
+  FC_RJT_SEQ_XS = 0x17,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_RJT_EXCH_EST = 0x18,
- FC_RJT_FAB_UNAV = 0x1a,
- FC_RJT_VC_ID = 0x1b,
- FC_RJT_CS_CTL = 0x1c,
+  FC_RJT_EXCH_EST = 0x18,
+  FC_RJT_FAB_UNAV = 0x1a,
+  FC_RJT_VC_ID = 0x1b,
+  FC_RJT_CS_CTL = 0x1c,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_RJT_INSUF_RES = 0x1d,
- FC_RJT_INVL_CLS = 0x1f,
- FC_RJT_PREEMT_RJT = 0x20,
- FC_RJT_PREEMT_DIS = 0x21,
+  FC_RJT_INSUF_RES = 0x1d,
+  FC_RJT_INVL_CLS = 0x1f,
+  FC_RJT_PREEMT_RJT = 0x20,
+  FC_RJT_PREEMT_DIS = 0x21,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_RJT_MCAST_ERR = 0x22,
- FC_RJT_MCAST_ET = 0x23,
- FC_RJT_PRLI_REQ = 0x24,
- FC_RJT_INVL_ATT = 0x25,
+  FC_RJT_MCAST_ERR = 0x22,
+  FC_RJT_MCAST_ET = 0x23,
+  FC_RJT_PRLI_REQ = 0x24,
+  FC_RJT_INVL_ATT = 0x25,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_RJT_VENDOR = 0xff,
+  FC_RJT_VENDOR = 0xff,
 };
 #define FC_DEF_E_D_TOV 2000UL
 #define FC_DEF_R_A_TOV 10000UL
diff --git a/libc/kernel/uapi/scsi/fc/fc_gs.h b/libc/kernel/uapi/scsi/fc/fc_gs.h
index b41fc56..05b6c52 100644
--- a/libc/kernel/uapi/scsi/fc/fc_gs.h
+++ b/libc/kernel/uapi/scsi/fc/fc_gs.h
@@ -21,60 +21,60 @@
 #include <linux/types.h>
 struct fc_ct_hdr {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 ct_rev;
- __u8 ct_in_id[3];
- __u8 ct_fs_type;
- __u8 ct_fs_subtype;
+  __u8 ct_rev;
+  __u8 ct_in_id[3];
+  __u8 ct_fs_type;
+  __u8 ct_fs_subtype;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 ct_options;
- __u8 _ct_resvd1;
- __be16 ct_cmd;
- __be16 ct_mr_size;
+  __u8 ct_options;
+  __u8 _ct_resvd1;
+  __be16 ct_cmd;
+  __be16 ct_mr_size;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 _ct_resvd2;
- __u8 ct_reason;
- __u8 ct_explan;
- __u8 ct_vendor;
+  __u8 _ct_resvd2;
+  __u8 ct_reason;
+  __u8 ct_explan;
+  __u8 ct_vendor;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 #define FC_CT_HDR_LEN 16
 enum fc_ct_rev {
- FC_CT_REV = 1
+  FC_CT_REV = 1
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 enum fc_ct_fs_type {
- FC_FST_ALIAS = 0xf8,
- FC_FST_MGMT = 0xfa,
+  FC_FST_ALIAS = 0xf8,
+  FC_FST_MGMT = 0xfa,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_FST_TIME = 0xfb,
- FC_FST_DIR = 0xfc,
+  FC_FST_TIME = 0xfb,
+  FC_FST_DIR = 0xfc,
 };
 enum fc_ct_cmd {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_FS_RJT = 0x8001,
- FC_FS_ACC = 0x8002,
+  FC_FS_RJT = 0x8001,
+  FC_FS_ACC = 0x8002,
 };
 enum fc_ct_reason {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_FS_RJT_CMD = 0x01,
- FC_FS_RJT_VER = 0x02,
- FC_FS_RJT_LOG = 0x03,
- FC_FS_RJT_IUSIZ = 0x04,
+  FC_FS_RJT_CMD = 0x01,
+  FC_FS_RJT_VER = 0x02,
+  FC_FS_RJT_LOG = 0x03,
+  FC_FS_RJT_IUSIZ = 0x04,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_FS_RJT_BSY = 0x05,
- FC_FS_RJT_PROTO = 0x07,
- FC_FS_RJT_UNABL = 0x09,
- FC_FS_RJT_UNSUP = 0x0b,
+  FC_FS_RJT_BSY = 0x05,
+  FC_FS_RJT_PROTO = 0x07,
+  FC_FS_RJT_UNABL = 0x09,
+  FC_FS_RJT_UNSUP = 0x0b,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 enum fc_ct_explan {
- FC_FS_EXP_NONE = 0x00,
- FC_FS_EXP_PID = 0x01,
+  FC_FS_EXP_NONE = 0x00,
+  FC_FS_EXP_PID = 0x01,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_FS_EXP_PNAM = 0x02,
- FC_FS_EXP_NNAM = 0x03,
- FC_FS_EXP_COS = 0x04,
- FC_FS_EXP_FTNR = 0x07,
+  FC_FS_EXP_PNAM = 0x02,
+  FC_FS_EXP_NNAM = 0x03,
+  FC_FS_EXP_COS = 0x04,
+  FC_FS_EXP_FTNR = 0x07,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 #endif
diff --git a/libc/kernel/uapi/scsi/fc/fc_ns.h b/libc/kernel/uapi/scsi/fc/fc_ns.h
index 627cd46..cd028f3 100644
--- a/libc/kernel/uapi/scsi/fc/fc_ns.h
+++ b/libc/kernel/uapi/scsi/fc/fc_ns.h
@@ -22,48 +22,48 @@
 #define FC_NS_SUBTYPE 2
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 enum fc_ns_req {
- FC_NS_GA_NXT = 0x0100,
- FC_NS_GI_A = 0x0101,
- FC_NS_GPN_ID = 0x0112,
+  FC_NS_GA_NXT = 0x0100,
+  FC_NS_GI_A = 0x0101,
+  FC_NS_GPN_ID = 0x0112,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_NS_GNN_ID = 0x0113,
- FC_NS_GSPN_ID = 0x0118,
- FC_NS_GID_PN = 0x0121,
- FC_NS_GID_NN = 0x0131,
+  FC_NS_GNN_ID = 0x0113,
+  FC_NS_GSPN_ID = 0x0118,
+  FC_NS_GID_PN = 0x0121,
+  FC_NS_GID_NN = 0x0131,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_NS_GID_FT = 0x0171,
- FC_NS_GPN_FT = 0x0172,
- FC_NS_GID_PT = 0x01a1,
- FC_NS_RPN_ID = 0x0212,
+  FC_NS_GID_FT = 0x0171,
+  FC_NS_GPN_FT = 0x0172,
+  FC_NS_GID_PT = 0x01a1,
+  FC_NS_RPN_ID = 0x0212,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_NS_RNN_ID = 0x0213,
- FC_NS_RFT_ID = 0x0217,
- FC_NS_RSPN_ID = 0x0218,
- FC_NS_RFF_ID = 0x021f,
+  FC_NS_RNN_ID = 0x0213,
+  FC_NS_RFT_ID = 0x0217,
+  FC_NS_RSPN_ID = 0x0218,
+  FC_NS_RFF_ID = 0x021f,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_NS_RSNN_NN = 0x0239,
+  FC_NS_RSNN_NN = 0x0239,
 };
 enum fc_ns_pt {
- FC_NS_UNID_PORT = 0x00,
+  FC_NS_UNID_PORT = 0x00,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_NS_N_PORT = 0x01,
- FC_NS_NL_PORT = 0x02,
- FC_NS_FNL_PORT = 0x03,
- FC_NS_NX_PORT = 0x7f,
+  FC_NS_N_PORT = 0x01,
+  FC_NS_NL_PORT = 0x02,
+  FC_NS_FNL_PORT = 0x03,
+  FC_NS_NX_PORT = 0x7f,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- FC_NS_F_PORT = 0x81,
- FC_NS_FL_PORT = 0x82,
- FC_NS_E_PORT = 0x84,
- FC_NS_B_PORT = 0x85,
+  FC_NS_F_PORT = 0x81,
+  FC_NS_FL_PORT = 0x82,
+  FC_NS_E_PORT = 0x84,
+  FC_NS_B_PORT = 0x85,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_ns_pt_obj {
- __u8 pt_type;
+  __u8 pt_type;
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct fc_ns_fid {
- __u8 fp_flags;
- __u8 fp_fid[3];
+  __u8 fp_flags;
+  __u8 fp_fid[3];
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define FC_NS_FID_LAST 0x80
@@ -71,76 +71,76 @@
 #define FC_NS_BPW 32
 struct fc_ns_fts {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be32 ff_type_map[FC_NS_TYPES / FC_NS_BPW];
+  __be32 ff_type_map[FC_NS_TYPES / FC_NS_BPW];
 };
 struct fc_ns_ff {
- __be32 fd_feat[FC_NS_TYPES * 4 / FC_NS_BPW];
+  __be32 fd_feat[FC_NS_TYPES * 4 / FC_NS_BPW];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_ns_gid_pt {
- __u8 fn_pt_type;
- __u8 fn_domain_id_scope;
+  __u8 fn_pt_type;
+  __u8 fn_domain_id_scope;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 fn_area_id_scope;
- __u8 fn_resvd;
+  __u8 fn_area_id_scope;
+  __u8 fn_resvd;
 };
 struct fc_ns_gid_ft {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 fn_resvd;
- __u8 fn_domain_id_scope;
- __u8 fn_area_id_scope;
- __u8 fn_fc4_type;
+  __u8 fn_resvd;
+  __u8 fn_domain_id_scope;
+  __u8 fn_area_id_scope;
+  __u8 fn_fc4_type;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_gpn_ft_resp {
- __u8 fp_flags;
- __u8 fp_fid[3];
+  __u8 fp_flags;
+  __u8 fp_fid[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be32 fp_resvd;
- __be64 fp_wwpn;
+  __be32 fp_resvd;
+  __be64 fp_wwpn;
 };
 struct fc_ns_gid_pn {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be64 fn_wwpn;
+  __be64 fn_wwpn;
 };
 struct fc_gid_pn_resp {
- __u8 fp_resvd;
+  __u8 fp_resvd;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 fp_fid[3];
+  __u8 fp_fid[3];
 };
 struct fc_gspn_resp {
- __u8 fp_name_len;
+  __u8 fp_name_len;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- char fp_name[];
+  char fp_name[];
 };
 struct fc_ns_rft_id {
- struct fc_ns_fid fr_fid;
+  struct fc_ns_fid fr_fid;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- struct fc_ns_fts fr_fts;
+  struct fc_ns_fts fr_fts;
 };
 struct fc_ns_rn_id {
- struct fc_ns_fid fr_fid;
+  struct fc_ns_fid fr_fid;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __be64 fr_wwn;
+  __be64 fr_wwn;
 } __attribute__((__packed__));
 struct fc_ns_rsnn {
- __be64 fr_wwn;
+  __be64 fr_wwn;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 fr_name_len;
- char fr_name[];
+  __u8 fr_name_len;
+  char fr_name[];
 } __attribute__((__packed__));
 struct fc_ns_rspn {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- struct fc_ns_fid fr_fid;
- __u8 fr_name_len;
- char fr_name[];
+  struct fc_ns_fid fr_fid;
+  __u8 fr_name_len;
+  char fr_name[];
 } __attribute__((__packed__));
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct fc_ns_rff_id {
- struct fc_ns_fid fr_fid;
- __u8 fr_resvd[2];
- __u8 fr_feat;
+  struct fc_ns_fid fr_fid;
+  __u8 fr_resvd[2];
+  __u8 fr_feat;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 fr_type;
+  __u8 fr_type;
 } __attribute__((__packed__));
 #endif
diff --git a/libc/kernel/uapi/scsi/scsi_bsg_fc.h b/libc/kernel/uapi/scsi/scsi_bsg_fc.h
index acd9874..8e98fe6 100644
--- a/libc/kernel/uapi/scsi/scsi_bsg_fc.h
+++ b/libc/kernel/uapi/scsi/scsi_bsg_fc.h
@@ -33,18 +33,18 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define FC_BSG_RPT_CT (FC_BSG_RPT_MASK | 0x00000002)
 struct fc_bsg_host_add_rport {
- uint8_t reserved;
- uint8_t port_id[3];
+  uint8_t reserved;
+  uint8_t port_id[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_bsg_host_del_rport {
- uint8_t reserved;
- uint8_t port_id[3];
+  uint8_t reserved;
+  uint8_t port_id[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_bsg_host_els {
- uint8_t command_code;
- uint8_t port_id[3];
+  uint8_t command_code;
+  uint8_t port_id[3];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 #define FC_CTELS_STATUS_OK 0x00000000
@@ -56,66 +56,66 @@
 #define FC_CTELS_STATUS_F_BSY 0x00000006
 struct fc_bsg_ctels_reply {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint32_t status;
- struct {
- uint8_t action;
- uint8_t reason_code;
+  uint32_t status;
+  struct {
+    uint8_t action;
+    uint8_t reason_code;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint8_t reason_explanation;
- uint8_t vendor_unique;
- } rjt_data;
+    uint8_t reason_explanation;
+    uint8_t vendor_unique;
+  } rjt_data;
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct fc_bsg_host_ct {
- uint8_t reserved;
- uint8_t port_id[3];
- uint32_t preamble_word0;
+  uint8_t reserved;
+  uint8_t port_id[3];
+  uint32_t preamble_word0;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint32_t preamble_word1;
- uint32_t preamble_word2;
+  uint32_t preamble_word1;
+  uint32_t preamble_word2;
 };
 struct fc_bsg_host_vendor {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint64_t vendor_id;
- uint32_t vendor_cmd[0];
+  uint64_t vendor_id;
+  uint32_t vendor_cmd[0];
 };
 struct fc_bsg_host_vendor_reply {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint32_t vendor_rsp[0];
+  uint32_t vendor_rsp[0];
 };
 struct fc_bsg_rport_els {
- uint8_t els_code;
+  uint8_t els_code;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct fc_bsg_rport_ct {
- uint32_t preamble_word0;
- uint32_t preamble_word1;
+  uint32_t preamble_word0;
+  uint32_t preamble_word1;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint32_t preamble_word2;
+  uint32_t preamble_word2;
 };
 struct fc_bsg_request {
- uint32_t msgcode;
+  uint32_t msgcode;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- union {
- struct fc_bsg_host_add_rport h_addrport;
- struct fc_bsg_host_del_rport h_delrport;
- struct fc_bsg_host_els h_els;
+  union {
+    struct fc_bsg_host_add_rport h_addrport;
+    struct fc_bsg_host_del_rport h_delrport;
+    struct fc_bsg_host_els h_els;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- struct fc_bsg_host_ct h_ct;
- struct fc_bsg_host_vendor h_vendor;
- struct fc_bsg_rport_els r_els;
- struct fc_bsg_rport_ct r_ct;
+    struct fc_bsg_host_ct h_ct;
+    struct fc_bsg_host_vendor h_vendor;
+    struct fc_bsg_rport_els r_els;
+    struct fc_bsg_rport_ct r_ct;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- } rqst_data;
+  } rqst_data;
 } __attribute__((packed));
 struct fc_bsg_reply {
- uint32_t result;
+  uint32_t result;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint32_t reply_payload_rcv_len;
- union {
- struct fc_bsg_host_vendor_reply vendor_reply;
- struct fc_bsg_ctels_reply ctels_reply;
+  uint32_t reply_payload_rcv_len;
+  union {
+    struct fc_bsg_host_vendor_reply vendor_reply;
+    struct fc_bsg_ctels_reply ctels_reply;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- } reply_data;
+  } reply_data;
 };
 #endif
diff --git a/libc/kernel/uapi/scsi/scsi_netlink.h b/libc/kernel/uapi/scsi/scsi_netlink.h
index b04f464..dbc3c99 100644
--- a/libc/kernel/uapi/scsi/scsi_netlink.h
+++ b/libc/kernel/uapi/scsi/scsi_netlink.h
@@ -22,16 +22,16 @@
 #include <linux/types.h>
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define SCSI_TRANSPORT_MSG NLMSG_MIN_TYPE + 1
-#define SCSI_NL_GRP_FC_EVENTS (1<<2)
+#define SCSI_NL_GRP_FC_EVENTS (1 << 2)
 #define SCSI_NL_GRP_CNT 3
 struct scsi_nl_hdr {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint8_t version;
- uint8_t transport;
- uint16_t magic;
- uint16_t msgtype;
+  uint8_t version;
+  uint8_t transport;
+  uint16_t magic;
+  uint16_t msgtype;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint16_t msglen;
+  uint16_t msglen;
 } __attribute__((aligned(sizeof(uint64_t))));
 #define SCSI_NL_VERSION 1
 #define SCSI_NL_MAGIC 0xA1B2
@@ -43,17 +43,17 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define SCSI_NL_MSGALIGN(len) (((len) + 7) & ~7)
 struct scsi_nl_host_vendor_msg {
- struct scsi_nl_hdr snlh;
- uint64_t vendor_id;
+  struct scsi_nl_hdr snlh;
+  uint64_t vendor_id;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint16_t host_no;
- uint16_t vmsg_datalen;
+  uint16_t host_no;
+  uint16_t vmsg_datalen;
 } __attribute__((aligned(sizeof(uint64_t))));
 #define SCSI_NL_VID_TYPE_SHIFT 56
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#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)
-#define SCSI_NL_VID_ID_MASK (~ SCSI_NL_VID_TYPE_MASK)
-#define INIT_SCSI_NL_HDR(hdr, t, mtype, mlen)   {   (hdr)->version = SCSI_NL_VERSION;   (hdr)->transport = t;   (hdr)->magic = SCSI_NL_MAGIC;   (hdr)->msgtype = mtype;   (hdr)->msglen = mlen;   }
+#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)
+#define SCSI_NL_VID_ID_MASK (~SCSI_NL_VID_TYPE_MASK)
+#define INIT_SCSI_NL_HDR(hdr,t,mtype,mlen) { (hdr)->version = SCSI_NL_VERSION; (hdr)->transport = t; (hdr)->magic = SCSI_NL_MAGIC; (hdr)->msgtype = mtype; (hdr)->msglen = mlen; }
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #endif
diff --git a/libc/kernel/uapi/scsi/scsi_netlink_fc.h b/libc/kernel/uapi/scsi/scsi_netlink_fc.h
index c475199..dd4e837 100644
--- a/libc/kernel/uapi/scsi/scsi_netlink_fc.h
+++ b/libc/kernel/uapi/scsi/scsi_netlink_fc.h
@@ -23,16 +23,16 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define FC_NL_MSGALIGN(len) (((len) + 7) & ~7)
 struct fc_nl_event {
- struct scsi_nl_hdr snlh;
- uint64_t seconds;
+  struct scsi_nl_hdr snlh;
+  uint64_t seconds;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint64_t vendor_id;
- uint16_t host_no;
- uint16_t event_datalen;
- uint32_t event_num;
+  uint64_t vendor_id;
+  uint16_t host_no;
+  uint16_t event_datalen;
+  uint32_t event_num;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- uint32_t event_code;
- uint32_t event_data;
+  uint32_t event_code;
+  uint32_t event_data;
 } __attribute__((aligned(sizeof(uint64_t))));
 #endif
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
