summaryrefslogtreecommitdiff
path: root/FortuneAwayMsg/fortune.h
blob: e9c7563f4e3afc8800eec7ae4468afdb028b3d79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/*

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

*/

#include "AggressiveOptimize.h"

typedef struct {				/* .dat file header */
	unsigned int dat_version;	/* version number   */
	unsigned int dat_numstr;	/* # of strings in the file  */
	unsigned int dat_longlen;	/* length of longest string  */
	unsigned int dat_shortlen;	/* length of shortest string */
	unsigned int dat_flags;		/* bit field for flags       */
	unsigned char filler[15];	/* rest of the .dat header   */
} DATFILEHEADER;

typedef unsigned int f_offset;

// fortune.c defines
#define	DELIM		filler[0]	/* delimiting character */
#define MODULE_NAME	"FortuneAwayMsg"
#define MAX_RETRIES	15
#define datfileSize(header) (sizeof(DATFILEHEADER) + header.dat_numstr * sizeof(f_ offset))

BOOL selectRandomFile(char *);
BOOL readFortune(const char *, char *, unsigned int);
char *makeRelative(char*, const char *);
char *makeAbsolute(char *, const char *);