aboutsummaryrefslogtreecommitdiffstats
path: root/os/various/syscalls.c
diff options
context:
space:
mode:
Diffstat (limited to 'os/various/syscalls.c')
-rw-r--r--os/various/syscalls.c340
1 files changed, 170 insertions, 170 deletions
diff --git a/os/various/syscalls.c b/os/various/syscalls.c
index 5c886f8f5..0f0a14619 100644
--- a/os/various/syscalls.c
+++ b/os/various/syscalls.c
@@ -1,170 +1,170 @@
-/*
- ChibiOS/RT - Copyright (C) 2006-2007 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-/*
-* **** This file incorporates work covered by the following copyright and ****
-* **** permission notice: ****
-*
-* Copyright (c) 2009 by Michael Fischer. All rights reserved.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions
-* are met:
-*
-* 1. Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* 2. Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* 3. Neither the name of the author nor the names of its contributors may
-* be used to endorse or promote products derived from this software
-* without specific prior written permission.
-*
-* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
-* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
-* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-* SUCH DAMAGE.
-*
-****************************************************************************
-* History:
-*
-* 28.03.09 mifi First Version, based on the original syscall.c from
-* newlib version 1.17.0
-* 17.08.09 gdisirio Modified the file for use under ChibiOS/RT
-* 15.11.09 gdisirio Added read and write handling
-****************************************************************************/
-
-#include <stdlib.h>
-#include <errno.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-
-#include "ch.h"
-#if defined(STDOUT_SD) || defined(STDIN_SD)
-#include "hal.h"
-#endif
-
-/***************************************************************************/
-
-int _read_r(struct _reent *r, int file, char * ptr, int len)
-{
- (void)r;
-#if defined(STDIN_SD)
- if (!len || (file != 0)) {
- __errno_r(r) = EINVAL;
- return -1;
- }
- len = sdRead(&STDOUT_SD, (uint8_t *)ptr, (size_t)len);
- return len;
-#else
- (void)file;
- (void)ptr;
- (void)len;
- __errno_r(r) = EINVAL;
- return -1;
-#endif
-}
-
-/***************************************************************************/
-
-int _lseek_r(struct _reent *r, int file, int ptr, int dir)
-{
- (void)r;
- (void)file;
- (void)ptr;
- (void)dir;
-
- return 0;
-}
-
-/***************************************************************************/
-
-int _write_r(struct _reent *r, int file, char * ptr, int len)
-{
- (void)r;
- (void)file;
- (void)ptr;
-#if defined(STDOUT_SD)
- if (file != 1) {
- __errno_r(r) = EINVAL;
- return -1;
- }
- sdWrite(&STDOUT_SD, (uint8_t *)ptr, (size_t)len);
-#endif
- return len;
-}
-
-/***************************************************************************/
-
-int _close_r(struct _reent *r, int file)
-{
- (void)r;
- (void)file;
-
- return 0;
-}
-
-/***************************************************************************/
-
-caddr_t _sbrk_r(struct _reent *r, int incr)
-{
- void *p;
-
- chDbgCheck(incr > 0, "_sbrk_r");
-
- (void)r;
- p = chCoreAlloc((size_t)incr);
- if (p == NULL) {
- __errno_r(r) = ENOMEM;
- return (caddr_t)-1;
- }
- return (caddr_t)p;
-}
-
-/***************************************************************************/
-
-int _fstat_r(struct _reent *r, int file, struct stat * st)
-{
- (void)r;
- (void)file;
-
- memset(st, 0, sizeof(*st));
- st->st_mode = S_IFCHR;
- return 0;
-}
-
-/***************************************************************************/
-
-int _isatty_r(struct _reent *r, int fd)
-{
- (void)r;
- (void)fd;
-
- return 1;
-}
-
-/*** EOF ***/
+/*
+ ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio.
+
+ This file is part of ChibiOS/RT.
+
+ ChibiOS/RT is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ ChibiOS/RT is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+/*
+* **** This file incorporates work covered by the following copyright and ****
+* **** permission notice: ****
+*
+* Copyright (c) 2009 by Michael Fischer. All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* 1. Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* 2. Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* 3. Neither the name of the author nor the names of its contributors may
+* be used to endorse or promote products derived from this software
+* without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+* THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
+* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+* SUCH DAMAGE.
+*
+****************************************************************************
+* History:
+*
+* 28.03.09 mifi First Version, based on the original syscall.c from
+* newlib version 1.17.0
+* 17.08.09 gdisirio Modified the file for use under ChibiOS/RT
+* 15.11.09 gdisirio Added read and write handling
+****************************************************************************/
+
+#include <stdlib.h>
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+#include "ch.h"
+#if defined(STDOUT_SD) || defined(STDIN_SD)
+#include "hal.h"
+#endif
+
+/***************************************************************************/
+
+int _read_r(struct _reent *r, int file, char * ptr, int len)
+{
+ (void)r;
+#if defined(STDIN_SD)
+ if (!len || (file != 0)) {
+ __errno_r(r) = EINVAL;
+ return -1;
+ }
+ len = sdRead(&STDOUT_SD, (uint8_t *)ptr, (size_t)len);
+ return len;
+#else
+ (void)file;
+ (void)ptr;
+ (void)len;
+ __errno_r(r) = EINVAL;
+ return -1;
+#endif
+}
+
+/***************************************************************************/
+
+int _lseek_r(struct _reent *r, int file, int ptr, int dir)
+{
+ (void)r;
+ (void)file;
+ (void)ptr;
+ (void)dir;
+
+ return 0;
+}
+
+/***************************************************************************/
+
+int _write_r(struct _reent *r, int file, char * ptr, int len)
+{
+ (void)r;
+ (void)file;
+ (void)ptr;
+#if defined(STDOUT_SD)
+ if (file != 1) {
+ __errno_r(r) = EINVAL;
+ return -1;
+ }
+ sdWrite(&STDOUT_SD, (uint8_t *)ptr, (size_t)len);
+#endif
+ return len;
+}
+
+/***************************************************************************/
+
+int _close_r(struct _reent *r, int file)
+{
+ (void)r;
+ (void)file;
+
+ return 0;
+}
+
+/***************************************************************************/
+
+caddr_t _sbrk_r(struct _reent *r, int incr)
+{
+ void *p;
+
+ chDbgCheck(incr > 0, "_sbrk_r");
+
+ (void)r;
+ p = chCoreAlloc((size_t)incr);
+ if (p == NULL) {
+ __errno_r(r) = ENOMEM;
+ return (caddr_t)-1;
+ }
+ return (caddr_t)p;
+}
+
+/***************************************************************************/
+
+int _fstat_r(struct _reent *r, int file, struct stat * st)
+{
+ (void)r;
+ (void)file;
+
+ memset(st, 0, sizeof(*st));
+ st->st_mode = S_IFCHR;
+ return 0;
+}
+
+/***************************************************************************/
+
+int _isatty_r(struct _reent *r, int fd)
+{
+ (void)r;
+ (void)fd;
+
+ return 1;
+}
+
+/*** EOF ***/