]> git.proxmox.com Git - mirror_smartmontools-debian.git/blob - extern.h
Refreshed patches
[mirror_smartmontools-debian.git] / extern.h
1 /*
2 * extern.h
3 *
4 * Home page of code is: http://smartmontools.sourceforge.net
5 *
6 * Copyright (C) 2002-9 Bruce Allen <smartmontools-support@lists.sourceforge.net>
7 * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org>
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2, or (at your option)
12 * any later version.
13 *
14 * You should have received a copy of the GNU General Public License
15 * (for example COPYING); if not, write to the Free
16 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 *
18 * This code was originally developed as a Senior Thesis by Michael Cornwell
19 * at the Concurrent Systems Laboratory (now part of the Storage Systems
20 * Research Center), Jack Baskin School of Engineering, University of
21 * California, Santa Cruz. http://ssrc.soe.ucsc.edu/
22 *
23 */
24
25 #ifndef EXTERN_H_
26 #define EXTERN_H_
27
28 #define EXTERN_H_CVSID "$Id: extern.h,v 1.63 2009/07/07 19:28:29 chrfranke Exp $\n"
29
30 // Block used for global control/communications. If you need more
31 // global variables, this should be the only place that you need to
32 // add them.
33 typedef struct smartmonctrl_s {
34 bool printing_switchable;
35 bool dont_print;
36 bool dont_print_serial;
37 unsigned char permissive;
38 bool conservative;
39 unsigned char reportataioctl;
40 unsigned char reportscsiioctl;
41 #ifdef OLD_INTERFACE
42 // 3Ware controller type, but also extensible to other contoller types
43 unsigned char controller_type; // TODO: Only needed for os_linux.cpp
44 // For 3Ware controllers, nonzero value is 1 plus the disk number
45 unsigned char controller_port; // TODO: Only needed for os_linux.cpp
46 // combined controller/channle/pmport for highpoint rocketraid controller
47 unsigned char hpt_data[3]; // TODO: Only needed for os_linux.cpp
48 #endif
49 } smartmonctrl;
50
51 #endif