home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / utility / v2 / killclic.lzh / Old / KillClick.c next >
Encoding:
C/C++ Source or Header  |  1990-09-06  |  1.4 KB  |  52 lines

  1. /* KillClick */
  2. /* Written by Brian Gontowski */
  3.  
  4. #include "exec/types.h"
  5. #include "exec/ports.h"
  6. #include "exec/io.h"
  7. #include "devices/trackdisk.h"
  8. #include "libraries/dos.h"
  9. #include "libraries/dosextens.h"
  10. #include "stdio.h"
  11. #include "proto/exec.h"
  12. #include "proto/dos.h"
  13.  
  14. extern struct Library *SysBase;
  15. struct MsgPort *DiskPort=NULL;
  16. struct IOExtTD *DiskReq=NULL;
  17. UBYTE DiskDev=FALSE;
  18. struct TDU_PublicUnit *DiskUnit;
  19. ULONG ChangeCount;
  20.  
  21. void Finish (msg,r)
  22. UBYTE *msg;
  23. int r;
  24. {
  25.  if (DiskDev)
  26.     CloseDevice ((struct IORequest *)DiskReq);
  27.  if (DiskReq)
  28.     DeleteIORequest ((struct IORequest *)DiskReq);
  29.  if (DiskPort)
  30.     DeleteMsgPort (DiskPort);
  31.  if (msg)
  32.     Write (Output (),msg,strlen (msg));
  33.  _exit (r);
  34. }
  35.  
  36. void _main ()
  37. {
  38.  if (SysBase->lib_Version<36)
  39.     Finish ("ERROR: KillClick requires KickStart V2.0!\n",RETURN_FAIL);
  40.  if (!(DiskPort=CreateMsgPort ()))
  41.     Finish ("ERROR: Unable to create a message port!\n",RETURN_FAIL);
  42.  if (!(DiskReq=(struct IOExtTD *)
  43.      CreateIORequest (DiskPort,sizeof (struct IOExtTD))))
  44.     Finish ("ERROR: Unable to create an IO request!\n",RETURN_FAIL);
  45.  if (OpenDevice ("trackdisk.device",0,(struct IORequest *)DiskReq,0))
  46.     Finish ("ERROR: Unable to open the \"trackdisk.device\"!",RETURN_FAIL);
  47.  DiskDev=TRUE;
  48.  DiskUnit=(struct TDU_PublicUnit *)DiskReq->iotd_Req.io_Unit;
  49.  DiskUnit->tdu_PubFlags|=TDPF_NOCLICK;
  50.  Finish (NULL,RETURN_OK);
  51. }
  52.