summaryrefslogtreecommitdiffstats
path: root/lib/filehighlight/internal.h
blob: 3cf718dab60cf0efc8d346b6c5adb79104b5b651 (plain)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifndef MC__FILEHIGHLIGHT_INTERNAL_H
#define MC__FILEHIGHLIGHT_INTERNAL_H

#include "lib/search.h"         /* mc_search_t */

/*** typedefs(not structures) and defined constants **********************************************/

/*** enums ***************************************************************************************/

typedef enum
{
    MC_FLHGH_T_FTYPE,
    MC_FLHGH_T_EXT,
    MC_FLHGH_T_FREGEXP
} mc_flhgh_filter_type;

typedef enum
{
    MC_FLHGH_FTYPE_T_FILE,
    MC_FLHGH_FTYPE_T_FILE_EXE,
    MC_FLHGH_FTYPE_T_DIR,
    MC_FLHGH_FTYPE_T_LINK_DIR,
    MC_FLHGH_FTYPE_T_LINK,
    MC_FLHGH_FTYPE_T_HARDLINK,
    MC_FLHGH_FTYPE_T_SYMLINK,
    MC_FLHGH_FTYPE_T_STALE_LINK,
    MC_FLHGH_FTYPE_T_DEVICE,
    MC_FLHGH_FTYPE_T_DEVICE_BLOCK,
    MC_FLHGH_FTYPE_T_DEVICE_CHAR,
    MC_FLHGH_FTYPE_T_SPECIAL,
    MC_FLHGH_FTYPE_T_SPECIAL_SOCKET,
    MC_FLHGH_FTYPE_T_SPECIAL_FIFO,
    MC_FLHGH_FTYPE_T_SPECIAL_DOOR,
} mc_flhgh_ftype_type;

/*** structures declarations (and typedefs of structures)*****************************************/

typedef struct mc_fhl_filter_struct
{

    int color_pair_index;
    gchar *fgcolor;
    gchar *bgcolor;
    mc_flhgh_filter_type type;
    mc_search_t *search_condition;
    mc_flhgh_ftype_type file_type;

} mc_fhl_filter_t;

/*** global variables defined in .c file *********************************************************/

/*** declarations of public functions ************************************************************/

void mc_fhl_filter_free (gpointer data);
void mc_fhl_array_free (mc_fhl_t * fhl);

gboolean mc_fhl_init_from_standard_files (mc_fhl_t * fhl);

/*** inline functions ****************************************************************************/

#endif /* MC__FILEHIGHLIGHT_INTERNAL_H */