Annotation of src/netnow.h, revision 1.1

1.1     ! root        1: /****************************************************************************
        !             2: *
        !             3: *  File              : netnow.h
        !             4: *  Date Created      : 1/18/95
        !             5: *  Description       : NETNOW! support library header file
        !             6: *
        !             7: *  Programmer(s)     : Nick Skrepetos
        !             8: *  Last Modification : 2/16/95 - 8:32:9 AM
        !             9: *  Additional Notes  :
        !            10: *
        !            11: *****************************************************************************
        !            12: *            Copyright (c) 1994-95,  HMI, Inc.  All Rights Reserved         *
        !            13: ****************************************************************************/
        !            14: 
        !            15: #ifndef  _HMI_NET_DEFINED
        !            16: #define  _HMI_NET_DEFINED
        !            17: 
        !            18: // equates
        !            19: #define  _DPMI_INT               0x31
        !            20: 
        !            21: // maximum number of allowable nodes
        !            22: #define  _NETNOW_MAX_NODES       16
        !            23: 
        !            24: // broadcast command
        !            25: #define  _NETNOW_BROADCAST       _NETNOW_MAX_NODES + 1
        !            26: 
        !            27: // maximum number of packet in send/listen queue
        !            28: #define  _NETNOW_MAX_SEND_PACKETS      24
        !            29: #define  _NETNOW_MAX_LISTEN_PACKETS    24
        !            30: 
        !            31: // size of data packet for transmission
        !            32: #define  _NETNOW_DATA_PACKET           512
        !            33: 
        !            34: // filler for alignment
        !            35: #define  __HMI_FILL(a)  unsigned short a;
        !            36: 
        !            37: // real mode interrupt structure
        !            38: typedef  struct   _tagRMI_REGS
        !            39:          {
        !            40:             // system registers
        !            41:             long  EDI;
        !            42:             long  ESI;
        !            43:             long  EBP;
        !            44: 
        !            45:             // reserved
        !            46:             long  reserved_by_system;
        !            47: 
        !            48:             long  EBX;
        !            49:             long  EDX;
        !            50:             long  ECX;
        !            51:             long  EAX;
        !            52: 
        !            53:             // system flags
        !            54:             short flags;
        !            55: 
        !            56:             // segment registers
        !            57:             short ES,DS,FS,GS,IP,CS,SP,SS;
        !            58: 
        !            59:          }  _RMI_REGS;
        !            60: 
        !            61: // set structure packing to byte alignment
        !            62: #pragma  pack(1)
        !            63: 
        !            64: // byte registers
        !            65: typedef  struct   _tagBREGS
        !            66:          {
        !            67: 
        !            68:             char  al, ah;  unsigned short _1;
        !            69:             char  bl, bh;  unsigned short _2;
        !            70:             char  cl, ch;  unsigned short _3;
        !            71:             char  dl, dh;  unsigned short _4;
        !            72: 
        !            73:          } _HMI_BREGS;                
        !            74: 
        !            75: // word registers
        !            76: typedef  struct   _tagWREGS
        !            77:          {
        !            78: 
        !            79:             unsigned short    ax;   unsigned short _1;
        !            80:             unsigned short    bx;   unsigned short _2;
        !            81:             unsigned short    cx;   unsigned short _3;
        !            82:             unsigned short    dx;   unsigned short _4;
        !            83:             unsigned short    si;   unsigned short _5;
        !            84:             unsigned short    di;   unsigned short _6;
        !            85: 
        !            86:          } _HMI_WREGS;
        !            87: 
        !            88: // dword registers
        !            89: typedef  struct   _tagDREGS
        !            90:          {
        !            91: 
        !            92:             unsigned int   eax;
        !            93:             unsigned int   ebx;
        !            94:             unsigned int   ecx;
        !            95:             unsigned int   edx;
        !            96:             unsigned int   esi;
        !            97:             unsigned int   edi;
        !            98:             unsigned int   cflags;
        !            99: 
        !           100:          } _HMI_DREGS;
        !           101: 
        !           102: 
        !           103: // segment registers
        !           104: typedef  struct   _tagSREGS
        !           105:          {
        !           106: 
        !           107:             unsigned short    es;
        !           108:             unsigned short    cs;
        !           109:             unsigned short    ss;
        !           110:             unsigned short    ds;
        !           111:             unsigned short    fs;
        !           112:             unsigned short    gs;
        !           113: 
        !           114:          } _HMI_SREGS;
        !           115: 
        !           116: 
        !           117: // general register packet
        !           118: typedef  union
        !           119:          {
        !           120: 
        !           121:             _HMI_DREGS  x;
        !           122:             _HMI_WREGS  w;
        !           123:             _HMI_BREGS  h;
        !           124: 
        !           125:          } _HMI_REGS;
        !           126: 
        !           127: // reset structure packing
        !           128: #pragma  pack()
        !           129: 
        !           130: // equates for node addition
        !           131: enum
        !           132:    {
        !           133:       _NETNOW_ADD_COMPLETE,
        !           134:       _NETNOW_ADD_DUPLICATE,
        !           135:       _NETNOW_ADD_LIST_FULL
        !           136:    };
        !           137: 
        !           138: // error code enumerations
        !           139: enum
        !           140:    {
        !           141:       _NETNOW_NO_ERROR,
        !           142:       _NETNOW_NO_NETWORK,
        !           143:       _NETNOW_INIT_ERROR,
        !           144:       _NETNOW_NO_REALMEM,
        !           145:       _NETNOW_IPX,
        !           146:       _NETNOW_NETBIOS,
        !           147:    };
        !           148: 
        !           149: #include "hmiipx.h"
        !           150: #include "hminetb.h"
        !           151: #include "hmixfer.h"
        !           152: 
        !           153: // set structure packing to byte alignment
        !           154: #pragma  pack(1)
        !           155: 
        !           156: // generic network address
        !           157: typedef  union 
        !           158:          {
        !           159: 
        !           160:             _IPX_LOCAL_TARGET       sIPX;
        !           161:             _NETBIOS_LOCAL_TARGET   sNETBIOS;
        !           162: 
        !           163:          } _NETNOW_NODE_ADDR;
        !           164: 
        !           165: // reset structure packing
        !           166: #pragma  pack()
        !           167: 
        !           168: #endif
        !           169: 
        !           170: // function prototypes from IPX/NETBIOS
        !           171: BOOL   cdecl   hmiIPXGetNetworkAddr       ( _NETNOW_NODE_ADDR * sNode );
        !           172: WORD   cdecl hmiIPXAddNode              ( _NETNOW_NODE_ADDR * sNewNetwork );
        !           173: BOOL   cdecl   hmiNETBIOSGetNetworkAddr   ( _NETNOW_NODE_ADDR * sNode );
        !           174: WORD   cdecl hmiNETBIOSAddNode          ( _NETNOW_NODE_ADDR * sNewNetwork );
        !           175: 
        !           176: // function protoypes from netasm.asm
        !           177: VOID  cdecl hmiINT386x                 ( WORD wInterrupt, _HMI_REGS * sIn, _HMI_REGS * sOut,
        !           178:                                          _HMI_SREGS * sRegs );
        !           179: USHORT   cdecl hmiGetDS                ( VOID );
        !           180: USHORT   cdecl hmiGetCS                ( VOID );
        !           181: WORD     cdecl hmiAllocateLinearMem    ( WORD wSize, WORD * wAddress, WORD * wHandle );
        !           182: WORD     cdecl hmiMapPhysicalToLinear  ( WORD wHandle, WORD wPhysical, WORD wSize );
        !           183: 
        !           184: // function prototypes
        !           185: BOOL   cdecl   hmiNETNOWInitSystem              ( WORD wNodes );
        !           186: BOOL   cdecl   hmiNETNOWUnInitSystem            ( VOID );
        !           187: BOOL   cdecl hmiNETNOWAllocateRealMem         ( WORD wSize, PSTR * pPtr, WORD * wSegment );
        !           188: BOOL   cdecl   hmiNETNOWFindNodes               ( WORD wNodes );
        !           189: WORD   cdecl   hmiNETNOWGetConsoleNode          ( VOID );
        !           190: WORD   cdecl   hmiNETNOWGetActiveNodes          ( VOID );
        !           191: BOOL   cdecl   hmiNETNOWSendData                ( PSTR pHeader, WORD wHSize,
        !           192:                                                PSTR pData,   WORD wDSize,
        !           193:                                                WORD wNode );
        !           194: BOOL   cdecl   hmiNETNOWGetData                 ( PSTR pHeader, WORD wHSize,
        !           195:                                                PSTR pData,   WORD wDSize );
        !           196: WORD   cdecl   hmiNETNOWAddNode                 ( _NETNOW_NODE_ADDR * sNode );
        !           197: VOID   cdecl   hmiNETNOWSortNodes               ( VOID );
        !           198: BOOL   cdecl   hmiNETNOWPostListen              ( VOID );
        !           199: BOOL   cdecl   hmiNETNOWGetNetworkAddr          ( _NETNOW_NODE_ADDR * sNode  );
        !           200: WORD   cdecl   hmiNETNOWGetNetworkType          ( VOID );
        !           201: BOOL   cdecl   hmiNETNOWGetHeader               ( PSTR pHeader,   WORD wHSize, 
        !           202:                                                PSTR * pPacket );
        !           203: VOID   cdecl   hmiNETNOWGetBlock                ( PSTR pPacket, PSTR pData, WORD wDSize );
        !           204: 

unix.superglobalmegacorp.com

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