home *** CD-ROM | disk | FTP | other *** search
-
- /*
- * Copyright (c) 1991 Darryl Collins.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Darryl Collins, University of western Australia. The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-
- /*
- * Please send questions, comments and bug-reports to
- *
- * darryl@fibula.surgery.uwa.oz.au
- *
- * Sources to the DLL are available upon request.
- */
-
- /* #include "windows.h" */
-
- #define NB_WAIT 0x00 /* Wait for completion */
- #define NB_NOWAIT 0x80 /* Do no wait for completion*/
-
- #define NB_RESET 0x32 /* Reset adapter */
- #define NB_CANCEL 0x35 /* Cancel command */
- #define NB_ASTATUS 0x33 /* Get NETBIOS intf status */
- #define NB_UNLINK 0x70 /* Unlink (RPL) */
-
- #define NB_ADDNAME 0x30 /* Add name */
- #define NB_ADDGROUP 0x36 /* Add group name */
- #define NB_DELNAME 0x31 /* Delete name */
-
- #define NB_CALL 0x10 /* Call */
- #define NB_LISTEN 0x11 /* Listen */
- #define NB_HANGUP 0x12 /* Hang up */
- #define NB_SEND 0x14 /* Send */
- #define NB_SENDNACK 0x71 /* Send */
- #define NB_CHSEND 0x17 /* Chain send */
- #define NB_CHSENDNACK 0x72 /* Chain send */
- #define NB_RECEIVE 0x15 /* Receive */
- #define NB_RECANY 0x16 /* Receive any */
- #define NB_SESSTATUS 0x34 /* Get session status */
-
- #define NB_SDATAGRAM 0x20 /* Send datagram */
- #define NB_SBROADCAST 0x22 /* Send broadcast */
- #define NB_RDATAGRAM 0x21 /* Receive datagram */
- #define NB_RBROADCAST 0x23 /* Receive broadcast */
-
- struct Ncb;
-
- typedef struct Ncb NCB;
- typedef HANDLE HNCB;
- typedef NCB far * LPNCB;
-
- struct Ncb {
-
- unsigned char NcbCommand;
- unsigned char NcbRetCode;
- unsigned char NcbLsn;
- unsigned char NcbNum;
-
- LPSTR NcbBuffer;
- unsigned int NcbLength;
-
- char NcbCallName[16];
- char NcbName[16];
-
- unsigned char NcbRto;
- unsigned char NcbSto;
-
- FARPROC NcbPostRoutine;
-
- unsigned char NcbLanaNum;
- unsigned char NcbCmdCmplt;
-
- char NcbReservedArea[14];
-
- HWND hWnd;
- HANDLE hNcb;
-
- LPNCB lpNext;
- LPNCB lpPrev;
- };
-
- extern LPNCB lpNcbList;
-
- typedef struct {
- unsigned char bssNameNum;
- unsigned char bssNumSessions;
- unsigned char bssPendingRecDataGram;
- unsigned char bssPendingRecAny;
- } BASESESSIONSTATUS;
-
- typedef struct {
- unsigned char ssLsn;
- unsigned char ssState;
- char ssLocalName[16];
- char ssRemoteName[16];
- unsigned char ssPendingReceives;
- unsigned char ssPendingSends;
- } SESSIONSTATE;
-
- typedef struct {
- BASESESSIONSTATUS bss;
- SESSIONSTATE ss[10];
- } SESSIONSTATUS;
-
- typedef struct {
- char szNodeName[6];
- char cMajorVersion;
- char cReserved;
- char cAdapterType;
- char cMinorVersion;
- int nReportPeriod;
- int nReceiveReject;
- int nTransmitReject;
- int nReceiveError;
- int nTransmitAbort;
- long lTransmitCount;
- long lReceiveCount;
- int nTransmitError;
- int nRemoteDepletion;
- int nExpiredT1;
- int nExpiredTi;
- LPSTR lpExtStatus;
- int nFreeCmdBlks;
- int nMaxPendingNCBs;
- int nMaxCommands;
- int nTransmitDepletion;
- int nMaxPacketSize;
- int nPendingSessions;
- int nMaxPendingSessions;
- int nMaxSessions;
- int nMaxSessionPacketSize;
- int nNameTableEntries;
- } ADAPTERSTATUS;
-
-
- LPNCB FAR PASCAL Reset(HWND hWnd,unsigned char nLsn, unsigned char nNum);
- LPNCB FAR PASCAL AdapterStatus(HWND hWnd,LPSTR lpCallName, LPSTR lpStatBuf, unsigned nLength, BOOL bWait);
- LPNCB FAR PASCAL Cancel(HWND hWnd,LPNCB lpNcb);
- LPNCB FAR PASCAL Unlink(HWND hWnd);
-
- LPNCB FAR PASCAL AddName(HWND hWnd,LPSTR lpName, BOOL bWait);
- LPNCB FAR PASCAL DeleteName(HWND hWnd,LPSTR lpName, BOOL bWait);
- LPNCB FAR PASCAL AddGroupName(HWND hWnd,LPSTR lpName, BOOL bWait);
-
- LPNCB FAR PASCAL Call(HWND hWnd,LPSTR lpCallName, LPSTR lpName, BOOL bWait);
- LPNCB FAR PASCAL Listen(HWND hWnd,LPSTR lpCallName, LPSTR lpName, BOOL bWait);
- LPNCB FAR PASCAL HangUp(HWND hWnd,unsigned char nLsn, BOOL bWait);
- LPNCB FAR PASCAL Send(HWND hWnd,unsigned char nLsn, LPSTR lpBuffer, unsigned nLength, BOOL bWait);
- LPNCB FAR PASCAL Receive(HWND hWnd,unsigned char nLsn, LPSTR lpBuffer, unsigned nLength, BOOL bWait);
- LPNCB FAR PASCAL ReceiveAny(HWND hWnd,unsigned char nNum, LPSTR lpBuffer, unsigned nLength, BOOL bWait);
- LPNCB FAR PASCAL ChainSend(HWND hWnd,unsigned char nLsn, LPSTR lpBuf0, unsigned nLength0, LPSTR lpBuf1, unsigned nLength1, BOOL bWait);
- LPNCB FAR PASCAL SessionStatus(HWND hWnd,LPSTR lpBuffer, unsigned nLength, LPSTR lpName, BOOL bWait);
- LPNCB FAR PASCAL SendNoAck(HWND hWnd,unsigned char nLsn, LPSTR lpBuffer, unsigned nLength, BOOL bWait);
- LPNCB FAR PASCAL ChainSendNoAck(HWND hWnd,unsigned char nLsn, LPSTR lpBuf0, unsigned nLength0, LPSTR lpBuf1, unsigned nLength1, BOOL bWait);
-
- LPNCB FAR PASCAL SendDatagram(HWND hWnd,unsigned char nNum, LPSTR lpBuffer, unsigned nLength, LPSTR lpCallName, BOOL bWait);
- LPNCB FAR PASCAL ReceiveDatagram(HWND hWnd,unsigned char nNum, LPSTR lpBuffer, unsigned nLength, BOOL bWait);
- LPNCB FAR PASCAL SendBroadcastDatagram(HWND hWnd,unsigned char nNum, LPSTR lpBuffer, unsigned nLength, BOOL bWait);
- LPNCB FAR PASCAL ReceiveBroadcastDatagram(HWND hWnd,unsigned char nNum, LPSTR lpBuffer, unsigned nLength, BOOL bWait);
-
- void FAR PASCAL ReleaseNcb(LPNCB lpNcb);
- LPSTR FAR PASCAL AllocFixedBuffer(unsigned int);
- void FAR PASCAL FreeFixedBuffer(LPSTR);
-
-
-
- #define NB_COMMAND 0xdcdc
-