Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

struct_class(9) [centos man page]

STRUCT 
CLASS(9) Device drivers infrastructure STRUCT CLASS(9) NAME
struct_class - device classes SYNOPSIS
struct class { const char * name; struct module * owner; struct class_attribute * class_attrs; struct device_attribute * dev_attrs; const struct attribute_group ** dev_groups; struct bin_attribute * dev_bin_attrs; struct kobject * dev_kobj; int (* dev_uevent) (struct device *dev, struct kobj_uevent_env *env); char *(* devnode) (struct device *dev, umode_t *mode); void (* class_release) (struct class *class); void (* dev_release) (struct device *dev); int (* suspend) (struct device *dev, pm_message_t state); int (* resume) (struct device *dev); const struct kobj_ns_type_operations * ns_type; const void *(* namespace) (struct device *dev); const struct dev_pm_ops * pm; struct subsys_private * p; }; MEMBERS
name Name of the class. owner The module owner. class_attrs Default attributes of this class. dev_attrs Default attributes of the devices belong to the class. dev_groups Default attributes of the devices that belong to the class. dev_bin_attrs Default binary attributes of the devices belong to the class. dev_kobj The kobject that represents this class and links it into the hierarchy. dev_uevent Called when a device is added, removed from this class, or a few other things that generate uevents to add the environment variables. devnode Callback to provide the devtmpfs. class_release Called to release this class. dev_release Called to release the device. suspend Used to put the device to sleep mode, usually to a low power state. resume Used to bring the device from the sleep mode. ns_type Callbacks so sysfs can detemine namespaces. namespace Namespace of the device belongs to this class. pm The default device power management operations of this class. p The private data of the driver core, no one other than the driver core can touch this. DESCRIPTION
A class is a higher-level view of a device that abstracts out low-level implementation details. Drivers may see a SCSI disk or an ATA disk, but, at the class level, they are all simply disks. Classes allow user space to work with devices based on what they do, rather than how they are connected or how they work. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 STRUCT CLASS(9)

Check Out this Related Man Page

STRUCT 
FF_DEVICE(9) Input Subsystem STRUCT FF_DEVICE(9) NAME
struct_ff_device - force-feedback part of an input device SYNOPSIS
struct ff_device { int (* upload) (struct input_dev *dev, struct ff_effect *effect,struct ff_effect *old); int (* erase) (struct input_dev *dev, int effect_id); int (* playback) (struct input_dev *dev, int effect_id, int value); void (* set_gain) (struct input_dev *dev, u16 gain); void (* set_autocenter) (struct input_dev *dev, u16 magnitude); void (* destroy) (struct ff_device *); void * private; unsigned long ffbit[BITS_TO_LONGS(FF_CNT)]; struct mutex mutex; int max_effects; struct ff_effect * effects; struct file * effect_owners[]; }; MEMBERS
upload Called to upload an new effect into device erase Called to erase an effect from device playback Called to request device to start playing specified effect set_gain Called to set specified gain set_autocenter Called to auto-center device destroy called by input core when parent input device is being destroyed private driver-specific data, will be freed automatically ffbit[BITS_TO_LONGS(FF_CNT)] bitmap of force feedback capabilities truly supported by device (not emulated like ones in input_dev->ffbit) mutex mutex for serializing access to the device max_effects maximum number of effects supported by device effects pointer to an array of effects currently loaded into device effect_owners[] array of effect owners; when file handle owning an effect gets closed the effect is automatically erased DESCRIPTION
Every force-feedback device must implement upload and playback methods; erase is optional. set_gain and set_autocenter need only be implemented if driver sets up FF_GAIN and FF_AUTOCENTER bits. Note that playback, set_gain and set_autocenter are called with dev->event_lock spinlock held and interrupts off and thus may not sleep. COPYRIGHT
Kernel Hackers Manual 2.6. July 2010 STRUCT FF_DEVICE(9)
Man Page