KITLTRANSPORT
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.
typedef struct _KITLTRANSPORT{
DWORD dwBootFlags;
char szName[KITL_MAX_DEV_NAMELEN];
UCHAR Interrupt;
UCHAR WindowSize;
UCHAR FrmHdrSize;
UCHAR FrmTlrSize;
DWORD dwPhysBuffer;
DWORD dwPhysBufLen;
PFN_ENCODE pfnEncode;
PFN_DECODE pfnDecode;
PFN_SENDFRAME pfnSend;
PFN_RECVFRAME pfnRecv;
PFN_ENABLEINT pfnEnableInt;
PFN_GETDEVCFG pfnGetDevCfg;
PFN_SETHOSTCFG pfnSetHostCfg;
} 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. - WindowSize
Required window size for the default services. - 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. - dwPhysBufLen
Size of the memory buffer for default services. - 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. - pfnGetDevCfg
Function to retrieve the device transport configuration data. - pfnSetHostCfg
Function to set the host computer configuration data.
Remarks
The OEM needs to 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.
- None of the function pointers can be NULL. Provide stubs if the transport does not need GetXXXConfig or SetXXXConfig.
Requirements
OS Versions: Windows CE .NET 4.0 and later.
Header: Kitl.h.
See Also
OEMKitlInit | TransportEncode | TransportDecode | TransportSend | TransportRecv | TransportEnableInt | TransportGetDevCfg | TransportSetHostCfg
Last updated on Wednesday, April 13, 2005
© 2005 Microsoft Corporation. All rights reserved.