Skip to content
Snippets Groups Projects
Select Git revision
  • 8c74831aa6ce355f0b79a0aa0f4a1987fbb4ea9d
  • master default
2 results

test_2d_plot.py

Blame
  • Forked from finesse / pykat
    Source project has a limited visibility.
    atacmds.cpp 67.44 KiB
    /*
     * atacmds.cpp
     * 
     * Home page of code is: http://smartmontools.sourceforge.net
     *
     * Copyright (C) 2002-7 Bruce Allen <smartmontools-support@lists.sourceforge.net>
     * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org>
     * Copyright (C) 2000 Andre Hedrick <andre@linux-ide.org>
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License as published by
     * the Free Software Foundation; either version 2, or (at your option)
     * any later version.
     *
     * You should have received a copy of the GNU General Public License
     * (for example COPYING); if not, write to the Free
     * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
     *
     * This code was originally developed as a Senior Thesis by Michael Cornwell
     * at the Concurrent Systems Laboratory (now part of the Storage Systems
     * Research Center), Jack Baskin School of Engineering, University of
     * California, Santa Cruz. http://ssrc.soe.ucsc.edu/
     * 
     */
    
    #include <stdio.h>
    #include <string.h>
    #include <errno.h>
    #include <stdlib.h>
    #include <ctype.h>
    
    #include "config.h"
    #include "int64.h"
    #include "atacmds.h"
    #include "scsiata.h"
    #include "extern.h"
    #include "utility.h"
    
    const char *atacmds_c_cvsid="$Id: atacmds.cpp,v 1.187 2007/07/23 15:33:13 ballen4705 Exp $"
    ATACMDS_H_CVSID CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID SCSIATA_H_CVSID UTILITY_H_CVSID;
    
    // to hold onto exit code for atexit routine
    extern int exitstatus;
    
    // for passing global control variables
    extern smartmonctrl *con;
    
    // These Drive Identity tables are taken from hdparm 5.2, and are also
    // given in the ATA/ATAPI specs for the IDENTIFY DEVICE command.  Note
    // that SMART was first added into the ATA/ATAPI-3 Standard with
    // Revision 3 of the document, July 25, 1995.  Look at the "Document
    // Status" revision commands at the beginning of
    // http://www.t13.org/project/d2008r6.pdf to see this.
    #define NOVAL_0                 0x0000
    #define NOVAL_1                 0xffff
    /* word 81: minor version number */
    #define MINOR_MAX 0x22
    const char *minor_str[] = {                     /* word 81 value: */
      "Device does not report version",             /* 0x0000       */
      "ATA-1 X3T9.2 781D prior to revision 4",      /* 0x0001       */
      "ATA-1 published, ANSI X3.221-1994",          /* 0x0002       */
      "ATA-1 X3T9.2 781D revision 4",               /* 0x0003       */
      "ATA-2 published, ANSI X3.279-1996",          /* 0x0004       */
      "ATA-2 X3T10 948D prior to revision 2k",      /* 0x0005       */
      "ATA-3 X3T10 2008D revision 1",               /* 0x0006       */ /* SMART NOT INCLUDED */
      "ATA-2 X3T10 948D revision 2k",               /* 0x0007       */
      "ATA-3 X3T10 2008D revision 0",               /* 0x0008       */ 
      "ATA-2 X3T10 948D revision 3",                /* 0x0009       */
      "ATA-3 published, ANSI X3.298-199x",          /* 0x000a       */
      "ATA-3 X3T10 2008D revision 6",               /* 0x000b       */ /* 1st VERSION WITH SMART */