cfg.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #ifndef _CFG_H
  2. #define _CFG_H
  3. #ifdef HAVE_CONFIG_H
  4. # include "config.h"
  5. #endif
  6. #define CFGF_GLOBAL BIT0 /* Accessible as .config */
  7. #define CFGF_LOCAL BIT1 /* Accessible as .botconfig */
  8. #define CFGF_HUB BIT2
  9. #define CFGF_LEAF BIT3
  10. typedef struct cfg_entry {
  11. char *name;
  12. int flags;
  13. char *gdata;
  14. char *ldata;
  15. void (*globalchanged) (struct cfg_entry *, int *valid);
  16. void (*localchanged) (struct cfg_entry *, int *valid);
  17. void (*describe) (struct cfg_entry *, int idx);
  18. } cfg_entry_T;
  19. extern struct cfg_entry CFG_MOTD, CFG_CMDPREFIX, CFG_FORKINTERVAL, CFG_CHANSET, CFG_SERVERS, CFG_SERVERS6,
  20. CFG_NICK, CFG_REALNAME, CFG_INBOTS, CFG_LAGTHRESHOLD, CFG_OPREQUESTS,
  21. CFG_OPBOTS, CFG_INBOTS, CFG_SERVPORT, CFG_AUTHKEY, CFG_MSGOP, CFG_MSGPASS,
  22. CFG_MSGINVITE, CFG_MSGIDENT, CFG_LOGIN, CFG_HIJACK, CFG_TRACE, CFG_PROMISC,
  23. CFG_BADPROCESS, CFG_PROCESSLIST, CFG_FIGHTTHRESHOLD, CFG_CLOSETHRESHOLD, CFG_KILLTHRESHOLD,
  24. CFG_DCCAUTH;
  25. #ifdef G_MEAN
  26. extern struct cfg_entry CFG_MEANDEOP, CFG_MEANKICK, CFG_MEANBAN;
  27. #endif /* G_MEAN */
  28. void deflag_user(struct userrec *, int, char *, struct chanset_t *);
  29. int deflag_translate(const char *);
  30. void set_cfg_str(char *, char *, char *);
  31. void add_cfg(struct cfg_entry *);
  32. void got_config_share(int, char *, int);
  33. void userfile_cfg_line(char *);
  34. void trigger_cfg_changed();
  35. int check_cmd_pass(const char *, char *);
  36. int has_cmd_pass(const char *);
  37. void set_cmd_pass(char *, int);
  38. void init_cfg(void);
  39. extern struct cmd_pass *cmdpass;
  40. extern char cmdprefix;
  41. extern int cfg_count;
  42. extern bool cfg_noshare;
  43. extern struct cfg_entry **cfg;
  44. #define OP_BOTS (CFG_OPBOTS.gdata ? atoi(CFG_OPBOTS.gdata) : 1)
  45. #define IN_BOTS (CFG_INBOTS.gdata ? atoi(CFG_INBOTS.gdata) : 1)
  46. #define LAG_THRESHOLD (CFG_LAGTHRESHOLD.gdata ? atoi(CFG_LAGTHRESHOLD.gdata) : 15)
  47. #define OPREQ_COUNT (CFG_OPREQUESTS.gdata ? atoi( CFG_OPREQUESTS.gdata ) : 2)
  48. #define OPREQ_SECONDS (CFG_OPREQUESTS.gdata ? atoi( strchr(CFG_OPREQUESTS.gdata, ':') + 1 ) : 5)
  49. #define msgop (CFG_MSGOP.ldata ? CFG_MSGOP.ldata : CFG_MSGOP.gdata ? CFG_MSGOP.gdata : "")
  50. #define msgpass (CFG_MSGPASS.ldata ? CFG_MSGPASS.ldata : CFG_MSGPASS.gdata ? CFG_MSGPASS.gdata : "")
  51. #define msginvite (CFG_MSGINVITE.ldata ? CFG_MSGINVITE.ldata : CFG_MSGINVITE.gdata ? CFG_MSGINVITE.gdata : "")
  52. #define msgident (CFG_MSGIDENT.ldata ? CFG_MSGIDENT.ldata : CFG_MSGIDENT.gdata ? CFG_MSGIDENT.gdata : "")
  53. #define kill_threshold (CFG_KILLTHRESHOLD.gdata ? atoi(CFG_KILLTHRESHOLD.gdata) : 0)
  54. #define dccauth (CFG_DCCAUTH.ldata ? atoi(CFG_DCCAUTH.ldata) : CFG_DCCAUTH.gdata ? atoi(CFG_DCCAUTH.gdata) : 0)
  55. #endif /* !_CFG_H */