From 8956b1f55736a7ee18468cb862088e52cacc8047 Mon Sep 17 00:00:00 2001 From: victor Date: Sun, 5 Sep 2004 09:22:28 +0000 Subject: compile successfully, but we haven't tested git-svn-id: http://opensvn.csie.org/pttbbs/branches/victor.solaris@2181 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- include/bbs.h | 45 +-------------------------------------------- include/osdep.h | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ include/proto.h | 34 ++++++++++++++++++++++++++++++++-- 3 files changed, 84 insertions(+), 46 deletions(-) create mode 100644 include/osdep.h (limited to 'include') diff --git a/include/bbs.h b/include/bbs.h index 81ed235e..5b4dca21 100644 --- a/include/bbs.h +++ b/include/bbs.h @@ -34,50 +34,7 @@ #include #include -/* os dependant include file, define */ -#ifdef __FreeBSD__ - #if __FreeBSD__ >=5 - #include - #else - #include - #endif - #include - -#elif defined(__linux__) - #include - #include - #include - #include /* for flock() */ - #include /* for strcasecmp() */ - size_t - strlcpy(char *dst, const char *src, size_t size); - - size_t - strlcat(char *dst, const char *src, size_t size); - -#elif defined(Solaris) - -#include -#include -#include -#include -#include -#include /* for strcasecmp() */ - -#define LOCK_EX 1 -#define LOCK_UN 2 - -int flock(int, int); - -void unsetenv(char *name); - -int scandir(const char *dirname, struct dirent ***namelist, int (*select)(struct dirent *), int (*compar)(const void *, const void *)); -int alphasort(const void *d1, const void *d2); - - -#else -#warning "Unknown OSTYPE" -#endif +#include "osdep.h" /* our header */ #include "config.h" diff --git a/include/osdep.h b/include/osdep.h new file mode 100644 index 00000000..c9223ba3 --- /dev/null +++ b/include/osdep.h @@ -0,0 +1,51 @@ + +#ifndef __OSDEP_H__ +#define __OSDEP_H__ + +/* os dependant include file, define */ +#ifdef __FreeBSD__ + #if __FreeBSD__ >=5 + #include + #else + #include + #endif + #include + +#elif defined(__linux__) + + #include + #include + #include + #include /* for flock() */ + #include /* for strcasecmp() */ + + #define NEED_STRCASESTR + #define NEED_STRLCPY + #define NEED_STRLCAT + +#elif defined(Solaris) + + #include + #include + #include + #include + #include + #include /* for strcasecmp() */ + + #define NEED_FLOCK + #define NEED_UNSETENV + #define NEED_SCANDIR + #define NEED_STRCASESTR + + #if __OS_MAJOR_VERSION__ == 5 && __OS_MINOR_VERSION__ < 8 + #define NEED_STRLCPY + #define NEED_STRLCAT + #define NEED_INET_PTON + #endif + +#else + #warning "Unknown OSTYPE" +#endif + + +#endif diff --git a/include/proto.h b/include/proto.h index ab56650a..41237c3e 100644 --- a/include/proto.h +++ b/include/proto.h @@ -374,11 +374,41 @@ int completeutmp_compar(int where, char *str, int len); int completeutmp_permission(int where); char *completeutmp_getname(int where); + /* osdep */ int cpuload(char *str); double swapused(int *total, int *used); -#if defined(__linux__) || defined(Solaris) -char *strcasestr(const char *big, const char *little); + +#ifdef NEED_FLOCK + #define LOCK_EX 1 + #define LOCK_UN 2 + + int flock(int, int); +#endif + +#ifdef NEED_UNSETENV + void unsetenv(char *name); +#endif + +#ifdef NEED_STRCASESTR + char *strcasestr(const char *big, const char *little); +#endif + +#ifdef NEED_STRLCPY + size_t strlcpy(char *dst, const char *src, size_t size); +#endif + +#ifdef NEED_STRLCAT + size_t strlcat(char *dst, const char *src, size_t size); +#endif + +#ifdef NEED_SCANDIR + int scandir(const char *dirname, struct dirent ***namelist, int (*select)(struct dirent *), int (*compar)(const void *, const void *)); + int alphasort(const void *d1, const void *d2); +#endif + +#ifdef NEED_INET_PTON + int inet_pton(int af, const char *src, void *dst); #endif /* othello */ -- cgit v1.2.3