def cesnet_dict_typedef(flavour, list_flavour, errors_list, abuses_list,
    addon=None):
    """
    Typedef generator helper for easy usage of custom definitions at
    multiple places.
    """
    cesnet_def = {'InspectionErrors': {'description':
        'List of event pecularities found during inspection', 'type':
        errors_list}, 'StorageTime': {'description':
        'Unix timestamp of the moment the message was stored into database',
        'type': flavour['Timestamp']}, 'EventTemplate': {'description':
        'Template used to generate the event (deprecated)', 'type': flavour
        ['String']}, 'EventClass': {'description':
        'Event class determined by inspection', 'type': flavour['String']},
        'EventSeverity': {'description':
        'Event severity determined by inspection', 'type': flavour['String'
        ]}, 'Impact': {'description':
        'More user friendly description of event impact, used for reporting (IDMEF legacy)'
        , 'type': flavour['String']}, 'ResolvedAbuses': {'description':
        'Abuse contacts related to any alert source', 'type': abuses_list},
        'SourceResolvedASN': {'description':
        'AS numbers related to any alert source', 'type': list_flavour[
        'Integer']}, 'SourceResolvedCountry': {'description':
        'Coutry ISO codes related to any alert source', 'type':
        list_flavour['String']}}
    if addon is not None:
        cesnet_def.update(addon)
    return cesnet_def
