no preallocating if there's no state file
[syren.git] / src / syren_os.h
blob3dcb434c4a61d304c6e75e4873815120c5b76e24
1 /*
2 Syren -- a lightweight downloader for Linux/BSD/MacOSX
3 inspired by Axel Copyright 2001-2002 Wilmer van der Gaast
4 version 0.0.6 (atomic alien)
5 coded by Ketmar // Avalon Group
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License with
18 the Debian GNU/Linux distribution in file /usr/doc/copyright/GPL;
19 if not, write to the Free Software Foundation, Inc., 59 Temple Place,
20 Suite 330, Boston, MA 02111-1307 USA
23 Syren os-specific functions
25 #ifndef _SYREN_OS_H
26 #define _SYREN_OS_H
28 #include "syren_common.h"
31 /* *alloc() */
32 #include <stdlib.h>
34 /* close() */
35 #include <unistd.h>
37 /* socket support */
38 #include <sys/types.h>
39 #include <sys/socket.h>
41 /* inet_aton(), etc */
42 #include <netinet/in.h>
43 #include <arpa/inet.h>
45 /* gethostbyname() */
46 #include <netdb.h>
49 /* SyGetIFIP() support */
50 /* ioctl() %-) */
51 #include <sys/ioctl.h>
53 /* IFNAMSIZ, struct ifreq */
54 #include <net/if.h>
56 /* gettimeofday() */
57 #include <sys/time.h>
59 /* open(), etc */
60 /*#include <sys/types.h>*/
61 #include <sys/stat.h>
62 #include <fcntl.h>
64 /* signal() */
65 /*#include <signal.h>*/
67 /* not used, but fine to have %-) */
68 #include <limits.h>
69 #include <errno.h>
73 seems to be unused
74 #include <netinet/in_systm.h>
75 #include <netinet/in.h>
76 #include <netinet/ip.h>
77 #include <arpa/inet.h>
81 double SyGetTimeD (void);
82 #define SySleep(n) sleep(n)
85 #ifdef SY_INCLUDE_FILE_IO
86 #define SY_FILE_DEFMODE 0644
87 typedef enum {
88 SY_FMODE_READ,
89 SY_FMODE_WRITE
90 } TSyFileMode;
94 #ifdef __linux
95 #define SY_LSEEK lseek64
96 #else
97 #define SY_LSEEK lseek
98 #endif
100 #define SY_LSEEK lseek
103 #define SyCloseFile(fd) close(fd)
105 TSyResult SyDeleteFile (const char *fname);
106 int SyOpenFile (const char *fname, TSyFileMode mode, TSyBool mustCreate);
107 TSyResult SyWriteFile (int fd, const void *buf, int count);
108 TSyResult SyReadFile (int fd, void *buf, int count);
109 TSyResult SySeekFile (int fd, int64_t offset);
110 int64_t SyFileSize (int fd);
111 #endif
114 #define SySocketClose close
116 TSyResult SySocketInit (void);
117 void SySocketShutdown (void);
120 #endif