KITLTRANSPORT (Windows CE 5.0)

Send Feedback

This structure contains information that defines a KITL transport. The kernel calls OEMKitlInit and the OEM is responsible of filling the structure with appropriate function pointers.

Note   Beginning with Windows CE 5.0, OEMs no longer need to provide a buffer for KITL in KITLTRANSPORT.

typedef struct _KITLTRANSPORT{DWORDdwBootFlags;charszName[KITL_MAX_DEV_NAMELEN];UCHARInterrupt;UCHARWindowSize;UCHARFrmHdrSize;UCHARFrmTlrSize;DWORDdwPhysBuffer;DWORDdwPhysBufLen;PFN_ENCODEpfnEncode;PFN_DECODEpfnDecode;PFN_SENDFRAMEpfnSend;PFN_RECVFRAMEpfnRecv;PFN_ENABLEINTpfnEnableInt;PFN_GETDEVCFGpfnGetDevCfg;PFN_SETHOSTCFGpfnSetHostCfg;} KITLTRANSPORT, *PKITLTRANSPORT;

Members

  • dwBootFlags
    Bit fields that specify which service to start at boot time. This member can be set to one or more of the following values.

    Value Description
    KITL_FL_DBGMSG The debug messages service will be registered.
    KITL_FL_PPSH The text shell service will be registered.
    KITL_FL_KDBG The kernel debugger will be started.
    KITL_FL_CLEANBOOT Forces a clean boot.
  • szName
    Name of the device, which is limited to KITL_MAX_DEV_NAMELEN characters including the NULL character.

  • Interrupt
    For an interrupt-based transport, the value is set to the SYSINTR_* value of the interrupt request (IRQ). If this is a transport based on polling, set this value to KITL_SYSINTR_NOINTR.

    Starting with Windows CE 5.0, if this field is set to KITL_SYSINTR_NOINTR, pfnEnableInt can be NULL.

  • WindowSize
    Required window size for the default services.

    Beginning with Windows CE 5.0, this value is ignored by KITL.

  • FrmHdrSize
    Size of the frame header that is specific to the OEM's transport.

  • FrmTlrSize
    Size of the frame trailer that is specific to the OEM's transport.

  • dwPhysBuffer
    Location of a statically mapped virtual buffer that is used by the default kernel services. This memory is reserved in the Config.bib file.

    Beginning with Windows CE 5.0, this value is ignored by KITL.

  • dwPhysBufLen
    Size of the memory buffer for default services.

    Beginning with Windows CE 5.0, this value is ignored by KITL.

  • pfnEncode
    Function to encode a packet with an OEM-defined header and trailer.

  • pfnDecode
    Function to decode a packet received from the transport using the transport-specific header and trailer information.

  • pfnSend
    Function to send a packet over the transport.

  • pfnRecv
    Function to receive a packet from the transport.

  • pfnEnableInt
    Function to enable or disable transport interrupts.

    Beginning with Windows CE 5.0, this value can be NULL if the Interrupt field is set to KITL_SYSINTR_NOINTR.

  • pfnGetDevCfg
    Function to retrieve the device transport configuration data.

  • pfnSetHostCfg
    Function to set the host computer configuration data.

Remarks

The OEM must provide the following information to the structure for the kernel to initialize KITL:

  • WindowSize cannot be 0.

  • FrmHdrSize and FrmTailorSize should not be 0 unless you do not do framing on package. Usually, the frame header and/or tailor provide checksum information to divide packages from each other. Both desktop and device-side KITL need to be consistent on interpreting the frames or KITL will not work.

  • dwPhysBuffer and dwBufferLen must be pointing to a memory region, not known to NK, of size >= WindowSize*2*KITL_MTU.

  • pfnEncode/pfnDecode cannot be 0. It is used to provide the framing of packages as described in the second bullet. For function descriptions, see %_WINCEROOT%\Public\Common\Oak\Inc\Kitl.h.

  • If the transport is interrupt-driven, where the interrupt field is not equal to KITL_SYSINT_NOINTR, you must provide the function the ability to enable or disable the interrupt pfnEnableInt.

  • The majority of the function pointers cannot be NULL. Provide stubs if the transport does not need GetXXXConfig or SetXXXConfig.

    Beginning with Windows CE 5.0, pfnEnableInt can be NULL if the Interrupt field is set to KITL_SYSINTR_NOINTR.

Requirements

OS Versions: Windows CE .NET 4.0 and later.
Header: Kitl.h.

See Also

OEMKitlInit | TransportEncode | TransportDecode | TransportSend | TransportRecv | TransportEnableInt | TransportGetDevCfg | TransportSetHostCfg

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.