VMS Help  —  LD  Driver functions, Read tracebuffer
 	This function reads the tracebuffer size:

 	Function:	IO$_LD_CONTROL

 	P6 = Subfunction: LDIO$K_GET_TRACE | LDIO$M_INQUIRE

 	IOSB word 0 = status
 	     word 1 = 0
 	     longword 1 = tracebuffer size (number of packets)

 	If the iosb status is SS$_WASSET FDT tracing is active.

 	This function reads the tracebuffer data:

 	Function:	IO$_LD_CONTROL

 	P1 = address of buffer which receives trace info
 	P2 = size of trace buffer in bytes
 	P6 = Subfunction: LDIO$K_GET_TRACE

 	IOSB word 0 = status
 	     word 1 = 0
 	     longword 1 = number of packets transferred
 			  or the number of lost packets in
 			  case of SS$_DATAOVERRUN.

 	If the return status was SS$_DATAOVERRUN the buffer
 	contains the number of packets as returned by the
 	LDIO$K_GET_TRACE | LDIO$M_INQUIRE function.

 	To read the tracebuffer data and to reset the buffer after
 	the data has been read the subfunctionmodifier LDIO$M_RESET can
 	be specified.

 	If LDIO$M_NOWAIT is omitted the I/O request will wait until new
 	trace data is available.

 	Errors returned:

 	SS$_ACCVIO	Buffer can not be written
 	SS$_NODATA	Trace is not active
 	SS$_IVBUFLEN	Buffer too small to contain all trace data
 	SS$_DATAOVERRUN	The tracebuffer has been overrun
 	SS$_NORMAL	Successful completion
Close Help