libchipcard 5.0.0

tlv.h

Go to the documentation of this file.
00001 /***************************************************************************
00002     begin       : Sun Jun 13 2004
00003     copyright   : (C) 2004-2010 by Martin Preuss
00004     email       : martin@libchipcard.de
00005 
00006  ***************************************************************************
00007  *          Please see toplevel file COPYING for license details           *
00008  ***************************************************************************/
00009 
00010 
00011 #ifndef CHIPCARD_CLIENT_TLV_H
00012 #define CHIPCARD_CLIENT_TLV_H
00013 
00014 #include <gwenhywfar/buffer.h>
00015 #include <gwenhywfar/misc.h>
00016 #include <chipcard/chipcard.h>
00017 
00018 #ifdef __cplusplus
00019 extern "C" {
00020 #endif
00021 
00022 typedef struct LC_TLV LC_TLV;
00023 
00024 GWEN_LIST_FUNCTION_LIB_DEFS(LC_TLV, LC_TLV, CHIPCARD_API)
00025 
00026 
00027 CHIPCARD_API
00028 LC_TLV *LC_TLV_new();
00029 CHIPCARD_API
00030 void LC_TLV_free(LC_TLV *tlv);
00031 
00032 CHIPCARD_API
00033 LC_TLV *LC_TLV_fromBuffer(GWEN_BUFFER *mbuf, int isBerTlv);
00034 
00035 CHIPCARD_API
00036 int LC_TLV_IsBerTlv(const LC_TLV *tlv);
00037 CHIPCARD_API
00038 unsigned int LC_TLV_GetTagType(const LC_TLV *tlv);
00039 CHIPCARD_API
00040 unsigned int LC_TLV_GetTagLength(const LC_TLV *tlv);
00041 CHIPCARD_API
00042 const void *LC_TLV_GetTagData(const LC_TLV *tlv);
00043 
00044 CHIPCARD_API
00045 int LC_TLV_IsContructed(const LC_TLV *tlv);
00046 CHIPCARD_API
00047 unsigned int LC_TLV_GetClass(const LC_TLV *tlv);
00048 CHIPCARD_API
00049 unsigned int LC_TLV_GetTagSize(const LC_TLV *tlv);
00050 
00051 
00052 #ifdef __cplusplus
00053 }
00054 #endif
00055 
00056 
00057 #endif /* CHIPCARD_CLIENT_TLV_H */
00058