|
|
1.1 ! root 1: /* SMBLIB.H */ ! 2: ! 3: /* Developed 1990-1997 by Rob Swindell; PO Box 501, Yorba Linda, CA 92885 */ ! 4: ! 5: #ifndef _SMBLIB_H ! 6: #define _SMBLIB_H ! 7: ! 8: #if defined(__WATCOMC__) || defined(__TURBOC__) ! 9: # include <io.h> ! 10: # include <mem.h> ! 11: # include <share.h> ! 12: #else ! 13: # include <memory.h> ! 14: #endif ! 15: ! 16: #if defined(__WATCOMC__) ! 17: # include <dos.h> ! 18: #elif defined(__TURBOC__) ! 19: # include <dir.h> ! 20: #endif ! 21: ! 22: #if defined(__NT__) ! 23: # define SMBCALL _pascal _export ! 24: #elif defined(__FLAT__) ! 25: # define SMBCALL _export ! 26: #else ! 27: # define SMBCALL ! 28: #endif ! 29: ! 30: #include <malloc.h> ! 31: #include <time.h> ! 32: #include <errno.h> ! 33: #include <fcntl.h> ! 34: #include <stdio.h> ! 35: #include <stdlib.h> ! 36: #include <string.h> ! 37: #include <sys/stat.h> ! 38: #include <sys/types.h> ! 39: ! 40: #include "smbdefs.h" ! 41: ! 42: #define SMB_STACK_LEN 4 /* Max msg bases in smb_stack() */ ! 43: #define SMB_STACK_POP 0 /* Pop a msg base off of smb_stack() */ ! 44: #define SMB_STACK_PUSH 1 /* Push a msg base onto smb_stack() */ ! 45: #define SMB_STACK_XCHNG 2 /* Exchange msg base w/last pushed */ ! 46: ! 47: #define GETMSGTXT_TAILS 1 /* Get message tail(s) too */ ! 48: ! 49: int SMBCALL smb_ver(void); ! 50: char * SMBCALL smb_lib_ver(void); ! 51: int SMBCALL smb_open(smb_t *smb); ! 52: void SMBCALL smb_close(smb_t *smb); ! 53: int SMBCALL smb_open_da(smb_t *smb); ! 54: void SMBCALL smb_close_da(smb_t *smb); ! 55: int SMBCALL smb_open_ha(smb_t *smb); ! 56: void SMBCALL smb_close_ha(smb_t *smb); ! 57: int SMBCALL smb_create(smb_t *smb); ! 58: int SMBCALL smb_stack(smb_t *smb, int op); ! 59: int SMBCALL smb_trunchdr(smb_t *smb); ! 60: int SMBCALL smb_locksmbhdr(smb_t *smb); ! 61: int SMBCALL smb_getstatus(smb_t *smb); ! 62: int SMBCALL smb_putstatus(smb_t *smb); ! 63: int SMBCALL smb_unlocksmbhdr(smb_t *smb); ! 64: int SMBCALL smb_getmsgidx(smb_t *smb, smbmsg_t *msg); ! 65: int SMBCALL smb_getlastidx(smb_t *smb, idxrec_t *idx); ! 66: uint SMBCALL smb_getmsghdrlen(smbmsg_t *msg); ! 67: ulong SMBCALL smb_getmsgdatlen(smbmsg_t *msg); ! 68: int SMBCALL smb_lockmsghdr(smb_t *smb, smbmsg_t *msg); ! 69: int SMBCALL smb_getmsghdr(smb_t *smb, smbmsg_t *msg); ! 70: int SMBCALL smb_unlockmsghdr(smb_t *smb, smbmsg_t *msg); ! 71: int SMBCALL smb_addcrc(smb_t *smb, ulong crc); ! 72: int SMBCALL smb_hfield(smbmsg_t *msg, ushort type, ushort length ! 73: ,void *data); ! 74: int SMBCALL smb_dfield(smbmsg_t *msg, ushort type, ulong length); ! 75: int SMBCALL smb_addmsghdr(smb_t *smb, smbmsg_t *msg,int storage); ! 76: int SMBCALL smb_putmsg(smb_t *smb, smbmsg_t *msg); ! 77: int SMBCALL smb_putmsgidx(smb_t *smb, smbmsg_t *msg); ! 78: int SMBCALL smb_putmsghdr(smb_t *smb, smbmsg_t *msg); ! 79: void SMBCALL smb_freemsgmem(smbmsg_t *msg); ! 80: ulong SMBCALL smb_hdrblocks(ulong length); ! 81: ulong SMBCALL smb_datblocks(ulong length); ! 82: long SMBCALL smb_allochdr(smb_t *smb, ulong length); ! 83: long SMBCALL smb_fallochdr(smb_t *smb, ulong length); ! 84: long SMBCALL smb_hallochdr(smb_t *smb); ! 85: long SMBCALL smb_allocdat(smb_t *smb, ulong length, ushort headers); ! 86: long SMBCALL smb_fallocdat(smb_t *smb, ulong length, ushort headers); ! 87: long SMBCALL smb_hallocdat(smb_t *smb); ! 88: int SMBCALL smb_incdat(smb_t *smb, ulong offset, ulong length ! 89: ,ushort headers); ! 90: int SMBCALL smb_freemsg(smb_t *smb, smbmsg_t *msg); ! 91: int SMBCALL smb_freemsgdat(smb_t *smb, ulong offset, ulong length ! 92: ,ushort headers); ! 93: int SMBCALL smb_freemsghdr(smb_t *smb, ulong offset, ulong length); ! 94: char HUGE16 * SMBCALL smb_getmsgtxt(smb_t *smb, smbmsg_t *msg, ulong mode); ! 95: void SMBCALL smb_freemsgtxt(char HUGE16 *buf); ! 96: ! 97: /* FILE pointer I/O functions */ ! 98: ! 99: int SMBCALL smb_feof(FILE *fp); ! 100: int SMBCALL smb_ferror(FILE *fp); ! 101: int SMBCALL smb_fflush(FILE *fp); ! 102: int SMBCALL smb_fgetc(FILE *fp); ! 103: int SMBCALL smb_fputc(int ch, FILE *fp); ! 104: int SMBCALL smb_fseek(FILE *fp, long offset, int whence); ! 105: long SMBCALL smb_ftell(FILE *fp); ! 106: long SMBCALL smb_fread(char HUGE16 *buf, long bytes, FILE *fp); ! 107: long SMBCALL smb_fwrite(char HUGE16 *buf, long bytes, FILE *fp); ! 108: long SMBCALL smb_fgetlength(FILE *fp); ! 109: int SMBCALL smb_fsetlength(FILE *fp, long length); ! 110: void SMBCALL smb_rewind(FILE *fp); ! 111: void SMBCALL smb_clearerr(FILE *fp); ! 112: ! 113: /* LZH functions */ ! 114: ! 115: long SMBCALL lzh_encode(uchar *inbuf, long inlen, uchar *outbuf); ! 116: long SMBCALL lzh_decode(uchar *inbuf, long inlen, uchar *outbuf); ! 117: ! 118: #ifdef __WATCOMC__ /* Use MSC standard (prepended underscore) */ ! 119: #pragma aux smb_ver "_*" ! 120: #pragma aux smb_lib_ver "_*" ! 121: #pragma aux smb_open "_*" ! 122: #pragma aux smb_close "_*" ! 123: #pragma aux smb_open_da "_*" ! 124: #pragma aux smb_close_da "_*" ! 125: #pragma aux smb_open_ha "_*" ! 126: #pragma aux smb_close_ha "_*" ! 127: #pragma aux smb_create "_*" ! 128: #pragma aux smb_stack "_*" ! 129: #pragma aux smb_trunchdr "_*" ! 130: #pragma aux smb_locksmbhdr "_*" ! 131: #pragma aux smb_getstatus "_*" ! 132: #pragma aux smb_putstatus "_*" ! 133: #pragma aux smb_unlocksmbhdr "_*" ! 134: #pragma aux smb_getmsgidx "_*" ! 135: #pragma aux smb_getlastidx "_*" ! 136: #pragma aux smb_getmsghdrlen "_*" ! 137: #pragma aux smb_getmsgdatlen "_*" ! 138: #pragma aux smb_lockmsghdr "_*" ! 139: #pragma aux smb_getmsghdr "_*" ! 140: #pragma aux smb_unlockmsghdr "_*" ! 141: #pragma aux smb_addcrc "_*" ! 142: #pragma aux smb_hfield "_*" ! 143: #pragma aux smb_dfield "_*" ! 144: #pragma aux smb_addmsghdr "_*" ! 145: #pragma aux smb_putmsg "_*" ! 146: #pragma aux smb_putmsgidx "_*" ! 147: #pragma aux smb_putmsghdr "_*" ! 148: #pragma aux smb_freemsgmem "_*" ! 149: #pragma aux smb_hdrblocks "_*" ! 150: #pragma aux smb_datblocks "_*" ! 151: #pragma aux smb_allochdr "_*" ! 152: #pragma aux smb_fallochdr "_*" ! 153: #pragma aux smb_hallochdr "_*" ! 154: #pragma aux smb_allocdat "_*" ! 155: #pragma aux smb_fallocdat "_*" ! 156: #pragma aux smb_hallocdat "_*" ! 157: #pragma aux smb_incdat "_*" ! 158: #pragma aux smb_freemsg "_*" ! 159: #pragma aux smb_freemsgdat "_*" ! 160: #pragma aux smb_freemsghdr "_*" ! 161: #pragma aux smb_getmsgtxt "_*" ! 162: #pragma aux smb_freemsgtxt "_*" ! 163: #pragma aux smb_feof "_*" ! 164: #pragma aux smb_ferror "_*" ! 165: #pragma aux smb_fflush "_*" ! 166: #pragma aux smb_fgetc "_*" ! 167: #pragma aux smb_fputc "_*" ! 168: #pragma aux smb_fseek "_*" ! 169: #pragma aux smb_ftell "_*" ! 170: #pragma aux smb_fread "_*" ! 171: #pragma aux smb_fwrite "_*" ! 172: #pragma aux smb_fgetlength "_*" ! 173: #pragma aux smb_fsetlength "_*" ! 174: #pragma aux smb_rewind "_*" ! 175: #pragma aux smb_clearerr "_*" ! 176: #pragma aux lzh_encode "_*" ! 177: #pragma aux lzh_decode "_*" ! 178: #endif /* Watcom */ ! 179: ! 180: ! 181: #endif /* Don't add anything after this #endif statement */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.