]> git.proxmox.com Git - mirror_smartmontools-debian.git/blob - os_solaris.h
import smartmontools 7.0
[mirror_smartmontools-debian.git] / os_solaris.h
1 /*
2 * os_solaris.h
3 *
4 * Home page of code is: http://www.smartmontools.org
5 *
6 * Copyright (C) 2003-8 SAWADA Keiji <smartmontools-support@lists.sourceforge.net>
7 * Copyright (C) 2003-8 Casper Dik <smartmontools-support@lists.sourceforge.net>
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 Software Foundation,
16 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 OS_SOLARIS_H_
26 #define OS_SOLARIS_H_
27
28 #define OS_SOLARIS_H_CVSID "$Id: os_solaris.h 4120 2015-08-27 16:12:21Z samm2 $\n"
29
30 // Additional material should start here. Note: to keep the '-V' CVS
31 // reporting option working as intended, you should only #include
32 // system include files <something.h>. Local #include files
33 // <"something.h"> should be #included in os_solaris.c
34
35 #include <sys/types.h>
36 #include <sys/stat.h>
37 #include <fcntl.h>
38
39 // function prototypes for functions defined in os_solaris_ata.s
40 extern "C" {
41 int smart_read_data(int fd, void *data);
42 int smart_read_thresholds(int fd, void *data);
43 int smart_read_log(int fd, int s, int count, void *data);
44 int ata_identify(int fd, void *data);
45 int ata_pidentify(int fd, void *data);
46 int smart_enable(int fd);
47 int smart_disable(int fd);
48 int smart_status(int fd);
49 int smart_auto_offline(int fd, int s);
50 int smart_auto_save(int fd, int s);
51 int smart_immediate_offline(int fd, int s);
52 int smart_status_check(int fd);
53 }
54
55 // wrapper macros
56 #define smart_enable_auto_save(fd) smart_auto_save(fd, 0xf1)
57 #define smart_disable_auto_save(fd) smart_auto_save(fd, 0x00)
58
59 #endif /* OS_SOLARIS_H_ */