gwenhywfar 4.0.3
|
00001 /*************************************************************************** 00002 $RCSfile$ 00003 ------------------- 00004 cvs : $Id$ 00005 begin : Sun Jun 13 2004 00006 copyright : (C) 2004 by Martin Preuss 00007 email : martin@libchipcard.de 00008 00009 *************************************************************************** 00010 * Please see toplevel file COPYING for license details * 00011 ***************************************************************************/ 00012 00013 00014 #ifndef GWENHYWFAR_TLV_H 00015 #define GWENHYWFAR_TLV_H 00016 00017 #include <gwenhywfar/buffer.h> 00018 #include <gwenhywfar/misc.h> 00019 00020 00021 typedef struct GWEN_TLV GWEN_TLV; 00022 00023 GWEN_LIST_FUNCTION_LIB_DEFS(GWEN_TLV, GWEN_TLV, GWENHYWFAR_API) 00024 00025 00026 GWENHYWFAR_API 00027 GWEN_TLV *GWEN_TLV_new(); 00028 GWENHYWFAR_API 00029 void GWEN_TLV_free(GWEN_TLV *tlv); 00030 00031 GWENHYWFAR_API 00032 GWEN_TLV *GWEN_TLV_create(unsigned int tagType, 00033 unsigned int tagMode, 00034 const void *p, 00035 unsigned int dlen, 00036 int isBerTlv); 00037 00038 00039 GWENHYWFAR_API 00040 GWEN_TLV *GWEN_TLV_fromBuffer(GWEN_BUFFER *mbuf, int isBerTlv); 00041 00042 GWENHYWFAR_API 00043 int GWEN_TLV_toBuffer(GWEN_TLV *tlv, GWEN_BUFFER *mbuf); 00044 00045 GWENHYWFAR_API 00046 int GWEN_TLV_DirectlyToBuffer(unsigned int tagType, 00047 unsigned int tagMode, 00048 const void *tagData, 00049 int tagLength, 00050 int isBerTlv, 00051 GWEN_BUFFER *mbuf); 00052 00053 00054 GWENHYWFAR_API 00055 int GWEN_TLV_IsBerTlv(const GWEN_TLV *tlv); 00056 00057 GWENHYWFAR_API 00058 unsigned int GWEN_TLV_GetTagType(const GWEN_TLV *tlv); 00059 GWENHYWFAR_API 00060 unsigned int GWEN_TLV_GetTagLength(const GWEN_TLV *tlv); 00061 GWENHYWFAR_API 00062 const void *GWEN_TLV_GetTagData(const GWEN_TLV *tlv); 00063 00064 GWENHYWFAR_API 00065 int GWEN_TLV_IsContructed(const GWEN_TLV *tlv); 00066 GWENHYWFAR_API 00067 unsigned int GWEN_TLV_GetClass(const GWEN_TLV *tlv); 00068 GWENHYWFAR_API 00069 unsigned int GWEN_TLV_GetTagSize(const GWEN_TLV *tlv); 00070 00071 00072 00073 00074 #endif /* GWENHYWFAR_TLV_H */ 00075