fsnode.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003                              -------------------
00004     cvs         : $Id: fsnode.h 82 2005-06-16 22:55:47Z aquamaniac $
00005     begin       : Mon Mar 01 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 LC_FS_NODE_H
00015 #define LC_FS_NODE_H
00016 
00017 #include <gwenhywfar/misc.h>
00018 #include <gwenhywfar/inherit.h>
00019 #include <gwenhywfar/stringlist2.h>
00020 
00021 
00022 #define LC_FS_MODE_MASK_NODE               0x0000ffff
00023 
00024 
00025 
00026 #define LC_FS_MODE_MASK_HANDLE             0xffff0000
00027 #define LC_FS_HANDLE_MODE_READ             0x00010000
00028 #define LC_FS_HANDLE_MODE_WRITE            0x00020000
00029 
00030 
00031 typedef struct LC_FS_NODE LC_FS_NODE;
00032 typedef struct LC_FS_NODE_HANDLE LC_FS_NODE_HANDLE;
00033 
00034 #include <chipcard2/chipcard2.h>
00035 
00036 
00037 GWEN_LIST_FUNCTION_LIB_DEFS(LC_FS_NODE, LC_FSNode, CHIPCARD_API)
00038 GWEN_INHERIT_FUNCTION_LIB_DEFS(LC_FS_NODE, CHIPCARD_API)
00039 
00040 #include <chipcard2-client/fs/fs.h>
00041 #include <chipcard2-client/fs/fsmodule.h>
00042 
00043 
00044 LC_FS_NODE *LC_FSNode_new(LC_FS_MODULE *fs);
00045 void LC_FSNode_free(LC_FS_NODE *fn);
00046 void LC_FSNode_Attach(LC_FS_NODE *fn);
00047 
00048 GWEN_TYPE_UINT32 LC_FSNode_GetLockedById(const LC_FS_NODE *fn);
00049 void LC_FSNode_SetLockedById(LC_FS_NODE *fn, GWEN_TYPE_UINT32 id);
00050 GWEN_TYPE_UINT32 LC_FSNode_GetFlags(const LC_FS_NODE *fn);
00051 void LC_FSNode_SetFlags(LC_FS_NODE *fn, GWEN_TYPE_UINT32 fl);
00052 void LC_FSNode_AddFlags(LC_FS_NODE *fn, GWEN_TYPE_UINT32 fl);
00053 void LC_FSNode_SubFlags(LC_FS_NODE *fn, GWEN_TYPE_UINT32 fl);
00054 
00055 GWEN_TYPE_UINT32 LC_FSNode_GetFileMode(const LC_FS_NODE *fn);
00056 void LC_FSNode_SetFileMode(LC_FS_NODE *fn, GWEN_TYPE_UINT32 m);
00057 
00058 GWEN_TYPE_UINT32 LC_FSNode_GetFileSize(const LC_FS_NODE *fn);
00059 void LC_FSNode_SetFileSize(LC_FS_NODE *fn, GWEN_TYPE_UINT32 s);
00060 
00061 LC_FS_NODE *LC_FSNode_GetMounted(const LC_FS_NODE *fn);
00062 void LC_FSNode_SetMounted(LC_FS_NODE *fn, LC_FS_NODE *n);
00063 LC_FS_MODULE *LC_FSNode_GetFileSystem(const LC_FS_NODE *fn);
00064 void LC_FSNode_SetFileSystem(LC_FS_NODE *fn, LC_FS_MODULE *fs);
00065 
00066 time_t LC_FSNode_GetCTime(const LC_FS_NODE *fn);
00067 void LC_FSNode_SetCTime(LC_FS_NODE *fn, time_t ti);
00068 
00069 time_t LC_FSNode_GetATime(const LC_FS_NODE *fn);
00070 void LC_FSNode_SetATime(LC_FS_NODE *fn, time_t ti);
00071 
00072 time_t LC_FSNode_GetMTime(const LC_FS_NODE *fn);
00073 void LC_FSNode_SetMTime(LC_FS_NODE *fn, time_t ti);
00074 
00075 
00076 
00077 
00078 
00079 
00080 
00081 LC_FS_NODE_HANDLE *LC_FSNodeHandle_new(const char *name,
00082                                        LC_FS_NODE *fn,
00083                                        GWEN_TYPE_UINT32 id);
00084 void LC_FSNodeHandle_free(LC_FS_NODE_HANDLE *fh);
00085 void LC_FSNodeHandle_Attach(LC_FS_NODE_HANDLE *fh);
00086 
00087 
00088 const char *LC_FSNodeHandle_GetName(const LC_FS_NODE_HANDLE *fh);
00089 
00090 GWEN_TYPE_UINT32 LC_FSNodeHandle_GetId(const LC_FS_NODE_HANDLE *fh);
00091 
00092 LC_FS_NODE *LC_FSNodeHandle_GetNode(const LC_FS_NODE_HANDLE *fh);
00093 
00094 GWEN_TYPE_UINT32 LC_FSNodeHandle_GetFlags(const LC_FS_NODE_HANDLE *fh);
00095 void LC_FSNodeHandle_SetFlags(LC_FS_NODE_HANDLE *fh, GWEN_TYPE_UINT32 fl);
00096 void LC_FSNodeHandle_AddFlags(LC_FS_NODE_HANDLE *fh, GWEN_TYPE_UINT32 fl);
00097 void LC_FSNodeHandle_SubFlags(LC_FS_NODE_HANDLE *fh, GWEN_TYPE_UINT32 fl);
00098 
00099 GWEN_TYPE_UINT32 LC_FSNodeHandle_GetFilePointer(const LC_FS_NODE_HANDLE *fh);
00100 void LC_FSNodeHandle_SetFilePointer(LC_FS_NODE_HANDLE *fh,
00101                                     GWEN_TYPE_UINT32 fpos);
00102 
00103 int LC_FSNodeHandle_GetFirstEntry(LC_FS_NODE_HANDLE *fh,
00104                                   GWEN_BUFFER *ebuf);
00105 int LC_FSNodeHandle_GetNextEntry(LC_FS_NODE_HANDLE *fh,
00106                                  GWEN_BUFFER *ebuf);
00107 void LC_FSNodeHandle_AddEntry(LC_FS_NODE_HANDLE *fh,
00108                               const char *name);
00109 
00110 #endif /* LC_FS_NODE_H */
00111 
00112 

Generated on Sat Sep 22 04:38:38 2007 for libchipcard2 by  doxygen 1.5.3