MythTV master
lirc_client.h
Go to the documentation of this file.
1// -*- mode: C++ ; indent-tabs-mode: t; c-basic-offset: 8 -*-
2/* NOTE: Extracted from LIRC release 0.8.4a -- dtk */
3
4/****************************************************************************
5 ** lirc_client.h ***********************************************************
6 ****************************************************************************
7 *
8 * lirc_client - common routines for lircd clients
9 *
10 * Copyright (C) 1998 Trent Piepho <xyzzy@u.washington.edu>
11 * Copyright (C) 1998 Christoph Bartelmus <lirc@bartelmus.de>
12 *
13 */
14
15#ifndef LIRC_CLIENT_H
16#define LIRC_CLIENT_H
17
18#ifdef __cplusplus
19#include <cstddef>
20#else
21#include <stddef.h>
22#endif
23
24enum LIRC_ERR : int8_t {
27};
28
29#define LIRC_ALL "ALL"
30
31enum lirc_flags : uint8_t {
32 none=0x00,
33 once=0x01,
34 quit=0x02,
35 modex=0x04,
36 ecno=0x08,
39};
40
42{
43 int lirc_lircd {};
45 std::string lirc_prog;
46 std::string lircrc_root_file;
47 std::string lircrc_user_file;
48};
49
51{
52 std::string string;
53 struct lirc_list *next {nullptr};
54};
55
57{
58 std::string remote;
59 std::string button;
60 struct lirc_code *next { nullptr };
61};
62
64{
65 std::string current_mode;
66 struct lirc_config_entry *next { nullptr };
67 struct lirc_config_entry *first { nullptr };
68
69 int sockfd {};
70};
71
73{
74 std::string prog;
75 struct lirc_code *code { nullptr };
76 unsigned int rep_delay { 0 };
77 unsigned int rep { 0 };
78 struct lirc_list *config { nullptr };
79 std::string change_mode;
80 unsigned int flags { none };
81
82 std::string mode;
83 struct lirc_list *next_config { nullptr };
84 struct lirc_code *next_code { nullptr };
85
86 struct lirc_config_entry *next { nullptr };
87};
88
89struct lirc_state *lirc_init(const char *lircrc_root_file,
90 const char *lircrc_user_file,
91 const char *prog, const char *lircd, int verbose);
92int lirc_deinit(struct lirc_state *state);
93
94int lirc_readconfig(const struct lirc_state *state,
95 const std::string& file,struct lirc_config **config,
96 int (check)(std::string& s));
97void lirc_freeconfig(struct lirc_config *config);
98
99int lirc_code2char(const struct lirc_state *state, struct lirc_config *config,
100 const std::string& code,std::string& string);
101
102/* new interface for client daemon */
103int lirc_readconfig_only(const struct lirc_state *state,
104 const std::string& file, struct lirc_config **config,
105 int (check)(std::string& s));
106size_t lirc_getsocketname(const std::string& filename, char *buf, size_t size);
107std::string lirc_getmode(const struct lirc_state *state, struct lirc_config *config);
108std::string lirc_setmode(const struct lirc_state *state, struct lirc_config *config, const std::string& mode);
109
110#endif
size_t lirc_getsocketname(const std::string &filename, char *buf, size_t size)
std::string lirc_getmode(const struct lirc_state *state, struct lirc_config *config)
int lirc_readconfig(const struct lirc_state *state, const std::string &file, struct lirc_config **config, int(check)(std::string &s))
lirc_flags
Definition: lirc_client.h:31
@ once
Definition: lirc_client.h:33
@ quit
Definition: lirc_client.h:34
@ toggle_reset
Definition: lirc_client.h:38
@ ecno
Definition: lirc_client.h:36
@ none
Definition: lirc_client.h:32
@ modex
Definition: lirc_client.h:35
@ startup_mode
Definition: lirc_client.h:37
int lirc_deinit(struct lirc_state *state)
void lirc_freeconfig(struct lirc_config *config)
std::string lirc_setmode(const struct lirc_state *state, struct lirc_config *config, const std::string &mode)
LIRC_ERR
Definition: lirc_client.h:24
@ LIRC_RET_ERROR
Definition: lirc_client.h:26
@ LIRC_RET_SUCCESS
Definition: lirc_client.h:25
int lirc_readconfig_only(const struct lirc_state *state, const std::string &file, struct lirc_config **config, int(check)(std::string &s))
int lirc_code2char(const struct lirc_state *state, struct lirc_config *config, const std::string &code, std::string &string)
struct lirc_state * lirc_init(const char *lircrc_root_file, const char *lircrc_user_file, const char *prog, const char *lircd, int verbose)
std::string button
Definition: lirc_client.h:59
std::string remote
Definition: lirc_client.h:58
struct lirc_code * next
Definition: lirc_client.h:60
Definition: lirc_client.h:73
struct lirc_list * config
Definition: lirc_client.h:78
struct lirc_list * next_config
Definition: lirc_client.h:83
struct lirc_code * code
Definition: lirc_client.h:75
struct lirc_code * next_code
Definition: lirc_client.h:84
unsigned int rep_delay
Definition: lirc_client.h:76
std::string mode
Definition: lirc_client.h:82
struct lirc_config_entry * next
Definition: lirc_client.h:86
std::string prog
Definition: lirc_client.h:74
unsigned int flags
Definition: lirc_client.h:80
unsigned int rep
Definition: lirc_client.h:77
std::string change_mode
Definition: lirc_client.h:79
struct lirc_config_entry * next
Definition: lirc_client.h:66
std::string current_mode
Definition: lirc_client.h:65
struct lirc_config_entry * first
Definition: lirc_client.h:67
std::string string
Definition: lirc_client.h:52
struct lirc_list * next
Definition: lirc_client.h:53
std::string lircrc_root_file
Definition: lirc_client.h:46
std::string lirc_prog
Definition: lirc_client.h:45
int lirc_verbose
Definition: lirc_client.h:44
int lirc_lircd
Definition: lirc_client.h:43
std::string lircrc_user_file
Definition: lirc_client.h:47