diff --git a/src/encode/lzh.h b/src/encode/lzh.h index 4dcd751b595ee73393daf970b17ba25578c2b837..f34ef7ad0224cfc6768eb3986778aa185074ca82 100644 --- a/src/encode/lzh.h +++ b/src/encode/lzh.h @@ -39,8 +39,8 @@ #ifndef __FLAT__ #define __FLAT__ #endif - #ifdef LZH_VB_COMPATIBLE - #define LZHCALL __stdcall /* VB Compatible */ + #ifdef __BORLANDC__ + #define LZHCALL __stdcall #else #define LZHCALL #endif diff --git a/src/sbbs3/bbs_thrd.h b/src/sbbs3/bbs_thrd.h index d83e37e89e304b8efb0e04016ba0a1c6d5d2e511..8af8421fbbfa537e722c350443151c7c9057d34c 100644 --- a/src/sbbs3/bbs_thrd.h +++ b/src/sbbs3/bbs_thrd.h @@ -42,20 +42,33 @@ extern "C" { #endif +#ifdef DLLEXPORT +#undef DLLEXPORT +#endif +#ifdef DLLCALL +#undef DLLCALL +#endif + #ifdef _WIN32 - #ifdef SBBS - #define BBS_CALL __declspec( dllexport ) + #ifdef SBBS_EXPORTS + #define DLLEXPORT __declspec(dllexport) + #else + #define DLLEXPORT __declspec(dllimport) + #endif + #ifdef __BORLANDC__ + #define DLLCALL __stdcall #else - #define BBS_CALL __declspec( dllimport ) + #define DLLCALL #endif -#else /* !_WIN32 */ - #define BBS_CALL +#else + #define DLLEXPORT + #define DLLCALL #endif /* arg is pointer to static bbs_startup_t* */ -BBS_CALL void bbs_thread(void* arg); -BBS_CALL void bbs_terminate(void); -BBS_CALL char* bbs_ver(void); +DLLEXPORT void DLLCALL bbs_thread(void* arg); +DLLEXPORT void DLLCALL bbs_terminate(void); +DLLEXPORT char* DLLCALL bbs_ver(void); #ifdef __cplusplus } diff --git a/src/sbbs3/filedat.c b/src/sbbs3/filedat.c index cb762b47f95b122ead8138825cc588bf537330eb..72a204762ac2e21ddc7c44436c55c99f90cc458f 100644 --- a/src/sbbs3/filedat.c +++ b/src/sbbs3/filedat.c @@ -42,7 +42,7 @@ /* Need fields .name ,.dir and .offset to get other info */ /* Does not fill .dateuled or .datedled fields. */ /****************************************************************************/ -BOOL getfiledat(scfg_t* cfg, file_t* f) +BOOL DLLCALL getfiledat(scfg_t* cfg, file_t* f) { char buf[F_LEN+1],str[256],tmp[128]; int file; @@ -114,7 +114,7 @@ BOOL getfiledat(scfg_t* cfg, file_t* f) /* Puts filedata into DIR_code.DAT file */ /* Called from removefiles */ /****************************************************************************/ -BOOL putfiledat(scfg_t* cfg, file_t* f) +BOOL DLLCALL putfiledat(scfg_t* cfg, file_t* f) { char buf[F_LEN+1],str[256],tmp[128]; int file; @@ -168,7 +168,7 @@ BOOL putfiledat(scfg_t* cfg, file_t* f) /* changes the .datoffset field only */ /* returns 1 if added successfully, 0 if not. */ /****************************************************************************/ -BOOL addfiledat(scfg_t* cfg, file_t* f) +BOOL DLLCALL addfiledat(scfg_t* cfg, file_t* f) { char str[256],fname[13],c,fdat[F_LEN+1]; char tmp[128]; @@ -358,7 +358,7 @@ BOOL addfiledat(scfg_t* cfg, file_t* f) /* Need fields .name and .dir filled. */ /* only fills .offset, .dateuled, and .datedled */ /****************************************************************************/ -BOOL getfileixb(scfg_t* cfg, file_t* f) +BOOL DLLCALL getfileixb(scfg_t* cfg, file_t* f) { char str[256],fname[13]; uchar HUGE16 * ixbbuf; @@ -414,7 +414,7 @@ BOOL getfileixb(scfg_t* cfg, file_t* f) /****************************************************************************/ /* Removes DAT and IXB entries for the file in the struct 'f' */ /****************************************************************************/ -BOOL removefiledat(scfg_t* cfg, file_t* f) +BOOL DLLCALL removefiledat(scfg_t* cfg, file_t* f) { char c,str[256],ixbname[12],HUGE16 *ixbbuf,fname[13]; int file; @@ -486,7 +486,7 @@ BOOL removefiledat(scfg_t* cfg, file_t* f) /* it returns the 1, else returns 0. */ /* Called from upload and bulkupload */ /****************************************************************************/ -BOOL findfile(scfg_t* cfg, uint dirnum, char *filename) +BOOL DLLCALL findfile(scfg_t* cfg, uint dirnum, char *filename) { char str[256],c,fname[13],HUGE16 *ixbbuf; int file; @@ -525,7 +525,7 @@ BOOL findfile(scfg_t* cfg, uint dirnum, char *filename) /****************************************************************************/ /* Turns FILE.EXT into FILE .EXT */ /****************************************************************************/ -char * padfname(char *filename, char *str) +char* DLLCALL padfname(char *filename, char *str) { char c,d; @@ -549,7 +549,7 @@ char * padfname(char *filename, char *str) /****************************************************************************/ /* Turns FILE .EXT into FILE.EXT */ /****************************************************************************/ -char * unpadfname(char *filename, char *str) +char* DLLCALL unpadfname(char *filename, char *str) { char c,d; @@ -563,7 +563,7 @@ char * unpadfname(char *filename, char *str) /* Removes any files in the user transfer index (XFER.IXT) that match the */ /* specifications of dest, or source user, or filename or any combination. */ /****************************************************************************/ -BOOL rmuserxfers(scfg_t* cfg, int fromuser, int destuser, char *fname) +BOOL DLLCALL rmuserxfers(scfg_t* cfg, int fromuser, int destuser, char *fname) { char str[256],*ixtbuf; int file; diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c index f3272a50b7147e8faa96940374f33bb030358cf7..40e038a232cec82b32f8aff41c8c9cd7adc100f0 100644 --- a/src/sbbs3/ftpsrvr.c +++ b/src/sbbs3/ftpsrvr.c @@ -56,11 +56,8 @@ #include <sys/stat.h> /* S_IWRITE */ /* Synchronet-specific headers */ -#include "sbbsinet.h" -#include "sbbswrap.h" -#include "scfgdefs.h" +#include "sbbs.h" #include "ftpsrvr.h" -#include "userdat.h" #include "telnet.h" /* Constants */ @@ -86,27 +83,6 @@ static const char *mon[]={"Jan","Feb","Mar","Apr","May","Jun" ,"Jul","Aug","Sep","Oct","Nov","Dec"}; -#ifdef _WIN32 - #define IMPORT __declspec(dllimport) -#else - #define IMPORT -#endif - -IMPORT BOOL load_cfg(scfg_t* cfg, char* text[]); - -IMPORT BOOL getfileixb(scfg_t* cfg, file_t* f); -IMPORT BOOL getfiledat(scfg_t* cfg, file_t* f); - -IMPORT BOOL putfiledat(scfg_t* cfg, file_t* f); -IMPORT BOOL removefiledat(scfg_t* cfg, file_t* f); -IMPORT BOOL addfiledat(scfg_t* cfg, file_t* f); -IMPORT BOOL findfile(scfg_t* cfg, uint dirnum, char *filename); - -IMPORT char* padfname(char *filename, char *str); -IMPORT char* unpadfname(char *filename, char *str); - -IMPORT BOOL trashcan(scfg_t* cfg, char *insearch, char *name); - BOOL direxist(char *dir) { if(access(dir,0)==0) @@ -466,7 +442,7 @@ int sockreadline(SOCKET socket, char* buf, int len, time_t* lastactive) return(rd); } -void ftp_terminate(void) +void DLLCALL ftp_terminate(void) { if(server_socket!=INVALID_SOCKET) { lprintf("FTP Terminate: closing socket %d",server_socket); @@ -2925,7 +2901,7 @@ static void cleanup(int code) thread_down(); } -char* ftp_ver(void) +char* DLLCALL ftp_ver(void) { static char ver[256]; char compiler[32]; @@ -2945,7 +2921,7 @@ char* ftp_ver(void) return(ver); } -void ftp_server(void* arg) +void DLLCALL ftp_server(void* arg) { char compiler[32]; SOCKADDR_IN server_addr; diff --git a/src/sbbs3/ftpsrvr.h b/src/sbbs3/ftpsrvr.h index 93f33c3ce44efbd9b9d6dd165266acdd8a3b2d92..c625e18634d48653064e8ebbe395488688856e36 100644 --- a/src/sbbs3/ftpsrvr.h +++ b/src/sbbs3/ftpsrvr.h @@ -95,23 +95,36 @@ typedef struct { #define FTP_OPT_NO_HOST_LOOKUP (1<<11) #define FTP_OPT_MUTE (1<<31) +#ifdef DLLEXPORT +#undef DLLEXPORT +#endif +#ifdef DLLCALL +#undef DLLCALL +#endif + #ifdef _WIN32 #ifdef FTPSRVR_EXPORTS - #define FTP_CALL __declspec( dllexport ) + #define DLLEXPORT __declspec(dllexport) + #else + #define DLLEXPORT __declspec(dllimport) + #endif + #ifdef __BORLANDC__ + #define DLLCALL __stdcall #else - #define FTP_CALL __declspec( dllimport ) + #define DLLCALL #endif -#else /* !_WIN32 */ - #define FTP_CALL +#else + #define DLLEXPORT + #define DLLCALL #endif #ifdef __cplusplus extern "C" { #endif /* arg is pointer to static ftp_startup_t */ -FTP_CALL void ftp_server(void* arg); -FTP_CALL void ftp_terminate(void); -FTP_CALL char* ftp_ver(void); +DLLEXPORT void DLLCALL ftp_server(void* arg); +DLLEXPORT void DLLCALL ftp_terminate(void); +DLLEXPORT char* DLLCALL ftp_ver(void); #ifdef __cplusplus } #endif \ No newline at end of file diff --git a/src/sbbs3/load_cfg.c b/src/sbbs3/load_cfg.c index 357144be8e44da8924daba84074851572416efac..cf0565cfdfc5fc44b7bdc21682cf3a93d16ce9ca 100644 --- a/src/sbbs3/load_cfg.c +++ b/src/sbbs3/load_cfg.c @@ -40,7 +40,7 @@ /****************************************************************************/ /* Initializes system and node configuration information and data variables */ /****************************************************************************/ -BOOL load_cfg(scfg_t* cfg, char* text[]) +BOOL DLLCALL load_cfg(scfg_t* cfg, char* text[]) { char str[256],fname[13]; int i; diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c index 9e1575189af754b6cc0895056d792fbc3e24cfc1..0bfba52895200c99b3e2378a619be0669251ad64 100644 --- a/src/sbbs3/mailsrvr.c +++ b/src/sbbs3/mailsrvr.c @@ -54,32 +54,13 @@ #include <errno.h> /* errno */ /* Synchronet-specific headers */ -#include "scfgdefs.h" +#include "sbbs.h" #include "mailsrvr.h" -#include "userdat.h" -#include "smblib.h" #include "crc32.h" -#include "sbbsinet.h" -#include "sbbswrap.h" /* Constants */ #define MAIL_VERSION "1.10" -#ifdef _WIN32 -#define IMPORT __declspec(dllimport) -#else -#define IMPORT -#endif - -IMPORT BOOL load_cfg(scfg_t* cfg, char* text[]); -IMPORT ushort crc16(char *str); -IMPORT char * zonestr(short zone); -IMPORT int putsmsg(scfg_t* cfg, int usernumber, char *strin); -IMPORT mail_t* loadmail(smb_t* smb, ulong* msgs, uint usernumber - ,int which, long mode); -IMPORT void freemail(mail_t* mail); -IMPORT BOOL trashcan(scfg_t* cfg, char *insearch, char *name); - int dns_getmx(char* name, char* mx, char* mx2, DWORD intf, DWORD ip_addr, BOOL use_tcp); #define SMTP_OK "250 OK" @@ -2210,7 +2191,7 @@ static void sendmail_thread(void* arg) thread_down(); } -void mail_terminate(void) +void DLLCALL mail_terminate(void) { if(server_socket!=INVALID_SOCKET) { lprintf("MAIL Terminate: closing socket %d",server_socket); @@ -2245,7 +2226,7 @@ static void cleanup(int code) thread_down(); } -char* mail_ver(void) +char* DLLCALL mail_ver(void) { static char ver[256]; char compiler[32]; @@ -2267,7 +2248,7 @@ char* mail_ver(void) return(ver); } -void mail_server(void* arg) +void DLLCALL mail_server(void* arg) { char compiler[32]; SOCKADDR_IN server_addr; diff --git a/src/sbbs3/mailsrvr.h b/src/sbbs3/mailsrvr.h index 7fd0384439cd7b48101c877ce540b35c311a3b0d..979686999a08cef1eb58c8269ec8c6f919b1547f 100644 --- a/src/sbbs3/mailsrvr.h +++ b/src/sbbs3/mailsrvr.h @@ -102,23 +102,36 @@ typedef struct { #define MAIL_OPT_USE_TCP_DNS (1<<12) #define MAIL_OPT_MUTE (1<<31) +#ifdef DLLEXPORT +#undef DLLEXPORT +#endif +#ifdef DLLCALL +#undef DLLCALL +#endif + #ifdef _WIN32 #ifdef MAILSRVR_EXPORTS - #define MAIL_CALL __declspec( dllexport ) + #define DLLEXPORT __declspec(dllexport) + #else + #define DLLEXPORT __declspec(dllimport) + #endif + #ifdef __BORLANDC__ + #define DLLCALL __stdcall #else - #define MAIL_CALL __declspec( dllimport ) + #define DLLCALL #endif -#else /* !_WIN32 */ - #define MAIL_CALL +#else + #define DLLEXPORT + #define DLLCALL #endif #ifdef __cplusplus extern "C" { #endif /* arg is pointer to static mail_startup_t* */ -MAIL_CALL void mail_server(void* arg); -MAIL_CALL void mail_terminate(void); -MAIL_CALL char* mail_ver(void); +DLLEXPORT void DLLCALL mail_server(void* arg); +DLLEXPORT void DLLCALL mail_terminate(void); +DLLEXPORT char* DLLCALL mail_ver(void); #ifdef __cplusplus } #endif \ No newline at end of file diff --git a/src/sbbs3/misc.c b/src/sbbs3/misc.c index 66592739d284001648d79a7f5d3ef5542ee1f4e2..30ab0658180d06a1cf08b85f1bd22e05c146dfd6 100644 --- a/src/sbbs3/misc.c +++ b/src/sbbs3/misc.c @@ -189,7 +189,7 @@ void ucrc16(uchar ch, ushort *rcrc) /****************************************************************************/ /* Returns CRC-16 of string (not including terminating NULL) */ /****************************************************************************/ -ushort crc16(char *str) +ushort DLLCALL crc16(char *str) { int i=0; ushort crc=0; @@ -239,7 +239,7 @@ int strsame(char *str1, char *str2) /****************************************************************************/ /* Converts when_t.zone into ASCII format */ /****************************************************************************/ -char *zonestr(short zone) +char* DLLCALL zonestr(short zone) { static char str[32]; diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h index 4055cbf3625f6802f0638bdce6d6cc3de9628e43..0d90bb2d5e7f471b2596ce08b5b23730a740ce06 100644 --- a/src/sbbs3/sbbs.h +++ b/src/sbbs3/sbbs.h @@ -669,14 +669,23 @@ public: #ifdef DLLEXPORT #undef DLLEXPORT #endif +#ifdef DLLCALL +#undef DLLCALL +#endif #ifdef _WIN32 #ifdef SBBS_EXPORTS #define DLLEXPORT __declspec(dllexport) #else - #define DLLEXPORT + #define DLLEXPORT __declspec(dllimport) + #endif + #ifdef __BORLANDC__ + #define DLLCALL __stdcall + #else + #define DLLCALL #endif #else /* !_WIN32 */ #define DLLEXPORT + #define DLLCALL #endif #ifdef __cplusplus @@ -684,27 +693,27 @@ extern "C" { #endif /* main.cpp */ - DLLEXPORT BOOL getstats(scfg_t* cfg, char node, stats_t* stats); + DLLEXPORT BOOL DLLCALL getstats(scfg_t* cfg, char node, stats_t* stats); /* mail.cpp */ - DLLEXPORT int getmail(scfg_t* cfg, int usernumber, BOOL sent); - DLLEXPORT mail_t* loadmail(smb_t* smb, long* msgs, uint usernumber + DLLEXPORT int DLLCALL getmail(scfg_t* cfg, int usernumber, BOOL sent); + DLLEXPORT mail_t* DLLCALL loadmail(smb_t* smb, ulong* msgs, uint usernumber ,int which, long mode); - DLLEXPORT void freemail(mail_t* mail); + DLLEXPORT void DLLCALL freemail(mail_t* mail); /* filedat.c */ - DLLEXPORT BOOL getfileixb(scfg_t* cfg, file_t* f); - DLLEXPORT BOOL getfiledat(scfg_t* cfg, file_t* f); - DLLEXPORT BOOL putfiledat(scfg_t* cfg, file_t* f); - DLLEXPORT BOOL removefiledat(scfg_t* cfg, file_t* f); - DLLEXPORT BOOL addfiledat(scfg_t* cfg, file_t* f); - DLLEXPORT BOOL findfile(scfg_t* cfg, uint dirnum, char *filename); - DLLEXPORT char * padfname(char *filename, char *str); - DLLEXPORT char * unpadfname(char *filename, char *str); - DLLEXPORT BOOL rmuserxfers(scfg_t* cfg, int fromuser, int destuser, char *fname); + DLLEXPORT BOOL DLLCALL getfileixb(scfg_t* cfg, file_t* f); + DLLEXPORT BOOL DLLCALL getfiledat(scfg_t* cfg, file_t* f); + DLLEXPORT BOOL DLLCALL putfiledat(scfg_t* cfg, file_t* f); + DLLEXPORT BOOL DLLCALL removefiledat(scfg_t* cfg, file_t* f); + DLLEXPORT BOOL DLLCALL addfiledat(scfg_t* cfg, file_t* f); + DLLEXPORT BOOL DLLCALL findfile(scfg_t* cfg, uint dirnum, char *filename); + DLLEXPORT char * DLLCALL padfname(char *filename, char *str); + DLLEXPORT char * DLLCALL unpadfname(char *filename, char *str); + DLLEXPORT BOOL DLLCALL rmuserxfers(scfg_t* cfg, int fromuser, int destuser, char *fname); /* str.cpp */ - DLLEXPORT BOOL trashcan(scfg_t* cfg, char *insearch, char *name); + DLLEXPORT BOOL DLLCALL trashcan(scfg_t* cfg, char *insearch, char *name); /* misc.c */ int nopen(char *str, int access); @@ -724,13 +733,13 @@ extern "C" { char * hexplus(uint num, char *str); /* Hex plus for 3 digits up to 9000 */ uint hptoi(char *str); - DLLEXPORT ushort crc16(char *str); - DLLEXPORT char * zonestr(short zone); - DLLEXPORT int putsmsg(scfg_t* cfg, int usernumber, char *strin); + DLLEXPORT ushort DLLCALL crc16(char *str); + DLLEXPORT char * DLLCALL zonestr(short zone); + DLLEXPORT int DLLCALL putsmsg(scfg_t* cfg, int usernumber, char *strin); /* load_cfg.C */ - DLLEXPORT BOOL load_cfg(scfg_t* cfg, char* text[]); + DLLEXPORT BOOL DLLCALL load_cfg(scfg_t* cfg, char* text[]); char * readtext(long *line, FILE *stream); BOOL md(char *path); diff --git a/src/sbbs3/sbbswrap.h b/src/sbbs3/sbbswrap.h index c9698a7302e01d041bb9dda74107f9f8067be2c4..71c5ce529508132e4c0d8037b687431c9223f288 100644 --- a/src/sbbs3/sbbswrap.h +++ b/src/sbbs3/sbbswrap.h @@ -43,6 +43,9 @@ #ifdef DLLEXPORT #undef DLLEXPORT #endif +#ifdef DLLCALL +#undef DLLCALL +#endif #ifdef _WIN32 #ifdef WRAPPER_DLL @@ -50,8 +53,14 @@ #else #define DLLEXPORT __declspec(dllimport) #endif + #ifdef __BORLANDC__ + #define DLLCALL __stdcall + #else + #define DLLCALL + #endif #else /* !_WIN32 */ #define DLLEXPORT + #define DLLCALL #endif #ifdef __cplusplus @@ -81,10 +90,10 @@ extern "C" { #define _mkdir(dir) mkdir(dir,0777) #define _rmdir(dir) rmdir(dir) - DLLEXPORT void sbbs_beep(int freq, int dur); - DLLEXPORT long filelength(int fd); - DLLEXPORT char* strupr(char* str); - DLLEXPORT char* strlwr(char* str); + DLLEXPORT void DLLCALL sbbs_beep(int freq, int dur); + DLLEXPORT long DLLCALL filelength(int fd); + DLLEXPORT char* DLLCALL strupr(char* str); + DLLEXPORT char* DLLCALL strlwr(char* str); #else /* Unsupported OS */ @@ -146,7 +155,7 @@ extern "C" { #if defined(__BORLANDC__) #define sbbs_random(x) random(x) #else - DLLEXPORT int sbbs_random(int n); + DLLEXPORT int DLLCALL sbbs_random(int n); #endif #if __BORLANDC__ > 0x0410 @@ -154,16 +163,16 @@ extern "C" { #endif #if !defined(_MSC_VER) && !defined(__BORLANDC__) - DLLEXPORT char* ultoa(ulong, char*, int radix); + DLLEXPORT char* DLLCALL ultoa(ulong, char*, int radix); #endif /* General file system wrappers for all platforms and compilers */ -DLLEXPORT BOOL fexist(char *filespec); -DLLEXPORT long flength(char *filename); -DLLEXPORT long fdate(char *filename); -DLLEXPORT int getfattr(char* filename); -DLLEXPORT ulong getfreediskspace(char* path); +DLLEXPORT BOOL DLLCALL fexist(char *filespec); +DLLEXPORT long DLLCALL flength(char *filename); +DLLEXPORT long DLLCALL fdate(char *filename); +DLLEXPORT int DLLCALL getfattr(char* filename); +DLLEXPORT ulong DLLCALL getfreediskspace(char* path); #ifdef __cplusplus } diff --git a/src/sbbs3/str.cpp b/src/sbbs3/str.cpp index 6e165e710aa9445df74d4eceecfe008fb9d16d49..a782066d4fce5fc3b7e0dfbc96a60f1b1f1e3365 100644 --- a/src/sbbs3/str.cpp +++ b/src/sbbs3/str.cpp @@ -715,7 +715,7 @@ void sbbs_t::dirinfo(uint dirnum) /* Searches the file <name>.CAN in the TEXT directory for matches */ /* Returns 1 if found in list, 0 if not. */ /****************************************************************************/ -extern "C" BOOL trashcan(scfg_t* cfg, char* insearch, char* name) +extern "C" BOOL DLLCALL trashcan(scfg_t* cfg, char* insearch, char* name) { char* p; char str[128]; diff --git a/src/sbbs3/userdat.c b/src/sbbs3/userdat.c index 35d97150a0bd33ff82360e83be84b7f01c424b96..f5d457e279ca1d024999b847fa5da48834accdcb 100644 --- a/src/sbbs3/userdat.c +++ b/src/sbbs3/userdat.c @@ -47,7 +47,7 @@ char* nulstr=""; /* Returns the number of the perfect matched username or 0 if no match */ /* Called from functions waitforcall and newuser */ /****************************************************************************/ -uint matchuser(scfg_t* cfg, char *name) +uint DLLCALL matchuser(scfg_t* cfg, char *name) { int file; char str[256],c; @@ -78,7 +78,7 @@ uint matchuser(scfg_t* cfg, char *name) /* Returns the number of the last user in USER.DAT (deleted ones too) */ /* Called from function useredit */ /****************************************************************************/ -uint lastuser(scfg_t* cfg) +uint DLLCALL lastuser(scfg_t* cfg) { char str[256]; long length; @@ -93,7 +93,7 @@ uint lastuser(scfg_t* cfg) /* Fills the structure 'user' with info for user.number from USER.DAT */ /* Called from functions useredit, waitforcall and main_sec */ /****************************************************************************/ -int getuserdat(scfg_t* cfg, user_t *user) +int DLLCALL getuserdat(scfg_t* cfg, user_t *user) { char userdat[U_LEN+1],str[U_LEN+1],tmp[64]; int i,file; @@ -266,7 +266,7 @@ int getuserdat(scfg_t* cfg, user_t *user) /* Writes into user.number's slot in USER.DAT data in structure 'user' */ /* Called from functions newuser, useredit and main */ /****************************************************************************/ -int putuserdat(scfg_t* cfg, user_t* user) +int DLLCALL putuserdat(scfg_t* cfg, user_t* user) { int i,file; char userdat[U_LEN+1],str[U_LEN+1]; @@ -418,7 +418,7 @@ int putuserdat(scfg_t* cfg, user_t* user) /* Returns the username in 'str' that corresponds to the 'usernumber' */ /* Called from functions everywhere */ /****************************************************************************/ -char *username(scfg_t* cfg, int usernumber,char *strin) +char* DLLCALL username(scfg_t* cfg, int usernumber,char *strin) { char str[256]; char c; @@ -453,7 +453,7 @@ char *username(scfg_t* cfg, int usernumber,char *strin) /* Places into 'strout' CR or ETX terminated string starting at */ /* 'start' and ending at 'start'+'length' or terminator from 'strin' */ /****************************************************************************/ -void getrec(char *strin,int start,int length,char *strout) +void DLLCALL getrec(char *strin,int start,int length,char *strout) { int i=0,stop; @@ -470,7 +470,7 @@ void getrec(char *strin,int start,int length,char *strout) /* Places into 'strout', 'strin' starting at 'start' and ending at */ /* 'start'+'length' */ /****************************************************************************/ -void putrec(char *strout,int start,int length,char *strin) +void DLLCALL putrec(char *strout,int start,int length,char *strin) { int i=0,j; @@ -487,7 +487,7 @@ void putrec(char *strout,int start,int length,char *strin) /* Called from functions statusline, main_sec, xfer_sec, useredit and */ /* text files */ /****************************************************************************/ -char getage(scfg_t* cfg, char *birth) +char DLLCALL getage(scfg_t* cfg, char *birth) { char age; struct tm * tm; @@ -529,7 +529,7 @@ char getage(scfg_t* cfg, char *birth) /* from NODE.DAB */ /* if lockit is non-zero, locks this node's record. putnodedat() unlocks it */ /****************************************************************************/ -int getnodedat(scfg_t* cfg, uint number, node_t *node, char lockit) +int DLLCALL getnodedat(scfg_t* cfg, uint number, node_t *node, char lockit) { char str[256]; int count=0; @@ -570,7 +570,7 @@ int getnodedat(scfg_t* cfg, uint number, node_t *node, char lockit) /* getnodedat(num,&node,1); must have been called before calling this func */ /* NOTE: ------^ the indicates the node record has been locked */ /****************************************************************************/ -int putnodedat(scfg_t* cfg, uint number, node_t* node) +int DLLCALL putnodedat(scfg_t* cfg, uint number, node_t* node) { char str[256]; int file; @@ -599,7 +599,7 @@ int putnodedat(scfg_t* cfg, uint number, node_t* node) } /****************************************************************************/ -uint userdatdupe(scfg_t* cfg, uint usernumber, uint offset, uint datlen, char *dat +uint DLLCALL userdatdupe(scfg_t* cfg, uint usernumber, uint offset, uint datlen, char *dat ,BOOL del) { char str[256]; @@ -651,7 +651,7 @@ uint userdatdupe(scfg_t* cfg, uint usernumber, uint offset, uint datlen, char *d /****************************************************************************/ /* Creates a short message for 'usernumber' than contains 'strin' */ /****************************************************************************/ -int putsmsg(scfg_t* cfg, int usernumber, char *strin) +int DLLCALL putsmsg(scfg_t* cfg, int usernumber, char *strin) { char str[256]; int file,i; @@ -992,7 +992,7 @@ static BOOL ar_exp(scfg_t* cfg, uchar **ptrptr, user_t* user) return(result); } -BOOL chk_ar(scfg_t* cfg, uchar *ar, user_t* user) +BOOL DLLCALL chk_ar(scfg_t* cfg, uchar *ar, user_t* user) { uchar *p; @@ -1006,7 +1006,7 @@ BOOL chk_ar(scfg_t* cfg, uchar *ar, user_t* user) /* Fills 'str' with record for usernumber starting at start for length bytes*/ /* Called from function ??? */ /****************************************************************************/ -int getuserrec(scfg_t* cfg, int usernumber,int start, int length, char *str) +int DLLCALL getuserrec(scfg_t* cfg, int usernumber,int start, int length, char *str) { char c,path[256]; int i,file; @@ -1054,7 +1054,7 @@ int getuserrec(scfg_t* cfg, int usernumber,int start, int length, char *str) /* Places into USER.DAT at the offset for usernumber+start for length bytes */ /* Called from various locations */ /****************************************************************************/ -int putuserrec(scfg_t* cfg, int usernumber,int start, uint length, char *str) +int DLLCALL putuserrec(scfg_t* cfg, int usernumber,int start, uint length, char *str) { char str2[256]; int file; @@ -1109,7 +1109,7 @@ int putuserrec(scfg_t* cfg, int usernumber,int start, uint length, char *str) /* Updates user 'usernumber's record (numeric string) by adding 'adj' to it */ /* returns the new value. */ /****************************************************************************/ -ulong adjustuserrec(scfg_t* cfg, int usernumber, int start, int length, long adj) +ulong DLLCALL adjustuserrec(scfg_t* cfg, int usernumber, int start, int length, long adj) { char str[256],c,path[256]; char tmp[32]; @@ -1178,7 +1178,7 @@ ulong adjustuserrec(scfg_t* cfg, int usernumber, int start, int length, long adj /* Subtract credits from the current user online, accounting for the new */ /* "free credits" field. */ /****************************************************************************/ -void subtract_cdt(scfg_t* cfg, user_t* user, long amt) +void DLLCALL subtract_cdt(scfg_t* cfg, user_t* user, long amt) { char tmp[64]; long mod; diff --git a/src/sbbs3/userdat.h b/src/sbbs3/userdat.h index 83162c83fa48cf24a652b9e646d13d3378c78b9d..f274d0d8761379bd500305e8019834dd6f08cc7b 100644 --- a/src/sbbs3/userdat.h +++ b/src/sbbs3/userdat.h @@ -38,18 +38,27 @@ #ifndef _USERDAT_H #define _USERDAT_H -#ifdef EXPORT32 -#undef EXPORT32 +#ifdef DLLEXPORT +#undef DLLEXPORT +#endif +#ifdef DLLCALL +#undef DLLCALL #endif #ifdef _WIN32 #ifdef SBBS_EXPORTS - #define EXPORT32 __declspec(dllexport) + #define DLLEXPORT __declspec(dllexport) + #else + #define DLLEXPORT __declspec(dllimport) + #endif + #ifdef __BORLANDC__ + #define DLLCALL __stdcall #else - #define EXPORT32 __declspec(dllimport) + #define DLLCALL #endif #else - #define EXPORT32 + #define DLLEXPORT + #define DLLCALL #endif #ifdef __cplusplus @@ -59,25 +68,25 @@ extern "C" { extern char* crlf; extern char* nulstr; -EXPORT32 int getuserdat(scfg_t* cfg, user_t* user); /* Fill userdat struct with user data */ -EXPORT32 int putuserdat(scfg_t* cfg, user_t* user); /* Put userdat struct into user file */ -EXPORT32 void getrec(char *instr,int start,int length,char *outstr); /* Retrieve a record from a string */ -EXPORT32 void putrec(char *outstr,int start,int length,char *instr); /* Place a record into a string */ -EXPORT32 uint matchuser(scfg_t* cfg, char *str); /* Checks for a username match */ -EXPORT32 uint lastuser(scfg_t* cfg); -EXPORT32 char getage(scfg_t* cfg, char *birthdate); -EXPORT32 char * username(scfg_t* cfg, int usernumber, char * str); -EXPORT32 int getnodedat(scfg_t* cfg, uint number, node_t *node, char lockit); -EXPORT32 int putnodedat(scfg_t* cfg, uint number, node_t *node); -EXPORT32 uint userdatdupe(scfg_t* cfg, uint usernumber, uint offset, uint datlen, char *dat - ,BOOL del); +DLLEXPORT int DLLCALL getuserdat(scfg_t* cfg, user_t* user); /* Fill userdat struct with user data */ +DLLEXPORT int DLLCALL putuserdat(scfg_t* cfg, user_t* user); /* Put userdat struct into user file */ +DLLEXPORT void DLLCALL getrec(char *instr,int start,int length,char *outstr); /* Retrieve a record from a string */ +DLLEXPORT void DLLCALL putrec(char *outstr,int start,int length,char *instr); /* Place a record into a string */ +DLLEXPORT uint DLLCALL matchuser(scfg_t* cfg, char *str); /* Checks for a username match */ +DLLEXPORT uint DLLCALL lastuser(scfg_t* cfg); +DLLEXPORT char DLLCALL getage(scfg_t* cfg, char *birthdate); +DLLEXPORT char* DLLCALL username(scfg_t* cfg, int usernumber, char * str); +DLLEXPORT int DLLCALL getnodedat(scfg_t* cfg, uint number, node_t *node, char lockit); +DLLEXPORT int DLLCALL putnodedat(scfg_t* cfg, uint number, node_t *node); +DLLEXPORT uint DLLCALL userdatdupe(scfg_t* cfg, uint usernumber, uint offset, uint datlen, char *dat + ,BOOL del); -EXPORT32 BOOL chk_ar(scfg_t* cfg, uchar* str, user_t* user); /* checks access requirements */ +DLLEXPORT BOOL DLLCALL chk_ar(scfg_t* cfg, uchar* str, user_t* user); /* checks access requirements */ -EXPORT32 int getuserrec(scfg_t*, int usernumber, int start, int length, char *str); -EXPORT32 int putuserrec(scfg_t*, int usernumber, int start, uint length, char *str); -EXPORT32 ulong adjustuserrec(scfg_t*, int usernumber, int start, int length, long adj); -EXPORT32 void subtract_cdt(scfg_t*, user_t*, long amt); +DLLEXPORT int DLLCALL getuserrec(scfg_t*, int usernumber, int start, int length, char *str); +DLLEXPORT int DLLCALL putuserrec(scfg_t*, int usernumber, int start, uint length, char *str); +DLLEXPORT ulong DLLCALL adjustuserrec(scfg_t*, int usernumber, int start, int length, long adj); +DLLEXPORT void DLLCALL subtract_cdt(scfg_t*, user_t*, long amt); #ifdef __cplusplus } diff --git a/src/sbbs3/wrappers.c b/src/sbbs3/wrappers.c index 9d72409c5f2e387c51864a2a4f7114ca04f3ff1d..32bcdf7cf155c40e27d8a880be44cbf849ebaf29 100644 --- a/src/sbbs3/wrappers.c +++ b/src/sbbs3/wrappers.c @@ -72,7 +72,7 @@ /* Returns TRUE if it exists, FALSE if it doesn't. */ /* 'filespec' may contain wildcards! */ /****************************************************************************/ -BOOL fexist(char *filespec) +BOOL DLLCALL fexist(char *filespec) { #ifdef _WIN32 @@ -109,7 +109,7 @@ BOOL fexist(char *filespec) /****************************************************************************/ /* Returns the length of the file in 'filename' */ /****************************************************************************/ -long flength(char *filename) +long DLLCALL flength(char *filename) { STAT st; @@ -122,7 +122,7 @@ long flength(char *filename) /****************************************************************************/ /* Returns the time/date of the file in 'filename' in time_t (unix) format */ /****************************************************************************/ -long fdate(char *filename) +long DLLCALL fdate(char *filename) { STAT st; @@ -135,7 +135,7 @@ long fdate(char *filename) /****************************************************************************/ /* Returns the attributes (mode) for specified 'filename' */ /****************************************************************************/ -int getfattr(char* filename) +int DLLCALL getfattr(char* filename) { #ifdef _WIN32 long handle; @@ -163,7 +163,7 @@ int getfattr(char* filename) /* Returns the length of the file in 'fd' */ /****************************************************************************/ #ifdef __unix__ -long filelength(int fd) +long DLLCALL filelength(int fd) { STAT st; @@ -179,7 +179,7 @@ long filelength(int fd) /* Thanks to Casey Martin for this code */ /****************************************************************************/ #ifdef __unix__ -void sbbs_beep(int freq, int dur) +void DLLCALL sbbs_beep(int freq, int dur) { static int console_fd=-1; @@ -198,7 +198,7 @@ void sbbs_beep(int freq, int dur) /* Return random number between 0 and n-1 */ /****************************************************************************/ #ifndef __BORLANDC__ -int sbbs_random(int n) +int DLLCALL sbbs_random(int n) { float f; @@ -215,7 +215,7 @@ int sbbs_random(int n) /* There may be a native GNU C Library function to this... */ /****************************************************************************/ #if !defined _MSC_VER && !defined __BORLANDC__ -char* ultoa(ulong val, char* str, int radix) +char* DLLCALL ultoa(ulong val, char* str, int radix) { switch(radix) { case 8: @@ -272,7 +272,7 @@ char* strlwr(char *str) (LPCTSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER); #endif -ulong getfreediskspace(char* path) +ulong DLLCALL getfreediskspace(char* path) { #ifdef _WIN32 HINSTANCE hK32; diff --git a/src/smblib/smblib.h b/src/smblib/smblib.h index c6e3a6a7101a5cb14b0c6dc092052a62962f6cff..9917136ef6043a1938aff56fa0a837cd3820153a 100644 --- a/src/smblib/smblib.h +++ b/src/smblib/smblib.h @@ -48,8 +48,8 @@ #ifndef __FLAT__ #define __FLAT__ #endif - #ifdef SMB_VB_COMPATIBLE - #define SMBCALL __stdcall /* VB Compatible */ + #ifdef __BORLANDC__ + #define SMBCALL __stdcall #else #define SMBCALL #endif