4 * This code is published under the terms of the Acess licence.
5 * See the file COPYING for details.
7 * common.h - Core Header
13 #define DEFAULT_CONFIG_FILE "/etc/opendispense/main.cfg"
14 #define DEFAULT_ITEM_FILE "/etc/opendispense/items.cfg"
16 // === HELPER MACROS ===
18 #define EXPSTR(x) _EXPSTR(x)
21 typedef struct sItem tItem;
22 typedef struct sUser tUser;
23 typedef struct sConfigItem tConfigItem;
24 typedef struct sHandler tHandler;
28 char *Name; //!< Display Name
31 tHandler *Handler; //!< Handler for the item
32 short ID; //!< Item ID
37 int ID; //!< User ID (LDAP ID)
38 int Balance; //!< Balance in cents
39 int Bytes; //!< Traffic Usage
40 char Name[]; //!< Username
52 int (*Init)(int NConfig, tConfigItem *Config);
53 int (*CanDispense)(int User, int ID);
54 int (*DoDispense)(int User, int ID);
58 extern tItem *gaItems;
59 extern int giNumItems;
60 extern tHandler *gaHandlers[];
61 extern int giNumHandlers;
62 extern int giDebugLevel;
65 extern int DispenseItem(int User, tItem *Item);
68 extern void Log_Error(const char *Format, ...);
69 extern void Log_Info(const char *Format, ...);
71 // --- Cokebank Functions ---
72 extern int Transfer(int SourceUser, int DestUser, int Ammount, const char *Reason);
73 extern int GetBalance(int User);
74 extern char *GetUserName(int User);
75 extern int GetUserID(const char *Username);
76 extern int GetUserAuth(const char *Username, const char *Password);