53 lines
1.5 KiB
C
53 lines
1.5 KiB
C
#ifndef YASND_H
|
|
#define YASND_H
|
|
|
|
// Debug verbosity
|
|
#define DEBUG_BASE 1
|
|
#define DEBUG_ALL 2
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <sys/types.h>
|
|
#include <sys/wait.h>
|
|
#include <signal.h>
|
|
#include <stdbool.h>
|
|
#include <string.h>
|
|
#define _GNU_SOURCE
|
|
#include <sched.h>
|
|
|
|
// Structure, that described single checked host
|
|
typedef struct {
|
|
char* hostname; // address of host
|
|
int lpt_pin; // pin on LPT control circuit for reset
|
|
pid_t helper_pid; // pid of helper('pinger') child process
|
|
int fail_count; // how many times in a row host was unreachable
|
|
bool alert_sent; // variable, that changed when host goes online/offline
|
|
} host_decl;
|
|
|
|
// Structure, that described single IPC message
|
|
typedef struct {
|
|
long mtype; /* Message type */
|
|
char mtext[100];
|
|
} mymsgbuf;
|
|
|
|
// External functions
|
|
extern void log_event(const char *message);
|
|
extern void log_debug(const char *message,int verbosity);
|
|
extern void* allocate_memory(int bytes);
|
|
extern bool gammu_init();
|
|
extern bool gammu_send_sms(const char* message);
|
|
extern void ipc_init();
|
|
extern void ipc_free();
|
|
extern int send_message(int qid, mymsgbuf* qbuf);
|
|
extern void gammu_free();
|
|
|
|
// External variables
|
|
extern int hosts_count; // count of hosts
|
|
extern int debug_flag;
|
|
extern char* recipient_number;
|
|
extern char* phone_device; // phone device for gammu, for example: "/dev/ttyACM0"
|
|
extern char* phone_model; // gammu phone model, for example: "at"
|
|
extern char* phone_connection; // gammu phone connection type, for example: "at"
|
|
|
|
#endif
|