swi@cs.paisley.ac.uk (S. Wilson) (10/03/86)
Sender:Scott Wilson This is a small terminal bleeper program to alert non loged in users #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # bleep.c # This archive created: Wed Sep 17 12:08:09 1986 export PATH; PATH=/bin:$PATH if test -f 'bleep.c' then echo shar: will not over-write existing file "'bleep.c'" else cat << \SHAR_EOF > 'bleep.c' /* Terminal bleeper program * Scott Wilson * Paisley College of Technology */ #include <stdio.h> #define HEADER "Terminal Bleeper" #define REV "REV 4.2" #define PROMPT1 "tty #: " #define PROMPT2 "message: " #define BLEEP 0007 main () { char ttyid[2]; char devstr [20]; char message[90]; int i,x,y,r, s; float res; FILE *outfile; printf ("%s %s \n \n", HEADER, REV); r = 0; while (r == 0 ) { printf (PROMPT1); r = getstr (ttyid); } r = 0; while (r == 0) { /* Get new ttyid */ printf (PROMPT2); r = getstr (message); } strcpy (devstr,"/dev/tty"); strcat (devstr,ttyid); outfile = fopen (devstr,"w"); if (outfile == NULL) { printf("Cannot open %s\n",devstr); exit(-1); } printf("Bleeping %s\n",devstr); fprintf (outfile,"%s\n",message); for (;;) { sleep (1); fputc (BLEEP,outfile); fflush (outfile); } } /* Routine to input string, length returned in p */ getstr (s) char s[]; { int p,c; for (p = 0; (c = getchar()) != '\n'; ++p) s[p] = c; s[p] = '\0'; return (p); } SHAR_EOF chmod +x 'bleep.c' fi # end of overwriting check # End of shell archive exit 0 JANET: swi@uk.ac.paisley.cs Scott Wilson EMAIL: swi@cs.paisley.ac.uk | Post: Paisley College UUCP: ...!seismo!mcvax!ukc!paisley!swi| Department of Mathematics, Phone: +44 41 887 1241 Ext. 260 | High St. Paisley. | Scotland. | PA1 2BE