+ * Description of Darwin_Externc fix
+ */
+tSCC zDarwin_ExterncName[] =
+ "darwin_externc";
+
+/*
+ * File name selection pattern
+ */
+tSCC zDarwin_ExterncList[] =
+ "mach-o/swap.h\0mach/mach_time.h\0mach/mach_traps.h\0mach/message.h\0mach/mig.h\0mach/semaphore.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzDarwin_ExterncMachs[] = {
+ "*-*-darwin*",
+ (const char*)NULL };
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zDarwin_ExterncBypass0[] =
+ "extern \"C\"";
+tSCC zDarwin_ExterncBypass1[] =
+ "__BEGIN_DECLS";
+
+#define DARWIN_EXTERNC_TEST_CT 2
+static tTestDesc aDarwin_ExterncTests[] = {
+ { TT_NEGREP, zDarwin_ExterncBypass0, (regex_t*)NULL },
+ { TT_NEGREP, zDarwin_ExterncBypass1, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Darwin_Externc
+ */
+static const char* apzDarwin_ExterncPatch[] = {
+ "wrap",
+ "#ifdef __cplusplus\n\
+extern \"C\" {\n\
+#endif\n",
+ "#ifdef __cplusplus\n\
+}\n\
+#endif\n",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *