OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.17.0/] [newlib/] [libc/] [sys/] [rdos/] [lseek.c] - Blame information for rev 158

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 148 jeremybenn
/*#######################################################################
2
# RDOS operating system
3
# Copyright (C) 1988-2006, Leif Ekblad
4
#
5
# This library is free software; you can redistribute it and/or modify
6
# it under the terms of the GNU Lesser General Public License as published
7
# by the Free Software Foundation; either version 2.1 of the License, or
8
# (at your option) any later version.
9
#
10
# This library is distributed in the hope that it will be useful,
11
# but WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
# GNU Lesser General Public License for more details.
14
#
15
# You should have received a copy of the GNU Lesser General Public
16
# License along with this library; if not, write to the Free Software
17
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
#
19
# The author of this program may be contacted at leif@rdos.net
20
#
21
# lseek.c
22
# lseek function implementation
23
#
24
##########################################################################*/
25
 
26
#include "config.h"
27
#include <_ansi.h>
28
#include <_syslist.h>
29
#include <unistd.h>
30
#include <errno.h>
31
#include <rdos.h>
32
 
33
off_t lseek(int file, off_t pos, int whence)
34
{
35
        off_t temp;
36
 
37
        switch (whence)
38
        {
39
                case SEEK_CUR:
40
                        temp = RdosGetFilePos(file);
41
                        temp += pos;
42
                        RdosSetFilePos(file, temp);
43
                        return temp;
44
 
45
                case SEEK_SET:
46
                        RdosSetFilePos(file, pos);
47
                        return pos;
48
 
49
                case SEEK_END:
50
                        temp = RdosGetFilePos(file);
51
                        temp += pos;
52
                        RdosSetFilePos(file, temp);
53
                        return temp;
54
 
55
                default:
56
                        errno = EINVAL;
57
                        return - 1;
58
        }
59
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.