set.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #ifndef _SET_H
  2. #define _SET_H
  3. #include <sys/types.h>
  4. #include "set.h"
  5. #define var_type_name(x) (x & VAR_DETECTED) ? "detect" : (x & VAR_INT) ? "int" : (x & VAR_LIST) ? "list" : \
  6. (x & VAR_STRING) ? "string" : (x & VAR_RATE) ? "rate" : (x & VAR_BOOL) ? "bool" : ""
  7. #define VAR_INT BIT0
  8. #define VAR_STRING BIT1
  9. #define VAR_RATE BIT2
  10. #define VAR_BOOL BIT3
  11. #define VAR_HIDE BIT4
  12. #define VAR_DETECTED BIT5
  13. #define VAR_LIST BIT6
  14. /* send this var to server as nick? */
  15. #define VAR_NICK BIT7
  16. #define VAR_SERVERS BIT8
  17. #define VAR_SHUFFLE BIT9
  18. /* no local */
  19. #define VAR_NOLOC BIT10
  20. /* no local hub */
  21. #define VAR_NOLHUB BIT11
  22. /* trigger cloak script changing? */
  23. #define VAR_CLOAK BIT12
  24. /* only perm owner may view/edit */
  25. #define VAR_PERM BIT13
  26. /* Don't set the var data from the mem as default (NICK) */
  27. #define VAR_NODEF BIT14
  28. #define VAR_CHANSET BIT15
  29. #define VAR_LDATA 1
  30. #define VAR_GDATA 2
  31. #define set_data(x) ((x).ldata ? (x).ldata : (x).gdata ? (x).gdata : 0)
  32. #define set_type(x) ((x).ldata ? VAR_LDATA : (x).gdata ? VAR_GDATA : 0)
  33. #define set_types(x) ((x).ldata ? "local" : (x).gdata ? "global" : "")
  34. typedef struct variable_b {
  35. const char *name;
  36. void *mem;
  37. size_t size;
  38. int flags;
  39. char *ldata;
  40. char *gdata;
  41. } variable_t;
  42. typedef struct rate_b {
  43. int count;
  44. time_t time;
  45. } rate_t;
  46. extern char auth_key[], auth_prefix[2], motd[], *def_chanset, alias[],
  47. msgident[], msginvite[], msgop[], msgpass[], process_list[];
  48. extern bool dccauth, auth_obscure;
  49. extern int cloak_script, fight_threshold, fork_interval, in_bots, set_noshare, autoaway,
  50. kill_threshold, lag_threshold, op_bots, badprocess, hijack, login, promisc, trace;
  51. extern rate_t op_requests, close_threshold;
  52. bool write_vars_and_cmdpass (FILE *, int);
  53. void var_userfile_share_line(char *, int, bool);
  54. void var_parse_my_botset();
  55. void init_vars();
  56. void var_set_by_name(const char *, const char *, const char *);
  57. void var_set_userentry(const char *, const char *, const char *);
  58. void cmd_set_real(const char *, int idx, char *);
  59. #endif /* !_SET_H */