Started on implementing support for FSCatalogInfo. Doesn't work yet, don't
try it.
diff --git a/Mac/Modules/file/filescan.py b/Mac/Modules/file/filescan.py
index 4b6b70e..a7963c2 100644
--- a/Mac/Modules/file/filescan.py
+++ b/Mac/Modules/file/filescan.py
@@ -134,8 +134,6 @@
 
 			
 			"CatPositionRec", # State variable, not too difficult
-			"FSCatalogInfo", # Lots of fields, difficult struct
-			"FSCatalogInfo_ptr", # Lots of fields, difficult struct
 			"FSIterator", # Should become an object
 			"FSForkInfo", # Lots of fields, difficult struct
 			"FSSearchParams", # Also catsearch stuff
@@ -180,6 +178,17 @@
 
 			([('FSRef_ptr', 'fromFile', 'InMode')],
     		 [('OptFSRefPtr', 'fromFile', 'InMode')]),
+    		 
+    		# FSCatalogInfo input handling
+			([('FSCatalogInfoBitmap', 'whichInfo', 'InMode'),
+    		  ('FSCatalogInfo_ptr', 'catalogInfo', 'InMode')],
+    		 [('FSCatalogInfoAndBitmap_in', 'catalogInfo', 'InMode')]),
+    		
+    		# FSCatalogInfo output handling
+			([('FSCatalogInfoBitmap', 'whichInfo', 'InMode'),
+    		  ('FSCatalogInfo', 'catalogInfo', 'OutMode')],
+    		 [('FSCatalogInfoAndBitmap_out', 'catalogInfo', 'InOutMode')]),
+    		
 
 		]
 		
diff --git a/Mac/Modules/file/filesupport.py b/Mac/Modules/file/filesupport.py
index 7ba0b47..122ef0e 100644
--- a/Mac/Modules/file/filesupport.py
+++ b/Mac/Modules/file/filesupport.py
@@ -50,6 +50,53 @@
 	def declare(self, name):
 		Output("%s %s__buf__;", self.typeName, name)
 		Output("%s *%s = &%s__buf__;", self.typeName, name, name)
+
+class FSCatalogInfoAndBitmapType(InputOnlyType):
+	
+	def __init__(self):
+		InputOnlyType.__init__(self, "BUG", "BUG")
+		
+	def declare(self, name):
+		Output("PyObject *%s__object;", name)
+		Output("FSCatalogInfoBitname %s__bitmap;", name)
+		Output("FSCatalogInfo %s;", name)
+		
+	def getargsFormat(self):
+		return "lO"
+		
+	def getargsArgs(self, name):
+		return "%s__bitmap, %s__object"%(name, name)
+		
+	def getargsCheck(self, name):
+		Output("convert_FSCatalogInfo(%s__object, %s__bitmap, %s);", name, name, name)
+		
+	def passOutput(self, name):
+		return "%s__bitmap, %s"% (name, name)
+		
+	def mkvalueFormat(self):
+		return "O"
+
+	def mkvalueArgs(self, name):
+		return "%s__object" % (name)
+		
+	def xxxxmkvalueCheck(self, name):
+		Output("%s__object = new_FSCatalogInfo(%s__bitmap, %s);", name, name)
+	
+class FSCatalogInfoAndBitmap_inType(FSCatalogInfoAndBitmapType, InputOnlyMixIn):
+	
+	def xxxxmkvalueCheck(self, name):
+		pass
+	
+class FSCatalogInfoAndBitmap_outType(FSCatalogInfoAndBitmapType):
+
+	def getargsFormat(self):
+		return "l"
+		
+	def getargsArgs(self, name):
+		return "%s__bitmap" % name
+		
+	def getargsCheck(self, name):
+		pass
 	
 FInfo = OpaqueType("FInfo", "FInfo")
 FInfo_ptr = OpaqueType("FInfo", "FInfo")
@@ -60,6 +107,8 @@
 FSRef = OpaqueType("FSRef", "FSRef")
 FSRef_ptr = OpaqueType("FSRef", "FSRef")
 OptFSRefPtr = OptionalFSxxxType("FSRef", "BUG", "myPyMac_GetOptFSRefPtr")
+FSCatalogInfoAndBitmap_in = FSCatalogInfoAndBitmap_inType()
+FSCatalogInfoAndBitmap_out = FSCatalogInfoAndBitmap_outType()
 
 # To be done:
 #CatPositionRec