LIRC libraries
LinuxInfraredRemoteControl
config_file.c File Reference

(b739139 2017-04-19 16:51:07 +0200)

Implements config_file.h. More...

#include <dirent.h>
#include <errno.h>
#include <glob.h>
#include <limits.h>
#include <unistd.h>
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <libgen.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
#include <ctype.h>
#include "media/lirc.h"
#include "lirc/lirc_log.h"
#include "lirc/lirc_options.h"
#include "lirc/ir_remote.h"
#include "lirc/config_file.h"
#include "lirc/transmit.h"
#include "lirc/config_flags.h"

Go to the source code of this file.

Macros

#define LINE_LEN   1024
 
#define MAX_INCLUDES   10
 

Typedefs

typedef void *(* array_guest_func) (void *item, void *arg)
 foreach_void_array argument. More...
 

Enumerations

enum  directive {
  ID_none, ID_remote, ID_codes, ID_raw_codes,
  ID_raw_name
}
 

Functions

void ** init_void_array (struct void_array *ar, size_t chunk_size, size_t item_size)
 
int add_void_array (struct void_array *ar, void *dataptr)
 Add *dataptr to end of ar, re-allocating as necessary. More...
 
void * get_void_array (struct void_array *ar)
 Return the array dataptr, an array[nr_items] of item_size elements. More...
 
void * s_malloc (size_t size)
 
char * s_strdup (char *string)
 
ir_code s_strtocode (const char *val)
 
uint32_t s_strtou32 (char *val)
 
int s_strtoi (char *val)
 
unsigned int s_strtoui (char *val)
 
lirc_t s_strtolirc_t (char *val)
 
int checkMode (int is_mode, int c_mode, char *error)
 
int addSignal (struct void_array *signals, char *val)
 
struct ir_ncodedefineCode (char *key, char *val, struct ir_ncode *code)
 
struct ir_code_nodedefineNode (struct ir_ncode *code, const char *val)
 
int parseFlags (char *val)
 
int defineRemote (char *key, char *val, char *val2, struct ir_remote *rem)
 
struct ir_remoteread_config (FILE *f, const char *name)
 Parse a lircd.conf config file. More...
 
void free_config (struct ir_remote *remotes)
 Free() an ir_remote instance obtained using read_config(). More...
 

Variables

const char * whitespace = " \t"
 
const struct flaglist all_flags []
 All flags i config file: Their name and mask. More...
 

Detailed Description

Implements config_file.h.

Author
Pablo d'Angelo

Definition in file config_file.c.

Typedef Documentation

typedef void*(* array_guest_func) (void *item, void *arg)

foreach_void_array argument.

Definition at line 71 of file config_file.c.

Function Documentation

int add_void_array ( struct void_array *  ar,
void *  dataptr 
)

Add *dataptr to end of ar, re-allocating as necessary.

Definition at line 124 of file config_file.c.

void* get_void_array ( struct void_array *  ar)

Return the array dataptr, an array[nr_items] of item_size elements.

Definition at line 149 of file config_file.c.

Variable Documentation

const struct flaglist all_flags[]
Initial value:
= {
{ "RAW_CODES", RAW_CODES },
{ "RC5", RC5 },
{ "SHIFT_ENC", SHIFT_ENC },
{ "RC6", RC6 },
{ "RCMM", RCMM },
{ "SPACE_ENC", SPACE_ENC },
{ "SPACE_FIRST", SPACE_FIRST },
{ "GOLDSTAR", GOLDSTAR },
{ "GRUNDIG", GRUNDIG },
{ "BO", BO },
{ "SERIAL", SERIAL },
{ "XMP", XMP },
{ "REVERSE", REVERSE },
{ "NO_HEAD_REP", NO_HEAD_REP },
{ "NO_FOOT_REP", NO_FOOT_REP },
{ "CONST_LENGTH", CONST_LENGTH },
{ "REPEAT_HEADER", REPEAT_HEADER },
{ NULL, 0 },
}
#define NO_FOOT_REP
no foot for key repeats
#define RC6
IR data follows RC6 protocol.
#define GOLDSTAR
encoding found on Goldstar remote
#define SPACE_ENC
IR data is space encoded.
#define RCMM
IR data follows RC-MM protocol.
#define RC5
IR data follows RC5 protocol.
#define REPEAT_HEADER
header is also sent before repeat code
#define SPACE_FIRST
bits are encoded as space+pulse
#define CONST_LENGTH
signal length+gap is always constant
#define NO_HEAD_REP
no header for key repeats
#define GRUNDIG
encoding found on Grundig remote
#define SERIAL
serial protocol
#define SHIFT_ENC
IR data is shift encoded (name obsolete)
#define BO
encoding found on Bang & Olufsen remote
#define RAW_CODES
for internal use only
#define XMP
XMP protocol.

All flags i config file: Their name and mask.

Definition at line 99 of file config_file.c.