home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / windows / winkerm.zip / WINKRM.H < prev    next >
C/C++ Source or Header  |  1986-10-10  |  5KB  |  162 lines

  1.  
  2. /*
  3.  * Windows Kermit header file
  4.  */
  5.      
  6. #include <stdio.h>
  7.      
  8.  /* this trick allows externs to be put in one place */
  9. #ifndef EXTERN
  10.     #define EXTERN extern
  11. #endif
  12.      
  13. /* Dialogue box constants */
  14. #define ABOUTBOX 1
  15. #define SENDBOX 2
  16. #define SNDPROMPT 3
  17. #define SNDFILENAME 4
  18.      
  19. /* String manifests */
  20. #define APPNAME    100
  21. #define APPABOUT 101
  22. #define TITLE    102
  23. #define COM1STR 103
  24. #define COM2STR 104
  25. #define STATESTRING 105
  26. #define FILESTRING 106
  27. #define PACKETSTRING 107
  28.      
  29. /* STATE MANIFESTS */
  30. #define CONNECTSTATE 200
  31. #define RECEIVESTATE 201
  32. #define SENDSTATE 202
  33.      
  34. /* COMM PORT MANIFESTS */
  35. #define COMMPORT1 300
  36. #define COMMPORT2 301
  37. #define RXBUFSIZE 1024
  38. #define TXBUFSIZE 1024
  39. #define MAXCOMMERR -100
  40.      
  41. /* BAUD RATE MANIFESTS */
  42. #define BAUD300    400
  43. #define BAUD1200 401
  44. #define BAUD2400 402
  45.      
  46. /* MISCELLANEOUS */
  47. #define RXSIZE 100
  48. #define NAMESIZE 12
  49. #define PATHSIZE 64
  50.      
  51. /* KERMIT PROTOCOL PARAMETERS */
  52. #define MAXPACKSIZ 94
  53. #define SOH 1
  54. #define NL 10
  55. #define CR 13
  56. #define SP 32
  57. #define DEL 127
  58.      
  59. #define MAXTRY 10
  60. #define MYQUOTE '#'
  61. #define MYPAD 0
  62. #define MYPCHAR '\000'
  63. #define MYEOL CR
  64. #define MYTIME 10
  65.      
  66. /* MACROS */
  67. #define tochar(ch) ((ch) + ' ')
  68. #define unchar(ch) ((ch) - ' ')
  69. #define ctl(ch) ((ch) ^ 64)
  70. #define unpar(ch) ((ch) & 127)
  71.      
  72. /* Export function declarations */
  73. BOOL FAR PASCAL About(HWND,unsigned, WORD, LONG);
  74. LONG FAR PASCAL WinKermWndProc(HWND, unsigned, WORD, LONG);
  75. BOOL FAR PASCAL GetSendFile(HWND, unsigned, WORD, LONG);
  76.      
  77. /* GLOBALS */
  78.      
  79. /* Window Management */
  80. EXTERN HDC hKermDC;        /* main window device context */
  81. EXTERN LOGFONT ScreenFont;    /* logical font structure */
  82. EXTERN HANDLE hScreenFont;    /* handle to current font */
  83. EXTERN HANDLE hOldScreenFont;    /* handle to old font */
  84. EXTERN HWND hKermWnd;        /* handle to the main window */
  85. EXTERN HANDLE hInst;        /* instance handle */
  86. EXTERN FARPROC lpprocAbout;    /* lp to About procedure */
  87. EXTERN FARPROC lpprocSendBox;    /* lp to send box procedure */
  88. EXTERN int CharWidth;        /* character font width in device coor */
  89. EXTERN int CharHeight;        /* character font height in device coor */
  90. EXTERN int XClientSize;        /* window client horizontal size in dev coor */
  91. EXTERN int YClientSize;        /* window client vertical size in dev coor */
  92. EXTERN int Xpos;        /* current X position on screen in dev coor */
  93. EXTERN int Ypos;        /* current Y position on screen in dev coor */
  94.      
  95. /* Communication stuff */
  96. EXTERN int cid;            /* communications id */
  97. EXTERN DCB ComDCB;        /* comm port data structure */
  98.      
  99. /* Menu Command items */
  100. EXTERN WORD CurrentPort;    /* Current port indicator */
  101. EXTERN WORD CurrentState;    /* current state indicator */
  102. EXTERN WORD CurrentBaud;    /* current baud */
  103. EXTERN WORD ThisState;        /* state one is in */
  104.      
  105. /* Screen buffer stuff */
  106. EXTERN char *ScreenBuf;        /* Screen buffer pointer */
  107. EXTERN int ScreenBufHead;    /* Location of scrren buffer */
  108. EXTERN int ScreenLineLen;    /* line length of client area */
  109. EXTERN int ScreenHeight;    /* client screen height */
  110. EXTERN int LineIncrement;    /* size in chars of a line */
  111. EXTERN int MaxLinesOnScreen;    /* current num of lines in client area */
  112.      
  113. EXTERN int MaxDevCoorLen;    /* max horizontal size of device in dev coor */
  114. EXTERN int MaxCharLineLen;    /* maximum char line length */
  115. EXTERN int MaxLines;        /* maximum number of lines on device */
  116. EXTERN int MaxChars;        /* maximun number of chars on screen */
  117.      
  118. EXTERN int PosInLine;        /* offset into current line */
  119. EXTERN int CurrentLine;        /* current line pointer */
  120. EXTERN int FirstLine;        /* location of first line */
  121. EXTERN int CurrentMaxLine;    /* current client area max lines in dev coor */
  122.      
  123. EXTERN char szAppName[10];    /* strings */
  124. EXTERN char szAbout[10];    /* about string */
  125. EXTERN char szWinTitle[10];    /* title bar */
  126. EXTERN char szCom1[5];        /* com1 and com2 */
  127. EXTERN char szCom2[5];
  128. EXTERN char StateLabel[10];    /* labels for send and receive popup window */
  129. EXTERN char PacketLabel[11];
  130. EXTERN char FileLabel[9];
  131.      
  132. /* Kermit Protocol Globals */
  133. EXTERN int size;        /* size of present data */
  134. EXTERN int rpsiz;        /* max receive packet size */
  135. EXTERN int spsiz;        /* maximum send packet size */
  136. EXTERN int pad;            /* how much padding to send */
  137. EXTERN int timint;        /* timeout for foreign hosts on sends */
  138. EXTERN int n;            /* packet number */
  139. EXTERN int numtry;        /* times this packet retried */
  140. EXTERN int oldtry;
  141. EXTERN int debug;        /* 0 means no debugging */
  142. EXTERN int pktdeb;        /* save packets, too */
  143.      
  144. EXTERN char state;        /* present state of automaton */
  145. EXTERN BYTE cchksum;        /* our computed checksum */
  146. EXTERN char padchar;        /* padding character */
  147. EXTERN char eol;        /* end of line char to send */
  148. EXTERN char quote;        /* quote character in incoming data */
  149. EXTERN char recpkt[MAXPACKSIZ]; /* receive packet buffer */
  150. EXTERN char packet[MAXPACKSIZ];    /* packet buffer */
  151.      
  152. EXTERN FILE *fp;        /* pointer to file being received or sent */
  153. EXTERN FILE *dpfp;        /* pointer to debug file */
  154.      
  155. EXTERN HANDLE hRXWnd;        /* handle to rec or send popup window */
  156. EXTERN HDC hRXWndDC;        /* handle to its device context */
  157.      
  158. EXTERN char StateStr[2];    /* strings used by rec/send popup */
  159. EXTERN char PacketStr[6];
  160. EXTERN char filnam1[NAMESIZE + 1];
  161. EXTERN unsigned PacketCount;    /* total packet number accmuulator */
  162.