Home | History | Annotate | Line # | Download | only in warp
util.h revision 1.2
      1  1.2  kamil /* Header: util.h,v 7.0 86/10/08 15:14:37 lwall Exp */
      2  1.1  kamil 
      3  1.2  kamil /* Log:	util.h,v
      4  1.1  kamil  * Revision 7.0  86/10/08  15:14:37  lwall
      5  1.1  kamil  * Split into separate files.  Added amoebas and pirates.
      6  1.1  kamil  *
      7  1.1  kamil  */
      8  1.1  kamil 
      9  1.1  kamil #if RANDBITS < 15 || defined(lint)
     10  1.1  kamil #define rand_mod(m) getpid()
     11  1.1  kamil #define RANDRAND 0.0
     12  1.1  kamil #define HALFRAND 0
     13  1.1  kamil #define myrand() getpid()
     14  1.1  kamil #else
     15  1.1  kamil #if RANDBITS == 15	/* 15 bits of rand()? */
     16  1.1  kamil #define RANDRAND 268435456.0 /* that's 2**28 */
     17  1.1  kamil #define HALFRAND 0x4000 /* that's 2**14 */
     18  1.1  kamil int rand();
     19  1.1  kamil #define myrand() (rand()&32767)
     20  1.1  kamil #define rand_mod(m) ((int)((double)myrand() / 32768.0 * ((double)(m))))
     21  1.1  kamil /* pick number in 0..m-1 */
     22  1.1  kamil 
     23  1.1  kamil #else
     24  1.1  kamil 
     25  1.1  kamil #if RANDBITS < 31	/* 16 bits of rand()? */
     26  1.1  kamil #define RANDRAND 1073741824.0 /* that's 2**30 */
     27  1.1  kamil #define HALFRAND 0x8000 /* that's 2**15 */
     28  1.1  kamil unsigned rand();
     29  1.1  kamil #define myrand() (rand()&65535)
     30  1.1  kamil #define rand_mod(m) ((int)((double)myrand() / 65536.0 * ((double)(m))))
     31  1.1  kamil /* pick number in 0..m-1 */
     32  1.1  kamil 
     33  1.1  kamil #else		/* assume 31 bits */
     34  1.1  kamil #define RANDRAND 1152921504606846976.0 /* that's 2**60 */
     35  1.1  kamil #define HALFRAND 0x40000000 /* that's 2**30 */
     36  1.1  kamil long rand();
     37  1.1  kamil #define myrand() rand()
     38  1.1  kamil #define rand_mod(m) ((myrand() / 37) % (m)) /* pick number in 0..m-1 */
     39  1.1  kamil /*
     40  1.1  kamil  * The reason for the /37 above is that our random number generator yields
     41  1.1  kamil  * successive evens and odds, for some reason.  This makes strange star maps.
     42  1.1  kamil  */
     43  1.1  kamil #endif
     44  1.1  kamil #endif
     45  1.1  kamil #endif
     46  1.1  kamil 
     47  1.1  kamil 
     48  1.1  kamil     /* we get fractions of seconds from calling ftime on timebuf */
     49  1.1  kamil 
     50  1.1  kamil EXT struct timeb timebuf;
     51  1.1  kamil #define roundsleep(x) (ftime(&timebuf),sleep(timebuf.millitm > 500?x+1:x))
     52  1.1  kamil 
     53  1.1  kamil void movc3();
     54  1.1  kamil void no_can_do();
     55  1.1  kamil int exdis();
     56  1.1  kamil 
     57  1.1  kamil EXT bool waiting INIT(FALSE);		/* are we waiting for subprocess (in doshell)? */
     58  1.1  kamil 
     59  1.1  kamil #ifdef NOTDEF
     60  1.1  kamil EXT int len_last_line_got INIT(0);
     61  1.1  kamil 			/* strlen of some_buf after */
     62  1.1  kamil 			/*  some_buf = get_a_line(bufptr,buffersize,fp) */
     63  1.1  kamil #endif
     64  1.1  kamil 
     65  1.1  kamil #ifdef NOTDEF
     66  1.1  kamil /* is the string for makedir a directory name or a filename? */
     67  1.1  kamil 
     68  1.1  kamil #define MD_DIR 0
     69  1.1  kamil #define MD_FILE 1
     70  1.1  kamil #endif
     71  1.1  kamil 
     72  1.1  kamil void util_init();
     73  1.1  kamil char	*safemalloc();
     74  1.1  kamil char	*safecpy();
     75  1.1  kamil char	*cpytill();
     76  1.1  kamil char	*instr();
     77  1.1  kamil #ifdef SETUIDGID
     78  1.1  kamil     int		eaccess();
     79  1.1  kamil #endif
     80  1.1  kamil char	*getwd();
     81  1.1  kamil void	cat();
     82  1.1  kamil void	prexit();
     83  1.1  kamil char	*savestr();
     84  1.1  kamil char	*getval();
     85