📄 knowndrives.h
字号:
/* * knowndrives.h * * Home page of code is: http://smartmontools.sourceforge.net * Address of support mailing list: smartmontools-support@lists.sourceforge.net * * Copyright (C) 2003-8 Philip Williams, Bruce Allen * * 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. * */#ifndef KNOWNDRIVES_H_#define KNOWNDRIVES_H_#define KNOWNDRIVES_H_CVSID "$Id: knowndrives.h,v 1.18 2008/03/04 22:09:47 ballen4705 Exp $\n"/* Structure used to store settings for specific drives in knowndrives[]. The * elements are used in the following ways: * * modelfamily Informal string about the model family/series of a * device. Set to NULL if no info (apart from device id) * known. * modelregexp POSIX regular expression to match the model of a device. * This should never be NULL (except to terminate the * knowndrives array). * firmwareregexp POSIX regular expression to match a devices's firmware * version. This is optional and should be NULL if it is not * to be used. If it is non-NULL then it will be used to * narrow the set of devices matched by modelregexp. * warningmsg A message that may be displayed for matching drives. For * example, to inform the user that they may need to apply a * firmware patch. * vendoropts Pointer to first element of an array of vendor-specific * option attribute/value pairs that should be set for a * matching device unless the user has requested otherwise. * The user's own settings override these. The array should * be terminated with the entry {0,0}. * specialpurpose Pointer to a function that defines some additional action * that may be taken for matching devices. * functiondesc A description of the effect of the specialpurpose * function. Used by showpresets() and showallpresets() to * make the output more informative. */typedef struct drivesettings_s { const char * modelfamily; const char * modelregexp; const char * firmwareregexp; const char * warningmsg; const unsigned char (* vendoropts)[2]; void (* specialpurpose)(smartmonctrl *); const char * functiondesc;} drivesettings;/* Table of settings for known drives. Defined in knowndrives.c. */extern const drivesettings knowndrives[];// Searches knowndrives[] for a drive with the given model number and firmware// string.int lookupdrive(const char *model, const char *firmware);// Shows the presets (if any) that are available for the given drive.void showpresets(const struct ata_identify_device *drive);// Shows all presets for drives in knowndrives[].// Returns <0 on syntax error in regular expressions.int showallpresets(void);// Shows all matching presets for a drive in knowndrives[].// Returns # matching entries.int showmatchingpresets(const char *model, const char *firmware);// Sets preset vendor attribute options in opts by finding the entry// (if any) for the given drive in knowndrives[]. Values that have// already been set in opts will not be changed. Also sets options in// con. Returns <0 if drive not recognized else index of drive in// database.int applypresets(const struct ata_identify_device *drive, unsigned char **opts, smartmonctrl *con);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -