src/mod/filesys.mod/filedb3.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  filedb_top
struct  filedb_header
struct  filedb_entry

Defines

#define my_free(ptr)
#define malloc_strcpy(target, entry)
#define malloc_strcpy_nocheck(target, entry)
#define filedb_tot_dynspace(fdh)
#define filedb_zero_dynspace(fdh)
#define malloc_fdbe()   _malloc_fdbe(__FILE__, __LINE__)
#define filedb_getfile(fdb, pos, get)   _filedb_getfile(fdb, pos, get, __FILE__, __LINE__)
#define filedb_matchfile(fdb, pos, match)   _filedb_matchfile(fdb, pos, match, __FILE__, __LINE__)
#define filedb_updatefile(fdb, pos, fdbe, update)   _filedb_updatefile(fdb, pos, fdbe, update, __FILE__, __LINE__)
#define filedb_addfile(fdb, fdbe)   _filedb_addfile(fdb, fdbe, __FILE__, __LINE__)
#define filedb_movefile(fdb, pos, fdbe)   _filedb_movefile(fdb, pos, fdbe, __FILE__, __LINE__)
#define FILEDB_VERSION1   0x0001
#define FILEDB_VERSION2   0x0002
#define FILEDB_VERSION3   0x0003
#define FILEDB_NEWEST_VER   FILEDB_VERSION3
#define POS_NEW   0
#define FILE_UNUSED   0x0001
#define FILE_DIR   0x0002
#define FILE_SHARE   0x0004
#define FILE_HIDDEN   0x0008
#define FILE_ISLINK   0x0010
#define FILEDB_ESTDYN   50

Enumerations

enum  {
  GET_HEADER, GET_FILENAME, GET_FULL, UPDATE_HEADER,
  UPDATE_SIZE, UPDATE_ALL, TYPE_NEW, TYPE_EXIST
}

Functions

static void free_fdbe (filedb_entry **)
static filedb_entry_malloc_fdbe (char *, int)
static int filedb_readtop (FILE *, filedb_top *)
static int filedb_writetop (FILE *, filedb_top *)
static int filedb_delfile (FILE *, long)
static filedb_entryfiledb_findempty (FILE *, int)
static int _filedb_updatefile (FILE *, long, filedb_entry *, int, char *, int)
static int _filedb_movefile (FILE *, long, filedb_entry *, char *, int)
static int _filedb_addfile (FILE *, filedb_entry *, char *, int)
static filedb_entry_filedb_getfile (FILE *, long, int, char *, int)
static filedb_entry_filedb_matchfile (FILE *, long, char *, char *, int)
static filedb_entryfiledb_getentry (char *, char *)

Define Documentation

#define FILE_DIR   0x0002
#define FILE_HIDDEN   0x0008
#define FILE_ISLINK   0x0010

Definition at line 147 of file filedb3.h.

Referenced by _filedb_getfile(), and filedb_update().

#define FILE_SHARE   0x0004

Definition at line 145 of file filedb3.h.

Referenced by cmd_share(), cmd_unshare(), filedb_change(), filedb_ls(), and remote_filereq().

#define FILE_UNUSED   0x0001
#define filedb_addfile ( fdb,
fdbe   )     _filedb_addfile(fdb, fdbe, __FILE__, __LINE__)
#define FILEDB_ESTDYN   50

Definition at line 149 of file filedb3.h.

Referenced by filedb_findempty().

#define filedb_getfile ( fdb,
pos,
get   )     _filedb_getfile(fdb, pos, get, __FILE__, __LINE__)
#define filedb_matchfile ( fdb,
pos,
match   )     _filedb_matchfile(fdb, pos, match, __FILE__, __LINE__)
#define filedb_movefile ( fdb,
pos,
fdbe   )     _filedb_movefile(fdb, pos, fdbe, __FILE__, __LINE__)

Definition at line 128 of file filedb3.h.

Referenced by filedb_cleanup(), and filedb_findempty().

#define FILEDB_NEWEST_VER   FILEDB_VERSION3

Definition at line 138 of file filedb3.h.

Referenced by filedb_initdb(), and filedb_open().

