home *** CD-ROM | disk | FTP | other *** search
- /*****************************************************************************
- * ADDRESS.C
- *
- * 90-12-27 Matt Hagen, Novell, Inc.
- *****************************************************************************/
-
- #include <stdio.h>
- #include <stdlib.h>
-
- #define BYTE unsigned char
- #define WORD unsigned short
- #define LONG unsigned long
-
- typedef struct
- {
- BYTE inUse;
- BYTE order;
- BYTE net[4];
- BYTE node[6];
- BYTE socket[2];
- BYTE timeout[2];
- BYTE immedAddr[6];
- BYTE sequence;
- BYTE connectionNum;
- BYTE connectionStatus;
- BYTE maxTimeout[2];
- BYTE reserved[5];
- }ConnIDTable;
-
- extern int GetConnectionIDTableEntry(
- WORD connID,
- ConnIDTable *entry);
-
- int GetServerAddress(
- WORD connID,
- BYTE *net,
- BYTE *node,
- BYTE *immediate);
-
- /*****************************************************************************
- * main
- *****************************************************************************/
-
- main()
- {
- WORD c;
- BYTE net[4];
- BYTE node[6];
- BYTE immediate[6];
-
- for(c=1;c<9;c++)
- {
- GetServerAddress(c,net,node,immediate);
- printf("Slot %d %.2X%.2X%.2X%.2X ",c,net[0],net[1],net[2],net[3]);
- printf("%.2X%.2X%.2X%.2X%.2X%.2X ",node[0],node[1],node[2],node[3],node[4],node[5]);
- printf("%.2X%.2X%.2X%.2X%.2X%.2X\n",immediate[0],immediate[1],immediate[2],immediate[3],immediate[4],immediate[5]);
- }
-
- return(0);
- }
-
- /*****************************************************************************
- * GetServerAddress
- *
- * connID is an index (1..8) into the table. net points to a four-byte buffer
- * for the server's network address. node points to a 6-byte buffer for the
- * server's node address. immediate points to a 6-byte buffer for the node
- * address of the router that routes packets from the client to the server.
- * This routine returns 0 for successful and -1 if connID is an invalid number.
- *****************************************************************************/
-
- int GetServerAddress(
- WORD connID,
- BYTE *net,
- BYTE *node,
- BYTE *immediate)
- {
- ConnIDTable e;
-
- if(GetConnectionIDTableEntry(connID,&e)!=0)
- return(-1);
-
- memmove(net,&e.net,4);
- memmove(node,&e.node,6);
- memmove(immediate,&e.immedAddr,6);
-
- return(0);
- }
-
- /****************************************************************************/
- /****************************************************************************/
-