00001 /** 00002 * @file op_parse_event.h 00003 * event parsing 00004 * 00005 * You can have silliness here. 00006 * 00007 * @remark Copyright 2002 OProfile authors 00008 * @remark Read the file COPYING 00009 * 00010 * @author John Levon 00011 * @author Philippe Elie 00012 */ 00013 00014 #ifndef OP_PARSE_EVENT_H 00015 #define OP_PARSE_EVENT_H 00016 00017 #include <stddef.h> 00018 00019 struct parsed_event { 00020 char * name; 00021 int count; 00022 int unit_mask; 00023 char * unit_mask_name; 00024 int kernel; 00025 int user; 00026 int unit_mask_valid; 00027 }; 00028 00029 /** 00030 * @param parsed_events array of events to fill in 00031 * @param max_events size of parsed_events 00032 * @param events null terminated array of events string on the form 00033 * event_name:count[:unit_mask:kernel:user] 00034 * 00035 * parse events given by the nil terminated array events and fill in 00036 * parsed_events with results. Events validity are not checked except. 00037 * A fatal error occur if number of events is greater than max_events. 00038 * 00039 * Return the number of events parsed. 00040 */ 00041 size_t parse_events(struct parsed_event * parsed_events, size_t max_events, 00042 char const * const * events); 00043 00044 #endif /* !OP_PARSE_EVENT_H */
1.6.1