home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / go / prog / nextgo23.taz / nextgo23 / NeXTGo / igs.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-02-09  |  2.7 KB  |  121 lines

  1. #ifndef _IGS_INFORMATION_
  2. #define _IGS_INFORMATION_
  3. #include "comment.header"
  4.  
  5. /*  Uncomment the following to create a dump file used for debugging the
  6.     socket communications.  */
  7. /* #define DEBUG  */
  8.  
  9. #define MAXGAMES 25
  10. #define piece unsigned char
  11.  
  12. extern int sock;
  13.  
  14. typedef struct {
  15.    int id;
  16.  
  17.    int prompttype;        /* if return is prompt */
  18.  
  19.    int x, y, gamenum;        /* if return is play */
  20.    int movenum;
  21.    int color;
  22.    int bcap, btime, bbyo;
  23.    int wcap, wtime, wbyo;
  24.  
  25.    char text[10000];        /* text of message */
  26.    int lines;            /* number of lines in text */
  27.  
  28.    int gamecount;        /* for data from the games command */
  29.    struct {
  30.       int gnum;
  31.       char white[21], wrank[5], black[21], brank[5];
  32.       int mnum, bsize, hcap;
  33.       float komi;
  34.    }  gamelist[MAXGAMES];
  35.  
  36.    int boardline;
  37.    int boardsize;
  38.    float wscore, bscore;
  39.    piece board[19][19];
  40.  
  41.    int beep;
  42.  
  43.    char kibitzer[40];
  44.    char kibitz[300];
  45.  
  46.  
  47. }  message;
  48.  
  49.  
  50.  
  51. #define LOCAL 0
  52. #define IGSGAME 1
  53.  
  54. #define ONSERVER -1
  55. #define MATCH -2
  56. #define QUITMESG -3
  57. #define REMOVE -4
  58. #define SCOREUNDO -5
  59. #define TIMEREP -6
  60.  
  61. #define BLACK 2
  62. #define WHITE 1
  63. #define EMPTY 0
  64. #define DAME 3
  65. #define BTERR 5
  66. #define WTERR 4
  67.  
  68. #define KEY -33
  69.  
  70. /*  Routines needed from GoApp.m  */
  71.  
  72. /*  Routines needed from Board.m  */
  73. extern void displaygamenumber(int gamenum);
  74.  
  75. /*  Routines from igssocket.m  */
  76. extern char servename[80];
  77. extern int serveport;
  78. extern void sethost(char *s);
  79. extern void setport(int s);
  80. extern int open_connection();
  81. extern void sendstr(char *buf);
  82. extern int eatchar;
  83. extern int handlechar(char in);
  84. extern void incomingserver();
  85. extern int pollserver();
  86.  
  87. /*  Routines from igsparse.c  */
  88. extern char *getloginname();
  89. extern char *getpassword();
  90. extern char retbuf[1000];
  91. extern int idle;
  92. extern int loggedon;
  93. extern int repeatpass, repeatlogin;
  94. extern char *Prompts[];
  95. extern void initparser();
  96. extern int DoState(char *s);
  97. extern int getmessage(message *mess, int uninitiated);
  98. extern void parsescore(message *mesg, char *s);
  99. extern void parsewho(message *mesg, char *str);
  100. extern void parsegame(message *mesg, char *str);
  101. extern int parseinfo(char *s, message *mess);
  102. extern int parseundo(char *s, int *gamenum);
  103. extern int parsekibitz(char *s, message *mess);
  104. extern int parsemove(char *s, int *x, int *y, int *mv, int *gm, int *color,
  105.              int *bcap, int *btime, int *bbyo, int *wcap, int *wtime,
  106.              int *wbyo);
  107. extern int doneline(char *inbuf, int inptr);
  108.  
  109. /*  Routines from igsglue.m  */
  110. extern int startgame(int n);
  111. extern void getmoves(int n);
  112. extern void getgames(message *mess);
  113. extern void unobserve(void);
  114. extern int observegame(int n);
  115. extern int peekgame(int n);
  116. extern void setgame(int newgame);
  117. extern void loadgame(char *name);
  118. extern void doserver(void);
  119.  
  120. #endif
  121.