home *** CD-ROM | disk | FTP | other *** search
/ Quake 'em / QUAKEEM.BIN / doom_i / program / tcpsrv12.exe / TCPSRV12.TAR / node.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-09-28  |  1.4 KB  |  65 lines

  1. #ifndef NODE_H
  2. #define NODE_H
  3.  
  4. typedef struct{
  5.     int type;        /* player, guest, status, god */
  6.     int status;        /* unused, active, sleeping */
  7.     int sd;            /* socket descriptor */
  8.     char name[128];
  9.     char email[128];
  10.     char alias[16];
  11.     char ip[4*4+10];
  12. } Node;
  13.  
  14. enum { PLAYER, GUEST, STATUS, GOD, UNKNOWN };
  15. enum { UNUSED, ACTIVE, SLEEP };
  16.  
  17. #define MAX_PLAYERS            4
  18. #define MAX_GUESTS            5
  19. #define MAX_GODS            2
  20. #define MAX_NODES            (MAX_PLAYERS+MAX_GUESTS+MAX_GODS)
  21.  
  22. extern Node nodes[];
  23. extern int nodeidx;
  24.  
  25. #define IsUnused(nd)        ((nd).status == UNUSED)
  26. #define IsActive(nd)        ((nd).status == ACTIVE)
  27. #define IsAsleep(nd)        ((nd).status == SLEEP)
  28. #define IsPlayer(nd)        ((nd).type == PLAYER && \
  29.             ((nd).status == ACTIVE || ((nd).status == SLEEP)))
  30. #define IsGuest(nd)            ((nd).type == GUEST && \
  31.             ((nd).status == ACTIVE || ((nd).status == SLEEP)))
  32. #define IsGod(nd)            ((nd).type == GOD && \
  33.             ((nd).status == ACTIVE || ((nd).status == SLEEP)))
  34.  
  35.  
  36. #ifdef __STDC__
  37. int InitNode(int);
  38. int InitNodes();
  39. int NewNodeIndex();
  40. int NewNode(int, int, char *, char *, char *, char *);
  41. int NumPlayers();
  42. int NumGuests();
  43. int GetNodeType(char *);
  44. char *StrNodeType(int);
  45. int WriteNodes(char *);
  46. char *NodeStat(int);
  47. char *PlayersStat();
  48. char *GuestsStat();
  49. #else
  50. int InitNode();
  51. int InitNodes();
  52. int NewNodeIndex();
  53. int NewNode();
  54. int NumPlayers();
  55. int NumGuests();
  56. int GetNodeType();
  57. char *StrNodeType();
  58. int WriteNodes();
  59. char *NodeStat();
  60. char *PlayersStat();
  61. char *GuestsStat();
  62. #endif
  63.  
  64. #endif
  65.