1 /*****************************************************************************
2  ** File          : parse.h                                                 **
3  ** Purpose       :                                                         **
4  ** Author        : Edward Groenendaal                                      **
5  ** Date          : 18th Feb 1991                                           **
6  ** Documentation : Xdtm Design Folder                                      **
7  ** Related Files : parse.c, lexical.h, parser.y                            **
8  *****************************************************************************/
9 
10 #ifndef _parse_h
11 #define _parse_h
12 
13 #include "regexp/regexp.h"
14 
15 /* Added IGNORE_SEL from Jon's code - bit like A_SEL but what the hell */
16 typedef enum {IGNORE_SEL, M_SEL, O_SEL, N_SEL, A_SEL} SelOptions;
17 
18 typedef struct {
19   String     string;
20   Pixmap     icon;
21   Pixmap     mask;
22   String     program;
23   int        count;   /* Added by Jon */
24   SelOptions options;
25   int        termopts;
26 } AppProgram;
27 
28 typedef struct {
29   String       name;
30   Cardinal     number;
31   AppProgram **list;
32 } AppSelection;
33 
34 typedef struct _iconOps {
35     Widget      menu;
36     AppProgram *cmd;
37 } iconOps;
38 
39 typedef struct _iconSelection {
40   String                 name;
41   Cardinal               number;
42   AppProgram           **applist;
43   struct _iconSelection *next;
44 } iconSelection;
45 
46 /* Directory Manager Structures */
47 
48 typedef struct _iconPrefs {
49   regexp   *expbuf;
50   Boolean   checkpath;
51   XtPointer extra;
52   Pixmap icon;
53   Pixmap mask;
54   Boolean cmd_is_first;
55   iconOps *user_data;
56   iconSelection *select;
57   struct _iconPrefs *next;
58 } iconPrefs;
59 
60 typedef struct _typePrefs {
61   iconPrefs *iconprefs;
62   struct _typePrefs *dir;
63   struct _typePrefs *file;
64   struct _typePrefs *block;
65   struct _typePrefs *character;
66   struct _typePrefs *fifo;
67   struct _typePrefs *slink;
68   struct _typePrefs *socket;
69   struct _typePrefs *exe;
70   struct _typePrefs *read;
71   struct _typePrefs *write;
72 } typePrefs;
73 
74 /* Application Manager Structure */
75 
76 #define APPPSIZE 10 /* Initial size of an AppProgram Array */
77 #define APPPINC  5  /* Increment by which to increase AppProgram Array on overflow */
78 
79 typedef struct pidlist {
80   int             pid;
81   AppProgram     *node;
82   struct pidlist *next;
83 } ProcessList;
84 
85 extern char *preferences_filename;
86 #endif /* _parse_h */
87