# keyspec.h

Go to the documentation of this file.

    00001 /***************************************************************************
    00002  $RCSfile: keyspec.h,v $
    00003                              -------------------
    00004     cvs         : $Id: keyspec.h,v 1.10 2004/09/22 14:48:41 aquamaniac Exp $
    00005     begin       : Sat Nov 08 2003
    00006     copyright   : (C) 2003 by Martin Preuss
    00007     email       : martin@libchipcard.de
    00008
    00009  ***************************************************************************
    00010  *                                                                         *
    00011  *   This library is free software; you can redistribute it and/or         *
    00012  *   modify it under the terms of the GNU Lesser General Public            *
    00013  *   License as published by the Free Software Foundation; either          *
    00014  *   version 2.1 of the License, or (at your option) any later version.    *
    00015  *                                                                         *
    00016  *   This library is distributed in the hope that it will be useful,       *
    00017  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
    00018  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
    00019  *   Lesser General Public License for more details.                       *
    00020  *                                                                         *
    00021  *   You should have received a copy of the GNU Lesser General Public      *
    00022  *   License along with this library; if not, write to the Free Software   *
    00023  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
    00024  *   MA  02111-1307  USA                                                   *
    00025  *                                                                         *
    00026  ***************************************************************************/
    00027
    00028
    00029 #ifndef GWEN_KEYSPEC_H
    00030 #define GWEN_KEYSPEC_H
    00031
    00032 #include <gwenhywfar/gwenhywfarapi.h>
    00033 #include <gwenhywfar/db.h>
    00034 #include <gwenhywfar/inherit.h>
    00035 #include <gwenhywfar/misc.h>
    00036 #include <gwenhywfar/list2.h>
    00037 #include <stdio.h>
    00038
    00039
    00040 #ifdef __cplusplus
    00041 extern "C" {
    00042 #endif
    00043
    00044
    00045 typedef struct GWEN_KEYSPEC GWEN_KEYSPEC;
    00046
    00047 GWEN_INHERIT_FUNCTION_LIB_DEFS(GWEN_KEYSPEC, GWENHYWFAR_API)
    00048 GWEN_LIST2_FUNCTION_LIB_DEFS(GWEN_KEYSPEC, GWEN_KeySpec, GWENHYWFAR_API)
    00049 void GWEN_KeySpec_List2_freeAll(GWEN_KEYSPEC_LIST2 *ksl);
    00050
    00051
    00052 GWENHYWFAR_API
    00053 GWEN_KEYSPEC *GWEN_KeySpec_new();
    00054 GWENHYWFAR_API
    00055 GWEN_KEYSPEC *GWEN_KeySpec_dup(const GWEN_KEYSPEC *ks);
    00056 GWENHYWFAR_API
    00057 void GWEN_KeySpec_free(GWEN_KEYSPEC *ks);
    00058
    00059 GWENHYWFAR_API
    00060   const char *GWEN_KeySpec_GetKeyType(const GWEN_KEYSPEC *ks);
    00061 GWENHYWFAR_API
    00062   void GWEN_KeySpec_SetKeyType(GWEN_KEYSPEC *ks,
    00063                                const char *s);
    00064
    00070 GWENHYWFAR_API
    00071 int GWEN_KeySpec_GetStatus(const GWEN_KEYSPEC *ks);
    00072 GWENHYWFAR_API
    00073 void GWEN_KeySpec_SetStatus(GWEN_KEYSPEC *ks, int i);
    00074
    00075 GWENHYWFAR_API
    00076   const char *GWEN_KeySpec_GetKeyName(const GWEN_KEYSPEC *ks);
    00077 GWENHYWFAR_API
    00078   void GWEN_KeySpec_SetKeyName(GWEN_KEYSPEC *ks,
    00079                                const char *s);
    00080
    00081 GWENHYWFAR_API
    00082   const char *GWEN_KeySpec_GetOwner(const GWEN_KEYSPEC *ks);
    00083 GWENHYWFAR_API
    00084   void GWEN_KeySpec_SetOwner(GWEN_KEYSPEC *ks,
    00085                              const char *s);
    00086
    00087 GWENHYWFAR_API
    00088   unsigned int GWEN_KeySpec_GetNumber(const GWEN_KEYSPEC *ks);
    00089 GWENHYWFAR_API
    00090   void GWEN_KeySpec_SetNumber(GWEN_KEYSPEC *ks,
    00091                               unsigned int i);
    00092
    00093 GWENHYWFAR_API
    00094   unsigned int GWEN_KeySpec_GetVersion(const GWEN_KEYSPEC *ks);
    00095 GWENHYWFAR_API
    00096   void GWEN_KeySpec_SetVersion(GWEN_KEYSPEC *ks,
    00097                                unsigned int i);
    00098
    00099
    00100 GWENHYWFAR_API
    00101   GWEN_KEYSPEC *GWEN_KeySpec_Next(GWEN_KEYSPEC *ks);
    00102 GWENHYWFAR_API
    00103   const GWEN_KEYSPEC *GWEN_KeySpec_ConstNext(const GWEN_KEYSPEC *ks);
    00104
    00105 GWENHYWFAR_API
    00106   void GWEN_KeySpec_Add(GWEN_KEYSPEC *ks,
    00107                         GWEN_KEYSPEC **head);
    00108 GWENHYWFAR_API
    00109   void GWEN_KeySpec_Del(GWEN_KEYSPEC *ks,
    00110                         GWEN_KEYSPEC **head);
    00111
    00112 GWENHYWFAR_API
    00113   void GWEN_KeySpec_Clear(GWEN_KEYSPEC **head);
    00114
    00115
    00116 GWENHYWFAR_API
    00117   void GWEN_KeySpec_Dump(const GWEN_KEYSPEC *ks, FILE *f, unsigned int indent);
    00118
    00119
    00120 int GWEN_KeySpec_ToDb(const GWEN_KEYSPEC *ks, GWEN_DB_NODE *n);
    00121 int GWEN_KeySpec_FromDb(GWEN_KEYSPEC *ks, GWEN_DB_NODE *n);
    00122
    00123
    00124 #ifdef __cplusplus
    00125 }
    00126 #endif
    00127
    00128
    00129
    00130 #endif /* GWEN_KEYSPEC_H */
    00131
    00132