2002-02-17 21:56:45 +00:00
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<title>libsm : General Definitions</title>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<a href="index.html">Back to libsm overview</a>
|
|
|
|
|
|
|
|
<center>
|
|
|
|
<h1> libsm : General Definitions </h1>
|
2002-06-11 21:12:04 +00:00
|
|
|
<br> $Id: gen.html,v 1.5 2000/12/08 21:41:42 ca Exp $
|
2002-02-17 21:56:45 +00:00
|
|
|
</center>
|
|
|
|
|
|
|
|
<h2> Introduction </h2>
|
|
|
|
|
|
|
|
The header file <tt><sm/gen.h></tt>
|
|
|
|
contains general definitions that are used by every other
|
|
|
|
header file in <b>libsm</b>.
|
|
|
|
|
|
|
|
<h2> Synopsis </h2>
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
#include <sm/gen.h>
|
|
|
|
|
|
|
|
#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>
|