mbed libraries for KL25Z

Dependents:   FRDM_RGBLED

Committer:
emilmont
Date:
Fri Oct 05 09:16:41 2012 +0000
Revision:
0:8024c367e29f
Child:
7:73c5efe92a6c
First release of the mbed libraries for KL25Z

Who changed what in which revision?

UserRevisionLine numberNew contents of line
emilmont 0:8024c367e29f 1 /* mbed Microcontroller Library - Stream
emilmont 0:8024c367e29f 2 * Copyright (c) 2007-2009 ARM Limited. All rights reserved.
emilmont 0:8024c367e29f 3 */
emilmont 0:8024c367e29f 4
emilmont 0:8024c367e29f 5 #ifndef MBED_STREAM_H
emilmont 0:8024c367e29f 6 #define MBED_STREAM_H
emilmont 0:8024c367e29f 7
emilmont 0:8024c367e29f 8 #include "FileLike.h"
emilmont 0:8024c367e29f 9 #include "platform.h"
emilmont 0:8024c367e29f 10 #include <cstdio>
emilmont 0:8024c367e29f 11
emilmont 0:8024c367e29f 12 namespace mbed {
emilmont 0:8024c367e29f 13
emilmont 0:8024c367e29f 14 class Stream : public FileLike {
emilmont 0:8024c367e29f 15
emilmont 0:8024c367e29f 16 public:
emilmont 0:8024c367e29f 17
emilmont 0:8024c367e29f 18 Stream(const char *name = NULL);
emilmont 0:8024c367e29f 19 virtual ~Stream();
emilmont 0:8024c367e29f 20
emilmont 0:8024c367e29f 21 int putc(int c) {
emilmont 0:8024c367e29f 22 fflush(_file);
emilmont 0:8024c367e29f 23 return std::fputc(c, _file);
emilmont 0:8024c367e29f 24 }
emilmont 0:8024c367e29f 25 int puts(const char *s) {
emilmont 0:8024c367e29f 26 fflush(_file);
emilmont 0:8024c367e29f 27 return std::fputs(s, _file);
emilmont 0:8024c367e29f 28 }
emilmont 0:8024c367e29f 29 int getc() {
emilmont 0:8024c367e29f 30 fflush(_file);
emilmont 0:8024c367e29f 31 return std::fgetc(_file);
emilmont 0:8024c367e29f 32 }
emilmont 0:8024c367e29f 33 char *gets(char *s, int size) {
emilmont 0:8024c367e29f 34 fflush(_file);
emilmont 0:8024c367e29f 35 return std::fgets(s,size,_file);;
emilmont 0:8024c367e29f 36 }
emilmont 0:8024c367e29f 37 int printf(const char* format, ...);
emilmont 0:8024c367e29f 38 int scanf(const char* format, ...);
emilmont 0:8024c367e29f 39
emilmont 0:8024c367e29f 40 operator std::FILE*() { return _file; }
emilmont 0:8024c367e29f 41
emilmont 0:8024c367e29f 42 #ifdef MBED_RPC
emilmont 0:8024c367e29f 43 virtual const struct rpc_method *get_rpc_methods();
emilmont 0:8024c367e29f 44 #endif
emilmont 0:8024c367e29f 45
emilmont 0:8024c367e29f 46 protected:
emilmont 0:8024c367e29f 47
emilmont 0:8024c367e29f 48 virtual int close();
emilmont 0:8024c367e29f 49 virtual ssize_t write(const void* buffer, size_t length);
emilmont 0:8024c367e29f 50 virtual ssize_t read(void* buffer, size_t length);
emilmont 0:8024c367e29f 51 virtual off_t lseek(off_t offset, int whence);
emilmont 0:8024c367e29f 52 virtual int isatty();
emilmont 0:8024c367e29f 53 virtual int fsync();
emilmont 0:8024c367e29f 54 virtual off_t flen();
emilmont 0:8024c367e29f 55
emilmont 0:8024c367e29f 56 virtual int _putc(int c) = 0;
emilmont 0:8024c367e29f 57 virtual int _getc() = 0;
emilmont 0:8024c367e29f 58
emilmont 0:8024c367e29f 59 std::FILE *_file;
emilmont 0:8024c367e29f 60
emilmont 0:8024c367e29f 61 };
emilmont 0:8024c367e29f 62
emilmont 0:8024c367e29f 63 } // namespace mbed
emilmont 0:8024c367e29f 64
emilmont 0:8024c367e29f 65 #endif
emilmont 0:8024c367e29f 66