Nothing Special / mbed-STM32F030F4

Dependents:   STM32F031_blink_LED_2

Committer:
mega64
Date:
Tue Feb 14 21:52:10 2017 +0000
Revision:
11:79a2d67cd509
Parent:
0:38ccae254a29
repair the effects of improvements in the mbed environment (Ch.1, serial_set_flow_control )

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mega64 0:38ccae254a29 1 /* mbed Microcontroller Library
mega64 0:38ccae254a29 2 * Copyright (c) 2006-2013 ARM Limited
mega64 0:38ccae254a29 3 *
mega64 0:38ccae254a29 4 * Licensed under the Apache License, Version 2.0 (the "License");
mega64 0:38ccae254a29 5 * you may not use this file except in compliance with the License.
mega64 0:38ccae254a29 6 * You may obtain a copy of the License at
mega64 0:38ccae254a29 7 *
mega64 0:38ccae254a29 8 * http://www.apache.org/licenses/LICENSE-2.0
mega64 0:38ccae254a29 9 *
mega64 0:38ccae254a29 10 * Unless required by applicable law or agreed to in writing, software
mega64 0:38ccae254a29 11 * distributed under the License is distributed on an "AS IS" BASIS,
mega64 0:38ccae254a29 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mega64 0:38ccae254a29 13 * See the License for the specific language governing permissions and
mega64 0:38ccae254a29 14 * limitations under the License.
mega64 0:38ccae254a29 15 */
mega64 0:38ccae254a29 16 #ifndef MBED_STREAM_H
mega64 0:38ccae254a29 17 #define MBED_STREAM_H
mega64 0:38ccae254a29 18
mega64 0:38ccae254a29 19 #include "platform.h"
mega64 0:38ccae254a29 20 #include "FileLike.h"
mega64 0:38ccae254a29 21
mega64 0:38ccae254a29 22 namespace mbed {
mega64 0:38ccae254a29 23
mega64 0:38ccae254a29 24 class Stream : public FileLike {
mega64 0:38ccae254a29 25
mega64 0:38ccae254a29 26 public:
mega64 0:38ccae254a29 27 Stream(const char *name=NULL);
mega64 0:38ccae254a29 28 virtual ~Stream();
mega64 0:38ccae254a29 29
mega64 0:38ccae254a29 30 int putc(int c);
mega64 0:38ccae254a29 31 int puts(const char *s);
mega64 0:38ccae254a29 32 int getc();
mega64 0:38ccae254a29 33 char *gets(char *s, int size);
mega64 0:38ccae254a29 34 int printf(const char* format, ...);
mega64 0:38ccae254a29 35 int scanf(const char* format, ...);
mega64 0:38ccae254a29 36
mega64 0:38ccae254a29 37 operator std::FILE*() {return _file;}
mega64 0:38ccae254a29 38
mega64 0:38ccae254a29 39 protected:
mega64 0:38ccae254a29 40 virtual int close();
mega64 0:38ccae254a29 41 virtual ssize_t write(const void* buffer, size_t length);
mega64 0:38ccae254a29 42 virtual ssize_t read(void* buffer, size_t length);
mega64 0:38ccae254a29 43 virtual off_t lseek(off_t offset, int whence);
mega64 0:38ccae254a29 44 virtual int isatty();
mega64 0:38ccae254a29 45 virtual int fsync();
mega64 0:38ccae254a29 46 virtual off_t flen();
mega64 0:38ccae254a29 47
mega64 0:38ccae254a29 48 virtual int _putc(int c) = 0;
mega64 0:38ccae254a29 49 virtual int _getc() = 0;
mega64 0:38ccae254a29 50
mega64 0:38ccae254a29 51 std::FILE *_file;
mega64 0:38ccae254a29 52
mega64 0:38ccae254a29 53 /* disallow copy constructor and assignment operators */
mega64 0:38ccae254a29 54 private:
mega64 0:38ccae254a29 55 Stream(const Stream&);
mega64 0:38ccae254a29 56 Stream & operator = (const Stream&);
mega64 0:38ccae254a29 57 };
mega64 0:38ccae254a29 58
mega64 0:38ccae254a29 59 } // namespace mbed
mega64 0:38ccae254a29 60
mega64 0:38ccae254a29 61 #endif