00001 /*************************************************************************** 00002 $RCSfile: tlv.h,v $ 00003 ------------------- 00004 cvs : $Id: tlv.h,v 1.2 2004/08/09 13:13:58 cstim Exp $ 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_fromBuffer(GWEN_BUFFER *mbuf, int isBerTlv); 00033 00034 GWENHYWFAR_API 00035 int GWEN_TLV_IsBerTlv(const GWEN_TLV *tlv); 00036 GWENHYWFAR_API 00037 unsigned int GWEN_TLV_GetTagType(const GWEN_TLV *tlv); 00038 GWENHYWFAR_API 00039 unsigned int GWEN_TLV_GetTagLength(const GWEN_TLV *tlv); 00040 GWENHYWFAR_API 00041 const void *GWEN_TLV_GetTagData(const GWEN_TLV *tlv); 00042 00043 GWENHYWFAR_API 00044 int GWEN_TLV_IsContructed(const GWEN_TLV *tlv); 00045 GWENHYWFAR_API 00046 unsigned int GWEN_TLV_GetClass(const GWEN_TLV *tlv); 00047 GWENHYWFAR_API 00048 unsigned int GWEN_TLV_GetTagSize(const GWEN_TLV *tlv); 00049 00050 00051 00052 00053 #endif /* GWENHYWFAR_TLV_H */ 00054