3 * Copyright (C) 2007 Tomas 'ZeXx86' Jedrzejek (zexx86@gmail.com)
4 * Copyright (C) 2008 Tomas 'ZeXx86' Jedrzejek (zexx86@gmail.com)
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
31 int write (unsigned fd
, void *buf
, unsigned len
)
33 fd_t
*d
= fd_get (fd
);
38 char *file
= dir
[d
->index
].name
;
41 DPRINT ("write () -> !file\n");
45 unsigned file_len
= strlen (file
);
47 /* create file when not exist */
48 if (d
->flags
& O_CREAT
) {
49 vfs_touch ((char *) file
, file_len
);
52 memcpy (d
->s
, (char *) buf
, len
);
56 if (!vfs_mmap (file
, file_len
, buf
, len
))
59 DPRINT ("write () - !d->e not implemented - O_APPEND..\n");