linux/drivers/media/rc/ir-rc6-decoder.c

// SPDX-License-Identifier: GPL-2.0-only
/* ir-rc6-decoder.c - A decoder for the RC6 IR protocol
 *
 * Copyright (C) 2010 by David Härdeman <[email protected]>
 */

#include "rc-core-priv.h"
#include <linux/module.h>

/*
 * This decoder currently supports:
 * RC6-0-16	(standard toggle bit in header)
 * RC6-6A-20	(no toggle bit)
 * RC6-6A-24	(no toggle bit)
 * RC6-6A-32	(MCE version with toggle bit in body)
 */

#define RC6_UNIT
#define RC6_HEADER_NBITS
#define RC6_0_NBITS
#define RC6_6A_32_NBITS
#define RC6_6A_NBITS
#define RC6_PREFIX_PULSE
#define RC6_PREFIX_SPACE
#define RC6_BIT_START
#define RC6_BIT_END
#define RC6_TOGGLE_START
#define RC6_TOGGLE_END
#define RC6_SUFFIX_SPACE
#define RC6_MODE_MASK
#define RC6_STARTBIT_MASK
#define RC6_6A_MCE_TOGGLE_MASK
#define RC6_6A_LCC_MASK
#define RC6_6A_MCE_CC
#define RC6_6A_ZOTAC_CC
#define RC6_6A_KATHREIN_CC
#ifndef CHAR_BIT
#define CHAR_BIT
#endif

enum rc6_mode {};

enum rc6_state {};

static enum rc6_mode rc6_mode(struct rc6_dec *data)
{}

/**
 * ir_rc6_decode() - Decode one RC6 pulse or space
 * @dev:	the struct rc_dev descriptor of the device
 * @ev:		the struct ir_raw_event descriptor of the pulse/space
 *
 * This function returns -EINVAL if the pulse violates the state machine
 */
static int ir_rc6_decode(struct rc_dev *dev, struct ir_raw_event ev)
{}

static const struct ir_raw_timings_manchester ir_rc6_timings[4] =;

/**
 * ir_rc6_encode() - Encode a scancode as a stream of raw events
 *
 * @protocol:	protocol to encode
 * @scancode:	scancode to encode
 * @events:	array of raw ir events to write into
 * @max:	maximum size of @events
 *
 * Returns:	The number of events written.
 *		-ENOBUFS if there isn't enough space in the array to fit the
 *		encoding. In this case all @max events will have been written.
 *		-EINVAL if the scancode is ambiguous or invalid.
 */
static int ir_rc6_encode(enum rc_proto protocol, u32 scancode,
			 struct ir_raw_event *events, unsigned int max)
{}

static struct ir_raw_handler rc6_handler =;

static int __init ir_rc6_decode_init(void)
{}

static void __exit ir_rc6_decode_exit(void)
{}

module_init();
module_exit(ir_rc6_decode_exit);

MODULE_LICENSE();
MODULE_AUTHOR();
MODULE_DESCRIPTION();