1*6dd652faSwdenk /* 2*6dd652faSwdenk * (C) Copyright 2000 3*6dd652faSwdenk * Murray Jensen <Murray.Jensen@csiro.au> 4*6dd652faSwdenk * 5*6dd652faSwdenk * See file CREDITS for list of people who contributed to this 6*6dd652faSwdenk * project. 7*6dd652faSwdenk * 8*6dd652faSwdenk * This program is free software; you can redistribute it and/or 9*6dd652faSwdenk * modify it under the terms of the GNU General Public License as 10*6dd652faSwdenk * published by the Free Software Foundation; either version 2 of 11*6dd652faSwdenk * the License, or (at your option) any later version. 12*6dd652faSwdenk * 13*6dd652faSwdenk * This program is distributed in the hope that it will be useful, 14*6dd652faSwdenk * but WITHOUT ANY WARRANTY; without even the implied warranty of 15*6dd652faSwdenk * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16*6dd652faSwdenk * GNU General Public License for more details. 17*6dd652faSwdenk * 18*6dd652faSwdenk * You should have received a copy of the GNU General Public License 19*6dd652faSwdenk * along with this program; if not, write to the Free Software 20*6dd652faSwdenk * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 21*6dd652faSwdenk * MA 02111-1307 USA 22*6dd652faSwdenk */ 23*6dd652faSwdenk 243ba68654Swdenk #include <stdio.h> 253ba68654Swdenk #include <stdlib.h> 263ba68654Swdenk #include <string.h> 273ba68654Swdenk #include <unistd.h> 283ba68654Swdenk #include "serial.h" 293ba68654Swdenk #include "error.h" 303ba68654Swdenk #include "remote.h" 313ba68654Swdenk 323ba68654Swdenk char *serialdev = "/dev/term/b"; 333ba68654Swdenk speed_t speed = B230400; 343ba68654Swdenk int verbose = 0; 353ba68654Swdenk 363ba68654Swdenk int 373ba68654Swdenk main(int ac, char **av) 383ba68654Swdenk { 393ba68654Swdenk int c, sfd; 403ba68654Swdenk 413ba68654Swdenk if ((pname = strrchr(av[0], '/')) == NULL) 423ba68654Swdenk pname = av[0]; 433ba68654Swdenk else 443ba68654Swdenk pname++; 453ba68654Swdenk 463ba68654Swdenk while ((c = getopt(ac, av, "b:p:v")) != EOF) 473ba68654Swdenk switch (c) { 483ba68654Swdenk 493ba68654Swdenk case 'b': 503ba68654Swdenk if ((speed = cvtspeed(optarg)) == B0) 513ba68654Swdenk Error("can't decode baud rate specified in -b option"); 523ba68654Swdenk break; 533ba68654Swdenk 543ba68654Swdenk case 'p': 553ba68654Swdenk serialdev = optarg; 563ba68654Swdenk break; 573ba68654Swdenk 583ba68654Swdenk case 'v': 593ba68654Swdenk verbose = 1; 603ba68654Swdenk break; 613ba68654Swdenk 623ba68654Swdenk default: 633ba68654Swdenk usage: 643ba68654Swdenk fprintf(stderr, "Usage: %s [-b bps] [-p dev] [-v]\n", pname); 653ba68654Swdenk exit(1); 663ba68654Swdenk } 673ba68654Swdenk if (optind != ac) 683ba68654Swdenk goto usage; 693ba68654Swdenk 703ba68654Swdenk if (verbose) 713ba68654Swdenk fprintf(stderr, "Opening serial port and sending continue...\n"); 723ba68654Swdenk 733ba68654Swdenk if ((sfd = serialopen(serialdev, speed)) < 0) 743ba68654Swdenk Perror("open of serial device '%s' failed", serialdev); 753ba68654Swdenk 763ba68654Swdenk remote_desc = sfd; 773ba68654Swdenk remote_reset(); 783ba68654Swdenk remote_continue(); 793ba68654Swdenk 803ba68654Swdenk if (serialclose(sfd) < 0) 813ba68654Swdenk Perror("close of serial device '%s' failed", serialdev); 823ba68654Swdenk 833ba68654Swdenk if (verbose) 843ba68654Swdenk fprintf(stderr, "Done.\n"); 853ba68654Swdenk 863ba68654Swdenk return (0); 873ba68654Swdenk } 88