package Mac::Memory;require Exporter;require DynaLoader;@ISA = (Exporter, DynaLoader);@EXPORT = qw(	GetApplLimit	TopMem	MemError	NewHandle	NewHandleSys	NewHandleClear	NewHandleSysClear	RecoverHandle	RecoverHandleSys	NewPtr	NewPtrSys	NewPtrClear	NewPtrSysClear	MaxBlock	MaxBlockSys	StackSpace	NewEmptyHandle	NewEmptyHandleSys	HLock	HUnlock	HPurge	HNoPurge	HLockHi	TempNewHandle	TempMaxMem	TempFreeMem	CompactMem	CompactMemSys	PurgeMem	PurgeMemSys	FreeMem	FreeMemSys	ReserveMem	ReserveMemSys	MaxMem	MaxMemSys	MoveHHi	DisposePtr	GetPtrSize	SetPtrSize	DisposeHandle	SetHandleSize	GetHandleSize	ReallocateHandle	EmptyHandle	MoreMasters	BlockMove	BlockMoveData	PurgeSpace	HGetState	HSetState	HandToHand	PtrToHand	PtrToXHand	HandAndHand	PtrAndHand);=include Memory.xs=cutbootstrap Mac::Memory;package Handle;use Fcntl;use IO::Handle;sub open {	my($handle,$modestr) = @_;	my($mode,$fd,$fh);		if ($modestr =~ s/\+//) {		$mode = O_RDWR;	} elsif ($modestr =~ /[aw>]/) {		$mode = O_WRONLY;	} else {		$mode = O_RDONLY;	}		if ($modestr =~ />>|a/) {		$mode += O_APPEND;	}		if ($fd = $handle->_open($mode)) {		$fh = new_from_fd IO::Handle(($fd+0), $modestr);		$fh->setvbuf(undef, _IONBF, 0);		return $fh;	} else {		return undef;	}}1;__END__