1: /*
   2:  * Copyright (c) 1986 MICOM-Interlan, Inc., Boxborough Mass.
   3:  * All rights reserved.  The Berkeley software License Agreement
   4:  * specifies the terms and conditions for redistribution.
   5:  *
   6:  */
   7: #ifndef lint
   8: char copyright[] =
   9: "@(#) Copyright (c) 1986 MICOM-Interlan, Inc., Boxborough Mass.\n\
  10:  All rights reserved.\n";
  11: #endif not lint
  12: 
  13: #ifndef lint
  14: static char sccsid[] = "@(#)npdump.c	6.2 (Berkeley) 2/20/86";
  15: #endif not lint
  16: 
  17: #include <stdio.h>
  18: #include <sys/file.h>
  19: #include "npcmd.h"
  20: #include <sys/ioctl.h>
  21: 
  22: extern int errno;
  23: 
  24: #define IMAGESIZE (1024 * 256)
  25: 
  26: main(argc,argv)
  27: int argc;
  28: char **argv;
  29: {
  30: 
  31:     int totalread;      /* Total byte count of device reads */
  32:     int ed;         /* Device's file descriptor */
  33:     int fd;         /* Dumpfile device descriptor */
  34:     int nread;          /* Value returned from read() call */
  35:     int     nwritten;       /* Value returned from write() call */
  36:     char    *fname;
  37:     char    ibuf[1024];
  38:     char    *devname = "/dev/np00";
  39: 
  40: 
  41:     switch (argc) {
  42:     case 3:
  43:         /* Pathname for device to be dumped */
  44:         devname = argv[2];
  45:     case 2:
  46:         /* Name of the dump file */
  47:         fname = argv[1];
  48:         break;
  49:     default:
  50:         printf("usage: npdump dumpfile [device]\n");
  51:         exit(1);
  52:     }
  53: 
  54:     /* Open the device to be dumped */
  55: 
  56:     if ((ed = open(devname, O_RDWR)) == -1) {
  57:         char fullpath[50];
  58:         (void) sprintf(fullpath, "/dev/%s", devname);
  59:         if ((ed = open(devname,O_RDWR)) == -1) {
  60:             fprintf(stderr,
  61:                 "%s unable to open device %s errno = %d\n",
  62:                 argv[0], devname, errno);
  63:             exit(2);
  64:         }
  65:     }
  66: 
  67:     /* Open/create the dump file */
  68: 
  69:     if ((fd = open(fname, O_RDWR | O_CREAT)) == -1) {
  70:         fprintf(stderr,"%s: unable to open file %s errno = %d\n",
  71:             argv[0], fname, errno);
  72:         exit(2);
  73:     }
  74: 
  75: 
  76:     /* Read from the device and write to the dump file */
  77: 
  78:     totalread = 0;
  79: 
  80:     while (totalread < IMAGESIZE) {
  81: 
  82:         if ((nread = read(ed,ibuf,1024)) > 0) {
  83: 
  84:             totalread += nread;
  85: 
  86:             nwritten = write(fd,ibuf,nread);
  87: 
  88:             if (nwritten != nread) {
  89:                 fprintf(stderr,"Bad write to %s errno = %d\n",
  90:                     argv[2],errno);
  91:                 exit(7);
  92:             }
  93:         }
  94: 
  95:         else {
  96:             fprintf(stderr,"Bad read from %s errno = %d\n", argv[0],errno);
  97:             exit(7);
  98: 
  99:         }
 100:     }
 101: 
 102:     close(fd);
 103:     close(ed);
 104: 
 105:     exit(0);
 106: }

Defined functions

main defined in line 26; never used

Defined variables

copyright defined in line 8; never used
sccsid defined in line 14; never used

Defined macros

IMAGESIZE defined in line 24; used 1 times
  • in line 80
Last modified: 1986-02-20
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1032
Valid CSS Valid XHTML 1.0 Strict