#define filedb_tot_dynspace ( fdh   ) 
Value:
((fdh).filename_len + (fdh).desc_len + \
        (fdh).chan_len + (fdh).uploader_len + (fdh).flags_req_len + \
        (fdh).sharelink_len)

Definition at line 109 of file filedb3.h.

Referenced by _filedb_getfile(), _filedb_updatefile(), and filedb_delfile().

#define filedb_updatefile ( fdb,
pos,
fdbe,
update   )     _filedb_updatefile(fdb, pos, fdbe, update, __FILE__, __LINE__)
#define FILEDB_VERSION1   0x0001

Definition at line 135 of file filedb3.h.

Referenced by convert_old_db().

#define FILEDB_VERSION2   0x0002

Definition at line 136 of file filedb3.h.

#define FILEDB_VERSION3   0x0003

Definition at line 137 of file filedb3.h.

Referenced by convert_old_db().

#define filedb_zero_dynspace ( fdh   ) 
Value:
{                                     \
        (fdh).filename_len      = 0;                                    \
        (fdh).desc_len          = 0;                                    \
        (fdh).chan_len          = 0;                                    \
        (fdh).uploader_len      = 0;                                    \
        (fdh).flags_req_len     = 0;                                    \
        (fdh).sharelink_len     = 0;                                    \
}

Definition at line 113 of file filedb3.h.

Referenced by filedb_delfile().

 
#define malloc_fdbe (  )     _malloc_fdbe(__FILE__, __LINE__)
#define malloc_strcpy ( target,
entry   ) 
#define malloc_strcpy_nocheck ( target,
entry   ) 
Value:
do {                                                                    \
  (target) = nrealloc((target), strlen(entry) + 1);                     \
  strcpy((target), (entry));                                            \
} while (0)

Definition at line 102 of file filedb3.h.

Referenced by cmd_mkdir(), and convert_old_files().

#define my_free ( ptr   ) 
#define POS_NEW   0

Definition at line 140 of file filedb3.h.

Referenced by _filedb_addfile(), _filedb_updatefile(), and cmd_mkdir().


Enumeration Type Documentation

anonymous enum
Enumerator:
GET_HEADER 
GET_FILENAME 
GET_FULL 
UPDATE_HEADER 
UPDATE_SIZE 
UPDATE_ALL 
TYPE_NEW 
TYPE_EXIST 

Definition at line 151 of file filedb3.h.

00151      {
00152   GET_HEADER,                   /* Only save minimal data               */
00153   GET_FILENAME,                 /* Additionally save filename           */
00154   GET_FULL,                     /* Save all data                        */
00155 
00156   UPDATE_HEADER,                /* Only update header                   */
00157   UPDATE_SIZE,                  /* Update header, enforce new buf sizes */
00158   UPDATE_ALL,                   /* Update additional data too           */
00159 
00160   TYPE_NEW,                     /* New entry                            */
00161   TYPE_EXIST                    /* Existing entry                       */
00162 };


Function Documentation

static int _filedb_addfile ( FILE *  ,
filedb_entry ,
char *  ,
int   
) [static]
static filedb_entry* _filedb_getfile ( FILE *  ,
long  ,
int  ,
char *  ,
int   
) [static]
static filedb_entry* _filedb_matchfile ( FILE *  ,
long  ,
char *  ,
char *  ,
int   
) [static]
static int _filedb_movefile ( FILE *  ,
long  ,
filedb_entry ,
char *  ,
int   
) [static]
static int _filedb_updatefile ( FILE *  ,
long  ,
filedb_entry ,
int  ,
char *  ,
int   
) [static]
static filedb_entry* _malloc_fdbe ( char *  ,
int   
) [static]
static int filedb_delfile ( FILE *  ,
long   
) [static]
static filedb_entry* filedb_findempty ( FILE *  ,
int   
) [static]
static filedb_entry* filedb_getentry ( char *  ,
char *   
) [static]
static int filedb_readtop ( FILE *  ,
filedb_top  
) [static]
static int filedb_writetop ( FILE *  ,
filedb_top  
) [static]
static void free_fdbe ( filedb_entry **   )  [static]

Generated on 7 Sep 2016 for Eggdrop by  doxygen 1.6.1