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
24#define LIRC_RET_SUCCESS (0)
25#define LIRC_RET_ERROR (-1)
26
27#define LIRC_ALL "ALL"
28
29enum lirc_flags {none=0x00,
30 once=0x01,
31 quit=0x02,
32 modex=0x04,
33 ecno=0x08,
36};
37
39{
42 std::string lirc_prog;
43 std::string lircrc_root_file;
44 std::string lircrc_user_file;
45};
46
48{
49 std::string string;
50 struct lirc_list *next {nullptr};
51};
52
54{
55 std::string remote;
56 std::string button;
57 struct lirc_code *next { nullptr };
58};
59
61{
62 std::string current_mode;
63 struct lirc_config_entry *next { nullptr };
64 struct lirc_config_entry *first { nullptr };
65
66 int sockfd;
67};
68
70{
71 std::string prog;
72 struct lirc_code *code { nullptr };
73 unsigned int rep_delay { 0 };
74 unsigned int rep { 0 };
75 struct lirc_list *config { nullptr };
76 std::string change_mode;
77 unsigned int flags { none };
78
79 std::string mode;
80 struct lirc_list *next_config { nullptr };
81 struct lirc_code *next_code { nullptr };
82
83 struct lirc_config_entry *next { nullptr };
84};
85
86struct lirc_state *lirc_init(const char *lircrc_root_file,
87 const char *lircrc_user_file,
88 const char *prog, const char *lircd, int verbose);
89int lirc_deinit(struct lirc_state *state);
90
91int lirc_readconfig(const struct lirc_state *state,
92 const std::string& file,struct lirc_config **config,
93 int (check)(std::string& s));
94void lirc_freeconfig(struct lirc_config *config);
95
96int lirc_code2char(const struct lirc_state *state, struct lirc_config *config,
97 const std::string& code,std::string& string);
98
99/* new interface for client daemon */
100int lirc_readconfig_only(const struct lirc_state *state,
101 const std::string& file, struct lirc_config **config,
102 int (check)(std::string& s));
103size_t lirc_getsocketname(const std::string& filename, char *buf, size_t size);
104std::string lirc_getmode(const struct lirc_state *state, struct lirc_config *config);
105std::string lirc_setmode(const struct lirc_state *state, struct lirc_config *config, const std::string& mode);
106
107#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)
lirc_flags
Definition: lirc_client.h:29
@ once
Definition: lirc_client.h:30
@ quit
Definition: lirc_client.h:31
@ toggle_reset
Definition: lirc_client.h:35
@ ecno
Definition: lirc_client.h:33
@ none
Definition: lirc_client.h:29
@ modex
Definition: lirc_client.h:32
@ startup_mode
Definition: lirc_client.h:34
int lirc_readconfig(const struct lirc_state *state, const std::string &file, struct lirc_config **config, int(check)(std::string &s))
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)
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:56
std::string remote
Definition: lirc_client.h:55
struct lirc_code * next
Definition: lirc_client.h:57
Definition: lirc_client.h:70
struct lirc_list * config
Definition: lirc_client.h:75
struct lirc_list * next_config
Definition: lirc_client.h:80
struct lirc_code * code
Definition: lirc_client.h:72
struct lirc_code * next_code
Definition: lirc_client.h:81
unsigned int rep_delay
Definition: lirc_client.h:73
std::string mode
Definition: lirc_client.h:79
struct lirc_config_entry * next
Definition: lirc_client.h:83
std::string prog
Definition: lirc_client.h:71
unsigned int flags
Definition: lirc_client.h:77
unsigned int rep
Definition: lirc_client.h:74
std::string change_mode
Definition: lirc_client.h:76
struct lirc_config_entry * next
Definition: lirc_client.h:63
std::string current_mode
Definition: lirc_client.h:62
struct lirc_config_entry * first
Definition: lirc_client.h:64
std::string string
Definition: lirc_client.h:49
struct lirc_list * next
Definition: lirc_client.h:50
std::string lircrc_root_file
Definition: lirc_client.h:43
std::string lirc_prog
Definition: lirc_client.h:42
int lirc_verbose
Definition: lirc_client.h:41
int lirc_lircd
Definition: lirc_client.h:40
std::string lircrc_user_file
Definition: lirc_client.h:44