Index: libcio/filesys.c
===================================================================
--- libcio/filesys.c	(revision 1d174fbd40a7a350a8cc5a144037ab04a6b1ef75)
+++ libcio/filesys.c	(revision 0c06bc5032efc771f3c0aa1d4e5f9ae2e103656d)
@@ -82,10 +82,10 @@
 */
 
-int32_t _getfat(uint8_t *bufad, struct bpb *bpp, int16_t nfat)
+int16_t _getfat(uint8_t *bufad, struct bpb *bpp, int16_t nfat)
 {
 	int16_t fatsec;
 
 	fatsec = nfat ? bpp->fatrec : (bpp->fatrec - bpp->fsiz);
-	return(BIOS(B_RDWR, 0, bufad, bpp->fsiz, fatsec, 0));
+	return((int16_t)BIOS(B_RDWR, 0, bufad, bpp->fsiz, fatsec, 0));
 }
 
@@ -117,7 +117,7 @@
 */
 
-int32_t _rdroot(struct dirent *buf, struct bpb *bpp)
-{
-	return(BIOS(B_RDWR, 0, buf, bpp->rdlen,
+int16_t _rdroot(struct dirent *buf, struct bpb *bpp)
+{
+	return((int16_t)BIOS(B_RDWR, 0, buf, bpp->rdlen,
 		(bpp->fatrec + bpp->fsiz), 0));
 }
Index: libcio/filesys.x
===================================================================
--- libcio/filesys.x	(revision 1d174fbd40a7a350a8cc5a144037ab04a6b1ef75)
+++ libcio/filesys.x	(revision 0c06bc5032efc771f3c0aa1d4e5f9ae2e103656d)
@@ -44,5 +44,5 @@
 extern	int16_t		_fmake(struct fcb *fcp);
 extern	int16_t		_ftrnc(struct dirent *dp);
-extern	int32_t		_getfat(uint8_t *bufad, struct bpb *bpp, int16_t nfat);
+extern	int16_t		_getfat(uint8_t *bufad, struct bpb *bpp, int16_t nfat);
 extern	int16_t		_gtcl12(uint8_t *fat, int16_t cl);
 extern	int16_t		_inifcb(struct fcb *fcp, int8_t *name, int8_t *ext, uint16_t mode);
@@ -52,5 +52,5 @@
 extern	int16_t		_opnvol(void);
 extern	int16_t		_rdfat(uint8_t *bufad, struct bpb *bpp);
-extern	int32_t		_rdroot(struct dirent *buf, struct bpb *bpp);
+extern	int16_t		_rdroot(struct dirent *buf, struct bpb *bpp);
 extern	int16_t		_seek(struct fcb *fcp);
 extern	int16_t		fcbinit(int8_t *name, struct fcb *fcp);
