39 lines
1.1 KiB
C
39 lines
1.1 KiB
C
// utility.h
|
|
// Miscellaneous useful definitions.
|
|
//
|
|
// Copyright (c) 1992-1996 The Regents of the University of California.
|
|
// All rights reserved. See copyright.h for copyright notice and limitation
|
|
// of liability and disclaimer of warranty provisions.
|
|
|
|
#ifndef UTILITY_H
|
|
#define UTILITY_H
|
|
|
|
#include "copyright.h"
|
|
|
|
// Miscellaneous useful routines
|
|
|
|
#define NULL 0
|
|
#define TRUE true
|
|
#define FALSE false
|
|
// #define bool int // necessary on the Mac?
|
|
|
|
#define min(a,b) (((a) < (b)) ? (a) : (b))
|
|
#define max(a,b) (((a) > (b)) ? (a) : (b))
|
|
|
|
// Divide and either round up or down
|
|
#define divRoundDown(n,s) ((n) / (s))
|
|
#define divRoundUp(n,s) (((n) / (s)) + ((((n) % (s)) > 0) ? 1 : 0))
|
|
|
|
// This declares the type "VoidFunctionPtr" to be a "pointer to a
|
|
// function taking an arbitrary pointer argument and returning nothing". With
|
|
// such a function pointer (say it is "func"), we can call it like this:
|
|
//
|
|
// (*func) ("help!");
|
|
//
|
|
// This is used by Thread::Fork as well as a couple of other places.
|
|
|
|
typedef void (*VoidFunctionPtr)(void *arg);
|
|
typedef void (*VoidNoArgFunctionPtr)();
|
|
|
|
#endif // UTILITY_H
|