+void faith_reg_if_mods()
+{
+ struct dlil_ifmod_reg_str faith_ifmod;
+ struct dlil_protomod_reg_str faith_protoreg;
+ int error;
+
+ bzero(&faith_ifmod, sizeof(faith_ifmod));
+ faith_ifmod.add_if = faith_add_if;
+ faith_ifmod.del_if = faith_del_if;
+ faith_ifmod.add_proto = faith_add_proto;
+ faith_ifmod.del_proto = faith_del_proto;
+ faith_ifmod.ifmod_ioctl = 0;
+ faith_ifmod.shutdown = faith_shutdown;
+
+
+ if (dlil_reg_if_modules(APPLE_IF_FAM_FAITH, &faith_ifmod))
+ panic("Couldn't register faith modules\n");
+
+ /* Register protocol registration functions */
+
+ bzero(&faith_protoreg, sizeof(faith_protoreg));
+ faith_protoreg.attach_proto = faith_attach_inet;
+ faith_protoreg.detach_proto = 0;
+
+ if ( error = dlil_reg_proto_module(PF_INET, APPLE_IF_FAM_FAITH, &faith_protoreg) != 0)
+ kprintf("dlil_reg_proto_module failed for AF_INET error=%d\n", error);
+
+
+}
+