/* This file is part of the eggdrop source code copyright (c) 1997 Robey Pointer and is distributed according to the GNU general public license. For full details, read the top of 'main.c' or the file called COPYING that was distributed with this code. */ #ifndef _H_FILES #define _H_FILES /* language file additions for the file area */ #define FILES_CONVERT get_language(0x300) #define FILES_NOUPDATE get_language(0x301) #define FILES_NOCONVERT get_language(0x302) #define FILES_LSHEAD1 get_language(0x303) #define FILES_LSHEAD2 get_language(0x304) #define FILES_NOFILES get_language(0x305) #define FILES_NOMATCH get_language(0x306) #define FILES_DIRDNE get_language(0x307) #define FILES_FILEDNE get_language(0x308) #define FILES_NOSHARE get_language(0x309) #define FILES_REMOTE get_language(0x30a) #define FILES_SENDERR get_language(0x30b) #define FILES_SENDING get_language(0x30c) #define FILES_REMOTEREQ get_language(0x30d) #define FILES_BROKEN get_language(0x30e) #define FILES_INVPATH get_language(0x30f) #define FILES_CURDIR get_language(0x310) #define FILES_NEWCURDIR get_language(0x311) #define FILES_NOSUCHDIR get_language(0x312) #define FILES_ILLDIR get_language(0x313) #define FILES_BADNICK get_language(0x314) #define FILES_NOTAVAIL get_language(0x315) #define FILES_REQUESTED get_language(0x316) #define FILES_NORMAL get_language(0x317) #define FILES_CHGLINK get_language(0x318) #define FILES_NOTOWNER get_language(0x319) #define FILES_CREADIR get_language(0x31a) #define FILES_REQACCESS get_language(0x31b) #define FILES_CHGACCESS get_language(0x31c) #define FILES_CHGNACCESS get_language(0x31d) #define FILES_REMDIR get_language(0x31e) #define FILES_ILLSOURCE get_language(0x31f) #define FILES_ILLDEST get_language(0x320) #define FILES_STUPID get_language(0x321) #define FILES_EXISTDIR get_language(0x322) #define FILES_SKIPSTUPID get_language(0x323) #define FILES_DEST get_language(0x324) #define FILES_COPY get_language(0x325) #define FILES_COPIED get_language(0x326) #define FILES_MOVE get_language(0x327) #define FILES_MOVED get_language(0x328) #define FILES_CANTWRITE get_language(0x329) #define FILES_REQUIRES get_language(0x32a) #define FILES_HID get_language(0x32b) #define FILES_UNHID get_language(0x32c) #define FILES_SHARED get_language(0x32d) #define FILES_UNSHARED get_language(0x32e) #define FILES_ADDLINK get_language(0x32f) #define FILES_CHANGED get_language(0x330) #define FILES_BLANKED get_language(0x331) #define FILES_ERASED get_language(0x332) #define FILES_WELCOME get_language(0x33a) #define FILES_WELCOME1 get_language(0x33b) /* structure for file database (per directory) */ struct filler_old { char xxx[1+61+301+10+11+61]; unsigned short int uuu[2]; time_t ttt[2]; unsigned int iii[2]; }; typedef struct { char version; unsigned short int stat; /* misc */ time_t timestamp; /* last time this db was updated */ char filename[61]; char desc[301]; /* should be plenty */ char uploader[10]; /* where this file came from */ unsigned char flags_req[11]; /* access flags required */ time_t uploaded; /* time it was uploaded */ unsigned int size; /* file length */ unsigned short int gots; /* times the file was downloaded */ char sharelink[61]; /* points to where? */ char unused[512-sizeof(struct filler_old)]; } filedb_old; struct filler { char xxx[1+61+186+81+33+22+61]; unsigned short int uuu[2]; time_t ttt[2]; unsigned int iii[1]; }; typedef struct { char version; unsigned short int stat; /* misc */ time_t timestamp; /* last time this db was updated */ char filename[61]; char desc[186]; /* should be plenty - shrink it, we need the space :)*/ char chname[81]; /* channel for chan spec stuff */ char uploader[33]; /* where this file came from */ char flags_req[22]; /* access flags required */ time_t uploaded; /* time it was uploaded */ unsigned int size; /* file length */ unsigned short int gots; /* times the file was downloaded */ char sharelink[61]; /* points to where? */ char unused[512-sizeof(struct filler)]; } filedb; #define FILEVERSION_OLD 0x01 #define FILEVERSION 0x2 #define FILE_UNUSED 0x0001 /* (deleted entry) */ #define FILE_DIR 0x0002 /* it's actually a directory */ #define FILE_SHARE 0x0004 /* can be shared on the botnet */ #define FILE_HIDDEN 0x0008 /* hidden file */ /* prototypes */ static int findmatch(FILE *, char *, long *,filedb *); #endif