diff --git a/Mac/Modules/file/_Filemodule.c b/Mac/Modules/file/_Filemodule.c
index 6f7ef51..0029d6c 100644
--- a/Mac/Modules/file/_Filemodule.c
+++ b/Mac/Modules/file/_Filemodule.c
@@ -1199,7 +1199,7 @@
 {
 	PyObject *_res = NULL;
 	OSStatus _err;
-	char* path;
+	UInt8 * path;
 	FSRef ref;
 	Boolean isDirectory;
 	if (!PyArg_ParseTuple(_args, "s",
@@ -1215,6 +1215,8 @@
 	return _res;
 }
 
+#if TARGET_API_MAC_OSX
+
 static PyObject *File_FNNotify(PyObject *_self, PyObject *_args)
 {
 	PyObject *_res = NULL;
@@ -1235,12 +1237,15 @@
 	_res = Py_None;
 	return _res;
 }
+#endif
+
+#if TARGET_API_MAC_OSX
 
 static PyObject *File_FNNotifyByPath(PyObject *_self, PyObject *_args)
 {
 	PyObject *_res = NULL;
 	OSStatus _err;
-	char* path;
+	UInt8 * path;
 	FNMessage message;
 	OptionBits flags;
 	if (!PyArg_ParseTuple(_args, "sll",
@@ -1256,6 +1261,9 @@
 	_res = Py_None;
 	return _res;
 }
+#endif
+
+#if TARGET_API_MAC_OSX
 
 static PyObject *File_FNNotifyAll(PyObject *_self, PyObject *_args)
 {
@@ -1274,6 +1282,7 @@
 	_res = Py_None;
 	return _res;
 }
+#endif
 
 static PyObject *File_FSRefMakePath(PyObject *_self, PyObject *_args)
 {
@@ -1411,13 +1420,22 @@
 	{"FSGetResourceForkName", (PyCFunction)File_FSGetResourceForkName, 1,
 	 PyDoc_STR("() -> (HFSUniStr255 resourceForkName)")},
 	{"FSPathMakeRef", (PyCFunction)File_FSPathMakeRef, 1,
-	 PyDoc_STR("(char* path) -> (FSRef ref, Boolean isDirectory)")},
+	 PyDoc_STR("(UInt8 * path) -> (FSRef ref, Boolean isDirectory)")},
+
+#if TARGET_API_MAC_OSX
 	{"FNNotify", (PyCFunction)File_FNNotify, 1,
 	 PyDoc_STR("(FSRef ref, FNMessage message, OptionBits flags) -> None")},
+#endif
+
+#if TARGET_API_MAC_OSX
 	{"FNNotifyByPath", (PyCFunction)File_FNNotifyByPath, 1,
-	 PyDoc_STR("(char* path, FNMessage message, OptionBits flags) -> None")},
+	 PyDoc_STR("(UInt8 * path, FNMessage message, OptionBits flags) -> None")},
+#endif
+
+#if TARGET_API_MAC_OSX
 	{"FNNotifyAll", (PyCFunction)File_FNNotifyAll, 1,
 	 PyDoc_STR("(FNMessage message, OptionBits flags) -> None")},
+#endif
 	{"FSRefMakePath", (PyCFunction)File_FSRefMakePath, 1,
 	 PyDoc_STR("(FSRef) -> string")},
 	{NULL, NULL, 0}
diff --git a/Mac/Modules/file/filescan.py b/Mac/Modules/file/filescan.py
index 7a96d69..454fefc 100644
--- a/Mac/Modules/file/filescan.py
+++ b/Mac/Modules/file/filescan.py
@@ -89,6 +89,14 @@
 			
 			]
 
+	def makegreylist(self):
+		return [
+			('#if TARGET_API_MAC_OSX', [
+				'FNNotifyAll',
+				'FNNotifyByPath',
+				'FNNotify',
+			])]
+			
 	def makeblacklisttypes(self):
 		return [
 			"CInfoPBPtr", # Old stuff
@@ -127,10 +135,6 @@
 	def makerepairinstructions(self):
 		return [
 			# Various ways to give pathnames
-			([('UInt8_ptr', 'path', 'InMode')],
-			 [('stringptr', 'path', 'InMode')]
-			),
-			 
 			([('char_ptr', '*', 'InMode')],
 			 [('stringptr', '*', 'InMode')]
 			),
diff --git a/Mac/Modules/file/filesupport.py b/Mac/Modules/file/filesupport.py
index a009c3d..f916c34 100644
--- a/Mac/Modules/file/filesupport.py
+++ b/Mac/Modules/file/filesupport.py
@@ -46,11 +46,7 @@
 HFSUniStr255 = OpaqueType("HFSUniStr255", "PyMac_BuildHFSUniStr255", "PyMac_GetHFSUniStr255")
 SInt64 = Type("SInt64", "L")
 UInt64 = Type("UInt64", "L")
-#UInt8_ptr
-#UniCharCount
-#char_ptr
-#void_ptr
-
+UInt8_ptr = InputOnlyType("UInt8 *", "s")
 
 includestuff = includestuff + """
 #ifdef WITHOUT_FRAMEWORKS
