aboutsummaryrefslogtreecommitdiff
path: root/config.h
blob: 59ab874e3705edc10e8768e4d697d15c0e0198f4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#define DEFAULT_GRAMMAR "Cvccvc!##"

/* Use some static buffers to avoid malloc */
#define STATIC_BUFFER_SIZE 24

/*
 * For vowels:
 *   i, o excluded due to potentially confusing 1/l/i + 0/o
 *   y included as a vowel because it kinda is one
 * The real vowels are a separate class, 'x' just in case
 */
#define ALPHABET "abcdefghijklmnopqrstuvwxyz"
#define NUMBERS "1234567890"
#define SYMBOLS "@#$%^&*_-+=()[]{}"
#define CLASSES \
    CLASS('v', "aeuy") \
    CLASS('c', "bcdfghkmnprstvwxz") \
    CLASS('#', NUMBERS) \
    CLASS('!', SYMBOLS) \
    CLASS('l', ALPHABET) \
    CLASS('a', ALPHABET NUMBERS) \
    CLASS('b', ALPHABET NUMBERS SYMBOLS) \
    CLASS('x', "aeiou")

/*
 * Rationale for the combinations:
 *   l => 'letters'
 *   a => 'alphanumeric'
 *   b => 'all', but 'a' already taken so 'b'
 */