1: /*
2: * os_solaris.h
3: *
4: * Home page of code is: http://smartmontools.sourceforge.net
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,v 1.1.1.2 2013/07/22 01:17:35 misho Exp $\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_ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>