home *** CD-ROM | disk | FTP | other *** search
- /*
-
- header file for DOWNSORT.C */
-
- #define bit unsigned
- #define sword signed int
- #define word unsigned int
- #define dword long int
- #define byte unsigned char
-
- #include "..\maximus\area_max.h" // AREA.DAT layout union
-
- /*----------------------------*/
- /* MAXIMUS user Access levels */
- /*----------------------------*/
- #define TWIT (-2)
- #define DISGRACE 0
- #define LIMITED 1
- #define NORMAL 2
- #define WORTHY 3
- #define PRIVIL 4
- #define FAVORED 5
- #define EXTRA 6
- #define CLERK 7
- #define ASSTSYSOP 8
- #define SYSOP 10
- #define HIDDEN 11
-
- #define MAXFN 13
- #define MAXRCD 255
- #define MAXDESC (MAXRCD-MAXFN-2)
- #define MAXPATH 128
- #define MAXTIT 10
-
- #define TRUNC 'T'
- #define WRAP 'W'
- #define QUIET 'Q'
- #define VERBOSE 'V'
- #define HELP 'H'
- #define QMARK '?'
- #define ALPHA 'A'
- #define TIMESTAMP 'D'
- #define FONT 'F'
-
- #define DAYS_30 '+'
- #define DAYS_7 '*'
-
- #define FONT0 0
- #define FONT1 1
- #define FONT2 2
- #define FONT3 3
- #define FONT4 4
- #define LINE1 0
- #define LINE2 1
- #define LINE3 2
- #define LINE4 3
- #define LINE5 4
-
- /* (foreground) COLORS */
-
- #define O_BLINK 0x80
- #define O_BRIGHT 0x08
- #define O_LIGHT 0x08
-
- #define O_BLACK 0x00
- #define O_BLUE 0x01
- #define O_GREEN 0x02
- #define O_CYAN 0x03
- #define O_RED 0x04
- #define O_MAGENTA 0x05
- #define O_BROWN 0x06
- #define O_GRAY 0x07
- #define O_YELLOW (O_BRIGHT+O_BROWN)
- #define O_WHITE (O_BRIGHT+O_GRAY)
-
-
- struct _filechain { // file information
- struct _filechain *next_element; // to next element
- struct _downpath *parea; // pointer to area-structure
- struct _FDATE wdate; // file date (last write)
- struct _FTIME wtime; // file time (last write)
- struct _FDATE cdate; // file date (creation)
- struct _FTIME ctime; // file time (creation)
- ULONG size; // file size
- USHORT attr; // attribute
- int priv; // privilege
- char fname[MAXFN]; // filename
- char *fdesc; // ptr to file description
- };
-
- struct _downpath { // download area information
- int priv; // Area Privilege integer
- char name[40]; // Area name
- USHORT file_count; // Area file count for area summary
- ULONG byte_count; // Area byte count for area summary
- char pname[80]; // Download-pathname
- char filesbbs[80]; // Path to FILES.BBS
- char adesc[80]; // Filearea description
- };
-
- #define P_BBS 0 // Symbolic parameter table
- #define P_FIL 1 // entry index values
- #define P_GBL 2 // for the different lists
- #define P_NEW 3
- #define P_ALL 4
- #define P_ORP 5
- #define P_MAX 5 // indicates highest index!
-
- struct _listparm { // list parameters
- int priv[10]; // max file priv to list
- int tfont; // title font
- unsigned int max_fil; // maximum # of files to list
- char sortflag; // file sequence (name/date)
- char wrapflag; // wrap or truncate
- char name[9]; // list filename
- char ext[4]; // list filename
- };
-
- /* externs for global variables */
-
- extern char PROGNAME[],PROGDESC[],AUTHOR[],CITY[],PHONE[],FIDO[];
- extern char VERSION,SUBVERS,SUFFIX;
- extern char MAX[],MSG_MEM[],MSG_SRT[],MSG_RST[],MSG_TRL[],MSG_REC[],
- OPEN_FAIL[],HS[],HD[],FN[],AC[],DT[],SZ[],DS[],FP[],NDS[],
- ORPHAN[],BAK[],EMPTY[];
- extern char today[],list_title[],
- filesbbs_path[],areadat_path[],cfg_path[],
- all_fname[],new_fname[],bbs_fname[],gbl_fname[],orp_fname[];
- extern char *priv_name[],*pre_title[],*sub_title[],*bot_lines[];
- extern char wrap_flag,oper_mode,sort_mode;
- extern USHORT area_count,file_count,title_font;
- extern USHORT title_lines[];
- extern int MAX_level,
- bbs_priv[],gbl_priv[],new_priv[],all_priv[],fil_priv[];
- extern ULONG byte_count;
- extern struct _filechain *first_element;
- extern struct _listparm lp[];
- extern struct _COUNTRYCODE c_code;
- extern struct _COUNTRYINFO c_info;
-
- /* function prototypes */
-
- char *asciiz(char *);
- USHORT collect_down(struct _downpath **);
- USHORT collect_file(USHORT, struct _downpath *);
- int conv_priv(char *, int *, USHORT);
- char *f_date(struct _FDATE);
- char *f_time(struct _FTIME);
- char file_age_ind(struct _FDATE, struct _FTIME);
- long file_time(struct _FDATE, struct _FTIME);
- USHORT fill_chn(struct _downpath *,
- struct _filechain **,struct _filechain **);
- void get_desc(int, struct _filechain *, struct _downpath *);
- void get_parm(int,char *[]);
- void list_parm(int, char *, int);
- void make_all(struct _filechain **,struct _downpath *, int);
- void make_bbs(struct _filechain **, USHORT, int);
- void make_fil(struct _filechain **, int);
- void make_gbl(struct _filechain **, int);
- void make_new(struct _filechain **, USHORT, int);
- void make_orp(struct _filechain **);
- char *next_word(char *);
- struct _filechain *new_acq(struct _filechain *, struct _filechain *);
- int parse_keyword(char *,char **);
- struct _filechain **prep_sort(USHORT, struct _filechain *);
- void psort(struct _filechain **, int, int, int (*)());
- void read_cfg(char *);
- void show_help(void);
- void show_welcome(void);
- void signature(void *, char *);
- int sort_all(struct _filechain **, struct _filechain **);
- int sort_al2(struct _filechain **, struct _filechain **);
- int sort_fil(struct _filechain **, struct _filechain **);
- int sort_gbl(struct _filechain **, struct _filechain **);
- int sort_new(struct _filechain **, struct _filechain **);
- int sort_summ(struct _downpath *, struct _downpath *);
- char *strnblk(char *, int, int, int);
- int strsubw(char *, char **, int);
- char *sys_date(char *);
- int non_wild_init(int, char *, char *);
- void title_line(char *, char *[]);
- int wild_init(int, char *, char *);
- int wild_comp(int, char *,char *);
-