and os = {status : [ `STANDARD | `EXTENDED ];errorhook : bool;pretaskhook : bool;startuphook : bool;shutdownhook : bool;userrescheduler : bool;
}and appmode = {name : string;
}and task = {priority : int;schedule : [ `NON | `FULL ];activation : int;autostart : [ `FALSE | `TRUE of appmode list ];resources : resource list;events : event list;messages : message list;
}and counter = {maxallowedvalue : int;ticksperbase : int;mincycle : int;
}and alarm = {counter : counter;action : [ `ACTIVATETASK of task
| `SETEVENT of task * event
| `ALARMCALLBACK of string ];alarm_autostart : [ `FALSE | `TRUE of alarm_autostart ];
}and alarm_autostart = {alarmtime : int;cycletime : int;appmode : appmode list;
}and resource = {resourceproperty : [ `STANDARD | `LINKED | `INTERNAL ];
}and event = {mask : [ `Bits of int64 | `AUTO ];
}and isr = {category : int;isr_resources : resource list;isr_messages : message list;
}and message_notification = [ | `NONE| `ACTIVATETASK of task| `SETEVENT of task * event| `COMCALLBACK of string| `FLAG of string| `INMCALLBACK
]