LIRC libraries
Linux Infrared Remote Control
Loading...
Searching...
No Matches
lirc_client.c File Reference

Implements lirc_client.h. More...

#include <errno.h>
#include <libgen.h>
#include <limits.h>
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdint.h>
#include <string.h>
#include <strings.h>
#include <sys/param.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/wait.h>
#include <sys/un.h>
#include <unistd.h>
#include "lirc_client.h"

Go to the source code of this file.

Macros

#define MAXPATHLEN   4096
 
#define logprintf(level, fmt, args ...)
 
#define LIRC_WARNING   LOG_WARNING
 
#define LIRC_DEBUG   LOG_DEBUG
 
#define LIRC_NOTICE   LOG_NOTICE
 
#define LIRC_ERROR   LOG_ERR
 
#define MAX_INCLUDES   10
 
#define LIRC_READ   255
 
#define LIRC_PACKET_SIZE   255
 
#define LIRC_TIMEOUT   3
 

Enumerations

enum  packet_state {
  P_BEGIN , P_MESSAGE , P_STATUS , P_DATA ,
  P_N , P_DATA_N , P_END
}
 protocol state. More...
 

Functions

unsigned int lirc_flags (char *string)
 
int lirc_command_init (lirc_cmd_ctx *ctx, const char *fmt,...)
 Initiate a lirc_cmd_ctx to run a command.
 
void lirc_command_reply_to_stdout (lirc_cmd_ctx *ctx)
 Set command_ctx write_to_stdout flag.
 
int lirc_command_run (lirc_cmd_ctx *ctx, int fd)
 Run a command in non-blocking mode.
 
int lirc_init (const char *prog, int verbose)
 Initial setup: connect to lircd socket.
 
int lirc_deinit (void)
 Release resources allocated by lirc_init(), basically disconnect from socket.
 
int lirc_mode (char *token, char *token2, char **mode, struct lirc_config_entry **new_config, struct lirc_config_entry **first_config, struct lirc_config_entry **last_config, int(check)(char *s), const char *name, int line)
 
int lirc_identify (int sockfd)
 
int lirc_readconfig (const char *file, struct lirc_config **config, int(check)(char *s))
 Parse a lircrc configuration file.
 
int lirc_readconfig_only (const char *file, struct lirc_config **config, int(check)(char *s))
 Parse a lircrc configuration file without connecting to lircrcd.
 
void lirc_freeconfig (struct lirc_config *config)
 Deallocate an object retrieved using lirc_readconfig().
 
char * lirc_ir2char (struct lirc_config *config, char *code)
 
int lirc_code2char (struct lirc_config *config, char *code, char **string)
 Translate a code string to an application string using .lircrc.
 
int lirc_code2charprog (struct lirc_config *config, char *code, char **string, char **prog)
 
char * lirc_nextir (void)
 
int lirc_nextcode (char **code)
 Get next available code from the lircd daemon.
 
size_t lirc_getsocketname (const char *id, char *buf, size_t size)
 Retrieve default lircrcd socket path.
 
const char * lirc_getmode (struct lirc_config *config)
 Get mode defined in lircrc.
 
const char * lirc_setmode (struct lirc_config *config, const char *mode)
 Set mode defined in lircrc.
 
int lirc_send_one (int fd, const char *remote, const char *keysym)
 Send keysym using given remote.
 
int lirc_simulate (int fd, const char *remote, const char *keysym, int scancode, int repeat)
 Send a simulated lirc event.This call might block for some time since it involves communication with lircd.
 
int lirc_get_local_socket (const char *path, int quiet)
 Return an opened and connected file descriptor to local lirc socket.
 
int lirc_get_remote_socket (const char *address, int port, int quiet)
 Return an opened and connected file descriptor to remote lirc socket.
 

Variables

char * prog
 

Detailed Description

Implements lirc_client.h.

Author
Christoph Bartelmus, Trent Piepho, Michal Svec

Definition in file lirc_client.c.

Macro Definition Documentation

◆ LIRC_DEBUG

#define LIRC_DEBUG   LOG_DEBUG

Definition at line 55 of file lirc_client.c.

◆ LIRC_ERROR

#define LIRC_ERROR   LOG_ERR

Definition at line 57 of file lirc_client.c.

◆ LIRC_NOTICE

#define LIRC_NOTICE   LOG_NOTICE

Definition at line 56 of file lirc_client.c.

◆ LIRC_PACKET_SIZE

#define LIRC_PACKET_SIZE   255

Definition at line 62 of file lirc_client.c.

◆ LIRC_READ

#define LIRC_READ   255

Definition at line 61 of file lirc_client.c.

◆ LIRC_TIMEOUT

#define LIRC_TIMEOUT   3

Definition at line 64 of file lirc_client.c.

◆ LIRC_WARNING

#define LIRC_WARNING   LOG_WARNING

Definition at line 54 of file lirc_client.c.

◆ logprintf

#define logprintf ( level,
fmt,
args ... )
Value:
syslog(level, fmt, ## args)

Definition at line 53 of file lirc_client.c.

◆ MAX_INCLUDES

#define MAX_INCLUDES   10

Definition at line 60 of file lirc_client.c.

◆ MAXPATHLEN

#define MAXPATHLEN   4096

Definition at line 45 of file lirc_client.c.

Enumeration Type Documentation

◆ packet_state

protocol state.

Definition at line 76 of file lirc_client.c.

Function Documentation

◆ lirc_flags()

unsigned int lirc_flags ( char * string)

Definition at line 733 of file lirc_client.c.

◆ lirc_identify()

int lirc_identify ( int sockfd)

Definition at line 1429 of file lirc_client.c.

◆ lirc_mode()

int lirc_mode ( char * token,
char * token2,
char ** mode,
struct lirc_config_entry ** new_config,
struct lirc_config_entry ** first_config,
struct lirc_config_entry ** last_config,
int(check)(char *s) ,
const char * name,
int line )

Definition at line 587 of file lirc_client.c.

Variable Documentation

◆ prog

char* prog

Definition at line 99 of file lirc_client.c.