Don't use extern when we mean staticforward (OSX gcc is picky about it).
Blacklist SendControlMessage: it's signature has changed between Universal Headers 3.3 and 3.4.
diff --git a/Mac/Modules/ctl/Ctlmodule.c b/Mac/Modules/ctl/Ctlmodule.c
index a7fdfce..536da3c 100644
--- a/Mac/Modules/ctl/Ctlmodule.c
+++ b/Mac/Modules/ctl/Ctlmodule.c
@@ -81,8 +81,8 @@
 static ControlUserPaneHitTestUPP myhittestproc_upp;
 static ControlUserPaneTrackingUPP mytrackingproc_upp;
 
-extern int settrackfunc(PyObject *); 	/* forward */
-extern void clrtrackfunc(void);	/* forward */
+staticforward int settrackfunc(PyObject *); 	/* forward */
+staticforward void clrtrackfunc(void);	/* forward */
 staticforward int setcallback(PyObject *, OSType, PyObject *, UniversalProcPtr *);
 
 static PyObject *Ctl_Error;
@@ -910,24 +910,6 @@
 }
 #endif
 
-static PyObject *CtlObj_SendControlMessage(ControlObject *_self, PyObject *_args)
-{
-	PyObject *_res = NULL;
-	SInt32 _rv;
-	SInt16 inMessage;
-	SInt32 inParam;
-	if (!PyArg_ParseTuple(_args, "hl",
-	                      &inMessage,
-	                      &inParam))
-		return NULL;
-	_rv = SendControlMessage(_self->ob_itself,
-	                         inMessage,
-	                         inParam);
-	_res = Py_BuildValue("l",
-	                     _rv);
-	return _res;
-}
-
 static PyObject *CtlObj_EmbedControl(ControlObject *_self, PyObject *_args)
 {
 	PyObject *_res = NULL;
@@ -1895,8 +1877,6 @@
 	{"SetControlColor", (PyCFunction)CtlObj_SetControlColor, 1,
 	 "(CCTabHandle newColorTable) -> None"},
 #endif
-	{"SendControlMessage", (PyCFunction)CtlObj_SendControlMessage, 1,
-	 "(SInt16 inMessage, SInt32 inParam) -> (SInt32 _rv)"},
 	{"EmbedControl", (PyCFunction)CtlObj_EmbedControl, 1,
 	 "(ControlHandle inContainer) -> None"},
 	{"AutoEmbedControl", (PyCFunction)CtlObj_AutoEmbedControl, 1,
diff --git a/Mac/Modules/ctl/ctlscan.py b/Mac/Modules/ctl/ctlscan.py
index 1a502d6..50de247 100644
--- a/Mac/Modules/ctl/ctlscan.py
+++ b/Mac/Modules/ctl/ctlscan.py
@@ -79,6 +79,7 @@
 			'GetControlProperty',
 			'SetControlProperty',
 			'GetControlPropertySize',
+			'SendControlMessage', # Parameter changed from long to void* from UH3.3 to UH3.4
 			]
 
 	def makegreylist(self):
diff --git a/Mac/Modules/ctl/ctlsupport.py b/Mac/Modules/ctl/ctlsupport.py
index 651326b..869811b 100644
--- a/Mac/Modules/ctl/ctlsupport.py
+++ b/Mac/Modules/ctl/ctlsupport.py
@@ -122,8 +122,8 @@
 static ControlUserPaneHitTestUPP myhittestproc_upp;
 static ControlUserPaneTrackingUPP mytrackingproc_upp;
 
-extern int settrackfunc(PyObject *); 	/* forward */
-extern void clrtrackfunc(void);	/* forward */
+staticforward int settrackfunc(PyObject *); 	/* forward */
+staticforward void clrtrackfunc(void);	/* forward */
 staticforward int setcallback(PyObject *, OSType, PyObject *, UniversalProcPtr *);
 """