<html>
<head>
<title>libsm : General Definitions</title>
</head>
<body>
<center>
<h1> libsm : General Definitions </h1>
<br> $Id: gen.html,v 1.5 2000-12-08 21:41:42 ca Exp $
</center>
<h2> Introduction </h2>
contains general definitions that are used by every other
header file in <b>libsm</b>.
<h2> Synopsis </h2>
<pre>
#define NULL ((void*)0)
typedef int bool;
#define false 0
#define true 1
#define SM_MAX(a, b) ((a) > (b) ? (a) : (b))
#define SM_MIN(a, b) ((a) < (b) ? (a) : (b))
/*
** The following types can be accessed and updated atomically.
** This is relevant in the context of signal handlers and threads.
*/
typedef <i>some signed integral type</i> SM_ATOMIC_INT_T;
typedef <i>some unsigned integral type</i> SM_ATOMIC_UINT_T;
</pre>
</body>
</html>