tlv.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003                              -------------------
00004     cvs         : $Id: tlv.h 790 2005-07-23 09:32:08Z aquamaniac $
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 

Generated on Wed Jun 21 00:59:52 2006 for gwenhywfar by  doxygen 1.4.6