DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

udi_trevent_t(3udi)


Trace event type definition

SYNOPSIS

#include <udi.h>

typedef udi_ubit32_t udi_trevent_t;
 
/* Common Trace Events */
 
#define  UDI_TREVENT_LOCAL_PROC_ENTRY				(1U<<0)
 
#define  UDI_TREVENT_LOCAL_PROC_EXIT				(1U<<1)
 
#define  UDI_TREVENT_EXTERNAL_ERROR				(1U<<2)
 
/* Common Metalanguage-Selectable Trace Events */
 
#define UDI_TREVENT_IO_SCHEDULED (1U<<6) #define UDI_TREVENT_IO_COMPLETED (1U<<7)
/* Metalanguage-Specific Trace Events */
 
#define UDI_TREVENT_META_SPECIFIC_1 (1U<<11) #define UDI_TREVENT_META_SPECIFIC_2 (1U<<12) #define UDI_TREVENT_META_SPECIFIC_3 (1U<<13) #define UDI_TREVENT_META_SPECIFIC_4 (1U<<14) #define UDI_TREVENT_META_SPECIFIC_5 (1U<<15)
/* Driver-Specific Trace Events */
 
#define UDI_TREVENT_INTERNAL_1 (1U<<16) #define UDI_TREVENT_INTERNAL_2 (1U<<17) #define UDI_TREVENT_INTERNAL_3 (1U<<18) #define UDI_TREVENT_INTERNAL_4 (1U<<19) #define UDI_TREVENT_INTERNAL_5 (1U<<20) #define UDI_TREVENT_INTERNAL_6 (1U<<21) #define UDI_TREVENT_INTERNAL_7 (1U<<22) #define UDI_TREVENT_INTERNAL_8 (1U<<23) #define UDI_TREVENT_INTERNAL_9 (1U<<24) #define UDI_TREVENT_INTERNAL_10 (1U<<25) #define UDI_TREVENT_INTERNAL_11 (1U<<26) #define UDI_TREVENT_INTERNAL_12 (1U<<27) #define UDI_TREVENT_INTERNAL_13 (1U<<28) #define UDI_TREVENT_INTERNAL_14 (1U<<29) #define UDI_TREVENT_INTERNAL_15 (1U<<30)
/* Logging Event */
 
#define UDI_TREVENT_LOG (1U<<31)

DESCRIPTION The udi_trevent_t type definition is used to specify a bitmask of trace events. These trace events are used in the tracing and logging service calls to specify the occurrence of events or to provide masks to filter the set of interesting trace events.

The following common trace event codes are defined independently of any metalanguage.

UDI_TREVENT_LOCAL_PROC_ENTRY - Trace entry to all procedures that are local to the driver. Include argument values in the trace output.

UDI_TREVENT_LOCAL_PROC_EXIT - Trace exit from all procedures that are local to the driver. Include return values in the trace output.

UDI_TREVENT_EXTERNAL_ERROR - Trace error conditions that are passed from this driver to other UDI drivers or modules. This happens when a udi_status_t value other than UDI_OK that indicates an exceptional condition is generated. Such events must be logged using udi_log_write (which will handle the tracing of this event as well).

The following trace event types are designed to trace metalanguage-specific information or operations, and can therefore be selectively enabled and disabled on a per-metalanguage basis. For these events, tracing is enabled or disabled only for the metalanguages indicated by meta_idx of the trace usage operation (see "Tracing Control Operations"). Each metalanguage defines its own rules and conventions for the use of these event types; therefore, the metalanguage specifications should be consulted before using these events.

UDI_TREVENT_IO_SCHEDULED - Trace the point at which the driver starts handling a specific I/O request. The use of this trace point is different for different types of drivers but should indicate the point at which the driver passes the I/O request to the hardware. (Example: submission of a SCSI command to the hardware to be sent on the SCSI bus.) This trace event applies only to the responder role of a request/response metalanguage (e.g. GIO provider).

UDI_TREVENT_IO_COMPLETED - Trace the point at which an I/O request has been completed. This is the counterpart to UDI_TREVENT_IO_SCHEDULED and in a similar fashion the use of this trace event is determined by type of UDI driver. (Example: Interrupt indicating SCSI command complete.) This trace event applies only to the responder role of a request/response metalanguage (e.g. GIO provider).

UDI_TREVENT_META_SPECIFIC_n - Trace metalanguage-specific events as defined in each metalanguage.

The driver-internal trace events, UDI_TREVENT_INTERNAL_n, may be used to trace any driver-specific events desired. The interpretation of those events is determined by the driver implementor.

The logging event code is a special trace event code which is used to indicate that a logging event has occurred rather than one of the customary trace events. Logging events cannot be filtered.

UDI_TREVENT_LOG - Event code that is used for logging messages that are not associated with trace events. This event code must only be used with udi_log_write and not with udi_trace_write.


UDI Core Specification Contents