NeoMutt  2022-04-29-249-gaae397
Teaching an old dog new tricks
DOXYGEN
types.h
Go to the documentation of this file.
1
23#ifndef MUTT_CONFIG_TYPES_H
24#define MUTT_CONFIG_TYPES_H
25
26#include <stdint.h>
27
28/* Data Types */
29#define DT_ADDRESS 1
30#define DT_BOOL 2
31#define DT_ENUM 3
32#define DT_HCACHE 4
33#define DT_LONG 5
34#define DT_MBTABLE 6
35#define DT_NUMBER 7
36#define DT_PATH 8
37#define DT_QUAD 9
38#define DT_REGEX 10
39#define DT_SLIST 11
40#define DT_SORT 12
41#define DT_STRING 13
42#define DT_SYNONYM 14
43
44#define DTYPE(x) ((x) & 0x1F)
45
46#define DT_NOT_EMPTY (1 << 6)
47#define DT_NOT_NEGATIVE (1 << 7)
48#define DT_MAILBOX (1 << 8)
49#define DT_SENSITIVE (1 << 9)
50#define DT_COMMAND (1 << 10)
51#define DT_INHERIT_ACC (1 << 11)
52#define DT_INHERIT_MBOX (1 << 12)
53#define DT_PATH_DIR (1 << 13)
54#define DT_PATH_FILE (1 << 14)
55
56#define IS_SENSITIVE(x) (((x).type & DT_SENSITIVE) == DT_SENSITIVE)
57#define IS_MAILBOX(x) (((x)->type & (DT_STRING | DT_MAILBOX)) == (DT_STRING | DT_MAILBOX))
58#define IS_COMMAND(x) (((x)->type & (DT_STRING | DT_COMMAND)) == (DT_STRING | DT_COMMAND))
59
60/* subtypes for... */
61#define DT_SUBTYPE_MASK 0x0FE0
62
63typedef uint32_t ConfigRedrawFlags;
64#define R_REDRAW_NO_FLAGS 0
65#define R_INDEX (1 << 17)
66#define R_PAGER (1 << 18)
67#define R_PAGER_FLOW (1 << 19)
68#define R_RESORT (1 << 20)
69#define R_RESORT_SUB (1 << 21)
70#define R_RESORT_INIT (1 << 22)
71#define R_TREE (1 << 23)
72#define R_MENU (1 << 24)
73
74#define R_REDRAW_MASK 0x07FE0000
75
76/* Private config item flags */
77#define DT_DEPRECATED (1 << 27)
78#define DT_INHERITED (1 << 28)
79#define DT_INITIAL_SET (1 << 29)
80#define DT_DISABLED (1 << 30)
81// #define DT_MY_CONFIG (1U << 31) ///< Config item is a "my_" variable
82
83#endif /* MUTT_CONFIG_TYPES_H */
uint32_t ConfigRedrawFlags
Flags for redraw/resort, e.g. R_INDEX.
Definition: types.h:63