Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
rc_dev Struct Reference

#include <rc-core.h>

Data Fields

struct device dev
const charinput_name
const charinput_phys
struct input_id input_id
const charmap_name
struct rc_map rc_map
struct mutex lock
unsigned long devno
struct ir_raw_event_ctrlraw
struct input_dev * input_dev
enum rc_driver_type driver_type
bool idle
u64 allowed_protos
u32 scanmask
spinlock_t keylock
bool keypressed
unsigned long keyup_jiffies
struct timer_list timer_keyup
u32 last_keycode
u32 last_scancode
u8 last_toggle
u32 timeout
u32 min_timeout
u32 max_timeout
u32 rx_resolution
u32 tx_resolution
int(* change_protocol )(struct rc_dev *dev, u64 rc_type)
int(* open )(struct rc_dev *dev)
void(* close )(struct rc_dev *dev)
int(* s_tx_mask )(struct rc_dev *dev, u32 mask)
int(* s_tx_carrier )(struct rc_dev *dev, u32 carrier)
int(* s_tx_duty_cycle )(struct rc_dev *dev, u32 duty_cycle)
int(* s_rx_carrier_range )(struct rc_dev *dev, u32 min, u32 max)
int(* tx_ir )(struct rc_dev *dev, unsigned *txbuf, unsigned n)
void(* s_idle )(struct rc_dev *dev, bool enable)
int(* s_learning_mode )(struct rc_dev *dev, int enable)
int(* s_carrier_report )(struct rc_dev *dev, int enable)

Detailed Description

struct rc_dev - represents a remote control device : driver model's view of this device : name of the input child device : physical path to the input child device : id of the input child device (struct input_id) : name of the hardware driver which registered this device : name of the default keymap : current scan/key table : used to ensure we've filled in all protocol details before anyone can call show_protocols or store_protocols : unique remote control device number : additional data for raw pulse/space devices : the input child device used to communicate events to userspace : specifies if protocol decoding is done in hardware or software : used to keep track of RX state : bitmask with the supported RC_TYPE_* protocols : some hardware decoders are not capable of providing the full scancode to the application. As this is a hardware limit, we can't do anything with it. Yet, as the same keycode table can be used with other devices, a mask is provided to allow its usage. Drivers should generally leave this field in blank : driver-specific data : protects the remaining members of the struct : whether a key is currently pressed : time (in jiffies) when the current keypress should be released : timer for releasing a keypress : keycode of last keypress : scancode of last keypress : toggle value of last command : optional time after which device stops sending data : minimum timeout supported by device : maximum timeout supported by device : resolution (in ns) of input sampler : resolution (in ns) of output sampler : allow changing the protocol used on hardware decoders : callback to allow drivers to enable polling/irq when IR input device is opened. : callback to allow drivers to disable polling/irq when IR input device is opened. : set transmitter mask (for devices with multiple tx outputs) : set transmit carrier frequency : set transmit duty cycle (0% - 100%) : inform driver about carrier it is expected to handle : transmit IR : enable/disable hardware idle mode, upon which, device doesn't interrupt host until it sees IR pulses : enable wide band receiver used for learning : enable carrier reports

Definition at line 87 of file rc-core.h.

Field Documentation

u64 allowed_protos

Definition at line 101 of file rc-core.h.

int(* change_protocol)(struct rc_dev *dev, u64 rc_type)

Definition at line 116 of file rc-core.h.

void(* close)(struct rc_dev *dev)

Definition at line 118 of file rc-core.h.

Definition at line 88 of file rc-core.h.

unsigned long devno

Definition at line 96 of file rc-core.h.

char* driver_name

Definition at line 92 of file rc-core.h.

enum rc_driver_type driver_type

Definition at line 99 of file rc-core.h.

bool idle

Definition at line 100 of file rc-core.h.

struct input_dev* input_dev

Definition at line 98 of file rc-core.h.

Definition at line 91 of file rc-core.h.

const char* input_name

Definition at line 89 of file rc-core.h.

const char* input_phys

Definition at line 90 of file rc-core.h.

spinlock_t keylock

Definition at line 104 of file rc-core.h.

bool keypressed

Definition at line 105 of file rc-core.h.

unsigned long keyup_jiffies

Definition at line 106 of file rc-core.h.

u32 last_keycode

Definition at line 108 of file rc-core.h.

u32 last_scancode

Definition at line 109 of file rc-core.h.

u8 last_toggle

Definition at line 110 of file rc-core.h.

struct mutex lock

Definition at line 95 of file rc-core.h.

const char* map_name

Definition at line 93 of file rc-core.h.

u32 max_timeout

Definition at line 113 of file rc-core.h.

u32 min_timeout

Definition at line 112 of file rc-core.h.

int(* open)(struct rc_dev *dev)

Definition at line 117 of file rc-core.h.

Definition at line 103 of file rc-core.h.

Definition at line 97 of file rc-core.h.

Definition at line 94 of file rc-core.h.

u32 rx_resolution

Definition at line 114 of file rc-core.h.

int(* s_carrier_report)(struct rc_dev *dev, int enable)

Definition at line 126 of file rc-core.h.

void(* s_idle)(struct rc_dev *dev, bool enable)

Definition at line 124 of file rc-core.h.

int(* s_learning_mode)(struct rc_dev *dev, int enable)

Definition at line 125 of file rc-core.h.

int(* s_rx_carrier_range)(struct rc_dev *dev, u32 min, u32 max)

Definition at line 122 of file rc-core.h.

int(* s_tx_carrier)(struct rc_dev *dev, u32 carrier)

Definition at line 120 of file rc-core.h.

int(* s_tx_duty_cycle)(struct rc_dev *dev, u32 duty_cycle)

Definition at line 121 of file rc-core.h.

int(* s_tx_mask)(struct rc_dev *dev, u32 mask)

Definition at line 119 of file rc-core.h.

u32 scanmask

Definition at line 102 of file rc-core.h.

u32 timeout

Definition at line 111 of file rc-core.h.

struct timer_list timer_keyup

Definition at line 107 of file rc-core.h.

int(* tx_ir)(struct rc_dev *dev, unsigned *txbuf, unsigned n)

Definition at line 123 of file rc-core.h.

u32 tx_resolution

Definition at line 115 of file rc-core.h.

The documentation for this struct was generated from the following file: