/* 
  rl.h - definitions of all functions
  
  Copyright (C) 2001 Arthur de Jong
  
  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, 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.  
*/


#ifndef _RL_H
#define _RL_H 1


/* from system.h: */
#if ENABLE_NLS
# include <libintl.h>
# define _(Text) gettext (Text)
#else
# undef bindtextdomain
# define bindtextdomain(Domain, Directory)
# undef textdomain
# define textdomain(Domain)
# define _(Text) Text
#endif


/* from rl.c */


/* flag to indicate output */
extern int quiet;


/* from alloc.c */


/* allocate memory with error-checking */
void *xmalloc(size_t size);


/* allocate size for a specific type */
#define xxmalloc(type,size) (type *)xmalloc(sizeof(type)*(size))


/* resize allocated memory */
void *xrealloc(void *ptr,size_t size);


/* realloc for a specific type */
#define xxrealloc(ptr,type,size) (type *)xrealloc(ptr,sizeof(type)*(size))


/* free the memory */
void xfree(void *ptr);


/* from random.c */


/* initialize the random number generator with a sensible value
   this calls srand() so rand() can be used */
void randomize();


/* returns a random number x where 0 <= x < max */
int random_below(int max);


/* thow the dice and return true (1)
   with a chance of x/y (false=0) */
int random_draw(int x,int y);


#endif
