ift.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 
00003   Copyright (c) 2004-2008 by Turku PET Centre
00004 
00005   ift.h
00006 
00007   Modification history:
00008   2004-08-15 VO
00009   2004-10-14 VO
00010     iftFindNthValue() function name corrected.
00011   2004-10-15 VO
00012     Included iftFindNthKey().
00013   2004-11-23 VO
00014     Included iftReplaceNthValue().
00015   2005-01-05 VO
00016     ift_status moved in here.
00017   2008-07-11 VO
00018     Added the externs.
00019 
00020 
00021 ******************************************************************************/
00022 #ifndef _IFT_H
00023 #define _IFT_H
00024 /*****************************************************************************/
00025 
00026 /*****************************************************************************/
00027 typedef struct {
00029   char type;
00031   short int sw;
00033   char *key;
00035   char *value;
00036 } IFT_KEY_AND_VALUE;
00037 typedef struct {
00039   int _memNr;
00041   int keyNr;
00044   int type;
00046   char *status;
00048   IFT_KEY_AND_VALUE *item;
00050   size_t datasize;
00052   unsigned char *data;
00053 } IFT;
00054 /*****************************************************************************/
00055 int IFT_TEST;
00056 /*****************************************************************************/
00057 extern void libift_printdate(FILE *fp);
00058 extern void iftSetStatus(IFT *ift, int status);
00059 extern void iftInit(IFT *ift);
00060 extern void iftEmpty(IFT *ift);
00061 extern int iftPut(IFT *ift, char *key, char *value, char *cmt_type);
00062 extern int iftRead(IFT *ift, char *filename, int is_key_required);
00063 extern int iftWriteItem(IFT *ift, int item, FILE *fp);
00064 extern int iftWrite(IFT *ift, char *filename);
00065 extern int iftGet(IFT *ift, char *key);
00066 extern int iftGetNth(IFT *ift, char *key, int n);
00067 extern int iftFindNthKey(IFT *ift, char *str, int n);
00068 extern int iftFindNthValue(IFT *ift, char *str, int n);
00069 extern int iftDeleteItem(IFT *ift, int item);
00070 extern int iftReplaceNthValue(IFT *ift, int item, char *value);
00071 /*****************************************************************************/
00072 #endif
00073