Lab 1 Program C

Dependents:   Lab1C

Fork of mbed by -deleted-

SemihostFileSystem.h

Committer:
simon.ford@mbed.co.uk
Date:
2008-04-30
Revision:
1:6b7f447ca868
Parent:
0:82220227f4fa

File content as of revision 1:6b7f447ca868:

/* mbed Microcontroller Library - SemihostFileSystem
 * Copyright (c) 2007-2008, sford
 */

#ifndef MBED_SEMIHOSTFILESYSTEM_H
#define MBED_SEMIHOSTFILESYSTEM_H

#include "rt_sys.h"

#include "SemihostFileHandle.h"

extern "C" FILEHANDLE $Super$$_sys_open(const char *name, int openmode);

namespace mbed {

/* Class SemihostFileSystem
 *  A file system invoking the standard semihosting implementation
 */
class SemihostFileSystem : public Base {

public:

	SemihostFileSystem(char* n) {
		name(n);
		_type = "SemihostFileSystem";
	}
	
	virtual FILEHANDLE sys_open(const char* name, int openmode) {
		FILEHANDLE fh = $Super$$_sys_open(name, openmode);
		FileHandle* fhc = new SemihostFileHandle(fh);
		return (FILEHANDLE)fhc;
	}
	
};

} // namespace mbed

#endif