#ifndef _COMMON_H_
#define _COMMON_H_
+#include <regex.h>
+
// === CONSTANTS ===
#define DEFAULT_CONFIG_FILE "/etc/opendispense/main.cfg"
#define DEFAULT_ITEM_FILE "/etc/opendispense/items.cfg"
{
char *Name;
int (*Init)(int NConfig, tConfigItem *Config);
+ /**
+ * \brief Check if an item can be dispensed
+ * \return Boolean Failure
+ */
int (*CanDispense)(int User, int ID);
int (*DoDispense)(int User, int ID);
};
extern int giDebugLevel;
// === FUNCTIONS ===
+// --- Helpers --
+extern void CompileRegex(regex_t *Regex, const char *Pattern, int Flags);
+extern int RunRegex(regex_t *regex, const char *string, int nMatches, regmatch_t *matches, const char *errorMessage);
+extern void InitSerial(int FD, int BaudRate);
+
+// --- Dispense ---
extern int DispenseItem(int User, tItem *Item);
// --- Logging ---
extern int GetBalance(int User);
extern char *GetUserName(int User);
extern int GetUserID(const char *Username);
-extern int GetUserAuth(const char *Username, const char *Password);
#endif