home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / EFFO / forum4.lzh / SPRACHEN / C / LP / lprm.c < prev    next >
C/C++ Source or Header  |  1988-02-14  |  1KB  |  57 lines

  1. /* lprm fuer os-9/68k         Uwe Simon  4.9.1987 */
  2.  
  3. #include <stdio.h>
  4. #include <module.h>
  5. #include "lp.h"
  6.  
  7. mod_exec *module;
  8. int copies,tmpfile,mesg;
  9. char filename[100],dev[32];
  10.  
  11. error()
  12.  
  13. {
  14.     fprintf(stderr,"Syntax: lprm [-d=dev] [-] job..\n");
  15.     fprintf(stderr,"Function: delete job from spoolerqueue\n");
  16.     fprintf(stderr,"Options:\n");    
  17.     fprintf(stderr,"       -          deletes all entries\n");
  18.     fprintf(stderr,"       -d=dev     take queue of printer dev\n");
  19. }
  20.  
  21.  
  22. main(argc,argv)
  23. int argc;
  24. char **argv;
  25.  
  26. {
  27.     int job,i,ev;
  28.     char dev[32];
  29.     long int group,uid;
  30.     dev[0]='\0';
  31.     if(strcmp(argv[1],"-?")==0) {
  32.         error();
  33.         exit(0);
  34.     }
  35.     module=(mod_exec *)modlink("spoolqueue",0x400);
  36.     if((int)module==-1) { exit(_errmsg(1,"can't link to 'spoolqueue'\n")); }
  37.     queue=(struct spoolqueue *)((long)module+module->_mexec);
  38.     ev=_ev_link("spoolqueue");
  39.     while(--argc) {
  40.         argv++;
  41.         if(strcmp(*argv,"-?")==0) {
  42.             error();
  43.             _ev_unlink(ev);
  44.             exit(0);
  45.         }
  46.         else if(strncmp(*argv,"-d=",3)==0) strcpy(dev,*argv+3);
  47.         else {
  48.             job=0;
  49.             if(strcmp(*argv,"-"))
  50.                 job=atoi(*argv);
  51.             if(!del_job(ev,dev,job)) _errmsg(1,"No Job to delete\n");    
  52.         }
  53.     }
  54.     _ev_unlink(ev);    
  55.     munlink(module);
  56. }
  57.