Annotation of sbbs/sbbs3/smblib.h, revision 1.1

1.1     ! root        1: /* smblib.h */
        !             2: 
        !             3: /* Synchronet message base (SMB) library function prototypes */
        !             4: 
        !             5: /* $Id: smblib.h,v 1.8 2000/10/30 02:23:34 rswindell Exp $ */
        !             6: 
        !             7: /****************************************************************************
        !             8:  * @format.tab-size 4          (Plain Text/Source Code File Header)                    *
        !             9:  * @format.use-tabs true       (see http://www.synchro.net/ptsc_hdr.html)              *
        !            10:  *                                                                                                                                                     *
        !            11:  * Copyright 2000 Rob Swindell - http://www.synchro.net/copyright.html         *
        !            12:  *                                                                                                                                                     *
        !            13:  * This program is free software; you can redistribute it and/or                       *
        !            14:  * modify it under the terms of the GNU General Public License                         *
        !            15:  * as published by the Free Software Foundation; either version 2                      *
        !            16:  * of the License, or (at your option) any later version.                                      *
        !            17:  * See the GNU General Public License for more details: gpl.txt or                     *
        !            18:  * http://www.fsf.org/copyleft/gpl.html                                                                                *
        !            19:  *                                                                                                                                                     *
        !            20:  * Anonymous FTP access to the most recent released source is available at     *
        !            21:  * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net     *
        !            22:  *                                                                                                                                                     *
        !            23:  * Anonymous CVS access to the development source and modification history     *
        !            24:  * is available at cvs.synchro.net:/cvsroot/sbbs, example:                                     *
        !            25:  * cvs -d :pserver:[email protected]:/cvsroot/sbbs login                       *
        !            26:  *     (just hit return, no password is necessary)                                                     *
        !            27:  * cvs -d :pserver:[email protected]:/cvsroot/sbbs checkout src                *
        !            28:  *                                                                                                                                                     *
        !            29:  * For Synchronet coding style and modification guidelines, see                                *
        !            30:  * http://www.synchro.net/source.html                                                                          *
        !            31:  *                                                                                                                                                     *
        !            32:  * You are encouraged to submit any modifications (preferably in Unix diff     *
        !            33:  * format) via e-mail to [email protected]                                                                      *
        !            34:  *                                                                                                                                                     *
        !            35:  * Note: If this box doesn't appear square, then you need to fix your tabs.    *
        !            36:  ****************************************************************************/
        !            37: 
        !            38: #ifndef _SMBLIB_H
        !            39: #define _SMBLIB_H
        !            40: 
        !            41: #include "lzh.h"
        !            42: 
        !            43: #ifdef SMBEXPORT
        !            44:        #undef SMBEXPORT
        !            45: #endif
        !            46: 
        !            47: #ifdef _WIN32
        !            48:        #ifndef __FLAT__
        !            49:                #define __FLAT__
        !            50:        #endif
        !            51:        #ifdef __BORLANDC__
        !            52:                #define SMBCALL __stdcall
        !            53:        #else
        !            54:                #define SMBCALL
        !            55:        #endif
        !            56:        #ifdef SMBDLL   /* SMBLIB contained in DLL */
        !            57:                #ifdef SMB_EXPORTS
        !            58:                        #define SMBEXPORT __declspec( dllexport )
        !            59:                #else
        !            60:                        #define SMBEXPORT __declspec( dllimport )
        !            61:                #endif
        !            62:        #else   /* self-contained executable */
        !            63:                #define SMBEXPORT
        !            64:        #endif
        !            65: #elif defined __unix__
        !            66:        #define SMBCALL
        !            67:        #define SMBEXPORT
        !            68: #elif defined __FLAT__
        !            69:        #define SMBCALL
        !            70:        #define SMBEXPORT       _export
        !            71: #else
        !            72:        #define SMBCALL
        !            73:        #define SMBEXPORT
        !            74: #endif
        !            75: 
        !            76: #include "smbdefs.h"
        !            77: 
        !            78: #define SMB_STACK_LEN          4                       /* Max msg bases in smb_stack()         */
        !            79: #define SMB_STACK_POP       0           /* Pop a msg base off of smb_stack() */
        !            80: #define SMB_STACK_PUSH      1           /* Push a msg base onto smb_stack() */
        !            81: #define SMB_STACK_XCHNG     2           /* Exchange msg base w/last pushed */
        !            82: 
        !            83: #define GETMSGTXT_TAILS        1                       /* Get message tail(s) too */
        !            84: 
        !            85: #ifdef __cplusplus
        !            86: extern "C" {
        !            87: #endif
        !            88: 
        !            89: SMBEXPORT int  SMBCALL smb_ver(void);
        !            90: SMBEXPORT char *       SMBCALL smb_lib_ver(void);
        !            91: SMBEXPORT int  SMBCALL smb_open(smb_t* smb);
        !            92: SMBEXPORT void SMBCALL smb_close(smb_t* smb);
        !            93: SMBEXPORT int  SMBCALL smb_open_da(smb_t* smb);
        !            94: SMBEXPORT void SMBCALL smb_close_da(smb_t* smb);
        !            95: SMBEXPORT int  SMBCALL smb_open_ha(smb_t* smb);
        !            96: SMBEXPORT void SMBCALL smb_close_ha(smb_t* smb);
        !            97: SMBEXPORT int  SMBCALL smb_create(smb_t* smb);
        !            98: SMBEXPORT int  SMBCALL smb_stack(smb_t* smb, int op);
        !            99: SMBEXPORT int  SMBCALL smb_trunchdr(smb_t* smb);
        !           100: SMBEXPORT int  SMBCALL smb_locksmbhdr(smb_t* smb);
        !           101: SMBEXPORT int  SMBCALL smb_getstatus(smb_t* smb);
        !           102: SMBEXPORT int  SMBCALL smb_putstatus(smb_t* smb);
        !           103: SMBEXPORT int  SMBCALL smb_unlocksmbhdr(smb_t* smb);
        !           104: SMBEXPORT int  SMBCALL smb_getmsgidx(smb_t* smb, smbmsg_t* msg);
        !           105: SMBEXPORT int  SMBCALL smb_getlastidx(smb_t* smb, idxrec_t *idx);
        !           106: SMBEXPORT uint SMBCALL smb_getmsghdrlen(smbmsg_t* msg);
        !           107: SMBEXPORT ulong        SMBCALL smb_getmsgdatlen(smbmsg_t* msg);
        !           108: SMBEXPORT int  SMBCALL smb_lockmsghdr(smb_t* smb, smbmsg_t* msg);
        !           109: SMBEXPORT int  SMBCALL smb_getmsghdr(smb_t* smb, smbmsg_t* msg);
        !           110: SMBEXPORT int  SMBCALL smb_unlockmsghdr(smb_t* smb, smbmsg_t* msg);
        !           111: SMBEXPORT int  SMBCALL smb_addcrc(smb_t* smb, ulong crc);
        !           112: SMBEXPORT int  SMBCALL smb_hfield(smbmsg_t* msg, ushort type, ushort length, void* data);
        !           113: SMBEXPORT int  SMBCALL smb_dfield(smbmsg_t* msg, ushort type, ulong length);
        !           114: SMBEXPORT int  SMBCALL smb_addmsghdr(smb_t* smb, smbmsg_t* msg,int storage);
        !           115: SMBEXPORT int  SMBCALL smb_putmsg(smb_t* smb, smbmsg_t* msg);
        !           116: SMBEXPORT int  SMBCALL smb_putmsgidx(smb_t* smb, smbmsg_t* msg);
        !           117: SMBEXPORT int  SMBCALL smb_putmsghdr(smb_t* smb, smbmsg_t* msg);
        !           118: SMBEXPORT void SMBCALL smb_freemsgmem(smbmsg_t* msg);
        !           119: SMBEXPORT ulong        SMBCALL smb_hdrblocks(ulong length);
        !           120: SMBEXPORT ulong        SMBCALL smb_datblocks(ulong length);
        !           121: SMBEXPORT long SMBCALL smb_allochdr(smb_t* smb, ulong length);
        !           122: SMBEXPORT long SMBCALL smb_fallochdr(smb_t* smb, ulong length);
        !           123: SMBEXPORT long SMBCALL smb_hallochdr(smb_t* smb);
        !           124: SMBEXPORT long SMBCALL smb_allocdat(smb_t* smb, ulong length, ushort headers);
        !           125: SMBEXPORT long SMBCALL smb_fallocdat(smb_t* smb, ulong length, ushort headers);
        !           126: SMBEXPORT long SMBCALL smb_hallocdat(smb_t* smb);
        !           127: SMBEXPORT int  SMBCALL smb_incdat(smb_t* smb, ulong offset, ulong length, ushort headers);
        !           128: SMBEXPORT int  SMBCALL smb_freemsg(smb_t* smb, smbmsg_t* msg);
        !           129: SMBEXPORT int  SMBCALL smb_freemsgdat(smb_t* smb, ulong offset, ulong length, ushort headers);
        !           130: SMBEXPORT int  SMBCALL smb_freemsghdr(smb_t* smb, ulong offset, ulong length);
        !           131: SMBEXPORT void SMBCALL smb_freemsgtxt(char HUGE16* buf);
        !           132: SMBEXPORT int  SMBCALL smb_copymsgmem(smbmsg_t* destmsg, smbmsg_t* srcmsg);
        !           133: SMBEXPORT char HUGE16*  SMBCALL smb_getmsgtxt(smb_t* smb, smbmsg_t* msg, ulong mode);
        !           134: 
        !           135: /* FILE pointer I/O functions */
        !           136: 
        !           137: SMBEXPORT int  SMBCALL smb_feof(FILE* fp);
        !           138: SMBEXPORT int  SMBCALL smb_ferror(FILE* fp);
        !           139: SMBEXPORT int  SMBCALL smb_fflush(FILE* fp);
        !           140: SMBEXPORT int  SMBCALL smb_fgetc(FILE* fp);
        !           141: SMBEXPORT int  SMBCALL smb_fputc(int ch, FILE* fp);
        !           142: SMBEXPORT int  SMBCALL smb_fseek(FILE* fp, long offset, int whence);
        !           143: SMBEXPORT long SMBCALL smb_ftell(FILE* fp);
        !           144: SMBEXPORT long SMBCALL smb_fread(void HUGE16* buf, long bytes, FILE* fp);
        !           145: SMBEXPORT long SMBCALL smb_fwrite(void HUGE16* buf, long bytes, FILE* fp);
        !           146: SMBEXPORT long SMBCALL smb_fgetlength(FILE* fp);
        !           147: SMBEXPORT int  SMBCALL smb_fsetlength(FILE* fp, long length);
        !           148: SMBEXPORT void SMBCALL smb_rewind(FILE* fp);
        !           149: SMBEXPORT void SMBCALL smb_clearerr(FILE* fp);
        !           150: 
        !           151: #ifdef __cplusplus
        !           152: }
        !           153: #endif
        !           154: 
        !           155: #ifdef __WATCOMC__     /* Use MSC standard (prepended underscore) */
        !           156: #pragma aux smb_ver                    "_*"
        !           157: #pragma aux smb_lib_ver                "_*"
        !           158: #pragma aux smb_open                   "_*"
        !           159: #pragma aux smb_close                  "_*"
        !           160: #pragma aux smb_open_da                "_*"
        !           161: #pragma aux smb_close_da               "_*"
        !           162: #pragma aux smb_open_ha                "_*"
        !           163: #pragma aux smb_close_ha               "_*"
        !           164: #pragma aux smb_create                 "_*"
        !           165: #pragma aux smb_stack                  "_*"
        !           166: #pragma aux smb_trunchdr               "_*"
        !           167: #pragma aux smb_locksmbhdr             "_*"
        !           168: #pragma aux smb_getstatus              "_*"
        !           169: #pragma aux smb_putstatus              "_*"
        !           170: #pragma aux smb_unlocksmbhdr   "_*"
        !           171: #pragma aux smb_getmsgidx              "_*"
        !           172: #pragma aux smb_getlastidx             "_*"
        !           173: #pragma aux smb_getmsghdrlen   "_*"
        !           174: #pragma aux smb_getmsgdatlen   "_*"
        !           175: #pragma aux smb_lockmsghdr             "_*"
        !           176: #pragma aux smb_getmsghdr              "_*"
        !           177: #pragma aux smb_unlockmsghdr   "_*"
        !           178: #pragma aux smb_addcrc                 "_*"
        !           179: #pragma aux smb_hfield                 "_*"
        !           180: #pragma aux smb_dfield                 "_*"
        !           181: #pragma aux smb_addmsghdr              "_*"
        !           182: #pragma aux smb_putmsg                 "_*"
        !           183: #pragma aux smb_putmsgidx              "_*"
        !           184: #pragma aux smb_putmsghdr              "_*"
        !           185: #pragma aux smb_freemsgmem             "_*"
        !           186: #pragma aux smb_hdrblocks              "_*"
        !           187: #pragma aux smb_datblocks              "_*"
        !           188: #pragma aux smb_allochdr               "_*"
        !           189: #pragma aux smb_fallochdr              "_*"
        !           190: #pragma aux smb_hallochdr              "_*"
        !           191: #pragma aux smb_allocdat               "_*"
        !           192: #pragma aux smb_fallocdat              "_*"
        !           193: #pragma aux smb_hallocdat              "_*"
        !           194: #pragma aux smb_incdat                 "_*"
        !           195: #pragma aux smb_freemsg                "_*"
        !           196: #pragma aux smb_freemsgdat             "_*"
        !           197: #pragma aux smb_freemsghdr             "_*"
        !           198: #pragma aux smb_getmsgtxt              "_*"
        !           199: #pragma aux smb_freemsgtxt             "_*"
        !           200: #pragma aux smb_feof                   "_*"
        !           201: #pragma aux smb_ferror                 "_*"
        !           202: #pragma aux smb_fflush                 "_*"
        !           203: #pragma aux smb_fgetc                  "_*"
        !           204: #pragma aux smb_fputc                  "_*"
        !           205: #pragma aux smb_fseek                  "_*"
        !           206: #pragma aux smb_ftell                  "_*"
        !           207: #pragma aux smb_fread                  "_*"
        !           208: #pragma aux smb_fwrite                 "_*"
        !           209: #pragma aux smb_fgetlength             "_*"
        !           210: #pragma aux smb_fsetlength             "_*"
        !           211: #pragma aux smb_rewind                 "_*"
        !           212: #pragma aux smb_clearerr               "_*"
        !           213: #pragma aux lzh_encode                 "_*"
        !           214: #pragma aux lzh_decode                 "_*"
        !           215: #endif /* Watcom */
        !           216: 
        !           217: 
        !           218: #endif /* Don't add anything after this #endif statement */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.