| 
									
										
										
										
											2013-03-05 14:47:32 +01:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Interface for configuring and controlling the state of tracing events. | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2016-07-11 12:53:24 +02:00
										 |  |  |  * Copyright (C) 2012-2016 Lluís Vilanova <vilanova@ac.upc.edu> | 
					
						
							| 
									
										
										
										
											2013-03-05 14:47:32 +01:00
										 |  |  |  * | 
					
						
							|  |  |  |  * This work is licensed under the terms of the GNU GPL, version 2 or later. | 
					
						
							|  |  |  |  * See the COPYING file in the top-level directory. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef TRACE__EVENT_INTERNAL_H
 | 
					
						
							|  |  |  | #define TRACE__EVENT_INTERNAL_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-04 14:35:49 +01:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Special value for TraceEvent.vcpu_id field to indicate | 
					
						
							|  |  |  |  * that the event is not VCPU specific | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #define TRACE_VCPU_EVENT_NONE ((uint32_t)-1)
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-05 14:47:32 +01:00
										 |  |  | /**
 | 
					
						
							|  |  |  |  * TraceEvent: | 
					
						
							|  |  |  |  * @id: Unique event identifier. | 
					
						
							|  |  |  |  * @name: Event name. | 
					
						
							|  |  |  |  * @sstate: Static tracing state. | 
					
						
							| 
									
										
										
										
											2016-10-04 14:35:45 +01:00
										 |  |  |  * @dstate: Dynamic tracing state | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Interpretation of @dstate depends on whether the event has the 'vcpu' | 
					
						
							|  |  |  |  *  property: | 
					
						
							|  |  |  |  * - false: Boolean value indicating whether the event is active. | 
					
						
							|  |  |  |  * - true : Integral counting the number of vCPUs that have this event enabled. | 
					
						
							| 
									
										
										
										
											2013-03-05 14:47:32 +01:00
										 |  |  |  * | 
					
						
							|  |  |  |  * Opaque generic description of a tracing event. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | typedef struct TraceEvent { | 
					
						
							| 
									
										
										
										
											2016-10-04 14:35:47 +01:00
										 |  |  |     uint32_t id; | 
					
						
							| 
									
										
										
										
											2013-03-05 14:47:32 +01:00
										 |  |  |     const char * name; | 
					
						
							|  |  |  |     const bool sstate; | 
					
						
							| 
									
										
										
										
											2016-10-04 14:35:45 +01:00
										 |  |  |     uint16_t *dstate; | 
					
						
							| 
									
										
										
										
											2013-03-05 14:47:32 +01:00
										 |  |  | } TraceEvent; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-23 10:58:52 +02:00
										 |  |  | void trace_event_set_state_dynamic_init(TraceEvent *ev, bool state); | 
					
						
							| 
									
										
										
										
											2013-03-05 14:47:32 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-29 15:29:06 +02:00
										 |  |  | #endif /* TRACE__EVENT_INTERNAL_H */
 |