Files
qc2-reader/vendor/libltkc/ltkc_frame.h
2026-03-09 09:01:17 -04:00

109 lines
3.3 KiB
C
Executable File

/*
*****************************************************************************
* *
* IMPINJ CONFIDENTIAL AND PROPRIETARY *
* *
* This source code is the sole property of Impinj, Inc. Reproduction or *
* utilization of this source code in whole or in part is forbidden without *
* the prior written consent of Impinj, Inc. *
* *
* (c) Copyright Impinj, Inc. 2007,2008. All rights reserved. *
* *
*****************************************************************************/
struct LLRP_SFrameExtract;
struct LLRP_SFrameDecoder;
struct LLRP_SFrameDecoderStream;
struct LLRP_SFrameEncoder;
struct LLRP_SFrameEncoderStream;
typedef struct LLRP_SFrameExtract LLRP_tSFrameExtract;
typedef struct LLRP_SFrameDecoder LLRP_tSFrameDecoder;
typedef struct LLRP_SFrameDecoderStream LLRP_tSFrameDecoderStream;
typedef struct LLRP_SFrameEncoder LLRP_tSFrameEncoder;
typedef struct LLRP_SFrameEncoderStream LLRP_tSFrameEncoderStream;
struct LLRP_SFrameExtract
{
enum {
LLRP_FRAME_UNKNOWN,
LLRP_FRAME_READY,
LLRP_FRAME_ERROR,
LLRP_FRAME_NEED_MORE
} eStatus;
llrp_u32_t MessageLength;
llrp_u16_t MessageType;
llrp_u8_t ProtocolVersion;
llrp_u32_t MessageID;
unsigned int nBytesNeeded;
};
struct LLRP_SFrameDecoder
{
LLRP_tSDecoder decoderHdr;
unsigned char * pBuffer;
unsigned int nBuffer;
unsigned int iNext;
unsigned int BitFieldBuffer;
unsigned int nBitFieldResid;
};
extern LLRP_tSFrameExtract
LLRP_FrameExtract (
const unsigned char * pBuffer,
unsigned int nBuffer);
struct LLRP_SFrameDecoderStream
{
LLRP_tSDecoderStream decoderStreamHdr;
LLRP_tSFrameDecoder * pDecoder;
LLRP_tSFrameDecoderStream * pEnclosingDecoderStream;
const LLRP_tSTypeDescriptor *pRefType;
unsigned int iBegin;
unsigned int iLimit;
};
extern LLRP_tSFrameDecoder *
LLRP_FrameDecoder_construct (
const LLRP_tSTypeRegistry * pTypeRegistry,
unsigned char * pBuffer,
unsigned int nBuffer);
struct LLRP_SFrameEncoder
{
LLRP_tSEncoder encoderHdr;
unsigned char * pBuffer;
unsigned int nBuffer;
unsigned int iNext;
unsigned int BitFieldBuffer;
unsigned int nBitFieldResid;
};
struct LLRP_SFrameEncoderStream
{
LLRP_tSEncoderStream encoderStreamHdr;
LLRP_tSFrameEncoder * pEncoder;
LLRP_tSFrameEncoderStream * pEnclosingEncoderStream;
const LLRP_tSTypeDescriptor *pRefType;
unsigned int iBegin;
};
extern LLRP_tSFrameEncoder *
LLRP_FrameEncoder_construct (
unsigned char * pBuffer,
unsigned int nBuffer);