Changeset 5879

Show
Ignore:
Timestamp:
11/03/10 14:00:59 (19 months ago)
Author:
khali
Message:

libsensors: Add support for intrusion detection.

Location:
lm-sensors/trunk
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/trunk/CHANGES

    r5877 r5879  
    44SVN HEAD 
    55  Makefile: Check for bison and flex 
     6  libsensors: Add support for intrusion detection 
    67  sensors: Display 3 decimal places in raw output 
    78  sensors-detect: Improve LM90 and W83L771 detection 
  • lm-sensors/trunk/doc/libsensors-API.txt

    r5863 r5879  
    66authors can quickly figure out how to test for the availability of a 
    77given new feature. 
     8 
     90x431   lm-sensors SVN 
     10* Added support for intrusion detection 
     11  enum sensors_feature_type SENSORS_FEATURE_INTRUSION 
     12  enum sensors_subfeature_type SENSORS_SUBFEATURE_INTRUSION_ALARM 
     13  enum sensors_subfeature_type SENSORS_SUBFEATURE_INTRUSION_BEEP 
    814 
    9150x430   lm-sensors 3.2.0 
  • lm-sensors/trunk/lib/Module.mk

    r5863 r5879  
    3434# the public header files - in this case they are error.h and sensors.h. 
    3535LIBMAINVER := 4 
    36 LIBMINORVER := 3.0 
     36LIBMINORVER := 3.1 
    3737LIBVER := $(LIBMAINVER).$(LIBMINORVER) 
    3838 
  • lm-sensors/trunk/lib/sensors.h

    r5863 r5879  
    22    sensors.h - Part of libsensors, a Linux library for reading sensor data. 
    33    Copyright (c) 1998, 1999  Frodo Looijaard <frodol@dds.nl> 
    4     Copyright (C) 2007        Jean Delvare <khali@linux-fr.org> 
     4    Copyright (C) 2007, 2010  Jean Delvare <khali@linux-fr.org> 
    55 
    66    This library is free software; you can redistribute it and/or 
     
    142142        SENSORS_FEATURE_CURR            = 0x05, 
    143143        SENSORS_FEATURE_VID             = 0x10, 
     144        SENSORS_FEATURE_INTRUSION       = 0x11, 
    144145        SENSORS_FEATURE_BEEP_ENABLE     = 0x18, 
    145146        SENSORS_FEATURE_UNKNOWN         = INT_MAX, 
     
    198199 
    199200        SENSORS_SUBFEATURE_VID = SENSORS_FEATURE_VID << 8, 
     201 
     202        SENSORS_SUBFEATURE_INTRUSION_ALARM = SENSORS_FEATURE_INTRUSION << 8, 
     203        SENSORS_SUBFEATURE_INTRUSION_BEEP, 
    200204 
    201205        SENSORS_SUBFEATURE_BEEP_ENABLE = SENSORS_FEATURE_BEEP_ENABLE << 8, 
  • lm-sensors/trunk/lib/sysfs.c

    r5876 r5879  
    22    sysfs.c - Part of libsensors, a library for reading Linux sensor data 
    33    Copyright (c) 2005 Mark M. Hoffman <mhoffman@lightlink.com> 
    4     Copyright (C) 2007-2008 Jean Delvare <khali@linux-fr.org> 
     4    Copyright (C) 2007-2010 Jean Delvare <khali@linux-fr.org> 
    55 
    66    This library is free software; you can redistribute it and/or 
     
    138138 
    139139#define MAX_MAIN_SENSOR_TYPES   6 
    140 #define MAX_OTHER_SENSOR_TYPES  1 
     140#define MAX_OTHER_SENSOR_TYPES  2 
    141141#define MAX_SENSORS_PER_TYPE    24 
    142142#define MAX_SUBFEATURES         8 
     
    144144#define FEATURE_TYPE_SIZE       (MAX_SENSORS_PER_TYPE * FEATURE_SIZE) 
    145145 
    146 /* Room for all 6 main types (in, fan, temp, power, energy, current) and 1 
    147    other type (VID) with all their subfeatures + misc features */ 
     146/* Room for all 6 main types (in, fan, temp, power, energy, current) and 2 
     147   other types (VID, intrusion) with all their subfeatures + misc features */ 
    148148#define SUB_OFFSET_OTHER        (MAX_MAIN_SENSOR_TYPES * FEATURE_TYPE_SIZE) 
    149149#define SUB_OFFSET_MISC         (SUB_OFFSET_OTHER + \ 
     
    191191        case SENSORS_FEATURE_ENERGY: 
    192192        case SENSORS_FEATURE_CURR: 
     193        case SENSORS_FEATURE_INTRUSION: 
    193194                underscore = strchr(sfname, '_'); 
    194195                name = strndup(sfname, underscore - sfname); 
     
    290291}; 
    291292 
     293static const struct subfeature_type_match intrusion_matches[] = { 
     294        { "alarm", SENSORS_SUBFEATURE_INTRUSION_ALARM }, 
     295        { "beep", SENSORS_SUBFEATURE_INTRUSION_BEEP }, 
     296        { NULL, 0 } 
     297}; 
    292298static struct feature_type_match matches[] = { 
    293299        { "temp%d%c", temp_matches }, 
     
    298304        { "curr%d%c", curr_matches }, 
    299305        { "energy%d%c", energy_matches }, 
     306        { "intrusion%d%c", intrusion_matches }, 
    300307}; 
    301308 
     
    412419                switch (ftype) { 
    413420                case SENSORS_FEATURE_VID: 
     421                case SENSORS_FEATURE_INTRUSION: 
    414422                        i = SUB_OFFSET_OTHER + 
    415423                            (ftype - SENSORS_FEATURE_VID) * FEATURE_TYPE_SIZE +