# 2.11BSD#431 - /usr/src/sbin/slattach/slattach.c

##### Functions

    findspeed         X
    main              X

##### Variables

    devname           X
    hostname          X
    slipdisc          X
    spds              X

##### Macros

    DEFAULT_BAUD      X

##### struct's

    sg_spds           X

       1: #ifndef lint
       2: static char sccsid[] = "@(#)slattach.c	4.1 (Berkeley) 2/17/86";
       3: #endif
       4: #include <stdio.h>
       5: #include <sys/param.h>
       6: #include <sgtty.h>
       7: #include <sys/socket.h>
       8: #include <netinet/in.h>
       9: #include <net/if.h>
      10: #include <netdb.h>
      11: #include <fcntl.h>
      12:
      13: #ifndef lint
      14: static char rcsid[] = "$Header: slattach.c,v 1.1 84/10/04 12:57:12 rick Exp $";
      15: #endif
      16:
      17: #define DEFAULT_BAUD    9600
      18: int slipdisc = SLIPDISC;
      19:
      20: char    devname[32];
      21: char    hostname[MAXHOSTNAMELEN];
      22:
      23: main(argc, argv)
      24:     int argc;
      25:     char *argv[];
      26: {
      27:     register int fd;
      28:     register char *dev = argv[1];
      29:     struct sgttyb sgtty;
      30:     int speed;
      31:
      32:     if (argc < 2 || argc > 3) {
      33:         fprintf(stderr, "usage: %s ttyname [baudrate]\n", argv[0]);
      34:         exit(1);
      35:     }
      36:     speed = argc == 3 ? findspeed(atoi(argv[2])) : findspeed(DEFAULT_BAUD);
      37:     if (speed == 0) {
      38:         fprintf(stderr, "unknown speed %s", argv[2]);
      39:         exit(1);
      40:     }
      41:     if (strncmp("/dev/", dev, 5)) {
      42:         (void)sprintf(devname, "/dev/%s", dev);
      43:         dev = devname;
      44:     }
      45:     if ((fd = open(dev, O_RDWR | O_NDELAY)) < 0) {
      46:         perror(dev);
      47:         exit(1);
      48:     }
      49:     sgtty.sg_flags = RAW | ANYP;
      50:     sgtty.sg_ispeed = sgtty.sg_ospeed = speed;
      51:     if (ioctl(fd, TIOCSETP, &sgtty) < 0) {
      52:         perror("ioctl(TIOCSETP)");
      53:         exit(1);
      54:     }
      55:     if (ioctl(fd, TIOCSETD, &slipdisc) < 0) {
      56:         perror("ioctl(TIOCSETD)");
      57:         exit(1);
      58:     }
      59:
      60:     if (fork() > 0)
      61:         exit(0);
      62:     for (;;)
      63:         sigpause(0L);
      64: }
      65:
      66: struct sg_spds {
      67:     int sp_val, sp_name;
      68: }       spds[] = {
      69: #ifdef B50
      70:     { 50, B50 },
      71: #endif
      72: #ifdef B75
      73:     { 75, B75 },
      74: #endif
      75: #ifdef B110
      76:     { 110, B110 },
      77: #endif
      78: #ifdef B150
      79:     { 150, B150 },
      80: #endif
      81: #ifdef B200
      82:     { 200, B200 },
      83: #endif
      84: #ifdef B300
      85:     { 300, B300 },
      86: #endif
      87: #ifdef B600
      88:     { 600, B600 },
      89: #endif
      90: #ifdef B1200
      91:     { 1200, B1200 },
      92: #endif
      93: #ifdef B1800
      94:     { 1800, B1800 },
      95: #endif
      96: #ifdef B2000
      97:     { 2000, B2000 },
      98: #endif
      99: #ifdef B2400
     100:     { 2400, B2400 },
     101: #endif
     102: #ifdef B3600
     103:     { 3600, B3600 },
     104: #endif
     105: #ifdef B4800
     106:     { 4800, B4800 },
     107: #endif
     108: #ifdef B7200
     109:     { 7200, B7200 },
     110: #endif
     111: #ifdef B9600
     112:     { 9600, B9600 },
     113: #endif
     114: #ifdef EXTA
     115:     { 19200, EXTA },
     116: #endif
     117: #ifdef EXTB
     118:     { 38400, EXTB },
     119: #endif
     120:     { 0, 0 }
     121: };
     122:
     123: findspeed(speed)
     124:     register int speed;
     125: {
     126:     register struct sg_spds *sp;
     127:
     128:     sp = spds;
     129:     while (sp->sp_val && sp->sp_val != speed)
     130:         sp++;
     131:     return (sp->sp_name);
     132: }

#### Defined functions

findspeed defined in line 123; used 2 times

- in line 36(2)

main defined in line 23; never used

#### Defined variables

devname defined in line 20; used 2 times

- in line 42-43(2)

hostname defined in line 21; never used
rcsid defined in line 14; never used
sccsid defined in line 2; never used
slipdisc defined in line 18; used 1 times

- in line 55

spds defined in line 68; used 1 times

- in line 128

#### Defined struct's

sg_spds defined in line 66; used 2 times

- in line 126(2)

#### Defined macros

DEFAULT_BAUD defined in line 17; used 1 times

- in line 36

Last modified: 1987-08-01 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 1591 |