[ Previous | Next | Contents | Home | Search ]
AIX Version 4.3 Kernel and Subsystems Technical Reference, Volume 1

trcgenkt Kernel Service for Data Link Control (DLC) Devices

Purpose

Records a trace event, including a time stamp, for a DLC trace channel.

Syntax

#include <sys/trchkid.h>
void trcgenkt (chan, hk_word, data_word, len, buf)
unsigned int chan, hk_word, data_word, len;
char *buf;

Parameters

chan Specifies the channel number for the trace session. This number is obtained from the trcstart subroutine.
hk_word Contains the trace hook identifier defined in the /usr/include/sys/trchkid.h file. The types of link trace entries registered using the hook ID include:
HKWD_SYSX_DLC_START Start link station completions
HKWD_SYSX_DLC_TIMER Time-out completions
HKWD_SYSX_DLC_XMIT Transmit completions
HKWD_SYSX_DLC_RECV Receive completions
HKWD_SYSX_DLC_HALT Halt link station completions
data_word Specifies trace data format field. This field varies depending on the hook ID. Each of these definitions are in the /usr/include/sys/gdlextcb.h file:
  • The first half-word always contains the data link protocol field including one of these definitions:
    DLC_DL_SDLC SDLC
    DLC_DL_HDLC HDLC
    DLC_DL_BSC BISYNC
    DLC_DL_ASC ASYNC
    DLC_DL_PCNET PC Network
    DLC_DL_ETHER Standard Ethernet
    DLC_DL_802_3 IEEE 802.3
    DLC_DL_TOKEN Token-Ring
  • On start or halt link station completion, the second half-word contains the physical link protocol in use:
    DLC_PL_EIA232 EIA-232D Telecommunications
    DLC_PL_EIA366 EIA-366 Auto Dial
    DLC_PL_X21 CCITT X.21 Data Network
    DLC_PL_PCNET PC Network Broadband
    DLC_PL_ETHER Standard Baseband Ethernet
    DLC_PL_SMART Smart Modem Auto Dial
    DLC_PL_802_3 IEEE 802.3 Baseband Ethernet
    DLC_PL_TBUS IEEE 802.4 Token Bus
    DLC_PL_TRING IEEE 802.5 Token-Ring
    DLC_PL_EIA422 EIA-422 Telecommunications
    DLC_PL_V35 CCITT V.35 Telecommunications
    DLC_PL_V25BIS CCITT V.25 bis Autodial for Telecommunications
  • On timeout completion, the second half-word contains the type of timeout occurrence:
    DLC_TO_SLOW_POLL Slow station poll
    DLC_TO_IDLE_POLL Idle station poll
    DLC_TO_ABORT Link station aborted
    DLC_TO_INACT Link station receive inactivity
    DLC_TO_FAILSAFE Command failsafe
    DLC_TO_REPOLL_T1 Command repoll
    DLC_TO_ACK_T2 I-frame acknowledgment
  • On transmit completion, the second half-word is set to the data link control bytes being sent. Some transmit packets only have a single control byte; in that case, the second control byte is not displayed.
  • On receive completion, the second half-word is set to the data link control bytes that were received. Some receive packets only have a single control byte; in that case, the second control byte is not displayed.
len Specifies the length in bytes of the entry specific data specified by the buf parameter.
buf Specifies the pointer to the entry specific data that consists of:
Start Link Station Completions Link station diagnostic tag and the remote station's name and address.
Time-out Completions No specific data is recorded.
Transmit Completions Either the first 80 bytes or all the transmitted data, depending on the short/long trace option.
Receive Completions Either the first 80 bytes or all the received data, depending on the short/long trace option.
Halt Link Station Completions Link station diagnostic tag, the remote station's name and address, and the result code.

Description

The trcgenkt kernel service records a trace event if a trace session is active for the specified trace channel. If a trace session is not active, the trcgenkt kernel service simply returns. The trcgenkt kernel service is located in pinned kernel memory.

The trcgenkt kernel service is used to record a trace entry consisting of an hk_word entry, a data_word entry, a variable number of bytes of trace data, and a time stamp.

Execution Environment

The trcgenkt kernel service can be called from either the process or interrupt environment.

Return Values

The trcgenkt kernel service has no return values.

Implementation Specifics

This kernel service is part of Base Operating System (BOS) Runtime.

Related Information

The trcgenk kernel service, trcgenkt kernel service.

The trace daemon.

Generic Data Link Control (GDLC) Environment Overview and RAS Kernel Services in AIX Kernel Extensions and Device Support Programming Concepts.


[ Previous | Next | Contents | Home | Search ]