Annotation of src/netnow.h, revision 1.1.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.