From 450ad26421aa1c38700dddc8899a3522e1cc5442 Mon Sep 17 00:00:00 2001 From: ptt Date: Sat, 26 Jun 2004 02:03:37 +0000 Subject: Merge bbs merge module usage: make -D BBSMERGE to enable this module git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2091 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- include/fpg.h | 136 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ include/proto.h | 7 +++ 2 files changed, 143 insertions(+) create mode 100644 include/fpg.h (limited to 'include') diff --git a/include/fpg.h b/include/fpg.h new file mode 100644 index 00000000..8014c5b4 --- /dev/null +++ b/include/fpg.h @@ -0,0 +1,136 @@ + + +#define STRLEN 80 /* Length of most string data */ +#define BTLEN 48 /* Length of board title */ +#define FTTLEN 72 /* Length of title */ +#define NAMELEN 40 /* Length of username/realname */ +#define FNLEN 33 /* Length of filename */ +#define IDLEN 12 /* Length of bid/uid */ +#define PASSLEN 14 /* Length of encrypted passwd field */ +#define REGLEN 38 /* Length of registration data */ + +typedef unsigned char uschar; /* length = 1 */ +typedef unsigned int usint; /* length = 4 */ + + +typedef struct +{ + uschar id; + char broken; +} WEAPONARMOR; + +typedef struct +{ + char id; + char name[IDLEN + 1]; + char lv; + short lp; + ushort mlp; + short hp; + ushort mhp; + uschar po; + uschar st; + uschar ag; + uschar lu; + int ex; + char emotion; + char moral; + char wisdom; + char will; + char charm; + WEAPONARMOR weapon; + WEAPONARMOR armor[4]; + uschar flag; + char hungry; + char sick; + char angry; +} PET; + +typedef struct +{ + char userid[IDLEN + 1]; + char realname[20]; + char username[24]; + char passwd[PASSLEN]; + ushort uflag; + usint userlevel; + ushort numlogins; + ushort numposts; + time_t firstlogin; + time_t lastlogin; + char lasthost[16]; + char email[50]; + char address[50]; + char justify[REGLEN + 1]; + uschar month; + uschar day; + uschar year; + uschar sex; + uschar state; + ushort mailk; + ushort keepmail; + int money; + ushort totalday; + uschar totalhour; + uschar totalmin; + int market[10]; + short locate; + char action; + char direct; + char speed; + char count; + uschar landnum; + uschar tool[10]; + char NAME[IDLEN + 1]; + char LV; + short HP; + short MHP; + short MP; + short MMP; + short WC; + short AC; + short PO; + short ST; + short AG; + short LU; + int EX; + char EVENT; + uschar WA[6]; + uschar USE[10]; + uschar MAGIC[5]; + uschar NOWOCCUPATION; + short OCCUPATION[4]; + uschar cardfightnum; + uschar cardfight[20]; + uschar dragon[5]; + PET pet; + char left[40]; +} ACCT; + +struct fileheader +{ + char filename[FNLEN]; /* M.9876543210.A */ + char savemode; /* file save mode */ + char owner[IDLEN + 2]; /* uid[.] */ + char date[6]; /* [02/02] or space(5) */ + char title[FTTLEN + 1]; + uschar filemode; /* must be last field @ boards.c */ +}; +typedef struct fileheader fileheader; + +struct boardheader +{ + char brdname[IDLEN + 1]; /* bid */ + char title[BTLEN + 1]; + char BM[IDLEN * 3 + 3]; /* BMs' uid, token '/' */ + char group[9]; /* 看板分類 */ + char type; /* 看板性質: 轉信?目錄? */ + char pad[1]; + time_t bupdate; /* note update time */ + char pad2[3]; + uschar bvote; /* Vote flags */ + time_t vtime; /* Vote close time */ + usint level; +}; +typedef struct boardheader boardheader; + diff --git a/include/proto.h b/include/proto.h index 25439698..c439b708 100644 --- a/include/proto.h +++ b/include/proto.h @@ -24,6 +24,7 @@ void setup_man(boardheader_t * board); void delete_symbolic_link(boardheader_t *bh, int bid); int make_symbolic_link(char *bname, int gid); int make_symbolic_link_interactively(int gid); +void merge_dir(char *dir1, char *dir2); /* announce */ int a_menu(char *maintitle, char *path, int lastlevel); @@ -339,6 +340,12 @@ int Xyz(void); int Play_Play(void); int Name_Menu(void); +#ifdef MERGEBBS +/* merge */ +int m_fpg(void); +void m_fpg_brd(char *bname,char *fromdir); +#endif + /* more */ int more(char *fpath, int promptend); -- cgit v1.2.3