[ Previous | Next | Table of Contents | Index | Library Home | Legal | Search ]

Technical Reference: Kernel and Subsystems, 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 5L Version 5.1 Kernel Extensions and Device Support Programming Concepts.


[ Previous | Next | Table of Contents | Index | Library Home | Legal | Search ]