29 |
* @author Kianusch Sayah Karadji <kianusch.sayah.karadji@sk-tech.net> |
* @author Kianusch Sayah Karadji <kianusch.sayah.karadji@sk-tech.net> |
30 |
* @author Martin Pala <martin.pala@hq.iol.cz> |
* @author Martin Pala <martin.pala@hq.iol.cz> |
31 |
* @author Christian Hopp <chopp@iei.tu-clausthal.de> |
* @author Christian Hopp <chopp@iei.tu-clausthal.de> |
32 |
|
* @author Rory Toma <rory@digeo.com> |
33 |
* @version \$Id$ |
* @version \$Id$ |
34 |
*/ |
*/ |
35 |
|
|
134 |
static void addprocess(Process_T); |
static void addprocess(Process_T); |
135 |
static void addmail(char *, struct MailFilter *); |
static void addmail(char *, struct MailFilter *); |
136 |
static void createprocess(char *, char *); |
static void createprocess(char *, char *); |
137 |
|
static void adddependant(char *); |
138 |
static void addchecksum(char *, char *); |
static void addchecksum(char *, char *); |
139 |
static void addport(struct PortSet *); |
static void addport(struct PortSet *); |
140 |
static void addresource(struct ResourceSet *); |
static void addresource(struct ResourceSet *); |
175 |
%token <real> REAL |
%token <real> REAL |
176 |
%token CPUUSAGE MEMUSAGE MEMKBYTE CYCLES RESOURCE LOADAVG1 LOADAVG5 LOADAVG15 |
%token CPUUSAGE MEMUSAGE MEMKBYTE CYCLES RESOURCE LOADAVG1 LOADAVG5 LOADAVG15 |
177 |
%token AUTOSTART YES NO |
%token AUTOSTART YES NO |
178 |
%token GROUP REQUEST |
%token GROUP REQUEST DEPEND |
179 |
|
|
180 |
%nonassoc CHECKSUM |
%nonassoc CHECKSUM |
181 |
%nonassoc START |
%nonassoc START |
219 |
| checksum |
| checksum |
220 |
| autostart |
| autostart |
221 |
| group |
| group |
222 |
|
| depend |
223 |
| resource resourcecycle resourceaction { |
| resource resourcecycle resourceaction { |
224 |
addresource(&resourceset); |
addresource(&resourceset); |
225 |
} |
} |
432 |
group : GROUP STRING { current->group= $2; } |
group : GROUP STRING { current->group= $2; } |
433 |
; |
; |
434 |
|
|
435 |
|
depend : DEPEND STRING { adddependant($2); } |
436 |
|
; |
437 |
|
|
438 |
resource : CPUUSAGE resourceop REAL { |
resource : CPUUSAGE resourceop REAL { |
439 |
resourceset.resource_id= RESOURCE_ID_CPU_PERCENT; |
resourceset.resource_id= RESOURCE_ID_CPU_PERCENT; |
440 |
resourceset.limit= (int) ($3 * 10.0); |
resourceset.limit= (int) ($3 * 10.0); |
584 |
|
|
585 |
} |
} |
586 |
|
|
587 |
/* Reset the curren object */ |
/* Reset the current object */ |
588 |
memset(current, 0, sizeof(*current)); |
memset(current, 0, sizeof(*current)); |
589 |
|
|
590 |
/* Set default values */ |
/* Set default values */ |
593 |
current->name= name; |
current->name= name; |
594 |
current->pidfile= pidfile; |
current->pidfile= pidfile; |
595 |
current->group= NULL; |
current->group= NULL; |
596 |
|
current->dependantlist= NULL; |
597 |
|
|
598 |
} |
} |
599 |
|
|
622 |
|
|
623 |
} |
} |
624 |
|
|
625 |
|
/* |
626 |
|
* Add a dependant entry to the current process dependant list |
627 |
|
* |
628 |
|
*/ |
629 |
|
static void adddependant(char *dependant) { |
630 |
|
|
631 |
|
Dependant_T d= NEW(d); |
632 |
|
|
633 |
|
if (current->dependantlist != NULL) { |
634 |
|
d->next= current->dependantlist; |
635 |
|
} |
636 |
|
|
637 |
|
d->dependant=dependant; |
638 |
|
current->dependantlist= d; |
639 |
|
|
640 |
|
} |
641 |
|
|
642 |
/* |
/* |
643 |
* Add a filename and its associated md5 checksum |
* Add a filename and its associated md5 checksum |