home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 427.lha / pmdcom / sources / pc8.h < prev   
Encoding:
C/C++ Source or Header  |  1990-10-08  |  7.6 KB  |  238 lines

  1.  
  2. /* if you attempt to compile this, you may have to add some */
  3. /*  more includes here, since I modified this file after I */
  4. /*  did a  lc -ph  */
  5.  
  6. #include <intuition/intuition.h>
  7. #include <exec/exec.h>
  8. #include <devices/serial.h>
  9. #include <minrexx.h>   /* from the arexx disk */
  10. #include <xproto.h>    /* xpr library stuff */
  11. #include <reqbase.h>   /* req.library stuff-see lib9 */
  12.  
  13. struct NewWindow wnw = {
  14.         0,0,
  15.         640,200,
  16.         0,1,
  17.         VANILLAKEY|MENUPICK,
  18.         WINDOWSIZING|WINDOWDEPTH|WINDOWDRAG|ACTIVATE|SMART_REFRESH|NOCAREREFRESH,
  19.         NULL,
  20.         NULL,
  21.         NULL,
  22.         NULL,
  23.         NULL,
  24.         100,40,640,400,
  25.         WBENCHSCREEN };
  26.  
  27. struct NewScreen cns = {
  28.     0,0,640,200,1,
  29.     0,1,
  30.     HIRES,
  31.     CUSTOMSCREEN,
  32.     NULL,
  33.     NULL,
  34.     NULL,
  35.     NULL };
  36.  
  37. struct NewWindow cnw = {
  38.         0,0,
  39.         640,200,
  40.         0,1,
  41.         VANILLAKEY|MENUPICK,
  42.         BACKDROP|BORDERLESS|ACTIVATE|SMART_REFRESH|NOCAREREFRESH,
  43.         NULL,
  44.         NULL,
  45.         NULL,
  46.         NULL,
  47.         NULL,
  48.         0,0,0,0,
  49.         CUSTOMSCREEN };
  50.  
  51. struct IntuiText m0txt[] = {
  52.         {0,1,JAM1,3,1,NULL,(UBYTE *)"About   "},
  53.         {0,1,JAM1,3,1,NULL,(UBYTE *)"Palette "},
  54.         {0,1,JAM1,3,1,NULL,(UBYTE *)"Titlebar"},
  55.         {0,1,JAM1,3,1,NULL,(UBYTE *)"Quit    "},};
  56. struct IntuiText m1txt[] = {
  57.         {0,1,JAM1,3,1,NULL,(UBYTE *)"Capture "},
  58.         {0,1,JAM1,3,1,NULL,(UBYTE *)"Download"},
  59.         {0,1,JAM1,3,1,NULL,(UBYTE *)"Upload  "},
  60.         {0,1,JAM1,3,1,NULL,(UBYTE *)"Protocol"},};
  61. struct IntuiText m2txt[] = {
  62.         {0,1,JAM1,3,1,NULL,(UBYTE *)"Speed "},
  63.         {0,1,JAM1,18,1,NULL,(UBYTE *)"1200 "},
  64.         {0,1,JAM1,18,1,NULL,(UBYTE *)"2400 "},
  65.         {0,1,JAM1,18,1,NULL,(UBYTE *)"9600 "},
  66.         {0,1,JAM1,3,1,NULL,(UBYTE *)"Set   "},
  67.         {0,1,JAM1,18,1,NULL,(UBYTE *)"8N1 "},
  68.         {0,1,JAM1,18,1,NULL,(UBYTE *)"7N1 "},
  69.         {0,1,JAM1,18,1,NULL,(UBYTE *)"7E1 "},
  70.         {0,1,JAM1,18,1,NULL,(UBYTE *)"7O1 "},};
  71.  
  72. char words[500];    /* ugly */
  73. char cmd[500];
  74.  
  75. struct IntuiText m3txt[] = {
  76.         {0,1,JAM1,3,1,NULL,&words[0]},
  77.         {0,1,JAM1,3,1,NULL,&words[50]},
  78.         {0,1,JAM1,3,1,NULL,&words[100]},
  79.         {0,1,JAM1,3,1,NULL,&words[150]},
  80.         {0,1,JAM1,3,1,NULL,&words[200]},
  81.         {0,1,JAM1,3,1,NULL,&words[250]},
  82.         {0,1,JAM1,3,1,NULL,&words[300]},
  83.         {0,1,JAM1,3,1,NULL,&words[350]},
  84.         {0,1,JAM1,3,1,NULL,&words[400]},
  85.         {0,1,JAM1,3,1,NULL,&words[450]},};
  86.  
  87. #define mflag1  (ITEMTEXT|ITEMENABLED|HIGHCOMP)
  88. #define mflag2  (CHECKIT|ITEMTEXT|ITEMENABLED|HIGHCOMP)
  89. struct MenuItem m0i[] = {
  90.         {&m0i[1],0,0,117,10,mflag1,NULL,(APTR)&m0txt[0],NULL,NULL},
  91.         {&m0i[2],0,10,117,10,mflag1,NULL,(APTR)&m0txt[1],NULL,NULL},
  92.         {&m0i[3],0,20,117,10,mflag1,NULL,(APTR)&m0txt[2],NULL,NULL},
  93.         {NULL,0,30,117,10,mflag1|COMMSEQ,NULL,(APTR)&m0txt[3],NULL,'Q'},};
  94. struct MenuItem m1i[] = {
  95.         {&m1i[1],0,0,117,10,mflag1|COMMSEQ,NULL,(APTR)&m1txt[0],NULL,'C'},
  96.         {&m1i[2],0,10,117,10,mflag1|COMMSEQ,NULL,(APTR)&m1txt[1],NULL,'D'},
  97.         {&m1i[3],0,20,117,10,mflag1|COMMSEQ,NULL,(APTR)&m1txt[2],NULL,'U'},
  98.         {NULL,0,30,117,10,mflag1|COMMSEQ,NULL,(APTR)&m1txt[3],NULL,'P'},};
  99. struct MenuItem m2i[] = {
  100.         {&m2i[4],0,0,72,10,mflag1,NULL,(APTR)&m2txt[0],NULL,NULL,&m2i[1]},
  101.         {&m2i[2],70,0,63,10,CHECKED|mflag2,0x6,(APTR)&m2txt[1],NULL,NULL},
  102.         {&m2i[3],70,10,63,10,mflag2,0x5,(APTR)&m2txt[2],NULL,NULL},
  103.         {NULL,70,20,63,10,mflag2,0x3,(APTR)&m2txt[3],NULL,NULL},
  104.         {NULL,0,10,72,10,mflag1,NULL,(APTR)&m2txt[4],NULL,NULL,&m2i[5]},
  105.         {&m2i[6],70,0,54,10,CHECKED|mflag2,0xe,(APTR)&m2txt[5],NULL,NULL},
  106.         {&m2i[7],70,10,54,10,mflag2,0xd,(APTR)&m2txt[6],NULL,NULL},
  107.         {&m2i[8],70,20,54,10,mflag2,0xb,(APTR)&m2txt[7],NULL,NULL},
  108.         {NULL,70,30,54,10,mflag2,0x7,(APTR)&m2txt[8],NULL,NULL},};
  109. struct MenuItem m3i[] = {
  110.         {&m3i[1],0,0,175,10,mflag1|COMMSEQ,NULL,&m3txt[0],NULL,'1',NULL},
  111.         {&m3i[2],0,10,175,10,mflag1|COMMSEQ,NULL,&m3txt[1],NULL,'2',NULL},
  112.         {&m3i[3],0,20,175,10,mflag1|COMMSEQ,NULL,&m3txt[2],NULL,'3',NULL},
  113.         {&m3i[4],0,30,175,10,mflag1|COMMSEQ,NULL,&m3txt[3],NULL,'4',NULL},
  114.         {&m3i[5],0,40,175,10,mflag1|COMMSEQ,NULL,&m3txt[4],NULL,'5',NULL},
  115.         {&m3i[6],0,50,175,10,mflag1|COMMSEQ,NULL,&m3txt[5],NULL,'6',NULL},
  116.         {&m3i[7],0,60,175,10,mflag1|COMMSEQ,NULL,&m3txt[6],NULL,'7',NULL},
  117.         {&m3i[8],0,70,175,10,mflag1|COMMSEQ,NULL,&m3txt[7],NULL,'8',NULL},
  118.         {&m3i[9],0,80,175,10,mflag1|COMMSEQ,NULL,&m3txt[8],NULL,'9',NULL},
  119.         {NULL,0,90,175,10,mflag1|COMMSEQ,NULL,&m3txt[9],NULL,'0',NULL},};
  120.  
  121. struct Menu mstrip[] = {
  122.         {&mstrip[1],0,0,45,0,MENUENABLED,"File",&m0i[0]},
  123.         {&mstrip[2],46,0,72,0,MENUENABLED,"Transfer",&m1i[0]},
  124.         {&mstrip[3],119,0,54,0,MENUENABLED,"Serial",&m2i[0]},
  125.         {NULL      ,174,0,45,0,MENUENABLED,"Macro",&m3i[0]},};
  126.  
  127.  
  128. struct IntuiText gtxt[] = {
  129.         {0,1,JAM1,20,1,NULL,(UBYTE *)"  program by",>xt[1]},
  130.         {0,1,JAM1,20,11,NULL,(UBYTE *)"Paul DePetrillo",>xt[2]},
  131.         {0,1,JAM1,20,21,NULL,(UBYTE *)" v. -1   8/90  ",NULL},};
  132.  
  133. struct Gadget gad1={
  134.         NULL,1,1,159,30,GADGHNONE,ENDGADGET,BOOLGADGET|REQGADGET,NULL,NULL,NULL,0,NULL,0,NULL};
  135.  
  136. struct Requester myreq={
  137.         NULL,
  138.         1,11,160,31,
  139.         0,0,
  140.         &gad1,
  141.         NULL,
  142.         >xt[0],
  143.         NULL,
  144.         1,
  145.         NULL,
  146.         {NULL},
  147.         {NULL},
  148.         NULL,
  149.         {NULL},
  150.         };
  151.  
  152.  
  153.  
  154.  
  155. struct timerequest *timerreq,*timeret;
  156. struct FileRequester myfilereq;
  157. struct MsgPort *console_portw,*serial_portw,*serial_portr,*timer_port;
  158. struct IOStdReq *conwrite_req;
  159. struct IOExtSer *serwrite_req,*serread_req,*serret;
  160. struct Screen *screen;
  161. struct Window *window,*oldwin;
  162. struct IntuiMessage *message;
  163. struct MenuItem *mitem;
  164. struct Process *myprocess;
  165. APTR iaddress;
  166. USHORT mcode;
  167. ULONG mclass,timermask,windowmask,serialmask,signals;
  168. char key,serbuf[512],txtbuf[4096],frdir[DSIZE+1],frfile[FCHARS+1],frpath[DSIZE+FCHARS+2];
  169. VOID opencapture(),closecapture(),cleanup(),doinit(),dowindow();
  170. VOID doupload(),doprotocol(),doserial(),domenu(),printstr(),dodownload();
  171. int readserial();
  172. ULONG flags,capture,txtpos,baud,set;
  173. FILE *fp;
  174. struct XPR_IO io;
  175. struct Library *IntuitionBase,*ReqBase,*XProtocolBase;
  176. long __saveds __regargs xupdate();
  177. long __saveds __regargs xfopen();
  178. long __saveds __regargs xfclose();
  179. long __saveds __regargs xfread();
  180. long __saveds __regargs xfwrite();
  181. long __saveds __regargs xfseek();
  182. long __saveds __regargs xsread();
  183. long __saveds __regargs xswrite();
  184. long __saveds __regargs xupdate();
  185. long __saveds __regargs xgets();
  186. long __saveds __regargs xfinfo();
  187. long __saveds __regargs xchkabort();
  188. long __saveds __regargs xsflush();
  189. VOID rexxquitcom();
  190. VOID rexxecho();
  191. VOID rexxdownload();
  192. void rexxupload();
  193. void rexxsend();
  194. void rexxgetstr();
  195. void rexxmacro();
  196. void rexxproto();
  197. void rexxserial();
  198. void rexxpause();
  199. void rexxcapon();
  200. void rexxcapoff();
  201. void rexxwaitstr();
  202. int setserial();
  203. long rexxbit;
  204. int ohshit=0;
  205. int match,matched;
  206. char matchstr[10];
  207. char *matchptr;
  208. long err;
  209. long hostmon=0;
  210. long rxreq=1;
  211. long sendreq=1;
  212. long menuz=1;
  213. int disp();
  214. int go=1;
  215. int replyed=0;
  216. int custom=1;
  217. int doup=0;
  218. int dodwn=0;
  219. int tit=0;
  220.  
  221.  
  222. struct rexxCommandList rcl[] = {
  223.    { "quitcom", (APTR)&rexxquitcom },
  224.    { "send", (APTR)&rexxsend },
  225.    { "download",(APTR)&rexxdownload },
  226.    { "upload",(APTR)&rexxupload },
  227.    { "echo",(APTR)&rexxecho },
  228.    { "getstr", (APTR)&rexxgetstr },
  229.    { "macro", (APTR)&rexxmacro },
  230.    { "protocol", (APTR)&rexxproto},
  231.    { "setserial", (APTR)&rexxserial},
  232.    { "capon", (APTR)&rexxcapon},
  233.    { "capoff", (APTR)&rexxcapoff},
  234.    { "waitstr",(APTR)&rexxwaitstr},
  235.    { "pause",(APTR)&rexxpause},
  236.    { NULL, NULL } } ;
  237.  
  238.