version 1.1.1.1, 2010/03/24 16:00:15
|
version 1.6, 2014/02/04 16:58:17
|
Line 5
|
Line 5
|
* $Author$ |
* $Author$ |
* $Id$ |
* $Id$ |
* |
* |
*************************************************************************/ | ************************************************************************** |
| The ELWIX and AITNET software is distributed under the following |
| terms: |
| |
| All of the documentation and software included in the ELWIX and AITNET |
| Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
| |
| Copyright 2004 - 2014 |
| by Michael Pounov <misho@elwix.org>. 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. All advertising materials mentioning features or use of this software |
| must display the following acknowledgement: |
| This product includes software developed by Michael Pounov <misho@elwix.org> |
| ELWIX - Embedded LightWeight unIX and its contributors. |
| 4. Neither the name of AITNET 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 AITNET 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 REGENTS 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. |
| */ |
#include "global.h" |
#include "global.h" |
|
#include "tool.h" |
#include "file.h" |
#include "file.h" |
|
|
|
|
int syncOpen(const char *csFile, int mode) | int |
| sync_Open(const char *csFile, int mode, int perm) |
{ |
{ |
int f; |
int f; |
|
|
if (!csFile || (*csFile == '-' && !csFile[1])) |
if (!csFile || (*csFile == '-' && !csFile[1])) |
return mode; |
return mode; |
|
|
f = open(csFile, !mode ? O_RDONLY : O_WRONLY | O_CREAT | O_TRUNC, 0644); | f = open(csFile, !mode ? O_RDONLY : O_WRONLY | O_CREAT | O_TRUNC, |
| !perm ? 0644 : perm); |
if (f == -1) |
if (f == -1) |
SETERR; | LOGERR; |
|
|
return f; |
return f; |
} |
} |
|
|
inline int syncTemp(char * __restrict psName, int len) | int |
| sync_Temp(char * __restrict psName, int len) |
{ |
{ |
char str[] = "/tmp/ansyncXXXXXX.dlt"; |
char str[] = "/tmp/ansyncXXXXXX.dlt"; |
int f; |
int f; |
Line 35 inline int syncTemp(char * __restrict psName, int len)
|
Line 76 inline int syncTemp(char * __restrict psName, int len)
|
return f; |
return f; |
} |
} |
|
|
void syncClose(int f) | void |
| sync_Close(int f) |
{ |
{ |
if (f > 2) |
if (f > 2) |
close(f); |
close(f); |
} |
} |
|
|
int syncEOF(int f) | int |
| sync_EOF(int f) |
{ |
{ |
off_t old; |
off_t old; |
int ret = 0; |
int ret = 0; |
Line 49 int syncEOF(int f)
|
Line 92 int syncEOF(int f)
|
old = lseek(f, 0, SEEK_CUR); |
old = lseek(f, 0, SEEK_CUR); |
ret = lseek(f, 0, SEEK_END) - old; |
ret = lseek(f, 0, SEEK_END) - old; |
if (lseek(f, old, SEEK_SET) == -1) { |
if (lseek(f, old, SEEK_SET) == -1) { |
SETERR; | LOGERR; |
return -1; |
return -1; |
} |
} |
|
|