00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef _EGG_MOD_FILESYS_FILESYS_H
00029 #define _EGG_MOD_FILESYS_FILESYS_H
00030
00031 #ifdef MAKING_FILESYS
00032 static int too_many_filers();
00033 static int welcome_to_files(int);
00034 static void add_file(char *, char *, char *);
00035 static void incr_file_gots(char *);
00036 static FILE *filedb_open(char *, int);
00037 static void filedb_close(FILE *);
00038 static void filedb_add(FILE *, char *, char *);
00039 static void filedb_ls(FILE *, int, char *, int);
00040 static void filedb_getowner(char *, char *, char **);
00041 static void filedb_setowner(char *, char *, char *);
00042 static void filedb_getdesc(char *, char *, char **);
00043 static void filedb_setdesc(char *, char *, char *);
00044 static int filedb_getgots(char *, char *);
00045 static void filedb_getfiles(Tcl_Interp *, char *);
00046 static void filedb_getdirs(Tcl_Interp *, char *);
00047 static void filedb_change(char *, char *);
00048 static void my_tell_file_stats(int, char *);
00049 static int do_dcc_send(int, char *, char *, char *, int);
00050 static int files_reget(int, char *, char *, int);
00051 static void files_setpwd(int, char *);
00052 static int resolve_dir(char *, char *, char **, int);
00053 static int fstat_unpack(struct userrec *, struct user_entry *);
00054 static int fstat_pack(struct userrec *, struct user_entry *);
00055 static int fstat_write_userfile(FILE *, struct userrec *, struct user_entry *);
00056 static int fstat_set(struct userrec *, struct user_entry *, void *);
00057 static int fstat_tcl_get(Tcl_Interp *, struct userrec *, struct user_entry *,
00058 int, char **);
00059 static int fstat_kill(struct user_entry *);
00060 static void fstat_display(int, struct user_entry *);
00061 static int fstat_gotshare(struct userrec *, struct user_entry *, char *, int);
00062 static int fstat_dupuser(struct userrec *, struct userrec *,
00063 struct user_entry *);
00064 static void stats_add_dnload(struct userrec *, unsigned long);
00065 static void stats_add_upload(struct userrec *, unsigned long);
00066 static int fstat_tcl_set(Tcl_Interp *, struct userrec *, struct user_entry *,
00067 int, char **);
00068 static int is_valid();
00069 static void eof_dcc_files(int);
00070 static void dcc_files(int, char *, int);
00071 static void disp_dcc_files(int, char *);
00072 static void kill_dcc_files(int, void *);
00073 static void out_dcc_files(int, char *, void *);
00074 static char *mktempfile(char *);
00075 static void wipe_tmp_filename(char *, int);
00076
00077 #else
00078 #define H_fil (*(p_tcl_hash_list *)(filesys_funcs[8]))
00079 #endif
00080
00081 #endif