lib/mbselib.h

Thu, 24 Apr 2014 19:49:30 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Thu, 24 Apr 2014 19:49:30 +0200
changeset 12
102c44bb8c9d
parent 9
91218bc77abc
child 16
f4cbe008da72
permissions
-rw-r--r--

Deamon code added

7
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
1 #ifndef _MBSELIB_H
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
2 #define _MBSELIB_H
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
3
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
4 #include "../config.h"
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
5
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
6 #include <stdlib.h>
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
7 #include <stdio.h>
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
8 #include <string.h>
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
9 #include <ctype.h>
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
10 #include <sys/types.h>
12
102c44bb8c9d Deamon code added
Michiel Broek <mbroek@mbse.eu>
parents: 9
diff changeset
11 #include <sys/stat.h>
102c44bb8c9d Deamon code added
Michiel Broek <mbroek@mbse.eu>
parents: 9
diff changeset
12 #include <fcntl.h>
8
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
13 #include <syslog.h>
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
14 #include <unistd.h>
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
15 #include <errno.h>
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
16 #include <signal.h>
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
17 #include <getopt.h>
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
18
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
19 #include <mosquitto.h>
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
20
7
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
21
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
22 #define TRUE 1
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
23 #define FALSE 0
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
24
8
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
25 #define MBSE_SS(x) (x)?(x):"(null)"
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
26
7
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
27 /* rdconfig.c */
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
28 typedef struct _key_list {
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
29 char *key;
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
30 int (*prc)(char **);
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
31 char **dest;
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
32 } key_list;
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
33
9
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
34 typedef struct _w1_therm {
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
35 struct _w1_therm *next;
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
36 char *master; /* Master for this device */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
37 int bus; /* Reserved for ds2482-800 */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
38 char *name; /* Name of this device */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
39 char *alias; /* Friendly name */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
40 int present; /* 1=present, 0=absent */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
41 int lastval; /* Last valid value */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
42 } w1_therm;
7
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
43
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
44 typedef struct _sys_config {
9
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
45 char *name; /* Configuration name */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
46 char *mosq_host; /* mosquitto server hostname */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
47 int mosq_port; /* mosquitto server port */
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
48 w1_therm *w1therms; /* 1-wire temp sensors */
7
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
49 } sys_config;
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
50
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
51
9
91218bc77abc Config now reads sensors configuration
Michiel Broek <mbroek@mbse.eu>
parents: 8
diff changeset
52
7
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
53 void killconfig(void);
8
e584bc0177df Server communication seems ok, can handle server shutdowns too.
Michiel Broek <mbroek@mbse.eu>
parents: 7
diff changeset
54 int rdconfig(void);
7
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
55
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
56
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
57 /* xutil.c */
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
58 char *xmalloc(size_t);
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
59 char *xstrcpy(char *);
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
60 char *xstrcat(char *, char *);
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
61
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
62 #endif
d74b26b2f217 Added library
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
63

mercurial